DRAWWIDGET__DEFINE Name
DRAWWIDGET Purpose
The purpose of this routine is to implement a draw widget as an object.
Authors
FANNING SOFTWARE CONSULTING BURRIDGE COMPUTING
1645 Sheely Drive 18 The Green South
Fort Collins Warborough, Oxon
CO 80526 USA OX10 7DN, ENGLAND
Phone: 970-221-0438 Phone: +44 (0)1865 858279
E-mail: davidf@dfanning.com E-mail: davidb@burridgecomputing.co.uk
Category
Object widgets. Syntax
drawWidget = Obj_New("DrawWidget", theParent)
Superclasses
WIDGETATOM
CATATOM
CATCONTAINER
IDL_CONTAINER Messages
RESIZEDDRAWWIDGET: If the XSIZE or YSIZE keywords are used with the SETPROPERTY method, a
RESIZEDRAWWIDGET message is sent to registered users (often a pixmap).
The DATA passed with the message is a two-element array containing the
new X and Y size of the draw widget canvas.
DRAWWIDGETREALIZED: When the Draw Widget is realized a DRAWWIDGETREALIZED message is sent to
registered users.
DRAWWIDGET_DRAW: When the Draw Widget draws itself a DRAWWIDGET_DRAW message is sent to
registered users. If it is available, the REQUESTER of the DRAW is sent
with the message as the DATA of the message.
Class Structure
class = { DrawWidget, $
_coords : OBJ_NEW(), $ ; A CATCOORD object of some type.
_colors : OBJ_NEW(), $ ; A COLORTOOL object for setting up color tables.
_drawBase : OBJ_NEW (), $ ; A top-level base widget object, if required.
_noDraw : 0B, $ ; Flag that, if set, inhibits draw method calls.
_videoRAM : 0L, $ ; amount of video memory consumed by the widget
_psconfig : OBJ_NEW(), $ ; A PostScript configuration object.
_eraseWindow: 0B, $ ; A flag that indicates the window should be erased before drawing.
_refreshbuffer: OBJ_NEW(), $; The identifier of a PIXMAPWIDGET that can carry out window refresh.
INHERITS WidgetAtom $ ; INHERITS WIDGETATOM capabilities.
}
Modification History
Written by: David W.Fanning, 28 June 2002.
Added a RESIZEDRAWWIDGET message in SetProperty method. 7 December 2004. DWF.
I made the default background for draw widget's white to facilitate PostScript
output. Default annotation colors are not black. 11 Dec 2004. DWF.
Added refresh buffer capability along with REFRESH method. 23 January 2005. DWF.
Changed the INITIALCOLOR back to "black". Tired of fighting it... 5 July 2005. DWF.
Fixed a problem that occurred when setting XSIZE, but not YSIZE. 29 Aug 2005. DWF.
Modified OUTPUT method to better handle input filenames in DIALOG_PICKFILE. 13 Aug 2009. DWF.
PostScript landscape mode is now right-side up when created from the OUTPUT method.
16 June 2010. DWF.