1 /////////////////////////////////////////////////////////////////////////////
3 // Purpose: interface of various wxGraphics* classes
4 // Author: wxWidgets team
6 // Licence: wxWindows license
7 /////////////////////////////////////////////////////////////////////////////
12 A wxGraphicsPath is a native representation of a geometric path. The
13 contents are specific an private to the respective renderer. Instances are
14 reference counted and can therefore be assigned as usual. The only way to
15 get a valid instance is by using wxGraphicsContext::CreatePath() or
16 wxGraphicsRenderer::CreatePath().
21 class wxGraphicsPath
: public wxGraphicsObject
25 Adds an arc of a circle centering at (@a x,@a y) with radius (@a r)
26 from @a startAngle to @a endAngle.
28 virtual void AddArc(wxDouble x
, wxDouble y
, wxDouble r
,
29 wxDouble startAngle
, wxDouble endAngle
,
32 Adds an arc of a circle centering at @a c with radius (@a r)
33 from @a startAngle to @a endAngle.
35 void AddArc(const wxPoint2DDouble
& c
, wxDouble r
,
36 wxDouble startAngle
, wxDouble endAngle
, bool clockwise
);
39 Appends a an arc to two tangents connecting (current) to (@a x1,@a y1)
40 and (@a x1,@a y1) to (@a x2,@a y2), also a straight line from (current)
43 virtual void AddArcToPoint(wxDouble x1
, wxDouble y1
, wxDouble x2
,
44 wxDouble y2
, wxDouble r
);
47 Appends a circle around (@a x,@a y) with radius @a r as a new closed
50 virtual void AddCircle(wxDouble x
, wxDouble y
, wxDouble r
);
53 Adds a cubic bezier curve from the current point, using two control
54 points and an end point.
56 virtual void AddCurveToPoint(wxDouble cx1
, wxDouble cy1
,
57 wxDouble cx2
, wxDouble cy2
,
58 wxDouble x
, wxDouble y
);
60 Adds a cubic bezier curve from the current point, using two control
61 points and an end point.
63 void AddCurveToPoint(const wxPoint2DDouble
& c1
,
64 const wxPoint2DDouble
& c2
,
65 const wxPoint2DDouble
& e
);
68 Appends an ellipse fitting into the passed in rectangle.
70 virtual void AddEllipse(wxDouble x
, wxDouble y
, wxDouble w
, wxDouble h
);
73 Adds a straight line from the current point to (@a x,@a y).
75 virtual void AddLineToPoint(wxDouble x
, wxDouble y
);
77 Adds a straight line from the current point to @a p.
79 void AddLineToPoint(const wxPoint2DDouble
& p
);
84 virtual void AddPath(const wxGraphicsPath
& path
);
87 Adds a quadratic bezier curve from the current point, using a control
88 point and an end point.
90 virtual void AddQuadCurveToPoint(wxDouble cx
, wxDouble cy
,
91 wxDouble x
, wxDouble y
);
94 Appends a rectangle as a new closed subpath.
96 virtual void AddRectangle(wxDouble x
, wxDouble y
, wxDouble w
, wxDouble h
);
99 Appends a rounded rectangle as a new closed subpath.
101 virtual void AddRoundedRectangle(wxDouble x
, wxDouble y
, wxDouble w
,
102 wxDouble h
, wxDouble radius
);
105 Closes the current sub-path.
107 virtual void CloseSubpath();
110 @return @true if the point is within the path.
112 bool Contains(const wxPoint2DDouble
& c
,
113 int fillStyle
= wxODDEVEN_RULE
) const;
115 @return @true if the point is within the path.
117 virtual bool Contains(wxDouble x
, wxDouble y
,
118 int fillStyle
= wxODDEVEN_RULE
) const;
121 Gets the bounding box enclosing all points (possibly including control
124 wxRect2DDouble
GetBox() const;
126 Gets the bounding box enclosing all points (possibly including control
129 virtual void GetBox(wxDouble
* x
, wxDouble
* y
,
130 wxDouble
* w
, wxDouble
* h
) const;
133 Gets the last point of the current path, (0,0) if not yet set.
135 virtual void GetCurrentPoint(wxDouble
* x
, wxDouble
* y
) const;
137 Gets the last point of the current path, (0,0) if not yet set.
139 wxPoint2DDouble
GetCurrentPoint() const;
142 Returns the native path (CGPathRef for Core Graphics, Path pointer for
143 GDIPlus and a cairo_path_t pointer for cairo).
145 virtual void* GetNativePath() const;
148 Begins a new subpath at (@a x,@a y).
150 virtual void MoveToPoint(wxDouble x
, wxDouble y
);
152 Begins a new subpath at @a p.
154 void MoveToPoint(const wxPoint2DDouble
& p
);
157 Transforms each point of this path by the matrix.
159 virtual void Transform(const wxGraphicsMatrix
& matrix
);
162 Gives back the native path returned by GetNativePath() because there
163 might be some deallocations necessary (e.g. on cairo the native path
164 returned by GetNativePath() is newly allocated each time).
166 virtual void UnGetNativePath(void* p
) const;
172 @class wxGraphicsObject
174 This class is the superclass of native graphics objects like pens etc. It
175 allows reference counting. Not instantiated by user code.
180 @see wxGraphicsBrush, wxGraphicsPen, wxGraphicsMatrix, wxGraphicsPath
182 class wxGraphicsObject
: public wxObject
186 Returns the renderer that was used to create this instance, or @NULL
187 if it has not been initialized yet.
189 wxGraphicsRenderer
* GetRenderer() const;
192 @return @false if this object is valid, otherwise returns @true.
198 Anti-aliasing modes used by wxGraphicsContext::SetAntialisingMode
202 /** No anti-aliasing */
205 /** The default anti-aliasing */
210 Compositing is done using Porter-Duff compositions
211 (see http://keithp.com/~keithp/porterduff/p253-porter.pdf) with
212 wxGraphicsContext::SetCompositionMode
214 The description give a short equation on how the values of a resulting
215 pixel are calculated.
216 @R = Result, @S = Source, @D = Destination, colors premultiplied with alpha
217 @Ra, @Sa, @Da their alpha components
219 enum wxCompositionMode
222 /** classic Porter-Duff compositions */
223 wxCOMPOSITION_CLEAR
, /**< @R = 0 */
224 wxCOMPOSITION_SOURCE
, /**< @R = S */
225 wxCOMPOSITION_OVER
, /**< @R = @S + @D*(1 - @Sa) */
226 wxCOMPOSITION_IN
, /**< @R = @S*@Da */
227 wxCOMPOSITION_OUT
, /**< @R = @S*(1 - @Da) */
228 wxCOMPOSITION_ATOP
, /**< @R = @S*@Da + @D*(1 - @Sa) */
230 wxCOMPOSITION_DEST
, /**< @R = @D, essentially a noop */
231 wxCOMPOSITION_DEST_OVER
, /**< @R = @S*(1 - @Da) + @D */
232 wxCOMPOSITION_DEST_IN
, /**< @R = @D*@Sa */
233 wxCOMPOSITION_DEST_OUT
, /**< @R = @D*(1 - @Sa) */
234 wxCOMPOSITION_DEST_ATOP
, /**< @R = @S*(1 - @Da) + @D*@Sa */
235 wxCOMPOSITION_XOR
, /**< @R = @S*(1 - @Da) + @D*(1 - @Sa) */
237 /** mathematical compositions */
238 wxCOMPOSITION_ADD
, /**< @R = @S + @D */
243 @class wxGraphicsContext
245 A wxGraphicsContext instance is the object that is drawn upon. It is
246 created by a renderer using wxGraphicsRenderer::CreateContext(). This can
247 be either directly using a renderer instance, or indirectly using the
248 static convenience Create() functions of wxGraphicsContext that always
249 delegate the task to the default renderer.
252 void MyCanvas::OnPaint(wxPaintEvent &event)
257 // Create graphics context from it
258 wxGraphicsContext *gc = wxGraphicsContext::Create( dc );
262 // make a path that contains a circle and some lines
263 gc->SetPen( *wxRED_PEN );
264 wxGraphicsPath path = gc->CreatePath();
265 path.AddCircle( 50.0, 50.0, 50.0 );
266 path.MoveToPoint(0.0, 50.0);
267 path.AddLineToPoint(100.0, 50.0);
268 path.MoveToPoint(50.0, 0.0);
269 path.AddLineToPoint(50.0, 100.0 );
271 path.AddRectangle(25.0, 25.0, 50.0, 50.0);
273 gc->StrokePath(path);
283 @see wxGraphicsRenderer::CreateContext(), wxGCDC, wxDC
285 class wxGraphicsContext
: public wxGraphicsObject
289 Creates a wxGraphicsContext from a wxWindow.
291 @see wxGraphicsRenderer::CreateContext()
293 static wxGraphicsContext
* Create(wxWindow
* window
);
296 Creates a wxGraphicsContext from a wxWindowDC
298 @see wxGraphicsRenderer::CreateContext()
300 static wxGraphicsContext
* Create(const wxWindowDC
& dc
);
303 Creates a wxGraphicsContext from a wxMemoryDC
305 @see wxGraphicsRenderer::CreateContext()
307 static wxGraphicsContext
* Create(const wxMemoryDC
& dc
);
310 Creates a wxGraphicsContext from a wxPrinterDC. Under GTK+, this will
311 only work when using the GtkPrint printing backend which is available
314 @see wxGraphicsRenderer::CreateContext(), @ref overview_unixprinting
316 static wxGraphicsContext
* Create(const wxPrinterDC
& dc
);
319 Clips drawings to the specified region.
321 virtual void Clip(const wxRegion
& region
) = 0;
324 Clips drawings to the specified rectangle.
326 virtual void Clip(wxDouble x
, wxDouble y
, wxDouble w
, wxDouble h
) = 0;
329 Concatenates the passed in transform with the current transform of this
332 virtual void ConcatTransform(const wxGraphicsMatrix
& matrix
) = 0;
335 Creates a native brush from a wxBrush.
337 virtual wxGraphicsBrush
CreateBrush(const wxBrush
& brush
) const;
340 Creates a native graphics font from a wxFont and a text colour.
342 virtual wxGraphicsFont
CreateFont(const wxFont
& font
,
343 const wxColour
& col
= *wxBLACK
) const;
346 Creates a wxGraphicsContext from a native context. This native context
347 must be a CGContextRef for Core Graphics, a Graphics pointer for
348 GDIPlus, or a cairo_t pointer for cairo.
350 @see wxGraphicsRenderer::CreateContextFromNativeContext()
352 static wxGraphicsContext
* CreateFromNative(void* context
);
355 Creates a wxGraphicsContext from a native window.
357 @see wxGraphicsRenderer::CreateContextFromNativeWindow()
359 static wxGraphicsContext
* CreateFromNativeWindow(void* window
);
362 Creates a native brush, having a linear gradient, starting at
363 (@a x1, @a y1) with color @a c1 to (@a x2, @a y2) with color @a c2.
365 virtual wxGraphicsBrush
CreateLinearGradientBrush(wxDouble x1
,
370 const wxColour
& c2
) const;
373 Creates a native affine transformation matrix from the passed in
374 values. The default parameters result in an identity matrix.
376 virtual wxGraphicsMatrix
CreateMatrix(wxDouble a
= 1.0, wxDouble b
= 0.0,
377 wxDouble c
= 0.0, wxDouble d
= 1.0,
379 wxDouble ty
= 0.0) const;
382 Creates a native graphics path which is initially empty.
384 wxGraphicsPath
CreatePath() const;
387 Creates a native pen from a wxPen.
389 virtual wxGraphicsPen
CreatePen(const wxPen
& pen
) const;
392 Creates a native brush, having a radial gradient originating at
393 (@a xo, @a yc) with color @a oColour and ends on a circle around
394 (@a xc, @a yc) with the given @a radius and color @a cColour.
396 virtual wxGraphicsBrush
CreateRadialGradientBrush(wxDouble xo
, wxDouble yo
,
397 wxDouble xc
, wxDouble yc
,
399 const wxColour
& oColor
,
400 const wxColour
& cColor
) const;
403 Draws the bitmap. In case of a mono bitmap, this is treated as a mask
404 and the current brushed is used for filling.
406 virtual void DrawBitmap(const wxBitmap
& bmp
, wxDouble x
, wxDouble y
,
407 wxDouble w
, wxDouble h
) = 0;
412 virtual void DrawEllipse(wxDouble x
, wxDouble y
, wxDouble w
, wxDouble h
);
417 virtual void DrawIcon(const wxIcon
& icon
, wxDouble x
, wxDouble y
,
418 wxDouble w
, wxDouble h
) = 0;
423 virtual void DrawLines(size_t n
, const wxPoint2DDouble
* points
,
424 wxPolygonFillMode fillStyle
= wxODDEVEN_RULE
);
427 Draws the path by first filling and then stroking.
429 virtual void DrawPath(const wxGraphicsPath
& path
,
430 wxPolygonFillMode fillStyle
= wxODDEVEN_RULE
);
435 virtual void DrawRectangle(wxDouble x
, wxDouble y
, wxDouble w
, wxDouble h
);
438 Draws a rounded rectangle.
440 virtual void DrawRoundedRectangle(wxDouble x
, wxDouble y
, wxDouble w
,
441 wxDouble h
, wxDouble radius
);
444 Draws text at the defined position.
446 void DrawText(const wxString
& str
, wxDouble x
, wxDouble y
);
448 Draws text at the defined position.
453 The x coordinate position to draw the text at.
455 The y coordinate position to draw the text at.
457 The angle relative to the (default) horizontal direction to draw
460 void DrawText(const wxString
& str
, wxDouble x
, wxDouble y
, wxDouble angle
);
462 Draws text at the defined position.
467 The x coordinate position to draw the text at.
469 The y coordinate position to draw the text at.
470 @param backgroundBrush
471 Brush to fill the text with.
473 void DrawText(const wxString
& str
, wxDouble x
, wxDouble y
,
474 const wxGraphicsBrush
& backgroundBrush
);
476 Draws text at the defined position.
481 The x coordinate position to draw the text at.
483 The y coordinate position to draw the text at.
485 The angle relative to the (default) horizontal direction to draw
487 @param backgroundBrush
488 Brush to fill the text with.
490 void DrawText(const wxString
& str
, wxDouble x
, wxDouble y
,
491 wxDouble angle
, const wxGraphicsBrush
& backgroundBrush
);
494 Fills the path with the current brush.
496 virtual void FillPath(const wxGraphicsPath
& path
,
497 wxPolygonFillMode fillStyle
= wxODDEVEN_RULE
) = 0;
500 Returns the native context (CGContextRef for Core Graphics, Graphics
501 pointer for GDIPlus and cairo_t pointer for cairo).
503 virtual void* GetNativeContext() = 0;
506 Fills the @a widths array with the widths from the beginning of
507 @a text to the corresponding character of @a text.
509 virtual void GetPartialTextExtents(const wxString
& text
,
510 wxArrayDouble
& widths
) const = 0;
513 Gets the dimensions of the string using the currently selected font.
516 The text string to measure.
518 Variable to store the total calculated width of the text.
520 Variable to store the total calculated height of the text.
522 Variable to store the dimension from the baseline of the font to
523 the bottom of the descender.
524 @param externalLeading
525 Any extra vertical space added to the font by the font designer
528 virtual void GetTextExtent(const wxString
& text
, wxDouble
* width
,
529 wxDouble
* height
, wxDouble
* descent
,
530 wxDouble
* externalLeading
) const = 0;
533 Gets the current transformation matrix of this context.
535 virtual wxGraphicsMatrix
GetTransform() const = 0;
538 Resets the clipping to original shape.
540 virtual void ResetClip() = 0;
543 Rotates the current transformation matrix (in radians).
545 virtual void Rotate(wxDouble angle
) = 0;
548 Scales the current transformation matrix.
550 virtual void Scale(wxDouble xScale
, wxDouble yScale
) = 0;
553 Sets the brush for filling paths.
555 void SetBrush(const wxBrush
& brush
);
557 Sets the brush for filling paths.
559 virtual void SetBrush(const wxGraphicsBrush
& brush
);
562 Sets the font for drawing text.
564 void SetFont(const wxFont
& font
, const wxColour
& colour
);
566 Sets the font for drawing text.
568 virtual void SetFont(const wxGraphicsFont
& font
);
571 Sets the pen used for stroking.
573 void SetPen(const wxPen
& pen
);
575 Sets the pen used for stroking.
577 virtual void SetPen(const wxGraphicsPen
& pen
);
580 Sets the current transformation matrix of this context
582 virtual void SetTransform(const wxGraphicsMatrix
& matrix
) = 0;
585 Strokes a single line.
587 virtual void StrokeLine(wxDouble x1
, wxDouble y1
, wxDouble x2
, wxDouble y2
);
590 Stroke disconnected lines from begin to end points, fastest method
591 available for this purpose.
593 virtual void StrokeLines(size_t n
, const wxPoint2DDouble
* beginPoints
,
594 const wxPoint2DDouble
* endPoints
);
596 Stroke disconnected lines from begin to end points, fastest method
597 available for this purpose.
599 virtual void StrokeLines(size_t n
, const wxPoint2DDouble
* points
);
602 Strokes along a path with the current pen.
604 virtual void StrokePath(const wxGraphicsPath
& path
) = 0;
607 Translates the current transformation matrix.
609 virtual void Translate(wxDouble dx
, wxDouble dy
) = 0;
612 Redirects all rendering is done into a fully transparent temporary context
614 virtual void BeginLayer(wxDouble opacity
) = 0;
617 Composites back the drawings into the context with the opacity given at
620 virtual void EndLayer() = 0;
623 Sets the antialiasing mode, returns true if it supported
625 virtual bool SetAntialiasMode(wxAntialiasMode antialias
) = 0;
628 Returns the current shape antialiasing mode
630 virtual wxAntialiasMode
GetAntialiasMode() const ;
633 Sets the compositing operator, returns true if it supported
635 virtual bool SetCompositionMode(wxCompositionMode op
) = 0;
638 Returns the current compositing operator
640 virtual wxCompositionMode
GetCompositionMode() const;
647 @class wxGraphicsRenderer
649 A wxGraphicsRenderer is the instance corresponding to the rendering engine
650 used. There may be multiple instances on a system, if there are different
651 rendering engines present, but there is always only one instance per
652 engine. This instance is pointed back to by all objects created by it
653 (wxGraphicsContext, wxGraphicsPath etc) and can be retrieved through their
654 wxGraphicsObject::GetRenderer() method. Therefore you can create an
655 additional instance of a path etc. by calling
656 wxGraphicsObject::GetRenderer() and then using the appropriate CreateXXX()
657 function of that renderer.
660 wxGraphicsPath *path = // from somewhere
661 wxGraphicsBrush *brush = path->GetRenderer()->CreateBrush( *wxBLACK_BRUSH );
667 class wxGraphicsRenderer
: public wxObject
671 Creates a wxGraphicsContext from a wxWindow.
673 virtual wxGraphicsContext
* CreateContext(wxWindow
* window
) = 0;
676 Creates a wxGraphicsContext from a wxWindowDC
678 virtual wxGraphicsContext
* CreateContext(const wxWindowDC
& dc
) = 0 ;
681 Creates a wxGraphicsContext from a wxMemoryDC
683 virtual wxGraphicsContext
* CreateContext(const wxMemoryDC
& dc
) = 0 ;
686 Creates a wxGraphicsContext from a wxPrinterDC
688 virtual wxGraphicsContext
* CreateContext(const wxPrinterDC
& dc
) = 0 ;
691 Creates a native brush from a wxBrush.
693 virtual wxGraphicsBrush
CreateBrush(const wxBrush
& brush
) = 0;
696 Creates a wxGraphicsContext from a native context. This native context
697 must be a CGContextRef for Core Graphics, a Graphics pointer for
698 GDIPlus, or a cairo_t pointer for cairo.
700 virtual wxGraphicsContext
* CreateContextFromNativeContext(void* context
) = 0;
703 Creates a wxGraphicsContext from a native window.
705 virtual wxGraphicsContext
* CreateContextFromNativeWindow(void* window
) = 0;
708 Creates a native graphics font from a wxFont and a text colour.
710 virtual wxGraphicsFont
CreateFont(const wxFont
& font
,
711 const wxColour
& col
= *wxBLACK
) = 0;
714 Creates a native brush, having a linear gradient, starting at
715 (@a x1, @a y1) with color @a c1 to (@a x2, @a y2) with color @a c2.
717 virtual wxGraphicsBrush
CreateLinearGradientBrush(wxDouble x1
,
722 const wxColour
& c2
) = 0;
725 Creates a native affine transformation matrix from the passed in
726 values. The defaults result in an identity matrix.
728 virtual wxGraphicsMatrix
CreateMatrix(wxDouble a
= 1.0, wxDouble b
= 0.0,
729 wxDouble c
= 0.0, wxDouble d
= 1.0,
731 wxDouble ty
= 0.0) = 0;
734 Creates a native graphics path which is initially empty.
736 virtual wxGraphicsPath
CreatePath() = 0;
739 Creates a native pen from a wxPen.
741 virtual wxGraphicsPen
CreatePen(const wxPen
& pen
) = 0;
744 Creates a native brush, having a radial gradient originating at
745 (@a xo, @a yc) with color @a oColour and ends on a circle around
746 (@a xc, @a yc) with the given @a radius and color @a cColour.
748 virtual wxGraphicsBrush
CreateRadialGradientBrush(wxDouble xo
, wxDouble yo
,
749 wxDouble xc
, wxDouble yc
,
751 const wxColour
& oColour
,
752 const wxColour
& cColour
) = 0;
755 Returns the default renderer on this platform. On OS X this is the Core
756 Graphics (a.k.a. Quartz 2D) renderer, on MSW the GDIPlus renderer, and
757 on GTK we currently default to the cairo renderer.
759 static wxGraphicsRenderer
* GetDefaultRenderer();
765 @class wxGraphicsBrush
767 A wxGraphicsBrush is a native representation of a brush. The contents are
768 specific and private to the respective renderer. Instances are ref counted
769 and can therefore be assigned as usual. The only way to get a valid
770 instance is via wxGraphicsContext::CreateBrush() or
771 wxGraphicsRenderer::CreateBrush().
776 class wxGraphicsBrush
: public wxGraphicsObject
785 @class wxGraphicsFont
787 A wxGraphicsFont is a native representation of a font. The contents are
788 specific and private to the respective renderer. Instances are ref counted
789 and can therefore be assigned as usual. The only way to get a valid
790 instance is via wxGraphicsContext::CreateFont() or
791 wxGraphicsRenderer::CreateFont().
796 class wxGraphicsFont
: public wxGraphicsObject
807 A wxGraphicsPen is a native representation of a pen. The contents are
808 specific and private to the respective renderer. Instances are ref counted
809 and can therefore be assigned as usual. The only way to get a valid
810 instance is via wxGraphicsContext::CreatePen() or
811 wxGraphicsRenderer::CreatePen().
816 class wxGraphicsPen
: public wxGraphicsObject
825 @class wxGraphicsMatrix
827 A wxGraphicsMatrix is a native representation of an affine matrix. The
828 contents are specific and private to the respective renderer. Instances are
829 ref counted and can therefore be assigned as usual. The only way to get a
830 valid instance is via wxGraphicsContext::CreateMatrix() or
831 wxGraphicsRenderer::CreateMatrix().
836 class wxGraphicsMatrix
: public wxGraphicsObject
840 Concatenates the matrix passed with the current matrix.
842 virtual void Concat(const wxGraphicsMatrix
* t
);
844 Concatenates the matrix passed with the current matrix.
846 void Concat(const wxGraphicsMatrix
& t
);
849 Returns the component values of the matrix via the argument pointers.
851 virtual void Get(wxDouble
* a
= NULL
, wxDouble
* b
= NULL
,
852 wxDouble
* c
= NULL
, wxDouble
* d
= NULL
,
853 wxDouble
* tx
= NULL
, wxDouble
* ty
= NULL
) const;
856 Returns the native representation of the matrix. For CoreGraphics this
857 is a CFAffineMatrix pointer, for GDIPlus a Matrix Pointer, and for
858 Cairo a cairo_matrix_t pointer.
860 virtual void* GetNativeMatrix() const;
865 virtual void Invert();
868 Returns @true if the elements of the transformation matrix are equal.
870 virtual bool IsEqual(const wxGraphicsMatrix
* t
) const;
872 Returns @true if the elements of the transformation matrix are equal.
874 bool IsEqual(const wxGraphicsMatrix
& t
) const;
877 Return @true if this is the identity matrix.
879 virtual bool IsIdentity() const;
882 Rotates this matrix (in radians).
884 virtual void Rotate(wxDouble angle
);
889 virtual void Scale(wxDouble xScale
, wxDouble yScale
);
892 Sets the matrix to the respective values (default values are the
895 virtual void Set(wxDouble a
= 1.0, wxDouble b
= 0.0, wxDouble c
= 0.0,
896 wxDouble d
= 1.0, wxDouble tx
= 0.0, wxDouble ty
= 0.0);
899 Applies this matrix to a distance (ie. performs all transforms except
902 virtual void TransformDistance(wxDouble
* dx
, wxDouble
* dy
) const;
905 Applies this matrix to a point.
907 virtual void TransformPoint(wxDouble
* x
, wxDouble
* y
) const;
910 Translates this matrix.
912 virtual void Translate(wxDouble dx
, wxDouble dy
);