X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/888dde65f43d5f57e8fb2028b27191cca1741403..63ced01b228ba426db163b75667a9b57d092f8db:/src/msw/dcprint.cpp diff --git a/src/msw/dcprint.cpp b/src/msw/dcprint.cpp index 628e6e81b2..9ca81119cb 100644 --- a/src/msw/dcprint.cpp +++ b/src/msw/dcprint.cpp @@ -83,7 +83,7 @@ wxPrinterDC::wxPrinterDC(const wxString& driver_name, const wxString& device_name, const wxString& file, bool interactive, - int orientation) + wxPrintOrientation orientation) { m_isInteractive = interactive; @@ -228,7 +228,7 @@ void wxPrinterDCImpl::EndPage() } -wxRect wxPrinterDCImpl::GetPaperRect() +wxRect wxPrinterDCImpl::GetPaperRect() const { if (!IsOk()) return wxRect(0, 0, 0, 0); @@ -327,16 +327,22 @@ WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& printDataConst) } - HGLOBAL hDevMode = (HGLOBAL)(DWORD) data->GetDevMode(); + GlobalPtrLock lockDevMode; + const HGLOBAL devMode = data->GetDevMode(); + if ( devMode ) + lockDevMode.Init(devMode); - DEVMODE *lpDevMode = hDevMode ? (DEVMODE *)::GlobalLock(hDevMode) : NULL; - - HDC hDC = ::CreateDC(NULL, deviceName.wx_str(), NULL, lpDevMode); + HDC hDC = ::CreateDC + ( + NULL, // no driver name as we use device name + deviceName.wx_str(), + NULL, // unused + static_cast(lockDevMode.Get()) + ); if ( !hDC ) - wxLogLastError(_T("CreateDC(printer)")); - - if ( lpDevMode ) - ::GlobalUnlock(hDevMode); + { + wxLogLastError(wxT("CreateDC(printer)")); + } return (WXHDC) hDC; #endif // PostScript/Windows printing @@ -361,7 +367,7 @@ bool DrawBitmapUsingStretchDIBits(HDC hdc, DIBSECTION ds; if ( !::GetObject(dib.GetHandle(), sizeof(ds), &ds) ) { - wxLogLastError(_T("GetObject(DIBSECTION)")); + wxLogLastError(wxT("GetObject(DIBSECTION)")); return false; } @@ -395,7 +401,7 @@ void wxPrinterDCImpl::DoDrawBitmap(const wxBitmap& bmp, wxCoord x, wxCoord y, bool useMask) { - wxCHECK_RET( bmp.Ok(), _T("invalid bitmap in wxPrinterDC::DrawBitmap") ); + wxCHECK_RET( bmp.Ok(), wxT("invalid bitmap in wxPrinterDC::DrawBitmap") ); int width = bmp.GetWidth(), height = bmp.GetHeight(); @@ -418,7 +424,7 @@ bool wxPrinterDCImpl::DoBlit(wxCoord xdest, wxCoord ydest, wxCoord width, wxCoord height, wxDC *source, wxCoord WXUNUSED(xsrc), wxCoord WXUNUSED(ysrc), - int WXUNUSED(rop), bool useMask, + wxRasterOperationMode WXUNUSED(rop), bool useMask, wxCoord WXUNUSED(xsrcMask), wxCoord WXUNUSED(ysrcMask)) { wxDCImpl *impl = source->GetImpl();