summaryrefslogtreecommitdiff
path: root/gtk2_ardour/marker.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-01-12 03:56:43 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-01-12 03:56:43 +0000
commit51c333a7b3abe11dbe5c20234d92eb1ff16a30bb (patch)
tree0b4e8cf6ea570db44250151e1345714ecd790b03 /gtk2_ardour/marker.cc
parent11faee330755fea81e051d064ca2d345db9eaf42 (diff)
more NSD madness curing; fix up canvas range rects and marker line height mgmt
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2902 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/marker.cc')
-rw-r--r--gtk2_ardour/marker.cc37
1 files changed, 14 insertions, 23 deletions
diff --git a/gtk2_ardour/marker.cc b/gtk2_ardour/marker.cc
index df62af90ec..7dd45499e7 100644
--- a/gtk2_ardour/marker.cc
+++ b/gtk2_ardour/marker.cc
@@ -25,6 +25,7 @@
#include "utils.h"
#include "canvas_impl.h"
#include "ardour_ui.h"
+#include "simpleline.h"
#include "i18n.h"
@@ -267,7 +268,6 @@ Marker::Marker (PublicEditor& ed, ArdourCanvas::Group& parent, guint32 rgba, con
}
line = 0;
- line_points = 0;
}
@@ -283,7 +283,6 @@ Marker::~Marker ()
if (line) {
delete line;
- delete line_points;
}
}
@@ -293,12 +292,13 @@ void Marker::reparent(ArdourCanvas::Group & parent)
_parent = &parent;
}
+
void
-Marker::set_line_length (double len)
+Marker::set_line_vpos (double pos, double height)
{
if (line) {
- line_points->back().set_y (len);
- line->property_points() = *line_points;
+ line->property_y1() = pos;
+ line->property_y2() = pos + height;
}
}
@@ -307,21 +307,13 @@ Marker::add_line (ArdourCanvas::Group* group, double initial_height)
{
if (!line) {
- line_points = new ArdourCanvas::Points ();
- line_points->push_back (Gnome::Art::Point (unit_position + shift, 0.0));
- line_points->push_back (Gnome::Art::Point (unit_position + shift, initial_height));
-
- line = new ArdourCanvas::Line (*group);
- line->property_width_pixels() = 1;
- line->property_points() = *line_points;
- line->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_EditPoint.get();
-#if 0
- line->property_first_arrowhead() = TRUE;
- line->property_last_arrowhead() = TRUE;
- line->property_arrow_shape_a() = 11.0;
- line->property_arrow_shape_b() = 0.0;
- line->property_arrow_shape_c() = 9.0;
-#endif
+ line = new ArdourCanvas::SimpleLine (*group);
+ line->property_color_rgba() = ARDOUR_UI::config()->canvasvar_EditPoint.get();
+ line->property_x1() = unit_position + shift;
+ line->property_y1() = 0.0;
+ line->property_x2() = unit_position + shift;
+ line->property_y2() = initial_height;
+
line->signal_event().connect (bind (mem_fun (editor, &PublicEditor::canvas_marker_event), mark, this));
}
@@ -370,9 +362,8 @@ Marker::set_position (nframes_t frame)
unit_position = new_unit_position;
if (line) {
- (*line_points)[0].set_x (unit_position + shift);
- (*line_points)[1].set_x (unit_position + shift);
- line->property_points() = *line_points;
+ line->property_x1() = unit_position + shift;
+ line->property_x2() = unit_position + shift;
}
}