Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

CP_Graphics Class Reference

Inheritance diagram for CP_Graphics:

CP_NoCopy List of all members.

Public Member Functions

Constructor / Destructor
 CP_Graphics (CP_Canvas &inDestCanvas, bool inSynchronizeWithPort=true, CP_E_GraphicsImp inImpClassType=CP_E_GraphicsImp_PlatformNative)
 Constructor.
virtual ~CP_Graphics ()
 Destructor.
Implementor
CP_Graphics_ImpGetImpClass ()
void SetImpClass (CP_Graphics_Imp *inImpClass)
Getters
float GetLineWidth ()
float GetAlpha ()
CP_ARGBColor GetStrokeColor ()
CP_ARGBColor GetFillColor ()
State
void SaveState ()
void RestoreState ()
void ScaleCTM (float inHorAmt, float inVerAmt)
void RotateCTM (float inAngle)
void SkewCTM (float inHorAmt, float inVerAmt)
Arcs
void StrokeArc (float inHorCenter, float inVerCenter, float inRadius, float inStartAngle, float inEndAngle)
void FillArc (float inHorCenter, float inVerCenter, float inRadius, float inStartAngle, float inEndAngle)
Bezier Curves
void StrokeBezier (const CP_Point &inStartPoint, const CP_Point &inControlPointOne, const CP_Point &inControlPointTwo, const CP_Point &inEndPoint)
void StrokeQuadBezier (const CP_Point &inStartPoint, const CP_Point &inControlPointOne, const CP_Point &inEndPoint)
Gradient
void DrawGradient (CP_E_GradientType inGradietType, CP_Rect &inDestBounds)
void SetGradientAngle (SInt16 inAngle)
void SetGradientColor (const SInt16 inIndex, const CP_ARGBColor &inColour)
void SetGradientCount (SInt16 inGradientCount)
Lines
void Line (const CP_Point &inStartPoint, const CP_Point &inEndPoint)
void Line (float inStartHorLocation, float inStartVerLocation, float inEndHorLocation, float inEndVerLocation)
Icons
void DrawIcon (const CP_Rect &inBounds, CP_E_IconStyle inIconType, SInt16 inIconID)
void DrawIcon (CP_OSIcon &inPicture, const CP_Rect &inBounds)
Images
void DrawImage (SInt16 inImageResID, CP_Rect &inDestBounds)
void DrawImage (const CP_FileSystemSpec &inImageSpec, CP_Rect &inDestBounds)
void DrawImage (const CP_FileSystemSpec &inImageSpec, CP_Rect &inSrcBounds, CP_Rect &inDestBounds)
void DrawPicture (CP_OSPicture &inPicture, const CP_Rect &inBounds)
Paths
void BeginPath ()
void ClosePath ()
void StrokePath ()
void FillPath ()
void FillPath (CP_Pattern &inPattern)
void DrawPath (CP_E_PathDrawingMode inPathDrawMode)
void PathMoveTo (const CP_Point &inPoint)
void PathMoveTo (float inHorLocation, float inVerLocation)
void PathAddLineTo (const CP_Point &inPoint)
void PathAddLine (const CP_Point &inStartPoint, const CP_Point &inEndPoint)
void PathAddLine (float inStartH, float inStartV, float inEndH, float inEndV)
void PathAddLines (const CP_Point inPoint[], SInt16 inNumberPoints)
void PathAddRect (const CP_Rect &inBounds)
void PathAddOval (const CP_Rect &inBounds)
void PathAddBezier (const CP_Point &inStartPoint, const CP_Point &inControlPointOne, const CP_Point &inControlPointTwo, const CP_Point &inEndPoint)
void PathAddQuadBezier (const CP_Point &inStartPoint, const CP_Point &inControlPointOne, const CP_Point &inEndPoint)
void PathAddPoly (CP_Point_Array &inPoints)
void PathAddArc (float inHorCenter, float inVerCenter, float inRadius, float inStartAngle, float inEndAngle, SInt16 inClockwise)
void ClipPath ()
Polygons
void StrokePoly (CP_Point_Array &inPoints)
void FillPoly (CP_Point_Array &inPoints)
Rects
void StrokeRect (const CP_Rect &inBounds)
void EraseRect (const CP_Rect &inBounds)
void FillRect (const CP_Rect &inBounds)
Regions
void StrokeRegion (const CP_Region &inRegion)
void FillRegion (const CP_Region &inRegion)
Round Rects
void StrokeRoundRect (const CP_Rect &inBounds, SInt16 inHorRadius, SInt16 inVerRadius)
void FillRoundRect (const CP_Rect &inBounds, SInt16 inHorRadius, SInt16 inVerRadius)
Oval / Circle
void StrokeOval (const CP_Rect &inBounds)
void FillOval (const CP_Rect &inBounds)
Setters
void SetAlpha (float inAlpha)
void SetLineWidth (float lineWidth)
void SetLineJoin (CP_E_GraphicsLineJoin inLineJoin)
void SetLineCap (CP_E_GraphicsLineCap inLineCap)
void SetStrokeColor (CP_ARGBColor &inStrokeColor)
void SetFillColor (CP_ARGBColor &inFillColor)
Text
void SetTextRenderingFlags (SInt16 inFlags)
void DrawString (CP_FontSpec &inFontSpec, const CP_String &inText, const CP_Point &inStartPoint)
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)
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

