#ifndef BUILDING_RENAMERS
%rename(ShapeRegion) wxShapeRegion;
+%rename(AttachmentPoint) wxAttachmentPoint;
%rename(PyShapeEvtHandler) wxPyShapeEvtHandler;
%rename(PyShape) wxPyShape;
%rename(PseudoMetaFile) wxPseudoMetaFile;
};
+//---------------------------------------------------------------------------
+
+/*
+ * User-defined attachment point
+ */
+
+class wxAttachmentPoint: public wxObject
+{
+public:
+ wxAttachmentPoint(int id=0, double x=0.0, double y=0.0);
+ int m_id; // Identifier
+ double m_x; // x offset from centre of object
+ double m_y; // y offset from centre of object
+};
+
+
//---------------------------------------------------------------------------
%{
int nth = 0, int no_arcs = 1, wxPyLineShape *line = NULL);
int GetNumberOfAttachments();
bool AttachmentIsValid(int attachment);
+
+ %extend {
+ PyObject* GetAttachments() {
+ wxList& list = self->GetAttachments();
+ return wxPy_ConvertList(&list);
+ }
+ }
+
bool GetAttachmentPositionEdge(int attachment, double *OUTPUT, double *OUTPUT,
int nth = 0, int no_arcs = 1, wxPyLineShape *line = NULL);
wxRealPoint CalcSimpleAttachment(const wxRealPoint& pt1, const wxRealPoint& pt2,
void CopyWithHandler(wxPyShape& copy);
void Rotate(double x, double y, double theta);
double GetRotation();
+ void SetRotation(double rotation);
void ClearAttachments();
void Recentre(wxDC& dc);
void ClearPointList(wxList& list);
void _setCallbackInfo(PyObject* self, PyObject* _class);
void SetCornerRadius(double radius);
-
+ double GetCornerRadius();
+
void base_OnDelete();
void base_OnDraw(wxDC& dc);
void base_OnDrawContents(wxDC& dc);
void Unlink();
+ void SetAlignmentOrientation(bool isEnd, bool isHoriz);
+ void SetAlignmentType(bool isEnd, int alignType);
+ bool GetAlignmentOrientation(bool isEnd);
+ int GetAlignmentType(bool isEnd);
+ int GetAlignmentStart() const;
+ int GetAlignmentEnd() const;
+
void base_OnDraw(wxDC& dc);
void base_OnDrawContents(wxDC& dc);
void base_OnDrawBranches(wxDC& dc, bool erase = FALSE);
wxPyEndBlockThreads();
return pyList;
}
+
+ PyObject* GetOriginalPoints() {
+ wxList* list = self->GetOriginalPoints();
+ PyObject* pyList;
+ PyObject* pyObj;
+ wxObject* wxObj;
+ wxNode* node = list->GetFirst();
+
+ wxPyBeginBlockThreads();
+ pyList = PyList_New(0);
+ while (node) {
+ wxObj = node->GetData();
+ pyObj = wxPyConstructObject(wxObj, wxT("wxRealPoint"), 0);
+ PyList_Append(pyList, pyObj);
+ node = node->GetNext();
+ }
+ wxPyEndBlockThreads();
+ return pyList;
+ }
}
+ double GetOriginalWidth() const;
+ double GetOriginalHeight() const;
+
+ void SetOriginalWidth(double w);
+ void SetOriginalHeight(double h);
+
void UpdateOriginalPoints();
void base_OnDraw(wxDC& dc);