diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2014-05-21 10:25:28 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2014-06-03 16:10:27 -0400 |
commit | c9f890bd7c3377d86030e98f002d85acd66f0997 (patch) | |
tree | 990b4006f30e4f5c08caf75d54c6bb8509a59e86 /libs/canvas/canvas/canvas.h | |
parent | a5511818422c13ebc6f98cccf0996f821985cc67 (diff) |
avoid recursing through the entire canvas when scrolling - only scroll explicitly identified ScrollGroups
Diffstat (limited to 'libs/canvas/canvas/canvas.h')
-rw-r--r-- | libs/canvas/canvas/canvas.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/canvas/canvas/canvas.h b/libs/canvas/canvas/canvas.h index 1e2a567d58..3f7d6fd519 100644 --- a/libs/canvas/canvas/canvas.h +++ b/libs/canvas/canvas/canvas.h @@ -43,6 +43,7 @@ namespace ArdourCanvas class Rect; class Group; +class ScrollGroup; /** The base class for our different types of canvas. * @@ -108,7 +109,7 @@ public: } void scroll_to (Coord x, Coord y); - void set_global_scroll (bool); + void add_scroller (ScrollGroup& i); virtual Rect visible_area () const = 0; @@ -125,10 +126,11 @@ protected: RootGroup _root; Duple _scroll_offset; - bool _global_scroll; virtual void pick_current_item (int state) = 0; virtual void pick_current_item (Duple const &, int state) = 0; + + std::list<ScrollGroup*> scrollers; }; /** A canvas which renders onto a GTK EventBox */ |