Removed Pango homemade implementation and
reinstated old code that uses /Times and
/Helv etc for printing PostScript.
Various smaller fixes related to printing.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -88,47 +88,6 @@ bool wxPostScriptPrinter::Print(wxWindow *parent, wxPrintout *printout, bool pro
|
||||
|
||||
printout->SetIsPreview(false);
|
||||
|
||||
#if 0
|
||||
// 4/9/99, JACS: this is a silly place to allow preparation, considering
|
||||
// the DC and no parameters have been set in the printout object.
|
||||
// Moved further down.
|
||||
|
||||
// printout->OnPreparePrinting();
|
||||
|
||||
// Get some parameters from the printout, if defined
|
||||
int fromPage, toPage;
|
||||
int minPage, maxPage;
|
||||
printout->GetPageInfo(&minPage, &maxPage, &fromPage, &toPage);
|
||||
|
||||
if (maxPage == 0)
|
||||
{
|
||||
sm_lastError = wxPRINTER_ERROR;
|
||||
return false;
|
||||
}
|
||||
|
||||
m_printDialogData.SetMinPage(minPage);
|
||||
m_printDialogData.SetMaxPage(maxPage);
|
||||
if (fromPage != 0)
|
||||
m_printDialogData.SetFromPage(fromPage);
|
||||
if (toPage != 0)
|
||||
m_printDialogData.SetToPage(toPage);
|
||||
|
||||
if (minPage != 0)
|
||||
{
|
||||
m_printDialogData.EnablePageNumbers(true);
|
||||
if (m_printDialogData.GetFromPage() < m_printDialogData.GetMinPage())
|
||||
m_printDialogData.SetFromPage(m_printDialogData.GetMinPage());
|
||||
else if (m_printDialogData.GetFromPage() > m_printDialogData.GetMaxPage())
|
||||
m_printDialogData.SetFromPage(m_printDialogData.GetMaxPage());
|
||||
if (m_printDialogData.GetToPage() > m_printDialogData.GetMaxPage())
|
||||
m_printDialogData.SetToPage(m_printDialogData.GetMaxPage());
|
||||
else if (m_printDialogData.GetToPage() < m_printDialogData.GetMinPage())
|
||||
m_printDialogData.SetToPage(m_printDialogData.GetMinPage());
|
||||
}
|
||||
else
|
||||
m_printDialogData.EnablePageNumbers(false);
|
||||
#endif
|
||||
|
||||
if (m_printDialogData.GetMinPage() < 1)
|
||||
m_printDialogData.SetMinPage(1);
|
||||
if (m_printDialogData.GetMaxPage() < 1)
|
||||
@@ -193,7 +152,12 @@ bool wxPostScriptPrinter::Print(wxWindow *parent, wxPrintout *printout, bool pro
|
||||
// set by the user
|
||||
m_printDialogData.SetMinPage(minPage);
|
||||
m_printDialogData.SetMaxPage(maxPage);
|
||||
|
||||
|
||||
if (m_printDialogData.GetFromPage() < minPage)
|
||||
m_printDialogData.SetFromPage( minPage );
|
||||
if (m_printDialogData.GetToPage() > maxPage)
|
||||
m_printDialogData.SetToPage( maxPage );
|
||||
|
||||
int
|
||||
pagesPerCopy = m_printDialogData.GetToPage()-m_printDialogData.GetFromPage()+1,
|
||||
totalPages = pagesPerCopy * m_printDialogData.GetNoCopies(),
|
||||
@@ -273,12 +237,13 @@ bool wxPostScriptPrinter::Print(wxWindow *parent, wxPrintout *printout, bool pro
|
||||
wxDC* wxPostScriptPrinter::PrintDialog(wxWindow *parent)
|
||||
{
|
||||
wxDC* dc = (wxDC*) NULL;
|
||||
wxGenericPrintDialog* dialog = new wxGenericPrintDialog(parent, & m_printDialogData);
|
||||
int ret = dialog->ShowModal() ;
|
||||
if (ret == wxID_OK)
|
||||
|
||||
wxGenericPrintDialog dialog( parent, &m_printDialogData );
|
||||
if (dialog.ShowModal() == wxID_OK)
|
||||
{
|
||||
dc = dialog->GetPrintDC();
|
||||
m_printDialogData = dialog->GetPrintDialogData();
|
||||
dc = dialog.GetPrintDC();
|
||||
m_printDialogData = dialog.GetPrintDialogData();
|
||||
|
||||
if (dc == NULL)
|
||||
sm_lastError = wxPRINTER_ERROR;
|
||||
else
|
||||
@@ -287,8 +252,6 @@ wxDC* wxPostScriptPrinter::PrintDialog(wxWindow *parent)
|
||||
else
|
||||
sm_lastError = wxPRINTER_CANCELLED;
|
||||
|
||||
dialog->Destroy();
|
||||
|
||||
return dc;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user