Put the wxMemoryBuffer typemaps back

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn 2004-02-07 00:47:53 +00:00
parent 83486d3b5a
commit 6fa9e4614d

View File

@ -90,6 +90,29 @@
$1 = PyString_Check($input) || PyUnicode_Check($input);
}
//---------------------------------------------------------------------------
// wxMemoryBuffer (needed for wxSTC)
%typemap(in) wxMemoryBuffer& (bool temp=False) {
if (!PyString_Check($input)) {
PyErr_SetString(PyExc_TypeError, "String buffer expected");
SWIG_fail;
}
char* str = PyString_AS_STRING($input);
int len = PyString_GET_SIZE($input);
$1 = new wxMemoryBuffer(len);
temp = True;
memcpy($1->GetData(), str, len);
}
%typemap(freearg) wxMemoryBuffer& {
if (temp$argnum) delete $1;
}
%typemap(out) wxMemoryBuffer {
$result = PyString_FromStringAndSize((char*)$1.GetData(), $1.GetDataLen());
}
//---------------------------------------------------------------------------