CP_Graphics_ImpfImpClass
CP_E_GraphicsImp fImpClassType

Constructor & Destructor Documentation

CPLAT_Begin_Namespace_CPLAT CP_Graphics::CP_Graphics CP_Canvas inDestCanvas,
bool  inSynchronizeWithPort = true,
CP_E_GraphicsImp  inImpClassType = CP_E_GraphicsImp_PlatformNative
 

Constructor.

Parameters:
inDestCanvas The CP_Canvas object to draw into.
inSynchronizeWithPort A flag to indicate if the coordinate system needs to be synchronized with the underlying OSGraphicsPort. Currently this only effects OSX Quartz drawing.
inImpClassType The underlying graphics engine object to create that handles the actual drawing. If you choose CP_E_GraphicsImp_PlatformNative, then the best available for the underlying OS will be choosen.
Exceptions:
none 

CP_Graphics::~CP_Graphics  )  [virtual]
 

Destructor.

Exceptions:
none 


Member Function Documentation

CP_Graphics_Imp* CP_Graphics::GetImpClass  ) 
 

Returns implementation object that is doing the actual work of this class.

Exceptions:
none 
Returns:
CP_Graphics_Imp The object implementing this class.

void CP_Graphics::SetImpClass CP_Graphics_Imp inImpClass  ) 
 

Sets the implementation object that is doing the actual work of this class.

Parameters:
inImpClass The object implementing this class.
Exceptions:
none 
Returns:
void

float CP_Graphics::GetLineWidth  ) 
 

Returns the current width used in drawing lines.

Exceptions:
none 
Returns:
float The width of drawn lines.

float CP_Graphics::GetAlpha  ) 
 

Returns the current alpha value used when drawing.

Exceptions:
none 
Returns:
float The alpha value used in drawing.

CP_ARGBColor CP_Graphics::GetStrokeColor  ) 
 

Returns the current color used in stroking.

Exceptions:
none 
Returns:
CP_ARGBColor The color used in stroking.

CP_ARGBColor CP_Graphics::GetFillColor  ) 
 

Returns the current color used in filling.

Exceptions:
none 
Returns:
CP_ARGBColor The color used in filling.

void CP_Graphics::SaveState  ) 
 

Saves the current graphics state.

Exceptions:
none 
Returns:
void

void CP_Graphics::RestoreState  ) 
 

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();

Exceptions:
none 
Returns:
void

void CP_Graphics::ScaleCTM float  inHorAmt,
float  inVerAmt
 

