These are the main \ogl\ classes.
-\section{\class{OGLConstraint}: wxObject}\label{oglconstraint}
+\section{\class{wxOGLConstraint}}\label{wxoglconstraint}
\overview{wxCompositeShape overview}{compositeshapeoverview}
-An OGLConstraint object helps specify how child shapes are laid out with respect
+An wxOGLConstraint object helps specify how child shapes are laid out with respect
to siblings and parents.
-\membersection{OGLConstraint::OGLConstraint}\label{oglconstraintconstr}
+\wxheading{Derived from}
-\func{void}{OGLConstraint}{\void}
+wxObject
+
+\wxheading{See also}
+
+\helpref{wxCompositeShape}{wxcompositeshape}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
+
+\membersection{wxOGLConstraint::wxOGLConstraint}\label{wxoglconstraintconstr}
+
+\func{}{wxOGLConstraint}{\void}
Default constructor.
-\func{void}{OGLConstraint}{\param{int}{ type}, \param{wxShape *}{constraining}, \param{wxList\& }{constrained}}
+\func{}{wxOGLConstraint}{\param{int}{ type}, \param{wxShape *}{constraining}, \param{wxList\& }{constrained}}
Constructor.
-{\it constraining} is the shape which is used as the reference for positioning the {\it constrained} objects.
+\wxheading{Parameters}
+
+\docparam{constraining}{The shape which is used as the reference for positioning the {\it constrained} objects.}
-{\it constrained} contains a list of wxShapes which are to be constrained (with respect
-to {\it constraining}) using {\it type}.
+\docparam{constrained}{Contains a list of wxShapes which are to be constrained (with respect
+to {\it constraining}) using {\it type}.}
-{\it type} can be one of:
+\docparam{type}{Can be one of:
\begin{itemize}\itemsep=0pt
\item {\bf gyCONSTRAINT\_CENTRED\_VERTICALLY}: the Y co-ordinates of the centres of the
the X co-ordinate of the right hand vertical edge of
the bounding box of the constraining object
\end{itemize}
+}
+\membersection{wxOGLConstraint::\destruct{wxOGLConstraint}}
-\membersection{OGLConstraint::\destruct{OGLConstraint}}
-
-\func{void}{\destruct{OGLConstraint}}{\void}
+\func{}{\destruct{wxOGLConstraint}}{\void}
Destructor.
-\membersection{OGLConstraint::Equals}
+\membersection{wxOGLConstraint::Equals}
-\func{bool}{Equals}{\param{float}{ x}, \param{float}{ y}}
+\func{bool}{Equals}{\param{double}{ x}, \param{double}{ y}}
Returns TRUE if {\it x} and {\it y} are approximately equal (for the purposes
of evaluating the constraint).
-\membersection{OGLConstraint::Evaluate}
+\membersection{wxOGLConstraint::Evaluate}
\func{bool}{Evaluate}{\void}
Evaluates this constraint, returning TRUE if anything changed.
-\membersection{OGLConstraint::SetSpacing}\label{oglconstraintsetspacing}
+\membersection{wxOGLConstraint::SetSpacing}\label{wxoglconstraintsetspacing}
-\func{void}{SetSpacing}{\param{float}{ x}, \param{float}{ y}}
+\func{void}{SetSpacing}{\param{double}{ x}, \param{double}{ y}}
Sets the horizontal and vertical spacing for the constraint.
-
-\section{\class{wxBitmapShape}: wxRectangleShape}\label{wxbitmapshape}
+\section{\class{wxBitmapShape}}\label{wxbitmapshape}
Draws a bitmap (non-resizable).
-See also \helpref{wxRectangleShape}{wxrectangleshape}.
+\wxheading{Derived from}
+
+\helpref{wxRectangleShape}{wxrectangleshape}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxBitmapShape::wxBitmapShape}
-\func{void}{wxBitmapShape}{\void}
+\func{}{wxBitmapShape}{\void}
Constructor.
\membersection{wxBitmapShape::\destruct{wxBitmapShape}}
-\func{void}{\destruct{wxBitmapShape}}{\void}
+\func{}{\destruct{wxBitmapShape}}{\void}
Destructor.
-\membersection{wxBitmapShape::GetDeleteBitmap}
-
-\func{bool}{GetDeleteBitmap}{\void}
-
-Returns TRUE if the bitmap will be deleted when the shape is deleted.
-
\membersection{wxBitmapShape::GetBitmap}
-\func{wxBitmap\&}{GetBitmap}{\void}
+\constfunc{wxBitmap\&}{GetBitmap}{\void}
Returns a reference to the bitmap associated with this shape.
\membersection{wxBitmapShape::GetFilename}
-\func{wxString}{GetFilename}{\void}
+\constfunc{wxString}{GetFilename}{\void}
Returns the bitmap filename.
-\membersection{wxBitmapShape::SetDeleteBitmap}
-
-\func{void}{SetDeleteBitmap}{\param{bool}{ deleteBitmap}}
-
-Determines whether the bitmap will be deleted when the shape is deleted.
-
\membersection{wxBitmapShape::SetBitmap}
\func{void}{SetBitmap}{\param{const wxBitmap\&}{ bitmap}}
Sets the bitmap filename.
-\section{\class{wxDiagram}: wxObject}\label{wxdiagram}
+\section{\class{wxDiagram}}\label{wxdiagram}
Encapsulates an entire diagram, with methods for reading/writing and drawing.
+A diagram has an associated wxShapeCanvas.
+
+\wxheading{Derived from}
+
+wxObject
+
+\wxheading{See also}
+
+\helpref{wxShapeCanvas}{wxshapecanvas}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxDiagram::wxDiagram}
-\func{void}{wxDiagram}{\void}
+\func{}{wxDiagram}{\void}
Constructor.
\membersection{wxDiagram::\destruct{wxDiagram}}
-\func{void}{\destruct{wxDiagram}}{\void}
+\func{}{\destruct{wxDiagram}}{\void}
Destructor.
\membersection{wxDiagram::AddShape}
-\func{void}{AddShape}{\param{wxShape *}{shape}, \param{wxShape *}{addAfter = NULL}}
+\func{void}{AddShape}{\param{wxShape*}{shape}, \param{wxShape *}{addAfter = NULL}}
Adds a shape to the diagram. If {\it addAfter} is non-NULL, the shape will be added after this
one.
\membersection{wxDiagram::Clear}
-\func{void}{Clear}{\void}
+\func{void}{Clear}{\param{wxDC\&}{ dc}}
-Clears the device context associated with the diagram.
+Clears the specified device context.
\membersection{wxDiagram::DeleteAllShapes}
\membersection{wxDiagram::DrawOutline}
-\func{void}{DrawOutline}{\param{float}{ x1}, \param{float}{ y1}, \param{float}{ x2}, \param{float}{ y2}}
+\func{void}{DrawOutline}{\param{wxDC\&}{ dc}, \param{double}{ x1}, \param{double}{ y1}, \param{double}{ x2}, \param{double}{ y2}}
Draws an outline rectangle on the current device context.
\membersection{wxDiagram::GetCanvas}
-\func{wxCanvas *}{GetCanvas}{\void}
+\constfunc{wxShapeCanvas*}{GetCanvas}{\void}
-Returns the canvas associated with this diagram.
+Returns the shape canvas associated with this diagram.
\membersection{wxDiagram::GetGridSpacing}
-\func{float}{GetGridSpacing}{\void}
+\constfunc{double}{GetGridSpacing}{\void}
Returns the grid spacing.
\membersection{wxDiagram::GetShapeList}
-\func{wxList *}{GetShapeList}{\void}
+\constfunc{wxList*}{GetShapeList}{\void}
Returns a pointer to the internal shape list.
\membersection{wxDiagram::GetQuickEditMode}
-\func{bool}{GetQuickEditMode}{\void}
+\constfunc{bool}{GetQuickEditMode}{\void}
Returns quick edit mode.
\membersection{wxDiagram::GetSnapToGrid}
-\func{bool}{GetSnapToGrid}{\void}
+\constfunc{bool}{GetSnapToGrid}{\void}
Returns snap-to-grid mode.
\func{bool}{LoadFile}{\param{const wxString\& }{filename}}
-Loads the diagram from a PrologIO file.
+Loads the diagram from a file.
\membersection{wxDiagram::OnDatabaseLoad}
-\func{void}{OnDatabaseLoad}{\param{PrologDatabase\&}{ database}}
+\func{void}{OnDatabaseLoad}{\param{wxExprDatabase\&}{ database}}
-Called just after the nodes and lines have been read from the PrologDatabase. You may override this;
+Called just after the nodes and lines have been read from the wxExprDatabase. You may override this;
the default member does nothing.
-
\membersection{wxDiagram::OnDatabaseSave}
-\func{void}{OnDatabaseSave}{\param{PrologDatabase\&}{ database}}
+\func{void}{OnDatabaseSave}{\param{wxExprDatabase\&}{ database}}
-Called just after the nodes and lines have been written to the PrologDatabase. You may override this;
+Called just after the nodes and lines have been written to the wxExprDatabase. You may override this;
the default member does nothing.
\membersection{wxDiagram::OnHeaderLoad}
-\func{bool}{OnHeaderLoad}{\param{PrologDatabase\&}{ database}, \param{PrologExpr\&}{ expr}}
+\func{bool}{OnHeaderLoad}{\param{wxExprDatabase\&}{ database}, \param{wxExpr\&}{ expr}}
Called to allow the `diagram' header object to be read. The default member reads no further information.
You may wish to override this to read version information, author name, etc.
-
\membersection{wxDiagram::OnHeaderSave}
-\func{bool}{OnHeaderSave}{\param{PrologDatabase\&}{ database}, \param{PrologExpr\&}{ expr}}
+\func{bool}{OnHeaderSave}{\param{wxExprDatabase\&}{ database}, \param{wxExpr\&}{ expr}}
Called to allow instantiation of the `diagram' header object. The default member writes no further information.
You may wish to override this to include version information, author name, etc.
\membersection{wxDiagram::OnShapeLoad}
-\func{bool}{OnShapeLoad}{\param{PrologDatabase\&}{ database}, \param{wxShape\&}{ shape}, \param{PrologExpr\&}{ expr}}
+\func{bool}{OnShapeLoad}{\param{wxExprDatabase\&}{ database}, \param{wxShape\&}{ shape}, \param{wxExpr\&}{ expr}}
Called to read the shape from the {\it expr}. You may override this, but call this function first.
-The default member calls ReadPrologAttributes for the shape.
+The default member calls ReadAttributes for the shape.
\membersection{wxDiagram::OnShapeSave}
-\func{bool}{OnShapeSave}{\param{PrologDatabase\&}{ database}, \param{wxShape\&}{ shape}, \param{PrologExpr\&}{ expr}}
+\func{bool}{OnShapeSave}{\param{wxExprDatabase\&}{ database}, \param{wxShape\&}{ shape}, \param{wxExpr\&}{ expr}}
Called to save the shape to the {\it expr} and {\it database}. You may override this, but call this function first.
-The default member calls WritePrologAttributes for the shape, appends the shape to the database, and of the shape
+The default member calls WriteAttributes for the shape, appends the shape to the database, and of the shape
is a composite, recursively calls OnShapeSave for its children.
\membersection{wxDiagram::ReadContainerGeometry}
-\func{void}{ReadContainerGeometry}{\param{PrologDatabase\&}{ database}}
+\func{void}{ReadContainerGeometry}{\param{wxExprDatabase\&}{ database}}
-Reads container geometry from a PrologDatabase, linking up nodes which
+Reads container geometry from a wxExprDatabase, linking up nodes which
are part of a composite. You probably won't need to redefine this.
\membersection{wxDiagram::ReadLines}
-\func{void}{ReadLines}{\param{PrologDatabase\&}{ database}}
+\func{void}{ReadLines}{\param{wxExprDatabase\&}{ database}}
-Reads lines from a PrologDatabase. You probably won't need to redefine this.
+Reads lines from a wxExprDatabase. You probably won't need to redefine this.
\membersection{wxDiagram::ReadNodes}
-\func{void}{ReadNodes}{\param{PrologDatabase\&}{ database}}
-
-Reads nodes from a PrologDatabase. You probably won't need to redefine this.
+\func{void}{ReadNodes}{\param{wxExprDatabase\&}{ database}}
+Reads nodes from a wxExprDatabase. You probably won't need to redefine this.
\membersection{wxDiagram::RecentreAll}
-\func{void}{RecentreAll}{\void}
+\func{void}{RecentreAll}{\param{wxDC\&}{ dc}}
Make sure all text that should be centred, is centred.
\membersection{wxDiagram::Redraw}
-\func{void}{Redraw}{\void}
+\func{void}{Redraw}{\param{wxDC\&}{ dc}}
-Draws the shapes in the diagram on the currently set device context.
+Draws the shapes in the diagram on the specified device context.
\membersection{wxDiagram::RemoveAllShapes}
\membersection{wxDiagram::RemoveShape}
-\func{void}{RemoveShape}{\param{wxShape *}{shape}}
+\func{void}{RemoveShape}{\param{wxShape*}{ shape}}
Removes the shape from the diagram (non-recursively) but does not delete it.
\func{bool}{SaveFile}{\param{const wxString\& }{filename}}
-Saves the diagram in a PrologIO file.
+Saves the diagram in a file.
-\membersection{wxDiagram::SetCanvas}
+\membersection{wxDiagram::SetCanvas}\label{wxdiagramsetcanvas}
-\func{void}{SetCanvas}{\param{wxShapeCanvas *}{canvas}}
+\func{void}{SetCanvas}{\param{wxShapeCanvas*}{ canvas}}
Sets the canvas associated with this diagram.
\membersection{wxDiagram::SetGridSpacing}
-\func{void}{SetGridSpacing}{\param{float}{ spacing}}
+\func{void}{SetGridSpacing}{\param{double}{ spacing}}
Sets the grid spacing. The default is 5.
\membersection{wxDiagram::Snap}
-\func{void}{Snap}{\param{float *}{x}, \param{float *}{y}}
+\func{void}{Snap}{\param{double *}{x}, \param{double *}{y}}
`Snaps' the coordinate to the nearest grid position, if snap-to-grid is on.
-
-\section{\class{wxDrawnShape}: wxRectangleShape}\label{wxdrawnshape}
+\section{\class{wxDrawnShape}}\label{wxdrawnshape}
Draws a pseduo-metafile shape, which can be loaded from a simple Windows metafile.
+wxDrawnShape allows you to specify a different shape for each of four orientations (North, West,
+South and East). It also provides a set of drawing functions for programmatic drawing of a shape,
+so that during construction of the shape you can draw into it as if it were a device context.
+
+\wxheading{Derived from}
+
+\helpref{wxRectangleShape}{wxrectangleshape}
+
See also \helpref{wxRectangleShape}{wxrectangleshape}.
+\latexignore{\rtfignore{\wxheading{Members}}}
+
\membersection{wxDrawnShape::wxDrawnShape}
-\func{void}{wxDrawnShape}{\void}
+\func{}{wxDrawnShape}{\void}
Constructor.
\membersection{wxDrawnShape::\destruct{wxDrawnShape}}
-\func{void}{\destruct{wxDrawnShape}}{\void}
+\func{}{\destruct{wxDrawnShape}}{\void}
Destructor.
+\membersection{wxDrawnShape::CalculateSize}
+
+\func{void}{CalculateSize}{\void}
+
+Calculates the wxDrawnShape size from the current metafile. Call this after you have drawn
+into the shape.
+
+\membersection{wxDrawnShape::DestroyClippingRect}\label{wxdrawnshapedestroyclippingrect}
+
+\func{void}{DestroyClippingRect}{\void}
+
+Destroys the clipping rectangle. See also \helpref{wxDrawnShape::SetClippingRect}{wxdrawnshapesetclippingrect}.
+
+\membersection{wxDrawnShape::DrawArc}\label{wxdrawnshapedrawarc}
+
+\func{void}{DrawArc}{\param{const wxPoint\&}{ centrePoint}, \param{const wxPoint\&}{ startPoint},
+ \param{const wxPoint\&}{ endPoint}}
+
+Draws an arc (see wxWindows documentation for details).
+
+\membersection{wxDrawnShape::DrawAtAngle}\label{wxdrawnshapedrawatangle}
+
+\func{void}{DrawAtAngle}{\param{int}{ angle}}
+
+Sets the metafile for the given orientation, which can be one of:
+
+\begin{itemize}\itemsep=0pt
+\item oglDRAWN\_ANGLE_0
+\item oglDRAWN\_ANGLE_90
+\item oglDRAWN\_ANGLE_180
+\item oglDRAWN\_ANGLE_270
+\end{itemize}
+
+See also \helpref{wxDrawnShape::GetAngle}{wxdrawnshapegetangle}.
+
+\membersection{wxDrawnShape::DrawEllipticArc}\label{wxdrawnshapedrawellipticarc}
+
+\func{void}{DrawEllipticArc}{\param{const wxRect\&}{ rect}, \param{double}{ startAngle}, \param{double}{ endAngle}}
+
+Draws an elliptic arc (see wxWindows documentation for details).
+
+\membersection{wxDrawnShape::DrawLine}\label{wxdrawnshapedrawline}
+
+\func{void}{DrawLine}{\param{const wxPoint\&}{ point1}, \param{const wxPoint\&}{ point2}}
+
+Draws a line from {\it point1} to {\it point2}.
+
+\membersection{wxDrawnShape::DrawLines}\label{wxdrawnshapedrawlines}
+
+\func{void}{DrawLines}{\param{int}{ n}, \param{wxPoint\&}{ points[]}}
+
+Draws {\it n} lines.
+
+\membersection{wxDrawnShape::DrawPoint}\label{wxdrawnshapedrawpoint}
+
+\func{void}{DrawPoint}{\param{const wxPoint\&}{ point}}
+
+Draws a point.
+
+\membersection{wxDrawnShape::DrawPolygon}\label{wxdrawnshapedrawpolygon}
+
+\func{void}{DrawPolygon}{\param{int}{ n}, \param{wxPoint\&}{ points[]}, \param{int}{ flags = 0}}
+
+Draws a polygon. {\it flags} can be one or more of {\bf oglMETAFLAGS\_OUTLINE} (use this polygon for the drag outline)
+and {\bf oglMETAFLAGS\_ATTACHMENTS} (use the vertices of this polygon for attachments).
+
+\membersection{wxDrawnShape::DrawRectangle}\label{wxdrawnshapedrawrectangle}
+
+\func{void}{DrawRectangle}{\param{const wxRect\&}{ rect}}
+
+Draws a rectangle.
+
+\membersection{wxDrawnShape::DrawRoundedRectangle}\label{wxdrawnshapedrawroundedrectangle}
+
+\func{void}{DrawRoundedRectangle}{\param{const wxRect\&}{ rect}, \param{double}{ radius}}
+
+Draws a rounded rectangle. {\it radius} is the corner radius. If {\it radius} is negative,
+it expresses the radius as a proportion of the smallest dimension of the rectangle.
+
+\membersection{wxDrawnShape::DrawSpline}\label{wxdrawnshapedrawspline}
+
+\func{void}{DrawSpline}{\param{int}{ n}, \param{wxPoint\&}{ points[]}}
+
+Draws a spline curve.
+
+\membersection{wxDrawnShape::DrawText}\label{wxdrawnshapedrawtext}
+
+\func{void}{DrawText}{\param{const wxString\&}{ text}, \param{const wxPoint\&}{ point}}
+
+Draws text at the given point.
+
+\membersection{wxDrawnShape::GetAngle}\label{wxdrawnshapegetangle}
+
+\constfunc{int}{GetAngle}{\void}
+
+Returns the current orientation, which can be one of:
+
+\begin{itemize}\itemsep=0pt
+\item oglDRAWN\_ANGLE_0
+\item oglDRAWN\_ANGLE_90
+\item oglDRAWN\_ANGLE_180
+\item oglDRAWN\_ANGLE_270
+\end{itemize}
+
+See also \helpref{wxDrawnShape::DrawAtAngle}{wxdrawnshapedrawatangle}.
+
\membersection{wxDrawnShape::GetMetaFile}
-\func{wxPseudoMetaFile\& }{GetMetaFile}{\void}
+\constfunc{wxPseudoMetaFile\& }{GetMetaFile}{\void}
Returns a reference to the internal `pseudo-metafile'.
+\membersection{wxDrawnShape::GetRotation}\label{wxdrawnshapegetrotation}
+
+\constfunc{double}{GetRotation}{\void}
+
+Returns the current rotation of the shape in radians.
+
\membersection{wxDrawnShape::LoadFromMetaFile}
\func{bool}{LoadFromMetaFile}{\param{const wxString\& }{filename}}
\membersection{wxDrawnShape::Rotate}
-\func{void}{Rotate}{\param{float }{x}, \param{float }{y}, \param{float }{theta}}
+\func{void}{Rotate}{\param{double }{x}, \param{double }{y}, \param{double }{theta}}
Rotate about the given axis by the given amount in radians.
+\membersection{wxDrawnShape::SetClippingRect}\label{wxdrawnshapesetclippingrect}
+
+\func{void}{SetClippingRect}{\param{const wxRect\&}{ rect}}
+
+Sets the clipping rectangle. See also \helpref{wxDrawnShape::DestroyClippingRect}{wxdrawnshapedestroyclippingrect}.
+
+\membersection{wxDrawnShape::SetDrawnBackgroundColour}\label{wxdrawnshapesetdrawnbackgroundcolour}
+
+\func{void}{SetDrawnBackgroundColour}{\param{const wxColour\&}{ colour}}
+
+Sets the current background colour for the current metafile.
+
+\membersection{wxDrawnShape::SetDrawnBackgroundMode}\label{wxdrawnshapesetdrawnbackgroundmode}
+
+\func{void}{SetDrawnBackgroundMode}{\param{int}{ mode}}
+
+Sets the current background mode for the current metafile.
+
+\membersection{wxDrawnShape::SetDrawnBrush}\label{wxdrawnshapesetdrawnbrush}
+
+\func{void}{SetDrawnBrush}{\param{wxPen*}{ pen}, \param{bool}{ isOutline = FALSE}}
+
+Sets the pen for this metafile. If {\it isOutline} is TRUE, this pen is taken to indicate the outline
+(and if the outline pen is changed for the whole shape, the pen will be replaced with the outline pen).
+
+\membersection{wxDrawnShape::SetDrawnFont}\label{wxdrawnshapesetdrawnfont}
+
+\func{void}{SetDrawnFont}{\param{wxFont*}{ font}}
+
+Sets the current font for the current metafile.
+
+\membersection{wxDrawnShape::SetDrawnPen}\label{wxdrawnshapesetdrawnpen}
+
+\func{void}{SetDrawnPen}{\param{wxPen*}{ pen}, \param{bool}{ isOutline = FALSE}}
+
+Sets the pen for this metafile. If {\it isOutline} is TRUE, this pen is taken to indicate the outline
+(and if the outline pen is changed for the whole shape, the pen will be replaced with the outline pen).
+
+\membersection{wxDrawnShape::SetDrawnTextColour}\label{wxdrawnshapesetdrawntextcolour}
+
+\func{void}{SetDrawnTextColour}{\param{const wxColour\&}{ colour}}
+
+Sets the current text colour for the current metafile.
+
\membersection{wxDrawnShape::Scale}
-\func{void}{Scale}{\param{float }{sx}, \param{float }{sy}}
+\func{void}{Scale}{\param{double }{sx}, \param{double }{sy}}
Scales the shape by the given amount.
\membersection{wxDrawnShape::Translate}
-\func{void}{Translate}{\param{float }{x}, \param{float }{y}}
+\func{void}{Translate}{\param{double }{x}, \param{double }{y}}
Translates the shape by the given amount.
-\section{\class{wxCircleShape}: wxEllipseShape}\label{wxcircleshape}
+\section{\class{wxCircleShape}}\label{wxcircleshape}
An wxEllipseShape whose width and height are the same.
-See also \helpref{wxEllipseShape}{wxellipseshape}.
+\wxheading{Derived from}
+
+\helpref{wxEllipseShape}{wxellipseshape}.
+
+\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxCircleShape::wxCircleShape}
-\func{void}{wxCircleShape}{\param{float}{ width = 0.0}}
+\func{}{wxCircleShape}{\param{double}{ width = 0.0}}
Constructor.
\membersection{wxCircleShape::\destruct{wxCircleShape}}
-\func{void}{\destruct{wxCircleShape}}{\void}
+\func{}{\destruct{wxCircleShape}}{\void}
Destructor.
-
-\section{\class{wxCompositeShape}: wxRectangleShape}\label{wxcompositeshape}
-
-\overview{wxCompositeShape overview}{compositeshapeoverview}
+\section{\class{wxCompositeShape}}\label{wxcompositeshape}
This is an object with a list of child objects, and a list of size
and positioning constraints between the children.
-See also \helpref{wxRectangleShape}{wxrectangleshape}.
+\wxheading{Derived from}
+
+\helpref{wxRectangleShape}{wxrectangleshape}
+
+\wxheading{See also}
+
+\helpref{wxCompositeShape overview}{compositeshapeoverview}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxCompositeShape::wxCompositeShape}
-\func{void}{wxCompositeShape}{\void}
+\func{}{wxCompositeShape}{\void}
Constructor.
\membersection{wxCompositeShape::\destruct{wxCompositeShape}}
-\func{void}{\destruct{wxCompositeShape}}{\void}
+\func{}{\destruct{wxCompositeShape}}{\void}
Destructor.
\membersection{wxCompositeShape::AddConstraint}\label{wxcompositeshapeaddconstraint}
-\func{OGLConstraint *}{AddConstraint}{\param{OGLConstraint *}{constraint}}
+\func{wxOGLConstraint *}{AddConstraint}{\param{wxOGLConstraint *}{constraint}}
-\func{OGLConstraint *}{AddConstraint}{\param{int}{ type}, \param{wxShape *}{constraining}, \param{wxList\&}{constrained}}
+\func{wxOGLConstraint *}{AddConstraint}{\param{int}{ type}, \param{wxShape *}{constraining}, \param{wxList\&}{constrained}}
-\func{OGLConstraint *}{AddConstraint}{\param{int}{ type}, \param{wxShape *}{constraining}, \param{wxShape *}{constrained}}
+\func{wxOGLConstraint *}{AddConstraint}{\param{int}{ type}, \param{wxShape *}{constraining}, \param{wxShape *}{constrained}}
Adds a constraint to the composite.
\membersection{wxCompositeShape::DeleteConstraint}
-\func{void}{DeleteConstraint}{\param{OGLConstraint *}{constraint}}
+\func{void}{DeleteConstraint}{\param{wxOGLConstraint *}{constraint}}
Deletes constraint from composite.
\membersection{wxCompositeShape::FindConstraint}
-\func{OGLConstraint *}{FindConstraint}{\param{long}{ id}, \param{wxCompositeShape **}{actualComposite}}
+\func{wxOGLConstraint *}{FindConstraint}{\param{long}{ id}, \param{wxCompositeShape **}{actualComposite}}
Finds the constraint with the given id, also returning the actual composite the constraint was in,
in case that composite was a descendant of this composite.
\membersection{wxCompositeShape::GetConstraints}
-\func{wxList\&}{GetConstraints}{\void}
+\constfunc{wxList\&}{GetConstraints}{\void}
Returns a reference to the list of constraints.
\membersection{wxCompositeShape::GetDivisions}
-\func{wxList\&}{GetDivisions}{\void}
+\constfunc{wxList\&}{GetDivisions}{\void}
Returns a reference to the list of divisions.
Removes the child from the composite and any constraint relationships, but does not
delete the child.
-\section{\class{wxDividedShape}: wxRectangleShape}\label{wxdividedshape}
-
-\overview{wxDividedShape overview}{dividedshapeoverview}
+\section{\class{wxDividedShape}}\label{wxdividedshape}
A wxDividedShape is a rectangle with a number of vertical divisions. Each
division may have its text formatted with independent characteristics, and
the size of each division relative to the whole image may be specified.
-See also \helpref{wxRectangleShape}{wxrectangleshape}.
+\wxheading{Derived from}
+
+\helpref{wxRectangleShape}{wxrectangleshape}
+
+\wxheading{See also}
+
+\helpref{wxDividedShape overview}{dividedshapeoverview}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxDividedShape::wxDividedShape}
-\func{void}{wxDividedShape}{\param{float}{ width = 0.0}, \param{float}{ height = 0.0}}
+\func{}{wxDividedShape}{\param{double}{ width = 0.0}, \param{double}{ height = 0.0}}
Constructor.
\membersection{wxDividedShape::\destruct{wxDividedShape}}
-\func{void}{\destruct{wxDividedShape}}{\void}
+\func{}{\destruct{wxDividedShape}}{\void}
Destructor.
Set all region sizes according to proportions and
this object total size.
+\section{\class{wxDivisionShape}}\label{wxdivisionshape}
+A division shape is like a composite in that it can contain further objects, but is used exclusively to
+divide another shape into regions, or divisions. A wxDivisionShape is never free-standing.
+\wxheading{Derived from}
-\section{\class{wxDivisionShape}: wxCompositeShape}\label{wxdivisionshape}
+\helpref{wxCompositeShape}{wxcompositeshape}
-\overview{wxCompositeShape overview}{compositeshapeoverview}
+\wxheading{See also}
-A division shape is like a composite in that it can contain further objects, but is used exclusively to
-divide another shape into regions, or divisions. A wxDivisionShape is never free-standing.
+\helpref{wxCompositeShape overview}{compositeshapeoverview}
-See also \helpref{wxCompositeShape}{wxcompositeshape}.
+\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxDivisionShape::wxDivisionShape}
-\func{void}{wxDivisionShape}{\void}
+\func{}{wxDivisionShape}{\void}
Constructor.
\membersection{wxDivisionShape::\destruct{wxDivisionShape}}
-\func{void}{\destruct{wxDivisionShape}}{\void}
+\func{}{\destruct{wxDivisionShape}}{\void}
Destructor.
\membersection{wxDivisionShape::AdjustBottom}
-\func{void}{AdjustBottom}{\param{float}{ bottom}, \param{bool}{ test}}
+\func{void}{AdjustBottom}{\param{double}{ bottom}, \param{bool}{ test}}
Adjust a side, returning FALSE if it's not physically possible to adjust it to this point.
\membersection{wxDivisionShape::AdjustLeft}
-\func{void}{AdjustLeft}{\param{float}{ left}, \param{bool}{ test}}
+\func{void}{AdjustLeft}{\param{double}{ left}, \param{bool}{ test}}
Adjust a side, returning FALSE if it's not physically possible to adjust it to this point.
\membersection{wxDivisionShape::AdjustRight}
-\func{void}{AdjustRight}{\param{float}{ right}, \param{bool}{ test}}
+\func{void}{AdjustRight}{\param{double}{ right}, \param{bool}{ test}}
Adjust a side, returning FALSE if it's not physically possible to adjust it to this point.
\membersection{wxDivisionShape::AdjustTop}
-\func{void}{AdjustTop}{\param{float}{ top}, \param{bool}{ test}}
+\func{void}{AdjustTop}{\param{double}{ top}, \param{bool}{ test}}
Adjust a side, returning FALSE if it's not physically possible to adjust it to this point.
Returns a pointer to the pen used for drawing the left side of the division.
-
\membersection{wxDivisionShape::ResizeAdjoining}
-\func{void}{ResizeAdjoining}{\param{int}{ side}, \param{float}{ newPos}, \param{bool}{ test}}
+\func{void}{ResizeAdjoining}{\param{int}{ side}, \param{double}{ newPos}, \param{bool}{ test}}
Resize adjoining divisions at the given side. If {\it test} is TRUE,
just see whether it's possible for each adjoining region,
\membersection{wxDivisionShape::PopupMenu}
-\func{void}{PopupMenu}{\param{float}{ x}, \param{float}{ y}}
+\func{void}{PopupMenu}{\param{double}{ x}, \param{double}{ y}}
Popup the division menu.
Sets the pen for drawing the top side of the division.
-
-
-\section{\class{wxEllipseShape}: wxShape}\label{wxellipseshape}
+\section{\class{wxEllipseShape}}\label{wxellipseshape}
The wxEllipseShape behaves similarly to the wxRectangleShape but is
elliptical.
-See also \helpref{wxShape}{wxshape}.
+\wxheading{Derived from}
+
+\helpref{wxShape}{wxshape}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxEllipseShape::wxEllipseShape}
-\func{void}{wxEllipseShape}{\param{float}{ width = 0.0}, \param{float}{ height = 0.0}}
+\func{}{wxEllipseShape}{\param{double}{ width = 0.0}, \param{double}{ height = 0.0}}
Constructor.
\membersection{wxEllipseShape::\destruct{wxEllipseShape}}
-\func{void}{\destruct{wxEllipseShape}}{\void}
+\func{}{\destruct{wxEllipseShape}}{\void}
Destructor.
-\section{\class{wxLineShape}: wxShape}\label{wxlineshape}
+\section{\class{wxLineShape}}\label{wxlineshape}
A wxLineShape may be attached to two nodes; it may be segmented, in which
case a control point is drawn for each joint.
-See also \helpref{wxShape}{wxshape}.
+A wxLineShape may have arrows at the beginning, end and centre.
+
+\wxheading{Derived from}
+
+\helpref{wxShape}{wxshape}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxLineShape::wxLineShape}
-\func{void}{wxLineShape}{\void}
+\func{}{wxLineShape}{\void}
-\func{void}{wxLineShape}{\param{wxList *}{list}}
+Constructor.
-Constructors. In the second (usual) form, supply a list of wxPoints, each to be used
-as a `control point' for the line. The minimum number of points is two.
+Usually you will call \helpref{wxLineShape::MakeLineControlPoints}{wxlineshapemakelinecontrolpoints} to
+specify the number of segments in the line.
\membersection{wxLineShape::\destruct{wxLineShape}}
-\func{void}{\destruct{wxLineShape}}{\void}
+\func{}{\destruct{wxLineShape}}{\void}
Destructor.
-\membersection{wxLineShape::AddArrow}
+\membersection{wxLineShape::AddArrow}\label{wxlineshapeaddarrow}
-\func{void}{AddArrow}{\param{WXTYPE}{ type}, \param{bool}{ end = ARROW\_POSITION\_END}, \param{float}{ arrowSize = 10.0},
- \param{float}{ xOffset = 0.0}, \param{const wxString\& }{name = NULL}, \param{wxPseudoMetaFile *}{mf = NULL}, \param{long}{ arrowId = -1}}
+\func{void}{AddArrow}{\param{WXTYPE}{ type}, \param{bool}{ end = ARROW\_POSITION\_END}, \param{double}{ arrowSize = 10.0},
+ \param{double}{ xOffset = 0.0}, \param{const wxString\& }{name = ""}, \param{wxPseudoMetaFile *}{mf = NULL}, \param{long}{ arrowId = -1}}
Adds an arrow (or annotation) to the line.
\membersection{wxLineShape::DrawArrow}
-\func{void}{DrawArrow}{\param{ArrowHead *}{arrow}, \param{float}{ xOffset}, \param{bool}{ proportionalOffset}}
+\func{void}{DrawArrow}{\param{ArrowHead *}{arrow}, \param{double}{ xOffset}, \param{bool}{ proportionalOffset}}
Draws the given arrowhead (or annotation).
\membersection{wxLineShape::DrawArrows}
-\func{void}{DrawArrows}{\void}
+\func{void}{DrawArrows}{\param{wxDC\&}{ dc}}
Draws all arrows.
\membersection{wxLineShape::DrawRegion}
-\func{void}{DrawRegion}{\param{wxShapeRegion *}{region}, \param{float}{ x}, \param{float}{ y}}
+\func{void}{DrawRegion}{\param{wxDC\&}{ dc}, \param{wxShapeRegion *}{region}, \param{double}{ x}, \param{double}{ y}}
Format one region at this position.
\membersection{wxLineShape::EraseRegion}
-\func{void}{EraseRegion}{\param{wxShapeRegion *}{region}, \param{float}{ x}, \param{float}{ y}}
+\func{void}{EraseRegion}{\param{wxDC\&}{ dc}, \param{wxShapeRegion *}{region}, \param{double}{ x}, \param{double}{ y}}
Format one region at this position.
\membersection{wxLineShape::FindLineEndPoints}
-\func{void}{FindLineEndPoints}{\param{float *}{fromX}, \param{float *}{fromY}, \param{float *}{toX}, \param{float *}{toY}}
+\func{void}{FindLineEndPoints}{\param{double *}{fromX}, \param{double *}{fromY}, \param{double *}{toX}, \param{double *}{toY}}
Finds the x, y points at the two ends of the line. This function can be
used by e.g. line-routing routines to get the actual points on the two
\membersection{wxLineShape::FindLinePosition}
-\func{int}{FindLinePosition}{\param{float }{x}, \param{float }{y}}
+\func{int}{FindLinePosition}{\param{double }{x}, \param{double }{y}}
Find which position we're talking about at this x, y.
Returns ARROW\_POSITION\_START, ARROW\_POSITION\_MIDDLE, ARROW\_POSITION\_END.
\membersection{wxLineShape::FindMinimumWidth}
-\func{float}{FindMinimumWidth}{\void}
+\func{double}{FindMinimumWidth}{\void}
Finds the horizontal width for drawing a line with arrows in minimum
space. Assume arrows at end only.
\membersection{wxLineShape::GetAttachmentFrom}
-\func{int}{GetAttachmentFrom}{\void}
+\constfunc{int}{GetAttachmentFrom}{\void}
Returns the attachment point on the `from' node.
\membersection{wxLineShape::GetAttachmentTo}
-\func{int}{GetAttachmentTo}{\void}
+\constfunc{int}{GetAttachmentTo}{\void}
Returns the attachment point on the `to' node.
\membersection{wxLineShape::GetEnds}
-\func{void}{GetEnds}{\param{float *}{x1}, \param{float *}{y1}, \param{float *}{x2}, \param{float *}{y2}}
+\func{void}{GetEnds}{\param{double *}{x1}, \param{double *}{y1}, \param{double *}{x2}, \param{double *}{y2}}
Gets the visible endpoints of the lines for drawing between two objects.
-\membersection{wxLineShape::GetFormatMode}
-
-\func{int}{GetFormatMode}{\param{int}{ regionId = 0}}
-
-Returns the format mode for this region. See als \helpref{SetFormatMode}{setformatmode}.
-
\membersection{wxLineShape::GetFrom}
-\func{wxShape *}{GetFrom}{\void}
+\constfunc{wxShape *}{GetFrom}{\void}
Gets the `from' object.
\membersection{wxLineShape::GetLabelPosition}
-\func{void}{GetLabelPosition}{\param{int}{ position}, \param{float *}{x}, \param{float *}{y}}
+\func{void}{GetLabelPosition}{\param{int}{ position}, \param{double *}{x}, \param{double *}{y}}
Get the reference point for a label. Region x and y are offsets from this.
position is 0 (middle), 1 (start), 2 (end).
Returns TRUE if a spline is drawn through the control points, and FALSE otherwise.
-\membersection{wxLineShape::MakeLineControlPoints}
+\membersection{wxLineShape::MakeLineControlPoints}\label{wxlineshapemakelinecontrolpoints}
\func{void}{MakeLineControlPoints}{\param{int}{ n}}
-Make a given number of control points.
+Make a given number of control points (minimum of two).
\membersection{wxLineShape::OnMoveLink}
-\func{void}{OnMoveLink}{\void}
+\func{void}{OnMoveLink}{\param{wxDC\&}{ dc}, \param{bool}{ moveControlPoints = TRUE}}
Called when a connected object has moved, to move the link to
correct position.
+\membersection{wxLineShape::SetAttachmentFrom}
+
+\func{void}{SetAttachmentTo}{\param{int}{ fromAttach}}
+
+Sets the `from' shape attachment.
+
\membersection{wxLineShape::SetAttachments}
\func{void}{SetAttachments}{\param{int}{ fromAttach}, \param{int}{ toAttach}}
Specifies which object attachment points should be used at each end of the line.
+\membersection{wxLineShape::SetAttachmentTo}
+
+\func{void}{SetAttachmentTo}{\param{int}{ toAttach}}
+
+Sets the `to' shape attachment.
+
\membersection{wxLineShape::SetEnds}
-\func{void}{SetEnds}{\param{float}{ x1}, \param{float}{ y1}, \param{float}{ x2}, \param{float}{ y2}}
+\func{void}{SetEnds}{\param{double}{ x1}, \param{double}{ y1}, \param{double}{ x2}, \param{double}{ y2}}
Sets the end positions of the line.
\membersection{wxLineShape::Straighten}
-\func{void}{Straighten}{\void}
+\func{void}{Straighten}{\param{wxDC*}{ dc = NULL}}
-Straighten verticals and horizontals.
+Straighten verticals and horizontals. {\it dc} is optional.
\membersection{wxLineShape::Unlink}
Unlinks the line from the nodes at either end.
-
-\section{\class{wxPolygonShape}: wxShape}\label{wxpolygonshape}
+\section{\class{wxPolygonShape}}\label{wxpolygonshape}
A wxPolygonShape's shape is defined by a number of points passed to the object's
constructor. It can be used to create new shapes such as diamonds and triangles.
-See also \helpref{wxShape}{wxshape}.
+\wxheading{Derived from}
+
+\helpref{wxShape}{wxshape}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxPolygonShape::wxPolygonShape}
-\func{void}{wxPolygonShape}{void}
+\func{}{wxPolygonShape}{void}
-Constructor. Call Create to specify the polygon's vertices.
+Constructor. Call \helpref{wxPolygonShape::Create}{wxpolygonshapecreate} to specify the polygon's vertices.
\membersection{wxPolygonShape::\destruct{wxPolygonShape}}
-\func{void}{\destruct{wxPolygonShape}}{\void}
+\func{}{\destruct{wxPolygonShape}}{\void}
Destructor.
-\membersection{wxPolygonShape::Create}
+\membersection{wxPolygonShape::Create}\label{wxpolygonshapecreate}
-\func{void}{Create}{\param{wxList *}{points}}
+\func{void}{Create}{\param{wxList*}{ points}}
-Takes a list of wxPoints; each point is an {\it offset} from the centre.
+Takes a list of wxRealPoints; each point is an {\it offset} from the centre.
The polygon's destructor will delete these points, so do not delete them yourself.
\membersection{wxPolygonShape::AddPolygonPoint}
\func{wxList *}{GetPoints}{\void}
-Returns a pointer to the internal list of polygon vertices.
+Returns a pointer to the internal list of polygon vertices (wxRealPoints).
\membersection{wxPolygonShape::UpdateOriginalPoints}
If we've changed the shape, must make the original
points match the working points with this function.
-\section{\class{wxRectangleShape}: wxShape}\label{wxrectangleshape}
+\section{\class{wxRectangleShape}}\label{wxrectangleshape}
The wxRectangleShape has rounded or square corners.
-See also \helpref{wxShape}{wxshape}.
+\wxheading{Derived from}
+
+\helpref{wxShape}{wxshape}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxRectangleShape::wxRectangleShape}
-\func{void}{wxRectangleShape}{\param{float}{ width = 0.0}, \param{float}{ height = 0.0}}
+\func{}{wxRectangleShape}{\param{double}{ width = 0.0}, \param{double}{ height = 0.0}}
Constructor.
\membersection{wxRectangleShape::\destruct{wxRectangleShape}}
-\func{void}{\destruct{wxRectangleShape}}{\void}
+\func{}{\destruct{wxRectangleShape}}{\void}
Destructor.
\membersection{wxRectangleShape::SetCornerRadius}
-\func{void}{SetCornerRadius}{\param{float}{ radius}}
+\func{void}{SetCornerRadius}{\param{double}{ radius}}
Sets the radius of the rectangle's rounded corners. If the radius is zero, a non-rounded
rectangle will be drawn. If the radius is negative, the value is the proportion of the
smaller dimension of the rectangle.
-\section{\class{wxPseudoMetaFile}: wxObject}\label{wxpseudometafile}
+\section{\class{wxPseudoMetaFile}}\label{wxpseudometafile}
A simple metafile-like class which can load data from a Windows metafile on all platforms.
+\wxheading{Derived from}
+
+wxObject
-\section{\class{wxShape}: wxShapeEvtHandler}\label{wxshape}
+\section{\class{wxShape}}\label{wxshape}
The wxShape is the top-level, abstract object that all other
objects are derived from. All common functionality is represented by
classes and have behaviour as documented for wxShape, are not
documented separately.
-See also \helpref{wxShapeEvtHandler}{wxshapeevthandler}.
+\wxheading{Derived from}
+
+\helpref{wxShapeEvtHandler}{wxshapeevthandler}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxShape::wxShape}
-\func{void}{wxShape}{\param{wxShapeCanvas *}{canvas = NULL}}
+\func{}{wxShape}{\param{wxShapeCanvas*}{ canvas = NULL}}
Constructs a new wxShape.
\membersection{wxShape::\destruct{wxShape}}
-\func{void}{\destruct{wxShape}}{\void}
+\func{}{\destruct{wxShape}}{\void}
Destructor.
\membersection{wxShape::AddLine}
-\func{void}{AddLine}{\param{wxLineShape *}{line}, \param{wxShape *}{other}, \param{int}{attachFrom = 0}, \param{int}{ attachTo = 0}}
+\func{void}{AddLine}{\param{wxLineShape *}{line}, \param{wxShape *}{other}, \param{int}{attachFrom = 0}, \param{int}{ attachTo = 0},
+ \param{int}{ positionFrom = -1}, \param{int}{ positionTo = -1}}
-Adds a line between the specified canvas objects, at the specified attachment points.
+Adds a line between the specified canvas shapes, at the specified attachment points.
+
+The position in the list of lines at each end can also be specified, so that the line will be drawn
+at a particular point on its attachment point.
\membersection{wxShape::AddRegion}
-\func{void}{AddRegion}{\param{wxShapeRegion *}{region}}
+\func{void}{AddRegion}{\param{wxShapeRegion*}{ region}}
Adds a region to the shape.
\func{void}{AddText}{\param{const wxString\& }{string}}
-Adds a line of text to the object's default text region.
+Adds a line of text to the shape's default text region.
\membersection{wxShape::AddToCanvas}
-\func{void}{AddToCanvas}{\param{wxShapeCanvas *}{theCanvas}, \param{wxShape *}{addAfter=NULL}}
+\func{void}{AddToCanvas}{\param{wxShapeCanvas*}{ theCanvas}, \param{wxShape*}{ addAfter=NULL}}
-Adds the object to the canvas's object list. If {\it addAfter} is
+Adds the shape to the canvas's shape list. If {\it addAfter} is
non-NULL, will add the shape after this one.
\membersection{wxShape::AncestorSelected}
-\func{bool}{AncestorSelected}{\void}
+\constfunc{bool}{AncestorSelected}{\void}
+
+TRUE if the shape's ancestor is currently selected.
-TRUE if the object's ancestor is currently selected.
+\membersection{wxShape::ApplyAttachmentOrdering}\label{wxshapeapplyattachmentordering}
+
+\func{void}{ApplyAttachmentOrdering}{\param{wxList\&}{ linesToSort}}
+
+Applies the line ordering in {\it linesToSort} to the shape, to reorder the way lines are attached.
\membersection{wxShape::AssignNewIds}
Assigns new ids to this image and its children.
-\membersection{wxShape::Attach}
+\membersection{wxShape::Attach}\label{wxshapeattach}
+
+\func{void}{Attach}{\param{wxShapeCanvas*}{ can}}
+
+Sets the shape's internal canvas pointer to point to the given canvas.
+
+\membersection{wxShape::AttachmentIsValid}\label{wxshapeattachmentisvalid}
+
+\constfunc{bool}{AttachmentIsValid}{\param{int}{ attachment}}
+
+Returns TRUE if {\it attachment} is a valid attachment point.
+
+\membersection{wxShape::AttachmentSortTest}\label{wxshapeattachmentsorttest}
+
+\constfunc{bool}{AttachmentSortTest}{\param{int}{ attachment}, \param{const wxRealPoint\&}{ pt1},
+ \param{const wxRealPoint\&}{ pt2}}
+
+Returns TRUE if {\it pt1} is less than or equal to {\it pt2}, in the sense
+that one point comes before another on an edge of the shape. {\it attachment} is
+the attachment point (side) in question.
+
+This function is used in \helpref{wxShape::MoveLineToNewAttachment}{wxshapemovelinetonewattachment} to
+determine the new line ordering.
+
+\membersection{wxShape::CalcSimpleAttachment}\label{wxshapecalcsimpleattachment}
+
+\func{wxRealPoint}{CalcSimpleAttachment}{\param{const wxRealPoint\&}{ pt1},
+ \param{const wxRealPoint\&}{ pt2}, \param{int}{ nth}, \param{int}{ noArcs}, \param{wxLineShape*}{ line}}
+
+Assuming the attachment lies along a vertical or horizontal line,
+calculates the position on that point.
+
+\wxheading{Parameters}
+
+\docparam{pt1}{The first point of the line repesenting the edge of the shape.}
-\func{void}{Attach}{\param{wxShapeCanvas *}{can}}
+\docparam{pt2}{The second point of the line representing the edge of the shape.}
-Sets the object's internal canvas pointer to point to the given canvas.
+\docparam{nth}{The position on the edge (for example there may be 6 lines at this attachment point,
+and this may be the 2nd line.}
+
+\docparam{noArcs}{The number of lines at this edge.}
+
+\docparam{line}{The line shape.}
+
+\wxheading{Remarks}
+
+This function expects the line to be either vertical or horizontal, and determines which.
\membersection{wxShape::CalculateSize}
\func{void}{CalculateSize}{\void}
-Called to calculate the object's size if dependent on children sizes.
+Called to calculate the shape's size if dependent on children sizes.
\membersection{wxShape::ClearAttachments}
\func{void}{ClearAttachments}{\void}
-Clears internal custom attachment point objects (of class wxAttachmentPoint).
+Clears internal custom attachment point shapes (of class wxAttachmentPoint).
\membersection{wxShape::ClearRegions}
\func{bool}{Constrain}{\void}
-Calculates the object's constraints (if any). Applicable
-only to wxCompositeShape, does nothing if the object is of
+Calculates the shape's constraints (if any). Applicable
+only to wxCompositeShape, does nothing if the shape is of
a different class.
-\membersection{wxShape::Copy}
+\membersection{wxShape::Copy}\label{wxshapecopy}
\func{void}{Copy}{\param{wxShape\&}{ copy}}
-Copy the object into the given object. Every derived class must have one of these.
+Copy this shape into {\it copy}. Every derived class must have one of these, and each Copy implementation
+must call the derived class's implementation to ensure everything is copied. See also \helpref{wxShape::CreateNewCopy}{wxshapecreatenewcopy}.
-\membersection{wxShape::CreateNewCopy}
+\membersection{wxShape::CreateNewCopy}\label{wxshapecreatenewcopy}
-\func{wxShape *}{CreateNewCopy}{\param{wxShapeCanvas *}{theCanvas = NULL}}
+\func{wxShape* }{CreateNewCopy}{\param{bool}{ resetMapping = TRUE}, \param{bool}{ recompute = TRUE}}
-Creates and returns a new copy of this object (calling PrivateCopy). Do not override this function.
+Creates and returns a new copy of this shape (calling \helpref{wxShape::Copy}{wxshapecopy}). Do not override this function.
This function should always be used to create a new copy, since it must do special processing
for copying constraints associated with constraints.
+If {\it resetMapping} is TRUE, a mapping table used for complex shapes is reset; this may not be desirable
+if the shape being copied is a child of a composite (and so the mapping table is in use).
+
+If {\it recompute} is TRUE, \helpref{wxShape::Recompute}{wxshaperecompute} is called for the new shape.
+
+\wxheading{Remarks}
+
+This function uses the wxWindows dynamic object creation system to create a new shape of the same
+type as `this', before calling Copy.
+
+If the event handler for this shape is not the same as the shape itself, the event handler is also copied
+using \helpref{wxShapeEvtHandler::CreateNewCopy}{wxshapeevthandlercreatenewcopy}.
+
\membersection{wxShape::DeleteControlPoints}
\func{void}{DeleteControlPoints}{\void}
-Deletes the control points (or handles) for the object. Does not redraw
-the object.
+Deletes the control points (or handles) for the shape. Does not redraw
+the shape.
\membersection{wxShape::Detach}
\func{void}{Detach}{\void}
-Disassociates the object from its canvas by setting the internal object
+Disassociates the shape from its canvas by setting the internal shape
canvas pointer to NULL.
\membersection{wxShape::Draggable}
\func{bool}{Draggable}{\void}
-TRUE if the object may be dragged by the user.
+TRUE if the shape may be dragged by the user.
\membersection{wxShape::Draw}
-\func{void}{Draw}{\void}
+\func{void}{Draw}{\param{wxDC\&}{ dc}}
-Draws the whole object and any lines attached to it.
+Draws the whole shape and any lines attached to it.
Do not override this function: override OnDraw, which is called
by this function.
\membersection{wxShape::DrawContents}
-\func{void}{DrawContents}{\void}
+\func{void}{DrawContents}{\param{wxDC\&}{ dc}}
-Draws the internal graphic of the object (such as
+Draws the internal graphic of the shape (such as
text).
Do not override this function: override OnDrawContents, which is called
by this function.
-\membersection{wxShape::DrawLines}
+\membersection{wxShape::DrawLinks}
-\func{void}{DrawLinks}{\param{int}{ attachment = -1}}
+\func{void}{DrawLinks}{\param{wxDC\&}{ dc}, \param{int}{ attachment = -1}}
-Draws any lines linked to this object.
+Draws any lines linked to this shape.
\membersection{wxShape::Erase}
-\func{void}{Erase}{\void}
+\func{void}{Erase}{\param{wxDC\&}{ dc}}
-Erases the object, but does not repair damage caused to other
-objects.
+Erases the shape, but does not repair damage caused to other
+shapes.
\membersection{wxShape::EraseContents}
-\func{void}{EraseContents}{\void}
+\func{void}{EraseContents}{\param{wxDC\&}{ dc}}
-Erases the object contents, that is, the area within the object's
+Erases the shape contents, that is, the area within the shape's
minimum bounding box.
\membersection{wxShape::EraseLinks}
-\func{void}{EraseLinks}{\param{int}{ attachment = -1}}
+\func{void}{EraseLinks}{\param{wxDC\&}{ dc}, \param{int}{ attachment = -1}}
-Erases links attached to this object, but does not repair
-damage caused to other objects.
+Erases links attached to this shape, but does not repair
+damage caused to other shapes.
\membersection{wxShape::FindRegion}
\func{void}{Flash}{\void}
-Flashes the object.
+Flashes the shape.
\membersection{wxShape::FormatText}
\membersection{wxShape::GetAttachmentMode}
-\func{void}{GetAttachmentMode}{\void}
+\constfunc{bool}{GetAttachmentMode}{\void}
-Returns the attachment mode. See \helpref{SetAttachmentMode}{setattachmentmode}.
+Returns the attachment mode, which is TRUE if attachments are used, FALSE otherwise (in which case
+lines will be drawn as if to the centre of the shape). See \helpref{wxShape::SetAttachmentMode}{wxshapesetattachmentmode}.
-\membersection{wxShape::GetAttachmentPosition}
+\membersection{wxShape::GetAttachmentPosition}\label{wxshapegetattachmentposition}
-\func{void}{GetAttachmentPosition}{\param{int}{ attachment}, \param{float *}{x}, \param{float *}{y}, \param{int}{ nth = 0}, \param{int}{ noArcs = 1}}
+\func{bool}{GetAttachmentPosition}{\param{int}{ attachment}, \param{double*}{ x}, \param{double*}{ y},
+ \param{int}{ nth = 0}, \param{int}{ noArcs = 1}, \param{wxLineShape*}{ line = NULL}}
Gets the position at which the given attachment point should be drawn.
+If {\it attachment} isn't found among the attachment points of the shape, returns FALSE.
+
\membersection{wxShape::GetBoundingBoxMax}
-\func{void}{GetBoundingBoxMax}{\param{float *}{width}, \param{float *}{height}}
+\func{void}{GetBoundingBoxMax}{\param{double *}{width}, \param{double *}{height}}
-Gets the maximum bounding box for the object, taking into
+Gets the maximum bounding box for the shape, taking into
account external features such as shadows.
\membersection{wxShape::GetBoundingBoxMin}
-\func{void}{GetBoundingBoxMin}{\param{float *}{width}, \param{float *}{height}}
+\func{void}{GetBoundingBoxMin}{\param{double *}{width}, \param{double *}{height}}
-Gets the minimum bounding box for the object, that defines
+Gets the minimum bounding box for the shape, that defines
the area available for drawing the contents (such as text).
\membersection{wxShape::GetBrush}
-\func{wxBrush *}{GetBrush}{\void}
+\constfunc{wxBrush*}{GetBrush}{\void}
Returns the brush used for filling the shape.
\membersection{wxShape::GetCanvas}
-\func{wxShapeCanvas *}{GetCanvas}{\void}
+\constfunc{wxShapeCanvas*}{GetCanvas}{\void}
Gets the internal canvas pointer.
\membersection{wxShape::GetCentreResize}
-\func{bool}{GetCentreResize}{\void}
+\constfunc{bool}{GetCentreResize}{\void}
Returns TRUE if the shape is to be resized from the centre (the centre
stands still), or FALSE if from the corner or side being dragged (the
\membersection{wxShape::GetChildren}
-\func{wxList\&}{GetChildren}{\void}
+\constfunc{wxList\&}{GetChildren}{\void}
Returns a reference to the list of children for this shape.
\membersection{wxShape::GetClientData}
-\func{wxObject *}{GetClientData}{\void}
+\func{wxObject*}{GetClientData}{\void}
-Gets the client data associated with the object (NULL if there is
+Gets the client data associated with the shape (NULL if there is
none).
\membersection{wxShape::GetDisableLabel}
-\func{bool}{GetDisableLabel}{\void}
+\constfunc{bool}{GetDisableLabel}{\void}
Returns TRUE if the default region will not be shown, FALSE otherwise.
\membersection{wxShape::GetEventHandler}
-\func{wxShapeEvtHandler *}{GetEventHandler}{\void}
+\constfunc{wxShapeEvtHandler*}{GetEventHandler}{\void}
Returns the event handler for this shape.
\membersection{wxShape::GetFixedHeight}
-\func{bool}{GetFixedHeight}{\void}
+\constfunc{bool}{GetFixedHeight}{\void}
Returns TRUE if the shape cannot be resized in the vertical plane.
\membersection{wxShape::GetFixedSize}
-\func{void}{GetFixedSize}{\param{bool *}{ x}, \param{bool *}{ y}}
+\func{void}{GetFixedSize}{\param{bool *}{ x}, \param{bool *}{ y}}
Returns flags indicating whether the shape is of fixed size in either direction.
\membersection{wxShape::GetFixedWidth}
-\func{bool}{GetFixedWidth}{\void}
+\constfunc{bool}{GetFixedWidth}{\void}
Returns TRUE if the shape cannot be resized in the horizontal plane.
\membersection{wxShape::GetFont}
-\func{int}{GetFont}{\param{int}{ regionId = 0}}
+\constfunc{wxFont*}{GetFont}{\param{int}{ regionId = 0}}
Gets the font for the specified text region.
\membersection{wxShape::GetFunctor}
-\func{char*}{GetFunctor}{\void}
+\constfunc{wxString}{GetFunctor}{\void}
-Gets a string representing the type of the object, to be used when
-writing out object descriptions to a file. This is overridden by
-each derived object class to provide an appropriate type string.
+Gets a string representing the type of the shape, to be used when
+writing out shape descriptions to a file. This is overridden by
+each derived shape class to provide an appropriate type string. By default,
+"node\_image" is used for non-line shapes, and "arc\_image" for lines.
\membersection{wxShape::GetId}
-\func{long}{GetId}{\void}
+\constfunc{long}{GetId}{\void}
Returns the integer identifier for this shape.
+\membersection{wxShape::GetLinePosition}\label{wxshapegetlineposition}
+
+\func{int}{GetLinePosition}{\param{wxLineShape*}{ line}}
+
+Gets the zero-based position of {\it line} in the list of lines for this shape.
+
\membersection{wxShape::GetLines}
-\func{wxList\&}{GetLines}{\void}
+\constfunc{wxList\&}{GetLines}{\void}
Returns a reference to the list of lines connected to this shape.
-\membersection{wxShape::GetNumberOfAttachments}
+\membersection{wxShape::GetNumberOfAttachments}\label{wxshapegetnumberofattachments}
-\func{int}{GetNumberOfAttachments}{\void}
+\constfunc{int}{GetNumberOfAttachments}{\void}
-Gets the number of attachment points for this object.
+Gets the number of attachment points for this shape.
\membersection{wxShape::GetNumberOfTextRegions}
-\func{int}{GetNumberOfTextRegions}{\void}
+\constfunc{int}{GetNumberOfTextRegions}{\void}
-Gets the number of text regions for this object.
+Gets the number of text regions for this shape.
\membersection{wxShape::GetParent}
-\func{wxShape *}{GetParent}{\void}
+\constfunc{wxShape *}{GetParent}{\void}
Returns the parent of this shape, if it is part of a composite.
\membersection{wxShape::GetPen}
-\func{wxPen *}{GetPen}{\void}
+\constfunc{wxPen*}{GetPen}{\void}
Returns the pen used for drawing the shape's outline.
\membersection{wxShape::GetPerimeterPoint}
-\func{bool}{GetPerimeterPoint}{\param{float}{ x1}, \param{float}{ y1}, \param{float}{ x2}, \param{float}{ y2}, \param{float *}{x3}, \param{float *}{y3}}
+\func{bool}{GetPerimeterPoint}{\param{double}{ x1}, \param{double}{ y1}, \param{double}{ x2}, \param{double}{ y2}, \param{double *}{x3}, \param{double *}{y3}}
-Gets the point at which the line from (x1, y1) to (x2, y2) hits the object. Returns TRUE if the
+Gets the point at which the line from (x1, y1) to (x2, y2) hits the shape. Returns TRUE if the
line hits the perimeter.
\membersection{wxShape::GetRegionId}\label{getregionid}
\func{wxString}{GetRegionName}{\param{int}{ regionId = 0}}
Gets the region's name. A region's name can be used to uniquely determine a region within
-an entire composite image hierarchy. See also \helpref{SetRegionName}{setregionname}.
+an entire composite image hierarchy. See also \helpref{wxShape::SetRegionName}{wxshapesetregionname}.
\membersection{wxShape::GetRegions}\label{getregions}
\membersection{wxShape::GetRotation}
-\func{float}{GetRotatation}{\void}
+\constfunc{double}{GetRotatation}{\void}
Returns the angle of rotation in radians.
\membersection{wxShape::GetSensitivityFilter}
-\func{void}{GetSensitivityFilter}{\void}
+\constfunc{void}{GetSensitivityFilter}{\void}
-Returns the sensitivity filter, a bitlist of values. See \helpref{SetSensitivityFilter}{setsensitivityfilter}.
+Returns the sensitivity filter, a bitlist of values. See \helpref{wxShape::SetSensitivityFilter}{wxshapesetsensitivityfilter}.
\membersection{wxShape::GetShadowMode}
-\func{int}{SetShadowMode}{\void}
+\constfunc{int}{SetShadowMode}{\void}
-Returns the shadow mode. See \helpref{SetShadowMode}{setshadowmode}.
+Returns the shadow mode. See \helpref{wxShape::SetShadowMode}{wxshapesetshadowmode}.
\membersection{wxShape::GetSpaceAttachments}
-\func{bool}{GetSpaceAttachments}{\void}
+\constfunc{bool}{GetSpaceAttachments}{\void}
Indicates whether lines should be spaced out evenly at the point they touch the node (TRUE), or whether they
should join at a single point (FALSE).
\membersection{wxShape::GetTextColour}
-\func{wxString}{GetTextColour}{\param{int}{ regionId = 0}}
+\constfunc{wxString}{GetTextColour}{\param{int}{ regionId = 0}}
Gets the colour for the specified text region.
\membersection{wxShape::GetTopAncestor}
-\func{wxShape *}{GetTopAncestor}{\void}
+\constfunc{wxShape *}{GetTopAncestor}{\void}
Returns the top-most ancestor of this shape (the root of the composite).
\membersection{wxShape::GetX}
-\func{float}{GetX}{\void}
+\constfunc{double}{GetX}{\void}
-Gets the x position of the centre of the object.
+Gets the x position of the centre of the shape.
\membersection{wxShape::GetY}
-\func{float}{GetY}{\void}
+\constfunc{double}{GetY}{\void}
-Gets the y position of the centre of the object.
+Gets the y position of the centre of the shape.
\membersection{wxShape::HitTest}
-\func{bool}{HitTest}{\param{float}{ x}, \param{float}{ y}, \param{int *}{attachment}, \param{float *}{distance}}
+\func{bool}{HitTest}{\param{double}{ x}, \param{double}{ y}, \param{int*}{ attachment}, \param{double*}{ distance}}
-Given a point on a canvas, returns TRUE if the point was on the object, and returns
+Given a point on a canvas, returns TRUE if the point was on the shape, and returns
the nearest attachment point and distance from the given point and target.
\membersection{wxShape::Insert}
-\func{void}{InsertInCanvas}{\param{wxShapeCanvas *}{canvas}}
+\func{void}{InsertInCanvas}{\param{wxShapeCanvas*}{ canvas}}
-Inserts the shape at the front of the object list of {\it canvas}.
+Inserts the shape at the front of the shape list of {\it canvas}.
\membersection{wxShape::IsHighlighted}
-\func{bool}{IsHighlighted}{\void}
+\constfunc{bool}{IsHighlighted}{\void}
Returns TRUE if the shape is highlighted. Shape highlighting is unimplemented.
\membersection{wxShape::IsShown}
-\func{bool}{IsShown}{\void}
+\constfunc{bool}{IsShown}{\void}
Returns TRUE if the shape is in a visible state, FALSE otherwise. Note
that this has nothing to do with whether the window is hidden or the
\func{void}{MakeControlPoints}{\void}
-Make a list of control points (draggable handles) appropriate to the object.
+Make a list of control points (draggable handles) appropriate to the shape.
\membersection{wxShape::MakeMandatoryControlPoints}
appear even if the divided rectangle shape's handles should not appear (because it is the child of
a composite, and children are not resizable).
-\membersection{wxShape::Move}
+\membersection{wxShape::Move}\label{wxshapemove}
+
+\func{void}{Move}{\param{wxDC\&}{ dc}, \param{double}{ x1}, \param{double}{ y1}, \param{bool}{ display = TRUE}}
-\func{void}{Move}{\param{float}{ x1}, \param{float}{ y1}, \param{bool}{ display = TRUE}}
+Move the shape to the given position, redrawing if {\it display} is TRUE.
-Move the object to the given position, redrawing if {\it display} is TRUE.
+\membersection{wxShape::MoveLineToNewAttachment}\label{wxshapemovelinetonewattachment}
-\membersection{wxShape::MoveLineToNewAttachment}
+\func{void}{MoveLineToNewAttachment}{\param{wxDC\&}{ dc}, \param{wxLineShape*}{ toMove}, \param{double}{ x}, \param{double}{ y}}
-\func{void}{MoveLineToNewAttachment}{\param{wxLineShape *}{toMove}, \param{float}{ x}, \param{float}{ y}}
+Move the given line (which must already be attached to the shape) to
+a different attachment point on the shape, or a different order on the same attachment.
-Move the given line (which must already be attached to the object) to
-a different attachment point on the object.
+Cals \helpref{wxShape::AttachmentSortTest}{wxshapeattachmentsorttest} and then \helpref{wxShapeEvtHandler::OnChangeAttachment}{wxshapeevthandleronchangeattachment}.
\membersection{wxShape::MoveLinks}
-\func{void}{MoveLinks}{\void}
+\func{void}{MoveLinks}{\param{wxDC\&}{ dc}}
-Redraw all the lines attached to the object.
+Redraw all the lines attached to the shape.
\membersection{wxShape::NameRegions}
Make unique names for all the regions in a shape or composite shape.
-\membersection{wxShape::NewCopy}
-
-\func{wxShape *}{NewCopy}{\void}
-
-Returns a new instance, and does the copy for this class. Should be
-defined for each object class.
-
-\membersection{wxShape::PrivateCopy}
-
-\func{wxShape *}{PrivateCopy}{\void}
-
-Returns a new instance, and does the copy for this class. This member
-should be define for each class.
-
\membersection{wxShape::Rotate}
-\func{void}{Rotate}{\param{float }{x}, \param{float }{y}, \param{float }{theta}}
+\func{void}{Rotate}{\param{double }{x}, \param{double }{y}, \param{double }{theta}}
Rotate about the given axis by the given amount in radians (does nothing
-for most objects). But even non-rotating objects should record their
-notional rotation in case it's important (e.g. in dog-leg code).
+for most shapes). But even non-rotating shapes should record their
+notional rotation in case it's important (e.g. in dog-leg code).
\membersection{wxShape::ReadConstraints}
-\func{void}{ReadConstraints}{\param{PrologExpr *}{clause}, \param{PrologDatabase *}{database}}
+\func{void}{ReadConstraints}{\param{wxExpr *}{clause}, \param{wxExprDatabase *}{database}}
-If the object is a composite, it may have constraints that need to be read in in a separate pass.
+If the shape is a composite, it may have constraints that need to be read in in a separate pass.
-\membersection{wxShape::ReadPrologAttributes}
+\membersection{wxShape::ReadAttributes}
-\func{void}{ReadPrologAttributes}{\param{PrologExpr *}{clause}}
+\func{void}{ReadAttributes}{\param{wxExpr*}{ clause}}
Reads the attributes (data member values) from the given expression.
\membersection{wxShape::ReadRegions}
-\func{void}{ReadRegions}{\param{PrologExpr *}{clause}}
+\func{void}{ReadRegions}{\param{wxExpr *}{clause}}
Reads in the regions.
\func{void}{Recentre}{\void}
-Does recentring (or other formatting) for all the text regions for this object.
+Does recentring (or other formatting) for all the text regions for this shape.
\membersection{wxShape::RemoveFromCanvas}
-\func{void}{RemoveFromCanvas}{\param{wxShapeCanvas *}{canvas}}
+\func{void}{RemoveFromCanvas}{\param{wxShapeCanvas*}{ canvas}}
Removes the shape from the canvas.
\func{void}{ResetControlPoints}{\void}
Resets the positions of the control points (for instance when the
-object's shape has changed).
+shape's shape has changed).
\membersection{wxShape::ResetMandatoryControlPoints}
appear even if the divided rectangle shape's handles should not appear (because it is the child of
a composite, and children are not resizable).
-\membersection{wxShape::Recompute}
+\membersection{wxShape::Recompute}\label{wxshaperecompute}
\func{bool}{Recompute}{\void}
-Recomputes any constraints associated with the object (normally
+Recomputes any constraints associated with the shape (normally
applicable to wxCompositeShapes only, but harmless for other
-classes of object).
+classes of shape).
\membersection{wxShape::RemoveLine}
-\func{void}{RemoveLine}{\param{wxLineShape *}{line}}
+\func{void}{RemoveLine}{\param{wxLineShape*}{ line}}
-Removes the given line from the object's list of attached lines.
+Removes the given line from the shape's list of attached lines.
-\membersection{wxShape::Select}
+\membersection{wxShape::Select}\label{wxshapeselect}
\func{void}{Select}{\param{bool}{ select = TRUE}}
-Selects or deselects the given object, drawing or erasing control points
+Selects or deselects the given shape, drawing or erasing control points
(handles) as necessary.
-\membersection{wxShape::Selected}
+\membersection{wxShape::Selected}\label{wxshapeselected}
-\func{bool}{Selected}{\void}
+\constfunc{bool}{Selected}{\void}
-TRUE if the object is currently selected.
+TRUE if the shape is currently selected.
-\membersection{wxShape::SetAttachmentMode}\label{setattachmentmode}
+\membersection{wxShape::SetAttachmentMode}\label{wxshapesetattachmentmode}
\func{void}{SetAttachmentMode}{\param{bool}{ flag}}
Sets the attachment mode to TRUE or FALSE. If TRUE, attachment points
-will be significant when drawing lines to and from this object.
-If FALSE, lines will be drawn as if to the centre of the object.
+will be significant when drawing lines to and from this shape.
+If FALSE, lines will be drawn as if to the centre of the shape.
\membersection{wxShape::SetBrush}
\func{void}{SetBrush}{\param{wxBrush *}{brush}}
-Sets the brush for filling the object's shape.
+Sets the brush for filling the shape's shape.
-\membersection{wxShape::SetCanvas}
+\membersection{wxShape::SetCanvas}\label{wxshapesetcanvas}
-\func{void}{SetCanvas}{\param{wxShapeCanvas *}{theCanvas}}
+\func{void}{SetCanvas}{\param{wxShapeCanvas*}{ theCanvas}}
-Identical to Attach.
+Identical to \helpref{wxShape::Attach}{wxshapesetcanvas}.
\membersection{wxShape::SetCentreResize}
Sets the client data.
-
-\membersection{wxShape::SetDC}
-
-\func{void}{SetDC}{\param{wxDC *}{dc}}
-
-Sets the device context associated with the object. This may temporarily be set
-to (for example) a printer device context, so that the object will be printed
-instead of drawn on a canvas.
-
\membersection{wxShape::SetDefaultRegionSize}\label{setdefaultregionsize}
\func{void}{SetDefaultRegionSize}{\void}
\func{void}{SetDraggable}{\param{bool}{ drag}, \param{bool}{ recursive = FALSE}}
-Sets the object to be draggable or not draggable.
+Sets the shape to be draggable or not draggable.
\membersection{wxShape::SetDrawHandles}
\func{void}{SetFixedSize}{\param{bool}{ x}, \param{bool}{ y}}
-Sets the object to be of the given, fixed size.
+Sets the shape to be of the given, fixed size.
\membersection{wxShape::SetFont}
\func{void}{SetPen}{\param{wxPen *}{pen}}
-Sets the pen for drawing the object's outline.
+Sets the pen for drawing the shape's outline.
-\membersection{wxShape::SetRegionName}\label{setregionname}
+\membersection{wxShape::SetRegionName}\label{wxshapesetregionname}
\func{void}{SetRegionName}{\param{const wxString\& }{name}, \param{int}{ regionId = 0}}
Sets the name for this region. The name for a region is unique within the scope of the whole
composite, whereas a region id is unique only for a single image.
-\membersection{wxShape::SetSensitivityFilter}\label{setsensitivityfilter}
+\membersection{wxShape::SetSensitivityFilter}\label{wxshapesetsensitivityfilter}
\func{void}{SetSensitivityFilter}{\param{int}{ sens=OP\_ALL}, \param{bool}{ recursive = FALSE}}
-Sets the object to be sensitive or insensitive to specific mouse operations.
+Sets the shape to be sensitive or insensitive to specific mouse operations.
{\it sens} is a bitlist of the following:
\item OP\_ALL (equivalent to a combination of all the above).
\end{itemize}
-\membersection{wxShape::SetShadowMode}\label{setshadowmode}
+\membersection{wxShape::SetShadowMode}\label{wxshapesetshadowmode}
\func{void}{SetShadowMode}{\param{int}{ mode}, \param{bool}{ redraw = FALSE}}
\membersection{wxShape::SetSize}
-\func{void}{SetSize}{\param{float}{ x}, \param{float}{ y}, \param{bool}{ recursive = TRUE}}
+\func{void}{SetSize}{\param{double}{ x}, \param{double}{ y}, \param{bool}{ recursive = TRUE}}
-Sets the object's size.
+Sets the shape's size.
\membersection{wxShape::SetSpaceAttachments}
\membersection{wxShape::SetX}
-\func{void}{SetX}{\param{float}{ x}}
+\func{void}{SetX}{\param{double}{ x}}
Sets the {\it x} position of the shape.
\membersection{wxShape::SetX}
-\func{void}{SetY}{\param{float}{ y}}
+\func{void}{SetY}{\param{double}{ y}}
Sets the {\it y} position of the shape.
\func{void}{SpaceAttachments}{\param{bool}{ sp}}
Sets the spacing mode: if TRUE, lines at the same attachment point will be
-spaced evenly across that side of the object. If false, all lines at the
+spaced evenly across that side of the shape. If false, all lines at the
same attachment point will emanate from the same point.
\membersection{wxShape::Show}
\func{void}{Show}{\param{bool}{ show}}
-Sets a flag indicating whether the object should be drawn.
+Sets a flag indicating whether the shape should be drawn.
\membersection{wxShape::Unlink}
\func{void}{Unlink}{\void}
-If the shape is a line, unlinks the nodes attached to the object, removing itself from the list of
+If the shape is a line, unlinks the nodes attached to the shape, removing itself from the list of
lines for each of the `to' and `from' nodes.
-\membersection{wxShape::WritePrologAttributes}
+\membersection{wxShape::WriteAttributes}
-\func{void}{WritePrologAttributes}{\param{PrologExpr *}{clause}}
+\func{void}{WriteAttributes}{\param{wxExpr *}{clause}}
-Writes the object's attributes (data member values) into the given expression.
+Writes the shape's attributes (data member values) into the given expression.
\membersection{wxShape::WriteRegions}
-\func{void}{WriteRegions}{\param{PrologExpr *}{clause}}
+\func{void}{WriteRegions}{\param{wxExpr *}{clause}}
Writes the regions.
+\section{\class{wxShapeCanvas}}\label{wxshapecanvas}
+
+A canvas for drawing diagrams on.
+\wxheading{Derived from}
-\section{\class{wxShapeCanvas}: wxCanvas}\label{wxshapecanvas}
+wxScrolledWindow
-A canvas for drawing diagrams on.
+\wxheading{See also}
+
+\helpref{wxDiagram}{wxdiagram}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxShapeCanvas::wxShapeCanvas}
-\func{void}{wxShapeCanvas}{\void}
+\func{}{wxShapeCanvas}{\param{wxWindow*}{ parent = NULL}, \param{wxWindowID}{ id = -1},
+ \param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},
+ \param{long}{ style = wxBORDER}}
Constructor.
\membersection{wxShapeCanvas::\destruct{wxShapeCanvas}}
-\func{void}{\destruct{wxShapeCanvas}}{\void}
+\func{}{\destruct{wxShapeCanvas}}{\void}
Destructor.
Adds a shape to the diagram. If {\it addAfter} is non-NULL, the shape will be added after this
one.
-\membersection{wxShapeCanvas::Clear}
-
-\func{void}{Clear}{\void}
-
-Clears the device context associated with the diagram.
-
-\membersection{wxShapeCanvas::DrawOutline}
-
-\func{void}{DrawOutline}{\param{float}{ x1}, \param{float}{ y1}, \param{float}{ x2}, \param{float}{ y2}}
-
-Draws an outline rectangle on the current device context.
-
\membersection{wxShapeCanvas::FindShape}
-\func{wxShape *}{FindShape}{\param{float}{ x1}, \param{float}{ y}, \param{int *}{attachment}, \param{wxClassInfo *}{info = NULL},
+\func{wxShape *}{FindShape}{\param{double}{ x1}, \param{double}{ y}, \param{int *}{attachment}, \param{wxClassInfo *}{info = NULL},
\param{wxShape *}{notImage = NULL}}
Find a shape under this mouse click. Returns the shape (or NULL), and the nearest attachment point.
\membersection{wxShapeCanvas::FindFirstSensitiveShape}
-\func{wxShape *}{FindFirstSensitiveShape}{\param{float}{ x1}, \param{float}{ y}, \param{int *}{attachment}, \param{int}{ op}}
+\func{wxShape *}{FindFirstSensitiveShape}{\param{double}{ x1}, \param{double}{ y}, \param{int *}{attachment}, \param{int}{ op}}
Finds the first sensitive shape whose sensitivity filter matches {\it op}, working up the hierarchy of composites until
one (or none) is found.
-\membersection{wxShapeCanvas::GetCanvas}
+\membersection{wxShapeCanvas::GetDiagram}
-\func{wxCanvas *}{GetCanvas}{\void}
+\constfunc{wxDiagram*}{GetDiagram}{\void}
Returns the canvas associated with this diagram.
-\membersection{wxShapeCanvas::GetDC}
-
-\func{wxDC *}{GetDC}{\void}
-
-Returns the device context associated with this diagram.
-
\membersection{wxShapeCanvas::GetGridSpacing}
-\func{float}{GetGridSpacing}{\void}
+\constfunc{double}{GetGridSpacing}{\void}
Returns the grid spacing.
\membersection{wxShapeCanvas::GetMouseTolerance}
-\func{int}{GetMouseTolerance}{\void}
+\constfunc{int}{GetMouseTolerance}{\void}
Returns the tolerance within which a mouse move is ignored.
\membersection{wxShapeCanvas::GetShapeList}
-\func{wxList *}{GetShapeList}{\void}
+\constfunc{wxList*}{GetShapeList}{\void}
Returns a pointer to the internal shape list.
\membersection{wxShapeCanvas::GetQuickEditMode}
-\func{bool}{GetQuickEditMode}{\void}
+\constfunc{bool}{GetQuickEditMode}{\void}
Returns quick edit mode for the associated diagram.
\membersection{wxShapeCanvas::InsertShape}
-\func{void}{InsertShape}{\param{wxShape *}{shape}}
+\func{void}{InsertShape}{\param{wxShape*}{ shape}}
Inserts a shape at the front of the shape list.
-\membersection{wxShapeCanvas::OnBeginDragLeft}\label{onbegindragleft}
+\membersection{wxShapeCanvas::OnBeginDragLeft}\label{wxshapecanvasonbegindragleft}
-\func{void}{OnBeginDragLeft}{\param{float}{ x}, \param{float}{ y}, \param{int}{ keys = 0}}
+\func{void}{OnBeginDragLeft}{\param{double}{ x}, \param{double}{ y}, \param{int}{ keys = 0}}
Called when the start of a left-button drag event on the canvas background is detected by OnEvent. You may override this member;
by default it does nothing.
\item KEY\_CTRL
\end{itemize}
-See also \helpref{OnDragLeft}{ondragleft}, \helpref{OnEndDragLeft}{onenddragleft}.
+See also \helpref{wxShapeCanvas::OnDragLeft}{wxshapecanvasondragleft}, \helpref{wxShapeCanvas::OnEndDragLeft}{wxshapecanvasonenddragleft}.
-\membersection{wxShapeCanvas::OnBeginDragRight}\label{onbegindragright}
+\membersection{wxShapeCanvas::OnBeginDragRight}\label{wxshapecanvasonbegindragright}
-\func{void}{OnBeginDragRight}{\param{float}{ x}, \param{float}{ y}, \param{int}{ keys = 0}}
+\func{void}{OnBeginDragRight}{\param{double}{ x}, \param{double}{ y}, \param{int}{ keys = 0}}
Called when the start of a right-button drag event on the canvas background is detected by OnEvent. You may override this member;
by default it does nothing.
\item KEY\_CTRL
\end{itemize}
-See also \helpref{OnDragRight}{ondragright}, \helpref{OnEndDragRight}{onenddragright}.
+See also \helpref{wxShapeCanvas::OnDragRight}{wxshapecanvasondragright}, \helpref{wxShapeCanvas::OnEndDragRight}{wxshapecanvasonenddragright}.
-\membersection{wxShapeCanvas::OnEndDragLeft}\label{onenddragleft}
+\membersection{wxShapeCanvas::OnEndDragLeft}\label{wxshapecanvasonenddragleft}
-\func{void}{OnEndDragLeft}{\param{float}{ x}, \param{float}{ y}, \param{int}{ keys = 0}}
+\func{void}{OnEndDragLeft}{\param{double}{ x}, \param{double}{ y}, \param{int}{ keys = 0}}
Called when the end of a left-button drag event on the canvas background is detected by OnEvent. You may override this member;
by default it does nothing.
\item KEY\_CTRL
\end{itemize}
-See also \helpref{OnDragLeft}{ondragleft}, \helpref{OnBeginDragLeft}{onbegindragleft}.
+See also \helpref{wxShapeCanvas::OnDragLeft}{wxshapecanvasondragleft}, \helpref{wxShapeCanvas::OnBeginDragLeft}{wxshapecanvasonbegindragleft}.
-\membersection{wxShapeCanvas::OnEndDragRight}\label{onenddragright}
+\membersection{wxShapeCanvas::OnEndDragRight}\label{wxshapecanvasonenddragright}
-\func{void}{OnEndDragRight}{\param{float}{ x}, \param{float}{ y}, \param{int}{ keys = 0}}
+\func{void}{OnEndDragRight}{\param{double}{ x}, \param{double}{ y}, \param{int}{ keys = 0}}
Called when the end of a right-button drag event on the canvas background is detected by OnEvent. You may override this member;
by default it does nothing.
\item KEY\_CTRL
\end{itemize}
-See also \helpref{OnDragRight}{ondragright}, \helpref{OnBeginDragRight}{onbegindragright}.
+See also \helpref{wxShapeCanvas::OnDragRight}{wxshapecanvasondragright}, \helpref{wxShapeCanvas::OnBeginDragRight}{wxshapecanvasonbegindragright}.
-\membersection{wxShapeCanvas::OnDragLeft}\label{ondragleft}
+\membersection{wxShapeCanvas::OnDragLeft}\label{wxshapecanvasondragleft}
-\func{void}{OnDragLeft}{\param{bool}{ draw}, \param{float}{ x}, \param{float}{ y}, \param{int}{ keys = 0}}
+\func{void}{OnDragLeft}{\param{bool}{ draw}, \param{double}{ x}, \param{double}{ y}, \param{int}{ keys = 0}}
Called when a left-button drag event on the canvas background is detected by OnEvent. You may override this member;
by default it does nothing.
\item KEY\_CTRL
\end{itemize}
-See also \helpref{OnBeginDragLeft}{onbegindragleft}, \helpref{OnEndDragLeft}{onenddragleft}.
+See also \helpref{wxShapeCanvas::OnBeginDragLeft}{wxshapecanvasonbegindragleft}, \helpref{wxShapeCanvas::OnEndDragLeft}{wxshapecanvasonenddragleft}.
-\membersection{wxShapeCanvas::OnDragRight}\label{ondragright}
+\membersection{wxShapeCanvas::OnDragRight}\label{wxshapecanvasondragright}
-\func{void}{OnDragRight}{\param{bool}{ draw}, \param{float}{ x}, \param{float}{ y}, \param{int}{ keys = 0}}
+\func{void}{OnDragRight}{\param{bool}{ draw}, \param{double}{ x}, \param{double}{ y}, \param{int}{ keys = 0}}
Called when a right-button drag event on the canvas background is detected by OnEvent. You may override this member;
by default it does nothing.
\item KEY\_CTRL
\end{itemize}
-See also \helpref{OnBeginDragRight}{onbegindragright}, \helpref{OnEndDragRight}{onenddragright}.
+See also \helpref{wxShapeCanvas::OnBeginDragRight}{wxshapecanvasonbegindragright}, \helpref{wxShapeCanvas::OnEndDragRight}{wxshapecanvasonenddragright}.
-\membersection{wxShapeCanvas::OnLeftClick}\label{onleftclick}
+\membersection{wxShapeCanvas::OnLeftClick}\label{wxshapecanvasonleftclick}
-\func{void}{OnLeftClick}{\param{float}{ x}, \param{float}{ y}, \param{int}{ keys = 0}}
+\func{void}{OnLeftClick}{\param{double}{ x}, \param{double}{ y}, \param{int}{ keys = 0}}
Called when a left click event on the canvas background is detected by OnEvent. You may override this member;
by default it does nothing.
\item KEY\_CTRL
\end{itemize}
-\membersection{wxShapeCanvas::OnRightClick}\label{onrightclick}
+\membersection{wxShapeCanvas::OnRightClick}\label{wxshapecanvasonrightclick}
-\func{void}{OnRightClick}{\param{float}{ x}, \param{float}{ y}, \param{int}{ keys = 0}}
+\func{void}{OnRightClick}{\param{double}{ x}, \param{double}{ y}, \param{int}{ keys = 0}}
Called when a right click event on the canvas background is detected by OnEvent. You may override this member;
by default it does nothing.
\membersection{wxShapeCanvas::Snap}
-\func{void}{Snap}{\param{float *}{x}, \param{float *}{y}}
+\func{void}{Snap}{\param{double *}{x}, \param{double *}{y}}
Calls wxDiagram::Snap.
-\section{\class{wxShapeEvtHandler}: wxObject}\label{wxshapeevthandler}
+\section{\class{wxShapeEvtHandler}}\label{wxshapeevthandler}
wxShapeEvtHandler is a class from which wxShape (and therefore all shape classes) are derived.
A wxShape also contains a pointer to its current wxShapeEvtHandler. Event handlers
a range of behaviours to be redefined in one class, rather than requiring
each shape class to be subclassed.
-\membersection{wxShapeEvtHandler::handlerShape}
+\wxheading{Derived from}
+
+wxObject
+
+\latexignore{\rtfignore{\wxheading{Members}}}
-\member{wxShape *}{handlerShape}
+\membersection{wxShapeEvtHandler::m\_handlerShape}
+
+\member{wxShape*}{m\_handlerShape}
Pointer to the shape associated with this handler.
-\membersection{wxShapeEvtHandler::previousHandler}
+\membersection{wxShapeEvtHandler::m\_previousHandler}
-\member{wxShapeEvtHandler *}{previousHandler}
+\member{wxShapeEvtHandler*}{m\_previousHandler}
Pointer to the previous handler.
Destructor.
-\membersection{wxShapeEvtHandler::GetShape}
+\membersection{wxShapeEvtHandler::CopyData}\label{wxshapeevthandlercopydata}
+
+\func{void}{CopyData}{\param{wxShapeEvtHandler\&}{ handler}}
+
+A virtual function to copy the data from this object to {\it handler}. Override if you
+derive from wxShapeEvtHandler and have data to copy.
-\func{void}{GetShape}{\void}
+\membersection{wxShapeEvtHandler::CreateNewCopy}\label{wxshapeevthandlercreatenewcopy}
+
+\func{wxShapeEvtHandler*}{CreateNewCopy}{\void}
+
+Creates a new event handler object of the same class as this object, and then
+calls \helpref{wxShapeEvtHandler::CopyData}{wxshapeevthandlercopydata}.
+
+\membersection{wxShapeEvtHandler::GetPreviousHandler}\label{wxshapeevthandlergetprevioushandler}
+
+\constfunc{wxShapeEvtHandler*}{GetPreviousHandler}{\void}
+
+Returns the previous handler.
+
+\membersection{wxShapeEvtHandler::GetShape}\label{wxshapeevthandlergetshape}
+
+\constfunc{wxShape*}{GetShape}{\void}
Returns the shape associated with this handler.
\membersection{wxShapeEvtHandler::OnBeginDragLeft}
-\func{void}{OnBeginDragLeft}{\param{float}{ x}, \param{float}{ y}, \param{int}{ keys=0}, \param{int}{ attachment = 0}}
+\func{void}{OnBeginDragLeft}{\param{double}{ x}, \param{double}{ y}, \param{int}{ keys=0}, \param{int}{ attachment = 0}}
Called when the user is beginning to drag using the left mouse button.
\membersection{wxShapeEvtHandler::OnBeginDragRight}
-\func{void}{OnBeginDragRight}{\param{float}{ x}, \param{float}{ y}, \param{int}{ keys=0}, \param{int}{ attachment = 0}}
+\func{void}{OnBeginDragRight}{\param{double}{ x}, \param{double}{ y}, \param{int}{ keys=0}, \param{int}{ attachment = 0}}
Called when the user is beginning to drag using the right mouse button.
\membersection{wxShapeEvtHandler::OnBeginSize}
-\func{void}{OnBeginSize}{\param{float}{ width}, \param{float}{ height}}
+\func{void}{OnBeginSize}{\param{double}{ width}, \param{double}{ height}}
Called when a shape starts to be resized.
+\membersection{wxShapeEvtHandler::OnChangeAttachment}\label{wxshapeevthandleronchangeattachment}
+
+\func{void}{OnChangeAttachment}{\param{int}{ attachment}, \param{wxLineShape*}{ line}, \param{wxList\&}{ ordering}}
+
+Override this to prevent or intercept line reordering. wxShape's implementation of this function
+calls \helpref{wxShape::ApplyAttachmentOrdering}{wxshapeapplyattachmentordering} to apply
+the new ordering.
+
\membersection{wxShapeEvtHandler::OnDragLeft}
-\func{void}{OnDragLeft}{\param{bool}{ draw}, \param{float}{ x}, \param{float}{ y}, \param{int}{ keys=0}, \param{int}{ attachment = 0}}
+\func{void}{OnDragLeft}{\param{bool}{ draw}, \param{double}{ x}, \param{double}{ y}, \param{int}{ keys=0}, \param{int}{ attachment = 0}}
-Called twice when the object is being dragged, once to allow erasing the old
+Called twice when the shape is being dragged, once to allow erasing the old
image, and again to allow drawing at the new position.
\membersection{wxShapeEvtHandler::OnDragRight}
-\func{void}{OnDragRight}{\param{bool}{ draw}, \param{float}{ x}, \param{float}{ y}, \param{int}{ keys=0}, \param{int}{ attachment = 0}}
+\func{void}{OnDragRight}{\param{bool}{ draw}, \param{double}{ x}, \param{double}{ y}, \param{int}{ keys=0}, \param{int}{ attachment = 0}}
-Called twice when the object is being dragged, once to allow erasing the old
+Called twice when the shape is being dragged, once to allow erasing the old
image, and again to allow drawing at the new position.
\membersection{wxShapeEvtHandler::OnDraw}
\membersection{wxShapeEvtHandler::OnDrawContents}
-\func{void}{OnDrawContents}{\void}
+\func{void}{OnDrawContents}{\param{wxDC\&}{ dc}}
Defined for each class to draw the contents of the
-object, such as text.
+shape, such as text.
\membersection{wxShapeEvtHandler::OnDrawControlPoints}
-\func{void}{OnDrawControlPoints}{\void}
+\func{void}{OnDrawControlPoints}{\param{wxDC\&}{ dc}}
-Called when the object's control points (handles) should
+Called when the shape's control points (handles) should
be drawn.
\membersection{wxShapeEvtHandler::OnDrawOutline}
-\func{void}{OnDrawOutline}{\void}
+\func{void}{OnDrawOutline}{\param{wxDC\&}{ dc}}
-Called when the outline of the object should be drawn.
+Called when the outline of the shape should be drawn.
\membersection{wxShapeEvtHandler::OnEndDragLeft}
-\func{void}{OnEndDragLeft}{\param{float}{ x}, \param{float}{ y}, \param{int}{ keys=0}, \param{int}{ attachment = 0}}
+\func{void}{OnEndDragLeft}{\param{double}{ x}, \param{double}{ y}, \param{int}{ keys=0}, \param{int}{ attachment = 0}}
Called when the user is stopping dragging using the left mouse button.
\membersection{wxShapeEvtHandler::OnEndDragRight}
-\func{void}{OnEndDragRight}{\param{float}{ x}, \param{float}{ y}, \param{int}{ keys=0}, \param{int}{ attachment = 0}}
+\func{void}{OnEndDragRight}{\param{double}{ x}, \param{double}{ y}, \param{int}{ keys=0}, \param{int}{ attachment = 0}}
Called when the user is stopping dragging using the right mouse button.
\membersection{wxShapeEvtHandler::OnEndSize}
-\func{void}{OnEndSize}{\param{float}{ width}, \param{float}{ height}}
+\func{void}{OnEndSize}{\param{double}{ width}, \param{double}{ height}}
Called after a shape is resized.
\membersection{wxShapeEvtHandler::OnErase}
-\func{void}{OnErase}{\void}
+\func{void}{OnErase}{\param{wxDC\&}{ dc}}
-Called when the whole object should be erased.
+Called when the whole shape should be erased.
\membersection{wxShapeEvtHandler::OnEraseContents}
-\func{void}{OnEraseContents}{\void}
+\func{void}{OnEraseContents}{\param{wxDC\&}{ dc}}
Called when the contents should be erased.
\membersection{wxShapeEvtHandler::OnEraseControlPoints}
-\func{void}{OnEraseControlPoints}{\void}
+\func{void}{OnEraseControlPoints}{\param{wxDC\&}{ dc}}
-Called when the object's control points (handles) should
+Called when the shape's control points (handles) should
be erased.
\membersection{wxShapeEvtHandler::OnHighlight}
-\func{void}{OnHighlight}{\void}
+\func{void}{OnHighlight}{\param{wxDC\&}{ dc}}
-Called when the object should be highlighted.
+Called when the shape should be highlighted.
\membersection{wxShapeEvtHandler::OnLeftClick}
-\func{void}{OnLeftClick}{\param{float}{ x}, \param{float}{ y}, \param{int}{ keys =0}, \param{int}{ attachment = 0}}
-
-Called when the object receives a left mouse click event.
-
-\membersection{wxShapeEvtHandler::OnMove}
+\func{void}{OnLeftClick}{\param{double}{ x}, \param{double}{ y}, \param{int}{ keys =0}, \param{int}{ attachment = 0}}
-\func{void}{OnMove}{\param{float}{ x}, \param{float}{ y}, \param{float}{ oldX}, \param{float}{ oldY}, \param{bool}{ display = TRUE}}
-
-Called when the object receives a move request.
+Called when the shape receives a left mouse click event.
\membersection{wxShapeEvtHandler::OnMoveLink}
-\func{void}{OnMoveLink}{\param{bool}{ moveControlPoints=TRUE}}
+\func{void}{OnMoveLink}{\param{wxDC\&}{ dc}, \param{bool}{ moveControlPoints=TRUE}}
-Called when the line attached to an object need to be repositioned,
-because the object has moved.
+Called when the line attached to an shape need to be repositioned,
+because the shape has moved.
\membersection{wxShapeEvtHandler::OnMoveLinks}
-\func{void}{OnMoveLinks}{\void}
+\func{void}{OnMoveLinks}{\param{wxDC\&}{ dc}}
-Called when the lines attached to an object need to be repositioned,
-because the object has moved.
+Called when the lines attached to an shape need to be repositioned,
+because the shape has moved.
-\membersection{wxShapeEvtHandler::OnMovePre}
+\membersection{wxShapeEvtHandler::OnMovePost}
-\func{bool}{OnMovePre}{\param{float}{ x}, \param{float}{ y}, \param{float}{ oldX}, \param{float}{ oldY}, \param{bool}{ display = TRUE}}
+\func{bool}{OnMovePost}{\param{wxDC\&}{ dc}, \param{double}{ x}, \param{double}{ y}, \param{double}{ oldX}, \param{double}{ oldY}, \param{bool}{ display = TRUE}}
-Called just after the object receives a move request.
+Called just after the shape receives a move request.
\membersection{wxShapeEvtHandler::OnMovePre}
-\func{bool}{OnMovePre}{\param{float}{ x}, \param{float}{ y}, \param{float}{ oldX}, \param{float}{ oldY}, \param{bool}{ display = TRUE}}
+\func{bool}{OnMovePre}{\param{wxDC\&}{ dc}, \param{double}{ x}, \param{double}{ y}, \param{double}{ oldX}, \param{double}{ oldY}, \param{bool}{ display = TRUE}}
-Called just before the object receives a move request. Returning TRUE
-allows the move to be processed; returning FALSE vetoes the move.
+Called just before the shape receives a move request. Returning TRUE
+allows the move to be processed; returning FALSE vetoes the move.
\membersection{wxShapeEvtHandler::OnRightClick}
-\func{void}{OnRightClick}{\param{float}{ x}, \param{float}{ y}, \param{int}{ keys = 0}, \param{int}{ attachment = 0}}
+\func{void}{OnRightClick}{\param{double}{ x}, \param{double}{ y}, \param{int}{ keys = 0}, \param{int}{ attachment = 0}}
-Called when the object receives a mouse mouse click event.
+Called when the shape receives a mouse mouse click event.
\membersection{wxShapeEvtHandler::OnSize}
-\func{void}{OnSize}{\param{float}{ x}, \param{float}{ y}}
+\func{void}{OnSize}{\param{double}{ x}, \param{double}{ y}}
+
+Called when the shape receives a resize request.
+
+\membersection{wxShapeEvtHandler::OnSizingBeginDragLeft}
-Called when the object receives a resize request.
+\func{void}{OnSizingBeginDragLeft}{\param{wxControlPoint*}{ pt}, \param{double}{ x}, \param{double}{ y}, \param{int}{ keys=0}, \param{int}{ attachment = 0}}
+Called when a sizing drag is beginning.
+\membersection{wxShapeEvtHandler::OnSizingDragLeft}
-\section{\class{wxTextShape}: wxRectangleShape}\label{wxtextshape}
+\func{void}{OnSizingDragLeft}{\param{wxControlPoint*}{ pt}, \param{bool}{ draw}, \param{double}{ x}, \param{double}{ y}, \param{int}{ keys=0}, \param{int}{ attachment = 0}}
+
+Called when a sizing drag is occurring.
+
+\membersection{wxShapeEvtHandler::OnSizingEndDragLeft}
+
+\func{void}{OnSizingEndDragLeft}{\param{wxControlPoint*}{ pt}, \param{double}{ x}, \param{double}{ y}, \param{int}{ keys=0}, \param{int}{ attachment = 0}}
+
+Called when a sizing drag is ending.
+
+\membersection{wxShapeEvtHandler::SetPreviousHandler}\label{wxshapeevthandlersetprevioushandler}
+
+\func{void}{SetPreviousHandler}{\param{wxShapeEvtHandler*}{ handler}}
+
+Sets the previous handler.
+
+\membersection{wxShapeEvtHandler::SetShape}\label{wxshapeevthandlersetshape}
+
+\func{void}{SetShape}{\param{wxShape*}{ shape}}
+
+Sets the shape for this handler.
+
+\section{\class{wxTextShape}}\label{wxtextshape}
As wxRectangleShape, but only the text is displayed.
-See also \helpref{wxRectangleShape}{wxrectangleshape}.
+\wxheading{Derived from}
+
+\helpref{wxRectangleShape}{wxrectangleshape}
+
+\latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxTextShape::wxTextShape}
-\func{void}{wxTextShape}{\param{float}{ width = 0.0}, \param{float}{ height = 0.0}}
+\func{void}{wxTextShape}{\param{double}{ width = 0.0}, \param{double}{ height = 0.0}}
Constructor.
\membersection{::wxOGLInitialize}
-\func{void}{wxOGLInitialize}{\param{wxHelpInstance *}{helpInstance = NULL}, \param{const wxString\& }{helpFile = NULL},
- \param{wxFont *}{buttonFont = NULL}, \param{wxFont *}{labelFont = NULL}}
+\func{void}{wxOGLInitialize}{\void}
-Initializes OGL. The optional parameters tell OGL what to use for on-line help and font sizes.
+Initializes OGL.
\membersection{::wxOGLCleanUp}
\func{void}{wxOGLCleanUp}{\void}
Cleans up OGL.
+