ui/src/xvbt/XClient.i3


Copyright (C) 1994, Digital Equipment Corp.
 by Steve Glassman, Mark Manasse and Greg Nelson 
<*PRAGMA LL*>

UNSAFE INTERFACE XClient;
NEW(XClient.T).connect(xs) creates a Trestle.T that displays windows on the X server xs.

IMPORT Trestle, X, TrestleComm, TrestleOnX, VBT, Point, Ctypes;

TYPE
  T_Public = Trestle.T OBJECT dpy: X.DisplayStar END;
  T <: TrestleOnX.Display;

REVEAL TrestleOnX.Display <: T_Public;

PROCEDURE ToName (trsl: T; a: X.Atom): TEXT RAISES {TrestleComm.Failure};
Return the name of the atom a of the X server underlying trsl, avoiding a round trip if possible. LL = trsl.

PROCEDURE ToAtom (trsl: T; t: TEXT): X.Atom RAISES {TrestleComm.Failure};
Return the atom of the X server underlying trsl whose name is t, avoiding a round trip if possible. LL = trsl.

PROCEDURE Init ();
Register XClient as a source of Trestle connections. LL = {}

PROCEDURE InnerOverlap (         trsl         : T;
                                 v            : VBT.T;
                                 id           : Trestle.ScreenID;
                        READONLY nw           : Point.T;
                                 knownPosition: BOOLEAN;
                        iconic, userPosition := FALSE;
                        prop, type           := X.None;
                        len, format          := 0;
                        addr: Ctypes.unsigned_char_star := NIL)
  RAISES {TrestleComm.Failure};

END XClient.