static tom.MutableMapped registered_cits;
static tom.MutableIndexed active_displays;
static tom.MutableIndexed cmd_displays;
local static tom.MutableArray focus_stack;
local static public Display current;
static boolean locks_needed;
TRUE
, each display needs a lock (because we're running
multi-threaded).
tom.MutableMapped preferred_classes;
x.Window
objects to (the uselessly abstract)
tag.Window
objects.
tom.OutputStream (s) help tom.OutputStream s done tom.MutableKeyed done;
:
options understood by the
tag.Display
class.
void load tom.MutableArray arguments;
void set_locks_needed boolean yes_or_no;
locks_needed
according to yes_or_no
, and inform the
active displays.
tom.Indexed active_displays;
instance (id) default;
void flushOutput;
flushOutput
.
deferred instance (id) openDisplay tom.String display;
display
on the receiving CIT.
boolean openDisplays;
TRUE
upon
success, i.e. when at least one display was openend.
instance (id) (display) openQualifiedDisplay tom.String name;
void registerDisplay Display display;
display
.
void unregisterDisplay Display display;
display
.
void registerDisplayRequest tom.String name;
display
is to be opened;
register it in the cmd_displays
.
A `CIT' is a `Concrete Implementation of TAG'. Every CIT is
represented by its Display
class.
void registerCIT class (Display) cit withName tom.String name;
Display
class cit
under the name
.
class (tom.State) preferred_class class (tom.State) c;
tom.Lock lock;
public View locked_view;
view
.
float track_x;
Cell
while handling a mouseDown
, to register
its borders, for use in mouseDragged
and mouseUp
.
float track_y;
float track_w;
float track_h;
public Event event;
Event
has its
own cache copy here, which is reinitialized when needed. When you
want to keep an event around for a while, you'll have to make a
copy.
The event
is the `current' event.
MouseEvent e_mouse;
id init;
deferred class (CachedImageRep) cachedImageRepClass;
CachedImageRep
class to be used to display on the
rceiving kind of Display
.
deferred void close;
deferred tom.ByteStream output;
id flushOutput;
self
.
Device deviceDescription;
locked_view
would display.
void doLockView View view;
view
, now we have the lock.
void doUnlockView View view;
view
, before releasing the
lock.
void lockView View view;
view
to this thread.
void set_locks_needed boolean yes_or_no;
lock
.
void set_track_rectangle (float, float, float, float) (x, y, w, h);
(float, float, float, float) track_rectangle;
void unlockView View view;
Screen locked_screen;
locked_view
.
deferred tom.Indexed screens;
Screen
) attached to this display.
Screen defaultScreen;
deferred void copyRect (float, float, float, float) (rx, ry, rw, rh) to (float, float) (x, y);
locked_view
to the
destination point.
deferred void clipToRect (float, float, float, float) (x, y, w, h);
locked_view
.
deferred void unclip;
clipToRect
.
deferred void closepath;
deferred (float, float) currentpoint;
deferred void curveto (float, float, float, float, float, float) (x1, y1, x2, y2, x3, y3);
deferred void eofill;
deferred void fill;
deferred void flattenpath;
deferred void lineto (float, float) (x, y);
deferred void newpath;
void rlineto (float, float) (x, y);
deferred void moveto (float, float) (x, y);
deferred (float, float, float, float) (x1, y1, x2, y2) pathbbox;
void rmoveto (float, float) (x, y);
deferred void stroke;
deferred void beep;
deferred void drawLine (float, float, float, float) (x1, y1, x2, y2);
deferred void fillRect (float, float, float, float) (x, y, w, h);
deferred void setColor Color c;
deferred void setFont Font f;
deferred void show tom.String text at (float, float) (x, y);
void drawRect (float, float, float, float) (x, y, w, h) withBorderType int border_type;
(float, float, float, float) innerRect (float, float, float, float) (x, y, w, h) forBorderType int border_type;
void drawRect (float, float, float, float) (x, y, w, h);
(x, y, w, h)
. Like all rectangular routines, this draws
inside the given rectangle.
(float, float, float, float) drawButton (float, float, float, float) (x, y, w, h) highlighted: boolean high = NO fill: boolean fill = NO;
(float, float, float, float) innerButton (float, float, float, float) (x, y, w, h) highlighted: boolean high = NO;
(float, float, float, float) drawGrayBezel (float, float, float, float) (x, y, w, h) fill: boolean fill = NO;
(float, float, float, float) innerGrayBezel (float, float, float, float) (x, y, w, h);
(float, float, float, float) drawWhiteBezel (float, float, float, float) (x, y, w, h) fill: boolean fill = NO;
(float, float, float, float) innerWhiteBezel (float, float, float, float) (x, y, w, h);
(float, float, float, float) drawBWRect (float, float, float, float) (x, y, w, h);
(float, float, float, float) innerBWRect (float, float, float, float) (x, y, w, h);
(float, float, float, float) drawGroove (float, float, float, float) (x, y, w, h);
(float, float, float, float) innerGroove (float, float, float, float) (x, y, w, h);
deferred Font fontNamed tom.String name size int size;
name
and size
. It is possible that
the size
is ignored.
deferred Font (result) systemFont post result != nil;