Sets the scaling amount to be used in the current transformation matrix.

Parameters:
inHorAmt The horizontal amount to scale.
inVerAmt The vertical amount to scale.
Exceptions:
none 
Returns:
void

void CP_Graphics::RotateCTM float  inAngle  ) 
 

Sets the rotation amount to be used in the current transformation matrix.

Parameters:
inAngle The angle to use in rotation.
Exceptions:
none 
Returns:
void

void CP_Graphics::SkewCTM float  inHorAmt,
float  inVerAmt
 

Sets the skewing amount to be used in the current transformation matrix.

Parameters:
inHorAmt The horizontal amount to skew.
inVerAmt The vertical amount to skew.
Exceptions:
none 
Returns:
void

void CP_Graphics::StrokeArc float  inHorCenter,
float  inVerCenter,
float  inRadius,
float  inStartAngle,
float  inEndAngle
 

Draws an arc using the passed in parameters, and then strokes it, using the current stroke color and stroke line width.

Parameters:
inHorCenter The horizontal center coordinate of the arc.
inVerCenter The vertical center coordinate of the arc.
inRadius The radius of the arc.
inStartAngle The starting angle of the arc.
inEndAngle The ending angle of the arc.
Exceptions:
none 
Returns:
void

void CP_Graphics::FillArc float  inHorCenter,
float  inVerCenter,
float  inRadius,
float  inStartAngle,
float  inEndAngle
 

Draws an arc using the passed in parameters, and then fills it, using the current fill color.

Parameters:
inHorCenter The horizontal center coordinate of the arc.
inVerCenter The vertical center coordinate of the arc.
inRadius The radius of the arc.
inStartAngle The starting angle of the arc.
inEndAngle The ending angle of the arc.
Exceptions:
none 
Returns:
void

void CP_Graphics::StrokeBezier const CP_Point inStartPoint,
const CP_Point inControlPointOne,
const CP_Point inControlPointTwo,
const CP_Point inEndPoint
 

Draws a Bezier curve using the passed in parameters, and then strokes it, using the current stroke color and stroke line width.

Parameters:
inStartPoint The starting point of the curve.
inControlPointOne The first control point curve.
inControlPointTwo The second control point curve.
inEndPoint The ending point of the curve.
Exceptions:
none 
Returns:
void

void CP_Graphics::StrokeQuadBezier const CP_Point inStartPoint,
const CP_Point inControlPointOne,
const CP_Point inEndPoint
 

Draws a Quad Bezier curve using the passed in parameters, and then strokes it, using the current stroke color and stroke line width.

Parameters:
inStartPoint The starting point of the curve.
inControlPointOne The first control point curve.
inEndPoint The ending point of the curve.
Exceptions:
none 
Returns:
void

void CP_Graphics::DrawGradient CP_E_GradientType  inGradientType,
CP_Rect inDestBounds
 

Draws a gradient in the specified bounds. The gradient can be of the following types:

  • CP_E_GradientType_TopToBottom,
  • CP_E_GradientType_BottomToTop,
  • CP_E_GradientType_LeftToRight,
  • CP_E_GradientType_RightToLeft,
  • CP_E_GradientType_Radial,
  • CP_E_GradientType_Sunburst,
  • CP_E_GradientType_InsetSunburst,
  • CP_E_GradientType_Shapeburst,
  • CP_E_GradientType_Angled

Parameters:
inGradientType The type of gradient to draw. See above for acceptable types.
inDestBounds The bounds of the drawn gradient.
Exceptions:
none 
Returns:
void

void CP_Graphics::SetGradientAngle SInt16  inAngle  ) 
 

Sets the angle used to draw the gradient.

Parameters:
inAngle The angle used to draw the gradient.
Exceptions:
none 
Returns:
void

void CP_Graphics::SetGradientColor const SInt16  inIndex,
const CP_ARGBColor inColor
 

