]> git.saurik.com Git - wxWidgets.git/commitdiff
Switch to using a wxBufferedPaintDC, also draw/erase the focus
authorRobin Dunn <robin@alldunn.com>
Mon, 29 Apr 2002 23:17:08 +0000 (23:17 +0000)
committerRobin Dunn <robin@alldunn.com>
Mon, 29 Apr 2002 23:17:08 +0000 (23:17 +0000)
indicator differently to workaround double focus event problem.

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

wxPython/wxPython/lib/buttons.py

index e45726092a8c1d04783710ce3c1122545afa6ab5..a55ba391c5fdd5f32e44b657bac749eef6b7c46f 100644 (file)
@@ -212,8 +212,10 @@ class wxGenButton(wxControl):
 
     def DrawFocusIndicator(self, dc, w, h):
         bw = self.bezelWidth
-        dc.SetLogicalFunction(wxINVERT)
-        self.focusIndPen.SetColour(self.GetForegroundColour())
+        if self.hasFocus:
+            self.focusIndPen.SetColour(self.GetForegroundColour())
+        else:
+            self.focusIndPen.SetColour(self.GetBackgroundColour())
         ##self.focusIndPen.SetDashes([1,2,1,2])  # This isn't quite working the way I expected...
         dc.SetPen(self.focusIndPen)
         dc.SetBrush(wxTRANSPARENT_BRUSH)
@@ -225,7 +227,7 @@ class wxGenButton(wxControl):
         x1 = y1 = 0
         x2 = width-1
         y2 = height-1
-        dc = wxPaintDC(self)
+        dc = wxBufferedPaintDC(self)
         if self.up:
             dc.SetBackground(wxBrush(self.GetBackgroundColour(), wxSOLID))
         else: