]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/dcbase.cpp
use image mask colour if any instead of guessing that (0, 0) is always transparent...
[wxWidgets.git] / src / common / dcbase.cpp
index c6842886a148c07a669529c5de985170506d482f..1beb8edcae184a1f75c519222fdc2d04ebeeef6f 100644 (file)
@@ -30,9 +30,7 @@
 
 #include "wx/dc.h"
 
 
 #include "wx/dc.h"
 
-#include <math.h>
-
-// bool wxDCBase::sm_cacheing = FALSE;
+// bool wxDCBase::sm_cacheing = false;
 
 // ============================================================================
 // implementation
 
 // ============================================================================
 // implementation
@@ -291,7 +289,7 @@ static bool wx_spline_add_point(double x, double y)
   point->x = (int) x;
   point->y = (int) y;
   wx_spline_point_list.Append((wxObject*)point);
   point->x = (int) x;
   point->y = (int) y;
   wx_spline_point_list.Append((wxObject*)point);
-  return TRUE;
+  return true;
 }
 
 static void wx_spline_draw_point_array(wxDCBase *dc)
 }
 
 static void wx_spline_draw_point_array(wxDCBase *dc)
@@ -316,6 +314,10 @@ void wxDCBase::DoDrawSpline( wxList *points )
     double           x1, y1, x2, y2;
 
     wxList::compatibility_iterator node = points->GetFirst();
     double           x1, y1, x2, y2;
 
     wxList::compatibility_iterator node = points->GetFirst();
+    if (node == wxList::compatibility_iterator())
+        // empty list
+        return;
+
     p = (wxPoint *)node->GetData();
 
     x1 = p->x;
     p = (wxPoint *)node->GetData();
 
     x1 = p->x;
@@ -571,7 +573,7 @@ void wxDCBase::DrawLabel(const wxString& text,
             width0 = width;
     if ( bitmap.Ok() )
     {
             width0 = width;
     if ( bitmap.Ok() )
     {
-        DrawBitmap(bitmap, x, y, TRUE /* use mask */);
+        DrawBitmap(bitmap, x, y, true /* use mask */);
 
         wxCoord offset = bitmap.GetWidth() + 4;
         x += offset;
 
         wxCoord offset = bitmap.GetWidth() + 4;
         x += offset;
@@ -762,7 +764,7 @@ void wxDCBase::Rotate( wxList* points, double angle, wxPoint center )
 {
     if( angle != 0.0 )
     {
 {
     if( angle != 0.0 )
     {
-        double pi(3.1415926536);
+        double pi(M_PI);
         double dSinA = -sin(angle*2.0*pi/360.0);
         double dCosA = cos(angle*2.0*pi/360.0);
         for ( wxNode* node = points->First(); node; node = node->Next() )
         double dSinA = -sin(angle*2.0*pi/360.0);
         double dCosA = cos(angle*2.0*pi/360.0);
         for ( wxNode* node = points->First(); node; node = node->Next() )
@@ -790,7 +792,7 @@ void wxDCBase::CalculateEllipticPoints( wxList* points,
                                         wxCoord w, wxCoord h,
                                         double sa, double ea )
 {
                                         wxCoord w, wxCoord h,
                                         double sa, double ea )
 {
-    double pi = 3.1415926535;
+    double pi = M_PI;
     double sar = 0;
     double ear = 0;
     int xsa = 0;
     double sar = 0;
     double ear = 0;
     int xsa = 0;