From f43af7fea4a65c6ca41ac53ad439dab7814e61c3 Mon Sep 17 00:00:00 2001
From: Stefan Csomor <csomor@advancedconcepts.ch>
Date: Thu, 2 Nov 2006 14:28:51 +0000
Subject: [PATCH] first version for docs on graphics classes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 docs/latex/wx/graphicsbrush.tex    |  24 +++
 docs/latex/wx/graphicscontext.tex  | 290 +++++++++++++++++++++++++++++
 docs/latex/wx/graphicsfont.tex     |  25 +++
 docs/latex/wx/graphicsmatrix.tex   |  96 ++++++++++
 docs/latex/wx/graphicsobject.tex   |  41 ++++
 docs/latex/wx/graphicspath.tex     | 152 +++++++++++++++
 docs/latex/wx/graphicspen.tex      |  23 +++
 docs/latex/wx/graphicsrenderer.tex |  98 ++++++++++
 8 files changed, 749 insertions(+)
 create mode 100755 docs/latex/wx/graphicsbrush.tex
 create mode 100755 docs/latex/wx/graphicscontext.tex
 create mode 100755 docs/latex/wx/graphicsfont.tex
 create mode 100755 docs/latex/wx/graphicsmatrix.tex
 create mode 100755 docs/latex/wx/graphicsobject.tex
 create mode 100755 docs/latex/wx/graphicspath.tex
 create mode 100755 docs/latex/wx/graphicspen.tex
 create mode 100755 docs/latex/wx/graphicsrenderer.tex

