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:
parent
f2fac41ad8
commit
632aaa1891
@ -56,6 +56,12 @@
|
||||
#define GDI_ERROR ((int)-1)
|
||||
#endif
|
||||
|
||||
#if defined(__WXUNIVERSAL__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW
|
||||
#define wxUSE_PS_PRINTING 1
|
||||
#else
|
||||
#define wxUSE_PS_PRINTING 0
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxWin macros
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -215,6 +221,8 @@ void wxPrinterDC::EndPage()
|
||||
::EndPage((HDC) m_hDC);
|
||||
}
|
||||
|
||||
#if !wxUSE_PS_PRINTING
|
||||
|
||||
// Returns default device and port names
|
||||
static bool wxGetDefaultDeviceName(wxString& deviceName, wxString& portName)
|
||||
{
|
||||
@ -273,66 +281,46 @@ static bool wxGetDefaultDeviceName(wxString& deviceName, wxString& portName)
|
||||
return ( !deviceName.empty() );
|
||||
}
|
||||
|
||||
#endif // !wxUSE_PS_PRINTING
|
||||
|
||||
// Gets an HDC for the specified printer configuration
|
||||
WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& printDataConst)
|
||||
{
|
||||
#if defined(__WXUNIVERSAL__) && (!defined(__WXMSW__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW)
|
||||
|
||||
#if 0
|
||||
wxPostScriptPrintNativeData *data =
|
||||
(wxPostScriptPrintNativeData *) printDataConst.GetNativeData();
|
||||
// FIXME: how further ???
|
||||
#else
|
||||
#if wxUSE_PS_PRINTING
|
||||
// TODO
|
||||
wxUnusedVar(printDataConst);
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
#else // Postscript vs. native Windows
|
||||
|
||||
#else // native Windows printing
|
||||
wxWindowsPrintNativeData *data =
|
||||
(wxWindowsPrintNativeData *) printDataConst.GetNativeData();
|
||||
|
||||
data->TransferFrom( printDataConst );
|
||||
|
||||
wxChar* driverName = (wxChar*) NULL;
|
||||
|
||||
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 )
|
||||
wxString deviceName = printDataConst.GetPrinterName();
|
||||
if ( deviceName.empty() )
|
||||
{
|
||||
// Retrieve the default device name
|
||||
wxString portName;
|
||||
if ( !wxGetDefaultDeviceName(devNameStr, portName) )
|
||||
if ( !wxGetDefaultDeviceName(deviceName, portName) )
|
||||
{
|
||||
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)
|
||||
GlobalUnlock(hDevMode);
|
||||
HGLOBAL hDevMode = (HGLOBAL)(DWORD) data->GetDevMode();
|
||||
|
||||
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;
|
||||
#endif
|
||||
#endif // PostScript/Windows printing
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user