X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/888dde65f43d5f57e8fb2028b27191cca1741403..43c42c18d36c703a88b1b7b697bac27fe5608eca:/src/msw/dcprint.cpp diff --git a/src/msw/dcprint.cpp b/src/msw/dcprint.cpp index 628e6e81b2..ec8bc89aa8 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; @@ -118,8 +118,8 @@ wxPrinterDC::wxPrinterDC(const wxString& driver_name, { if ( !driver_name.empty() && !device_name.empty() && !file.empty() ) { - m_hDC = (WXHDC) CreateDC(driver_name.wx_str(), - device_name.wx_str(), + m_hDC = (WXHDC) CreateDC(driver_name.t_str(), + device_name.t_str(), file.fn_str(), NULL); } @@ -186,14 +186,14 @@ bool wxPrinterDCImpl::StartDoc(const wxString& message) { DOCINFO docinfo; docinfo.cbSize = sizeof(DOCINFO); - docinfo.lpszDocName = message.wx_str(); + docinfo.lpszDocName = message.t_str(); wxString filename(m_printData.GetFilename()); if (filename.empty()) docinfo.lpszOutput = NULL; else - docinfo.lpszOutput = filename.wx_str(); + docinfo.lpszOutput = filename.t_str(); docinfo.lpszDatatype = NULL; docinfo.fwType = 0; @@ -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.t_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.IsOk(), 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();