#endif
#endif // __WXMSW__
-#if !USE_SHARED_LIBRARY
IMPLEMENT_CLASS(wxPrinterBase, wxObject)
IMPLEMENT_ABSTRACT_CLASS(wxPrintout, wxObject)
IMPLEMENT_CLASS(wxPreviewCanvas, wxWindow)
EVT_PAINT(wxPreviewCanvas::OnPaint)
EVT_SYS_COLOUR_CHANGED(wxPreviewCanvas::OnSysColourChanged)
END_EVENT_TABLE()
-#endif
/*
* Printer
wxPaintDC dc(this);
PrepareDC( dc );
+#ifdef __WXGTK__
+ if (!GetUpdateRegion().IsEmpty())
+ dc.SetClippingRegion( GetUpdateRegion() );
+#endif
+
if (m_printPreview)
{
m_printPreview->PaintPage(this, dc);
if (m_buttonFlags & wxPREVIEW_PREVIOUS)
{
- m_previousPageButton = new wxButton(this, wxID_PREVIEW_PREVIOUS, "<<", wxPoint(x, y),
+ m_previousPageButton = new wxButton(this, wxID_PREVIEW_PREVIOUS, wxT("<<"), wxPoint(x, y),
wxSize(buttonWidth, buttonHeight));
x += gap + buttonWidth;
}
if (m_buttonFlags & wxPREVIEW_NEXT)
{
- m_nextPageButton = new wxButton(this, wxID_PREVIEW_NEXT, ">>",
+ m_nextPageButton = new wxButton(this, wxID_PREVIEW_NEXT, wxT(">>"),
wxPoint(x, y), wxSize(buttonWidth, buttonHeight));
x += gap + buttonWidth;
}
"120%", "150%", "200%"
};
- m_zoomControl = new wxChoice(this, wxID_PREVIEW_ZOOM,
- wxPoint(x, y), wxSize(100, -1));
-
- // Yes, this look stupid, but this is because gcc gives up otherwise.
int n = WXSIZEOF(choices);
-// Someone is calling methods that do no exist in wxChoice!! So I'll just comment out for VA for now
- for ( int i = 0; i < n; i++ )
- m_zoomControl->Append(choices[i]);
+
+ wxString* strings = new wxString[n];
+ int i;
+ for (i = 0; i < n; i++ )
+ strings[i] = choices[i];
+
+ m_zoomControl = new wxChoice(this, wxID_PREVIEW_ZOOM,
+ wxPoint(x, y),
+ wxSize(100, -1),
+ n,
+ strings
+ );
+ delete[] strings;
+
SetZoomControl(m_printPreview->GetZoom());
}
m_previewBitmap = NULL;
}
-
if (m_previewCanvas)
{
RenderPage(m_currentPage);
+ ((wxScrolledWindow *) m_previewCanvas)->Scroll(0, 0);
m_previewCanvas->Clear();
m_previewCanvas->Refresh();
}