]> git.saurik.com Git - wxWidgets.git/commitdiff
Added size constants to allow drawn control parts to match the window variant,
authorJulian Smart <julian@anthemion.co.uk>
Thu, 8 Feb 2007 17:16:24 +0000 (17:16 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Thu, 8 Feb 2007 17:16:24 +0000 (17:16 +0000)
initially on Mac

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

docs/latex/wx/renderer.tex
include/wx/renderer.h
src/common/combocmn.cpp
src/mac/carbon/renderer.cpp

index d0fa0b0ec99768f2212d85b86dc9a84f9c0d5cb8..3013dcb734e9d80a984783a0db82de08a2656ea1 100644 (file)
@@ -74,6 +74,10 @@ enum
     wxCONTROL_SELECTED   = 0x00000020,  // selected item in e.g. listbox
     wxCONTROL_CHECKED    = 0x00000040,  // (check/radio button) is checked
     wxCONTROL_CHECKABLE  = 0x00000080,  // (menu) item can be checked
+    wxCONTROL_SIZE_NORMAL = 0x00000100,
+    wxCONTROL_SIZE_LARGE  = 0x00000200,
+    wxCONTROL_SIZE_SMALL  = 0x00000400,
+    wxCONTROL_SIZE_MINI   = 0x00000800,
     wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE  // (check) undetermined state
 };
 \end{verbatim}
index a270f0848edb6e835ba98fd718a2b68d35137e3d..852f70598cfb73ecb968382f3f29f4d96b6f69d0 100644 (file)
@@ -62,6 +62,11 @@ enum
     wxCONTROL_CHECKABLE  = 0x00000080,  // (menu) item can be checked
     wxCONTROL_UNDETERMINED = wxCONTROL_CHECKABLE, // (check) undetermined state
 
+    wxCONTROL_SIZE_NORMAL = 0x00000100,
+    wxCONTROL_SIZE_LARGE  = 0x00000200,
+    wxCONTROL_SIZE_SMALL  = 0x00000400,
+    wxCONTROL_SIZE_MINI   = 0x00000800,
+
     wxCONTROL_FLAGS_MASK = 0x000000ff,
 
     // this is a pseudo flag not used directly by wxRenderer but rather by some
index 26a083b7b08c64eab5fb83d32642955af345ef48..82345122b808fabe662fc75af57153ec8771a98b 100644 (file)
@@ -1347,6 +1347,11 @@ void wxComboCtrlBase::DrawButton( wxDC& dc, const wxRect& rect, int paintBg )
         }
 
         // Draw standard button
+        if (GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_SMALL)
+            drawState |= wxCONTROL_SIZE_SMALL;
+        else if (GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_MINI)
+            drawState |= wxCONTROL_SIZE_MINI;
+        
         wxRendererNative::Get().DrawComboBoxDropButton(this,
                                                        dc,
                                                        drawRect,
@@ -1380,6 +1385,11 @@ void wxComboCtrlBase::DrawButton( wxDC& dc, const wxRect& rect, int paintBg )
                 dc.DrawRectangle(rect);
             }
 
+            if (GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_SMALL)
+                drawState |= wxCONTROL_SIZE_SMALL;
+            else if (GetParent()->GetWindowVariant() == wxWINDOW_VARIANT_MINI)
+                drawState |= wxCONTROL_SIZE_MINI;
+
             wxRendererNative::Get().DrawPushButton(this,
                                                    dc,
                                                    drawRect,
index 15d9ef20b171e992a080215259e14d5f96342ccf..2c390637b2c969b33412526c7432fc782e17e212 100644 (file)
@@ -473,8 +473,16 @@ wxRendererMac::DrawComboBoxDropButton(wxWindow *win,
                               const wxRect& rect,
                               int flags)
 {
+    int kind;
+    if (flags & wxCONTROL_SIZE_SMALL)
+        kind = kThemeArrowButtonSmall;
+    else if (flags & wxCONTROL_SIZE_MINI)
+        kind = kThemeArrowButtonMini;
+    else
+        kind = kThemeArrowButton;
+    
     DrawMacThemeButton(win, dc, rect, flags,
-                       kThemeArrowButton, kThemeAdornmentArrowDownArrow);
+                       kind, kThemeAdornmentArrowDownArrow);
 }
     
 void
@@ -483,7 +491,13 @@ wxRendererMac::DrawPushButton(wxWindow *win,
                               const wxRect& rect,
                               int flags)
 {
+    int kind;
+    if (flags & wxCONTROL_SIZE_SMALL)
+        kind = kThemeBevelButtonSmall;
+    else
+        kind = kThemeBevelButton;
+
     DrawMacThemeButton(win, dc, rect, flags,
-                       kThemeBevelButton, kThemeAdornmentNone);
+                       kind, kThemeAdornmentNone);
 }