Sets one of the colors used to draw the gradient.

Parameters:
inIndex Index where the color is used in drawing.
inColor The color to be used.
Exceptions:
none 
Returns:
void

void CP_Graphics::SetGradientCount SInt16  inGradientCount  ) 
 

Sets the count of the number of colors used in drawing a gradient.

Parameters:
inGradientCount The count of the number of colors to use.
Exceptions:
none 
Returns:
void

void CP_Graphics::Line const CP_Point inStartPoint,
const CP_Point inEndPoint
 

Draws a line from inStartPoint to inEndPoint

Parameters:
inStartPoint Starting point to draw the line.
inEndPoint Ending point for the line.
Exceptions:
none 
Returns:
void

void CP_Graphics::Line float  inStartHorLocation,
float  inStartVerLocation,
float  inEndHorLocation,
float  inEndVerLocation
 

Draws a line from the passed in start location to the ending location.

Parameters:
inStartHorLocation The starting horizontal location.
inStartVerLocation The starting vertical location.
inEndHorLocation The ending horizontal location.
inEndVerLocation The ending vertical location.
Exceptions:
none 
Returns:
void

void CP_Graphics::DrawIcon const CP_Rect inBounds,
CP_E_IconStyle  inIconType,
SInt16  inIconID
 

Draws a icon resource in the passed in bounds. The image will be scaled to fit the rectangle.

Parameters:
inBounds The rectangle to draw the icon in.
inIconType Type type of icon to use.
inIconID Resource ID of the icon to draw.
Exceptions:
none 
Returns:
void

void CP_Graphics::DrawIcon CP_OSIcon inIcon,
const CP_Rect inBounds
 

Draws the CP_OSicon in the passed in bounds. The image will be scaled to fit the rectangle.

Parameters:
inIcon A CP_OSIcon that contains the icon to draw.
inBounds The rectangle to draw the picture in.
Exceptions:
none 
Returns:
void

void CP_Graphics::DrawImage SInt16  inImageResID,
CP_Rect inDestBounds
 

Draws a picture image into the specified area. The image will be scaled to fit into the destination area.

Parameters:
inImageResID Picture resource id.
inDestBounds The area to draw the picture into.
Exceptions:
none 
Returns:
void

void CP_Graphics::DrawImage const CP_FileSystemSpec inImageSpec,
CP_Rect inDestBounds
 

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.

Parameters:
inImageSpec The location of the file containing the image to be displayed.
inDestBounds The area to draw the image into.
Exceptions:
none 
Returns:
void

void CP_Graphics::DrawImage const CP_FileSystemSpec inImageSpec,
CP_Rect inSourceBounds,
CP_Rect inDestBounds
 

Draw the passed in image object in the destination bounds, scaling the image to fit. This versions copies inSourceBounds portion of the image to the destination.

Parameters:
inImageSpec The location of the file containing the image to be displayed.
inSourceBounds The source area of the image to draw.
inDestBounds The area to draw the image into.
Exceptions:
none 
Returns:
void

void CP_Graphics::DrawPicture CP_OSPicture inPicture,
const CP_Rect inBounds
 

Draw the passed in OSPicture in the destination bounds, scaling the image as needed to fit.

Parameters:
inPicture The picture to be drawn.
inBounds The destination area to draw the picture.
Exceptions:
none 
Returns:
void

void CP_Graphics::BeginPath  ) 
 

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();

Exceptions:
none 
Returns:
void

void CP_Graphics::ClosePath  ) 
 

Closes the current path. Every call to ClosePath needs to have a corresponding BeginPath call.

Exceptions:
none 
Returns:
void

void CP_Graphics::StrokePath  ) 
 

Strokes the current path.

Exceptions:
none 
Returns:
void

void CP_Graphics::FillPath  ) 
 

Fills the current path.

Exceptions:
none 
Returns:
void

void CP_Graphics::FillPath CP_Pattern inPattern  ) 
 

