00001 /* === S Y N F I G ========================================================= */ 00021 /* ========================================================================= */ 00022 00023 /* === S T A R T =========================================================== */ 00024 00025 #ifndef __SYNFIG_STUDIO_STATE_STROKE_H 00026 #define __SYNFIG_STUDIO_STATE_STROKE_H 00027 00028 /* === H E A D E R S ======================================================= */ 00029 00030 #include "canvasview.h" 00031 #include "workarea.h" 00032 #include <sigc++/object.h> 00033 #include "duckmatic.h" 00034 #include <synfig/blinepoint.h> 00035 #include <list> 00036 #include <ETL/smart_ptr> 00037 #include "eventkey.h" 00038 #include <gdkmm/types.h> 00039 00040 /* === M A C R O S ========================================================= */ 00041 00042 /* === T Y P E D E F S ===================================================== */ 00043 00044 /* === C L A S S E S & S T R U C T S ======================================= */ 00045 00046 namespace studio { 00047 00048 class StateStroke_Context; 00049 00050 class StateStroke : public Smach::state<StateStroke_Context> 00051 { 00052 public: 00053 StateStroke(); 00054 ~StateStroke(); 00055 }; // END of class StateStroke 00056 00057 extern StateStroke state_stroke; 00058 00059 struct EventStroke : public Smach::event 00060 { 00061 etl::smart_ptr<std::list<synfig::Point> > stroke_data; 00062 etl::smart_ptr<std::list<synfig::Real> > width_data; 00063 Gdk::ModifierType modifier; 00064 00065 EventStroke(etl::smart_ptr<std::list<synfig::Point> > stroke_data, 00066 etl::smart_ptr<std::list<synfig::Real> > width_data, 00067 Gdk::ModifierType modifier=Gdk::ModifierType(0) 00068 ): 00069 Smach::event(EVENT_WORKAREA_STROKE), 00070 stroke_data(stroke_data), 00071 width_data(width_data), 00072 modifier(modifier) 00073 { } 00074 }; // END of EventStroke 00075 00076 }; // END of namespace studio 00077 00078 /* === E N D =============================================================== */ 00079 00080 #endif