Browse Source

Add a REPAINT flag for faster redraw when bounding box hasn't changed

pull/5/merge
Jon Evans 8 years ago
committed by Wayne Stambaugh
parent
commit
d7bb83ddcb
  1. 2
      common/view/view.cpp
  2. 2
      gerbview/events_called_functions.cpp
  3. 1
      include/view/view_item.h

2
common/view/view.cpp

@ -1092,7 +1092,7 @@ void VIEW::invalidateItem( VIEW_ITEM* aItem, int aUpdateFlags )
if( IsCached( layerId ) )
{
if( aUpdateFlags & ( GEOMETRY | LAYERS ) )
if( aUpdateFlags & ( GEOMETRY | LAYERS | REPAINT ) )
updateItemGeometry( aItem, layerId );
else if( aUpdateFlags & COLOR )
updateItemColor( aItem, layerId );

2
gerbview/events_called_functions.cpp

@ -533,7 +533,7 @@ void GERBVIEW_FRAME::OnSelectOptionToolbar( wxCommandEvent& event )
auto view = GetGalCanvas()->GetView();
if( needs_repaint )
view->UpdateAllItems( KIGFX::GEOMETRY );
view->UpdateAllItems( KIGFX::REPAINT );
else
view->UpdateAllItems( KIGFX::COLOR );

1
include/view/view_item.h

@ -57,6 +57,7 @@ enum VIEW_UPDATE_FLAGS {
GEOMETRY = 0x04, /// Position or shape has changed
LAYERS = 0x08, /// Layers have changed
INITIAL_ADD = 0x10, /// Item is being added to the view
REPAINT = 0x20, /// Item needs to be redrawn
ALL = 0xef /// All except INITIAL_ADD
};

Loading…
Cancel
Save