XDUMBDRAW.DOC

advertisement
Object Type:
xdumbdraw
Description:
Demonstration object class for displaying pixes.
Subclassed
from coredraw. While this widget is functional, it is not
particularly useful for anything other than demo purposes for
code developers.
The coredraw widget should be used if the projections need
to be restricted to the xy plane, and the draw widget in
other cases.
Like other coredraw subclasses, dumbdraw can be thought of as
providing a window into a space where pixes reside, or a
screen onto which pixes are projected. One can select the
size,
orientation and other parameters of this window/screen
according to the set of functions described below.
The functions provided by coredraw, which are inherited or
overridden by its subclasses, include:
Displaying and managing pixes.
Handling forward transforms for drawing pixes
Handling backward transforms for identifying
location of mouse events
Keyboard control over transformation parameters
such as zoom and pan.
Providing a mechanism for deciding which child
pix should recieve mouse events
Dumbdraw does not display anything on its own. The pixes
provide the actual images and drawing routines displayed
in a dumbdraw widget.
The dumbdraw widget can only display pixes using planar
orthographic projections. One can select between the
xy, yz and xz planes using the keyboard commands
z, x, and y respectively.
In a future revision the z coordinate will be used to
determine
the order of redrawing pixes to enable pixes to obscure
each other according to depth.
Author:
Upi Bhalla Caltech April 93
---------------------------------------------------------------------------ELEMENT PARAMETERS
DataStructure:
Size:
xdumbdraw_type [in src/Xodus/draw/xdumbdraw_struct.h
?
Fields:
bg
fg
Foreground color of dumbdraw (not used)
Background color.
xgeom Position of left edge of dumbdraw.
ygeom Position of upper edge of dumbdraw.
wgeom Width of dumbdraw
hgeom Height of dumbdraw
xmin x lower limit for displaying pixes.
ymin y lower limit for displaying pixes.
zmin z lower limit for displaying pixes.
xmax x upper limit for displaying pixes.
ymax y upper limit for displaying pixes.
zmax z upper limit for displaying pixes.
script
Script operation(s) to perform on a mouse
click. The script calls to the dumbdraw widget
are only made if none of the child pixes has
expressed an interest in the event.
transform The projection transformation to
perform while displaying the pixes.
z = xy plane
y = xz plane
x = yz plane.
(think of it as looking down from the selected
axis (eg, z) onto a plane (eg, xy).
--------------------------------------------------------------------------SIMULATION PARAMETERS
Function:
XDumDraw [in src/Xodus/widg/xdumbdraw.c]
Classes:
widget output
Actions:
XUPDATE: update internal fields when
displayed widget is changed.
XOCOMMAND: an action that can invoke the functions
in the 'script' field
XODROP:
Called when a pix is dropped into a draw widget.
Messages:
none.
--------------------------------------------------------------------------Notes:
Can only be displayed in a form widget
The xdumbdraw does not perform any computational operations
driven by the simulation clock.
Example:
create xform /form [0,0,500,500]
create xdumbdraw /form/dumbdraw [0,0,100%,100%] \
-bg red -script "echo Hello, I am a dumbdraw widget"
setfield /form/dumbdraw xmin -2 xmax 2 ymin -2 ymax 2
// display the pixes here
create xsphere /form/dumbdraw/sphere -fg green -r 1 \
-script "echo Hello, I am a sphere pix"
xshow /form
See also:
XODUS documentation, pix documentation, documentation
for coredraw and other subclasses.
Download