From 237a74ba5b25d3f605ac628460d227f06b21cb25 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Mon, 29 Apr 2002 23:17:08 +0000 Subject: [PATCH] Switch to using a wxBufferedPaintDC, also draw/erase the focus 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 | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/wxPython/wxPython/lib/buttons.py b/wxPython/wxPython/lib/buttons.py index e45726092a..a55ba391c5 100644 --- a/wxPython/wxPython/lib/buttons.py +++ b/wxPython/wxPython/lib/buttons.py @@ -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: