/**
@class wxGraphicsPath
- @wxheader{graphics.h}
- A wxGraphicsPath is a native representation of an geometric path. The contents
- are specific an private to the respective renderer. Instances are ref counted and can
- therefore be assigned as usual. The only way to get a valid instance is via a
- CreatePath call on the graphics context or the renderer instance.
+ A wxGraphicsPath is a native representation of a geometric path. The
+ contents are specific an private to the respective renderer. Instances are
+ reference counted and can therefore be assigned as usual. The only way to
+ get a valid instance is by using wxGraphicsContext::CreatePath() or
+ wxGraphicsRenderer::CreatePath().
@library{wxcore}
- @category{FIXME}
+ @category{gdi}
*/
class wxGraphicsPath : public wxGraphicsObject
{
public:
- //@{
/**
-
+ Adds an arc of a circle centering at (@a x,@a y) with radius (@a r)
+ from @a startAngle to @a endAngle.
+ */
+ virtual void AddArc(wxDouble x, wxDouble y, wxDouble r,
+ wxDouble startAngle, wxDouble endAngle,
+ bool clockwise);
+ /**
+ Adds an arc of a circle centering at @a c with radius (@a r)
+ from @a startAngle to @a endAngle.
*/
- void AddArc(wxDouble x, wxDouble y, wxDouble r,
- wxDouble startAngle,
- wxDouble endAngle, bool clockwise);
void AddArc(const wxPoint2DDouble& c, wxDouble r,
- wxDouble startAngle,
- wxDouble endAngle,
- bool clockwise);
- //@}
+ wxDouble startAngle, wxDouble endAngle, bool clockwise);
/**
- Appends a an arc to two tangents connecting (current) to (x1,y1) and (x1,y1) to
- (x2,y2), also a straight line from (current) to (x1,y1).
+ Appends a an arc to two tangents connecting (current) to (@a x1,@a y1)
+ and (@a x1,@a y1) to (@a x2,@a y2), also a straight line from (current)
+ to (@a x1,@a y1).
*/
- void AddArcToPoint(wxDouble x1, wxDouble y1, wxDouble x2,
- wxDouble y2,
- wxDouble r);
+ virtual void AddArcToPoint(wxDouble x1, wxDouble y1, wxDouble x2,
+ wxDouble y2, wxDouble r);
/**
- Appends a circle around (x,y) with radius r as a new closed subpath.
+ Appends a circle around (@a x,@a y) with radius @a r as a new closed
+ subpath.
*/
- void AddCircle(wxDouble x, wxDouble y, wxDouble r);
+ virtual void AddCircle(wxDouble x, wxDouble y, wxDouble r);
- //@{
/**
-
+ Adds a cubic bezier curve from the current point, using two control
+ points and an end point.
+ */
+ virtual void AddCurveToPoint(wxDouble cx1, wxDouble cy1,
+ wxDouble cx2, wxDouble cy2,
+ wxDouble x, wxDouble y);
+ /**
+ Adds a cubic bezier curve from the current point, using two control
+ points and an end point.
*/
- void AddCurveToPoint(wxDouble cx1, wxDouble cy1, wxDouble cx2,
- wxDouble cy2,
- wxDouble x,
- wxDouble y);
void AddCurveToPoint(const wxPoint2DDouble& c1,
const wxPoint2DDouble& c2,
const wxPoint2DDouble& e);
- //@}
/**
Appends an ellipse fitting into the passed in rectangle.
*/
- void AddEllipse(wxDouble x, wxDouble y, wxDouble w, wxDouble h);
+ virtual void AddEllipse(wxDouble x, wxDouble y, wxDouble w, wxDouble h);
- //@{
/**
-
+ Adds a straight line from the current point to (@a x,@a y).
+ */
+ virtual void AddLineToPoint(wxDouble x, wxDouble y);
+ /**
+ Adds a straight line from the current point to @a p.
*/
- void AddLineToPoint(wxDouble x, wxDouble y);
void AddLineToPoint(const wxPoint2DDouble& p);
- //@}
/**
Adds another path.
*/
- void AddPath(const wxGraphicsPath& path);
+ virtual void AddPath(const wxGraphicsPath& path);
/**
- Adds a quadratic Bezier curve from the current point, using a control point and
- an end point.
+ Adds a quadratic bezier curve from the current point, using a control
+ point and an end point.
*/
- void AddQuadCurveToPoint(wxDouble cx, wxDouble cy, wxDouble x,
- wxDouble y);
+ virtual void AddQuadCurveToPoint(wxDouble cx, wxDouble cy,
+ wxDouble x, wxDouble y);
/**
Appends a rectangle as a new closed subpath.
*/
- void AddRectangle(wxDouble x, wxDouble y, wxDouble w, wxDouble h);
+ virtual void AddRectangle(wxDouble x, wxDouble y, wxDouble w, wxDouble h);
/**
Appends a rounded rectangle as a new closed subpath.
*/
- void AddRoundedRectangle(wxDouble x, wxDouble y, wxDouble w,
- wxDouble h,
- wxDouble radius);
+ virtual void AddRoundedRectangle(wxDouble x, wxDouble y, wxDouble w,
+ wxDouble h, wxDouble radius);
/**
Closes the current sub-path.
*/
- void CloseSubpath();
+ virtual void CloseSubpath();
- //@{
/**
- Returns @true if the point is within the path.
+ @return @true if the point is within the path.
*/
bool Contains(const wxPoint2DDouble& c,
int fillStyle = wxODDEVEN_RULE) const;
- const bool Contains(wxDouble x, wxDouble y,
- int fillStyle = wxODDEVEN_RULE) const;
- //@}
+ /**
+ @return @true if the point is within the path.
+ */
+ virtual bool Contains(wxDouble x, wxDouble y,
+ int fillStyle = wxODDEVEN_RULE) const;
- //@{
/**
- Gets the bounding box enclosing all points (possibly including control points).
+ Gets the bounding box enclosing all points (possibly including control
+ points).
*/
wxRect2DDouble GetBox() const;
- const void GetBox(wxDouble* x, wxDouble* y, wxDouble* w,
- wxDouble* h) const;
- //@}
+ /**
+ Gets the bounding box enclosing all points (possibly including control
+ points).
+ */
+ virtual void GetBox(wxDouble* x, wxDouble* y,
+ wxDouble* w, wxDouble* h) const;
- //@{
/**
Gets the last point of the current path, (0,0) if not yet set.
*/
- void GetCurrentPoint(wxDouble* x, wxDouble* y) const;
- const wxPoint2DDouble GetCurrentPoint() const;
- //@}
+ virtual void GetCurrentPoint(wxDouble* x, wxDouble* y) const;
+ /**
+ Gets the last point of the current path, (0,0) if not yet set.
+ */
+ wxPoint2DDouble GetCurrentPoint() const;
/**
- Returns the native path (CGPathRef for Core Graphics, Path pointer for GDIPlus
- and a cairo_path_t pointer for cairo).
+ Returns the native path (CGPathRef for Core Graphics, Path pointer for
+ GDIPlus and a cairo_path_t pointer for cairo).
*/
- void* GetNativePath() const;
+ virtual void* GetNativePath() const;
- //@{
/**
- Begins a new subpath at (x,y)
+ Begins a new subpath at (@a x,@a y).
+ */
+ virtual void MoveToPoint(wxDouble x, wxDouble y);
+ /**
+ Begins a new subpath at @a p.
*/
- void MoveToPoint(wxDouble x, wxDouble y);
void MoveToPoint(const wxPoint2DDouble& p);
- //@}
/**
Transforms each point of this path by the matrix.
*/
- void Transform(const wxGraphicsMatrix& matrix);
+ virtual void Transform(const wxGraphicsMatrix& matrix);
/**
- Gives back the native path returned by GetNativePath() because there might be
- some deallocations necessary (eg on cairo the native path returned by
- GetNativePath is newly allocated each time).
+ Gives back the native path returned by GetNativePath() because there
+ might be some deallocations necessary (e.g. on cairo the native path
+ returned by GetNativePath() is newly allocated each time).
*/
- void UnGetNativePath(void* p) const;
+ virtual void UnGetNativePath(void* p) const;
};
/**
@class wxGraphicsObject
- @wxheader{graphics.h}
This class is the superclass of native graphics objects like pens etc. It
allows reference counting. Not instantiated by user code.
@library{wxcore}
- @category{FIXME}
+ @category{gdi}
@see wxGraphicsBrush, wxGraphicsPen, wxGraphicsMatrix, wxGraphicsPath
*/
{
public:
/**
- Returns the renderer that was used to create this instance, or @NULL if it has
- not been initialized yet
+ Returns the renderer that was used to create this instance, or @NULL
+ if it has not been initialized yet.
*/
wxGraphicsRenderer* GetRenderer() const;
/**
- Is this object valid (@false) or still empty (@true)?
+ @return @false if this object is valid, otherwise returns @true.
*/
bool IsNull() const;
};
/**
@class wxGraphicsContext
- @wxheader{graphics.h}
A wxGraphicsContext instance is the object that is drawn upon. It is created by
a renderer using wxGraphicsRenderer::CreateContext(). This can be either directly
{
// Create paint DC
wxPaintDC dc(this);
-
+
// Create graphics context from it
wxGraphicsContext *gc = wxGraphicsContext::Create( dc );
-
+
if (gc)
{
// make a path that contains a circle and some lines
path.AddLineToPoint(50.0, 100.0 );
path.CloseSubpath();
path.AddRectangle(25.0, 25.0, 50.0, 50.0);
-
+
gc->StrokePath(path);
-
+
delete gc;
}
}
@library{wxcore}
- @category{FIXME}
+ @category{gdi,dc}
@see wxGraphicsRenderer::CreateContext(), wxGCDC, wxDC
*/
@see wxGraphicsRenderer::CreateContext()
*/
static wxGraphicsContext* Create( wxWindow* window ) ;
-
+
/**
Creates a wxGraphicsContext from a wxWindowDC
@see wxGraphicsRenderer::CreateContext()
*/
static wxGraphicsContext* Create( const wxWindowDC& dc) ;
-
+
/**
Creates a wxGraphicsContext from a wxMemoryDC
@see wxGraphicsRenderer::CreateContext()
*/
static wxGraphicsContext * Create( const wxMemoryDC& dc) ;
-
+
/**
Creates a wxGraphicsContext from a wxPrinterDC. Under
GTK+, this will only work when using the GtkPrint
/**
Clips drawings to the region
*/
- void Clip(const wxRegion& region);
+ virtual void Clip(const wxRegion& region) = 0;
/**
Clips drawings to the rectangle.
*/
- void Clip(wxDouble x, wxDouble y, wxDouble w, wxDouble h);
+ virtual void Clip(wxDouble x, wxDouble y, wxDouble w, wxDouble h) = 0;
/**
Concatenates the passed in transform with the current transform of this context
*/
- void ConcatTransform(const wxGraphicsMatrix& matrix);
+ virtual void ConcatTransform(const wxGraphicsMatrix& matrix) = 0;
/**
Creates a native brush from a wxBrush.
*/
- wxGraphicsBrush CreateBrush(const wxBrush& brush) const;
+ virtual wxGraphicsBrush CreateBrush(const wxBrush& brush) const;
/**
Creates a native graphics font from a wxFont and a text colour.
*/
- wxGraphicsFont CreateFont(const wxFont& font,
- const wxColour& col = wxBLACK) const;
+ virtual wxGraphicsFont CreateFont(const wxFont& font,
+ const wxColour& col = *wxBLACK) const;
/**
Creates a wxGraphicsContext from a native context. This native context must be
@see wxGraphicsRenderer:: CreateContextFromNativeContext
*/
- wxGraphicsContext* CreateFromNative(void* context);
+ static wxGraphicsContext* CreateFromNative(void* context);
/**
Creates a wxGraphicsContext from a native window.
@see wxGraphicsRenderer:: CreateContextFromNativeWindow
*/
- wxGraphicsContext* CreateFromNativeWindow(void* window);
+ static wxGraphicsContext* CreateFromNativeWindow(void* window);
/**
Creates a native brush, having a linear gradient, starting at (x1,y1) with
color c1 to (x2,y2) with color c2
*/
- wxGraphicsBrush CreateLinearGradientBrush(wxDouble x1,
- wxDouble y1,
- wxDouble x2,
- wxDouble y2,
- const wxColouramp;c1,
- const wxColouramp;c2) const;
+ virtual wxGraphicsBrush CreateLinearGradientBrush(wxDouble x1,
+ wxDouble y1,
+ wxDouble x2,
+ wxDouble y2,
+ const wxColour& c1,
+ const wxColour& c2) const;
/**
Creates a native affine transformation matrix from the passed in values. The
defaults result in an identity matrix.
*/
- wxGraphicsMatrix CreateMatrix(wxDouble a = 1.0, wxDouble b = 0.0,
- wxDouble c = 0.0,
- wxDouble d = 1.0,
- wxDouble tx = 0.0,
- wxDouble ty = 0.0) const;
+ virtual wxGraphicsMatrix CreateMatrix(wxDouble a = 1.0, wxDouble b = 0.0,
+ wxDouble c = 0.0, wxDouble d = 1.0,
+ wxDouble tx = 0.0,
+ wxDouble ty = 0.0) const;
/**
Creates a native graphics path which is initially empty.
/**
Creates a native pen from a wxPen.
*/
- wxGraphicsPen CreatePen(const wxPen& pen) const;
+ virtual wxGraphicsPen CreatePen(const wxPen& pen) const;
/**
Creates a native brush, having a radial gradient originating at (xo,yc) with
color oColour and ends on a circle around (xc,yc) with radius r and color cColour
*/
- wxGraphicsBrush CreateRadialGradientBrush(wxDouble xo,
- wxDouble yo,
- wxDouble xc,
- wxDouble yc,
- wxDouble radius,
- const wxColour& oColor,
- const wxColour& cColor) const;
+ virtual wxGraphicsBrush CreateRadialGradientBrush(wxDouble xo, wxDouble yo,
+ wxDouble xc, wxDouble yc,
+ wxDouble radius,
+ const wxColour& oColor,
+ const wxColour& cColor) const;
/**
Draws the bitmap. In case of a mono bitmap, this is treated as a mask and the
current brushed is used for filling.
*/
- void DrawBitmap(const wxBitmap& bmp, wxDouble x, wxDouble y,
- wxDouble w, wxDouble h);
+ virtual void DrawBitmap(const wxBitmap& bmp, wxDouble x, wxDouble y,
+ wxDouble w, wxDouble h) = 0;
/**
Draws an ellipse.
*/
- void DrawEllipse(wxDouble x, wxDouble y, wxDouble w, wxDouble h);
+ virtual void DrawEllipse(wxDouble x, wxDouble y, wxDouble w, wxDouble h);
/**
Draws the icon.
*/
- void DrawIcon(const wxIcon& icon, wxDouble x, wxDouble y,
- wxDouble w, wxDouble h);
+ virtual void DrawIcon(const wxIcon& icon, wxDouble x, wxDouble y,
+ wxDouble w, wxDouble h) = 0;
/**
Draws a polygon.
*/
- void DrawLines(size_t n, const wxPoint2DDouble* points,
- int fillStyle = wxODDEVEN_RULE);
+ virtual void DrawLines(size_t n, const wxPoint2DDouble* points,
+ int fillStyle = wxODDEVEN_RULE);
/**
Draws the path by first filling and then stroking.
*/
- void DrawPath(const wxGraphicsPath& path,
- int fillStyle = wxODDEVEN_RULE);
+ virtual void DrawPath(const wxGraphicsPath& path,
+ int fillStyle = wxODDEVEN_RULE);
/**
Draws a rectangle.
*/
- void DrawRectangle(wxDouble x, wxDouble y, wxDouble w,
- wxDouble h);
+ virtual void DrawRectangle(wxDouble x, wxDouble y, wxDouble w, wxDouble h);
/**
Draws a rounded rectangle.
*/
- void DrawRoundedRectangle(wxDouble x, wxDouble y, wxDouble w,
- wxDouble h,
- wxDouble radius);
+ virtual void DrawRoundedRectangle(wxDouble x, wxDouble y, wxDouble w,
+ wxDouble h, wxDouble radius);
//@{
/**
/**
Fills the path with the current brush.
*/
- void FillPath(const wxGraphicsPath& path,
- int fillStyle = wxODDEVEN_RULE);
+ virtual void FillPath(const wxGraphicsPath& path,
+ int fillStyle = wxODDEVEN_RULE) = 0;
/**
Returns the native context (CGContextRef for Core Graphics, Graphics pointer
for GDIPlus and cairo_t pointer for cairo).
*/
- void* GetNativeContext();
+ virtual void* GetNativeContext() = 0;
/**
Fills the @a widths array with the widths from the beginning of
@a text to the corresponding character of @e text.
*/
- void GetPartialTextExtents(const wxString& text,
- wxArrayDouble& widths) const;
+ virtual void GetPartialTextExtents(const wxString& text,
+ wxArrayDouble& widths) const = 0;
/**
Gets the dimensions of the string using the currently selected font.
descender, and @a externalLeading is any extra vertical space added
to the font by the font designer (usually is zero).
*/
- void GetTextExtent(const wxString& text, wxDouble* width,
- wxDouble* height,
- wxDouble* descent,
- wxDouble* externalLeading) const;
+ virtual void GetTextExtent(const wxString& text, wxDouble* width,
+ wxDouble* height, wxDouble* descent,
+ wxDouble* externalLeading) const = 0;
/**
Gets the current transformation matrix of this context.
*/
- wxGraphicsMatrix GetTransform() const;
+ virtual wxGraphicsMatrix GetTransform() const = 0;
/**
Resets the clipping to original shape.
*/
- void ResetClip();
+ virtual void ResetClip() = 0;
/**
Rotates the current transformation matrix (radians),
*/
- void Rotate(wxDouble angle);
+ virtual void Rotate(wxDouble angle) = 0;
/**
Scales the current transformation matrix.
*/
- void Scale(wxDouble xScale, wxDouble yScale);
+ virtual void Scale(wxDouble xScale, wxDouble yScale) = 0;
//@{
/**
/**
Sets the current transformation matrix of this context
*/
- void SetTransform(const wxGraphicsMatrix& matrix);
+ virtual void SetTransform(const wxGraphicsMatrix& matrix) = 0;
/**
Strokes a single line.
*/
- void StrokeLine(wxDouble x1, wxDouble y1, wxDouble x2,
- wxDouble y2);
+ virtual void StrokeLine(wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2);
//@{
/**
/**
Strokes along a path with the current pen.
*/
- void StrokePath(const wxGraphicsPath& path);
+ virtual void StrokePath(const wxGraphicsPath& path) = 0;
/**
Translates the current transformation matrix.
*/
- void Translate(wxDouble dx, wxDouble dy);
+ virtual void Translate(wxDouble dx, wxDouble dy) = 0;
};
/**
@class wxGraphicsRenderer
- @wxheader{graphics.h}
A wxGraphicsRenderer is the instance corresponding to the rendering engine
used. There may be multiple instances on a system, if there are different
Creates a wxGraphicsContext from a wxWindow.
*/
virtual wxGraphicsContext* CreateContext(wxWindow* window) = 0;
-
+
/**
Creates a wxGraphicsContext from a wxWindowDC
*/
virtual wxGraphicsContext * CreateContext( const wxWindowDC& dc) = 0 ;
-
+
/**
Creates a wxGraphicsContext from a wxMemoryDC
*/
virtual wxGraphicsContext * CreateContext( const wxMemoryDC& dc) = 0 ;
-
+
/**
Creates a wxGraphicsContext from a wxPrinterDC
*/
/**
Creates a native brush from a wxBrush.
*/
- wxGraphicsBrush CreateBrush(const wxBrush& brush);
+ virtual wxGraphicsBrush CreateBrush(const wxBrush& brush) = 0;
/**
eg a CGContextRef for Core Graphics, a Graphics pointer for GDIPlus or a cairo_t
pointer for cairo.
*/
- wxGraphicsContext* CreateContextFromNativeContext(void* context);
+ virtual wxGraphicsContext* CreateContextFromNativeContext(void* context) = 0;
/**
Creates a wxGraphicsContext from a native window.
*/
- wxGraphicsContext* CreateContextFromNativeWindow(void* window);
+ virtual wxGraphicsContext* CreateContextFromNativeWindow(void* window) = 0;
/**
Creates a native graphics font from a wxFont and a text colour.
*/
- wxGraphicsFont CreateFont(const wxFont& font,
- const wxColour& col = wxBLACK);
+ virtual wxGraphicsFont CreateFont(const wxFont& font,
+ const wxColour& col = *wxBLACK) = 0;
/**
Creates a native brush, having a linear gradient, starting at (x1,y1) with
color c1 to (x2,y2) with color c2
*/
wxGraphicsBrush CreateLinearGradientBrush(wxDouble x1,
- wxDouble y1,
- wxDouble x2,
- wxDouble y2,
- const wxColouramp;c1,
- const wxColouramp;c2);
+ wxDouble y1,
+ wxDouble x2,
+ wxDouble y2,
+ const wxColour& c1,
+ const wxColour& c2) = 0;
/**
Creates a native affine transformation matrix from the passed in values. The
defaults result in an identity matrix.
*/
- wxGraphicsMatrix CreateMatrix(wxDouble a = 1.0, wxDouble b = 0.0,
- wxDouble c = 0.0,
- wxDouble d = 1.0,
- wxDouble tx = 0.0,
- wxDouble ty = 0.0);
+ virtual wxGraphicsMatrix CreateMatrix(wxDouble a = 1.0, wxDouble b = 0.0,
+ wxDouble c = 0.0, wxDouble d = 1.0,
+ wxDouble tx = 0.0,
+ wxDouble ty = 0.0) = 0;
/**
Creates a native graphics path which is initially empty.
*/
- wxGraphicsPath CreatePath();
+ virtual wxGraphicsPath CreatePath() = 0;
/**
Creates a native pen from a wxPen.
*/
- wxGraphicsPen CreatePen(const wxPen& pen);
+ virtual wxGraphicsPen CreatePen(const wxPen& pen) = 0;
/**
Creates a native brush, having a radial gradient originating at (xo,yc) with
color oColour and ends on a circle around (xc,yc) with radius r and color cColour
*/
- wxGraphicsBrush CreateRadialGradientBrush(wxDouble xo,
- wxDouble yo,
- wxDouble xc,
- wxDouble yc,
- wxDouble radius,
- const wxColour& oColour,
- const wxColour& cColour);
+ virtual wxGraphicsBrush CreateRadialGradientBrush(wxDouble xo, wxDouble yo,
+ wxDouble xc, wxDouble yc,
+ wxDouble radius,
+ const wxColour& oColour,
+ const wxColour& cColour) = 0;
/**
Returns the default renderer on this platform. On OS X this is the Core
/**
@class wxGraphicsBrush
- @wxheader{graphics.h}
+ A wxGraphicsBrush is a native representation of a brush. The contents
+ are specific and private to the respective renderer. Instances are ref counted and can
+ therefore be assigned as usual. The only way to get a valid instance is via
+ wxGraphicsContext::CreateBrush or wxGraphicsRenderer::CreateBrush.
@library{wxcore}
@category{FIXME}
/**
@class wxGraphicsFont
- @wxheader{graphics.h}
+ A wxGraphicsFont is a native representation of a font. The contents
+ are specific and private to the respective renderer. Instances are ref counted and can
+ therefore be assigned as usual. The only way to get a valid instance is via
+ wxGraphicsContext::CreateFont or wxGraphicsRenderer::CreateFont.
@library{wxcore}
@category{FIXME}
/**
@class wxGraphicsPen
- @wxheader{graphics.h}
+ A wxGraphicsPen is a native representation of a pen. The contents
+ are specific and private to the respective renderer. Instances are ref counted and can
+ therefore be assigned as usual. The only way to get a valid instance is via
+ wxGraphicsContext::CreatePen or wxGraphicsRenderer::CreatePen.
@library{wxcore}
@category{FIXME}
/**
@class wxGraphicsMatrix
- @wxheader{graphics.h}
A wxGraphicsMatrix is a native representation of an affine matrix. The contents
- are specific and private to the respective renderer. Instances are ref counted and can therefore be assigned as usual. The only way to get a valid instance is via a CreateMatrix call on the graphics context or the renderer instance.
+ are specific and private to the respective renderer. Instances are ref counted and can
+ therefore be assigned as usual. The only way to get a valid instance is via
+ wxGraphicsContext::CreateMatrix or wxGraphicsRenderer::CreateMatrix.
@library{wxcore}
@category{FIXME}
/**
Returns the component values of the matrix via the argument pointers.
*/
- void Get(wxDouble* a = NULL, wxDouble* b = NULL, wxDouble* c = NULL,
- wxDouble* d = NULL, wxDouble* tx = NULL,
- wxDouble* ty = NULL) const;
+ virtual void Get(wxDouble* a = NULL, wxDouble* b = NULL, wxDouble* c = NULL,
+ wxDouble* d = NULL, wxDouble* tx = NULL,
+ wxDouble* ty = NULL) const;
/**
Returns the native representation of the matrix. For CoreGraphics this is a
CFAffineMatrix pointer. For GDIPlus a Matrix Pointer and for Cairo a cairo_matrix_t pointer.
*/
- void* GetNativeMatrix() const;
+ virtual void* GetNativeMatrix() const;
/**
Inverts the matrix.
*/
- void Invert();
+ virtual void Invert();
/**
Returns @true if the elements of the transformation matrix are equal.
/**
Return @true if this is the identity matrix.
*/
- bool IsIdentity() const;
+ virtual bool IsIdentity() const;
/**
Rotates this matrix (radians).
*/
- void Rotate(wxDouble angle);
+ virtual void Rotate(wxDouble angle);
/**
Scales this matrix.
*/
- void Scale(wxDouble xScale, wxDouble yScale);
+ virtual void Scale(wxDouble xScale, wxDouble yScale);
/**
Sets the matrix to the respective values (default values are the identity
matrix)
*/
- void Set(wxDouble a = 1.0, wxDouble b = 0.0, wxDouble c = 0.0,
- wxDouble d = 1.0, wxDouble tx = 0.0,
- wxDouble ty = 0.0);
+ virtual void Set(wxDouble a = 1.0, wxDouble b = 0.0, wxDouble c = 0.0,
+ wxDouble d = 1.0, wxDouble tx = 0.0, wxDouble ty = 0.0);
/**
Applies this matrix to a distance (ie. performs all transforms except
translations)
*/
- void TransformDistance(wxDouble* dx, wxDouble* dy) const;
+ virtual void TransformDistance(wxDouble* dx, wxDouble* dy) const;
/**
Applies this matrix to a point.
*/
- void TransformPoint(wxDouble* x, wxDouble* y) const;
+ virtual void TransformPoint(wxDouble* x, wxDouble* y) const;
/**
Translates this matrix.
*/
- void Translate(wxDouble dx, wxDouble dy);
+ virtual void Translate(wxDouble dx, wxDouble dy);
};
-