]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/printfw.i
Better doc
[wxWidgets.git] / wxPython / src / printfw.i
index d1cb54d6eb90267380ea95dcf14569d09751e1ff..bd02f638606ea74b42ae68b41da57958c44b9470 100644 (file)
@@ -16,6 +16,7 @@
 #include "helpers.h"
 #include <wx/print.h>
 #include <wx/printdlg.h>
+#include <wx/dcps.h>
 
 #include "printfw.h"
 %}
@@ -112,6 +113,22 @@ public:
 
 //---------------------------------------------------------------------------
 
+class wxPostScriptDC : public wxDC {
+public:
+    wxPostScriptDC(const wxPrintData& printData);
+    %name(wxPostScriptDC2)wxPostScriptDC(const wxString& output,
+                                         bool interactive = TRUE,
+                                         wxWindow* parent = NULL);
+
+    wxPrintData& GetPrintData();
+    void SetPrintData(const wxPrintData& data);
+
+    static void SetResolution(int ppi);
+    static int GetResolution();
+};
+
+//---------------------------------------------------------------------------
+
 class wxPageSetupDialogData : public wxObject {
 public:
     wxPageSetupDialogData();
@@ -219,9 +236,10 @@ public:
 // Since this one would be tough and ugly to do with the Macros...
 void wxPyPrintout::GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo) {
     bool hadErr = FALSE;
+    bool found;
 
-    bool doSave = wxPyRestoreThread();
-    if (m_myInst.findCallback("GetPageInfo")) {
+    wxPyBeginBlockThreads();
+    if ((found = m_myInst.findCallback("GetPageInfo"))) {
         PyObject* result = m_myInst.callCallbackObj(Py_BuildValue("()"));
         if (result && PyTuple_Check(result) && PyTuple_Size(result) == 4) {
             PyObject* val;
@@ -251,10 +269,9 @@ void wxPyPrintout::GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *p
         }
         Py_DECREF(result);
     }
-    else
+    wxPyEndBlockThreads();
+    if (! found)
         wxPrintout::GetPageInfo(minPage, maxPage, pageFrom, pageTo);
-
-    wxPySaveThread(doSave);
 }
 
 void wxPyPrintout::base_GetPageInfo(int *minPage, int *maxPage, int *pageFrom, int *pageTo) {
@@ -279,8 +296,8 @@ IMP_PYCALLBACK_BOOL_INT(wxPyPrintout, wxPrintout, HasPage);
 public:
     wxPyPrintout(const char* title = "Printout");
 
-    void _setSelf(PyObject* self, PyObject* _class);
-    %pragma(python) addtomethod = "__init__:self._setSelf(self, wxPrintout)"
+    void _setCallbackInfo(PyObject* self, PyObject* _class);
+    %pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxPrintout)"
 
     %addmethods {
         void Destroy() { delete self; }
@@ -353,7 +370,7 @@ public:
                    long style = wxDEFAULT_FRAME_STYLE,
                    char* name = "frame");
 
-    %pragma(python) addtomethod = "__init__:#wx._StdFrameCallbacks(self)"
+    %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
 
     void Initialize();