X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fmouse_cursors.cc;h=13cf74f7807ea46170c704f9ae2365c637eafd21;hb=e062629ccd75717ba80f8dfbb1ede2a9937504bf;hp=232d06c1f38e2d4aa83258e7d99b15de94a86823;hpb=3b717da78378ebc7b97250a06fccf38e11cd3ace;p=ardour.git diff --git a/gtk2_ardour/mouse_cursors.cc b/gtk2_ardour/mouse_cursors.cc index 232d06c1f3..13cf74f780 100644 --- a/gtk2_ardour/mouse_cursors.cc +++ b/gtk2_ardour/mouse_cursors.cc @@ -22,18 +22,111 @@ #include "mouse_cursors.h" #include "editor_xpms" +using namespace ARDOUR_UI_UTILS; + MouseCursors::MouseCursors () + : cross_hair (0) + , scissors (0) + , trimmer (0) + , right_side_trim (0) + , anchored_right_side_trim (0) + , left_side_trim (0) + , anchored_left_side_trim (0) + , right_side_trim_left_only (0) + , left_side_trim_right_only (0) + , fade_in (0) + , fade_out (0) + , selector (0) + , grabber (0) + , grabber_note (0) + , grabber_edit_point (0) + , zoom_in (0) + , zoom_out (0) + , time_fx (0) + , fader (0) + , speaker (0) + , midi_pencil (0) + , midi_select (0) + , midi_resize (0) + , midi_erase (0) + , up_down (0) + , wait (0) + , timebar (0) + , transparent (0) + , resize_left (0) + , resize_top_left (0) + , resize_top (0) + , resize_top_right (0) + , resize_right (0) + , resize_bottom_right (0) + , resize_bottom (0) + , resize_bottom_left (0) + , move (0) + , expand_left_right (0) + , expand_up_down (0) +{ +} + +void +MouseCursors::drop_all () +{ + delete cross_hair; cross_hair = 0; + delete scissors; scissors = 0; + delete trimmer; trimmer = 0; + delete right_side_trim; right_side_trim = 0; + delete anchored_right_side_trim; anchored_right_side_trim = 0; + delete left_side_trim; left_side_trim = 0; + delete anchored_left_side_trim; anchored_left_side_trim = 0; + delete right_side_trim_left_only; right_side_trim_left_only = 0; + delete left_side_trim_right_only; left_side_trim_right_only = 0; + delete fade_in; fade_in = 0; + delete fade_out; fade_out = 0; + delete selector; selector = 0; + delete grabber; grabber = 0; + delete grabber_note; grabber_note = 0; + delete grabber_edit_point; grabber_edit_point = 0; + delete zoom_in; zoom_in = 0; + delete zoom_out; zoom_out = 0; + delete time_fx; time_fx = 0; + delete fader; fader = 0; + delete speaker; speaker = 0; + delete midi_pencil; midi_pencil = 0; + delete midi_select; midi_select = 0; + delete midi_resize; midi_resize = 0; + delete midi_erase; midi_erase = 0; + delete up_down; up_down = 0; + delete wait; wait = 0; + delete timebar; timebar = 0; + delete transparent; transparent = 0; + delete resize_left; resize_left = 0; + delete resize_top_left; resize_top_left = 0; + delete resize_top; resize_top = 0; + delete resize_top_right; resize_top_right = 0; + delete resize_right; resize_right = 0; + delete resize_bottom_right; resize_bottom_right = 0; + delete resize_bottom; resize_bottom = 0; + delete resize_bottom_left; resize_bottom_left = 0; + delete move; move = 0; + delete expand_left_right; expand_left_right = 0; + delete expand_up_down; expand_up_down = 0; +} + +void +MouseCursors::set_cursor_set (const std::string& name) { using namespace Glib; using namespace Gdk; + + drop_all (); + _cursor_set = name; { - RefPtr p (::get_icon ("zoom_in_cursor")); + RefPtr p (::get_icon ("zoom_in_cursor", _cursor_set)); zoom_in = new Cursor (Display::get_default(), p, 10, 5); } { - RefPtr p (::get_icon ("zoom_out_cursor")); + RefPtr p (::get_icon ("zoom_out_cursor", _cursor_set)); zoom_out = new Cursor (Display::get_default(), p, 5, 5); } @@ -67,17 +160,22 @@ MouseCursors::MouseCursors () } { - RefPtr p (::get_icon ("grabber")); + RefPtr p (::get_icon ("scissors", _cursor_set)); + scissors = new Cursor (Display::get_default(), p, 5, 0); + } + + { + RefPtr p (::get_icon ("grabber", _cursor_set)); grabber = new Cursor (Display::get_default(), p, 5, 0); } { - RefPtr p (::get_icon ("grabber_note")); + RefPtr p (::get_icon ("grabber_note", _cursor_set)); grabber_note = new Cursor (Display::get_default(), p, 5, 10); } { - RefPtr p (::get_icon ("grabber_edit_point")); + RefPtr p (::get_icon ("grabber_edit_point", _cursor_set)); grabber_edit_point = new Cursor (Display::get_default(), p, 5, 17); } @@ -85,102 +183,102 @@ MouseCursors::MouseCursors () trimmer = new Cursor (SB_H_DOUBLE_ARROW); { - RefPtr p (::get_icon ("trim_left_cursor")); + RefPtr p (::get_icon ("trim_left_cursor", _cursor_set)); left_side_trim = new Cursor (Display::get_default(), p, 5, 11); } { - RefPtr p (::get_icon ("trim_right_cursor")); - right_side_trim = new Cursor (Display::get_default(), p, 23, 11); + RefPtr p (::get_icon ("anchored_trim_left_cursor", _cursor_set)); + anchored_left_side_trim = new Cursor (Display::get_default(), p, 5, 11); } { - RefPtr p (::get_icon ("trim_left_cursor_right_only")); - left_side_trim_right_only = new Cursor (Display::get_default(), p, 5, 11); + RefPtr p (::get_icon ("trim_right_cursor", _cursor_set)); + right_side_trim = new Cursor (Display::get_default(), p, 23, 11); } { - RefPtr p (::get_icon ("trim_right_cursor_left_only")); - right_side_trim_left_only = new Cursor (Display::get_default(), p, 23, 11); + RefPtr p (::get_icon ("anchored_trim_right_cursor", _cursor_set)); + anchored_right_side_trim = new Cursor (Display::get_default(), p, 23, 11); } { - RefPtr p (::get_icon ("fade_in_cursor")); - fade_in = new Cursor (Display::get_default(), p, 0, 0); + RefPtr p (::get_icon ("trim_left_cursor_right_only", _cursor_set)); + left_side_trim_right_only = new Cursor (Display::get_default(), p, 5, 11); } { - RefPtr p (::get_icon ("fade_out_cursor")); - fade_out = new Cursor (Display::get_default(), p, 29, 0); + RefPtr p (::get_icon ("trim_right_cursor_left_only", _cursor_set)); + right_side_trim_left_only = new Cursor (Display::get_default(), p, 23, 11); } { - RefPtr p (::get_icon ("fade_in_trim_cursor")); - fade_trim_in = new Cursor (Display::get_default(), p, 0, 35); + RefPtr p (::get_icon ("fade_in_cursor", _cursor_set)); + fade_in = new Cursor (Display::get_default(), p, 0, 0); } { - RefPtr p (::get_icon ("fade_out_trim_cursor")); - fade_trim_out = new Cursor (Display::get_default(), p, 35, 35); + RefPtr p (::get_icon ("fade_out_cursor", _cursor_set)); + fade_out = new Cursor (Display::get_default(), p, 29, 0); } { - RefPtr p (::get_icon ("resize_left_cursor")); + RefPtr p (::get_icon ("resize_left_cursor", _cursor_set)); resize_left = new Cursor (Display::get_default(), p, 3, 10); } { - RefPtr p (::get_icon ("resize_top_left_cursor")); + RefPtr p (::get_icon ("resize_top_left_cursor", _cursor_set)); resize_top_left = new Cursor (Display::get_default(), p, 3, 3); } { - RefPtr p (::get_icon ("resize_top_cursor")); + RefPtr p (::get_icon ("resize_top_cursor", _cursor_set)); resize_top = new Cursor (Display::get_default(), p, 10, 3); } { - RefPtr p (::get_icon ("resize_top_right_cursor")); + RefPtr p (::get_icon ("resize_top_right_cursor", _cursor_set)); resize_top_right = new Cursor (Display::get_default(), p, 18, 3); } { - RefPtr p (::get_icon ("resize_right_cursor")); + RefPtr p (::get_icon ("resize_right_cursor", _cursor_set)); resize_right = new Cursor (Display::get_default(), p, 24, 10); } { - RefPtr p (::get_icon ("resize_bottom_right_cursor")); + RefPtr p (::get_icon ("resize_bottom_right_cursor", _cursor_set)); resize_bottom_right = new Cursor (Display::get_default(), p, 18, 18); } { - RefPtr p (::get_icon ("resize_bottom_cursor")); + RefPtr p (::get_icon ("resize_bottom_cursor", _cursor_set)); resize_bottom = new Cursor (Display::get_default(), p, 10, 24); } { - RefPtr p (::get_icon ("resize_bottom_left_cursor")); + RefPtr p (::get_icon ("resize_bottom_left_cursor", _cursor_set)); resize_bottom_left = new Cursor (Display::get_default(), p, 3, 18); } { - RefPtr p (::get_icon ("move_cursor")); + RefPtr p (::get_icon ("move_cursor", _cursor_set)); move = new Cursor (Display::get_default(), p, 11, 11); } { - RefPtr p (::get_icon ("expand_left_right_cursor")); + RefPtr p (::get_icon ("expand_left_right_cursor", _cursor_set)); expand_left_right = new Cursor (Display::get_default(), p, 11, 4); } { - RefPtr p (::get_icon ("expand_up_down_cursor")); + RefPtr p (::get_icon ("expand_up_down_cursor", _cursor_set)); expand_up_down = new Cursor (Display::get_default(), p, 4, 11); } { - RefPtr p (::get_icon ("i_beam_cursor")); + RefPtr p (::get_icon ("i_beam_cursor", _cursor_set)); selector = new Cursor (Display::get_default(), p, 4, 11); }