]> git.saurik.com Git - wxWidgets.git/commitdiff
added wxColour(RGBColor) ctor and use it insteaf of constructing wxColour from RGBCol...
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 10 Mar 2007 15:48:56 +0000 (15:48 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 10 Mar 2007 15:48:56 +0000 (15:48 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/mac/carbon/colour.h
src/mac/carbon/brush.cpp
src/mac/carbon/colordlg.cpp
src/mac/carbon/colour.cpp
src/mac/carbon/dc.cpp
src/mac/carbon/dccg.cpp
src/mac/carbon/fontdlg.cpp
src/mac/carbon/renderer.cpp
src/mac/carbon/settings.cpp

index 9acf4d42b9d6e291abb105ff47db0bf614a8d093..b024afe21814c48774b7a2a5780d2b27d95b551d 100644 (file)
@@ -15,6 +15,8 @@
 #include "wx/object.h"
 #include "wx/string.h"
 
+struct RGBColor;
+
 // Colour
 class WXDLLEXPORT wxColour: public wxColourBase
 {
@@ -51,6 +53,10 @@ public:
 
     const WXCOLORREF& GetPixel() const { return m_pixel; };
 
+    // Mac-specific ctor and assignment operator from the native colour
+    wxColour(const RGBColor& col);
+    wxColour& operator=(const RGBColor& col);
+
 protected :
 
     // Helper function
index 95bb600893dae535b04726ee51b73a722ba6fe18..74e83ebd7753ebe5bfb11563fce675985a89e5e9 100644 (file)
@@ -185,7 +185,7 @@ void wxBrush::MacSetTheme(ThemeBrush macThemeBrush)
 
     RGBColor color ;
     GetThemeBrushAsColor( macThemeBrush , 32, true, &color );
-    M_BRUSHDATA->m_colour.Set( color.red >> 8 , color.green >> 8 , color.blue >> 8 );
+    M_BRUSHDATA->m_colour = color;
 
     RealizeResource();
 }
index 113aa958a929bfdc27d15abab55b96f8f1a84a64..6948802acd1a38d2f42271d5b1f51b6d6997d2a2 100644 (file)
@@ -68,7 +68,7 @@ int wxColourDialog::ShowModal()
         currentColor.red = info.theColor.color.rgb.red ;
         currentColor.green = info.theColor.color.rgb.green ;
         currentColor.blue = info.theColor.color.rgb.blue ;
-        m_colourData.m_dataColour.FromRGBColor((WXCOLORREF*) &currentColor);
+        m_colourData.m_dataColour = currentColor;
 
         return wxID_OK;
     }
index 6a3562c3d43f2f33cff8fd3166bb6e9eac853559..24f6accd20dd3ec4ee2bca6053be47489c4aeee0 100644 (file)
 
 IMPLEMENT_DYNAMIC_CLASS(wxColour, wxObject)
 
-static void wxComposeRGBColor( WXCOLORREF* color , int red, int blue, int green );
+wxColour::wxColour(const RGBColor& col)
+{
+    FromRGBColor((WXCOLORREF *)&col);
+}
+
 static void wxComposeRGBColor( WXCOLORREF* color , int red, int blue, int green )
 {
     RGBColor* col = (RGBColor*) color;
@@ -64,6 +68,11 @@ void wxColour::FromRGBColor( WXCOLORREF* color )
     m_green = col->green >> 8;
 }
 
+wxColour& wxColour::operator=(const RGBColor& col)
+{
+    FromRGBColor((WXCOLORREF *)&col);
+}
+
 bool wxColour::IsOk() const 
 {
     return m_isInit; 
index 9bc9f204b513a444a17dd5d028ce86cd1e04b7fc..6ead8a9bbc8ea8d9dbd578c6cd1bc6d11c610f3b 100644 (file)
@@ -746,7 +746,7 @@ bool wxDC::DoGetPixel( wxCoord x, wxCoord y, wxColour *col ) const
     GetCPixel( XLOG2DEVMAC(x), YLOG2DEVMAC(y), &colour );
 
     // convert from Mac colour to wx
-    col->Set( colour.red >> 8, colour.green >> 8, colour.blue >> 8);
+    *col = colour;
 
     return true ;
 }
index eed1bb4f8be96792a9422b36380042fc2cc540aa..4cd27e7247bc10502346be1ba9314ae988e5db25 100755 (executable)
@@ -1593,7 +1593,7 @@ bool wxDC::DoGetPixel( wxCoord x, wxCoord y, wxColour *col ) const
         YLOG2DEVMAC(y) + m_macLocalOriginInPort.y - m_macLocalOrigin.y, &colour );
 #endif
     // convert from Mac colour to wx
