General information:Author: klaasje Version: 1.0 Date: Wed Oct 20 9:02:45 MET 1999 |
Header files:
|
Code files: |
Drawdriver is the base class for drawing the internal database contents to the screen. For every Object in the database there are members to write it to a screen type device. For instance the display or a printer a class derived from this baseclass will contain the device specific functions for doing the low level drawing.
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual G_BOOL |
Declaration:
virtual G_BOOL Pending()
Description:
detect interruption of drawing routines
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: NONE |
Declaration:
DrawDriver()
Description:
constructors
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: NONE |
Declaration:
~DrawDriver()
Description:
destructor
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void WriteDirect(ElementList*)
Description:
write the object to the device without history on the current tarnsform matrixthis is used in interactive drawing modes
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void WriteDirect(Path* _Path)
Description:
write the object to the device without history on the current tarnsform matrixthis is used in interactive drawing modes
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void WriteDirect(Boundary* _Boundary)
Description:
write the object to the device without history on the current tarnsform matrixthis is used in interactive drawing modes
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void WriteDirect(Box* _Box)
Description:
write the object to the device without history on the current tarnsform matrixthis is used in interactive drawing modes
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void WriteDirect(Circle* _Circle)
Description:
write the object to the device without history on the current tarnsform matrixthis is used in interactive drawing modes
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void WriteDirect(Text*)
Description:
write the object to the device without history on the current tarnsform matrixthis is used in interactive drawing modes
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void WriteDirect(Arcseg*)
Description:
write the object to the device without history on the current tarnsform matrixthis is used in interactive drawing modes
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void DrawOrigin()
Description:
draw the (0,0) crosshair
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void DrawGrid(double,long,int)
Description:
draw the drawing grid on the canvas
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void MakeWindowCoordinates(double&, double&, double&, double&)
Description:
transform virtual coordinates to window coordinatestransform virtual coordinates to window coordinates (lines)
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void MakeWindowCoordinates(double&, double&, double&, double&)
Description:
transform virtual coordinates to window coordinatestransform virtual coordinates to window coordinates (lines)
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void Init(Setup*)
Description:
initialize the device to draw on
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: Matrix<double>* |
Declaration:
Matrix<double>* GetInverseMappingMatrix()
Description:
matrix for calculating the virtual coordinate given a screen coordinate
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: Matrix<double>* |
Declaration:
Matrix<double>* GetMappingMatrix()
Description:
matrix for calculating the screen coordinate given a virtual coordinate
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: BoundingBox* |
Declaration:
BoundingBox* GetVirtualSizeScreen()
Description:
return a Boundingbox in virtual coordinates being the visual size of the client window
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void GetClientWindowSize(int* dx, int* dy)
Description:
return the dx and dy size of the client window
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void SetMapping(double vx1, double vy1, double vx2, double vy2, int border)
Description:
given the virtual size to be displayed, the mappingmatrix will be calculatedin such a manner that it fits to the window size.the virtual size is just an indication, it will be ajusted to fit in the client window.
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void SetDrawStyle(DrawStyle)
Description:
set the drawing style (filled, outline, inverted etc.) The drawstyle is used to determine how figures should be drawn on screen. WIREFRAME = draw the outlines only FILLED = draw outlines and fill the polygons SELECTED = draw only a selectedline around already existing objects INVERTED = draw the object in a color being the inverse of the screencolor where the object is drawn P.S. With the drawstyle wireframe or filled selected objects are also drawn
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: DrawStyle |
Declaration:
DrawStyle GetDrawStyle()
Description:
get the current drawing style (filled, outline, inverted etc.)
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: G_BOOL |
Declaration:
G_BOOL IsDrawStyle(DrawStyle)
Description:
is this the current drawstyle?
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void ClearScreen()
Description:
clear the client window
scope: public | purpose: normal | inline?: no | function property: standard | type: basic | typename: double |
Declaration:
double GetScaleFactor()
Description:
current scale factor for virtual to window coordinatesbeing the zoomin factor
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void FillPatternPolygon(void)
Description:
scanfill the current absolute polygon
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void DetectCriticalPoints()
Description:
used in scanfill to detect local minimums
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Box* _Box)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Circle* _Circle)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(ArrayReference*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Bgnlib*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Bgnstr*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Element*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Boundary*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(ElementList*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(ColumnsRows*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Elflags*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(GdsII*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Header*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Library*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Path*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Arcseg*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Point*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Segment*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(G_Polygon*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(G_Polyline*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Presentation*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Strans*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(StructureList*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(StructureReference*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Structure*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Text*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Write(Units*)
Description:
write given object to window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void SetLayer(int layer)
Description:
given a layer number, initialize all needed to draw on this layerlike colors fill patterns etc.
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void UnSetLayer(int layer)
Description:
given a layer number, remove all that was needed to draw on this layerlike colors fill patterns etc.
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void GDSDrawText(char* text, double x, double y, double x2, double y2, Presentation*, Matrix<double>*)
Description:
draw text on the screen
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void GDSDrawLine(double x1, double y1, double x2, double y2)
Description:
draw a line on the screen (using dubbel buffering)
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void GDSCanDrawLine(double x1, double y1, double x2, double y2)
Description:
draw a line on the screen (NOT using dubbel buffering)
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void DrawOriginLine(double x1, double y1, double x2, double y2)
Description:
used for drawing crosshair at origin
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void DrawLineSelected(double x1, double y1, double x2, double y2)
Description:
used for drawing lines in selected mode, used for drawingobjects that are selected
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void GDSDrawPoint(double x, double y)
Description:
draw a single point (using dubbel buffering)
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Transform(double&, double&, double&, double&)
Description:
transform relative coordinates to absolute coordinatesusing the current relative matrix.it is used to draw the contents of structures that are referenced from the top leveltransform relative coordinates to absolute coordinatesusing the current relative matrix.it is used to draw the contents of structures that are referenced from the top level
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: void |
Declaration:
void Transform(double&, double&, double&, double&)
Description:
transform relative coordinates to absolute coordinatesusing the current relative matrix.it is used to draw the contents of structures that are referenced from the top leveltransform relative coordinates to absolute coordinatesusing the current relative matrix.it is used to draw the contents of structures that are referenced from the top level
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: int |
Declaration:
int GetClipCode(double, double)
Description:
return clipcode for a point, clipped against the virtual window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: G_BOOL |
Declaration:
G_BOOL Clipping(double&, double&, double&, double&)
Description:
return if point is clipped against the virtual windowreturn if both points are clipped against the virtual window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: G_BOOL |
Declaration:
G_BOOL Clipping(double&, double&, double&, double&)
Description:
return if point is clipped against the virtual windowreturn if both points are clipped against the virtual window
scope: protected | purpose: normal | inline?: yes | function property: standard | type: basic | typename: int |
Declaration:
int InViewPort(BoundingBox*)
Description:
does the given bounding box fit in the virtual window
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: G_BOOL |
Declaration:
G_BOOL NeedToDraw(int layer)
Description:
is this layer visible, and needs drawing?
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void WindowsPolygon(void)
Description:
draw simple polygons
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void WindowsPolyline(void)
Description:
draw simple polylines
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void DrawRect(int x1, int y1, int x2, int y2)
Description:
draw a rectangle in window coordinates
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: virtual void |
Declaration:
virtual void DrawFillLine(double,double,double,double)
Description:
used to scanline fill polygons
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: G_BOOL |
Declaration:
G_BOOL MoveUp(double horline,int direction)
Description:
used to scanline fill polygons
scope: protected | purpose: normal | inline?: no | function property: standard | type: basic | typename: G_BOOL |
Declaration:
G_BOOL ClipIt(Element* a_ele)
Description:
does this element need clipping
scope: protected | type: basic | typename: Structure* |
Declaration:
Structure* _showstructure
Description:
top of visible structures
scope: protected | type: basic | typename: Structure* |
Declaration:
Structure* _drawstructure
Description:
structure to be drawn
scope: protected | type: basic | typename: G_BOOL |
Declaration:
G_BOOL _Selected
Description:
true if the element should be drawn selected
scope: protected | type: basic | typename: G_BOOL |
Declaration:
G_BOOL _SRefSelected
Description:
true if the reference to the element was selected
scope: protected | type: basic | typename: BoundingBox* |
Declaration:
BoundingBox* _virtualsize
Description:
holds the size of the virtual window
scope: protected | type: basic | typename: BoundingBox* |
Declaration:
BoundingBox* _absbox
Description:
used for calculating absolute boundingboxes
scope: protected | type: basic | typename: Matrix<double>* |
Declaration:
Matrix<double>* _matrix
Description:
holds the matrix from structure reference
scope: protected | type: basic | typename: Matrix<double>* |
Declaration:
Matrix<double>* _mapping_matrix
Description:
holds the matrix for mapping from virtual to screen coordinates
scope: protected | type: basic | typename: Matrix<double>* |
Declaration:
Matrix<double>* _inverse_mapping
Description:
holds the inverse of the mapping matrix
scope: protected | type: basic | typename: OVERLAP |
Declaration:
OVERLAP _clip_status
Description:
use for checking clipping necessity
scope: protected | type: basic | typename: G_BOOL |
Declaration:
G_BOOL _visible
Description:
is this structure visible?
scope: protected | type: basic | typename: G_BOOL |
Declaration:
G_BOOL _clipit
Description:
must the drawing be clipped?
scope: protected | type: basic | typename: double |
Declaration:
double _scalefactor
Description:
holds the scalefactor for the window
scope: protected | type: basic | typename: Units* |
Declaration:
Units* _units
Description:
holds the units from the library
scope: protected | type: basic | typename: G_Polygon* |
Declaration:
G_Polygon* _AbsPolygon
Description:
for containing the absolute polygon to draw
scope: protected | type: basic | typename: TDLI<Segment>* |
Declaration:
TDLI<Segment>* _AI
Description:
iterator for absolute polygon
scope: protected | type: basic | typename: DL_List<void*>* |
Declaration:
DL_List<void*>* _AET_list
Description:
iterator for scanline
scope: protected | type: basic | typename: TDLISort<AET_elem>* |
Declaration:
TDLISort<AET_elem>* _AET
Description:
iterator for scanline
scope: protected | type: basic | typename: DL_List<void*>* |
Declaration:
DL_List<void*>* _CR_list
Description:
iterator for critical points
scope: protected | type: basic | typename: TDLISort<CR_point>* |
Declaration:
TDLISort<CR_point>* _CR
Description:
iterator for critical points
scope: protected | type: basic | typename: int |
Declaration:
int _ActiveLayer
Description:
active layer that is currently drawn
scope: protected | type: basic | typename: int |
Declaration:
int _pattern
Description:
holds the patternnumber
scope: protected | type: basic | typename: DrawStyle |
Declaration:
DrawStyle _drawstyle
Description:
current drawstyle
scope: protected | type: basic | typename: DrawStyle |
Declaration:
DrawStyle _stored_drawstyle
Description:
previous drawstyle
scope: protected | type: basic | typename: G_BOOL |
Declaration:
G_BOOL _stopdrawing
Description:
interrupt in drawing
scope: protected | type: basic | typename: G_BOOL |
Declaration:
G_BOOL _busydrawing
Description:
is drawing going on