Fills the current path with the passed in pattern.

Exceptions:
none 
Returns:
void

void CP_Graphics::DrawPath CP_E_PathDrawingMode  inPathDrawMode  ) 
 

Draws the current path using the passed in path drawing mode, which can be one of the following:

  • CP_E_Graphics_PathFill
  • CP_E_Graphics_PathEOFill
  • CP_E_Graphics_PathStroke
  • CP_E_Graphics_PathFillStroke
  • CP_E_Graphics_PathEOFillStroke

Parameters:
inPathDrawMode The path drawing mode to use.
Exceptions:
none 
Returns:
void

void CP_Graphics::PathMoveTo const CP_Point inPoint  ) 
 

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.

Parameters:
inPoint The location to move to.
Exceptions:
none 
Returns:
void

void CP_Graphics::PathMoveTo float  inHorLocation,
float  inVerLocation
 

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.

Parameters:
inHorLocation The horizontal location to move to.
inVerLocation The vertical location to move to.
Exceptions:
none 
Returns:
void

void CP_Graphics::PathAddLineTo const CP_Point inPoint  ) 
 

Adds a line to our path. The line will be drawn from the current point to the location specified in inPoint.

Parameters:
inPoint The ending location of the line.
Exceptions:
none 
Returns:
void

void CP_Graphics::PathAddLine const CP_Point inStartPoint,
const CP_Point inEndPoint
 

Adds a starting and ending point to the current path.

Parameters:
inStartPoint The starting point to add.
inEndPoint The ending point to add.
Exceptions:
none 
Returns:
void

void CP_Graphics::PathAddLine float  inStartH,
float  inStartV,
float  inEndH,
float  inEndV
 

Adds a line to the current path using the specified coordinates.

Parameters:
inStartH Horizontal starting point.
inStartV Vertical starting point.
inEndH Horizontal ending point.
inEndV Vertical ending point.
Exceptions:
none 
Returns:
void

void CP_Graphics::PathAddLines const CP_Point  inPoint[],
SInt16  inNumberPoints
 

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.

Parameters:
inPoint An array of points.
inNumberPoints The number of points in the above array of points.
Exceptions:
none 
Returns:
void

void CP_Graphics::PathAddRect const CP_Rect inBounds  ) 
 

Adds a rect to the current path.

Parameters:
inBounds The bounds of the rectangle to add.
Exceptions:
none 
Returns:
void

void CP_Graphics::PathAddOval const CP_Rect inBounds  ) 
 

Adds an oval to the current path.

Parameters:
inBounds The bounds of the oval to add.
Exceptions:
none 
Returns:
void

void CP_Graphics::PathAddBezier const CP_Point inStartPoint,
const CP_Point inControlPointOne,
const CP_Point inControlPointTwo,
const CP_Point inEndPoint
 

Adds a bezier curve to the current path.

Parameters:
inStartPoint The starting point of the curve.
inControlPointOne The first control point curve.
inControlPointTwo The second control point curve.
inEndPoint The ending point of the curve.
Exceptions:
none 
Returns:
void

void CP_Graphics::PathAddQuadBezier const CP_Point inStartPoint,
const CP_Point inControlPointOne,
const CP_Point inEndPoint
 

Adds a quadratic bezier curve to the current path.

Parameters:
inStartPoint The starting point of the curve.
inControlPointOne The first control point curve.
inEndPoint The ending point of the curve.
Exceptions:
none 
Returns:
void

void CP_Graphics::PathAddPoly CP_Point_Array inPoints  ) 
 

Adds a polygon to the current path as specified in the passed in points array.

Parameters:
inPoints An array of points to draw the polygon.
Exceptions:
none 
Returns:
void

void CP_Graphics::PathAddArc float  inHorCenter,
float  inVerCenter,
float  inRadius,
float  inStartAngle,
float  inEndAngle,
SInt16  inClockwise
 

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.

