diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-04-04 00:32:52 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-04-04 00:32:52 -0400 |
commit | aaea166135ace01709f7e0be64f40be80f4107ec (patch) | |
tree | 0e794ef7a723e4aaf909b841a6816e405b4ceca1 /gtk2_ardour/time_axis_view_item.cc | |
parent | 1d8bac08c0c00d44e22c581768a275e1b21a99a7 (diff) |
initial commit of hand merging, plus getting "ancient" waf script to work correctly
Diffstat (limited to 'gtk2_ardour/time_axis_view_item.cc')
-rw-r--r-- | gtk2_ardour/time_axis_view_item.cc | 148 |
1 files changed, 75 insertions, 73 deletions
diff --git a/gtk2_ardour/time_axis_view_item.cc b/gtk2_ardour/time_axis_view_item.cc index 2b20b3c45e..a86b8b7561 100644 --- a/gtk2_ardour/time_axis_view_item.cc +++ b/gtk2_ardour/time_axis_view_item.cc @@ -26,6 +26,11 @@ #include "gtkmm2ext/utils.h" #include "gtkmm2ext/gui_thread.h" +#include "canvas/group.h" +#include "canvas/rectangle.h" +#include "canvas/debug.h" +#include "canvas/pixbuf.h" + #include "ardour_ui.h" /* * ardour_ui.h was moved up in the include list @@ -36,9 +41,7 @@ #include "public_editor.h" #include "time_axis_view_item.h" #include "time_axis_view.h" -#include "simplerect.h" #include "utils.h" -#include "canvas_impl.h" #include "rgb_macros.h" #include "i18n.h" @@ -105,7 +108,8 @@ TimeAxisViewItem::TimeAxisViewItem( , _automation (automation) , _dragging (false) { - group = new ArdourCanvas::Group (parent); + group = new ArdourCanvas::Group (&parent); + CANVAS_DEBUG_NAME (group, "TAVI group"); init (it_name, spu, base_color, start, duration, vis, true, true); } @@ -128,22 +132,21 @@ TimeAxisViewItem::TimeAxisViewItem (const TimeAxisViewItem& other) /* share the other's parent, but still create a new group */ - Gnome::Canvas::Group* parent = other.group->property_parent(); + ArdourCanvas::Group* parent = other.group->parent(); - group = new ArdourCanvas::Group (*parent); + group = new ArdourCanvas::Group (parent); _selected = other._selected; - init (other.item_name, other.samples_per_unit, c, other.frame_position, + init (other.item_name, other.frames_per_pixel, c, other.frame_position, other.item_duration, other.visibility, other.wide_enough_for_name, other.high_enough_for_name); } void -TimeAxisViewItem::init ( - const string& it_name, double spu, Gdk::Color const & base_color, framepos_t start, framepos_t duration, Visibility vis, bool wide, bool high) +TimeAxisViewItem::init (const string& it_name, double fpp, Gdk::Color const & base_color, framepos_t start, framepos_t duration, Visibility vis, bool wide, bool high) { item_name = it_name; - samples_per_unit = spu; + frame_per_pixel = fpp; frame_position = start; item_duration = duration; name_connected = false; @@ -164,22 +167,22 @@ TimeAxisViewItem::init ( warning << "Time Axis Item Duration == 0" << endl; } - vestigial_frame = new ArdourCanvas::SimpleRect (*group, 0.0, 1.0, 2.0, trackview.current_height()); + vestigial_frame = new ArdourCanvas::Rectangle (group, ArdourCanvas::Rect (0.0, 1.0, 2.0, trackview.current_height())); vestigial_frame->hide (); - vestigial_frame->property_outline_what() = 0xF; - vestigial_frame->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_VestigialFrame.get(); - vestigial_frame->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_VestigialFrame.get(); + vestigial_frame->set_outline_what (0xF); + vestigial_frame->set_outline_color (ARDOUR_UI::config()->canvasvar_VestigialFrame.get()); + vestigial_frame->set_fill_color (ARDOUR_UI::config()->canvasvar_VestigialFrame.get()); if (visibility & ShowFrame) { - frame = new ArdourCanvas::SimpleRect (*group, 0.0, 1.0, trackview.editor().frame_to_pixel(duration), trackview.current_height()); + frame = new ArdourCanvas::Rectangle (*group, 0.0, 1.0, trackview.editor().frame_to_pixel(duration), trackview.current_height()); - frame->property_outline_pixels() = 1; - frame->property_outline_what() = 0xF; + frame->set_outline_pixels (1); + frame->set_outline_what (0xF); if (_recregion) { - frame->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_RecordingRect.get(); + frame->set_outline_color (ARDOUR_UI::config()->canvasvar_RecordingRect.get()); } else { - frame->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get(); + frame->set_outline_color (ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get()); } frame->property_outline_what() = 0x1|0x2|0x4|0x8; @@ -191,24 +194,27 @@ TimeAxisViewItem::init ( if (visibility & ShowNameHighlight) { if (visibility & FullWidthNameHighlight) { - name_highlight = new ArdourCanvas::SimpleRect (*group, 0.0, trackview.editor().frame_to_pixel(item_duration), trackview.current_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE, trackview.current_height()); + name_highlight = new ArdourCanvas::Rectangle (group, + ArdourCanvas::Rect (0.0, trackview.editor().frame_to_pixel(item_duration), + trackview.current_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE, trackview.current_height())); } else { - name_highlight = new ArdourCanvas::SimpleRect (*group, 1.0, trackview.editor().frame_to_pixel(item_duration) - 1, trackview.current_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE, trackview.current_height()); + name_highlight = new ArdourCanvas::Rectangle (group, + ArdourCanvas::Rect (1.0, trackview.editor().frame_to_pixel(item_duration) - 1, + trackview.current_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE, trackview.current_height())); } name_highlight->set_data ("timeaxisviewitem", this); - name_highlight->property_outline_what() = 0x4; + name_highlight->set_outline_what (0x4); /* we should really use a canvas color property here */ - name_highlight->property_outline_color_rgba() = RGBA_TO_UINT (0,0,0,255); + name_highlight->set_outline_color (RGBA_TO_UINT (0,0,0,255)); } else { name_highlight = 0; } if (visibility & ShowNameText) { - name_pixbuf = new ArdourCanvas::Pixbuf(*group); - name_pixbuf->property_x() = NAME_X_OFFSET; - name_pixbuf->property_y() = trackview.current_height() + 1 - NAME_Y_OFFSET; + name_pixbuf = new ArdourCanvas::Pixbuf(group); + name_pixbuf->set_position (ArdourCanvas::Duple (NAME_X_OFFSET, trackview.current_height() + 1 - NAME_Y_OFFSET)); } else { name_pixbuf = 0; @@ -219,10 +225,10 @@ TimeAxisViewItem::init ( double top = TimeAxisViewItem::GRAB_HANDLE_TOP; double width = TimeAxisViewItem::GRAB_HANDLE_WIDTH; - frame_handle_start = new ArdourCanvas::SimpleRect (*group, 0.0, top, width, trackview.current_height()); - frame_handle_start->property_outline_what() = 0x0; - frame_handle_end = new ArdourCanvas::SimpleRect (*group, 0.0, top, width, trackview.current_height()); - frame_handle_end->property_outline_what() = 0x0; + frame_handle_start = new ArdourCanvas::Rectangle (group, ArdourCanvas::Rect (0.0, top, width, trackview.current_height())); + frame_handle_start->set_outline_what (0x0); + frame_handle_end = new ArdourCanvas::Rectangle (group, ArdourCanvas::Rect (0.0, top, width, trackview.current_height())); + frame_handle_end->set_outline_what (0x0); } else { frame_handle_start = frame_handle_end = 0; } @@ -247,8 +253,8 @@ TimeAxisViewItem::hide_rect () set_frame_color (); if (name_highlight) { - name_highlight->property_outline_what() = 0x0; - name_highlight->property_fill_color_rgba() = UINT_RGBA_CHANGE_A(fill_color,64); + name_highlight->set_outline_what (0); + name_highlight->set_fill_color (UINT_RGBA_CHANGE_A (fill_color, 64)); } } @@ -259,8 +265,8 @@ TimeAxisViewItem::show_rect () set_frame_color (); if (name_highlight) { - name_highlight->property_outline_what() = 0x4; - name_highlight->property_fill_color_rgba() = fill_color; + name_highlight->set_outline_what (0x4); + name_highlight->set_fill_color (fill_color); } } @@ -292,12 +298,12 @@ TimeAxisViewItem::set_position(framepos_t pos, void* src, double* delta) */ double old_unit_pos; - double new_unit_pos = pos / samples_per_unit; + double new_unit_pos = pos / frames_per_pixel; - old_unit_pos = group->property_x(); + old_unit_pos = group->position().x; if (new_unit_pos != old_unit_pos) { - group->move (new_unit_pos - old_unit_pos, 0.0); + group->set_x_position (new_unit_pos); } if (delta) { @@ -516,7 +522,7 @@ TimeAxisViewItem::set_name_text(const string& new_name) last_item_width = trackview.editor().frame_to_pixel(item_duration); name_pixbuf_width = pixel_width (new_name, NAME_FONT) + 2; - name_pixbuf->property_pixbuf() = pixbuf_from_string(new_name, NAME_FONT, name_pixbuf_width, NAME_HEIGHT, Gdk::Color ("#000000")); + name_pixbuf->set (pixbuf_from_string(new_name, NAME_FONT, name_pixbuf_width, NAME_HEIGHT, Gdk::Color ("#000000"))) } @@ -541,29 +547,29 @@ TimeAxisViewItem::set_height (double height) } if (height > NAME_HIGHLIGHT_SIZE) { - name_highlight->property_y1() = (double) height - 1 - NAME_HIGHLIGHT_SIZE; - name_highlight->property_y2() = (double) height - 1; + name_highlight->set_y0 ((double) height - 1 - NAME_HIGHLIGHT_SIZE); + name_highlight->set_y1 ((double) height - 1); } else { /* it gets hidden now anyway */ - name_highlight->property_y1() = (double) 1.0; - name_highlight->property_y2() = (double) height; + name_highlight->set_y0 (1); + name_highlight->set_y1 (height); } } if (visibility & ShowNameText) { - name_pixbuf->property_y() = height + 1 - NAME_Y_OFFSET; + name_pixbuf->set_y_position (height + 1 - NAME_Y_OFFSET); } if (frame) { - frame->property_y2() = height - 1; + frame->set_y1 (height - 1); if (frame_handle_start) { - frame_handle_start->property_y2() = height - 1; - frame_handle_end->property_y2() = height - 1; + frame_handle_start->set_y1 (height - 1); + frame_handle_end->set_y1 (height - 1); } } - vestigial_frame->property_y2() = height - 1; + vestigial_frame->set_y1 (height - 1); update_name_pixbuf_visibility (); set_colors (); @@ -703,7 +709,7 @@ TimeAxisViewItem::set_colors() set_frame_color(); if (name_highlight) { - name_highlight->property_fill_color_rgba() = fill_color; + name_highlight->set_fill_color (fill_color); } set_trim_handle_colors(); } @@ -754,7 +760,7 @@ TimeAxisViewItem::set_frame_color() } } - frame->property_fill_color_rgba() = f; + frame->set_fill_color (f); if (!_recregion) { if (_selected) { @@ -767,7 +773,7 @@ TimeAxisViewItem::set_frame_color() f = UINT_RGBA_CHANGE_A (f, 64); } - frame->property_outline_color_rgba() = f; + frame->set_outline_color (f); } } @@ -779,35 +785,34 @@ TimeAxisViewItem::set_trim_handle_colors() { if (frame_handle_start) { if (position_locked) { - frame_handle_start->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TrimHandleLocked.get(); - frame_handle_end->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TrimHandleLocked.get(); + frame_handle_start->set_fill_color (ARDOUR_UI::config()->canvasvar_TrimHandleLocked.get()); + frame_handle_end->set_fill_color (ARDOUR_UI::config()->canvasvar_TrimHandleLocked.get()); } else { - frame_handle_start->property_fill_color_rgba() = RGBA_TO_UINT(1, 1, 1, 0); //ARDOUR_UI::config()->canvasvar_TrimHandle.get(); - frame_handle_end->property_fill_color_rgba() = RGBA_TO_UINT(1, 1, 1, 0); //ARDOUR_UI::config()->canvasvar_TrimHandle.get(); + frame_handle_start->set_fill_color (RGBA_TO_UINT (1, 1, 1, 0)); //ARDOUR_UI::config()->canvasvar_TrimHandle.get(); + frame_handle_end->set_fill_color (RGBA_TO_UINT (1, 1, 1, 0)); //ARDOUR_UI::config()->canvasvar_TrimHandle.get(); } } } -/** @return the samples per unit of this item */ +/** @return the frames per pixel */ double -TimeAxisViewItem::get_samples_per_unit() +TimeAxisViewItem::get_frames_per_pixel () const { - return samples_per_unit; + return frames_per_pixel; } -/** - * Set the samples per unit of this item. - * This item is used to determine the relative visual size and position of this item - * based upon its duration and start value. +/** Set the frames per pixel of this item. + * This item is used to determine the relative visual size and position of this item + * based upon its duration and start value. * - * @param spu the new samples per unit value + * @param fpp the new frames per pixel */ void -TimeAxisViewItem::set_samples_per_unit (double spu) +TimeAxisViewItem::set_frames_per_pixel (double fpp) { - samples_per_unit = spu; + frames_per_pixel = fpp; set_position (this->get_position(), this); - reset_width_dependent_items ((double)get_duration() / samples_per_unit); + reset_width_dependent_items ((double) get_duration() / frames_per_pixel); } void @@ -851,12 +856,12 @@ TimeAxisViewItem::reset_width_dependent_items (double pixel_width) high_enough_for_name = true; } - name_highlight->property_x2() = pixel_width; + name_highlight->set_x1 (pixel_width); } if (frame) { frame->show(); - frame->property_x2() = pixel_width; + frame->set_x1 (pixel_width); } if (frame_handle_start) { @@ -870,8 +875,8 @@ TimeAxisViewItem::reset_width_dependent_items (double pixel_width) frame_handle_end->hide(); } else { frame_handle_start->show(); - frame_handle_end->property_x1() = pixel_width - (TimeAxisViewItem::GRAB_HANDLE_WIDTH); - frame_handle_end->property_x2() = pixel_width; + frame_handle_end->set_x0 (pixel_width - (TimeAxisViewItem::GRAB_HANDLE_WIDTH)); + frame_handle_end->set_x1 (pixel_width); frame_handle_end->show(); } } @@ -923,7 +928,7 @@ TimeAxisViewItem::reset_name_width (double /*pixel_width*/) pb_width = 1; } - name_pixbuf->property_pixbuf() = pixbuf_from_string(item_name, NAME_FONT, pb_width, NAME_HEIGHT, Gdk::Color ("#000000")); + name_pixbuf->set (pixbuf_from_string(item_name, NAME_FONT, pb_width, NAME_HEIGHT, Gdk::Color ("#000000"))); } /** @@ -946,10 +951,7 @@ TimeAxisViewItem::idle_remove_this_item(TimeAxisViewItem* item, void* src) void TimeAxisViewItem::set_y (double y) { - double const old = group->property_y (); - if (y != old) { - group->move (0, y - old); - } + group->set_y_position (y); } void |