]> git.saurik.com Git - wxWidgets.git/commitdiff
add more virtual border drawing functions used by frame decorations code
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 20 Sep 2006 23:09:08 +0000 (23:09 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 20 Sep 2006 23:09:08 +0000 (23:09 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41335 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/univ/stdrend.h
src/univ/stdrend.cpp
src/univ/themes/mono.cpp

index e4115d3b628ee40eb77c7177ce55ade9d7f47084..9aad13670f31557cc4faa4852f06782e378218d0 100644 (file)
@@ -289,7 +289,9 @@ protected:
     virtual void DrawRaisedBorder(wxDC& dc, wxRect *rect);
     virtual void DrawSunkenBorder(wxDC& dc, wxRect *rect);
     virtual void DrawAntiSunkenBorder(wxDC& dc, wxRect *rect);
-    virtual void DrawFrameBorder(wxDC& dc, wxRect *rect);
+    virtual void DrawBoxBorder(wxDC& dc, wxRect *rect);
+    virtual void DrawStaticBorder(wxDC& dc, wxRect *rect);
+    virtual void DrawExtraBorder(wxDC& dc, wxRect *rect);
 
 
     // draw the frame with non-empty label inside the given rectText
index 37f95f7aa7ff4fe7db9cac187f545a4af6a1b713..3f93c646de1ce9c2caaee48347145140b751edb2 100644 (file)
@@ -366,12 +366,22 @@ void wxStdRenderer::DrawAntiSunkenBorder(wxDC& dc, wxRect *rect)
     DrawShadedRect(dc, rect, m_penHighlight, m_penDarkGrey);
 }
 
-void wxStdRenderer::DrawFrameBorder(wxDC& dc, wxRect *rect)
+void wxStdRenderer::DrawBoxBorder(wxDC& dc, wxRect *rect)
 {
     DrawShadedRect(dc, rect, m_penDarkGrey, m_penHighlight);
     DrawShadedRect(dc, rect, m_penHighlight, m_penDarkGrey);
 }
 
+void wxStdRenderer::DrawStaticBorder(wxDC& dc, wxRect *rect)
+{
+    DrawShadedRect(dc, rect, m_penDarkGrey, m_penHighlight);
+}
+
+void wxStdRenderer::DrawExtraBorder(wxDC& dc, wxRect *rect)
+{
+    DrawRect(dc, rect, m_penLightGrey);
+}
+
 void wxStdRenderer::DrawBorder(wxDC& dc,
                                wxBorder border,
                                const wxRect& rectTotal,
@@ -388,11 +398,11 @@ void wxStdRenderer::DrawBorder(wxDC& dc,
 
         case wxBORDER_DOUBLE:
             DrawAntiSunkenBorder(dc, &rect);
-            DrawRect(dc, &rect, m_penLightGrey);
+            DrawExtraBorder(dc, &rect);
             break;
 
         case wxBORDER_STATIC:
-            DrawShadedRect(dc, &rect, m_penDarkGrey, m_penHighlight);
+            DrawStaticBorder(dc, &rect);
             break;
 
         case wxBORDER_RAISED:
@@ -574,7 +584,7 @@ void wxStdRenderer::DrawFrame(wxDC& dc,
     }
     else // no label
     {
-        DrawFrameBorder(dc, &rectFrame);
+        DrawBoxBorder(dc, &rectFrame);
     }
 }
 
@@ -1256,11 +1266,10 @@ void wxStdRenderer::DrawFrameBorder(wxDC& dc, const wxRect& rect, int flags)
 
     wxRect r(rect);
 
-    DrawShadedRect(dc, &r, m_penLightGrey, m_penBlack);
-    DrawShadedRect(dc, &r, m_penHighlight, m_penDarkGrey);
-    DrawShadedRect(dc, &r, m_penLightGrey, m_penLightGrey);
+    DrawAntiSunkenBorder(dc, &r);
+    DrawExtraBorder(dc, &r);
     if ( flags & wxTOPLEVEL_RESIZEABLE )
-        DrawShadedRect(dc, &r, m_penLightGrey, m_penLightGrey);
+        DrawExtraBorder(dc, &r);
 }
 
 void wxStdRenderer::DrawFrameBackground(wxDC& dc, const wxRect& rect, int flags)
@@ -1388,8 +1397,7 @@ void wxStdRenderer::DrawFrameButton(wxDC& dc,
     {
         DrawSunkenBorder(dc, &rectBtn);
 
-        rectBtn.x++;
-        rectBtn.y++;
+        rectBtn.Offset(1, 1);
     }
     else
     {
index e00914830a9c0ea52a7d543d0e62adb63149441c..68a986486977500c085827c0a39c0f3b6fea0a27 100644 (file)
@@ -58,12 +58,6 @@ public:
                                  int indexAccel = -1,
                                  wxRect *rectBounds = NULL);
 
-    virtual void DrawBorder(wxDC& dc,
-                            wxBorder border,
-                            const wxRect& rect,
-                            int flags = 0,
-                            wxRect *rectIn = NULL);
-
     virtual void DrawButtonBorder(wxDC& dc,
                                   const wxRect& rect,
                                   int flags = 0,
@@ -220,8 +214,12 @@ protected:
         { DrawSimpleBorder(dc, rect); }
     virtual void DrawAntiSunkenBorder(wxDC& dc, wxRect *rect)
         { DrawSimpleBorder(dc, rect); }
-    virtual void DrawFrameBorder(wxDC& dc, wxRect *rect)
+    virtual void DrawBoxBorder(wxDC& dc, wxRect *rect)
+        { DrawSimpleBorder(dc, rect); }
+    virtual void DrawStaticBorder(wxDC& dc, wxRect *rect)
         { DrawSimpleBorder(dc, rect); }
+    virtual void DrawExtraBorder(wxDC& WXUNUSED(dc), wxRect * WXUNUSED(rect))
+        { /* no extra borders for us */ }
 
     // all our XPMs are of this size
     static wxSize GetStdBmpSize() { return wxSize(8, 8); }
@@ -664,40 +662,6 @@ wxRect wxMonoRenderer::GetBorderDimensions(wxBorder border) const
     return rect;
 }
 
-void wxMonoRenderer::DrawBorder(wxDC& dc,
-                                wxBorder border,
-                                const wxRect& rectTotal,
-                                int WXUNUSED(flags),
-                                wxRect *rectIn)
-{
-    wxRect rect = rectTotal;
-
-    switch ( border )
-    {
-        case wxBORDER_DOUBLE:
-            DrawSimpleBorder(dc, &rect);
-            // fall through
-
-        case wxBORDER_SUNKEN:
-        case wxBORDER_STATIC:
-        case wxBORDER_RAISED:
-        case wxBORDER_SIMPLE:
-            DrawSimpleBorder(dc, &rect);
-            break;
-
-        default:
-            wxFAIL_MSG(_T("unknown border type"));
-            // fall through
-
-        case wxBORDER_DEFAULT:
-        case wxBORDER_NONE:
-            break;
-    }
-
-    if ( rectIn )
-        *rectIn = rect;
-}
-
 void wxMonoRenderer::DrawButtonBorder(wxDC& dc,
                                      const wxRect& rect,
                                      int flags,