*/
-#include <pbd/error.h>
-#include <pbd/stacktrace.h>
+#include "pbd/error.h"
+#include "pbd/stacktrace.h"
-#include <ardour/types.h>
-#include <ardour/ardour.h>
+#include "ardour/types.h"
+#include "ardour/ardour.h"
#include <gtkmm2ext/utils.h>
}
TimeAxisViewItem::TimeAxisViewItem (const TimeAxisViewItem& other)
- : trackview (other.trackview)
+ : sigc::trackable(other)
+ , trackview (other.trackview)
{
Gdk::Color c;
frame_position = start ;
item_duration = duration ;
name_connected = false;
- // why? fill_opacity = 60;
+ fill_opacity = 60;
position_locked = false ;
max_item_duration = ARDOUR::max_frames;
min_item_duration = 0 ;
frame = new ArdourCanvas::SimpleRect (*group);
frame->property_x1() = (double) 0.0;
frame->property_y1() = (double) 1.0;
- frame->property_x2() = (double) trackview.editor.frame_to_pixel(duration);
+ frame->property_x2() = (double) trackview.editor().frame_to_pixel(duration);
frame->property_y2() = (double) trackview.current_height();
frame->property_outline_pixels() = 1;
frame->property_outline_what() = 0xF;
frame->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get();
- frame->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_TimeAxisFrame.get();
/* by default draw all 4 edges */
name_highlight = new ArdourCanvas::SimpleRect (*group);
if (visibility & FullWidthNameHighlight) {
name_highlight->property_x1() = (double) 0.0;
- name_highlight->property_x2() = (double) (trackview.editor.frame_to_pixel(item_duration));
+ name_highlight->property_x2() = (double) (trackview.editor().frame_to_pixel(item_duration));
} else {
name_highlight->property_x1() = (double) 1.0;
- name_highlight->property_x2() = (double) (trackview.editor.frame_to_pixel(item_duration)) - 1;
+ name_highlight->property_x2() = (double) (trackview.editor().frame_to_pixel(item_duration)) - 1;
}
name_highlight->property_y1() = (double) (trackview.current_height() - TimeAxisViewItem::NAME_HIGHLIGHT_SIZE);
name_highlight->property_y2() = (double) (trackview.current_height() - 1);
- name_highlight->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_NameHighlightFill.get();
- name_highlight->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_NameHighlightOutline.get();
name_highlight->set_data ("timeaxisviewitem", this);
frame_handle_start->property_y1() = (double) 1.0;
frame_handle_start->property_y2() = (double) TimeAxisViewItem::GRAB_HANDLE_LENGTH+1;
frame_handle_start->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_FrameHandle.get();
- frame_handle_start->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_FrameHandle.get();
-
+
frame_handle_end = new ArdourCanvas::SimpleRect (*group);
- frame_handle_end->property_x1() = (double) (trackview.editor.frame_to_pixel(get_duration())) - (TimeAxisViewItem::GRAB_HANDLE_LENGTH);
- frame_handle_end->property_x2() = (double) trackview.editor.frame_to_pixel(get_duration());
+ frame_handle_end->property_x1() = (double) (trackview.editor().frame_to_pixel(get_duration())) - (TimeAxisViewItem::GRAB_HANDLE_LENGTH);
+ frame_handle_end->property_x2() = (double) trackview.editor().frame_to_pixel(get_duration());
frame_handle_end->property_y1() = (double) 1;
frame_handle_end->property_y2() = (double) TimeAxisViewItem::GRAB_HANDLE_LENGTH + 1;
frame_handle_end->property_outline_color_rgba() = ARDOUR_UI::config()->canvasvar_FrameHandle.get();
- frame_handle_end->property_fill_color_rgba() = ARDOUR_UI::config()->canvasvar_FrameHandle.get();
} else {
frame_handle_start = 0;
item_duration = dur;
- reset_width_dependent_items (trackview.editor.frame_to_pixel (dur));
+ reset_width_dependent_items (trackview.editor().frame_to_pixel (dur));
DurationChanged (dur, src) ; /* EMIT_SIGNAL */
return true;
}
/**
- * Set the y position and height of this item.
+ * Set the height of this item
*
- * @param y the new y position
* @param h the new height
*/
void
-TimeAxisViewItem::set_y_position_and_height (double y, double h)
+TimeAxisViewItem::set_height (double height)
{
if (name_highlight) {
- if (h < NAME_HIGHLIGHT_THRESH) {
+ if (height < NAME_HIGHLIGHT_THRESH) {
name_highlight->hide();
if (name_text) {
name_text->hide();
}
}
- if (h > NAME_HIGHLIGHT_SIZE) {
- name_highlight->property_y1() = (double) y + h + 1 - NAME_HIGHLIGHT_SIZE;
- name_highlight->property_y2() = (double) y + h;
+ if (height > NAME_HIGHLIGHT_SIZE) {
+ name_highlight->property_y1() = (double) height+1 - NAME_HIGHLIGHT_SIZE;
+ name_highlight->property_y2() = (double) height;
}
else {
/* it gets hidden now anyway */
- name_highlight->property_y1() = (double) y;
- name_highlight->property_y2() = (double) y + h;
+ name_highlight->property_y1() = (double) 1.0;
+ name_highlight->property_y2() = (double) height;
}
}
if (name_text) {
- name_text->property_y() = y + h + 1 - NAME_Y_OFFSET;
- if (h < NAME_HIGHLIGHT_THRESH) {
+ name_text->property_y() = height+1 - NAME_Y_OFFSET;
+ if (height < NAME_HIGHLIGHT_THRESH) {
name_text->property_fill_color_rgba() = fill_color;
}
else {
}
if (frame) {
- frame->property_y1() = y;
- frame->property_y2() = y + h + 1;
+ frame->property_y2() = height+1;
}
- vestigial_frame->property_y1() = y;
- vestigial_frame->property_y2() = y + h + 1;
+ vestigial_frame->property_y2() = height+1;
}
/**
return false;
}
+void
+TimeAxisViewItem::set_y (double y)
+{
+ double const old = group->property_y ();
+ if (y != old) {
+ group->move (0, y - old);
+ }
+}
+
+
+