mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-05 14:18:53 +02:00
Fix drawing of focus rectangles in buttons, meters, sliders on Mac
This commit is contained in:
parent
6a4d6ceeda
commit
fe509ed412
@ -174,11 +174,20 @@ void AColor::DrawFocus(wxDC & dc, wxRect & rect)
|
||||
x2 = rect.GetRight(),
|
||||
y2 = rect.GetBottom();
|
||||
|
||||
#ifdef __WXMAC__
|
||||
// Why must this be different?
|
||||
// Otherwise nothing is visible if you do as for the
|
||||
// other platforms.
|
||||
dc.SetPen(wxPen(wxT("MEDIUM GREY"), 1, wxSOLID));
|
||||
|
||||
dc.SetLogicalFunction(wxCOPY);
|
||||
#else
|
||||
dc.SetPen(wxPen(wxT("MEDIUM GREY"), 0, wxSOLID));
|
||||
|
||||
// this seems to be closer than what Windows does than wxINVERT although
|
||||
// I'm still not sure if it's correct
|
||||
dc.SetLogicalFunction(wxAND_REVERSE);
|
||||
#endif
|
||||
|
||||
wxCoord z;
|
||||
for ( z = x1 + 1; z < x2; z += 2 )
|
||||
|
@ -138,7 +138,14 @@ AButton *ControlToolBar::MakeButton(teBmps eEnabledUp, teBmps eEnabledDown, teBm
|
||||
wxDefaultPosition, processdownevents,
|
||||
theTheme.ImageSize( bmpRecoloredUpLarge ));
|
||||
r->SetLabel(label);
|
||||
r->SetFocusRect( r->GetRect().Deflate( 12, 12 ) );
|
||||
enum { deflation =
|
||||
#ifdef __WXMAC__
|
||||
3
|
||||
#else
|
||||
12
|
||||
#endif
|
||||
};
|
||||
r->SetFocusRect( r->GetClientRect().Deflate( deflation, deflation ) );
|
||||
|
||||
return r;
|
||||
}
|
||||
|
@ -343,12 +343,10 @@ void AButton::OnPaint(wxPaintEvent & WXUNUSED(event))
|
||||
|
||||
mImages[mAlternateIdx].mArr[buttonState].Draw(dc, GetClientRect());
|
||||
|
||||
#if defined(__WXMSW__) || defined(__WXGTK__)
|
||||
if( mButtonIsFocused )
|
||||
{
|
||||
AColor::DrawFocus( dc, mFocusRect );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void AButton::OnErase(wxEraseEvent & WXUNUSED(event))
|
||||
|
@ -659,13 +659,11 @@ void Meter::OnPaint(wxPaintEvent & WXUNUSED(event))
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(__WXMSW__) || defined(__WXGTK__)
|
||||
if (mIsFocused)
|
||||
{
|
||||
wxRect r = mIconRect;
|
||||
AColor::DrawFocus(destDC, r.Inflate(1, 1));
|
||||
}
|
||||
#endif
|
||||
|
||||
delete paintDC;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user