1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2%% Name:        graphicspath.tex
3%% Purpose:     wxGraphicsPath class documentation
4%% Author:      Stefan Csomor
5%% Modified by:
6%% Created:     08.06.2004
7%% RCS-ID:      $Id: graphicspath.tex 50200 2007-11-23 20:45:59Z VS $
8%% Copyright:   (c) Stefan Csomor
9%% License:     wxWindows license
10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
11
12\section{\class{wxGraphicsPath}}\label{wxgraphicspath}
13
14A 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 
15therefore 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.
16
17\wxheading{Derived from}
18
19\helpref{wxGraphicsObject}{wxgraphicsobject}
20
21\wxheading{Include files}
22
23<wx/graphics.h>
24
25\latexignore{\rtfignore{\wxheading{Members}}}
26
27\membersection{wxGraphicsPath::MoveToPoint}\label{wxgraphicspathmovetopoint}
28
29\func{void}{MoveToPoint}{\param{wxDouble }{x}, \param{wxDouble }{y}}
30
31\func{void}{MoveToPoint}{\param{const wxPoint2DDouble\& }{p}}
32
33Begins a new subpath at (x,y)
34
35\membersection{wxGraphicsPath::AddArc}\label{wxgraphicspathaddarc}
36
37\func{void}{AddArc}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{r}, \param{wxDouble }{startAngle}, \param{wxDouble }{endAngle},
38 \param{bool }{clockwise}}
39
40Adds an arc of a circle centering at (x,y) with radius (r) from startAngle to endAngle.
41
42\func{void}{AddArc}{\param{const wxPoint2DDouble\& }{c}, \param{wxDouble }{r}, \param{wxDouble }{startAngle}, \param{wxDouble }{endAngle}, 
43\param{bool }{clockwise}}
44
45\membersection{wxGraphicsPath::AddArcToPoint}\label{wxgraphicspathaddarctopoint}
46
47\func{void}{AddArcToPoint}{\param{wxDouble }{x1}, \param{wxDouble }{y1}, \param{wxDouble }{x2}, \param{wxDouble }{y2}, \param{wxDouble }{r}}
48
49Appends 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).
50
51\membersection{wxGraphicsPath::AddCircle}\label{wxgraphicspathaddcircle}
52
53\func{void}{AddCircle}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{r}}
54
55Appends a circle around (x,y) with radius r as a new closed subpath.
56
57\membersection{wxGraphicsPath::AddCurveToPoint}\label{wxgraphicspathaddcurvetopoint}
58
59\func{void}{AddCurveToPoint}{\param{wxDouble }{cx1}, \param{wxDouble }{cy1}, \param{wxDouble }{cx2}, \param{wxDouble }{cy2}, \param{wxDouble }{x}, 
60\param{wxDouble }{y}}
61
62Adds a cubic Bezier curve from the current point, using two control points and an end point.
63
64\func{void}{AddCurveToPoint}{\param{const wxPoint2DDouble\& }{c1}, \param{const wxPoint2DDouble\& }{c2}, \param{const wxPoint2DDouble\& }{e}}
65
66\membersection{wxGraphicsPath::AddEllipse}\label{wxgraphicspathaddellipse}
67
68\func{void}{AddEllipse}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{w}, \param{wxDouble }{h}}
69
70Appends an ellipse fitting into the passed in rectangle.
71
72\membersection{wxGraphicsPath::AddLineToPoint}\label{wxgraphicspathaddlinetopoint}
73
74\func{void}{AddLineToPoint}{\param{wxDouble }{x}, \param{wxDouble }{y}}
75
76Adds a straight line from the current point to (x,y).
77
78\func{void}{AddLineToPoint}{\param{const wxPoint2DDouble\& }{p}}
79
80\membersection{wxGraphicsPath::AddPath}\label{wxgraphicspathaddpath}
81
82\func{void}{AddPath}{\param{const wxGraphicsPath\& }{path}}
83
84Adds another path.
85
86\membersection{wxGraphicsPath::AddQuadCurveToPoint}\label{wxgraphicspathaddquadcurvetopoint}
87
88\func{void}{AddQuadCurveToPoint}{\param{wxDouble }{cx}, \param{wxDouble }{cy}, \param{wxDouble }{x}, \param{wxDouble }{y}}
89
90Adds a quadratic Bezier curve from the current point, using a control point and an end point.
91
92\membersection{wxGraphicsPath::AddRectangle}\label{wxgraphicspathaddrectangle}
93
94\func{void}{AddRectangle}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{w}, \param{wxDouble }{h}}
95
96Appends a rectangle as a new closed subpath.
97
98\membersection{wxGraphicsPath::AddRoundedRectangle}\label{wxgraphicspathaddroundedrectangle}
99
100\func{void}{AddRoundedRectangle}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{wxDouble }{w}, \param{wxDouble }{h}, \param{wxDouble }{radius}}
101
102Appends a rounded rectangle as a new closed subpath.
103
104\membersection{wxGraphicsPath::CloseSubpath}\label{wxgraphicspathclosesubpath}
105
106\func{void}{CloseSubpath}{\void}
107
108Closes the current sub-path.
109
110\membersection{wxGraphicsPath::Contains}\label{wxgraphicspathcontains}
111
112\constfunc{bool}{Contains}{\param{const wxPoint2DDouble\& }{c}, \param{int }{fillStyle = wxODDEVEN\_RULE}}
113
114\constfunc{bool}{Contains}{\param{wxDouble }{x}, \param{wxDouble }{y}, \param{int }{fillStyle = wxODDEVEN\_RULE}}
115
116Returns true if the point is within the path.
117
118\membersection{wxGraphicsPath::GetBox}\label{wxgraphicspathgetbox}
119
120\constfunc{wxRect2DDouble}{GetBox}{\void}
121
122\constfunc{void}{GetBox}{\param{wxDouble* }{x}, \param{wxDouble* }{y}, \param{wxDouble* }{w}, \param{wxDouble* }{h}}
123
124Gets the bounding box enclosing all points (possibly including control points).
125
126\membersection{wxGraphicsPath::GetCurrentPoint}\label{wxgraphicspathgetcurrentpoint}
127
128\constfunc{void}{GetCurrentPoint}{\param{wxDouble* }{x}, \param{wxDouble* }{y}}
129
130\constfunc{wxPoint2DDouble}{GetCurrentPoint}{\void}
131
132Gets the last point of the current path, (0,0) if not yet set.
133
134\membersection{wxGraphicsPath::Transform}\label{wxgraphicspathtransform}
135
136\func{void}{Transform}{\param{const wxGraphicsMatrix\& }{matrix}}
137
138Transforms each point of this path by the matrix.
139
140\membersection{wxGraphicsPath::GetNativePath}\label{wxgraphicspathgetnativepath}
141
142\constfunc{void *}{GetNativePath}{\void}
143
144Returns the native path (CGPathRef for Core Graphics, Path pointer for GDIPlus and a cairo\_path\_t pointer for cairo).
145
146\membersection{wxGraphicsPath::UnGetNativePath}\label{wxgraphicspathungetnativepath}
147
148\constfunc{void}{UnGetNativePath}{\param{void* }{p}}
149
150Gives back the native path returned by GetNativePath() because there might be some deallocations necessary (eg on cairo the native path returned by 
151GetNativePath is newly allocated each time).
152
153