Parameters:
inHorCenter The horizontal center coordinate of the arc.
inVerCenter The vertical center coordinate of the arc.
inRadius The radius of the arc.
inStartAngle The starting angle of the arc.
inEndAngle The ending angle of the arc.
inClockwise Flag to indicate if the arc is drawn clockwise or counter clockwise.
Exceptions:
none 
Returns:
void

void CP_Graphics::ClipPath  ) 
 

Sets the clipping path of the canvas being drawn into to that of the current path.

Exceptions:
none 
Returns:
void

void CP_Graphics::StrokePoly CP_Point_Array inPoints  ) 
 

Draws the polygon specified by the passed in points array, then strokes it.

Parameters:
inPoints Points of the polygon to be drawn.
Exceptions:
none 
Returns:
void

void CP_Graphics::FillPoly CP_Point_Array inPoints  ) 
 

Draws the polygon specified by the passed in points array, and fills it.

Parameters:
inPoints Points of the polygon to be drawn.
Exceptions:
none 
Returns:
void

void CP_Graphics::StrokeRect const CP_Rect inBounds  ) 
 

Draws a rect specified by the passed in bounds, then strokes it.

Parameters:
inBounds Area of the rect to be drawn.
Exceptions:
none 
Returns:
void

void CP_Graphics::EraseRect const CP_Rect inBounds  ) 
 

Erases the passed in rect using the canvases current background color.

Parameters:
inBounds The rectangle to erase.
Exceptions:
none 
Returns:
void

void CP_Graphics::FillRect const CP_Rect inBounds  ) 
 

Draws a rect specified by the passed in bounds, then fills it.

Parameters:
inBounds Area of the rect to be drawn.
Exceptions:
none 
Returns:
void

void CP_Graphics::StrokeRegion const CP_Region inRegion  ) 
 

Draws a region specified by the passed in region, then strokes it.

Parameters:
inRegion Region to be drawn.
Exceptions:
none 
Returns:
void

void CP_Graphics::FillRegion const CP_Region inRegion  ) 
 

Draws a region specified by the passed in region, then fills it.

Parameters:
inRegion Region to be drawn.
Exceptions:
none 
Returns:
void

void CP_Graphics::StrokeRoundRect const CP_Rect inBounds,
SInt16  inHorRadius,
SInt16  inVerRadius
 

Draws a rounded rect specified by the passed in rect, then strokes it.

Parameters:
inBounds The bounds of the rect to be drawn.
inHorRadius Horizontal radius of the corners.
inVerRadius Vertical radius of the corners.
Exceptions:
none 
Returns:
void

void CP_Graphics::FillRoundRect const CP_Rect inBounds,
SInt16  inHorRadius,
SInt16  inVerRadius
 

Draws a rounded rect specified by the passed in rect, then fills it.

Parameters:
inBounds The bounds of the rect to be drawn.
inHorRadius Horizontal radius of the corners.
inVerRadius Vertical radius of the corners.
Exceptions:
none 
Returns:
void

void CP_Graphics::StrokeOval const CP_Rect inBounds  ) 
 

Draws an oval specified by the passed in rect, then strokes it.

Parameters:
inBounds The bounds of the oval to be drawn.
Exceptions:
none 
Returns:
void

void CP_Graphics::FillOval const CP_Rect inBounds  ) 
 

Draws an oval specified by the passed in rect, then fills it.

Parameters:
inBounds The bounds of the oval to be drawn.
Exceptions:
none 
Returns:
void

void CP_Graphics::SetAlpha float  inAlpha  ) 
 

Sets the alpha value used when drawing.

Parameters:
inAlpha The alpha value used in drawing.
Exceptions:
none 
Returns:
void

void CP_Graphics::SetLineWidth float  inLineWidth  ) 
 

Sets the line width used in stroking.

Parameters:
inLineWidth The line width used in drawing.
Exceptions:
none 
Returns:
void

