45 a2dTextGroup::a2dTextGroup(
double x,
double y )
51 a2dTextGroup::~a2dTextGroup()
65 void a2dTextGroup::RenderChildObjectsOneLayer(
a2dIterC& ic, RenderChild& WXUNUSED( whichchilds ),
OVERLAP clipparent )
87 if ( clipparent !=
_IN )
92 if ( childclip !=
_OUT )
94 obj->
Render( ic, childclip );
228 hitinfo.m_xyRelToChildren =
true;
315 #if wxART2D_USE_CVGIO
319 if ( xmlparts == a2dXmlSer_attrib )
330 if ( xmlparts == a2dXmlSer_attrib )
337 #endif //wxART2D_USE_CVGIO
a2dHit m_how
return in which way the object was hit (stroke, fill, ...)
virtual void Render(a2dIterC &ic, OVERLAP clipparent)
Render this object to the active a2dDrawingPart.
Base class for all types of strokes, understood by a2dDrawer2D classes.
virtual a2dObject * DoClone(CloneOptions options, a2dRefMap *refs) const
Clone this object and return a pointer to the new object.
bool GetEditable() const
get if the object may be edited
mouse event sent from a2dCanvasObject to itself
class to map references to objects stored in XML, in order to make the connection later on...
a2dCanvasOFlags m_flags
holds flags for objects
void DoLoad(wxObject *parent, a2dIOHandlerXmlSerIn &parser, a2dXmlSer_flag xmlparts)
load object specific CVG data
clips all children to a polygon
wxUint16 GetLayer()
get the layer that is to be rendered
virtual ~a2dDrawingFrame()
destructor
void SetDrawerStroke(const a2dStroke &stroke)
Used to set the current stroke.
virtual void DoSave(wxObject *parent, a2dIOHandlerXmlSerOut &out, a2dXmlSer_flag xmlparts, a2dObjectList *towrite)
write object specific CVGL data
Input and output handler for the XmlSer format.
virtual void SetPending(bool pending)
set this object pending for update
OVERLAP
Result of a a2dBoundingBox intersection or hittest.
void Clear()
Remove and delete all points in the polygon.
OVERLAP GetClipStatus(a2dIterC &ic, OVERLAP clipparent)
used for deciding if the object needs to be rendered against the current clipping area of the active ...
a2dCanvasObject is the base class for Canvas Objects.
To use as a drawing frame within a drawing.
A2DGENERALDLLEXP a2dWalkEvent a2dWalker_a2dDerivedCanvasObjectStart
id for a2dWalkEvent issued from within a2dWalkerIOHandler
a2dCanvasObjectList * GetChildObjectList()
get the list where the child objects are stored in.
virtual void EndEdit()
cleanup an editcopy object
virtual bool DoStartEdit(wxUint16 editmode, wxEditStyle editstyle)
only used for editable objects and under control of a editing tool.
a2dAffineMatrix m_lworld
used for positioning the object (x,y,ang,scale etc.)
void SetDrawerFill(const a2dFill &fill)
Used to set the current fill.
Io handler to iterate through a a2dDocument.
a2dCanvasObjectList * wxNullCanvasObjectList
define a NON a2dCanvasObjectList
a2dCanvasObjectList * m_childobjects
holds child objects
#define forEachIn(listtype, list)
easy iteration for a2dlist
a2dDrawingFrame(double x=0, double y=0, double width=100, double height=100)
construct at given position
void SetPropertyToObject(a2dObject *obj, const basetype &value, SetFlags setflags=set_none) const
Set the property in obj to value.
to render/hold a groups of text objects.
a2dDrawer2D * GetDrawer2D() const
get current a2dDrawer2D
#define wxStaticCast(obj, className)
The wxWindows 2.4.2 wxStaticCast is buggy. It evaluates its argument twice.
bool m_editable
object can be edited
#define EVT_CANVASOBJECT_MOUSE_EVENT(func)
static event table macro for a2dCanvasObject mouse event
void Translate(double x, double y)
relative translate the object to position x,y in world coordinates
wxUint16 GetLayer() const
Returns the layer index where this object is drawn upon.
Input and output handler for the XmlSer format.
if set, respect layer order, hit testing is done per layer from the top.
void DoRender(a2dIterC &ic, OVERLAP clipparent)
render derived object
bool DoIsHitWorld(a2dIterC &ic, a2dHitEvent &hitEvent)
Does hit test on the object (exclusif child objects)
a2dCanvasObject * ChildIsHitWorld(a2dIterC &ic, a2dHitEvent &hitEvent, bool filterSelectableLayers=false)
Do hittest on children.
A 2x3 affine matrix class for 2D transformations.
wxMouseEvent & GetMouseEvent()
return the original mouse event that was redirected to the a2dCanvasObject
a2dStroke GetDrawerStroke() const
get the current stroke
while iterating a a2dCanvasDocument, this holds the context.
void DoLoad(wxObject *parent, a2dIOHandlerXmlSerIn &parser, a2dXmlSer_flag xmlparts)
load object specific CVG data
a2dLineSegment * AddPoint(double x, double y, a2dLineSegmentPtr seg=NULL, bool afterinversion=true)
add point/segment after a segment.
void DoRender(a2dIterC &ic, OVERLAP clipparent)
render derived object
void DoSave(wxObject *parent, a2dIOHandlerXmlSerOut &out, a2dXmlSer_flag xmlparts, a2dObjectList *towrite)
write object specific CVGL data
An object of this class will update a a2dIterC with the required information.
bool Translate(double x, double y)
Translate by dx, dy:
bool m_editingCopy
true if the object needs to be rendered in edit mode.
a2dFill GetDrawerFill() const
get the current fill
a2dCanvasObject * IsHitWorld(a2dIterC &ic, a2dHitEvent &hitEvent)
If the position (x,y) is within the object return this.
static a2dHit stock_fill
Stock object for a fill hit.
the a2dDrawingPart is a a2dView specially designed for displaying parts of a a2dDrawing. It uses a a2dDrawer2D to actually redraw things from the document, by giving that a2dDrawer2D as drawing context to the document, and telling the document to redraw a certain rectangular area. At that last is what this class is for. It optimizes the areas to be redrawn after object in the document were changed. To do that it combines redraw areas to a minimal set of redrawing areas. All the administration for this and the way things will be redrawn is from this view.
basetype GetPropertyValue(const a2dObject *obj) const
Get the property value in obj.
A2DGENERALDLLEXP a2dWalkEvent a2dWalker_a2dDerivedCanvasObjectEnd
id for a2dWalkEvent issued from within a2dWalkerIOHandler
a2dCanvasGlobal * a2dCanvasGlobals
global a2dCanvasGlobal to have easy access to global settings
a2dDrawingPart * GetDrawingPart() const
get current a2dDrawingPart
all headers in the editor module
const a2dAffineMatrix & GetTransform() const
Get the accumulated transform up to and including m_lworld of the current object. ...
bool DoStartEdit(wxUint16 editmode, wxEditStyle editstyle)
only used for editable objects and under control of a editing tool.
CloneOptions
options for cloning
void SetCorridorPath(bool OnOff, a2dCanvasObject *captureObject=NULL)
to set corridor path ( also to captured object), its a2dCanvasOFlags::IsOnCorridorPath flag is set on...
structure to give as parameter to member functions of a2dCanvasObject
virtual void DoWalker(wxObject *parent, a2dWalkerIOHandler &handler)
iterate over this object and its children