class wxToolTip : public wxObject {
public:
+ %typemap(out) wxToolTip*; // turn off this typemap
wxToolTip(const wxString &tip);
+ // Turn it back on again
+ %typemap(out) wxToolTip* { $result = wxPyMake_wxObject($1, $owner); }
+ ~wxToolTip();
+
void SetTip(const wxString& tip);
wxString GetTip();
// *** Not in the "public" interface void SetWindow(wxWindow *win);
class wxCaret {
public:
wxCaret(wxWindow* window, const wxSize& size);
-// ~wxCaret(); Window takes ownership
+ ~wxCaret();
%extend {
+ %pythonAppend Destroy "args[0].thisown = 0"
DocStr(Destroy,
"Deletes the C++ object this Python object is a proxy for.", "");
void Destroy() {
//---------------------------------------------------------------------------
// Experimental...
-#if 0
-
%{
#ifdef __WXMSW__
#include <wx/msw/private.h>
%inline %{
-void wxDrawWindowOnDC(wxWindow* window, const wxDC& dc, int method)
+bool wxDrawWindowOnDC(wxWindow* window, const wxDC& dc
+#if 0
+ , int method
+#endif
+ )
{
#ifdef __WXMSW__
-
+#if 0
switch (method)
{
case 1:
break;
case 2:
- // This one works much better, except for on XP. On Win2k nearly
- // all widgets and their children are captured correctly[**]. On
- // XP with Themes activated most native widgets draw only
- // partially, if at all. Without themes it works just like on
- // Win2k.
+#endif
+ // This one works much better, nearly all widgets and their
+ // children are captured correctly[**]. Prior to the big
+ // background erase changes that Vadim did in 2004-2005 this
+ // method failed badly on XP with Themes activated, most native
+ // widgets draw only partially, if at all. Without themes it
+ // worked just like on Win2k. After those changes this method
+ // works very well.
//
// ** For example the radio buttons in a wxRadioBox are not its
// children by default, but you can capture it via the panel
::SendMessage(GetHwndOf(window), WM_PRINT, (long)GetHdcOf(dc),
PRF_CLIENT | PRF_NONCLIENT | PRF_CHILDREN |
PRF_ERASEBKGND | PRF_OWNED );
+ return true;
+#if 0
break;
case 3:
PRF_ERASEBKGND | PRF_OWNED );
}
}
-#endif
+#endif // 0
+#else
+ return false;
+#endif // __WXMSW__
}
%}
+
+
+#if 0
+%{
+ void t_output_tester1(int* a, int* b, int* c, int* d)
+ {
+ *a = 1234;
+ *b = 2345;
+ *c = 3456;
+ *d = 4567;
+ }
+ PyObject* t_output_tester2(int* a, int* b, int* c, int* d)
+ {
+ *a = 1234;
+ *b = 2345;
+ *c = 3456;
+ *d = 4567;
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+ PyObject* t_output_tester3(int* a, int* b, int* c, int* d)
+ {
+ *a = 1234;
+ *b = 2345;
+ *c = 3456;
+ *d = 4567;
+ PyObject* res = PyTuple_New(2);
+ PyTuple_SetItem(res, 0, PyInt_FromLong(1));
+ PyTuple_SetItem(res, 1, PyInt_FromLong(2));
+ return res;
+ }
+ PyObject* t_output_tester4()
+ {
+ PyObject* res = PyTuple_New(2);
+ PyTuple_SetItem(res, 0, PyInt_FromLong(132));
+ PyTuple_SetItem(res, 1, PyInt_FromLong(244));
+ return res;
+ }
+%}
+
+%newobject t_output_tester2;
+%newobject t_output_tester3;
+%newobject t_output_tester4;
+
+void t_output_tester1(int* OUTPUT, int* OUTPUT, int* OUTPUT, int* OUTPUT);
+PyObject* t_output_tester2(int* OUTPUT, int* OUTPUT, int* OUTPUT, int* OUTPUT);
+PyObject* t_output_tester3(int* OUTPUT, int* OUTPUT, int* OUTPUT, int* OUTPUT);
+PyObject* t_output_tester4();
+
#endif
//---------------------------------------------------------------------------