Main Page Class Hierarchy Compound List File List Compound Members

# DrawDriver Class Reference

Drawdriver is the base class for drawing. More...

`#include <scrndrv.h>`

Inheritance diagram for DrawDriver:

List of all members.

## Public Methods
bool | Pending ()
| detect interruption of drawing routines
| DrawDriver ()
| constructors
| ~DrawDriver ()
| destructor
void | WriteDirect (ElementList *)
void | WriteDirect (Path *_Path)
void | WriteDirect (Boundary *_Boundary)
void | WriteDirect (Box *_Box)
void | WriteDirect (SLine *line)
void | WriteDirect (Circle *_Circle)
void | WriteDirect (Text *)
void | WriteDirect (Arcseg *)
void | DrawOrigin ()
| draw the (0,0) crosshair
void | DrawGrid (double, long, int)
| draw the drawing grid on the canvas
void | Init ()
| initialize the device to draw on
BoundingBox & | GetVirtualSizeScreen ()
| return a Boundingbox in virtual coordinates being the visual size of the client window
void | SetDrawStyle (DrawStyle)
| set the drawing style (filled, outline, inverted etc.)
DrawStyle | GetDrawStyle ()
| get the current drawing style (filled, outline, inverted etc.)
bool | IsDrawStyle (DrawStyle)
| is this the current drawstyle?
void | ClearScreen ()
| clear the client window
void | Write (GdsII *)
| write given object to window
void | Write (Point *)
| write given object to window
void | Write (Segment *)
| write given object to window
void | Write (G_Polygon *)
| write given object to window
void | Write (G_Polyline *)
| write given object to window
void | SetLayer (int layer)
void | UnSetLayer (int layer)
void | GDSDrawText (const wxString &text, double x, double y, double x2, double y2, Text *, wxTransformMatrix *)
| draw text on the screen
void | GDSDrawLine (double x1, double y1, double x2, double y2)
| draw a line on the screen (using dubbel buffering)
void | Transform (double &, double &)
void | Transform (double &, double &, double &, double &)
void | SetScroll (double vx1, double vy1, double vx2, double vy2)
| to set the total area that can be scrolled
bool | NeedToDraw (int layer)
| is this layer visible, and needs drawing?
void | WindowsPolygon_NoOutLine ()
| draw simple polygons but no outline
void | WindowsPolygon (void)
| draw simple polygons
void | WindowsPolyline (void)
| draw simple polylines
void | WindowsSpline (void)
| draw simple polylines
void | DrawRect (int x1, int y1, int x2, int y2)
| draw a rectangle in window coordinates
bool | ClipIt (Element *a_ele)
| does this element need clipping to MAXINT and MININT (not window)
void | ltowxc (long l, wxColour &color)
| convert colors from rgb to wxcolours
void | SetClippingRegionBox (BoundingBox &a_box)
| set clipping region using x y values of virtual window coordinates
## Public Attributes
Structure * | _showstructure
| top of visible structures
bool | _Selected
| true if the element should be drawn selected
bool | _SRefSelected
| true if the reference to the element was selected
bool | m_filled
| set true if the element to be drawn needs to be drawn filled
BoundingBox | m_virtualsize
| holds the size of the virtual window
BoundingBox | _absbox
| used for calculating absolute boundingboxes
wxTransformMatrix * | _matrix
| holds the matrix from structure reference
OVERLAP | _clip_status
| use for checking clipping necessity
bool | _visible
| is this structure visible?
bool | _clipit
| does this element/structure etc. need clipping to MAXINT and MININT (not window)
G_Polygon * | _AbsPolygon
| for containing the absolute polygon to draw
TDLI< Segment > * | _AI
| iterator for absolute polygon
int | _ActiveLayer
| active layer that is currently drawn
DrawStyle | _drawstyle
| current drawstyle
DrawStyle | _stored_drawstyle
| previous drawstyle
bool | _stopdrawing
| interrupt in drawing
bool | _busydrawing
| is drawing going on
wxPoint * | todraw
| temporary storage of polygons converted to windows coordinates
wxColour * | _textColor
| holds the drawing color for text
wxColour * | _textSelectedColor
| holds the drawing color selected text
wxColour * | _fillcolor
| holds the fill color
wxPen * | _penSelected
| the pen used for drawing a border around selected elements
wxPen * | _pen
| the pen used for drawing
wxPen * | _pengrid
| the pen used for grid drawing
wxPen * | _penorigin
| the pen used for origin drawing
wxBrush * | _brush
| the brush used for filling
wxBrush * | _brushbitm
| used in case of bitmap hatched filling
wxBrush * | _brushnorm
| used in case of SOLID filling
wxFont * | _font
| font for text elements
wxBitmap * | _currentbitmap
| the bitmap brush initial bitmap
int | _layer
| active layer to optimize drawing
int | _pattern
| holds the patternnumber
double | m_virtm_minX
| virtual coordinates of total drawing
double | m_virtm_minY
| virtual coordinates of total drawing
double | m_virtm_maxX
| virtual coordinates of total drawing
double | m_virtm_maxY
| virtual coordinates of total drawing

## Detailed Description

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 for doing the low level drawing. All function are using a DC that can be set in front for the driver. This makes the class one big selection of drawing functions using a wxDC.

See also:
  Canvas , PrintDriver

## Member Function Documentation

void DrawDriver::SetDrawStyle | ( | DrawStyle |  | ) |

| 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

void DrawDriver::SetLayer | ( | int | layer | ) |

| given a layer number, initialize all needed to draw on this layer like colors fill patterns etc.

void DrawDriver::Transform | ( | double & | ,
|  | double & | ,
|  | double & | ,
|  | double & |
| ) |

| transform relative coordinates to absolute coordinates using the current relative matrix. it is used to draw the contents of structures that are referenced from the top level

void DrawDriver::Transform | ( | double & | ,
|  | double & |
| ) |

| transform relative coordinates to absolute coordinates using the current relative matrix. it is used to draw the contents of structures that are referenced from the top level

void DrawDriver::UnSetLayer | ( | int | layer | ) |

| given a layer number, remove all that was needed to draw on this layer like colors fill patterns etc.

void DrawDriver::WriteDirect | ( | Arcseg * |  | ) |

| write the object to the device without history on the current transform matrix this is used in interactive drawing modes

void DrawDriver::WriteDirect | ( | Text * |  | ) |

| write the object to the device without history on the current transform matrix this is used in interactive drawing modes

void DrawDriver::WriteDirect | ( | Circle * | _Circle | ) |

| write the object to the device without history on the current transform matrix this is used in interactive drawing modes

void DrawDriver::WriteDirect | ( | SLine * | line | ) |

| write the object to the device without history on the current transform matrix this is used in interactive drawing modes

void DrawDriver::WriteDirect | ( | Box * | _Box | ) |

| write the object to the device without history on the current transform matrix this is used in interactive drawing modes

void DrawDriver::WriteDirect | ( | Boundary * | _Boundary | ) |

| write the object to the device without history on the current transform matrix this is used in interactive drawing modes

void DrawDriver::WriteDirect | ( | Path * | _Path | ) |

| write the object to the device without history on the current transform matrix this is used in interactive drawing modes

void DrawDriver::WriteDirect | ( | ElementList * |  | ) |

| write the object to the device without history on the current transform matrix this is used in interactive drawing modes

The documentation for this class was generated from the following file:

- scrndrv.h

DrawDriver class Reference -- Thu Nov 28 21:24:57 2002 -- 28 Nov 2002 -- 1.2.18 -- -- . -- Main Page