X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/632aaa18917a5a26e166aa970f7ad65ff15a3667..c3a58b249e576b73b01cd74deb1cf879aa6e1975:/src/msw/dcprint.cpp?ds=sidebyside diff --git a/src/msw/dcprint.cpp b/src/msw/dcprint.cpp index 8f77fa7fe8..2450426227 100644 --- a/src/msw/dcprint.cpp +++ b/src/msw/dcprint.cpp @@ -56,7 +56,7 @@ #define GDI_ERROR ((int)-1) #endif -#if defined(__WXUNIVERSAL__) || wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW +#if defined(__WXUNIVERSAL__) && wxUSE_POSTSCRIPT_ARCHITECTURE_IN_MSW #define wxUSE_PS_PRINTING 1 #else #define wxUSE_PS_PRINTING 0 @@ -221,6 +221,19 @@ void wxPrinterDC::EndPage() ::EndPage((HDC) m_hDC); } + +wxRect wxPrinterDC::GetPaperRect() + +{ + if (!Ok()) return wxRect(0, 0, 0, 0); + int w = ::GetDeviceCaps((HDC) m_hDC, PHYSICALWIDTH); + int h = ::GetDeviceCaps((HDC) m_hDC, PHYSICALHEIGHT); + int x = -::GetDeviceCaps((HDC) m_hDC, PHYSICALOFFSETX); + int y = -::GetDeviceCaps((HDC) m_hDC, PHYSICALOFFSETY); + return wxRect(x, y, w, h); +} + + #if !wxUSE_PS_PRINTING // Returns default device and port names @@ -386,7 +399,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);