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