]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/renderg.cpp
move Ellipsize() to wxControl so it can be easily used by other controls
[wxWidgets.git] / src / generic / renderg.cpp
index 0dba0f18d3e0da434e7ae8d194f65adb778f4aed..906a9b342aa5348c83cb67b4c5a9ba1990c0a083 100644 (file)
@@ -38,7 +38,7 @@
 #include "wx/dcmirror.h"
 
 #ifdef __WXMAC__
-    #include "wx/mac/private.h"
+    #include "wx/osx/private.h"
 #endif
 
 // ----------------------------------------------------------------------------
@@ -98,6 +98,8 @@ public:
                               const wxRect& rect,
                               int flags = 0);
 
+    virtual wxSize GetCheckBoxSize(wxWindow *win);
+
     virtual void DrawPushButton(wxWindow *win,
                                 wxDC& dc,
                                 const wxRect& rect,
@@ -110,6 +112,14 @@ public:
 
     virtual void DrawFocusRect(wxWindow* win, wxDC& dc, const wxRect& rect, int flags = 0);
 
+    virtual void DrawChoice(wxWindow* win, wxDC& dc, const wxRect& rect, int flags=0);
+
+    virtual void DrawComboBox(wxWindow* win, wxDC& dc, const wxRect& rect, int flags=0);
+
+    virtual void DrawTextCtrl(wxWindow* win, wxDC& dc, const wxRect& rect, int flags=0);
+
+    virtual void DrawRadioButton(wxWindow* win, wxDC& dc, const wxRect& rect, int flags=0);
+
     virtual wxSplitterRenderParams GetSplitterParams(const wxWindow *win);
 
     virtual wxRendererVersion GetVersion() const
@@ -218,8 +228,6 @@ wxRendererGeneric::DrawHeaderButton(wxWindow* win,
                                     wxHeaderSortIconType sortArrow,
                                     wxHeaderButtonParams* params)
 {
-    const int CORNER = 1;
-
     const wxCoord x = rect.x,
                   y = rect.y,
                   w = rect.width,
@@ -232,18 +240,16 @@ wxRendererGeneric::DrawHeaderButton(wxWindow* win,
     dc.SetBrush(*wxTRANSPARENT_BRUSH);
 
     dc.SetPen(m_penBlack);
-    dc.DrawLine( x+w-CORNER+1, y, x+w, y+h );  // right (outer)
-    dc.DrawRectangle( x, y+h, w+1, 1 );        // bottom (outer)
+    dc.DrawLine( x+w-1, y, x+w-1, y+h );  // right (outer)
+    dc.DrawLine( x, y+h-1, x+w, y+h-1 );  // bottom (outer)
 
     dc.SetPen(m_penDarkGrey);
-    dc.DrawLine( x+w-CORNER, y, x+w-1, y+h );  // right (inner)
-    dc.DrawRectangle( x+1, y+h-1, w-2, 1 );    // bottom (inner)
+    dc.DrawLine( x+w-2, y+1, x+w-2, y+h-1 );  // right (inner)
+    dc.DrawLine( x+1, y+h-2, x+w-1, y+h-2 );  // bottom (inner)
 
     dc.SetPen(m_penHighlight);
-    dc.DrawRectangle( x, y, w-CORNER+1, 1 );   // top (outer)
-    dc.DrawRectangle( x, y, 1, h );            // left (outer)
-    dc.DrawLine( x, y+h-1, x+1, y+h-1 );
-    dc.DrawLine( x+w-1, y, x+w-1, y+1 );
+    dc.DrawLine( x, y, x, y+h-1 ); // left (outer)
+    dc.DrawLine( x, y, x+w-1, y ); // top (outer)
 
     return DrawHeaderButtonContents(win, dc, rect, flags, sortArrow, params);
 }
@@ -337,7 +343,7 @@ wxRendererGeneric::DrawHeaderButtonContents(wxWindow *win,
 
         dc.SetFont(font);
         dc.SetTextForeground(clr);
-        dc.SetBackgroundMode(wxTRANSPARENT);
+        dc.SetBackgroundMode(wxBRUSHSTYLE_TRANSPARENT);
 
         int tw, th, td, x, y;
         dc.GetTextExtent( label, &tw, &th, &td);
@@ -622,6 +628,11 @@ wxRendererGeneric::DrawCheckBox(wxWindow *WXUNUSED(win),
     }
 }
 
+wxSize wxRendererGeneric::GetCheckBoxSize(wxWindow *WXUNUSED(win))
+{
+    return wxSize(16, 16);
+}
+
 void
 wxRendererGeneric::DrawPushButton(wxWindow *win,
                                   wxDC& dc,
@@ -670,7 +681,7 @@ wxRendererGeneric::DrawItemSelectionRect(wxWindow * WXUNUSED(win),
 
     dc.SetBrush(brush);
     if ((flags & wxCONTROL_CURRENT) && (flags & wxCONTROL_FOCUSED)
-#ifdef __WXMAC__
+#if defined( __WXMAC__ ) && !defined(__WXUNIVERSAL__) && wxOSX_USE_CARBON
                 && IsControlActive( (ControlRef)win->GetHandle() )
 #endif
     )
@@ -723,6 +734,33 @@ wxRendererGeneric::DrawFocusRect(wxWindow* WXUNUSED(win), wxDC& dc, const wxRect
     dc.SetLogicalFunction(wxCOPY);
 }
 
+void wxRendererGeneric::DrawChoice(wxWindow* WXUNUSED(win), wxDC& WXUNUSED(dc),
+                           const wxRect& WXUNUSED(rect), int WXUNUSED(flags))
+{
+    // FIXME: Implement
+}
+
+void wxRendererGeneric::DrawComboBox(wxWindow* WXUNUSED(win), wxDC& WXUNUSED(dc),
+                           const wxRect& WXUNUSED(rect), int WXUNUSED(flags))
+{
+    // FIXME: Implement
+}
+
+void wxRendererGeneric::DrawRadioButton(wxWindow* WXUNUSED(win), wxDC& WXUNUSED(dc),
+                           const wxRect& WXUNUSED(rect), int WXUNUSED(flags))
+{
+    // FIXME: Implement
+}
+
+void wxRendererGeneric::DrawTextCtrl(wxWindow* WXUNUSED(win), wxDC& WXUNUSED(dc),
+                           const wxRect& WXUNUSED(rect), int WXUNUSED(flags))
+{
+    // FIXME: Implement
+}
+
+
+
+
 // ----------------------------------------------------------------------------
 // A module to allow cleanup of generic renderer.
 // ----------------------------------------------------------------------------