]> git.saurik.com Git - wxWidgets.git/blobdiff - src/univ/renderer.cpp
Use the OOR typemap for wxTreeCtrls too.
[wxWidgets.git] / src / univ / renderer.cpp
index 36f7f0d853dcac93b6cb6ef0b045a899a8f1fa30..75539ac04cbc80eaa0b99d3b1be1dabc31d34c40 100644 (file)
@@ -5,7 +5,7 @@
 // Modified by:
 // Created:     15.08.00
 // RCS-ID:      $Id$
-// Copyright:   (c) 2000 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
+// Copyright:   (c) 2000 SciTech Software, Inc. (www.scitechsoft.com)
 // Licence:     wxWindows license
 ///////////////////////////////////////////////////////////////////////////////
 
@@ -417,6 +417,7 @@ wxControlRenderer::wxControlRenderer(wxWindow *window,
 void wxControlRenderer::DrawLabel(const wxBitmap& bitmap,
                                   wxCoord marginX, wxCoord marginY)
 {
+    m_dc.SetBackgroundMode(wxTRANSPARENT);
     m_dc.SetFont(m_window->GetFont());
     m_dc.SetTextForeground(m_window->GetForegroundColour());
 
@@ -427,6 +428,10 @@ void wxControlRenderer::DrawLabel(const wxBitmap& bitmap,
         if ( bitmap.Ok() )
         {
             rectLabel.Inflate(-marginX, -marginY);
+            
+            // I don't know why this is necessary. RR.
+            rectLabel.x ++;
+            rectLabel.y ++;
         }
 
         wxControl *ctrl = wxStaticCast(m_window, wxControl);
@@ -463,7 +468,8 @@ void wxControlRenderer::DrawButtonBorder()
 
     m_renderer->DrawButtonBorder(m_dc, m_rect, flags, &m_rect);
 
-    m_renderer->DrawBackground(m_dc, wxTHEME_BG_COLOUR(m_window), m_rect, flags);
+    // Why do this here?
+    // m_renderer->DrawButtonSurface(m_dc, wxTHEME_BG_COLOUR(m_window), m_rect, flags );
 }
 
 void wxControlRenderer::DrawBitmap(const wxBitmap& bitmap)
@@ -506,7 +512,7 @@ void wxControlRenderer::DrawBitmap(wxDC &dc,
     else if ( stretch & wxEXPAND )
     {
         // stretch bitmap to fill the entire control
-        bmp = wxImage(bmp).Scale(rect.width, rect.height).ConvertToBitmap();
+        bmp = wxImage(bmp.ConvertToImage()).Scale(rect.width, rect.height);
     }
     else // not stretched, not tiled
     {
@@ -771,7 +777,9 @@ void wxControlRenderer::DrawProgressBar(const wxGauge *gauge)
     wxRect rect = m_rect;
     rect.Deflate(1); // FIXME this depends on the border width
 
-    m_dc.SetBrush(wxBrush(m_window->GetForegroundColour(), wxSOLID));
+    wxColour col = m_window->UseFgCol() ? m_window->GetForegroundColour()
+                                        : wxTHEME_COLOUR(GAUGE);
+    m_dc.SetBrush(wxBrush(col, wxSOLID));
 
     if ( gauge->IsSmooth() )
     {