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
::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)
void wxMSWDCImpl::RealizeScaleAndOrigin()
{
- // VZ: it seems very wasteful to always use MM_ANISOTROPIC when in 99% of
- // cases we could do with MM_TEXT and in the remaining 0.9% with
- // MM_ISOTROPIC (TODO!)
+ // although it may seem wasteful to always use MM_ANISOTROPIC here instead
+ // of using MM_TEXT if there is no scaling, benchmarking doesn't detect any
+ // noticeable difference between these mapping modes
#ifndef __WXWINCE__
::SetMapMode(GetHdc(), MM_ANISOTROPIC);
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)
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
// ----------------------------------------------------------------------------