X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b67a93277892e8226d8e59162a14564f661843f6..e4a7bbfc1ebf7434b7c291e6fb4a060dcd9b0aee:/wxPython/src/gtk/gdi.cpp?ds=sidebyside diff --git a/wxPython/src/gtk/gdi.cpp b/wxPython/src/gtk/gdi.cpp index c4e48dacdf..ab027baaa3 100644 --- a/wxPython/src/gtk/gdi.cpp +++ b/wxPython/src/gtk/gdi.cpp @@ -179,17 +179,25 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { icon->CopyFromBitmap(bmp); return icon; } - // Alternate 'constructor' + wxCursor* wxPyStockCursor(int id) { return new wxCursor(id); } wxCursor* wxCursorFromImage(const wxImage& image) { - #ifndef __WXMAC__ return new wxCursor(image); - #else - return NULL; - #endif + } + + wxCursor* wxCursorFromBits(PyObject* bits, int width, int height, + int hotSpotX=-1, int hotSpotY=-1, + PyObject* maskBits=0) { + char* bitsbuf; + char* maskbuf = NULL; + int length; + PyString_AsStringAndSize(bits, &bitsbuf, &length); + if (maskBits) + PyString_AsStringAndSize(maskBits, &maskbuf, &length); + return new wxCursor(bitsbuf, width, height, hotSpotX, hotSpotY, maskbuf); } // Alternate 'constructor' wxColour* wxNamedColour(const wxString& colorName) { @@ -595,6 +603,46 @@ static PyObject *_wrap_wxCursorFromImage(PyObject *self, PyObject *args, PyObjec return _resultobj; } +static PyObject *_wrap_wxCursorFromBits(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxCursor * _result; + PyObject * _arg0; + int _arg1; + int _arg2; + int _arg3 = (int ) -1; + int _arg4 = (int ) -1; + PyObject * _arg5 = (PyObject *) 0; + PyObject * _obj0 = 0; + PyObject * _obj5 = 0; + char *_kwnames[] = { "bits","width","height","hotSpotX","hotSpotY","maskBits", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Oii|iiO:wxCursorFromBits",_kwnames,&_obj0,&_arg1,&_arg2,&_arg3,&_arg4,&_obj5)) + return NULL; +{ + _arg0 = _obj0; +} + if (_obj5) +{ + _arg5 = _obj5; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxCursor *)wxCursorFromBits(_arg0,_arg1,_arg2,_arg3,_arg4,_arg5); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxCursor_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } + return _resultobj; +} + static PyObject *_wrap_wxNamedColour(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; wxColour * _result; @@ -2746,6 +2794,54 @@ static void *SwigwxCursorTowxObject(void *ptr) { return (void *) dest; } +static wxCursor *new_wxCursor(const wxString *cursorName,long flags,int hotSpotX,int hotSpotY) { +#ifdef __WXGTK__ + wxCHECK_MSG(FALSE, NULL, + wxT("wxCursor constructor not implemented for wxGTK, use wxStockCursor, wxCursorFromImage, or wxCursorFromBits instead.")); +#else + return new wxCursor(*cursorName, flags, hotSpotX, hotSpotY); +#endif + } + +static PyObject *_wrap_new_wxCursor(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxCursor * _result; + wxString * _arg0; + long _arg1; + int _arg2 = (int ) 0; + int _arg3 = (int ) 0; + PyObject * _obj0 = 0; + char *_kwnames[] = { "cursorName","flags","hotSpotX","hotSpotY", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"Ol|ii:new_wxCursor",_kwnames,&_obj0,&_arg1,&_arg2,&_arg3)) + return NULL; +{ + _arg0 = wxString_in_helper(_obj0); + if (_arg0 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxCursor *)new_wxCursor(_arg0,_arg1,_arg2,_arg3); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxCursor_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } +{ + if (_obj0) + delete _arg0; +} + return _resultobj; +} + #define delete_wxCursor(_swigobj) (delete _swigobj) static PyObject *_wrap_delete_wxCursor(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -3179,6 +3275,52 @@ static PyObject *_wrap_wxColourDatabase_FindColour(PyObject *self, PyObject *arg return _resultobj; } +#define wxColourDatabase_FindColourNoAdd(_swigobj,_swigarg0) (_swigobj->FindColourNoAdd(_swigarg0)) +static PyObject *_wrap_wxColourDatabase_FindColourNoAdd(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxColour * _result; + wxColourDatabase * _arg0; + wxString * _arg1; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + char *_kwnames[] = { "self","colour", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxColourDatabase_FindColourNoAdd",_kwnames,&_argo0,&_obj1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxColourDatabase_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxColourDatabase_FindColourNoAdd. Expected _wxColourDatabase_p."); + return NULL; + } + } +{ + _arg1 = wxString_in_helper(_obj1); + if (_arg1 == NULL) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxColour *)wxColourDatabase_FindColourNoAdd(_arg0,*_arg1); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxColour_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + #define wxColourDatabase_FindName(_swigobj,_swigarg0) (_swigobj->FindName(_swigarg0)) static PyObject *_wrap_wxColourDatabase_FindName(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -3224,27 +3366,60 @@ static PyObject *_wrap_wxColourDatabase_FindName(PyObject *self, PyObject *args, return _resultobj; } -static void wxColourDatabase_Append(wxColourDatabase *self,const wxString & name,int red,int green,int blue) { - // first see if the name is already there - wxString cName = name; - cName.MakeUpper(); - wxString cName2 = cName; - if ( !cName2.Replace(wxT("GRAY"), wxT("GREY")) ) - cName2.clear(); - - wxNode *node = self->GetFirst(); - while ( node ) { - const wxChar *key = node->GetKeyString(); - if ( cName == key || cName2 == key ) { - wxColour* c = (wxColour *)node->GetData(); - c->Set(red, green, blue); - return; - } - node = node->GetNext(); - } +static void wxColourDatabase_AddColour(wxColourDatabase *self,const wxString & name,wxColour * colour) { + // make a copy since the python one will be GC'd + wxColour* c = new wxColour(*colour); + self->AddColour(name, c); + } +static PyObject *_wrap_wxColourDatabase_AddColour(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxColourDatabase * _arg0; + wxString * _arg1; + wxColour * _arg2; + PyObject * _argo0 = 0; + PyObject * _obj1 = 0; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","name","colour", NULL }; - // otherwise append the new colour - self->Append(name.c_str(), new wxColour(red, green, blue)); + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OOO:wxColourDatabase_AddColour",_kwnames,&_argo0,&_obj1,&_obj2)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxColourDatabase_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxColourDatabase_AddColour. Expected _wxColourDatabase_p."); + return NULL; + } + } +{ + _arg1 = wxString_in_helper(_obj1); + if (_arg1 == NULL) + return NULL; +} +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + wxColourDatabase_AddColour(_arg0,*_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} Py_INCREF(Py_None); + _resultobj = Py_None; +{ + if (_obj1) + delete _arg1; +} + return _resultobj; +} + +static void wxColourDatabase_Append(wxColourDatabase *self,const wxString & name,int red,int green,int blue) { + wxColour* c = new wxColour(red, green, blue); + self->AddColour(name, c); } static PyObject *_wrap_wxColourDatabase_Append(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -9408,6 +9583,50 @@ static PyObject *_wrap_new_wxRegionFromPoints(PyObject *self, PyObject *args, Py return _resultobj; } +#define new_wxRegionFromBitmap(_swigarg0,_swigarg1,_swigarg2) (new wxRegion(_swigarg0,_swigarg1,_swigarg2)) +static PyObject *_wrap_new_wxRegionFromBitmap(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxRegion * _result; + wxBitmap * _arg0; + wxColour * _arg1 = (wxColour *) &wxNullColour; + int _arg2 = (int ) 0; + PyObject * _argo0 = 0; + wxColour temp; + PyObject * _obj1 = 0; + char *_kwnames[] = { "bmp","transColour","tolerance", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O|Oi:new_wxRegionFromBitmap",_kwnames,&_argo0,&_obj1,&_arg2)) + return NULL; + if (_argo0) { + if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of new_wxRegionFromBitmap. Expected _wxBitmap_p."); + return NULL; + } + } + if (_obj1) +{ + _arg1 = &temp; + if (! wxColour_helper(_obj1, &_arg1)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (wxRegion *)new_wxRegionFromBitmap(*_arg0,*_arg1,_arg2); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} if (_result) { + SWIG_MakePtr(_ptemp, (char *) _result,"_wxRegion_p"); + _resultobj = Py_BuildValue("s",_ptemp); + } else { + Py_INCREF(Py_None); + _resultobj = Py_None; + } + return _resultobj; +} + #define delete_wxRegion(_swigobj) (delete _swigobj) static PyObject *_wrap_delete_wxRegion(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -10102,6 +10321,82 @@ static PyObject *_wrap_wxRegion_XorRegion(PyObject *self, PyObject *args, PyObje return _resultobj; } +#define wxRegion_ConvertToBitmap(_swigobj) (_swigobj->ConvertToBitmap()) +static PyObject *_wrap_wxRegion_ConvertToBitmap(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxBitmap * _result; + wxRegion * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "self", NULL }; + char _ptemp[128]; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxRegion_ConvertToBitmap",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_ConvertToBitmap. Expected _wxRegion_p."); + return NULL; + } + } +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = new wxBitmap (wxRegion_ConvertToBitmap(_arg0)); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} SWIG_MakePtr(_ptemp, (void *) _result,"_wxBitmap_p"); + _resultobj = Py_BuildValue("s",_ptemp); + return _resultobj; +} + +#define wxRegion_UnionBitmap(_swigobj,_swigarg0,_swigarg1,_swigarg2) (_swigobj->Union(_swigarg0,_swigarg1,_swigarg2)) +static PyObject *_wrap_wxRegion_UnionBitmap(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxRegion * _arg0; + wxBitmap * _arg1; + wxColour * _arg2 = (wxColour *) &wxNullColour; + int _arg3 = (int ) 0; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + wxColour temp; + PyObject * _obj2 = 0; + char *_kwnames[] = { "self","bmp","transColour","tolerance", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO|Oi:wxRegion_UnionBitmap",_kwnames,&_argo0,&_argo1,&_obj2,&_arg3)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxRegion_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxRegion_UnionBitmap. Expected _wxRegion_p."); + return NULL; + } + } + if (_argo1) { + if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxRegion_UnionBitmap. Expected _wxBitmap_p."); + return NULL; + } + } + if (_obj2) +{ + _arg2 = &temp; + if (! wxColour_helper(_obj2, &_arg2)) + return NULL; +} +{ + PyThreadState* __tstate = wxPyBeginAllowThreads(); + _result = (bool )wxRegion_UnionBitmap(_arg0,*_arg1,*_arg2,_arg3); + + wxPyEndAllowThreads(__tstate); + if (PyErr_Occurred()) return NULL; +} _resultobj = Py_BuildValue("i",_result); + return _resultobj; +} + static void *SwigwxRegionIteratorTowxObject(void *ptr) { wxRegionIterator *src; wxObject *dest; @@ -10469,6 +10764,8 @@ static PyMethodDef gdicMethods[] = { { "wxRegionIterator_GetX", (PyCFunction) _wrap_wxRegionIterator_GetX, METH_VARARGS | METH_KEYWORDS }, { "delete_wxRegionIterator", (PyCFunction) _wrap_delete_wxRegionIterator, METH_VARARGS | METH_KEYWORDS }, { "new_wxRegionIterator", (PyCFunction) _wrap_new_wxRegionIterator, METH_VARARGS | METH_KEYWORDS }, + { "wxRegion_UnionBitmap", (PyCFunction) _wrap_wxRegion_UnionBitmap, METH_VARARGS | METH_KEYWORDS }, + { "wxRegion_ConvertToBitmap", (PyCFunction) _wrap_wxRegion_ConvertToBitmap, METH_VARARGS | METH_KEYWORDS }, { "wxRegion_XorRegion", (PyCFunction) _wrap_wxRegion_XorRegion, METH_VARARGS | METH_KEYWORDS }, { "wxRegion_XorRect", (PyCFunction) _wrap_wxRegion_XorRect, METH_VARARGS | METH_KEYWORDS }, { "wxRegion_Xor", (PyCFunction) _wrap_wxRegion_Xor, METH_VARARGS | METH_KEYWORDS }, @@ -10490,6 +10787,7 @@ static PyMethodDef gdicMethods[] = { { "wxRegion_Offset", (PyCFunction) _wrap_wxRegion_Offset, METH_VARARGS | METH_KEYWORDS }, { "wxRegion_Clear", (PyCFunction) _wrap_wxRegion_Clear, METH_VARARGS | METH_KEYWORDS }, { "delete_wxRegion", (PyCFunction) _wrap_delete_wxRegion, METH_VARARGS | METH_KEYWORDS }, + { "new_wxRegionFromBitmap", (PyCFunction) _wrap_new_wxRegionFromBitmap, METH_VARARGS | METH_KEYWORDS }, { "new_wxRegionFromPoints", (PyCFunction) _wrap_new_wxRegionFromPoints, METH_VARARGS | METH_KEYWORDS }, { "new_wxRegion", (PyCFunction) _wrap_new_wxRegion, METH_VARARGS | METH_KEYWORDS }, { "wxImageList_GetSize", (PyCFunction) _wrap_wxImageList_GetSize, METH_VARARGS | METH_KEYWORDS }, @@ -10655,7 +10953,9 @@ static PyMethodDef gdicMethods[] = { { "delete_wxPen", (PyCFunction) _wrap_delete_wxPen, METH_VARARGS | METH_KEYWORDS }, { "new_wxPen", (PyCFunction) _wrap_new_wxPen, METH_VARARGS | METH_KEYWORDS }, { "wxColourDatabase_Append", (PyCFunction) _wrap_wxColourDatabase_Append, METH_VARARGS | METH_KEYWORDS }, + { "wxColourDatabase_AddColour", (PyCFunction) _wrap_wxColourDatabase_AddColour, METH_VARARGS | METH_KEYWORDS }, { "wxColourDatabase_FindName", (PyCFunction) _wrap_wxColourDatabase_FindName, METH_VARARGS | METH_KEYWORDS }, + { "wxColourDatabase_FindColourNoAdd", (PyCFunction) _wrap_wxColourDatabase_FindColourNoAdd, METH_VARARGS | METH_KEYWORDS }, { "wxColourDatabase_FindColour", (PyCFunction) _wrap_wxColourDatabase_FindColour, METH_VARARGS | METH_KEYWORDS }, { "wxColour___ne__", (PyCFunction) _wrap_wxColour___ne__, METH_VARARGS | METH_KEYWORDS }, { "wxColour___eq__", (PyCFunction) _wrap_wxColour___eq__, METH_VARARGS | METH_KEYWORDS }, @@ -10669,6 +10969,7 @@ static PyMethodDef gdicMethods[] = { { "new_wxColour", (PyCFunction) _wrap_new_wxColour, METH_VARARGS | METH_KEYWORDS }, { "wxCursor_Ok", (PyCFunction) _wrap_wxCursor_Ok, METH_VARARGS | METH_KEYWORDS }, { "delete_wxCursor", (PyCFunction) _wrap_delete_wxCursor, METH_VARARGS | METH_KEYWORDS }, + { "new_wxCursor", (PyCFunction) _wrap_new_wxCursor, METH_VARARGS | METH_KEYWORDS }, { "wxIconBundle_GetIcon", (PyCFunction) _wrap_wxIconBundle_GetIcon, METH_VARARGS | METH_KEYWORDS }, { "wxIconBundle_AddIconFromFile", (PyCFunction) _wrap_wxIconBundle_AddIconFromFile, METH_VARARGS | METH_KEYWORDS }, { "wxIconBundle_AddIcon", (PyCFunction) _wrap_wxIconBundle_AddIcon, METH_VARARGS | METH_KEYWORDS }, @@ -10712,6 +11013,7 @@ static PyMethodDef gdicMethods[] = { { "new_wxGDIObject", (PyCFunction) _wrap_new_wxGDIObject, METH_VARARGS | METH_KEYWORDS }, { "wxMemoryDCFromDC", (PyCFunction) _wrap_wxMemoryDCFromDC, METH_VARARGS | METH_KEYWORDS }, { "wxNamedColour", (PyCFunction) _wrap_wxNamedColour, METH_VARARGS | METH_KEYWORDS }, + { "wxCursorFromBits", (PyCFunction) _wrap_wxCursorFromBits, METH_VARARGS | METH_KEYWORDS }, { "wxCursorFromImage", (PyCFunction) _wrap_wxCursorFromImage, METH_VARARGS | METH_KEYWORDS }, { "wxStockCursor", (PyCFunction) _wrap_wxStockCursor, METH_VARARGS | METH_KEYWORDS }, { "wxIconFromBitmap", (PyCFunction) _wrap_wxIconFromBitmap, METH_VARARGS | METH_KEYWORDS },