X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fkeyboard.h;h=2feed694032778aef254c7d4c0446905889552f7;hb=6b1b72a247bf04c81292fc41af4f69c9b7f90379;hp=c6a05abe2a4ca5f5895d78e0781e1355ac9f0ad9;hpb=589f2a1ab83e4498920faa2f0ef37c1632eaf914;p=ardour.git diff --git a/gtk2_ardour/keyboard.h b/gtk2_ardour/keyboard.h index c6a05abe2a..2feed69403 100644 --- a/gtk2_ardour/keyboard.h +++ b/gtk2_ardour/keyboard.h @@ -32,8 +32,8 @@ class ARDOUR_UI; class ArdourKeyboard : public Gtkmm2ext::Keyboard { - public: - ArdourKeyboard(ARDOUR_UI& ardour_ui) : ui(ardour_ui) {} +public: + ArdourKeyboard(ARDOUR_UI&); XMLNode& get_state (void); int set_state (const XMLNode&, int version); @@ -44,6 +44,8 @@ class ArdourKeyboard : public Gtkmm2ext::Keyboard ARDOUR_UI& ui; + void reset_relevant_modifier_key_mask (); + /** @param state The button state from a GdkEvent. * @return true if the modifier state indicates snap modifier */ @@ -54,39 +56,42 @@ class ArdourKeyboard : public Gtkmm2ext::Keyboard */ static bool indicates_snap_delta (guint state); - static void set_constraint_modifier (guint); - /** @return Modifier mask to constrain drags in a particular direction; + /** @param state The button state from a GdkEvent. + * @return true if the modifier state indicates copy modifier */ + static bool indicates_copy (guint state); + + /** @param state The button state from a GdkEvent. + * @return true if the modifier state indicates constraint modifier + */ + static bool indicates_constraint (guint state); + + static void set_constraint_modifier (guint); + /** @return Modifier mask to constrain drags in a particular direction; */ static ModifierMask constraint_modifier () { return ModifierMask (constraint_mod); } static void set_trim_contents_modifier (guint); - /** @return Modifier mask to move contents rather than region bounds during trim; - */ + /** @return Modifier mask to move contents rather than region bounds during trim; */ static ModifierMask trim_contents_modifier () { return ModifierMask (trim_contents_mod); } static void set_trim_overlap_modifier (guint); - /** @return Modifier mask to remove region overlaps during trim; - */ + /** @return Modifier mask to remove region overlaps during trim; */ static ModifierMask trim_overlap_modifier () { return ModifierMask (trim_overlap_mod); } static void set_trim_anchored_modifier (guint); - /** @return Modifier mask to use anchored trim; - */ + /** @return Modifier mask to use anchored trim; */ static ModifierMask trim_anchored_modifier () { return ModifierMask (trim_anchored_mod); } static void set_fine_adjust_modifier (guint); - /** @return Modifier mask to fine adjust (control points only atm); - */ + /** @return Modifier mask to fine adjust (control points only atm); */ static ModifierMask fine_adjust_modifier () { return ModifierMask (fine_adjust_mod); } static void set_push_points_modifier (guint); - /** @return Modifier mask to push proceeding points; - */ + /** @return Modifier mask to push proceeding points; */ static ModifierMask push_points_modifier () { return ModifierMask (push_points_mod); } static void set_note_size_relative_modifier (guint); - /** @return Modifier mask to resize notes relatively; - */ + /** @return Modifier mask to resize notes relatively; */ static ModifierMask note_size_relative_modifier () { return ModifierMask (note_size_relative_mod); } private: static guint constraint_mod;