X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Fsrc%2Fgui%2Fduckmatic.h;h=c97bbb6d49eddc4f266abc44002dc2df60040829;hb=7d6c6aae87f6a9123e30d116a4cd6296eb5086fb;hp=68e4671a93632e308c6cba0eb7a1c459a03fa175;hpb=f9108d43098568819a416d1496ac9e12528de39e;p=synfig.git diff --git a/synfig-studio/src/gui/duckmatic.h b/synfig-studio/src/gui/duckmatic.h index 68e4671..c97bbb6 100644 --- a/synfig-studio/src/gui/duckmatic.h +++ b/synfig-studio/src/gui/duckmatic.h @@ -82,7 +82,7 @@ public: /* === C L A S S E S & S T R U C T S ======================================= */ -namespace synfigapp { class ValueDesc; } +namespace synfigapp { class ValueDesc; class CanvasInterface; } namespace synfig { class ParamDesc; } namespace studio @@ -158,6 +158,8 @@ typedef std::map > DuckDataMap; private: + etl::loose_handle canvas_interface; + Type type_mask; DuckMap duck_map; @@ -235,7 +237,7 @@ private: public: - Duckmatic(); + Duckmatic(etl::loose_handle canvas_interface); virtual ~Duckmatic(); sigc::signal& signal_duck_selection_changed() { return signal_duck_selection_changed_; } @@ -337,13 +339,15 @@ public: //! Ends the duck drag bool end_duck_drag(); + //! Signals to each selected duck that it has been clicked + void signal_user_click_selected_ducks(int button); + //! Calls all of the ducks' edited signals /*! Updates corresponding valuenodes after a drag */ void signal_edited_selected_ducks(); - //! Signals to each selected duck that it has been clicked - void signal_user_click_selected_ducks(int button); - + bool on_duck_changed(const synfig::Point &value,const synfigapp::ValueDesc& value_desc); + bool on_duck_angle_changed(const synfig::Angle &rotation,const synfigapp::ValueDesc& value_desc); etl::handle find_similar_duck(etl::handle duck); etl::handle add_similar_duck(etl::handle duck);