fix warnings about unused parameters and functions in wxUniv build; also clean up wxGetPrinterDC() somewhat (a lot is left to do...)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-09-14 10:53:12 +00:00
parent f2fac41ad8
commit 632aaa1891

View File

@@ -56,6 +56,12 @@
#define GDI_ERROR ((int)-1) #define GDI_ERROR ((int)-1)
#endif #endif
#if defined(__WXUNIVERSAL__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW
#define wxUSE_PS_PRINTING 1
#else
#define wxUSE_PS_PRINTING 0
#endif
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// wxWin macros // wxWin macros
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
@@ -215,6 +221,8 @@ void wxPrinterDC::EndPage()
::EndPage((HDC) m_hDC); ::EndPage((HDC) m_hDC);
} }
#if !wxUSE_PS_PRINTING
// Returns default device and port names // Returns default device and port names
static bool wxGetDefaultDeviceName(wxString& deviceName, wxString& portName) static bool wxGetDefaultDeviceName(wxString& deviceName, wxString& portName)
{ {
@@ -273,66 +281,46 @@ static bool wxGetDefaultDeviceName(wxString& deviceName, wxString& portName)
return ( !deviceName.empty() ); return ( !deviceName.empty() );
} }
#endif // !wxUSE_PS_PRINTING
// Gets an HDC for the specified printer configuration // Gets an HDC for the specified printer configuration
WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& printDataConst) WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& printDataConst)
{ {
#if defined(__WXUNIVERSAL__) && (!defined(__WXMSW__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW) #if wxUSE_PS_PRINTING
// TODO
#if 0 wxUnusedVar(printDataConst);
wxPostScriptPrintNativeData *data =
(wxPostScriptPrintNativeData *) printDataConst.GetNativeData();
// FIXME: how further ???
#else
return 0; return 0;
#endif #else // native Windows printing
#else // Postscript vs. native Windows
wxWindowsPrintNativeData *data = wxWindowsPrintNativeData *data =
(wxWindowsPrintNativeData *) printDataConst.GetNativeData(); (wxWindowsPrintNativeData *) printDataConst.GetNativeData();
data->TransferFrom( printDataConst ); data->TransferFrom( printDataConst );
wxChar* driverName = (wxChar*) NULL; wxString deviceName = printDataConst.GetPrinterName();
if ( deviceName.empty() )
wxString devNameStr = printDataConst.GetPrinterName();
wxChar* portName = (wxChar*) NULL; // Obsolete in WIN32
const wxChar* deviceName;
if ( !devNameStr )
deviceName = (wxChar*) NULL;
else
deviceName = devNameStr.c_str();
LPDEVMODE lpDevMode = (LPDEVMODE) NULL;
HGLOBAL hDevMode = (HGLOBAL)(DWORD) data->GetDevMode();
if ( hDevMode )
lpDevMode = (DEVMODE*) GlobalLock(hDevMode);
if ( !devNameStr )
{ {
// Retrieve the default device name // Retrieve the default device name
wxString portName; wxString portName;
if ( !wxGetDefaultDeviceName(devNameStr, portName) ) if ( !wxGetDefaultDeviceName(deviceName, portName) )
{ {
return 0; // Could not get default device name return 0; // Could not get default device name
} }
deviceName = devNameStr.c_str();
} }
#ifdef __WIN32__
HDC hDC = CreateDC(driverName, deviceName, portName, (DEVMODE *) lpDevMode);
#else
HDC hDC = CreateDC(driverName, deviceName, portName, (LPSTR) lpDevMode);
#endif
if (hDevMode && lpDevMode) HGLOBAL hDevMode = (HGLOBAL)(DWORD) data->GetDevMode();
GlobalUnlock(hDevMode);
DEVMODE *lpDevMode = hDevMode ? (DEVMODE *)::GlobalLock(hDevMode) : NULL;
HDC hDC = ::CreateDC(NULL, deviceName, NULL, lpDevMode);
if ( !hDC )
wxLogLastError(_T("CreateDC(printer)"));
if ( lpDevMode )
::GlobalUnlock(hDevMode);
return (WXHDC) hDC; return (WXHDC) hDC;
#endif #endif // PostScript/Windows printing
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------