void CP_Graphics::SetLineJoin CP_E_GraphicsLineJoin  inLineJoin  ) 
 

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:

  • CP_E_GraphicsLineJoin_Miter
  • CP_E_GraphicsLineJoin_Round
  • CP_E_GraphicsLineJoin_JoinBevel

Parameters:
inLineJoint The way that the lines will join when drawn.
Exceptions:
none 
Returns:
void

void CP_Graphics::SetLineCap CP_E_GraphicsLineCap  inLineCap  ) 
 

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:

  • CP_E_GraphicsLineCap_Butt,
  • CP_E_GraphicsLineCap_Round,
  • CP_E_GraphicsLineCap_Square

Parameters:
inLineCap The way that the line ends are drawn.
Exceptions:
none 
Returns:
void

void CP_Graphics::SetStrokeColor CP_ARGBColor inStrokeColor  ) 
 

Sets the color used in stroking objects.

Parameters:
inStrokeColor The color used in stroking objects.
Exceptions:
none 
Returns:
void

void CP_Graphics::SetFillColor CP_ARGBColor inFillColor  ) 
 

Sets the color used in filling objects.

Parameters:
inStrokeColor The color used in filling objects.
Exceptions:
none 
Returns:
void

void CP_Graphics::SetTextRenderingFlags SInt16  inFlags  ) 
 

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.

Parameters:
inFlags The flags to set.
Exceptions:
none 
Returns:
void

void CP_Graphics::DrawString CP_FontSpec inFontSpec,
const CP_String inText,
const CP_Point inStartPoint
 

Draws the passed in text at the locatio specified. The text will not be wrapped.

Parameters:
inFontSpec FontSpec object that describes the font and justification of the text.
inText The text to be drawn.
inStartPoint The starting point to draw the text.
Exceptions:
none 
Returns:
void

void CP_Graphics::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
 

Draws the passed in text at the location specified. The text will be wrapped to fit in the passed in bounds.

Parameters:
inFontSpec FontSpec object that describes the font and justification of the text.
inText The text to be drawn.
inBounds The bounds to draw the text in.
inHorAlign The horizontal alignment of the text. It should be one of the following:
  • CP_E_TextAlign_HorLeft
  • CP_E_TextAlign_HorCenter
  • CP_E_TextAlign_HorRight
inVerAlign The vertical alignment of the text. It should be one of the following:
  • CP_E_TextAlign_VerTop
  • CP_E_TextAlign_VerMiddle
  • CP_E_TextAlign_VerBottom
inWrapText If true, then the text is wrapped at the right edge of the passed in bounds.
Exceptions:
none 
Returns:
void

void CP_Graphics::DrawTrunc CP_FontSpec inFontSpec,
const CP_String inText,
const CP_Rect inBounds,
SInt16  inHorAlign = CP_E_TextAlign_HorLeft,
SInt16  inVerAlign = CP_E_TextAlign_VerTop
 

Draws the passed in text at the locatio specified. The text will be truncated to fit in the passed in bounds.

Parameters:
inFontSpec FontSpec object that describes the font and justification of the text.
inText The text to be drawn.
inBounds The bounds to draw the text in.
inHorAlign The horizontal alignment of the text. It should be one of the following:
  • CP_E_TextAlign_HorLeft
  • CP_E_TextAlign_HorCenter
  • CP_E_TextAlign_HorRight
inVerAlign The vertical alignment of the text. It should be one of the following:
  • CP_E_TextAlign_VerTop
  • CP_E_TextAlign_VerMiddle
  • CP_E_TextAlign_VerBottom
Exceptions:
none 
Returns:
void


Member Data Documentation

CP_Graphics_Imp* CP_Graphics::fImpClass [protected]
 

CP_E_GraphicsImp CP_Graphics::fImpClassType [protected]
 

The object that is implementing these functions.


The documentation for this class was generated from the following files:
Generated on Sat Sep 17 20:01:42 2005 for CPLAT by  doxygen 1.4.0