summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-05-31 14:04:41 +0200
committerRobin Gareus <robin@gareus.org>2014-05-31 14:04:41 +0200
commitd6b1a9f6e3b45cfca2bdb0d80694b0afd40c5f39 (patch)
tree0fb3be4bccd59e6050178e1658cfd6ce8cfdd6c6 /gtk2_ardour
parentf0536816ab35b5a6fd2f1b77b54e0ae15a5f937b (diff)
prepare fade+trim cursors (cursor image still missing)
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor_mouse.cc25
-rw-r--r--gtk2_ardour/mouse_cursors.cc10
-rw-r--r--gtk2_ardour/mouse_cursors.h2
3 files changed, 35 insertions, 2 deletions
diff --git a/gtk2_ardour/editor_mouse.cc b/gtk2_ardour/editor_mouse.cc
index e8fae02727..4d3c01b46d 100644
--- a/gtk2_ardour/editor_mouse.cc
+++ b/gtk2_ardour/editor_mouse.cc
@@ -2011,7 +2011,6 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
}
break;
- case FadeInTrimHandleItem:
case FadeInHandleItem:
if (mouse_mode == MouseObject && !internal_editing()) {
ArdourCanvas::Rectangle *rect = dynamic_cast<ArdourCanvas::Rectangle *> (item);
@@ -2023,7 +2022,17 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
}
break;
- case FadeOutTrimHandleItem:
+ case FadeInTrimHandleItem:
+ if (mouse_mode == MouseObject && !internal_editing()) {
+ ArdourCanvas::Rectangle *rect = dynamic_cast<ArdourCanvas::Rectangle *> (item);
+ if (rect) {
+ RegionView* rv = static_cast<RegionView*>(item->get_data ("regionview"));
+ rect->set_fill_color (rv->get_fill_color());
+ set_canvas_cursor (_cursors->fade_trim_in);
+ }
+ }
+ break;
+
case FadeOutHandleItem:
if (mouse_mode == MouseObject && !internal_editing()) {
ArdourCanvas::Rectangle *rect = dynamic_cast<ArdourCanvas::Rectangle *> (item);
@@ -2034,6 +2043,18 @@ Editor::enter_handler (ArdourCanvas::Item* item, GdkEvent* event, ItemType item_
}
}
break;
+
+ case FadeOutTrimHandleItem:
+ if (mouse_mode == MouseObject && !internal_editing()) {
+ ArdourCanvas::Rectangle *rect = dynamic_cast<ArdourCanvas::Rectangle *> (item);
+ if (rect) {
+ RegionView* rv = static_cast<RegionView*>(item->get_data ("regionview"));
+ rect->set_fill_color (rv->get_fill_color ());
+ set_canvas_cursor (_cursors->fade_trim_out);
+ }
+ }
+ break;
+
case FeatureLineItem:
{
ArdourCanvas::Line *line = dynamic_cast<ArdourCanvas::Line *> (item);
diff --git a/gtk2_ardour/mouse_cursors.cc b/gtk2_ardour/mouse_cursors.cc
index 98e33d77d6..9ccaf4de43 100644
--- a/gtk2_ardour/mouse_cursors.cc
+++ b/gtk2_ardour/mouse_cursors.cc
@@ -115,6 +115,16 @@ MouseCursors::MouseCursors ()
}
{
+ RefPtr<Pixbuf> p (::get_icon ("fade_in_cursor"));
+ fade_trim_in = new Cursor (Display::get_default(), p, 0, 0);
+ }
+
+ {
+ RefPtr<Pixbuf> p (::get_icon ("fade_out_cursor"));
+ fade_trim_out = new Cursor (Display::get_default(), p, 29, 0);
+ }
+
+ {
RefPtr<Pixbuf> p (::get_icon ("resize_left_cursor"));
resize_left = new Cursor (Display::get_default(), p, 3, 10);
}
diff --git a/gtk2_ardour/mouse_cursors.h b/gtk2_ardour/mouse_cursors.h
index bf93e1ad78..414ec3bae6 100644
--- a/gtk2_ardour/mouse_cursors.h
+++ b/gtk2_ardour/mouse_cursors.h
@@ -38,6 +38,8 @@ public:
Gdk::Cursor* left_side_trim_right_only;
Gdk::Cursor* fade_in;
Gdk::Cursor* fade_out;
+ Gdk::Cursor* fade_trim_in;
+ Gdk::Cursor* fade_trim_out;
Gdk::Cursor* selector;
Gdk::Cursor* grabber;
Gdk::Cursor* grabber_note;