X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d14a1e28567de23c586bc80017073d0c39f8d18f..42f8298f6f42d5d63bb3caf65682b7d9d9f8b702:/wxPython/contrib/ogl/ogl.i?ds=sidebyside diff --git a/wxPython/contrib/ogl/ogl.i b/wxPython/contrib/ogl/ogl.i index 2bf13628ec..3dc1464e04 100644 --- a/wxPython/contrib/ogl/ogl.i +++ b/wxPython/contrib/ogl/ogl.i @@ -10,23 +10,34 @@ // Licence: wxWindows license ///////////////////////////////////////////////////////////////////////////// +%define DOCSTRING +"The Object Graphics Library provides for simple drawing and manipulation +of 2D objects. (This version is deprecated, please use wx.lib.ogl instead.)" +%enddef -%module ogl +%module(package="wx", docstring=DOCSTRING) ogl %{ #include "wx/wxPython/wxPython.h" #include "wx/wxPython/pyclasses.h" #include "oglhelpers.h" - - static const wxString wxPyEmptyString(wxT("")); %} //--------------------------------------------------------------------------- %import windows.i +%pythoncode { wx = _core } +%pythoncode { __docfilter__ = wx.__DocFilter(globals()) } + +%pythoncode { + import warnings + warnings.warn("This module is deprecated. Please use the wx.lib.ogl package instead.", + DeprecationWarning, stacklevel=2) +} + -%pythoncode { wx = core } +MAKE_CONST_WXSTRING_NOSWIG(EmptyString); %include _ogl_rename.i @@ -146,7 +157,10 @@ enum { //--------------------------------------------------------------------------- +MustHaveApp(wxOGLInitialize); void wxOGLInitialize(); + +MustHaveApp(wxOGLCleanUp); void wxOGLCleanUp(); @@ -157,17 +171,17 @@ void wxOGLCleanUp(); // work for any class for the VERY generic cases, but beyond that the helper // needs to know more about the type. wxList* wxPy_wxListHelper(PyObject* pyList, const wxChar* className) { - wxPyBeginBlockThreads(); + bool blocked = wxPyBeginBlockThreads(); if (!PyList_Check(pyList)) { PyErr_SetString(PyExc_TypeError, "Expected a list object."); - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); return NULL; } int count = PyList_Size(pyList); wxList* list = new wxList; if (! list) { PyErr_SetString(PyExc_MemoryError, "Unable to allocate wxList object"); - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); return NULL; } for (int x=0; xAppend(wxo); } - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); return list; } //--------------------------------------------------------------------------- wxList* wxPy_wxRealPoint_ListHelper(PyObject* pyList) { - wxPyBeginBlockThreads(); + bool blocked = wxPyBeginBlockThreads(); if (!PyList_Check(pyList)) { PyErr_SetString(PyExc_TypeError, "Expected a list object."); - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); return NULL; } int count = PyList_Size(pyList); wxList* list = new wxList; if (! list) { PyErr_SetString(PyExc_MemoryError, "Unable to allocate wxList object"); - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); return NULL; } for (int x=0; xAppend((wxObject*) new wxRealPoint(*wxo)); } } - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); return list; } //--------------------------------------------------------------------------- -PyObject* wxPyMake_wxShapeEvtHandler(wxShapeEvtHandler* source) { +PyObject* wxPyMake_wxShapeEvtHandler(wxShapeEvtHandler* source, bool setThisOwn) { PyObject* target = NULL; if (source && wxIsKindOf(source, wxShapeEvtHandler)) { @@ -246,7 +260,7 @@ PyObject* wxPyMake_wxShapeEvtHandler(wxShapeEvtHandler* source) { } } if (! target) { - target = wxPyMake_wxObject2(source, FALSE); + target = wxPyMake_wxObject2(source, setThisOwn, false); if (target != Py_None) ((wxShapeEvtHandler*)source)->SetClientObject(new wxPyOORClientData(target)); } @@ -255,6 +269,27 @@ PyObject* wxPyMake_wxShapeEvtHandler(wxShapeEvtHandler* source) { //--------------------------------------------------------------------------- +PyObject* wxPy_ConvertRealPointList(wxListBase* listbase) { + wxList* list = (wxList*)listbase; + PyObject* pyList; + PyObject* pyObj; + wxObject* wxObj; + wxNode* node = list->GetFirst(); + + bool blocked = wxPyBeginBlockThreads(); + pyList = PyList_New(0); + while (node) { + wxObj = node->GetData(); + pyObj = wxPyConstructObject(wxObj, wxT("wxRealPoint"), 0); + PyList_Append(pyList, pyObj); + node = node->GetNext(); + } + wxPyEndBlockThreads(blocked); + return pyList; +} + +//--------------------------------------------------------------------------- + PyObject* wxPy_ConvertShapeList(wxListBase* listbase) { wxList* list = (wxList*)listbase; PyObject* pyList; @@ -262,15 +297,15 @@ PyObject* wxPy_ConvertShapeList(wxListBase* listbase) { wxObject* wxObj; wxNode* node = list->GetFirst(); - wxPyBeginBlockThreads(); + bool blocked = wxPyBeginBlockThreads(); pyList = PyList_New(0); while (node) { wxObj = node->GetData(); - pyObj = wxPyMake_wxShapeEvtHandler((wxShapeEvtHandler*)wxObj); + pyObj = wxPyMake_wxShapeEvtHandler((wxShapeEvtHandler*)wxObj, false); PyList_Append(pyList, pyObj); node = node->GetNext(); } - wxPyEndBlockThreads(); + wxPyEndBlockThreads(blocked); return pyList; }