]> git.saurik.com Git - wxWidgets.git/commitdiff
Use helper wxColourToColor function in wxMSW wxGraphicsContext code.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 5 Apr 2010 11:44:28 +0000 (11:44 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 5 Apr 2010 11:44:28 +0000 (11:44 +0000)
Don't repeat Color ctor from wxColour all the time.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63855 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/msw/graphics.cpp

index 62d56a1023fa78f40ea0d7ad46f7387e08f7fdf2..f1cab063cd7fb3319775b0ae2612d3596d5bc77b 100644 (file)
 #include "wx/msw/dc.h"
 #include "wx/dcgraph.h"
 
+#include "wx/msw/private.h" // needs to be before #include <commdlg.h>
+
+#if wxUSE_COMMON_DIALOGS && !defined(__WXMICROWIN__)
+#include <commdlg.h>
+#endif
+
 #include "wx/stack.h"
 
 WX_DECLARE_STACK(GraphicsState, GraphicsStates);
 
+namespace
+{
+
 //-----------------------------------------------------------------------------
 // constants
 //-----------------------------------------------------------------------------
@@ -56,11 +65,19 @@ const double RAD2DEG = 180.0 / M_PI;
 // Local functions
 //-----------------------------------------------------------------------------
 
-static inline double dmin(double a, double b) { return a < b ? a : b; }
-static inline double dmax(double a, double b) { return a > b ? a : b; }
+inline double dmin(double a, double b) { return a < b ? a : b; }
+inline double dmax(double a, double b) { return a > b ? a : b; }
+
+inline double DegToRad(double deg) { return (deg * M_PI) / 180.0; }
+inline double RadToDeg(double deg) { return (deg * 180.0) / M_PI; }
 
-static inline double DegToRad(double deg) { return (deg * M_PI) / 180.0; }
-static inline double RadToDeg(double deg) { return (deg * 180.0) / M_PI; }
+// translate a wxColour to a Color
+inline Color wxColourToColor(const wxColour& col)
+{
+    return Color(col.Alpha(), col.Red(), col.Green(), col.Blue());
+}
+
+} // anonymous namespace
 
 //-----------------------------------------------------------------------------
 // device context implementation
@@ -78,12 +95,6 @@ static inline double RadToDeg(double deg) { return (deg * 180.0) / M_PI; }
 // wxGraphicsPath implementation
 //-----------------------------------------------------------------------------
 
-#include "wx/msw/private.h" // needs to be before #include <commdlg.h>
-
-#if wxUSE_COMMON_DIALOGS && !defined(__WXMICROWIN__)
-#include <commdlg.h>
-#endif
-
 class wxGDIPlusPathData : public wxGraphicsPathData
 {
 public :
@@ -404,8 +415,7 @@ wxGDIPlusPenData::wxGDIPlusPenData( wxGraphicsRenderer* renderer, const wxPen &p
     if (m_width <= 0.0)
         m_width = 0.1;
 
-    m_pen = new Pen(Color( pen.GetColour().Alpha() , pen.GetColour().Red() ,
-        pen.GetColour().Green() , pen.GetColour().Blue() ), m_width );
+    m_pen = new Pen(wxColourToColor(pen.GetColour()), m_width );
 
     LineCap cap;
     switch ( pen.GetCap() )
@@ -528,8 +538,12 @@ wxGDIPlusPenData::wxGDIPlusPenData( wxGraphicsRenderer* renderer, const wxPen &p
                 break ;
 
             }
-            m_penBrush = new HatchBrush(style,Color( pen.GetColour().Alpha() , pen.GetColour().Red() ,
-                pen.GetColour().Green() , pen.GetColour().Blue() ), Color::Transparent );
+            m_penBrush = new HatchBrush
+                             (
+                                style,
+                                wxColourToColor(pen.GetColour()),
+                                Color::Transparent
+                             );
             m_pen->SetBrush( m_penBrush );
         }
         break;
@@ -554,8 +568,7 @@ wxGDIPlusBrushData::wxGDIPlusBrushData( wxGraphicsRenderer* renderer , const wxB
     Init();
     if ( brush.GetStyle() == wxSOLID)
     {
-        m_brush = new SolidBrush( Color( brush.GetColour().Alpha() , brush.GetColour().Red() ,
-            brush.GetColour().Green() , brush.GetColour().Blue() ) );
+        m_brush = new SolidBrush(wxColourToColor( brush.GetColour()));
     }
     else if ( brush.IsHatch() )
     {
@@ -582,8 +595,12 @@ wxGDIPlusBrushData::wxGDIPlusBrushData( wxGraphicsRenderer* renderer , const wxB
             break ;
 
         }
-        m_brush = new HatchBrush(style,Color( brush.GetColour().Alpha() , brush.GetColour().Red() ,
-            brush.GetColour().Green() , brush.GetColour().Blue() ), Color::Transparent );
+        m_brush = new HatchBrush
+                      (
+                        style,
+                        wxColourToColor(brush.GetColour()),
+                        Color::Transparent
+                      );
     }
     else
     {
@@ -655,8 +672,7 @@ wxGDIPlusFontData::wxGDIPlusFontData( wxGraphicsRenderer* renderer, const wxFont
     if ( font.GetWeight() == wxFONTWEIGHT_BOLD )
         style |= FontStyleBold;
     m_font = new Font( s , size , style );
-    m_textBrush = new SolidBrush( Color( col.Alpha() , col.Red() ,
-        col.Green() , col.Blue() ));
+    m_textBrush = new SolidBrush(wxColourToColor(col));
 }
 
 wxGDIPlusFontData::~wxGDIPlusFontData()