-    col->Set( colour.red >> 8, colour.green >> 8, colour.blue >> 8 );
+    *col = colour;
 
     return true ;
 }
index 4cde3f25bb19599991435038782f738ea3fb3f36..e18c299903a96a0e9e41806fe3158b0b24286f09 100644 (file)
@@ -125,7 +125,9 @@ pascal OSStatus wxMacCarbonFontPanelHandler(EventHandlerCallRef nextHandler, Eve
 
             RGBColor fontColor ;
             if ( cEvent.GetParameter<RGBColor>(kEventParamFontColor, &fontColor) == noErr )
-                fontdata.m_fontColour.FromRGBColor((WXCOLORREF*) &fontColor);
+            {
+                fontdata.m_fontColour = fontColor;
+            }
             else
             {
                 CFDictionaryRef dict ;
@@ -150,7 +152,7 @@ pascal OSStatus wxMacCarbonFontPanelHandler(EventHandlerCallRef nextHandler, Eve
                             {
                                 if ( tagPtr[i] == kATSUColorTag && sizePtr[i] == sizeof(RGBColor))
                                 {
-                                    fontdata.m_fontColour.FromRGBColor((WXCOLORREF*) valuesPtr);
+                                    fontdata.m_fontColour.FromRGBColor(*(RGBColor *)valuesPtr);
                                     break ;
                                 }
                                 bytePtr = (UInt32*)( (UInt8*)bytePtr + sizePtr[i]);
index 849f287b025c2f6f4a99197db6257db66dab3cbe..abac02650a74843c33d285c41f62961969841814 100644 (file)
@@ -370,16 +370,16 @@ wxRendererMac::DrawItemSelectionRect(wxWindow *win,
                                      const wxRect& rect,
                                      int flags )
 {
+    if ( !(flags & wxCONTROL_SELECTED) )
+        return;
+
     RGBColor selColor;
-    if (flags & wxCONTROL_SELECTED)
-    {
-        if (flags & wxCONTROL_FOCUSED)
-            GetThemeBrushAsColor(kThemeBrushAlternatePrimaryHighlightColor, 32, true, &selColor);
-        else
-            GetThemeBrushAsColor(kThemeBrushSecondaryHighlightColor, 32, true, &selColor);
-    }
+    GetThemeBrushAsColor(flags & wxCONTROL_FOCUSED
+                            ? kThemeBrushAlternatePrimaryHighlightColor
+                            : kThemeBrushSecondaryHighlightColor,
+                         32, true, &selColor);
 
-    wxBrush selBrush = wxBrush( wxColour( selColor.red, selColor.green, selColor.blue ), wxSOLID );
+    wxBrush selBrush(selColor);
 
     dc.SetPen( *wxTRANSPARENT_PEN );
     dc.SetBrush( selBrush );
index 4df74a6dd876ec1fcfbf60718eeba74983c0148f..81cbcc4b94f8d28258b3e81c5266e42b1e1e8c15 100644 (file)
@@ -88,7 +88,7 @@ wxColour wxSystemSettingsNative::GetColour(wxSystemColour index)
 #endif
 
             GetThemeBrushAsColor( colorBrushID, 32, true, &macRGB );
-            resultColor = wxColor( macRGB.red >> 8, macRGB.green >> 8, macRGB.blue >> 8 );
+            resultColor = wxColor( macRGB );
             break ;
 
         case wxSYS_COLOUR_BTNHIGHLIGHT: