Inheritance diagram for CP_Graphics_Imp_GDI:
State | |
virtual void | SaveState () |
virtual void | RestoreState () |
virtual void | ScaleCTM (float, float) |
virtual void | TranslateCTM (float, float) |
virtual void | RotateCTM (float) |
virtual void | SkewCTM (float, float) |
Paths | |
virtual void | DrawPath (CP_E_PathDrawingMode) |
virtual void | PathAddLines (const CP_Point[], SInt16) |
virtual void | PathAddArc (float, float, float, float, float, SInt16) |
Public Member Functions | |
Constructor / Destructor | |
CP_Graphics_Imp_GDI (CP_Canvas &inDestCanvas) | |
Constructor. | |
virtual | ~CP_Graphics_Imp_GDI () |
Destructor. | |
Setters | |
virtual void | SetAlpha (float inAlpha) |
virtual void | SetLineWidth (float lineWidth) |
virtual void | SetStrokeColor (CP_ARGBColor &inStrokeColor) |
virtual void | SetFillColor (CP_ARGBColor &inFillColor) |
Bezier | |
virtual void | StrokeBezier (const CP_Point &inStartPoint, const CP_Point &inControlPointOne, const CP_Point &inControlPointTwo, const CP_Point &inEndPoint) |
virtual void | StrokeQuadBezier (const CP_Point &inStartPoint, const CP_Point &inControlPointOne, const CP_Point &inEndPoint) |
Gradient | |
virtual void | DrawGradient (CP_E_GradientType inGradientType, CP_Rect &inDestBounds) |
virtual void | SetGradientAngle (SInt16 inAngle) |
virtual void | SetGradientColor (const SInt16 inIndex, const CP_ARGBColor &inColour) |
virtual void | SetGradientCount (SInt16 inGradientCount) |
Icons | |
void | DrawIcon (const CP_Rect &inBounds, CP_E_IconStyle inIconType, SInt16 inIconID) |
void | DrawIcon (CP_OSIcon &inPicture, const CP_Rect &inBounds) |
Images | |
virtual void | DrawImage (const CP_FileSystemSpec &inImageSpec, CP_Rect &inDestBounds) |
virtual void | DrawImage (const CP_FileSystemSpec &inImageSpec, CP_Rect &inSourceBounds, CP_Rect &inDestBounds) |
virtual void | DrawPicture (CP_OSPicture &inPicture, const CP_Rect &inBounds) |
Lines | |
virtual void | Line (const CP_Point &inPoint, const CP_Size &inSize) |
virtual void | Line (float inStartHorLocation, float inStartVerLocation, float inEndHorLocation, float inEndVerLocation) |
Paths | |
virtual void | BeginPath () |
virtual void | ClosePath () |
virtual void | StrokePath () |
virtual void | FillPath () |
virtual void | FillPath (CP_Pattern &inPattern) |
virtual void | PathMoveTo (const CP_Point &inPoint) |
virtual void | PathMoveTo (float inHorLocation, float inVerLocation) |
virtual void | PathAddLineTo (const CP_Point &inPoint) |
virtual void | PathAddLines (const CP_Point inPoint[], SInt16 inNumberPoints) |
virtual void | PathAddLine (const CP_Point &inStartPoint, const CP_Point &inEndPoint) |
virtual void | PathAddLine (float inStartH, float inStartV, float inEndH, float inEndV) |
virtual void | PathAddRect (const CP_Rect &inBounds) |
virtual void | PathAddOval (const CP_Rect &inBounds) |
virtual void | PathAddBezier (const CP_Point &inStartPoint, const CP_Point &inControlPointOne, const CP_Point &inControlPointTwo, const CP_Point &inEndPoint) |
virtual void | PathAddQuadBezier (const CP_Point &inStartPoint, const CP_Point &inControlPointOne, const CP_Point &inEndPoint) |
virtual void | PathAddPoly (CP_Point_Array &inPoints) |
virtual void | ClipPath () |
Polygons | |
virtual void | StrokePoly (CP_Point_Array &inPoints) |
virtual void | FillPoly (CP_Point_Array &inPoints) |
Rects | |
virtual void | StrokeRect (const CP_Rect &inBounds) |
virtual void | EraseRect (const CP_Rect &inBounds) |
virtual void | FillRect (const CP_Rect &inBounds) |
Round Rects | |
virtual void | StrokeRoundRect (const CP_Rect &inBounds, SInt16 inHorRadius, SInt16 inVerRadius) |
virtual void | FillRoundRect (const CP_Rect &inBounds, SInt16 inHorRadius, SInt16 inVerRadius) |
Oval | |
virtual void | StrokeOval (const CP_Rect &inBounds) |
virtual void | FillOval (const CP_Rect &inBounds) |
Text | |
virtual void | DrawString (CP_FontSpec &inFontSpec, const CP_String &inText, const CP_Point &inStartPoint) |
virtual void | DrawText (CP_FontSpec &inFontSpec, const CP_String &inText, const CP_Rect &inBounds, SInt16 inHorAlign=CP_E_TextAlign_HorLeft, SInt16 inVerAlign=CP_E_TextAlign_VerTop, bool inWrapText=true) |
virtual void | DrawTrunc (CP_FontSpec &inFontSpec, const CP_String &inText, const CP_Rect &inBounds, SInt16 inHorAlign=CP_E_TextAlign_HorLeft, SInt16 inVerAlign=CP_E_TextAlign_VerTop) |
Protected Attributes | |
bool | fNeedTransform |
CP_Region | fClipPath |
CP_S_PathOperation_Array | fPath |
CP_ARGBColor | fStrokeColor |
CP_ARGBColor | fFillColor |
CP_Point_Array | fPoints |
CP_Point_Array | fTempRegionPoints |
CP_E_GradientType | fGradientType |
SInt16 | fGradientCount |
CP_ARGBColor | fColors [kCP_MaxGradientColors] |
SInt16 | fOffsets [kCP_MaxGradientColors] |
SInt16 | fGradientAngle |
CP_Canvas | fDestCanvas |
float | fAlpha |
float | fLineWidth |
Private Member Functions | |
Misc | |
void | FrameQuadCurve (CP_Canvas &inDestCanvas, const CP_Point &inStartPoint, const CP_Point &inControlPointOne, const CP_Point &inEndPoint) |
void | FrameCurve (CP_Canvas &inDestCanvas, kCP_QuadCurveCurve *inQuadCurve, SInt16 inLevel) |
CP_Region | CreatePathRegion () |
CP_Rect | GetPolyBounds () |
void | InitGradient () |
|
Constructor.
|
|
Destructor.
|
|
Sets the alpha value used when drawing.
Reimplemented from CP_Graphics_Imp. |
|
Sets the line width used in stroking.
Reimplemented from CP_Graphics_Imp. |
|
Sets the color used in stroking objects.
Reimplemented from CP_Graphics_Imp. |
|
Sets the color used in filling objects.
Reimplemented from CP_Graphics_Imp. |
|
Draws a Bezier curve using the passed in parameters, and then strokes it, using the current stroke color and stroke line width.
Reimplemented from CP_Graphics_Imp. |
|
Draws a Quad Bezier curve using the passed in parameters, and then strokes it, using the current stroke color and stroke line width.
Reimplemented from CP_Graphics_Imp. |
|
Draws a gradient in the specified bounds. The gradient can be of the following types:
Reimplemented from CP_Graphics_Imp. |
|
Reimplemented from CP_Graphics_Imp. |
|
Sets one of the colors used to draw the gradient.
|
|
Reimplemented from CP_Graphics_Imp. |
|
Draws a icon resource in the passed in bounds. The image will be scaled to fit the rectangle.
Reimplemented from CP_Graphics_Imp. |
|
Draws the CP_OSicon in the passed in bounds. The image will be scaled to fit the rectangle.
Reimplemented from CP_Graphics_Imp. |
|
Draws a picture image into the specified area. The image will be scaled to fit into the destination area.
Reimplemented from CP_Graphics_Imp. |
|
Draws a picture image into the specified area. The image will be scaled to fit into the destination area. The image is located in the passed in file spec.
Reimplemented from CP_Graphics_Imp. |
|
Draw the passed in OSPicture in the destination bounds, scaling the image as needed to fit.
Reimplemented from CP_Graphics_Imp. |
|
Draws a line from the passed in start location and going for the distance specified in inSize.
|
|
Draws a line from the passed in start location to the ending location.
Reimplemented from CP_Graphics_Imp. |
|
Marks the beginning of a path. This indicates that all subsequent drawing operations until ClosePath is called is collected into the current path. After ClosePath is called, you can then stroke or fill the path. The only drawing calls that are added, are the ones that begin with Path, such as PathMoveTo, PathAddOval, PathAddRect, etc.
CP_Graphics graphics( inDestCanvas ); graphics.BeginPath(); do some path drawing commands here graphics.EndPath(); graphics.StrokePath();
Reimplemented from CP_Graphics_Imp. |
|
Closes the current path. Every call to ClosePath needs to have a corresponding BeginPath call.
Reimplemented from CP_Graphics_Imp. |
|
Strokes the current path.
Reimplemented from CP_Graphics_Imp. |
|
Fills the current path.
Reimplemented from CP_Graphics_Imp. |
|
Fills the current path with the passed in pattern.
Reimplemented from CP_Graphics_Imp. |
|
Sets the current point in the path to that of the passed in point. This is the location where subsequent drawing operations will begin unless the call specifies a new starting point in its params.
Reimplemented from CP_Graphics_Imp. |
|
Sets the current point in the path to that of the passed in coordinates. This is the location where subsequent drawing operations will begin unless the call specifies a new starting point in its params.
Reimplemented from CP_Graphics_Imp. |
|
Adds a line to our path. The line will be drawn from the current point to the location specified in inPoint.
Reimplemented from CP_Graphics_Imp. |
|
Add inNumberPoints lines to our path. The first point is the starting point, then each additional point has a line drawn from the last point to that point.
|
|
Adds a starting and ending point to the current path.
Reimplemented from CP_Graphics_Imp. |
|
Adds a line to the current path using the specified coordinates.
Reimplemented from CP_Graphics_Imp. |
|
Adds a rect to the current path.
Reimplemented from CP_Graphics_Imp. |
|
Adds an oval to the current path.
Reimplemented from CP_Graphics_Imp. |
|
Adds a bezier curve to the current path.
Reimplemented from CP_Graphics_Imp. |
|
Adds a quadratic bezier curve to the current path.
Reimplemented from CP_Graphics_Imp. |
|
Adds a polygon to the current path as specified in the passed in points array.
Reimplemented from CP_Graphics_Imp. |
|
Sets the clipping path of the canvas being drawn into to that of the current path.
Reimplemented from CP_Graphics_Imp. |
|
Draws the polygon specified by the passed in points array, then strokes it.
Reimplemented from CP_Graphics_Imp. |
|
Draws the polygon specified by the passed in points array, and fills it.
Reimplemented from CP_Graphics_Imp. |
|
Draws a rect specified by the passed in bounds, then strokes it.
Reimplemented from CP_Graphics_Imp. |
|
Erases the passed in rect using the canvases current background color.
Reimplemented from CP_Graphics_Imp. |
|
Draws a rect specified by the passed in bounds, then fills it.
Reimplemented from CP_Graphics_Imp. |
|
Draws a rounded rect specified by the passed in rect, then strokes it.
Reimplemented from CP_Graphics_Imp. |
|
Draws a rounded rect specified by the passed in rect, then fills it.
Reimplemented from CP_Graphics_Imp. |
|
Draws an oval specified by the passed in rect, then strokes it.
Reimplemented from CP_Graphics_Imp. |
|
Draws an oval specified by the passed in rect, then fills it.
Reimplemented from CP_Graphics_Imp. |
|
Draws the passed in text at the location specified. The text will not be wrapped.
Reimplemented from CP_Graphics_Imp. |
|
Draws the passed in text at the locatio specified. The text will be wrapped to fit in the passed in bounds.
Reimplemented from CP_Graphics_Imp. |
|
Reimplemented from CP_Graphics_Imp. |
|
Private routine to draw the quadratic bezier curve.
|
|
Private routine to draw the bezier curve.
|
|
Creates a MacOS Region that contains all of the recorded path drawing operations. This is the region that can then be stroked, filled or used as a clipping path. This is a private, internal routine to this class.
|
|
Private routine to return the bounds of a polygon.
|
|
Initialize our gradient to a default top to bottom, black & white pattern.
|
|
Returns the current width used in drawing lines.
|
|
Returns the current alpha value used when drawing.
|
|
Returns the current color used in stroking.
|
|
Returns the current color used in filling.
|
|
Returns the CP_Canvas object to be drawn into.
|
|
Sets the line join for determing how lines will be drawn when they join. Note: Some platforms do not support line join, and they will be drawn in the normal style. Current values for inLineJoint can be:
Reimplemented in CP_Graphics_Imp_Quartz. |
|
Sets the line cap for determing how lines ending will be drawn. Note: Some platforms do not support line caps, and they will be drawn in the normal style. Current values for inLineCap can be:
Reimplemented in CP_Graphics_Imp_Quartz. |
|
Saves the current graphics state.
Reimplemented in CP_Graphics_Imp_Quartz. |
|
Restore the current graphics state. Each RestoreState needs to have a matching SaveState called before calling this.
CP_Graphics graphics( inDestCanvas ); graphics.SaveState(); do some drawing and state changes here, such as setting colors, line styles graphics.RestoreState();
Reimplemented in CP_Graphics_Imp_Quartz. |
|
Sets the scaling amount to be used in the current transformation matrix.
Reimplemented in CP_Graphics_Imp_Quartz. |
|
Sets the translation amount to be used in the current transformation matrix.
Reimplemented in CP_Graphics_Imp_Quartz. |
|
Sets the rotation amount to be used in the current transformation matrix.
Reimplemented in CP_Graphics_Imp_Quartz. |
|
Sets the skewing amount to be used in the current transformation matrix.
|
|
Draws an arc using the passed in parameters, and then strokes it, using the current stroke color and stroke line width.
Reimplemented in CP_Graphics_Imp_Quartz. |
|
Draws an arc using the passed in parameters, and then fills it, using the current fill color.
Reimplemented in CP_Graphics_Imp_Quartz. |
|
Sets one of the colors used to draw the gradient.
|
|
Draws a picture image into the specified area. The image will be scaled to fit into the destination area.
Reimplemented in CP_Graphics_Imp_Quartz. |
|
Draws the current path using the passed in path drawing mode, which can be one of the following:
Reimplemented in CP_Graphics_Imp_Quartz. |
|
Add inNumberPoints lines to our path. The first point is the starting point, then each additional point has a line drawn from the last point to that point.
|
|
Add an arc of a circle to the context's path, possibly preceded by a straight line segment. `(inHorCenter, inVerCenter)' is the center of the arc; `inRadius' is its radius; `inStartAngle' is the angle to the first endpoint of the arc; `inEndAngle' is the angle to the second endpoint of the arc; and `inClockwise' is 1 if the arc is to be drawn clockwise, 0 otherwise. `inStartAngle' and `inEndAngle' are measured in radians.
Reimplemented in CP_Graphics_Imp_Quartz. |
|
Draws a region specified by the passed in region, then strokes it.
Reimplemented in CP_Graphics_Imp_Quartz. |
|
Draws a region specified by the passed in region, then fills it.
Reimplemented in CP_Graphics_Imp_Quartz. |
|
Sets a flag to indicate how the text will be drawn in the destination canvas, if the platform supports them. Such as transparent or opaque.
|
|
|
|
Flag to indicate if any drawing operation needs transformation. |
|
Region used for clipping. |
|
An array of path operations. Reimplemented from CP_Graphics_Imp. |
|
Color used when stroking an area. Reimplemented from CP_Graphics_Imp. |
|
Color used when filling an area. |
|
Points used to draw the polygon. |
|
Points used to draw a region. Working copy. |
|
Type of gradient. |
|
Number of colors in gradient. |
|
List of colors in gradient. |
|
Offsets used to draw gradient. |
|
|
|
Destination canvas to draw into. |
|
Alpha value for drawing. |