using namespace ARDOUR_UI_UTILS;
+Gdk::Cursor* MouseCursors::_invalid = 0;
+
MouseCursors::MouseCursors ()
: cross_hair (0)
, scissors (0)
, selector (0)
, grabber (0)
, grabber_note (0)
- , grabber_edit_point (0)
, zoom_in (0)
, zoom_out (0)
, time_fx (0)
{
}
+MouseCursors::~MouseCursors ()
+{
+ drop_all ();
+}
+
void
MouseCursors::drop_all ()
{
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;
using namespace Gdk;
drop_all ();
+ Gtkmm2ext::CursorInfo::drop_cursor_info();
_cursor_set = name;
std::string hotspot_info_path = get_icon_path ("hotspots", _cursor_set, false);
}
/* these will throw exceptions if their images cannot be found.
-
- the default hotspot coordinates will be overridden by any
+
+ the default hotspot coordinates will be overridden by any
data found by Gtkmm2ext::Cursors::load_cursor_info(). the values
here from the set of cursors used by Ardour; new cursor/icon
sets should come with a hotspot info file.
scissors = make_cursor ("scissors", 5, 0);
grabber = make_cursor ("grabber", 5, 0);
grabber_note = make_cursor ("grabber_note", 5, 10);
- grabber_edit_point = make_cursor ("grabber_edit_point", 5, 17);
left_side_trim = make_cursor ("trim_left_cursor", 5, 11);
anchored_left_side_trim = make_cursor ("anchored_trim_left_cursor", 5, 11);
right_side_trim = make_cursor ("trim_right_cursor", 23, 11);
midi_erase = new Cursor (DRAPED_BOX);
up_down = new Cursor (SB_V_DOUBLE_ARROW);
}
+
+void
+MouseCursors::create_invalid()
+{
+ char pix[4] = { 0, 0, 0, 0 };
+ Glib::RefPtr<Gdk::Bitmap> bits = Gdk::Bitmap::create (pix, 2, 2);
+ Gdk::Color c;
+ _invalid = new Gdk::Cursor (bits, bits, c, c, 0, 0);
+}