diff options
author | Robin Gareus <robin@gareus.org> | 2020-03-10 20:17:40 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2020-03-10 20:55:50 +0100 |
commit | 2b17ded785be71f93c3f88a5ae1ca38759fb5d7e (patch) | |
tree | a65d2c28b20f366985adccad8ea45ba4aee4ac19 /libs/pbd | |
parent | 45f5513b66ff6aa8fbab516b9fd5d9a6018ea79d (diff) |
Add convenience ControlFlags operators
Explicit functions for operator&=~ and operator|=
Diffstat (limited to 'libs/pbd')
-rw-r--r-- | libs/pbd/controllable.cc | 12 | ||||
-rw-r--r-- | libs/pbd/pbd/controllable.h | 3 |
2 files changed, 15 insertions, 0 deletions
diff --git a/libs/pbd/controllable.cc b/libs/pbd/controllable.cc index 5d9b924ab5..16e03d8827 100644 --- a/libs/pbd/controllable.cc +++ b/libs/pbd/controllable.cc @@ -101,6 +101,18 @@ Controllable::set_flags (Flag f) } void +Controllable::set_flag (Flag f) +{ + _flags = Flag ((int)_flags | f); +} + +void +Controllable::clear_flag (Flag f) +{ + _flags = Flag ((int)_flags & ~f); +} + +void Controllable::add (Controllable& ctl) { Glib::Threads::RWLock::WriterLock lm (registry_lock); diff --git a/libs/pbd/pbd/controllable.h b/libs/pbd/pbd/controllable.h index 95e75eb3be..05e014caf4 100644 --- a/libs/pbd/pbd/controllable.h +++ b/libs/pbd/pbd/controllable.h @@ -163,6 +163,9 @@ public: Flag flags() const { return _flags; } void set_flags (Flag f); + void set_flag (Flag f); ///< _flags |= f; + void clear_flag (Flag f); ///< _flags &= ~f; + static boost::shared_ptr<Controllable> by_id (const PBD::ID&); static void dump_registry (); |