X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9effb77dbc83d7def19da6b61fe46f75b08420ef..44d0f703f9cba47009e33cd248f78bef941ba99b:/src/msw/dc.cpp?ds=sidebyside diff --git a/src/msw/dc.cpp b/src/msw/dc.cpp index 5dbd1f291f..5a8608840b 100644 --- a/src/msw/dc.cpp +++ b/src/msw/dc.cpp @@ -43,7 +43,7 @@ #include "wx/sysopt.h" #include "wx/dynlib.h" -#ifdef wxHAVE_RAW_BITMAP +#ifdef wxHAS_RAW_BITMAP #include "wx/rawbmp.h" #endif @@ -133,7 +133,7 @@ static bool AlphaBlt(HDC hdcDst, HDC hdcSrc, const wxBitmap& bmp); -#ifdef wxHAVE_RAW_BITMAP +#ifdef wxHAS_RAW_BITMAP // our (limited) AlphaBlend() replacement for Windows versions not providing it static void @@ -143,7 +143,7 @@ wxAlphaBlend(HDC hdcDst, int xDst, int yDst, int srcWidth, int srcHeight, const wxBitmap& bmpSrc); -#endif // wxHAVE_RAW_BITMAP +#endif // wxHAS_RAW_BITMAP // ---------------------------------------------------------------------------- // private classes @@ -525,7 +525,7 @@ wxMSWDCImpl::DoGetClippingBox(wxCoord *x, wxCoord *y, wxCoord *w, wxCoord *h) co wxDCImpl::DoGetClippingBox(x, y, w, h); } -// common part of DoSetClippingRegion() and DoSetClippingRegionAsRegion() +// common part of DoSetClippingRegion() and DoSetDeviceClippingRegion() void wxMSWDCImpl::SetClippingHrgn(WXHRGN hrgn) { wxCHECK_RET( hrgn, wxT("invalid clipping region") ); @@ -593,7 +593,7 @@ void wxMSWDCImpl::DoSetClippingRegion(wxCoord x, wxCoord y, wxCoord w, wxCoord h } } -void wxMSWDCImpl::DoSetClippingRegionAsRegion(const wxRegion& region) +void wxMSWDCImpl::DoSetDeviceClippingRegion(const wxRegion& region) { SetClippingHrgn(region.GetHRGN()); } @@ -1083,13 +1083,9 @@ void wxMSWDCImpl::DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord hei CalcBoundingBox(x2, y2); } -#if wxUSE_SPLINES +#if wxUSE_SPLINES && !defined(__WXWINCE__) void wxMSWDCImpl::DoDrawSpline(const wxPointList *points) { -#ifdef __WXWINCE__ - // WinCE does not support ::PolyBezier so use generic version - wxDCImpl::DoDrawSpline(points); -#else // quadratic b-spline to cubic bezier spline conversion // // quadratic spline with control points P0,P1,P2 @@ -1178,9 +1174,8 @@ void wxMSWDCImpl::DoDrawSpline(const wxPointList *points) ::PolyBezier( GetHdc(), lppt, bezier_pos ); free(lppt); -#endif } -#endif +#endif // wxUSE_SPLINES // Chris Breeze 20/5/98: first implementation of DrawEllipticArc on Windows void wxMSWDCImpl::DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,double sa,double ea) @@ -2022,9 +2017,15 @@ void wxMSWDCImpl::SetLogicalOrigin(wxCoord x, wxCoord y) wxDCImpl::SetLogicalOrigin( x, y ); -#ifndef __WXWINCE__ - ::SetWindowOrgEx(GetHdc(), (int)m_logicalOriginX, (int)m_logicalOriginY, NULL); -#endif + RealizeScaleAndOrigin(); +} + +// For use by wxWidgets only, unless custom units are required. +void wxMSWDCImpl::SetLogicalScale(double x, double y) +{ + WXMICROWIN_CHECK_HDC + + wxDCImpl::SetLogicalScale(x,y); } void wxMSWDCImpl::SetDeviceOrigin(wxCoord x, wxCoord y) @@ -2394,14 +2395,6 @@ wxSize wxMSWDCImpl::GetPPI() const return wxSize(x, y); } -// For use by wxWidgets only, unless custom units are required. -void wxMSWDCImpl::SetLogicalScale(double x, double y) -{ - WXMICROWIN_CHECK_HDC - - wxDCImpl::SetLogicalScale(x,y); -} - // ---------------------------------------------------------------------------- // DC caching // ---------------------------------------------------------------------------- @@ -2586,21 +2579,21 @@ static bool AlphaBlt(HDC hdcDst, // AlphaBlend() unavailable of failed: use our own (probably much slower) // implementation -#ifdef wxHAVE_RAW_BITMAP +#ifdef wxHAS_RAW_BITMAP wxAlphaBlend(hdcDst, x, y, dstWidth, dstHeight, srcX, srcY, srcWidth, srcHeight, bmp); return true; -#else // !wxHAVE_RAW_BITMAP +#else // !wxHAS_RAW_BITMAP // no wxAlphaBlend() neither, fall back to using simple BitBlt() (we lose // alpha but at least something will be shown like this) wxUnusedVar(bmp); return false; -#endif // wxHAVE_RAW_BITMAP +#endif // wxHAS_RAW_BITMAP/!wxHAS_RAW_BITMAP } // wxAlphaBlend: our fallback if ::AlphaBlend() is unavailable -#ifdef wxHAVE_RAW_BITMAP +#ifdef wxHAS_RAW_BITMAP static void wxAlphaBlend(HDC hdcDst, int xDst, int yDst, @@ -2662,7 +2655,7 @@ wxAlphaBlend(HDC hdcDst, int xDst, int yDst, } } -#endif // #ifdef wxHAVE_RAW_BITMAP +#endif // wxHAS_RAW_BITMAP void wxMSWDCImpl::DoGradientFillLinear (const wxRect& rect, const wxColour& initialColour,