Consolidate ruler prelight events
This fixes various copy/edit bugs (e.g. transport ruler uses "range marker bar" colors, but only after a enter/leave event).
This commit is contained in:
parent
3875468935
commit
eb42318d3e
@ -1719,13 +1719,7 @@ private:
|
||||
bool canvas_note_event (GdkEvent* event, ArdourCanvas::Item*);
|
||||
|
||||
bool canvas_ruler_event (GdkEvent* event, ArdourCanvas::Item*, ItemType);
|
||||
bool canvas_tempo_bar_event (GdkEvent* event, ArdourCanvas::Item*);
|
||||
bool canvas_meter_bar_event (GdkEvent* event, ArdourCanvas::Item*);
|
||||
bool canvas_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*);
|
||||
bool canvas_range_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*);
|
||||
bool canvas_transport_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*);
|
||||
bool canvas_cd_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*);
|
||||
bool canvas_cue_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*);
|
||||
bool canvas_ruler_bar_event (GdkEvent* event, ArdourCanvas::Item*, ItemType, std::string const&);
|
||||
|
||||
bool canvas_videotl_bar_event (GdkEvent* event, ArdourCanvas::Item*);
|
||||
void update_video_timeline (bool flush = false);
|
||||
|
@ -233,14 +233,14 @@ Editor::initialize_canvas ()
|
||||
transport_punchout_line->set_y1 (ArdourCanvas::COORD_MAX);
|
||||
transport_punchout_line->hide();
|
||||
|
||||
tempo_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_tempo_bar_event), tempo_bar));
|
||||
meter_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_meter_bar_event), meter_bar));
|
||||
marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_marker_bar_event), marker_bar));
|
||||
cd_marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_cd_marker_bar_event), cd_marker_bar));
|
||||
cue_marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_cue_marker_bar_event), cue_marker_bar));
|
||||
tempo_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_ruler_bar_event), tempo_bar, TempoBarItem, "tempo bar"));
|
||||
meter_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_ruler_bar_event), meter_bar, MeterBarItem, "meter bar"));
|
||||
marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_ruler_bar_event), marker_bar, MarkerBarItem, "marker bar"));
|
||||
cd_marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_ruler_bar_event), cd_marker_bar, CdMarkerBarItem, "cd marker bar"));
|
||||
cue_marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_ruler_bar_event), cue_marker_bar, CueMarkerBarItem, "cd marker bar"));
|
||||
videotl_group->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_videotl_bar_event), videotl_group));
|
||||
range_marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_range_marker_bar_event), range_marker_bar));
|
||||
transport_marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_transport_marker_bar_event), transport_marker_bar));
|
||||
range_marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_ruler_bar_event), range_marker_bar, RangeMarkerBarItem, "range marker bar"));
|
||||
transport_marker_bar->Event.connect (sigc::bind (sigc::mem_fun (*this, &Editor::canvas_ruler_bar_event), transport_marker_bar, TransportMarkerBarItem, "transport marker bar"));
|
||||
|
||||
_playhead_cursor = new EditorCursor (*this, &Editor::canvas_playhead_cursor_event, X_("playhead"));
|
||||
|
||||
|
@ -978,111 +978,6 @@ Editor::canvas_marker_event (GdkEvent *event, ArdourCanvas::Item* item, ArdourMa
|
||||
return typed_event (item, event, MarkerItem);
|
||||
}
|
||||
|
||||
bool
|
||||
Editor::canvas_marker_bar_event (GdkEvent *event, ArdourCanvas::Item* item)
|
||||
{
|
||||
switch (event->type) {
|
||||
case GDK_ENTER_NOTIFY:
|
||||
if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
|
||||
marker_bar->set_fill_color (Gtkmm2ext::HSV(UIConfiguration::instance().color_mod ("range marker bar", "marker bar")).lighter(0.20).color());
|
||||
}
|
||||
break;
|
||||
case GDK_LEAVE_NOTIFY:
|
||||
if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
|
||||
marker_bar->set_fill_color (UIConfiguration::instance().color_mod ("range marker bar", "marker bar"));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
||||
return typed_event (item, event, MarkerBarItem);
|
||||
}
|
||||
|
||||
bool
|
||||
Editor::canvas_range_marker_bar_event (GdkEvent *event, ArdourCanvas::Item* item)
|
||||
{
|
||||
switch (event->type) {
|
||||
case GDK_ENTER_NOTIFY:
|
||||
if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
|
||||
range_marker_bar->set_fill_color (Gtkmm2ext::HSV(UIConfiguration::instance().color_mod ("range marker bar", "marker bar")).lighter(0.20).color());
|
||||
}
|
||||
break;
|
||||
case GDK_LEAVE_NOTIFY:
|
||||
if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
|
||||
range_marker_bar->set_fill_color (UIConfiguration::instance().color_mod ("range marker bar", "marker bar"));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
||||
return typed_event (item, event, RangeMarkerBarItem);
|
||||
}
|
||||
|
||||
bool
|
||||
Editor::canvas_transport_marker_bar_event (GdkEvent *event, ArdourCanvas::Item* item)
|
||||
{
|
||||
switch (event->type) {
|
||||
case GDK_ENTER_NOTIFY:
|
||||
if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
|
||||
transport_marker_bar->set_fill_color (Gtkmm2ext::HSV(UIConfiguration::instance().color_mod ("range marker bar", "marker bar")).lighter(0.20).color());
|
||||
}
|
||||
break;
|
||||
case GDK_LEAVE_NOTIFY:
|
||||
if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
|
||||
transport_marker_bar->set_fill_color (UIConfiguration::instance().color_mod ("range marker bar", "marker bar"));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
||||
return typed_event (item, event, TransportMarkerBarItem);
|
||||
}
|
||||
|
||||
bool
|
||||
Editor::canvas_cd_marker_bar_event (GdkEvent *event, ArdourCanvas::Item* item)
|
||||
{
|
||||
switch (event->type) {
|
||||
case GDK_ENTER_NOTIFY:
|
||||
if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
|
||||
cd_marker_bar->set_fill_color (Gtkmm2ext::HSV(UIConfiguration::instance().color_mod ("range marker bar", "marker bar")).lighter(0.20).color());
|
||||
}
|
||||
break;
|
||||
case GDK_LEAVE_NOTIFY:
|
||||
if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
|
||||
cd_marker_bar->set_fill_color (UIConfiguration::instance().color_mod ("range marker bar", "marker bar"));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
||||
return typed_event (item, event, CdMarkerBarItem);
|
||||
}
|
||||
|
||||
bool
|
||||
Editor::canvas_cue_marker_bar_event (GdkEvent *event, ArdourCanvas::Item* item)
|
||||
{
|
||||
switch (event->type) {
|
||||
case GDK_ENTER_NOTIFY:
|
||||
if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
|
||||
cue_marker_bar->set_fill_color (Gtkmm2ext::HSV(UIConfiguration::instance().color_mod ("range marker bar", "marker bar")).lighter(0.20).color());
|
||||
}
|
||||
break;
|
||||
case GDK_LEAVE_NOTIFY:
|
||||
if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
|
||||
cue_marker_bar->set_fill_color (UIConfiguration::instance().color_mod ("range marker bar", "marker bar"));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
||||
return typed_event (item, event, CueMarkerBarItem);
|
||||
}
|
||||
|
||||
bool
|
||||
Editor::canvas_videotl_bar_event (GdkEvent *event, ArdourCanvas::Item* item)
|
||||
{
|
||||
@ -1172,45 +1067,26 @@ Editor::canvas_ruler_event (GdkEvent *event, ArdourCanvas::Item* item, ItemType
|
||||
}
|
||||
|
||||
bool
|
||||
Editor::canvas_tempo_bar_event (GdkEvent *event, ArdourCanvas::Item* item)
|
||||
Editor::canvas_ruler_bar_event (GdkEvent *event, ArdourCanvas::Item* item, ItemType type, std::string const& color_name)
|
||||
{
|
||||
/* XXX consolidate with Editor::canvas_ruler_event ? */
|
||||
|
||||
switch (event->type) {
|
||||
case GDK_ENTER_NOTIFY:
|
||||
if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
|
||||
tempo_bar->set_fill_color (Gtkmm2ext::HSV(UIConfiguration::instance().color_mod ("tempo bar", "marker bar")).lighter(0.20).color());
|
||||
item->set_fill_color (Gtkmm2ext::HSV(UIConfiguration::instance().color_mod (color_name, "marker bar")).lighter(0.20).color());
|
||||
}
|
||||
break;
|
||||
case GDK_LEAVE_NOTIFY:
|
||||
if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
|
||||
tempo_bar->set_fill_color (UIConfiguration::instance().color_mod ("tempo bar", "marker bar"));
|
||||
item->set_fill_color (UIConfiguration::instance().color_mod (color_name, "marker bar"));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
||||
return typed_event (item, event, TempoBarItem);
|
||||
}
|
||||
|
||||
bool
|
||||
Editor::canvas_meter_bar_event (GdkEvent *event, ArdourCanvas::Item* item)
|
||||
{
|
||||
switch (event->type) {
|
||||
case GDK_ENTER_NOTIFY:
|
||||
if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
|
||||
meter_bar->set_fill_color (Gtkmm2ext::HSV(UIConfiguration::instance().color_mod ("meter bar", "marker bar")).lighter(0.20).color());
|
||||
}
|
||||
break;
|
||||
case GDK_LEAVE_NOTIFY:
|
||||
if (event->crossing.detail != GDK_NOTIFY_INFERIOR) {
|
||||
meter_bar->set_fill_color (UIConfiguration::instance().color_mod ("meter bar", "marker bar"));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
};
|
||||
|
||||
return typed_event (item, event, MeterBarItem);
|
||||
return typed_event (item, event, type);
|
||||
}
|
||||
|
||||
bool
|
||||
|
@ -475,11 +475,6 @@ public:
|
||||
virtual bool canvas_bbt_marker_event (GdkEvent* event, ArdourCanvas::Item*, BBTMarker*) = 0;
|
||||
virtual bool canvas_automation_track_event(GdkEvent* event, ArdourCanvas::Item*, AutomationTimeAxisView*) = 0;
|
||||
|
||||
virtual bool canvas_tempo_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
virtual bool canvas_meter_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
virtual bool canvas_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
virtual bool canvas_range_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
virtual bool canvas_transport_marker_bar_event (GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
virtual bool canvas_note_event (GdkEvent* event, ArdourCanvas::Item*) = 0;
|
||||
|
||||
static const int window_border_width;
|
||||
|
Loading…
Reference in New Issue
Block a user