]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dcbase.cpp
compilation fix after last change
[wxWidgets.git] / src / common / dcbase.cpp
index cca78bab3236015c064155367568f52bd9808106..ecc6e00e4c4677246ee1eddaa81db85d848bddac 100644 (file)
@@ -78,6 +78,42 @@ void wxDCBase::DoDrawCheckMark(wxCoord x1, wxCoord y1,
     CalcBoundingBox(x2, y2);
 }
 
+// ----------------------------------------------------------------------------
+// stubs for functions not implemented in all ports
+// ----------------------------------------------------------------------------
+
+bool
+wxDCBase::DoStretchBlit(wxCoord xdest, wxCoord ydest,
+                        wxCoord dstWidth, wxCoord dstHeight,
+                        wxDC *source,
+                        wxCoord xsrc, wxCoord ysrc,
+                        wxCoord srcWidth, wxCoord srcHeight,
+                        int rop,
+                        bool useMask,
+                        wxCoord xsrcMask,
+                        wxCoord ysrcMask)
+{
+    wxCHECK_MSG( srcWidth && srcHeight && dstWidth && dstHeight, false,
+                 _T("invalid blit size") );
+
+    // emulate the stretching by modifying the DC scale
+    double xscale = (double)srcWidth/dstWidth,
+           yscale = (double)srcHeight/dstHeight;
+
+    double xscaleOld, yscaleOld;
+    GetUserScale(&xscaleOld, &yscaleOld);
+    SetUserScale(xscaleOld/xscale, yscaleOld/yscale);
+
+    bool rc = DoBlit(wxCoord(xdest*xscale), wxCoord(ydest*yscale),
+                     wxCoord(dstWidth*xscale), wxCoord(dstHeight*yscale),
+                     source,
+                     xsrc, ysrc, rop, useMask, xsrcMask, ysrcMask);
+
+    SetUserScale(xscaleOld, yscaleOld);
+
+    return rc;
+}
+
 // ----------------------------------------------------------------------------
 // line/polygons
 // ----------------------------------------------------------------------------
@@ -653,7 +689,7 @@ void wxDCBase::DrawLabel(const wxString& text,
         }
         else // not end of line
         {
-            if ( pc - text.begin() == indexAccel )
+            if ( pc - text.begin() == (size_t)indexAccel )
             {
                 // remeber to draw underscore here
                 GetTextExtent(curLine, &startUnderscore, NULL);
@@ -734,7 +770,7 @@ void wxDCBase::DoGradientFillLinear(const wxRect& rect,
             else
                 nB = nB1 + (nB2-nB1)*(w-x)/w;
 
-           wxColour colour(nR,nG,nB);
+            wxColour colour(nR,nG,nB);
             SetPen(wxPen(colour, 1, wxSOLID));
             SetBrush(wxBrush(colour));
             if(nDirection == wxEAST)
@@ -771,7 +807,7 @@ void wxDCBase::DoGradientFillLinear(const wxRect& rect,
             else
                 nB = nB1 + (nB2-nB1)*(w-y)/w;
 
-           wxColour colour(nR,nG,nB);
+            wxColour colour(nR,nG,nB);
             SetPen(wxPen(colour, 1, wxSOLID));
             SetBrush(wxBrush(colour));
             if(nDirection == wxNORTH)
@@ -1156,4 +1192,4 @@ void wxDCBase::CalculateEllipticPoints( wxList* points,
     } // not iUseAngles
 } // CalculateEllipticPoints
 
-#endif
+#endif // __WXWINCE__