]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/dc.cpp
Added GUI part of AppTraits for OS/2.
[wxWidgets.git] / src / msw / dc.cpp
index 914bfa6fb3a3d79f248eb3713a1cdcdc0f373039..f3c558bf1195832ee43e05b5afba0d800c0a8d58 100644 (file)
@@ -572,7 +572,7 @@ bool wxDC::DoFloodFill(wxCoord x, wxCoord y, const wxColour& col, int style)
     }
 
     CalcBoundingBox(x, y);
     }
 
     CalcBoundingBox(x, y);
-    
+
     return success;
 #endif
 }
     return success;
 #endif
 }
@@ -630,7 +630,12 @@ void wxDC::DoDrawArc(wxCoord x1, wxCoord y1,
                      wxCoord xc, wxCoord yc)
 {
 #ifdef __WXWINCE__
                      wxCoord xc, wxCoord yc)
 {
 #ifdef __WXWINCE__
-    // FIXME: emulate Arc
+    // Slower emulation since WinCE doesn't support Pie and Arc
+    double r = sqrt( (x1-xc)*(x1-xc) + (y1-yc)*(y1-yc) );
+    double sa = acos((x1-xc)/r)/M_PI*180; // between 0 and 180
+    if( y1>yc ) sa = -sa; // below center
+    double ea = atan2(yc-y2, x2-xc)/M_PI*180;
+    DoDrawEllipticArcRot( xc-r, yc-r, 2*r, 2*r, sa, ea );
 #else
 
 #ifdef __WXMICROWIN__
 #else
 
 #ifdef __WXMICROWIN__
@@ -921,7 +926,7 @@ void wxDC::DoDrawEllipse(wxCoord x, wxCoord y, wxCoord width, wxCoord height)
 void wxDC::DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,double sa,double ea)
 {
 #ifdef __WXWINCE__
 void wxDC::DoDrawEllipticArc(wxCoord x,wxCoord y,wxCoord w,wxCoord h,double sa,double ea)
 {
 #ifdef __WXWINCE__
-    // FIXME
+    DoDrawEllipticArcRot( x, y, w, h, sa, ea );
 #else
 
 #ifdef __WXMICROWIN__
 #else
 
 #ifdef __WXMICROWIN__
@@ -2042,8 +2047,12 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest,
         }
 
         if ( !success && (caps & RC_STRETCHBLT) )
         }
 
         if ( !success && (caps & RC_STRETCHBLT) )
+#endif
+        // __WXWINCE__
         {
         {
+#ifndef __WXWINCE__
             StretchBltModeChanger changeMode(GetHdc(), COLORONCOLOR);
             StretchBltModeChanger changeMode(GetHdc(), COLORONCOLOR);
+#endif
 
             if ( !::StretchBlt
                     (
 
             if ( !::StretchBlt
                     (
@@ -2081,8 +2090,6 @@ bool wxDC::DoBlit(wxCoord xdest, wxCoord ydest,
                 success = TRUE;
             }
         }
                 success = TRUE;
             }
         }
-#endif
-        // __WXWINCE__
     }
 
     ::SetTextColor(GetHdc(), old_textground);
     }
 
     ::SetTextColor(GetHdc(), old_textground);