X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f415cab9ef1433413a1a68a982ee9b17c5a8deda..79b7b95aed76eb742deef93d046886c20452fb36:/src/msw/dcprint.cpp diff --git a/src/msw/dcprint.cpp b/src/msw/dcprint.cpp index 32dad051fe..92425e9cf7 100644 --- a/src/msw/dcprint.cpp +++ b/src/msw/dcprint.cpp @@ -116,7 +116,10 @@ wxPrinterDC::wxPrinterDC(const wxString& driver_name, { if ( !driver_name.empty() && !device_name.empty() && !file.empty() ) { - m_hDC = (WXHDC) CreateDC(driver_name, device_name, file, NULL); + m_hDC = (WXHDC) CreateDC(driver_name.wx_str(), + device_name.wx_str(), + file.fn_str(), + NULL); } else // we don't have all parameters, ask the user { @@ -178,14 +181,14 @@ bool wxPrinterDC::StartDoc(const wxString& message) { DOCINFO docinfo; docinfo.cbSize = sizeof(DOCINFO); - docinfo.lpszDocName = (const wxChar*)message; + docinfo.lpszDocName = message.wx_str(); wxString filename(m_printData.GetFilename()); if (filename.empty()) docinfo.lpszOutput = NULL; else - docinfo.lpszOutput = (const wxChar *) filename; + docinfo.lpszOutput = filename.wx_str(); docinfo.lpszDatatype = NULL; docinfo.fwType = 0; @@ -193,15 +196,13 @@ bool wxPrinterDC::StartDoc(const wxString& message) if (!m_hDC) return false; - int ret = ::StartDoc(GetHdc(), &docinfo); - - if (ret <= 0) + if ( ::StartDoc(GetHdc(), &docinfo) <= 0 ) { - DWORD lastError = GetLastError(); - wxLogDebug(wxT("wxDC::StartDoc failed with error: %ld\n"), lastError); + wxLogLastError(wxT("StartDoc")); + return false; } - return (ret > 0); + return true; } void wxPrinterDC::EndDoc() @@ -325,7 +326,7 @@ WXHDC WXDLLEXPORT wxGetPrinterDC(const wxPrintData& printDataConst) DEVMODE *lpDevMode = hDevMode ? (DEVMODE *)::GlobalLock(hDevMode) : NULL; - HDC hDC = ::CreateDC(NULL, deviceName, NULL, lpDevMode); + HDC hDC = ::CreateDC(NULL, deviceName.wx_str(), NULL, lpDevMode); if ( !hDC ) wxLogLastError(_T("CreateDC(printer)")); @@ -399,7 +400,8 @@ void wxPrinterDC::DoDrawBitmap(const wxBitmap& bmp, { // no support for StretchDIBits() or an error occurred if we got here wxMemoryDC memDC; - memDC.SelectObject(bmp); + + memDC.SelectObjectAsSource(bmp); Blit(x, y, width, height, &memDC, 0, 0, wxCOPY, useMask);