From: Robin Dunn Date: Mon, 9 Apr 2001 21:14:03 +0000 (+0000) Subject: Images can now be embedded in Python source files. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/fbcadfca9c05a38f2aaf0a3f6090f4afcb666819?ds=inline Images can now be embedded in Python source files. Added tools to do the embedding. Added Constructors/methods where needed. Updated the demo to use mostly embedded images. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9694 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/wxPython/src/gtk/gdi.cpp b/wxPython/src/gtk/gdi.cpp index 9de87e9c12..cd3b9938aa 100644 --- a/wxPython/src/gtk/gdi.cpp +++ b/wxPython/src/gtk/gdi.cpp @@ -111,11 +111,48 @@ static PyObject* t_output_helper(PyObject* target, PyObject* o) { static char* wxStringErrorMsg = "string type is required for parameter"; static wxString wxPyEmptyStr(""); - // Alternate 'constructor' + // Implementations of some alternate "constructors" + wxBitmap* wxEmptyBitmap(int width, int height, int depth=-1) { return new wxBitmap(width, height, depth); } + static char** ConvertListOfStrings(PyObject* listOfStrings) { + char** cArray = NULL; + int count; + + if (!PyList_Check(listOfStrings)) { + PyErr_SetString(PyExc_TypeError, "Expected a list of strings."); + return NULL; + } + count = PyList_Size(listOfStrings); + cArray = new char*[count]; + + for(int x=0; xCopyFromBitmap(_swigarg0)) +static PyObject *_wrap_wxIcon_CopyFromBitmap(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxIcon * _arg0; + wxBitmap * _arg1; + PyObject * _argo0 = 0; + PyObject * _argo1 = 0; + char *_kwnames[] = { "self","bmp", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"OO:wxIcon_CopyFromBitmap",_kwnames,&_argo0,&_argo1)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxIcon_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxIcon_CopyFromBitmap. Expected _wxIcon_p."); + return NULL; + } + } + if (_argo1) { + if (_argo1 == Py_None) { _arg1 = NULL; } + else if (SWIG_GetPtrObj(_argo1,(void **) &_arg1,"_wxBitmap_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 2 of wxIcon_CopyFromBitmap. Expected _wxBitmap_p."); + return NULL; + } + } +{ + wxPy_BEGIN_ALLOW_THREADS; + wxIcon_CopyFromBitmap(_arg0,*_arg1); + + wxPy_END_ALLOW_THREADS; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + #define delete_wxCursor(_swigobj) (delete _swigobj) static PyObject *_wrap_delete_wxCursor(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; @@ -8207,6 +8438,7 @@ static PyMethodDef gdicMethods[] = { { "new_wxFont", (PyCFunction) _wrap_new_wxFont, METH_VARARGS | METH_KEYWORDS }, { "wxCursor_Ok", (PyCFunction) _wrap_wxCursor_Ok, METH_VARARGS | METH_KEYWORDS }, { "delete_wxCursor", (PyCFunction) _wrap_delete_wxCursor, METH_VARARGS | METH_KEYWORDS }, + { "wxIcon_CopyFromBitmap", (PyCFunction) _wrap_wxIcon_CopyFromBitmap, METH_VARARGS | METH_KEYWORDS }, { "wxIcon_SetDepth", (PyCFunction) _wrap_wxIcon_SetDepth, METH_VARARGS | METH_KEYWORDS }, { "wxIcon_SetHeight", (PyCFunction) _wrap_wxIcon_SetHeight, METH_VARARGS | METH_KEYWORDS }, { "wxIcon_SetWidth", (PyCFunction) _wrap_wxIcon_SetWidth, METH_VARARGS | METH_KEYWORDS }, @@ -8217,6 +8449,7 @@ static PyMethodDef gdicMethods[] = { { "wxIcon_LoadFile", (PyCFunction) _wrap_wxIcon_LoadFile, METH_VARARGS | METH_KEYWORDS }, { "delete_wxIcon", (PyCFunction) _wrap_delete_wxIcon, METH_VARARGS | METH_KEYWORDS }, { "new_wxIcon", (PyCFunction) _wrap_new_wxIcon, METH_VARARGS | METH_KEYWORDS }, + { "wxMask_Destroy", (PyCFunction) _wrap_wxMask_Destroy, METH_VARARGS | METH_KEYWORDS }, { "new_wxMask", (PyCFunction) _wrap_new_wxMask, METH_VARARGS | METH_KEYWORDS }, { "wxBitmap_GetSubBitmap", (PyCFunction) _wrap_wxBitmap_GetSubBitmap, METH_VARARGS | METH_KEYWORDS }, { "wxBitmap_SetDepth", (PyCFunction) _wrap_wxBitmap_SetDepth, METH_VARARGS | METH_KEYWORDS }, @@ -8238,7 +8471,11 @@ static PyMethodDef gdicMethods[] = { { "wxFont_SetDefaultEncoding", (PyCFunction) _wrap_wxFont_SetDefaultEncoding, METH_VARARGS | METH_KEYWORDS }, { "wxFont_GetDefaultEncoding", (PyCFunction) _wrap_wxFont_GetDefaultEncoding, METH_VARARGS | METH_KEYWORDS }, { "wxStockCursor", (PyCFunction) _wrap_wxStockCursor, METH_VARARGS | METH_KEYWORDS }, + { "wxIconFromXPMData", (PyCFunction) _wrap_wxIconFromXPMData, METH_VARARGS | METH_KEYWORDS }, + { "wxEmptyIcon", (PyCFunction) _wrap_wxEmptyIcon, METH_VARARGS | METH_KEYWORDS }, { "wxMaskColour", (PyCFunction) _wrap_wxMaskColour, METH_VARARGS | METH_KEYWORDS }, + { "wxBitmapFromIcon", (PyCFunction) _wrap_wxBitmapFromIcon, METH_VARARGS | METH_KEYWORDS }, + { "wxBitmapFromXPMData", (PyCFunction) _wrap_wxBitmapFromXPMData, METH_VARARGS | METH_KEYWORDS }, { "wxEmptyBitmap", (PyCFunction) _wrap_wxEmptyBitmap, METH_VARARGS | METH_KEYWORDS }, { NULL, NULL } }; diff --git a/wxPython/src/gtk/gdi.py b/wxPython/src/gtk/gdi.py index a42dfeeb57..64dd60933b 100644 --- a/wxPython/src/gtk/gdi.py +++ b/wxPython/src/gtk/gdi.py @@ -73,6 +73,9 @@ class wxMaskPtr : def __init__(self,this): self.this = this self.thisown = 0 + def Destroy(self, *_args, **_kwargs): + val = apply(gdic.wxMask_Destroy,(self,) + _args, _kwargs) + return val def __repr__(self): return "" % (self.this,) class wxMask(wxMaskPtr): @@ -114,6 +117,9 @@ class wxIconPtr : def SetDepth(self, *_args, **_kwargs): val = apply(gdic.wxIcon_SetDepth,(self,) + _args, _kwargs) return val + def CopyFromBitmap(self, *_args, **_kwargs): + val = apply(gdic.wxIcon_CopyFromBitmap,(self,) + _args, _kwargs) + return val def __repr__(self): return "" % (self.this,) @@ -902,11 +908,31 @@ def wxEmptyBitmap(*_args, **_kwargs): if val: val = wxBitmapPtr(val); val.thisown = 1 return val +def wxBitmapFromXPMData(*_args, **_kwargs): + val = apply(gdic.wxBitmapFromXPMData,_args,_kwargs) + if val: val = wxBitmapPtr(val); val.thisown = 1 + return val + +def wxBitmapFromIcon(*_args, **_kwargs): + val = apply(gdic.wxBitmapFromIcon,_args,_kwargs) + if val: val = wxBitmapPtr(val); val.thisown = 1 + return val + def wxMaskColour(*_args, **_kwargs): val = apply(gdic.wxMaskColour,_args,_kwargs) if val: val = wxMaskPtr(val); val.thisown = 1 return val +def wxEmptyIcon(*_args, **_kwargs): + val = apply(gdic.wxEmptyIcon,_args,_kwargs) + if val: val = wxIconPtr(val); val.thisown = 1 + return val + +def wxIconFromXPMData(*_args, **_kwargs): + val = apply(gdic.wxIconFromXPMData,_args,_kwargs) + if val: val = wxIconPtr(val); val.thisown = 1 + return val + def wxStockCursor(*_args, **_kwargs): val = apply(gdic.wxStockCursor,_args,_kwargs) if val: val = wxCursorPtr(val); val.thisown = 1 diff --git a/wxPython/src/gtk/image.cpp b/wxPython/src/gtk/image.cpp index e166e121e0..8821c4dd2a 100644 --- a/wxPython/src/gtk/image.cpp +++ b/wxPython/src/gtk/image.cpp @@ -121,10 +121,6 @@ static char* wxStringErrorMsg = "string type is required for parameter"; wxImage* wxImageFromBitmap(const wxBitmap &bitmap) { return new wxImage(bitmap); } - - void wxImage_AddHandler(wxImageHandler *handler) { - wxImage::AddHandler(handler); - } #ifdef __cplusplus extern "C" { #endif @@ -283,32 +279,6 @@ static PyObject *_wrap_wxImageFromBitmap(PyObject *self, PyObject *args, PyObjec return _resultobj; } -static PyObject *_wrap_wxImage_AddHandler(PyObject *self, PyObject *args, PyObject *kwargs) { - PyObject * _resultobj; - wxImageHandler * _arg0; - PyObject * _argo0 = 0; - char *_kwnames[] = { "handler", NULL }; - - self = self; - if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxImage_AddHandler",_kwnames,&_argo0)) - return NULL; - if (_argo0) { - if (_argo0 == Py_None) { _arg0 = NULL; } - else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxImageHandler_p")) { - PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImage_AddHandler. Expected _wxImageHandler_p."); - return NULL; - } - } -{ - wxPy_BEGIN_ALLOW_THREADS; - wxImage_AddHandler(_arg0); - - wxPy_END_ALLOW_THREADS; -} Py_INCREF(Py_None); - _resultobj = Py_None; - return _resultobj; -} - static PyObject *_wrap_wxInitAllImageHandlers(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; char *_kwnames[] = { NULL }; @@ -1210,13 +1180,54 @@ static PyObject *_wrap_wxImage_GetBlue(PyObject *self, PyObject *args, PyObject return _resultobj; } +static PyObject *_wrap_wxImage_CanRead(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxString * _arg0; + PyObject * _obj0 = 0; + char *_kwnames[] = { "name", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxImage_CanRead",_kwnames,&_obj0)) + return NULL; +{ +#if PYTHON_API_VERSION >= 1009 + char* tmpPtr; int tmpSize; + if (!PyString_Check(_obj0) && !PyUnicode_Check(_obj0)) { + PyErr_SetString(PyExc_TypeError, "String or Unicode type required"); + return NULL; + } + if (PyString_AsStringAndSize(_obj0, &tmpPtr, &tmpSize) == -1) + return NULL; + _arg0 = new wxString(tmpPtr, tmpSize); +#else + if (!PyString_Check(_obj0)) { + PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); + return NULL; + } + _arg0 = new wxString(PyString_AS_STRING(_obj0), PyString_GET_SIZE(_obj0)); +#endif +} +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (bool )wxImage::CanRead(*_arg0); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); +{ + if (_obj0) + delete _arg0; +} + return _resultobj; +} + #define wxImage_LoadFile(_swigobj,_swigarg0,_swigarg1) (_swigobj->LoadFile(_swigarg0,_swigarg1)) static PyObject *_wrap_wxImage_LoadFile(PyObject *self, PyObject *args, PyObject *kwargs) { PyObject * _resultobj; bool _result; wxImage * _arg0; wxString * _arg1; - long _arg2 = (long ) wxBITMAP_TYPE_PNG; + long _arg2 = (long ) wxBITMAP_TYPE_ANY; PyObject * _argo0 = 0; PyObject * _obj1 = 0; char *_kwnames[] = { "self","name","type", NULL }; @@ -2069,7 +2080,103 @@ static PyObject *_wrap_wxImage_CountColours(PyObject *self, PyObject *args, PyOb return _resultobj; } +static PyObject *_wrap_wxImage_AddHandler(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxImageHandler * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "handler", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxImage_AddHandler",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxImageHandler_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImage_AddHandler. Expected _wxImageHandler_p."); + return NULL; + } + } +{ + wxPy_BEGIN_ALLOW_THREADS; + wxImage::AddHandler(_arg0); + + wxPy_END_ALLOW_THREADS; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +static PyObject *_wrap_wxImage_InsertHandler(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + wxImageHandler * _arg0; + PyObject * _argo0 = 0; + char *_kwnames[] = { "handler", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxImage_InsertHandler",_kwnames,&_argo0)) + return NULL; + if (_argo0) { + if (_argo0 == Py_None) { _arg0 = NULL; } + else if (SWIG_GetPtrObj(_argo0,(void **) &_arg0,"_wxImageHandler_p")) { + PyErr_SetString(PyExc_TypeError,"Type error in argument 1 of wxImage_InsertHandler. Expected _wxImageHandler_p."); + return NULL; + } + } +{ + wxPy_BEGIN_ALLOW_THREADS; + wxImage::InsertHandler(_arg0); + + wxPy_END_ALLOW_THREADS; +} Py_INCREF(Py_None); + _resultobj = Py_None; + return _resultobj; +} + +static PyObject *_wrap_wxImage_RemoveHandler(PyObject *self, PyObject *args, PyObject *kwargs) { + PyObject * _resultobj; + bool _result; + wxString * _arg0; + PyObject * _obj0 = 0; + char *_kwnames[] = { "name", NULL }; + + self = self; + if(!PyArg_ParseTupleAndKeywords(args,kwargs,"O:wxImage_RemoveHandler",_kwnames,&_obj0)) + return NULL; +{ +#if PYTHON_API_VERSION >= 1009 + char* tmpPtr; int tmpSize; + if (!PyString_Check(_obj0) && !PyUnicode_Check(_obj0)) { + PyErr_SetString(PyExc_TypeError, "String or Unicode type required"); + return NULL; + } + if (PyString_AsStringAndSize(_obj0, &tmpPtr, &tmpSize) == -1) + return NULL; + _arg0 = new wxString(tmpPtr, tmpSize); +#else + if (!PyString_Check(_obj0)) { + PyErr_SetString(PyExc_TypeError, wxStringErrorMsg); + return NULL; + } + _arg0 = new wxString(PyString_AS_STRING(_obj0), PyString_GET_SIZE(_obj0)); +#endif +} +{ + wxPy_BEGIN_ALLOW_THREADS; + _result = (bool )wxImage::RemoveHandler(*_arg0); + + wxPy_END_ALLOW_THREADS; +} _resultobj = Py_BuildValue("i",_result); +{ + if (_obj0) + delete _arg0; +} + return _resultobj; +} + static PyMethodDef imagecMethods[] = { + { "wxImage_RemoveHandler", (PyCFunction) _wrap_wxImage_RemoveHandler, METH_VARARGS | METH_KEYWORDS }, + { "wxImage_InsertHandler", (PyCFunction) _wrap_wxImage_InsertHandler, METH_VARARGS | METH_KEYWORDS }, + { "wxImage_AddHandler", (PyCFunction) _wrap_wxImage_AddHandler, METH_VARARGS | METH_KEYWORDS }, { "wxImage_CountColours", (PyCFunction) _wrap_wxImage_CountColours, METH_VARARGS | METH_KEYWORDS }, { "wxImage_Replace", (PyCFunction) _wrap_wxImage_Replace, METH_VARARGS | METH_KEYWORDS }, { "wxImage_Mirror", (PyCFunction) _wrap_wxImage_Mirror, METH_VARARGS | METH_KEYWORDS }, @@ -2093,6 +2200,7 @@ static PyMethodDef imagecMethods[] = { { "wxImage_SaveFile", (PyCFunction) _wrap_wxImage_SaveFile, METH_VARARGS | METH_KEYWORDS }, { "wxImage_LoadMimeFile", (PyCFunction) _wrap_wxImage_LoadMimeFile, METH_VARARGS | METH_KEYWORDS }, { "wxImage_LoadFile", (PyCFunction) _wrap_wxImage_LoadFile, METH_VARARGS | METH_KEYWORDS }, + { "wxImage_CanRead", (PyCFunction) _wrap_wxImage_CanRead, METH_VARARGS | METH_KEYWORDS }, { "wxImage_GetBlue", (PyCFunction) _wrap_wxImage_GetBlue, METH_VARARGS | METH_KEYWORDS }, { "wxImage_GetGreen", (PyCFunction) _wrap_wxImage_GetGreen, METH_VARARGS | METH_KEYWORDS }, { "wxImage_GetRed", (PyCFunction) _wrap_wxImage_GetRed, METH_VARARGS | METH_KEYWORDS }, @@ -2120,7 +2228,6 @@ static PyMethodDef imagecMethods[] = { { "wxImageHandler_GetExtension", (PyCFunction) _wrap_wxImageHandler_GetExtension, METH_VARARGS | METH_KEYWORDS }, { "wxImageHandler_GetName", (PyCFunction) _wrap_wxImageHandler_GetName, METH_VARARGS | METH_KEYWORDS }, { "wxInitAllImageHandlers", (PyCFunction) _wrap_wxInitAllImageHandlers, METH_VARARGS | METH_KEYWORDS }, - { "wxImage_AddHandler", (PyCFunction) _wrap_wxImage_AddHandler, METH_VARARGS | METH_KEYWORDS }, { "wxImageFromBitmap", (PyCFunction) _wrap_wxImageFromBitmap, METH_VARARGS | METH_KEYWORDS }, { "wxImageFromMime", (PyCFunction) _wrap_wxImageFromMime, METH_VARARGS | METH_KEYWORDS }, { "wxEmptyImage", (PyCFunction) _wrap_wxEmptyImage, METH_VARARGS | METH_KEYWORDS }, diff --git a/wxPython/src/gtk/image.py b/wxPython/src/gtk/image.py index 29da52dcc2..cddec60bc7 100644 --- a/wxPython/src/gtk/image.py +++ b/wxPython/src/gtk/image.py @@ -284,9 +284,15 @@ def wxImageFromBitmap(*_args, **_kwargs): if val: val = wxImagePtr(val); val.thisown = 1 return val +wxInitAllImageHandlers = imagec.wxInitAllImageHandlers + +wxImage_CanRead = imagec.wxImage_CanRead + wxImage_AddHandler = imagec.wxImage_AddHandler -wxInitAllImageHandlers = imagec.wxInitAllImageHandlers +wxImage_InsertHandler = imagec.wxImage_InsertHandler + +wxImage_RemoveHandler = imagec.wxImage_RemoveHandler