X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fimageframe_time_axis_view.cc;h=6e896ea5ecb93a789abe123a2619e979dd521f0b;hb=76c25a4a4459b8e550c3c687458d04db0beaee77;hp=20ccb7d61f23bf8b719d220336e9bf912ea7cb7f;hpb=209d967b1bb80a9735d690d8f4f0455ecb9970ca;p=ardour.git diff --git a/gtk2_ardour/imageframe_time_axis_view.cc b/gtk2_ardour/imageframe_time_axis_view.cc index 20ccb7d61f..6e896ea5ec 100644 --- a/gtk2_ardour/imageframe_time_axis_view.cc +++ b/gtk2_ardour/imageframe_time_axis_view.cc @@ -20,9 +20,9 @@ #include -#include +#include -#include +#include #include "imageframe_time_axis_view.h" #include "imageframe_time_axis_group.h" @@ -48,28 +48,21 @@ using namespace Editing; * @param ifta the parent ImageFrameTimeAxis of this view helper */ ImageFrameTimeAxisView::ImageFrameTimeAxisView (ImageFrameTimeAxis& tv) - : _trackview (tv) + : _trackview (tv), + canvas_group (*_trackview.canvas_display), + canvas_rect (canvas_group, 0.0, 0.0, 1000000.0, tv.height) { region_color = _trackview.color() ; stream_base_color = color_map[cImageTrackBase] ; - canvas_group = gtk_canvas_item_new (GTK_CANVAS_GROUP(_trackview.canvas_display), gtk_canvas_group_get_type (), 0) ; + canvas_rect.property_outline_color_rgba() = color_map[cImageTrackOutline]; + canvas_rect.property_fill_color_rgba() = stream_base_color; - canvas_rect = gtk_canvas_item_new (GTK_CANVAS_GROUP(canvas_group), - gtk_canvas_simplerect_get_type(), - "x1", 0.0, - "y1", 0.0, - "x2", 1000000.0, - "y2", (double) tv.height, - "outline_color_rgba", color_map[cImageTrackOutline], - "fill_color_rgba", stream_base_color, - 0) ; - - gtk_signal_connect(GTK_OBJECT(canvas_rect), "event", (GtkSignalFunc) PublicEditor::canvas_imageframe_view_event, &_trackview) ; + canvas_rect.signal_event().connect (bind (mem_fun (_trackview.editor, &PublicEditor::canvas_imageframe_view_event), (ArdourCanvas::Item*) &canvas_rect, &tv)); _samples_per_unit = _trackview.editor.get_current_zoom() ; - _trackview.editor.ZoomChanged.connect (slot (*this, &ImageFrameTimeAxisView::reset_samples_per_unit)) ; + _trackview.editor.ZoomChanged.connect (mem_fun(*this, &ImageFrameTimeAxisView::reset_samples_per_unit)) ; selected_imageframe_group = 0 ; selected_imageframe_view = 0 ; @@ -99,18 +92,6 @@ ImageFrameTimeAxisView::~ImageFrameTimeAxisView() iter = next ; } - // Destroy all our canvas components - if(canvas_rect) - { - gtk_object_destroy(GTK_OBJECT(canvas_rect)) ; - canvas_rect = 0 ; - } - - if(canvas_group) - { - gtk_object_destroy(GTK_OBJECT(canvas_group)); - canvas_group = 0 ; - } } @@ -126,15 +107,12 @@ int ImageFrameTimeAxisView::set_height (gdouble h) { /* limit the values to something sane-ish */ - if (h < 10.0 || h > 1000.0) - { + if (h < 10.0 || h > 1000.0) { return(-1) ; } - if(canvas_rect != 0) - { - gtk_object_set(GTK_OBJECT(canvas_rect), "y2", h, NULL) ; - } + canvas_rect.property_y2() = h ; + for(ImageFrameGroupList::const_iterator citer = imageframe_groups.begin(); citer != imageframe_groups.end(); ++citer) { @@ -154,7 +132,9 @@ int ImageFrameTimeAxisView::set_position (gdouble x, gdouble y) { - gtk_canvas_item_set (canvas_group, "x", x, "y", y, NULL); + canvas_group.property_x() = x; + canvas_group.property_y() = y; + return 0; } @@ -187,7 +167,7 @@ ImageFrameTimeAxisView::set_samples_per_unit (gdouble spp) * @param color the new base color */ void -ImageFrameTimeAxisView::apply_color(GdkColor& color) +ImageFrameTimeAxisView::apply_color(Gdk::Color& color) { region_color = color ; for(ImageFrameGroupList::const_iterator citer = imageframe_groups.begin(); citer != imageframe_groups.end(); citer++) @@ -234,7 +214,7 @@ ImageFrameTimeAxisView::add_imageframe_group(std::string group_id, void* src) imageframe_groups.push_front(iftag) ; - iftag->GoingAway.connect(bind(slot (*this,&ImageFrameTimeAxisView::remove_imageframe_group), iftag, (void*)this)) ; + iftag->GoingAway.connect(bind(mem_fun(*this,&ImageFrameTimeAxisView::remove_imageframe_group), iftag, (void*)this)) ; ImageFrameGroupAdded(iftag, src) ; /* EMIT_SIGNAL */ } @@ -310,7 +290,7 @@ ImageFrameTimeAxisView::remove_named_imageframe_group(std::string group_id, void void ImageFrameTimeAxisView::remove_imageframe_group(ImageFrameTimeAxisGroup* iftag, void* src) { - ENSURE_GUI_THREAD(bind (slot (*this, &ImageFrameTimeAxisView::remove_imageframe_group), iftag, src)); + ENSURE_GUI_THREAD(bind (mem_fun(*this, &ImageFrameTimeAxisView::remove_imageframe_group), iftag, src)); ImageFrameGroupList::iterator i; if((i = find (imageframe_groups.begin(), imageframe_groups.end(), iftag)) != imageframe_groups.end()) @@ -385,11 +365,11 @@ ImageFrameTimeAxisView::set_selected_imageframe_view(ImageFrameTimeAxisGroup* if if(selected_imageframe_view) { - selected_imageframe_view->set_selected(false, this) ; + selected_imageframe_view->set_selected(false) ; } selected_imageframe_view = ifv ; - selected_imageframe_view->set_selected(true, this) ; + selected_imageframe_view->set_selected(true) ; } /** @@ -406,7 +386,7 @@ ImageFrameTimeAxisView::clear_selected_imageframe_item(bool clear_group) if(selected_imageframe_view) { - selected_imageframe_view->set_selected(false, this) ; + selected_imageframe_view->set_selected(false) ; } selected_imageframe_view = 0 ; } @@ -430,7 +410,7 @@ ImageFrameTimeAxisView::set_imageframe_duration_sec(double sec) { if(selected_imageframe_group && selected_imageframe_view) { - selected_imageframe_view->set_duration((jack_nframes_t) (sec * _trackview.editor.current_session()->frame_rate()), this) ; + selected_imageframe_view->set_duration((nframes_t) (sec * _trackview.editor.current_session()->frame_rate()), this) ; } }