]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/gnome/gprint.cpp
restore brush properly
[wxWidgets.git] / src / gtk / gnome / gprint.cpp
index 29b2890fbf71fdcbc55b0445a3a5de64e68cafbd..0d12dfa502cb24f8128b9d7a1aae910c9ce02cad 100644 (file)
@@ -31,6 +31,7 @@
 #include "wx/fontutil.h"
 #include "wx/gtk/private.h"
 #include "wx/dynlib.h"
+#include "wx/paper.h"
 
 #include <libgnomeprint/gnome-print.h>
 #include <libgnomeprint/gnome-print-pango.h>
@@ -731,8 +732,10 @@ bool wxGnomePrinter::Print(wxWindow *parent, wxPrintout *printout, bool prompt )
     int w, h;
     dc->GetSize(&w, &h);
     printout->SetPageSizePixels((int)w, (int)h);
-    dc->GetSizeMM(&w, &h);
-    printout->SetPageSizeMM((int)w, (int)h);
+    printout->SetPaperRectPixels(wxRect(0, 0, w, h));
+    int mw, mh;
+    dc->GetSizeMM(&mw, &mh);
+    printout->SetPageSizeMM((int)mw, (int)mh);
 
     printout->OnPreparePrinting();
 
@@ -879,7 +882,7 @@ wxGnomePrintDC::wxGnomePrintDC( const wxPrintData& data )
 wxGnomePrintDC::~wxGnomePrintDC()
 {
     if (m_job)
-        g_object_unref (job);
+        g_object_unref (m_job);
 }
 
 bool wxGnomePrintDC::IsOk() const
@@ -1945,18 +1948,19 @@ void wxGnomePrintPreview::DetermineScaling()
             m_pageWidth = sizeDevUnits.y;
             m_pageHeight = sizeDevUnits.x;
             m_previewPrintout->SetPageSizeMM(sizeMM.y, sizeMM.x);
-            m_previewPrintout->SetPageSizePixels(m_pageWidth, m_pageHeight);
         }
         else
         {
             m_pageWidth = sizeDevUnits.x;
             m_pageHeight = sizeDevUnits.y;
             m_previewPrintout->SetPageSizeMM(sizeMM.x, sizeMM.y);
-            m_previewPrintout->SetPageSizePixels(m_pageWidth, m_pageHeight);
         }
+        m_previewPrintout->SetPageSizePixels(m_pageWidth, m_pageHeight);
+        m_previewPrintout->SetPaperRectPixels(wxRect(0, 0, m_pageWidth, m_pageHeight));
 
         // At 100%, the page should look about page-size on the screen.
-        m_previewScale = (float)0.8 * 72.0 / (float)wxGnomePrintDC::GetResolution();
+        m_previewScaleX = (float)0.8 * 72.0 / (float)wxGnomePrintDC::GetResolution();
+        m_previewScaleY = m_previewScaleX;
     }
 }