diff --git a/docs/latex/wx/graphicsbrush.tex b/docs/latex/wx/graphicsbrush.tex
new file mode 100755
index 0000000000..4572e34adb
--- /dev/null
+++ b/docs/latex/wx/graphicsbrush.tex
@@ -0,0 +1,24 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name:        graphicsbrush.tex
+%% Purpose:     wxGraphicsBrush class documentation
+%% Author:      Stefan Csomor
+%% Modified by:
+%% Created:     08.06.2004
+%% RCS-ID:      $Id$
+%% Copyright:   (c) Stefan Csomor
+%% License:     wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{\class{wxGraphicsBrush}}\label{wxgraphicsbrush}
+
+\wxheading{Derived from}
+
+\helpref{wxGraphicsObject}{wxgraphicsobject}
+
+A wxGraphicsBrush is a native representation of a brush. It is used for filling a path on a graphics context. 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 Create...Brush call on the graphics context or the renderer instance.
+
+\wxheading{Include files}
+
+<wx/graphics.h>
+
+
diff --git a/docs/latex/wx/graphicscontext.tex b/docs/latex/wx/graphicscontext.tex
new file mode 100755
index 0000000000..1c645188aa
--- /dev/null
+++ b/docs/latex/wx/graphicscontext.tex
@@ -0,0 +1,290 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name:        graphicsfont.tex
+%% Purpose:     wxGraphicsFont class documentation
+%% Author:      Stefan Csomor
+%% Modified by:
+%% Created:     08.06.2004
+%% RCS-ID:      $Id$
+%% Copyright:   (c) Stefan Csomor
+%% License:     wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{\class{wxGraphicsContext}}\label{wxgraphicscontext}
+
+A wxGraphicsContext instance is the object that is drawn upon. It is created by a renderer using the CreateContext calls.., this can be either directly using a renderer 
+instance, or indirectly using the static convenience CreateXXX functions of wxGraphicsContext that always delegate the task to the default renderer.
+
+\wxheading{Derived from}
+
+\helpref{wxGraphicsObject}{wxgraphicsobject}
+
+\wxheading{Include files}
+
+<wx/graphics.h>
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxGraphicsContext::Create}\label{wxgraphicscontextcreate}
+
+\func{wxGraphicsContext*}{Create}{\param{const wxWindowDC\& }{dc}}
+
+Creates a wxGraphicsContext from a wxWindowDC (eg a wxPaintDC).
+
+\func{wxGraphicsContext*}{Create}{\param{wxWindow* }{window}}
+
+Creates a wxGraphicsContext from a wxWindow.
+
+\wxheading{See also}
+
+\helpref{wxGraphicsRenderer:: CreateContext}{wxgraphicsrenderercreatecontext}
+
+\membersection{wxGraphicsContext::CreateFromNative}\label{wxgraphicscontextcreatefromnative}
+
+Creates a wxGraphicsContext from a native context. This native context must be eg a CGContextRef for Core Graphics, a Graphics pointer for GDIPlus or a 
+cairo\_t pointer for cairo.
+
+\func{wxGraphicsContext*}{CreateFromNative}{\param{void * }{context}}
+
+Creates a wxGraphicsContext from a native window. 
+
+\wxheading{See also}
+
+\helpref{wxGraphicsRenderer:: CreateContextFromNativeContext}{wxgraphicsrenderercreatecontextfromnativecontext}
+
+\membersection{wxGraphicsContext::CreateFromNativeWindow}\label{wxgraphicscontextcreatefromnativewindow}
+
+\func{wxGraphicsContext*}{CreateFromNativeWindow}{\param{void * }{window}}
+
+\wxheading{See also}
+
+\helpref{wxGraphicsRenderer:: CreateContextFromNativeWindow}{wxgraphicsrenderercreatecontextfromnativewindow}
+
+\membersection{wxGraphicsContext::CreatePen}\label{wxgraphicscontextcreatepen}
+
+\constfunc{wxGraphicsPen}{CreatePen}{\param{const wxPen\& }{pen}}
+
+Creates a native pen from a wxPen.
+
+\membersection{wxGraphicsContext::CreateBrush}\label{wxgraphicscontextcreatebrush}
+
+\constfunc{wxGraphicsBrush}{CreateBrush}{\param{const wxBrush\& }{brush}}
+
+Creates a native brush from a wxBrush.
+
+\membersection{wxGraphicsContext::CreateRadialGradientBrush}\label{wxgraphicscontextcreateradialgradientbrush}
+
+\constfunc{wxGraphicsBrush}{CreateRadialGradientBrush}{\param{wxDouble }{xo}, \param{wxDouble }{yo}, \param{wxDouble }{xc}, \param{wxDouble }{yc}, 
+\param{wxDouble }{radius}, \param{const wxColour\& }{oColor}, \param{const wxColour\& }{cColor}}
+
+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
+
+\membersection{wxGraphicsContext::CreateLinearGradientBrush}\label{wxgraphicscontextcreatelineargradientbrush}
+
+\constfunc{wxGraphicsBrush}{CreateLinearGradientBrush}{\param{wxDouble }{x1}, \param{wxDouble }{y1}, \param{wxDouble }{x2}, \param{wxDouble }{y2}, 
+\param{const }{wxColour\&c1}, \param{const }{wxColour\&c2}}
+
+Creates a native brush, having a linear gradient, starting at (x1,y1) with color c1 to (x2,y2) with color c2
+
+\membersection{wxGraphicsContext::CreateFont}\label{wxgraphicscontextcreatefont}
+
+\constfunc{wxGraphicsFont}{CreateFont}{\param{const wxFont\& }{font}, \param{const wxColour\& }{col = *wxBLACK}}
+
+Creates a native graphics font from a wxFont and a text colour.
+
+\membersection{wxGraphicsContext::CreateMatrix}\label{wxgraphicscontextcreatematrix}
+
+\constfunc{wxGraphicsMatrix}{CreateMatrix}{\param{wxDouble }{a = 1.0}, \param{wxDouble }{b = 0.0}, \param{wxDouble }{c = 0.0}, \param{wxDouble }{d = 1.0}, 
+\param{wxDouble }{tx = 0.0}, \param{wxDouble }{ty = 0.0}}
+
+Creates a native affine transformation matrix from the passed in values. The defaults result in an identity matrix.
+
+\membersection{wxGraphicsContext::CreatePath}\label{wxgraphicscontextcreatepath}
+
+\constfunc{wxGraphicsPath}{CreatePath}{\void}
+
+Creates a native graphics path which is initially empty.
+
+\membersection{wxGraphicsContext::Clip}\label{wxgraphicscontextclip}
+
+\func{void}{Clip}{\param{const wxRegion\& }{region}}
+
+Clips drawings to the region, combined to current clipping region
+
+\func{void}{Clip}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{w}, \param{wxDouble }{h}}
+
+Clips drawings to the rectangle.
+
+\membersection{wxGraphicsContext::ResetClip}\label{wxgraphicscontextresetclip}
+
+\func{void}{ResetClip}{\void}
+
+Resets the clipping to original shape.
+
+\membersection{wxGraphicsContext::DrawBitmap}\label{wxgraphicscontextdrawbitmap}
+
+\func{void}{DrawBitmap}{\param{const wxBitmap\& }{bmp}, \param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{w}, \param{wxDouble }{h}}
+
+Draws the bitmap. In case of a mono bitmap, this is treated as a mask and the current brushed is used for filling.
+
+\membersection{wxGraphicsContext::DrawEllipse}\label{wxgraphicscontextdrawellipse}
+
+\func{void}{DrawEllipse}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{w}, \param{wxDouble }{h}}
+
+Draws an ellipse.
+
+\membersection{wxGraphicsContext::DrawIcon}\label{wxgraphicscontextdrawicon}
+
+\func{void}{DrawIcon}{\param{const wxIcon\& }{icon}, \param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{w}, \param{wxDouble }{h}}
+
+Draws the icon.
+
+
+\membersection{wxGraphicsContext::DrawLines}\label{wxgraphicscontextdrawlines}
+
+\func{void}{DrawLines}{\param{size\_t }{n}, \param{const wxPoint2DDouble* }{points}, \param{int }{fillStyle = wxODDEVEN\_RULE}}
+
+Draws a polygon.
+
+
+\membersection{wxGraphicsContext::DrawPath}\label{wxgraphicscontextdrawpath}
+
+\func{void}{DrawPath}{\param{const wxGraphicsPath\& }{path}, \param{int }{fillStyle = wxODDEVEN\_RULE}}
+
+Draws the path by first filling and then stroking.
+
+
+\membersection{wxGraphicsContext::DrawRectangle}\label{wxgraphicscontextdrawrectangle}
+
+\func{void}{DrawRectangle}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{w}, \param{wxDouble }{h}}
+
+Draws a rectangle.
+
+
+\membersection{wxGraphicsContext::DrawRoundedRectangle}\label{wxgraphicscontextdrawroundedrectangle}
+
+\func{void}{DrawRoundedRectangle}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{w}, \param{wxDouble }{h}, \param{wxDouble }{radius}}
+
+Draws a rounded rectangle.
+
+\membersection{wxGraphicsContext::DrawText}\label{wxgraphicscontextdrawtext}
+
+\func{void}{DrawText}{\param{const wxString\& }{str}, \param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{angle}}
+
+\func{void}{DrawText}{\param{const wxString\& }{str}, \param{wxDouble }{x}, \param{wxDouble }{y}}
+
+Draws a text at the defined position, at the given angle.
+
+\membersection{wxGraphicsContext::FillPath}\label{wxgraphicscontextfillpath}
+
+\func{void}{FillPath}{\param{const wxGraphicsPath\& }{path}, \param{int }{fillStyle = wxODDEVEN\_RULE}}
+
+Fills the path with the current brush.
+
+\membersection{wxGraphicsContext::StrokePath}\label{wxgraphicscontextstrokepath}
+
+\func{void}{StrokePath}{\param{const wxGraphicsPath\& }{path}}
+
+Strokes along a path with the current pen.
+
+
+\membersection{wxGraphicsContext::GetNativeContext}\label{wxgraphicscontextgetnativecontext}
+
+\func{void *}{GetNativeContext}{\void}
+
+Returns the native context (CGContextRef for Core Graphics, Graphics pointer for GDIPlus and cairo\_t pointer for cairo).
+
+\membersection{wxGraphicsContext::GetPartialTextExtents}\label{wxgraphicscontextgetpartialtextextents}
+
+\constfunc{void}{GetPartialTextExtents}{\param{const wxString\& }{text}, \param{wxArrayDouble\& }{widths}}
+
+Fills the {\it widths} array with the widths from the beginning of 
+{\it text} to the corresponding character of {\it text}.  
+
+\membersection{wxGraphicsContext::GetTextExtent}\label{wxgraphicscontextgettextextent}
+
+\constfunc{void}{GetTextExtent}{\param{const wxString\& }{text}, \param{wxDouble* }{width}, \param{wxDouble* }{height}, \param{wxDouble* }{descent}, 
+\param{wxDouble* }{externalLeading}}
+
+Gets the dimensions of the string using the currently selected font.
+\rtfsp{\it string} is the text string to measure, {\it w} and {\it h} are
+the total width and height respectively, {\it descent} is the
+dimension from the baseline of the font to the bottom of the
+descender, and {\it externalLeading} is any extra vertical space added
+to the font by the font designer (usually is zero).
+
+\membersection{wxGraphicsContext::Rotate}\label{wxgraphicscontextrotate}
+
+\func{void}{Rotate}{\param{wxDouble }{angle}}
+
+Rotates the current transformation matrix (radians),
+
+\membersection{wxGraphicsContext::Scale}\label{wxgraphicscontextscale}
+
+\func{void}{Scale}{\param{wxDouble }{xScale}, \param{wxDouble }{yScale}}
+
+Scales the current transformation matrix.
+
+\membersection{wxGraphicsContext::Translate}\label{wxgraphicscontexttranslate}
+
+\func{void}{Translate}{\param{wxDouble }{dx}, \param{wxDouble }{dy}}
+
+Translates the current transformation matrix.
+
+\membersection{wxGraphicsContext::GetTransform}\label{wxgraphicscontextgettransform}
+
+\constfunc{wxGraphicsMatrix}{GetTransform}{\void}
+
+Gets the current transformation matrix of this context.
+
+\membersection{wxGraphicsContext::SetTransform}\label{wxgraphicscontextsettransform}
+
+\func{void}{SetTransform}{\param{const wxGraphicsMatrix\& }{matrix}}
+
+Sets the current transformation matrix of this context
+
+\membersection{wxGraphicsContext::ConcatTransform}\label{wxgraphicscontextconcattransform}
+
+\func{void}{ConcatTransform}{\param{const wxGraphicsMatrix\& }{matrix}}
+
+Concatenates the passed in transform with the current transform of this context
+
+\membersection{wxGraphicsContext::SetBrush}\label{wxgraphicscontextsetbrush}
+
+\func{void}{SetBrush}{\param{const wxBrush\& }{brush}}
+
+\func{void}{SetBrush}{\param{const wxGraphicsBrush\& }{brush}}
+
+Sets the brush for filling paths.
+
+\membersection{wxGraphicsContext::SetFont}\label{wxgraphicscontextsetfont}
+
+\func{void}{SetFont}{\param{const wxFont\& }{font}, \param{const wxColour\& }{colour}}
+
+
+\func{void}{SetFont}{\param{const wxGraphicsFont\& }{font}}
+
+Sets the font for drawing text.
+
+
+\membersection{wxGraphicsContext::SetPen}\label{wxgraphicscontextsetpen}
+
+\func{void}{SetPen}{\param{const wxGraphicsPen\& }{pen}}
+
+\func{void}{SetPen}{\param{const wxPen\& }{pen}}
+
+Sets the pen used for stroking.
+
+\membersection{wxGraphicsContext::StrokeLine}\label{wxgraphicscontextstrokeline}
+
+\func{void}{StrokeLine}{\param{wxDouble }{x1}, \param{wxDouble }{y1}, \param{wxDouble }{x2}, \param{wxDouble }{y2}}
+
+Strokes a single line.
+
+\membersection{wxGraphicsContext::StrokeLines}\label{wxgraphicscontextstrokelines}
+
+\func{void}{StrokeLines}{\param{size\_t }{n}, \param{const wxPoint2DDouble* }{beginPoints}, \param{const wxPoint2DDouble* }{endPoints}}
+
+\func{void}{StrokeLines}{\param{size\_t }{n}, \param{const wxPoint2DDouble* }{points}}
+
+Stroke disconnected lines from begin to end points, fastest method available for this purpose.
+
diff --git a/docs/latex/wx/graphicsfont.tex b/docs/latex/wx/graphicsfont.tex
new file mode 100755
index 0000000000..12aead98d5
--- /dev/null
+++ b/docs/latex/wx/graphicsfont.tex
@@ -0,0 +1,25 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name:        graphicsfont.tex
+%% Purpose:     wxGraphicsFont class documentation
+%% Author:      Stefan Csomor
+%% Modified by:
+%% Created:     08.06.2004
+%% RCS-ID:      $Id$
+%% Copyright:   (c) Stefan Csomor
+%% License:     wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{\class{wxGraphicsFont}}\label{wxgraphicsfont}
+
+\wxheading{Derived from}
+
+\helpref{wxGraphicsObject}{wxgraphicsobject}
+
+A wxGraphicsFont is a native representation of a font (including text colour). 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 CreateFont call on the graphics context or the renderer instance.
+
+\wxheading{Include files}
+
+<wx/graphics.h>
+
+
diff --git a/docs/latex/wx/graphicsmatrix.tex b/docs/latex/wx/graphicsmatrix.tex
new file mode 100755
index 0000000000..84c8a41082
--- /dev/null
+++ b/docs/latex/wx/graphicsmatrix.tex
@@ -0,0 +1,96 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name:        graphicsmatrix.tex
+%% Purpose:     wxGraphicsMatrix class documentation
+%% Author:      Stefan Csomor
+%% Modified by:
+%% Created:     08.06.2004
+%% RCS-ID:      $Id$
+%% Copyright:   (c) Stefan Csomor
+%% License:     wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{\class{wxGraphicsMatrix}}\label{wxgraphicsmatrix}
+
+A wxGraphicsMatrix is a native representation of an affine matrix. 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 CreateMatrix call on the graphics context or the renderer instance.
+
+\wxheading{Derived from}
+
+\helpref{wxGraphicsObject}{wxgraphicsobject}
+
+\wxheading{Include files}
+
+<wx/graphics.h>
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxGraphicsMatrix::Concat}\label{wxgraphicsmatrixconcat}
+
+\func{void}{Concat}{\param{const wxGraphicsMatrix* }{t}}
+
+Concatenates the matrix passed with the current matrix.
+
+\func{void}{Concat}{\param{const wxGraphicsMatrix\& }{t}}
+
+
+\membersection{wxGraphicsMatrix::GetNativeMatrix}\label{wxgraphicsmatrixgetnativematrix}
+
+\constfunc{void *}{GetNativeMatrix}{\void}
+
+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.
+
+\membersection{wxGraphicsMatrix::Invert}\label{wxgraphicsmatrixinvert}
+
+\func{void}{Invert}{\void}
+
+Inverts the matrix.
+
+\membersection{wxGraphicsMatrix::IsEqual}\label{wxgraphicsmatrixisequal}
+
+\constfunc{bool}{IsEqual}{\param{const wxGraphicsMatrix\& }{t}}
+
+Returns true if the elements of the transformation matrix are equal.
+
+\membersection{wxGraphicsMatrix::IsIdentity}\label{wxgraphicsmatrixisidentity}
+
+\constfunc{bool}{IsIdentity}{\void}
+
+Return true if this is the identity matrix.
+
+\membersection{wxGraphicsMatrix::Rotate}\label{wxgraphicsmatrixrotate}
+
+\func{void}{Rotate}{\param{wxDouble }{angle}}
+
+Rotates this matrix (radians).
+
+\membersection{wxGraphicsMatrix::Scale}\label{wxgraphicsmatrixscale}
+
+\func{void}{Scale}{\param{wxDouble }{xScale}, \param{wxDouble }{yScale}}
+
+Scales this matrix.
+
+\membersection{wxGraphicsMatrix::Translate}\label{wxgraphicsmatrixtranslate}
+
+\func{void}{Translate}{\param{wxDouble }{dx}, \param{wxDouble }{dy}}
+
+Translates this matrix.
+
+\membersection{wxGraphicsMatrix::Set}\label{wxgraphicsmatrixset}
+
+\func{void}{Set}{\param{wxDouble }{a = 1.0}, \param{wxDouble }{b = 0.0}, \param{wxDouble }{c = 0.0}, \param{wxDouble }{d = 1.0}, \param{wxDouble }{tx = 0.0}, \param{wxDouble }{ty = 0.0}}
+
+Sets the matrix to the respective values (default values are the identity matrix)
+
+\membersection{wxGraphicsMatrix::TransformPoint}\label{wxgraphicsmatrixtransformpoint}
+
+\constfunc{void}{TransformPoint}{\param{wxDouble* }{x}, \param{wxDouble* }{y}}
+
+Applies this matrix to a point.
+
+\membersection{wxGraphicsMatrix::TransformDistance}\label{wxgraphicsmatrixtransformdistance}
+
+\constfunc{void}{TransformDistance}{\param{wxDouble* }{dx}, \param{wxDouble* }{dy}}
+
+Applies this matrix to a distance (ie. performs all transforms except translations)
+
+
+
diff --git a/docs/latex/wx/graphicsobject.tex b/docs/latex/wx/graphicsobject.tex
new file mode 100755
index 0000000000..c0e7efec98
--- /dev/null
+++ b/docs/latex/wx/graphicsobject.tex
@@ -0,0 +1,41 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name:        graphicsobject.tex
+%% Purpose:     wxGraphicsObject class documentation
+%% Author:      Stefan Csomor
+%% Modified by:
+%% Created:     08.06.2004
+%% RCS-ID:      $Id$
+%% Copyright:   (c) Stefan Csomor
+%% License:     wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{\class{wxGraphicsObject}}\label{wxgraphicsobject}
+
+This class is the superclass of native graphics objects like pens etc. It allows reference counting. Not instantiated by user code.
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Include files}
+
+<wx/graphics.h>
+
+\wxheading{See also}
+
+\helpref{wxGraphicsPen}{wxgraphicsren}, \helpref{wxGraphicsBrush}{wxgraphicsbrush}, \helpref{wxGraphicsPen}{wxgraphicspen}, \helpref{wxGraphicsMatrix}{wxgraphicsmatrix}, \helpref{wxGraphicsPath}{wxgraphicspath}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxGraphicsObject::GetRenderer}\label{wxgraphicsobjectgetrenderer}
+
+\constfunc{wxGraphicsRenderer*}{GetRenderer}{\void}
+
+Returns the renderer that was used to create this instance, or NULL if it has not been initialized yet
+
+\membersection{wxGraphicsObject::IsNull}\label{wxgraphicsobjectisnull}
+
+\constfunc{bool}{IsNull}{\void}
+
+Is this object valid (false) or still empty (true)?
+
diff --git a/docs/latex/wx/graphicspath.tex b/docs/latex/wx/graphicspath.tex
new file mode 100755
index 0000000000..b2f2b35bd5
--- /dev/null
+++ b/docs/latex/wx/graphicspath.tex
@@ -0,0 +1,152 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name:        graphicspath.tex
+%% Purpose:     wxGraphicsPath class documentation
+%% Author:      Stefan Csomor
+%% Modified by:
+%% Created:     08.06.2004
+%% RCS-ID:      $Id$
+%% Copyright:   (c) Stefan Csomor
+%% License:     wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{\class{wxGraphicsPath}}\label{wxgraphicspath}
+
+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.
+
+\wxheading{Derived from}
+
+\helpref{wxGraphicsObject}{wxgraphicsobject}
+
+\wxheading{Include files}
+
+<wx/graphics.h>
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxGraphicsPath::MoveToPoint}\label{wxgraphicspathmovetopoint}
+
+\func{void}{MoveToPoint}{\param{wxDouble }{x}, \param{wxDouble }{y}}
+
+\func{void}{MoveToPoint}{\param{const wxPoint2DDouble\& }{p}}
+
+Begins a new subpath at (x,y)
+
+\membersection{wxGraphicsPath::AddArc}\label{wxgraphicspathaddarc}
+
+\func{void}{AddArc}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{r}, \param{wxDouble }{startAngle}, \param{wxDouble }{endAngle},
+ \param{bool }{clockwise}}
+
+Adds an arc of a circle centering at (x,y) with radius (r) from startAngle to endAngle.
+
+\func{void}{AddArc}{\param{const wxPoint2DDouble\& }{c}, \param{wxDouble }{r}, \param{wxDouble }{startAngle}, \param{wxDouble }{endAngle}, 
+\param{bool }{clockwise}}
+
+\membersection{wxGraphicsPath::AddArcToPoint}\label{wxgraphicspathaddarctopoint}
+
+\func{void}{AddArcToPoint}{\param{wxDouble }{x1}, \param{wxDouble }{y1}, \param{wxDouble }{x2}, \param{wxDouble }{y2}, \param{wxDouble }{r}}
+
+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).
+
+\membersection{wxGraphicsPath::AddCircle}\label{wxgraphicspathaddcircle}
+
+\func{void}{AddCircle}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{r}}
+
+Appends a circle around (x,y) with radius r as a new closed subpath.
+
+\membersection{wxGraphicsPath::AddCurveToPoint}\label{wxgraphicspathaddcurvetopoint}
+
+\func{void}{AddCurveToPoint}{\param{wxDouble }{cx1}, \param{wxDouble }{cy1}, \param{wxDouble }{cx2}, \param{wxDouble }{cy2}, \param{wxDouble }{x}, 
+\param{wxDouble }{y}}
+
+Adds a cubic Bezier curve from the current point, using two control points and an end point.
+
+\func{void}{AddCurveToPoint}{\param{const wxPoint2DDouble\& }{c1}, \param{const wxPoint2DDouble\& }{c2}, \param{const wxPoint2DDouble\& }{e}}
+
+\membersection{wxGraphicsPath::AddEllipse}\label{wxgraphicspathaddellipse}
+
+\func{void}{AddEllipse}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{w}, \param{wxDouble }{h}}
+
+Appends an ellipse fitting into the passed in rectangle.
+
+\membersection{wxGraphicsPath::AddLineToPoint}\label{wxgraphicspathaddlinetopoint}
+
+\func{void}{AddLineToPoint}{\param{wxDouble }{x}, \param{wxDouble }{y}}
+
+Adds a straight line from the current point to (x,y).
+
+\func{void}{AddLineToPoint}{\param{const wxPoint2DDouble\& }{p}}
+
+\membersection{wxGraphicsPath::AddPath}\label{wxgraphicspathaddpath}
+
+\func{void}{AddPath}{\param{const wxGraphicsPath\& }{path}}
+
+Adds another path.
+
+\membersection{wxGraphicsPath::AddQuadCurveToPoint}\label{wxgraphicspathaddquadcurvetopoint}
+
+\func{void}{AddQuadCurveToPoint}{\param{wxDouble }{cx}, \param{wxDouble }{cy}, \param{wxDouble }{x}, \param{wxDouble }{y}}
+
+Adds a quadratic Bezier curve from the current point, using a control point and an end point.
+
+\membersection{wxGraphicsPath::AddRectangle}\label{wxgraphicspathaddrectangle}
+
+\func{void}{AddRectangle}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{w}, \param{wxDouble }{h}}
+
+Appends a rectangle as a new closed subpath.
+
+\membersection{wxGraphicsPath::AddRoundedRectangle}\label{wxgraphicspathaddroundedrectangle}
+
+\func{void}{AddRoundedRectangle}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{w}, \param{wxDouble }{h}, \param{wxDouble }{radius}}
+
+Appends a rounded rectangle as a new closed subpath.
+
+\membersection{wxGraphicsPath::CloseSubpath}\label{wxgraphicspathclosesubpath}
+
+\func{void}{CloseSubpath}{\void}
+
+Closes the current sub-path.
+
+\membersection{wxGraphicsPath::Contains}\label{wxgraphicspathcontains}
+
+\constfunc{bool}{Contains}{\param{const wxPoint2DDouble\& }{c}, \param{int }{fillStyle = wxODDEVEN\_RULE}}
+
+\constfunc{bool}{Contains}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{int }{fillStyle = wxODDEVEN\_RULE}}
+
+Returns true if the point is within the path.
+
+\membersection{wxGraphicsPath::GetBox}\label{wxgraphicspathgetbox}
+
+\constfunc{wxRect2DDouble}{GetBox}{\void}
+
+\constfunc{void}{GetBox}{\param{wxDouble* }{x}, \param{wxDouble* }{y}, \param{wxDouble* }{w}, \param{wxDouble* }{h}}
+
+Gets the bounding box enclosing all points (possibly including control points).
+
+\membersection{wxGraphicsPath::GetCurrentPoint}\label{wxgraphicspathgetcurrentpoint}
+
+\constfunc{void}{GetCurrentPoint}{\param{wxDouble* }{x}, \param{wxDouble* }{y}}
+
+\constfunc{wxPoint2DDouble}{GetCurrentPoint}{\void}
+
+Gets the last point of the current path, (0,0) if not yet set.
+
+\membersection{wxGraphicsPath::Transform}\label{wxgraphicspathtransform}
+
+\func{void}{Transform}{\param{const wxGraphicsMatrix\& }{matrix}}
+
+Transforms each point of this path by the matrix.
+
+\membersection{wxGraphicsPath::GetNativePath}\label{wxgraphicspathgetnativepath}
+
+\constfunc{void *}{GetNativePath}{\void}
+
+Returns the native path (CGPathRef for Core Graphics, Path pointer for GDIPlus and a cairo\_path\_t pointer for cairo).
+
+\membersection{wxGraphicsPath::UnGetNativePath}\label{wxgraphicspathungetnativepath}
+
+\constfunc{void}{UnGetNativePath}{\param{void* }{p}}
+
+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).
+
diff --git a/docs/latex/wx/graphicspen.tex b/docs/latex/wx/graphicspen.tex
new file mode 100755
index 0000000000..02e19eebbb
--- /dev/null
+++ b/docs/latex/wx/graphicspen.tex
@@ -0,0 +1,23 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name:        graphicspen.tex
+%% Purpose:     wxGraphicsPen class documentation
+%% Author:      Stefan Csomor
+%% Modified by:
+%% Created:     08.06.2004
+%% RCS-ID:      $Id$
+%% Copyright:   (c) Stefan Csomor
+%% License:     wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{\class{wxGraphicsPen}}\label{wxgraphicspen}
+
+\wxheading{Derived from}
+
+\helpref{wxGraphicsObject}{wxgraphicsobject}
+
+A wxGraphicsPen is a native representation of a pen. It is used for stroking a path on a graphics context. 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 CreatePen call on the graphics context or the renderer instance.
+
+\wxheading{Include files}
+
+<wx/graphics.h>
+
diff --git a/docs/latex/wx/graphicsrenderer.tex b/docs/latex/wx/graphicsrenderer.tex
new file mode 100755
index 0000000000..5dc9b727fa
--- /dev/null
+++ b/docs/latex/wx/graphicsrenderer.tex
@@ -0,0 +1,98 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Name:        graphicsrenderer.tex
+%% Purpose:     wxGraphicsRenderer class documentation
+%% Author:      Stefan Csomor
+%% Modified by:
+%% Created:     08.06.2004
+%% RCS-ID:      $Id$
+%% Copyright:   (c) Stefan Csomor
+%% License:     wxWindows license
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\section{\class{wxGraphicsRenderer}}\label{wxgraphicsrenderer}
+
+A wxGraphicsRenderer is the instance corresponding to the rendering engine used. There may be multiple instances on a system, if there are different rendering engines present, but there is always one instance per engine, eg there is ONE core graphics renderer instance on OSX. This instance is pointed back to by all objects created by it (wxGraphicsContext, wxGraphicsPath etc). Therefore you can create ag additional instances of paths etc. by calling GetRenderer() and then using the appropriate CreateXXX function.
+
+\wxheading{Derived from}
+
+\helpref{wxObject}{wxobject}
+
+\wxheading{Include files}
+
+<wx/graphics.h>
+
+\wxheading{Data structures}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxGraphicsRenderer::GetDefaultRenderer}\label{wxgraphicsrenderergetdefaultrenderer}
+
+\func{wxGraphicsRenderer*}{GetDefaultRenderer}{\void}
+
+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.
+
+\membersection{wxGraphicsRenderer::CreateContext}\label{wxgraphicsrenderercreatecontext}
+
+\func{wxGraphicsContext *}{CreateContext}{\param{const wxWindowDC\& }{dc}}
+
+Creates a wxGraphicsContext from a wxWindowDC (eg a wxPaintDC).
+
+\func{wxGraphicsContext *}{CreateContext}{\param{wxWindow* }{window}}
+
+Creates a wxGraphicsContext from a wxWindow.
+
+\membersection{wxGraphicsRenderer::CreateContextFromNativeContext}\label{wxgraphicsrenderercreatecontextfromnativecontext}
+
+\func{wxGraphicsContext *}{CreateContextFromNativeContext}{\param{void * }{context}}
+
+Creates a wxGraphicsContext from a native context. This native context must be eg a CGContextRef for Core Graphics, a Graphics pointer for GDIPlus or a cairo\_t pointer for cairo.
+
+\membersection{wxGraphicsRenderer::CreateContextFromNativeWindow}\label{wxgraphicsrenderercreatecontextfromnativewindow}
+
+\func{wxGraphicsContext *}{CreateContextFromNativeWindow}{\param{void * }{window}}
+
+Creates a wxGraphicsContext from a native window. 
+
+\membersection{wxGraphicsRenderer::CreatePen}\label{wxgraphicsrenderercreatepen}
+
+\func{wxGraphicsPen}{CreatePen}{\param{const wxPen\& }{pen}}
+
+Creates a native pen from a wxPen.
+
+\membersection{wxGraphicsRenderer::CreateBrush}\label{wxgraphicsrenderercreatebrush}
+
+\func{wxGraphicsBrush}{CreateBrush}{\param{const wxBrush\& }{brush}}
+
+Creates a native brush from a wxBrush.
+
+\membersection{wxGraphicsRenderer::CreateLinearGradientBrush}\label{wxgraphicsrenderercreatelineargradientbrush}
+
+\func{wxGraphicsBrush}{CreateLinearGradientBrush}{\param{wxDouble }{x1}, \param{wxDouble }{y1}, \param{wxDouble }{x2}, \param{wxDouble }{y2}, \param{const }{wxColour\&c1}, \param{const }{wxColour\&c2}}
+
+Creates a native brush, having a linear gradient, starting at (x1,y1) with color c1 to (x2,y2) with color c2
+
+\membersection{wxGraphicsRenderer::CreateRadialGradientBrush}\label{wxgraphicsrenderercreateradialgradientbrush}
+
+\func{wxGraphicsBrush}{CreateRadialGradientBrush}{\param{wxDouble }{xo}, \param{wxDouble }{yo}, \param{wxDouble }{xc}, \param{wxDouble }{yc}, \param{wxDouble }{radius}, \param{const wxColour\& }{oColour}, \param{const wxColour\& }{cColour}}
+
+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
+
+\membersection{wxGraphicsRenderer::CreateFont}\label{wxgraphicsrenderercreatefont}
+
+\func{wxGraphicsFont}{CreateFont}{\param{const wxFont\& }{font}, \param{const wxColour\& }{col = *wxBLACK}}
+
+Creates a native graphics font from a wxFont and a text colour.
+
+\membersection{wxGraphicsRenderer::CreateMatrix}\label{wxgraphicsrenderercreatematrix}
+
+\func{wxGraphicsMatrix}{CreateMatrix}{\param{wxDouble }{a = 1.0}, \param{wxDouble }{b = 0.0}, \param{wxDouble }{c = 0.0}, \param{wxDouble }{d = 1.0}, \param{wxDouble }{tx = 0.0}, \param{wxDouble }{ty = 0.0}}
+
+Creates a native affine transformation matrix from the passed in values. The defaults result in an identity matrix.
+
+\membersection{wxGraphicsRenderer::CreatePath}\label{wxgraphicsrenderercreatepath}
+
+\func{wxGraphicsPath}{CreatePath}{\void}
+
+Creates a native graphics path which is initially empty.
+
+
-- 
2.50.0

