class wxRect {
public:
- wxRect(long x=0, long y=0, long w=0, long h=0);
- // TODO: do this one too... wxRect(const wxPoint& pos, const wxSize& size);
- ~wxRect();
+ wxRect(int x=0, int y=0, int w=0, int h=0);
+ // TODO: do this one too... wxRect(const wxPoint& pos, const wxSize& size);
+ ~wxRect();
- long GetX();
- void SetX(long X);
- long GetY();
- void SetY(long Y);
- long GetWidth();
- void SetWidth(long w);
- long GetHeight();
- void SetHeight(long h);
+ int GetX();
+ void SetX(int X);
+ int GetY();
+ void SetY(int Y);
+ int GetWidth();
+ void SetWidth(int w);
+ int GetHeight();
+ void SetHeight(int h);
- wxPoint GetPosition();
- wxSize GetSize();
+ wxPoint GetPosition();
+ wxSize GetSize();
- long GetLeft();
- long GetTop();
- long GetBottom();
- long GetRight();
+ int GetLeft();
+ int GetTop();
+ int GetBottom();
+ int GetRight();
- long x, y, width, height;
+ void SetLeft(int left);
+ void SetRight(int right);
+ void SetTop(int top);
+ void SetBottom(int bottom);
+
+
+ int x, y, width, height;
%addmethods {
PyObject* asTuple() {
}
%pragma(python) addtoclass = "def __str__(self): return str(self.asTuple())"
%pragma(python) addtoclass = "def __repr__(self): return str(self.asTuple())"
+ %pragma(python) addtoclass = "
+ # override the __getattr__ made by SWIG
+ def __getattr__(self, name):
+ d = {
+ 'x' : miscc.wxRect_x_get,
+ 'y' : miscc.wxRect_y_get,
+ 'width' : miscc.wxRect_width_get,
+ 'height' : miscc.wxRect_height_get,
+ 'top' : miscc.wxRect_GetTop,
+ 'bottom' : miscc.wxRect_GetBottom,
+ 'left' : miscc.wxRect_GetLeft,
+ 'right' : miscc.wxRect_GetRight,
+ }
+ try:
+ func = d[name]
+ except KeyError:
+ raise AttributeError,name
+ return func(self)
+
+ # and also the __setattr__
+ def __setattr__(self, name, value):
+ d = {
+ 'x' : miscc.wxRect_x_set,
+ 'y' : miscc.wxRect_y_set,
+ 'width' : miscc.wxRect_width_set,
+ 'height' : miscc.wxRect_height_set,
+ 'top' : miscc.wxRect_SetTop,
+ 'bottom' : miscc.wxRect_SetBottom,
+ 'left' : miscc.wxRect_SetLeft,
+ 'right' : miscc.wxRect_SetRight,
+ }
+ try:
+ func = d[name]
+ except KeyError:
+ self.__dict__[name] = value
+ return
+ func(self, value)
+ "
+
};
+// %inline %{
+// bool wxIntersectRect(wxRect* dest, wxRect* r1, wxRect* r2) {
+// wxRegion reg1(*r1);
+// wxRegion reg2(*r2);
+// bool success;
+// *dest = wxRect(0,0,0,0);
+// success = reg1.Intersect(reg2);
+// if (success) {
+// *dest = reg1.GetBox();
+// return *dest != wxRect(0,0,0,0);
+// }
+// return FALSE;
+// }
+// %}
+
+
+%inline %{
+ PyObject* wxIntersectRect(wxRect* r1, wxRect* r2) {
+ wxRegion reg1(*r1);
+ wxRegion reg2(*r2);
+ wxRect dest(0,0,0,0);
+ PyObject* obj;
+
+ reg1.Intersect(reg2);
+ dest = reg1.GetBox();
+
+ if (dest != wxRect(0,0,0,0)) {
+ bool doSave = wxPyRestoreThread();
+ wxRect* newRect = new wxRect(dest);
+ obj = wxPyConstructObject((void*)newRect, "wxRect");
+ PyObject_SetAttrString(obj, "thisown", PyInt_FromLong(1));
+ wxPySaveThread(doSave);
+ return obj;
+ }
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+%}
//---------------------------------------------------------------------------
void wxBell();
void wxDisplaySize(int *OUTPUT, int *OUTPUT);
void wxEndBusyCursor();
-long wxExecute(const wxString& command, bool sync = FALSE);
+long wxExecute(const wxString& command, int sync = FALSE);
long wxGetElapsedTime(bool resetTimer = TRUE);
#ifdef __WXMSW__
long wxGetFreeMemory();
wxRegionContain Contains(long x, long y);
%name(ContainsPoint)wxRegionContain Contains(const wxPoint& pt);
%name(ContainsRect)wxRegionContain Contains(const wxRect& rect);
+ %name(ContainsRectDim)wxRegionContain Contains(long x, long y, long w, long h);
wxRect GetBox();
- bool Intersect(const wxRect& rect);
+
+ bool Intersect(long x, long y, long width, long height);
+ %name(IntersectRect)bool Intersect(const wxRect& rect);
+ %name(IntersectRegion)bool Intersect(const wxRegion& region);
+
bool IsEmpty();
- bool Subtract(const wxRect& rect);
- bool Union(const wxRect& rect);
- bool Xor(const wxRect& rect);
+
+ bool Union(long x, long y, long width, long height);
+ %name(UnionRect)bool Union(const wxRect& rect);
+ %name(UnionRegion)bool Union(const wxRegion& region);
+
+ bool Subtract(long x, long y, long width, long height);
+ %name(SubtractRect)bool Subtract(const wxRect& rect);
+ %name(SubtractRegion)bool Subtract(const wxRegion& region);
+
+ bool Xor(long x, long y, long width, long height);
+ %name(XorRect)bool Xor(const wxRect& rect);
+ %name(XorRegion)bool Xor(const wxRegion& region);
};