]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/dc.cpp
Cast needed to fix compilation on 10.4 --This line, and those below,
[wxWidgets.git] / src / msw / dc.cpp
index 8be0ac0ffe8318cfc2b1a4d23f10dda37c3244e7..b47befb24ee5f9935a863fe8caa6884165034c11 100644 (file)
@@ -219,7 +219,7 @@ private:
     COLORREF m_oldColFg,
              m_oldColBg;
 
-    DECLARE_NO_COPY_CLASS(wxTextColoursChanger)
+    wxDECLARE_NO_COPY_CLASS(wxTextColoursChanger);
 };
 
 // background mode
@@ -259,7 +259,7 @@ private:
     const HDC m_hdc;
     int m_oldMode;
 
-    DECLARE_NO_COPY_CLASS(wxBkModeChanger)
+    wxDECLARE_NO_COPY_CLASS(wxBkModeChanger);
 };
 
 // instead of duplicating the same code which sets and then restores text
@@ -275,7 +275,7 @@ public:
     wxBrushAttrsSetter(wxMSWDCImpl& dc);
 
 private:
-    DECLARE_NO_COPY_CLASS(wxBrushAttrsSetter)
+    wxDECLARE_NO_COPY_CLASS(wxBrushAttrsSetter);
 };
 
 // this class saves the old stretch blit mode during its life time
@@ -306,7 +306,7 @@ private:
 
     int m_modeOld;
 
-    DECLARE_NO_COPY_CLASS(StretchBltModeChanger)
+    wxDECLARE_NO_COPY_CLASS(StretchBltModeChanger);
 };
 
 #if wxUSE_DYNLIB_CLASS
@@ -785,11 +785,16 @@ void wxMSWDCImpl::DoDrawArc(wxCoord x1, wxCoord y1,
                      wxCoord x2, wxCoord y2,
                      wxCoord xc, wxCoord yc)
 {
+    double dx = xc - x1;
+    double dy = yc - y1;
+    wxCoord r = (wxCoord)sqrt(dx*dx + dy*dy);
+
+
 #ifdef __WXWINCE__
     // 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
+    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
@@ -798,11 +803,6 @@ void wxMSWDCImpl::DoDrawArc(wxCoord x1, wxCoord y1,
 
     wxBrushAttrsSetter cc(*this); // needed for wxSTIPPLE_MASK_OPAQUE handling
 
-    double dx = xc - x1;
-    double dy = yc - y1;
-    double radius = (double)sqrt(dx*dx+dy*dy);
-    wxCoord r = (wxCoord)radius;
-
     // treat the special case of full circle separately
     if ( x1 == x2 && y1 == y2 )
     {
@@ -816,7 +816,9 @@ void wxMSWDCImpl::DoDrawArc(wxCoord x1, wxCoord y1,
     wxCoord yy2 = YLOG2DEV(y2);
     wxCoord xxc = XLOG2DEV(xc);
     wxCoord yyc = YLOG2DEV(yc);
-    wxCoord ray = (wxCoord) sqrt(double((xxc-xx1)*(xxc-xx1)+(yyc-yy1)*(yyc-yy1)));
+    dx = xxc - xx1;
+    dy = yyc - yy1;
+    wxCoord ray = (wxCoord)sqrt(dx*dx + dy*dy);
 
     wxCoord xxx1 = (wxCoord) (xxc-ray);
     wxCoord yyy1 = (wxCoord) (yyc-ray);
@@ -1742,6 +1744,9 @@ void wxMSWDCImpl::SetRop(WXHDC dc)
         case wxNAND:         rop = R2_NOTMASKPEN;    break;
         case wxOR:           rop = R2_MERGEPEN;      break;
         case wxSET:          rop = R2_WHITE;         break;
+        default:
+            wxFAIL_MSG( wxS("unknown logical function") );
+            return;
     }
 
     SetROP2(GetHdc(), rop);
@@ -2287,7 +2292,7 @@ bool wxMSWDCImpl::DoStretchBlit(wxCoord xdest, wxCoord ydest,
                 if ( hDIB > 0 )
                 {
                     // reflect ysrc
-                    ysrc = hDIB - (ysrc + dstHeight);
+                    ysrc = hDIB - (ysrc + srcHeight);
                 }
 
                 if ( ::StretchDIBits(GetHdc(),