- group = &parent;
- group->set_property ("x", unit_position);
- group->set_property ("y", 1.0);
- // cerr << "set mark al points, nc = " << points->num_points << endl;
- mark = new Gnome::Canvas::Polygon (*group);
- mark->set_property ("points", points);
- mark->set_property ("fill_color_rgba", rgba);
- mark->set_property ("outline_color", Gdk::Color ("black"));
-
- Pango::FontDescription font = get_font_for_style (N_("MarkerText"));
-
- text = new Gnome::Canvas::Text (*group);
- text->set_property ("text", annotation.c_str());
- text->set_property ("x", label_offset);
- text->set_property ("y", 0.0);
- text->set_property ("fontdesc", font);
- text->set_property ("anchor", Gtk::ANCHOR_NW);
- text->set_property ("fill_color", Gdk::Color ("black"));
-
- group->set_data ("marker", this);
- gtk_signal_connect (GTK_OBJECT(group), "event", (GtkSignalFunc) callback, &editor);
-
- editor.ZoomChanged.connect (mem_fun(*this, &Marker::reposition));
+ group = new Group (parent, unit_position, 1.0);
+
+ mark = new Polygon (*group);
+ mark->property_points() = *points;
+ mark->property_fill_color_rgba() = rgba;
+ mark->property_outline_color_rgba() = rgba;
+ mark->property_width_pixels() = 1;
+ Pango::FontDescription* font = get_font_for_style (N_("MarkerText"));
+ //cerr << " font->get_size() = " << font->get_size() << " is_absolute = " << pango_font_description_get_size_is_absolute(font->gobj()) << " to_string = " << font->to_string() << endl;
+ text = new Text (*group);
+ text->property_font_desc() = *font;
+ text->property_text() = annotation.c_str();
+
+ delete font;
+
+ if (annotate_left) {
+ text->property_x() = -(text->property_text_width());
+ } else {
+ text->property_x() = label_offset;
+ }
+ text->property_y() = 0.0;
+ text->property_anchor() = Gtk::ANCHOR_NW;
+ text->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_MarkerLabel.get();
+
+ editor.ZoomChanged.connect (mem_fun (*this, &Marker::reposition));
+
+ mark->set_data ("marker", this);
+
+ if (handle_events) {
+ group->signal_event().connect (bind (mem_fun (editor, &PublicEditor::canvas_marker_event), mark, this));
+ }
+
+ line = 0;
+