#endif
#include "wx/dcprint.h"
-#include "math.h"
-
-#if wxUSE_COMMON_DIALOGS
- #include <commdlg.h>
-#endif
+#include "wx/printdlg.h"
+#include "wx/msw/printdlg.h"
+#include "wx/math.h"
+#include "wx/msw/wrapcdlg.h"
#ifndef __WIN32__
#include <print.h>
#endif
wxString filename(m_printData.GetFilename());
- if (filename.IsEmpty())
+ if (filename.empty())
docinfo.lpszOutput = NULL;
else
docinfo.lpszOutput = (const wxChar *) filename;
GlobalFree(pd.hDevMode);
pd.hDevMode=NULL;
}
- return ( deviceName != wxEmptyString );
+ return ( !deviceName.empty() );
}
// Gets an HDC for the specified printer configuration
WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& printDataConst)
{
- wxPrintData printData = printDataConst;
- printData.ConvertToNative();
+#if defined(__WXUNIVERSAL__) && (!defined(__WXMSW__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW)
+
+#if 0
+ wxPostScriptPrintNativeData *data =
+ (wxPostScriptPrintNativeData *) printDataConst.GetNativeData();
+ // FIXME: how further ???
+#else
+ return 0;
+#endif
+
+#else // Postscript vs. native Windows
+
+ wxWindowsPrintNativeData *data =
+ (wxWindowsPrintNativeData *) printDataConst.GetNativeData();
+
+ data->TransferFrom( printDataConst );
wxChar* driverName = (wxChar*) NULL;
- wxString devNameStr = printData.GetPrinterName();
+ wxString devNameStr = printDataConst.GetPrinterName();
wxChar* portName = (wxChar*) NULL; // Obsolete in WIN32
const wxChar* deviceName;
LPDEVMODE lpDevMode = (LPDEVMODE) NULL;
- HGLOBAL hDevMode = (HGLOBAL)(DWORD) printData.GetNativeData();
+ HGLOBAL hDevMode = (HGLOBAL)(DWORD) data->GetDevMode();
if ( hDevMode )
lpDevMode = (DEVMODE*) GlobalLock(hDevMode);
GlobalUnlock(hDevMode);
return (WXHDC) hDC;
+#endif
}
// ----------------------------------------------------------------------------