gtk3: Remove scrollbars

Under GTK3, the scrollbars fade in and out, causing a cascade of
re-paint events.  These cause KiCad to be unresponsive while the repaint
events occur.  By default this is 1s fade in 1s fade out but can be
configured by the user/wm.

Area mapping the repaint events to just scrollbar areas will be a good
solution but until/unless that happens the scrollbars in GTK3 are
problematic.
This commit is contained in:
Seth Hillbrand 2018-12-05 21:03:12 -07:00
parent 4475c2008c
commit db43bd82a7
2 changed files with 12 additions and 0 deletions

View File

@ -72,7 +72,13 @@ EDA_DRAW_PANEL_GAL::EDA_DRAW_PANEL_GAL( wxWindow* aParentWindow, wxWindowID aWin
SwitchBackend( aGalType );
SetBackgroundStyle( wxBG_STYLE_CUSTOM );
#ifdef __WXGTK3__
// Until we can handle the repaint events from scroll bar hide/show
// todo: Implement area mapping for re-painting scrollbars
ShowScrollbars( wxSHOW_SB_NEVER, wxSHOW_SB_NEVER );
#else
ShowScrollbars( wxSHOW_SB_ALWAYS, wxSHOW_SB_ALWAYS );
#endif
EnableScrolling( false, false ); // otherwise Zoom Auto disables GAL canvas
Connect( wxEVT_SIZE, wxSizeEventHandler( EDA_DRAW_PANEL_GAL::onSize ), NULL, this );

View File

@ -602,6 +602,12 @@ wxPoint WX_VIEW_CONTROLS::getMouseScreenPosition() const
void WX_VIEW_CONTROLS::UpdateScrollbars()
{
#ifdef __WXGTK3__
// Until we can handle the repaint events from scroll bar hide/show
// todo: Implement area mapping for re-painting scrollbars
return;
#endif
const BOX2D viewport = m_view->GetViewport();
const BOX2D& boundary = m_view->GetBoundary();