summaryrefslogtreecommitdiff
path: root/libs/canvas/canvas/canvas.h
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2014-05-21 10:25:28 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2014-06-03 16:10:27 -0400
commitc9f890bd7c3377d86030e98f002d85acd66f0997 (patch)
tree990b4006f30e4f5c08caf75d54c6bb8509a59e86 /libs/canvas/canvas/canvas.h
parenta5511818422c13ebc6f98cccf0996f821985cc67 (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.h6
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 */