Reviewed and cleaned up the rest of the graphics.h interface header.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56919 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Bryan Petty
2008-11-22 23:03:28 +00:00
parent bb24d7088d
commit 9cc4ab8522

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// Name: graphics.h // Name: graphics.h
// Purpose: interface of wxGraphicsPath // Purpose: interface of various wxGraphics* classes
// Author: wxWidgets team // Author: wxWidgets team
// RCS-ID: $Id$ // RCS-ID: $Id$
// Licence: wxWindows license // Licence: wxWindows license
@@ -199,10 +199,11 @@ public:
/** /**
@class wxGraphicsContext @class wxGraphicsContext
A wxGraphicsContext instance is the object that is drawn upon. It is created by A wxGraphicsContext instance is the object that is drawn upon. It is
a renderer using wxGraphicsRenderer::CreateContext(). This can be either directly created by a renderer using wxGraphicsRenderer::CreateContext(). This can
using a renderer instance, or indirectly using the static convenience Create() be either directly using a renderer instance, or indirectly using the
functions of wxGraphicsContext that always delegate the task to the default renderer. static convenience Create() functions of wxGraphicsContext that always
delegate the task to the default renderer.
@code @code
void MyCanvas::OnPaint(wxPaintEvent &event) void MyCanvas::OnPaint(wxPaintEvent &event)
@@ -233,7 +234,6 @@ public:
} }
@endcode @endcode
@library{wxcore} @library{wxcore}
@category{gdi,dc} @category{gdi,dc}
@@ -247,47 +247,47 @@ public:
@see wxGraphicsRenderer::CreateContext() @see wxGraphicsRenderer::CreateContext()
*/ */
static wxGraphicsContext* Create( wxWindow* window ) ; static wxGraphicsContext* Create(wxWindow* window);
/** /**
Creates a wxGraphicsContext from a wxWindowDC Creates a wxGraphicsContext from a wxWindowDC
@see wxGraphicsRenderer::CreateContext() @see wxGraphicsRenderer::CreateContext()
*/ */
static wxGraphicsContext* Create( const wxWindowDC& dc) ; static wxGraphicsContext* Create(const wxWindowDC& dc);
/** /**
Creates a wxGraphicsContext from a wxMemoryDC Creates a wxGraphicsContext from a wxMemoryDC
@see wxGraphicsRenderer::CreateContext() @see wxGraphicsRenderer::CreateContext()
*/ */
static wxGraphicsContext * Create( const wxMemoryDC& dc) ; static wxGraphicsContext* Create(const wxMemoryDC& dc);
/** /**
Creates a wxGraphicsContext from a wxPrinterDC. Under Creates a wxGraphicsContext from a wxPrinterDC. Under GTK+, this will
GTK+, this will only work when using the GtkPrint only work when using the GtkPrint printing backend which is available
printing backend which is available since GTK+ 2.10. since GTK+ 2.10.
@see wxGraphicsRenderer::CreateContext(), @ref overview_unixprinting "Printing under Unix" @see wxGraphicsRenderer::CreateContext(), @ref overview_unixprinting
*/ */
static wxGraphicsContext * Create( const wxPrinterDC& dc) ; static wxGraphicsContext* Create(const wxPrinterDC& dc);
/** /**
Clips drawings to the region Clips drawings to the specified region.
*/ */
virtual void Clip(const wxRegion& region) = 0; virtual void Clip(const wxRegion& region) = 0;
/** /**
Clips drawings to the rectangle. Clips drawings to the specified rectangle.
*/ */
virtual void Clip(wxDouble x, wxDouble y, wxDouble w, wxDouble h) = 0; virtual void Clip(wxDouble x, wxDouble y, wxDouble w, wxDouble h) = 0;
/** /**
Concatenates the passed in transform with the current transform of this context Concatenates the passed in transform with the current transform of this
context.
*/ */
virtual void ConcatTransform(const wxGraphicsMatrix& matrix) = 0; virtual void ConcatTransform(const wxGraphicsMatrix& matrix) = 0;
/** /**
Creates a native brush from a wxBrush. Creates a native brush from a wxBrush.
*/ */
@@ -300,24 +300,24 @@ public:
const wxColour& col = *wxBLACK) const; const wxColour& col = *wxBLACK) const;
/** /**
Creates a wxGraphicsContext from a native context. This native context must be Creates a wxGraphicsContext from a native context. This native context
eg a CGContextRef for Core Graphics, a Graphics pointer for GDIPlus or a must be a CGContextRef for Core Graphics, a Graphics pointer for
cairo_t pointer for cairo. GDIPlus, or a cairo_t pointer for cairo.
@see wxGraphicsRenderer:: CreateContextFromNativeContext @see wxGraphicsRenderer::CreateContextFromNativeContext()
*/ */
static wxGraphicsContext* CreateFromNative(void* context); static wxGraphicsContext* CreateFromNative(void* context);
/** /**
Creates a wxGraphicsContext from a native window. Creates a wxGraphicsContext from a native window.
@see wxGraphicsRenderer:: CreateContextFromNativeWindow @see wxGraphicsRenderer::CreateContextFromNativeWindow()
*/ */
static wxGraphicsContext* CreateFromNativeWindow(void* window); static wxGraphicsContext* CreateFromNativeWindow(void* window);
/** /**
Creates a native brush, having a linear gradient, starting at (x1,y1) with Creates a native brush, having a linear gradient, starting at
color c1 to (x2,y2) with color c2 (@a x1, @a y1) with color @a c1 to (@a x2, @a y2) with color @a c2.
*/ */
virtual wxGraphicsBrush CreateLinearGradientBrush(wxDouble x1, virtual wxGraphicsBrush CreateLinearGradientBrush(wxDouble x1,
wxDouble y1, wxDouble y1,
@@ -327,8 +327,8 @@ public:
const wxColour& c2) const; const wxColour& c2) const;
/** /**
Creates a native affine transformation matrix from the passed in values. The Creates a native affine transformation matrix from the passed in
defaults result in an identity matrix. values. The default parameters result in an identity matrix.
*/ */
virtual wxGraphicsMatrix CreateMatrix(wxDouble a = 1.0, wxDouble b = 0.0, virtual wxGraphicsMatrix CreateMatrix(wxDouble a = 1.0, wxDouble b = 0.0,
wxDouble c = 0.0, wxDouble d = 1.0, wxDouble c = 0.0, wxDouble d = 1.0,
@@ -346,8 +346,9 @@ public:
virtual 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 Creates a native brush, having a radial gradient originating at
color oColour and ends on a circle around (xc,yc) with radius r and color cColour (@a xo, @a yc) with color @a oColour and ends on a circle around
(@a xc, @a yc) with the given @a radius and color @a cColour.
*/ */
virtual wxGraphicsBrush CreateRadialGradientBrush(wxDouble xo, wxDouble yo, virtual wxGraphicsBrush CreateRadialGradientBrush(wxDouble xo, wxDouble yo,
wxDouble xc, wxDouble yc, wxDouble xc, wxDouble yc,
@@ -356,8 +357,8 @@ public:
const wxColour& cColor) const; const wxColour& cColor) const;
/** /**
Draws the bitmap. In case of a mono bitmap, this is treated as a mask and the Draws the bitmap. In case of a mono bitmap, this is treated as a mask
current brushed is used for filling. and the current brushed is used for filling.
*/ */
virtual void DrawBitmap(const wxBitmap& bmp, wxDouble x, wxDouble y, virtual void DrawBitmap(const wxBitmap& bmp, wxDouble x, wxDouble y,
wxDouble w, wxDouble h) = 0; wxDouble w, wxDouble h) = 0;
@@ -396,23 +397,37 @@ public:
virtual void DrawRoundedRectangle(wxDouble x, wxDouble y, wxDouble w, virtual void DrawRoundedRectangle(wxDouble x, wxDouble y, wxDouble w,
wxDouble h, wxDouble radius); wxDouble h, wxDouble radius);
//@{
/** /**
Draws a text at the defined position. Draws text at the defined position.
*/
void DrawText(const wxString& str, wxDouble x, wxDouble y);
/**
Draws text at the defined position.
If @a angle is specified, the string is drawn at the given angle to the @param angle
(default) horizontal direction. If @a backgroundBrush is specified, the The angle relative to the (default) horizontal direction to draw
text is filled using it. the string.
*/
void DrawText(const wxString& str, wxDouble x, wxDouble y, wxDouble angle);
/**
Draws text at the defined position.
@param backgroundBrush
Brush to fill the text with.
*/ */
void DrawText(const wxString& str, wxDouble x, wxDouble y, void DrawText(const wxString& str, wxDouble x, wxDouble y,
wxDouble angle); const wxGraphicsBrush& backgroundBrush);
void DrawText(const wxString& str, wxDouble x, wxDouble y); /**
Draws text at the defined position.
@param angle
The angle relative to the (default) horizontal direction to draw
the string.
@param backgroundBrush
Brush to fill the text with.
*/
void DrawText(const wxString& str, wxDouble x, wxDouble y, void DrawText(const wxString& str, wxDouble x, wxDouble y,
const wxGraphicsBrush& backgroundBrush) wxDouble angle, const wxGraphicsBrush& backgroundBrush);
void DrawText(const wxString& str, wxDouble x, wxDouble y,
wxDouble angle,
const wxGraphicsBrush& backgroundBrush )
//@}
/** /**
Fills the path with the current brush. Fills the path with the current brush.
@@ -421,25 +436,33 @@ public:
int fillStyle = wxODDEVEN_RULE) = 0; int fillStyle = wxODDEVEN_RULE) = 0;
/** /**
Returns the native context (CGContextRef for Core Graphics, Graphics pointer Returns the native context (CGContextRef for Core Graphics, Graphics
for GDIPlus and cairo_t pointer for cairo). pointer for GDIPlus and cairo_t pointer for cairo).
*/ */
virtual void* GetNativeContext() = 0; virtual void* GetNativeContext() = 0;
/** /**
Fills the @a widths array with the widths from the beginning of Fills the @a widths array with the widths from the beginning of
@a text to the corresponding character of @e text. @a text to the corresponding character of @a text.
*/ */
virtual void GetPartialTextExtents(const wxString& text, virtual void GetPartialTextExtents(const wxString& text,
wxArrayDouble& widths) const = 0; wxArrayDouble& widths) const = 0;
/** /**
Gets the dimensions of the string using the currently selected font. Gets the dimensions of the string using the currently selected font.
@e string is the text string to measure, @e w and @e h are
the total width and height respectively, @a descent is the @param text
dimension from the baseline of the font to the bottom of the The text string to measure.
descender, and @a externalLeading is any extra vertical space added @param width
to the font by the font designer (usually is zero). Variable to store the total calculated width of the text.
@param height
Variable to store the total calculated height of the text.
@param descent
Variable to store the dimension from the baseline of the font to
the bottom of the descender.
@param externalLeading
Any extra vertical space added to the font by the font designer
(usually is zero).
*/ */
virtual void GetTextExtent(const wxString& text, wxDouble* width, virtual void GetTextExtent(const wxString& text, wxDouble* width,
wxDouble* height, wxDouble* descent, wxDouble* height, wxDouble* descent,
@@ -456,7 +479,7 @@ public:
virtual void ResetClip() = 0; virtual void ResetClip() = 0;
/** /**
Rotates the current transformation matrix (radians), Rotates the current transformation matrix (in radians).
*/ */
virtual void Rotate(wxDouble angle) = 0; virtual void Rotate(wxDouble angle) = 0;
@@ -465,29 +488,32 @@ public:
*/ */
virtual void Scale(wxDouble xScale, wxDouble yScale) = 0; virtual void Scale(wxDouble xScale, wxDouble yScale) = 0;
//@{
/** /**
Sets the brush for filling paths. Sets the brush for filling paths.
*/ */
void SetBrush(const wxBrush& brush); void SetBrush(const wxBrush& brush);
/**
Sets the brush for filling paths.
*/
void SetBrush(const wxGraphicsBrush& brush); void SetBrush(const wxGraphicsBrush& brush);
//@}
//@{
/** /**
Sets the font for drawing text. Sets the font for drawing text.
*/ */
void SetFont(const wxFont& font, const wxColour& colour); void SetFont(const wxFont& font, const wxColour& colour);
/**
Sets the font for drawing text.
*/
void SetFont(const wxGraphicsFont& font); void SetFont(const wxGraphicsFont& font);
//@}
//@{
/** /**
Sets the pen used for stroking. Sets the pen used for stroking.
*/ */
void SetPen(const wxGraphicsPen& pen); void SetPen(const wxGraphicsPen& pen);
/**
Sets the pen used for stroking.
*/
void SetPen(const wxPen& pen); void SetPen(const wxPen& pen);
//@}
/** /**
Sets the current transformation matrix of this context Sets the current transformation matrix of this context
@@ -499,15 +525,17 @@ public:
*/ */
virtual void StrokeLine(wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2); virtual void StrokeLine(wxDouble x1, wxDouble y1, wxDouble x2, wxDouble y2);
//@{
/** /**
Stroke disconnected lines from begin to end points, fastest method available Stroke disconnected lines from begin to end points, fastest method
for this purpose. available for this purpose.
*/ */
void StrokeLines(size_t n, const wxPoint2DDouble* beginPoints, void StrokeLines(size_t n, const wxPoint2DDouble* beginPoints,
const wxPoint2DDouble* endPoints); const wxPoint2DDouble* endPoints);
/**
Stroke disconnected lines from begin to end points, fastest method
available for this purpose.
*/
void StrokeLines(size_t n, const wxPoint2DDouble* points); void StrokeLines(size_t n, const wxPoint2DDouble* points);
//@}
/** /**
Strokes along a path with the current pen. Strokes along a path with the current pen.
@@ -527,12 +555,13 @@ public:
A wxGraphicsRenderer is the instance corresponding to the rendering engine A wxGraphicsRenderer is the instance corresponding to the rendering engine
used. There may be multiple instances on a system, if there are different used. There may be multiple instances on a system, if there are different
rendering engines present, but there is always only one instance per engine. rendering engines present, but there is always only one instance per
This instance is pointed back to by all objects created by it (wxGraphicsContext, engine. This instance is pointed back to by all objects created by it
wxGraphicsPath etc) and can be retrieved through their wxGraphicsObject::GetRenderer() (wxGraphicsContext, wxGraphicsPath etc) and can be retrieved through their
method. Therefore you can create an additional instance of a path etc. by calling wxGraphicsObject::GetRenderer() method. Therefore you can create an
wxGraphicsObject::GetRenderer() and then using the appropriate CreateXXX function additional instance of a path etc. by calling
of that renderer. wxGraphicsObject::GetRenderer() and then using the appropriate CreateXXX()
function of that renderer.
@code @code
wxGraphicsPath *path = // from somewhere wxGraphicsPath *path = // from somewhere
@@ -540,7 +569,7 @@ public:
@endcode @endcode
@library{wxcore} @library{wxcore}
@category{FIXME} @category{gdi}
*/ */
class wxGraphicsRenderer : public wxObject class wxGraphicsRenderer : public wxObject
{ {
@@ -553,28 +582,27 @@ public:
/** /**
Creates a wxGraphicsContext from a wxWindowDC Creates a wxGraphicsContext from a wxWindowDC
*/ */
virtual wxGraphicsContext * CreateContext( const wxWindowDC& dc) = 0 ; virtual wxGraphicsContext* CreateContext(const wxWindowDC& dc) = 0 ;
/** /**
Creates a wxGraphicsContext from a wxMemoryDC Creates a wxGraphicsContext from a wxMemoryDC
*/ */
virtual wxGraphicsContext * CreateContext( const wxMemoryDC& dc) = 0 ; virtual wxGraphicsContext* CreateContext(const wxMemoryDC& dc) = 0 ;
/** /**
Creates a wxGraphicsContext from a wxPrinterDC Creates a wxGraphicsContext from a wxPrinterDC
*/ */
virtual wxGraphicsContext * CreateContext( const wxPrinterDC& dc) = 0 ; virtual wxGraphicsContext* CreateContext(const wxPrinterDC& dc) = 0 ;
/** /**
Creates a native brush from a wxBrush. Creates a native brush from a wxBrush.
*/ */
virtual wxGraphicsBrush CreateBrush(const wxBrush& brush) = 0; virtual wxGraphicsBrush CreateBrush(const wxBrush& brush) = 0;
/** /**
Creates a wxGraphicsContext from a native context. This native context must be Creates a wxGraphicsContext from a native context. This native context
eg a CGContextRef for Core Graphics, a Graphics pointer for GDIPlus or a cairo_t must be a CGContextRef for Core Graphics, a Graphics pointer for
pointer for cairo. GDIPlus, or a cairo_t pointer for cairo.
*/ */
virtual wxGraphicsContext* CreateContextFromNativeContext(void* context) = 0; virtual wxGraphicsContext* CreateContextFromNativeContext(void* context) = 0;
@@ -590,19 +618,19 @@ public:
const wxColour& col = *wxBLACK) = 0; const wxColour& col = *wxBLACK) = 0;
/** /**
Creates a native brush, having a linear gradient, starting at (x1,y1) with Creates a native brush, having a linear gradient, starting at
color c1 to (x2,y2) with color c2 (@a x1, @a y1) with color @a c1 to (@a x2, @a y2) with color @a c2.
*/ */
wxGraphicsBrush CreateLinearGradientBrush(wxDouble x1, virtual wxGraphicsBrush CreateLinearGradientBrush(wxDouble x1,
wxDouble y1, wxDouble y1,
wxDouble x2, wxDouble x2,
wxDouble y2, wxDouble y2,
const wxColour& c1, const wxColour& c1,
const wxColour& c2) = 0; const wxColour& c2) = 0;
/** /**
Creates a native affine transformation matrix from the passed in values. The Creates a native affine transformation matrix from the passed in
defaults result in an identity matrix. values. The defaults result in an identity matrix.
*/ */
virtual wxGraphicsMatrix CreateMatrix(wxDouble a = 1.0, wxDouble b = 0.0, virtual wxGraphicsMatrix CreateMatrix(wxDouble a = 1.0, wxDouble b = 0.0,
wxDouble c = 0.0, wxDouble d = 1.0, wxDouble c = 0.0, wxDouble d = 1.0,
@@ -620,8 +648,9 @@ public:
virtual wxGraphicsPen CreatePen(const wxPen& pen) = 0; virtual wxGraphicsPen CreatePen(const wxPen& pen) = 0;
/** /**
Creates a native brush, having a radial gradient originating at (xo,yc) with Creates a native brush, having a radial gradient originating at
color oColour and ends on a circle around (xc,yc) with radius r and color cColour (@a xo, @a yc) with color @a oColour and ends on a circle around
(@a xc, @a yc) with the given @a radius and color @a cColour.
*/ */
virtual wxGraphicsBrush CreateRadialGradientBrush(wxDouble xo, wxDouble yo, virtual wxGraphicsBrush CreateRadialGradientBrush(wxDouble xo, wxDouble yo,
wxDouble xc, wxDouble yc, wxDouble xc, wxDouble yc,
@@ -631,7 +660,8 @@ public:
/** /**
Returns the default renderer on this platform. On OS X this is the Core Returns the default renderer on this platform. On OS X this is the Core
Graphics (a.k.a. Quartz 2D) renderer, on MSW the GDIPlus renderer, and on GTK we currently default to the cairo renderer. Graphics (a.k.a. Quartz 2D) renderer, on MSW the GDIPlus renderer, and
on GTK we currently default to the cairo renderer.
*/ */
static wxGraphicsRenderer* GetDefaultRenderer(); static wxGraphicsRenderer* GetDefaultRenderer();
}; };
@@ -641,13 +671,14 @@ public:
/** /**
@class wxGraphicsBrush @class wxGraphicsBrush
A wxGraphicsBrush is a native representation of a brush. The contents A wxGraphicsBrush is a native representation of a brush. The contents are
are specific and private to the respective renderer. Instances are ref counted and can specific and private to the respective renderer. Instances are ref counted
therefore be assigned as usual. The only way to get a valid instance is via and can therefore be assigned as usual. The only way to get a valid
wxGraphicsContext::CreateBrush or wxGraphicsRenderer::CreateBrush. instance is via wxGraphicsContext::CreateBrush() or
wxGraphicsRenderer::CreateBrush().
@library{wxcore} @library{wxcore}
@category{FIXME} @category{gdi}
*/ */
class wxGraphicsBrush : public wxGraphicsObject class wxGraphicsBrush : public wxGraphicsObject
{ {
@@ -660,13 +691,14 @@ public:
/** /**
@class wxGraphicsFont @class wxGraphicsFont
A wxGraphicsFont is a native representation of a font. The contents A wxGraphicsFont is a native representation of a font. The contents are
are specific and private to the respective renderer. Instances are ref counted and can specific and private to the respective renderer. Instances are ref counted
therefore be assigned as usual. The only way to get a valid instance is via and can therefore be assigned as usual. The only way to get a valid
wxGraphicsContext::CreateFont or wxGraphicsRenderer::CreateFont. instance is via wxGraphicsContext::CreateFont() or
wxGraphicsRenderer::CreateFont().
@library{wxcore} @library{wxcore}
@category{FIXME} @category{gdi}
*/ */
class wxGraphicsFont : public wxGraphicsObject class wxGraphicsFont : public wxGraphicsObject
{ {
@@ -679,13 +711,14 @@ public:
/** /**
@class wxGraphicsPen @class wxGraphicsPen
A wxGraphicsPen is a native representation of a pen. The contents A wxGraphicsPen is a native representation of a pen. The contents are
are specific and private to the respective renderer. Instances are ref counted and can specific and private to the respective renderer. Instances are ref counted
therefore be assigned as usual. The only way to get a valid instance is via and can therefore be assigned as usual. The only way to get a valid
wxGraphicsContext::CreatePen or wxGraphicsRenderer::CreatePen. instance is via wxGraphicsContext::CreatePen() or
wxGraphicsRenderer::CreatePen().
@library{wxcore} @library{wxcore}
@category{FIXME} @category{gdi}
*/ */
class wxGraphicsPen : public wxGraphicsObject class wxGraphicsPen : public wxGraphicsObject
{ {
@@ -698,35 +731,38 @@ public:
/** /**
@class wxGraphicsMatrix @class wxGraphicsMatrix
A wxGraphicsMatrix is a native representation of an affine matrix. The contents A wxGraphicsMatrix is a native representation of an affine matrix. The
are specific and private to the respective renderer. Instances are ref counted and can contents are specific and private to the respective renderer. Instances are
therefore be assigned as usual. The only way to get a valid instance is via ref counted and can therefore be assigned as usual. The only way to get a
wxGraphicsContext::CreateMatrix or wxGraphicsRenderer::CreateMatrix. valid instance is via wxGraphicsContext::CreateMatrix() or
wxGraphicsRenderer::CreateMatrix().
@library{wxcore} @library{wxcore}
@category{FIXME} @category{gdi}
*/ */
class wxGraphicsMatrix : public wxGraphicsObject class wxGraphicsMatrix : public wxGraphicsObject
{ {
public: public:
//@{
/** /**
Concatenates the matrix passed with the current matrix.
*/
virtual void Concat(const wxGraphicsMatrix* t);
/**
Concatenates the matrix passed with the current matrix.
*/ */
void Concat(const wxGraphicsMatrix* t);
void Concat(const wxGraphicsMatrix& t); void Concat(const wxGraphicsMatrix& t);
//@}
/** /**
Returns the component values of the matrix via the argument pointers. Returns the component values of the matrix via the argument pointers.
*/ */
virtual void Get(wxDouble* a = NULL, wxDouble* b = NULL, wxDouble* c = NULL, virtual void Get(wxDouble* a = NULL, wxDouble* b = NULL,
wxDouble* d = NULL, wxDouble* tx = NULL, wxDouble* c = NULL, wxDouble* d = NULL,
wxDouble* ty = NULL) const; wxDouble* tx = NULL, wxDouble* ty = NULL) const;
/** /**
Returns the native representation of the matrix. For CoreGraphics this is a Returns the native representation of the matrix. For CoreGraphics this
CFAffineMatrix pointer. For GDIPlus a Matrix Pointer and for Cairo a cairo_matrix_t pointer. is a CFAffineMatrix pointer, for GDIPlus a Matrix Pointer, and for
Cairo a cairo_matrix_t pointer.
*/ */
virtual void* GetNativeMatrix() const; virtual void* GetNativeMatrix() const;
@@ -735,6 +771,10 @@ public:
*/ */
virtual void Invert(); virtual void Invert();
/**
Returns @true if the elements of the transformation matrix are equal.
*/
virtual bool IsEqual(const wxGraphicsMatrix* t) const;
/** /**
Returns @true if the elements of the transformation matrix are equal. Returns @true if the elements of the transformation matrix are equal.
*/ */
@@ -746,7 +786,7 @@ public:
virtual bool IsIdentity() const; virtual bool IsIdentity() const;
/** /**
Rotates this matrix (radians). Rotates this matrix (in radians).
*/ */
virtual void Rotate(wxDouble angle); virtual void Rotate(wxDouble angle);
@@ -756,15 +796,15 @@ public:
virtual 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 Sets the matrix to the respective values (default values are the
matrix) identity matrix).
*/ */
virtual void Set(wxDouble a = 1.0, wxDouble b = 0.0, wxDouble c = 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); wxDouble d = 1.0, wxDouble tx = 0.0, wxDouble ty = 0.0);
/** /**
Applies this matrix to a distance (ie. performs all transforms except Applies this matrix to a distance (ie. performs all transforms except
translations) translations).
*/ */
virtual void TransformDistance(wxDouble* dx, wxDouble* dy) const; virtual void TransformDistance(wxDouble* dx, wxDouble* dy) const;
@@ -778,3 +818,4 @@ public:
*/ */
virtual void Translate(wxDouble dx, wxDouble dy); virtual void Translate(wxDouble dx, wxDouble dy);
}; };