+#define DEC_PYCALLBACK__DC4DBLBOOL(CBNAME) \
+ void CBNAME(wxDC& a, double b, double c, double d, double e, bool f); \
+ void base_##CBNAME(wxDC& a, double b, double c, double d, double e, bool f);
+
+
+#define IMP_PYCALLBACK__DC4DBLBOOL(CLASS, PCLASS, CBNAME) \
+ void CLASS::CBNAME(wxDC& a, double b, double c, double d, double e, bool f) { \
+ bool doSave = wxPyRestoreThread(); \
+ if (m_myInst.findCallback(#CBNAME)) \
+ m_myInst.callCallback(Py_BuildValue("(Oddddi)", \
+ wxPyConstructObject(&a, "wxDC"), \
+ b, c, d, e, (int)f)); \
+ else \
+ PCLASS::CBNAME(a, b, c, d, e, f); \
+ wxPySaveThread(doSave); \
+ } \
+ void CLASS::base_##CBNAME(wxDC& a, double b, double c, double d, double e, bool f) {\
+ PCLASS::CBNAME(a, b, c, d, e, f); \
+ }
+
+//---------------------------------------------------------------------------
+
+#define DEC_PYCALLBACK_BOOL_DC4DBLBOOL(CBNAME) \
+ bool CBNAME(wxDC& a, double b, double c, double d, double e, bool f); \
+ bool base_##CBNAME(wxDC& a, double b, double c, double d, double e, bool f);
+
+
+#define IMP_PYCALLBACK_BOOL_DC4DBLBOOL(CLASS, PCLASS, CBNAME) \
+ bool CLASS::CBNAME(wxDC& a, double b, double c, double d, double e, bool f) { \
+ bool doSave = wxPyRestoreThread(); \
+ bool rval; \
+ if (m_myInst.findCallback(#CBNAME)) \
+ rval = m_myInst.callCallback(Py_BuildValue("(Oddddi)", \
+ wxPyConstructObject(&a, "wxDC"), \
+ b, c, d, e, (int)f)); \
+ else \
+ rval = PCLASS::CBNAME(a, b, c, d, e, f); \
+ wxPySaveThread(doSave); \
+ return rval; \
+ } \
+ bool CLASS::base_##CBNAME(wxDC& a, double b, double c, double d, double e, bool f) {\
+ return PCLASS::CBNAME(a, b, c, d, e, f); \
+ }
+
+//---------------------------------------------------------------------------
+
+#define DEC_PYCALLBACK__BOOL2DBL2INT(CBNAME) \
+ void CBNAME(bool a, double b, double c, int d, int e); \
+ void base_##CBNAME(bool a, double b, double c, int d, int e);
+
+
+#define IMP_PYCALLBACK__BOOL2DBL2INT(CLASS, PCLASS, CBNAME) \
+ void CLASS::CBNAME(bool a, double b, double c, int d, int e) { \
+ bool doSave = wxPyRestoreThread(); \
+ if (m_myInst.findCallback(#CBNAME)) \
+ m_myInst.callCallback(Py_BuildValue("(idii)", \
+ (int)a,b,c,d,e)); \
+ else \
+ PCLASS::CBNAME(a, b, c, d, e); \
+ wxPySaveThread(doSave); \
+ } \
+ void CLASS::base_##CBNAME(bool a, double b, double c, int d, int e) { \
+ PCLASS::CBNAME(a, b, c, d, e); \
+ }
+
+//---------------------------------------------------------------------------
+
+#define DEC_PYCALLBACK__DC4DBL(CBNAME) \
+ void CBNAME(wxDC& a, double b, double c, double d, double e); \
+ void base_##CBNAME(wxDC& a, double b, double c, double d, double e);
+
+
+#define IMP_PYCALLBACK__DC4DBL(CLASS, PCLASS, CBNAME) \
+ void CLASS::CBNAME(wxDC& a, double b, double c, double d, double e) { \
+ bool doSave = wxPyRestoreThread(); \
+ if (m_myInst.findCallback(#CBNAME)) \
+ m_myInst.callCallback(Py_BuildValue("(Odddd)", \
+ wxPyConstructObject(&a, "wxDC"), \
+ b, c, d, e)); \
+ else \
+ PCLASS::CBNAME(a, b, c, d, e); \
+ wxPySaveThread(doSave); \
+ } \
+ void CLASS::base_##CBNAME(wxDC& a, double b, double c, double d, double e) {\
+ PCLASS::CBNAME(a, b, c, d, e); \
+ }
+
+//---------------------------------------------------------------------------
+
+#define DEC_PYCALLBACK__DCBOOL(CBNAME) \
+ void CBNAME(wxDC& a, bool b); \
+ void base_##CBNAME(wxDC& a, bool b);
+
+
+#define IMP_PYCALLBACK__DCBOOL(CLASS, PCLASS, CBNAME) \
+ void CLASS::CBNAME(wxDC& a, bool b) { \
+ bool doSave = wxPyRestoreThread(); \