7.5.16 `open_canvas', `clear_canvas', `draw_obj', `draw_string'
---------------------------------------------------------------

open_canvas(ID[,GEOMETRY])
     :: Opens a canvas, which is a window for drawing objects.

clear_canvas(ID,INDEX)
     :: Clears a canvas.

draw_obj(ID,INDEX,POINTORSEGMENT [,COLOR])
     :: Draws a point or a line segment on a canvas.

draw_string(ID,INDEX,[X,Y],STRING [,COLOR])
     :: Draws a character string on a canvas.

RETURN
     0

ID  INDEX  COLOR  X  Y
     integer

POINTORSEGMENT
     list

STRING
     character string

   * These functions are supplied by the OpenXM server `ox_plot'
     (`engine' on Windows).

   * `open_canvas' opens a canvas, which is a window for drawing
     objecgts.  One can specifies the size of a canvas in pixel by
     supplying GEOMETRY option [X,Y]. The default size is [`300',`300'].
     This function pushes an integer value onto the stack of the OpenXM
     server.  The value is used to distiguish the opened canvas and one
     has to pop and maintain the value by `ox_pop_cmo' for subsequent
     calls of `draw_obj'.

   * `clear_canvas' clears a canvas specified by a server id ID and a
     canvas id INDEX.

   * `draw_obj' draws a point or a line segment on a canvas specified
     by a server id ID and a canvas id INDEX.  If POINTORSEGMENT is
     [X,Y], it is regarded as a point.  If POINTORSEGMENT is [X,Y,U,V],
     it is regarded as a line segment which connects [X,Y] and [U,V].
     If COLOR is specified, COLOR/65536 mod 256, COLOR/256 mod 256,
     COLOR mod 256 are regarded as the vaules of Red, Green, Blue (Max.
     255) respectively.

   * `draw_string' draws a character string STRING on a canvas
     specified by a server id ID and a canvas id INDEX.  The position
     of the string is specified by [X,Y].

     [182] Id=ox_launch_nox(0,"ox_plot");
     0
     [183] open_canvas(Id);
     0
     [184] Ind=ox_pop_cmo(Id);
     0
     [185] draw_obj(Id,Ind,[100,100]);
     0
     [186] draw_obj(Id,Ind,[200,200],0xffff);
     0
     [187] draw_obj(Id,Ind,[10,10,50,50],0xff00ff);
     0
     [187] draw_string(Id,Ind,[100,50],"hello",0xffff00);
     0
     [189] clear_canvas(Id,Ind);
     0

References
     *Note `ox_launch ox_launch_nox ox_shutdown': ox_launch
     ox_launch_nox ox_shutdown, *Note `ox_reset ox_intr
     register_handler': ox_reset ox_intr register_handler, *Note
     `ox_pop_cmo ox_pop_local': ox_pop_cmo ox_pop_local.

