- bool update_pending : 1;
- bool no_draw : 1;
- bool points_visible : 1;
-
- ArdourCanvas::Group& _parent_group;
- ArdourCanvas::Group* group;
- ArdourCanvas::Line* line; /* line */
- ArdourCanvas::Points line_points; /* coordinates for canvas line */
- vector<ControlPoint*> control_points; /* visible control points */
-
- struct ALPoint {
- double x;
- double y;
- ALPoint (double xx, double yy) : x(xx), y(yy) {}
- };
-
- typedef std::vector<ALPoint> ALPoints;
-
- static void invalidate_point (ALPoints&, uint32_t index);
- static bool invalid_point (ALPoints&, uint32_t index);
-
- void determine_visible_control_points (ALPoints&);
- void sync_model_from (ControlPoint&);
- void sync_model_with_view_point (ControlPoint&);
- void sync_model_with_view_line (uint32_t, uint32_t);
- void modify_view (ControlPoint&, double, double, bool with_push);
-
- virtual void change_model (ARDOUR::AutomationList::iterator, double x, double y);
- virtual void change_model_range (ARDOUR::AutomationList::iterator,ARDOUR::AutomationList::iterator, double delta, float ydelta);
+ bool update_pending : 1;
+ bool no_draw : 1;
+ bool _is_boolean : 1;
+ bool points_visible : 1;
+ bool did_push;
+
+ ArdourCanvas::Group& _parent_group;
+ ArdourCanvas::Group* group;
+ ArdourCanvas::Line* line; /* line */
+ ArdourCanvas::Points line_points; /* coordinates for canvas line */
+ std::vector<ControlPoint*> control_points; /* visible control points */
+
+ void sync_model_with_view_point (ControlPoint&, ARDOUR::framecnt_t);
+ void sync_model_with_view_points (std::list<ControlPoint*>, ARDOUR::framecnt_t);
+ void start_drag_common (double, float);