]> git.saurik.com Git - wxWidgets.git/blobdiff - src/aui/dockart.cpp
Never overflow the output buffer in wxBase64Decode().
[wxWidgets.git] / src / aui / dockart.cpp
index 5f024587dd5fa58fc934e8228d06a2056a974ba1..52f2d418338568bf7f93954ddea3b51759360bf1 100644 (file)
@@ -37,6 +37,9 @@
 #ifdef __WXMAC__
 #include "wx/osx/private.h"
 #include "wx/graphics.h"
+#include "wx/dcgraph.h"
+// for themeing support
+#include <Carbon/Carbon.h>
 #endif
 
 #ifdef __WXGTK__
 
 
 // wxAuiBlendColour is used by wxAuiStepColour
-double wxAuiBlendColour(double fg, double bg, double alpha)
+unsigned char wxAuiBlendColour(unsigned char fg, unsigned char bg, double alpha)
 {
     double result = bg + (alpha * (fg - bg));
     if (result < 0.0)
         result = 0.0;
     if (result > 255)
         result = 255;
-    return result;
+    return (unsigned char)result;
 }
 
 // wxAuiStepColour() it a utility function that simply darkens
@@ -75,8 +78,10 @@ wxColor wxAuiStepColour(const wxColor& c, int ialpha)
     if (ialpha == 100)
         return c;
 
-    double r = c.Red(), g = c.Green(), b = c.Blue();
-    double bg;
+    unsigned char r = c.Red(),
+                  g = c.Green(),
+                  b = c.Blue();
+    unsigned char bg;
 
     // ialpha is 0..200 where 0 is completely black
     // and 200 is completely white and 100 is the same
@@ -88,13 +93,13 @@ wxColor wxAuiStepColour(const wxColor& c, int ialpha)
     if (ialpha > 100)
     {
         // blend with white
-        bg = 255.0;
+        bg = 255;
         alpha = 1.0 - alpha;  // 0 = transparent fg; 1 = opaque fg
     }
     else
     {
         // blend with black
-        bg = 0.0;
+        bg = 0;
         alpha = 1.0 + alpha;  // 0 = transparent fg; 1 = opaque fg
     }
 
@@ -102,7 +107,7 @@ wxColor wxAuiStepColour(const wxColor& c, int ialpha)
     g = wxAuiBlendColour(g, bg, alpha);
     b = wxAuiBlendColour(b, bg, alpha);
 
-    return wxColour((unsigned char)r, (unsigned char)g, (unsigned char)b);
+    return wxColour(r, g, b);
 }
 
 
@@ -256,15 +261,15 @@ wxAuiDefaultDockArt::wxAuiDefaultDockArt()
 #else
     static unsigned char close_bits[]={
          // reduced height, symmetric
-         0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xf3, 0x9f, 0xf9, 
-         0x3f, 0xfc, 0x7f, 0xfe, 0x3f, 0xfc, 0x9f, 0xf9, 0xcf, 0xf3, 0xff, 0xff, 
+         0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xf3, 0x9f, 0xf9,
+         0x3f, 0xfc, 0x7f, 0xfe, 0x3f, 0xfc, 0x9f, 0xf9, 0xcf, 0xf3, 0xff, 0xff,
          0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
       /*
          // same height as maximize/restore
-         0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe7, 0xcf, 0xf3, 0x9f, 0xf9, 
-         0x3f, 0xfc, 0x7f, 0xfe, 0x3f, 0xfc, 0x9f, 0xf9, 0xcf, 0xf3, 0xe7, 0xe7, 
+         0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xe7, 0xcf, 0xf3, 0x9f, 0xf9,
+         0x3f, 0xfc, 0x7f, 0xfe, 0x3f, 0xfc, 0x9f, 0xf9, 0xcf, 0xf3, 0xe7, 0xe7,
          0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
-      */      
+      */
 #endif
 
     static unsigned char maximize_bits[] = {