X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fcanvasview.h;h=cddcbe2e7ab4dd18dff9471bdd9bdd72d96006ba;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=448f99005a2ca912e382e62317e85d0275344874;hpb=9fc17cc46bd63a7508b82c967801a09be882fe57;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/canvasview.h b/synfig-studio/trunk/src/gtkmm/canvasview.h index 448f990..cddcbe2 100644 --- a/synfig-studio/trunk/src/gtkmm/canvasview.h +++ b/synfig-studio/trunk/src/gtkmm/canvasview.h @@ -7,6 +7,7 @@ ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley ** Copyright (c) 2007, 2008 Chris Moore +** Copyright (c) 2009 Carlos López ** ** This package is free software; you can redistribute it and/or ** modify it under the terms of the GNU General Public License as @@ -41,6 +42,7 @@ #include #include #include +#include #include #include @@ -65,6 +67,10 @@ #include "dialog_waypoint.h" #include "dialog_keyframe.h" +#include "framedial.h" +#include "toggleducksdial.h" +#include "resolutiondial.h" +#include "widget_keyframe_list.h" #include "duckmatic.h" #include @@ -173,6 +179,9 @@ public: typedef synfigapp::CanvasInterface::Mode Mode; + void set_grid_snap_toggle(bool flag) { grid_snap_toggle->set_active(flag); } + void set_grid_show_toggle(bool flag) { grid_show_toggle->set_active(flag); } + /* -- ** -- P R I V A T E D A T A --------------------------------------------- */ @@ -255,19 +264,41 @@ private: Gtk::Button *stopbutton; Gtk::Button *refreshbutton; - Gtk::Button *treetogglebutton; - Gtk::Notebook *notebook; - Gtk::Widget *timebar; - + Gtk::Button *treetogglebutton; // not used + Gtk::Notebook *notebook; // not used + Gtk::Table *timebar; + Gtk::Table *displaybar; + Gtk::Button *animatebutton; + Gtk::Button *keyframebutton; + FrameDial *framedial; + ToggleDucksDial *toggleducksdial; + bool toggling_ducks_; + ResolutionDial *resolutiondial; + bool changing_resolution_; + Gtk::Adjustment quality_adjustment_; + Gtk::SpinButton *quality_spin; + Gtk::Adjustment past_onion_adjustment_; + Gtk::SpinButton *past_onion_spin; + Gtk::Adjustment future_onion_adjustment_; + Gtk::SpinButton *future_onion_spin; + bool updating_quality_; + Gtk::ToggleButton *show_grid; + Gtk::ToggleButton *snap_grid; + Gtk::ToggleButton *onion_skin; + bool toggling_show_grid; + bool toggling_snap_grid; + bool toggling_onion_skin; + //! Shows current time and allows edition Widget_Time *current_time_widget; void on_current_time_widget_changed(); - std::auto_ptr timeslider; + //! Time slider class. Same than the Time track panel + std::auto_ptr timeslider; - std::list duck_changed_connections; + //!Keyframe list slider + std::auto_ptr widget_kf_list; - Gtk::Button *animatebutton; - Gtk::Button *keyframebutton; + std::list duck_changed_connections; /* DEBUGPOINT_CLASS(8); @@ -305,14 +336,11 @@ private: Gtk::CheckMenuItem* duck_mask_width; Gtk::CheckMenuItem* duck_mask_angle; */ + //! Menu members Gtk::Menu parammenu; - Glib::RefPtr duck_mask_position; - Glib::RefPtr duck_mask_vertex; - Glib::RefPtr duck_mask_tangent; - Glib::RefPtr duck_mask_radius; - Glib::RefPtr duck_mask_width; - Glib::RefPtr duck_mask_angle; + Glib::RefPtr grid_snap_toggle; + Glib::RefPtr grid_show_toggle; Gtk::RadioButtonGroup quality_group; Gtk::RadioButtonGroup low_res_pixel_size_group; @@ -401,10 +429,14 @@ private: Gtk::Widget *create_time_bar(); + Gtk::Widget *create_display_bar(); + + //! Pop up menu for the bezier (bline, draw) tool (?) void popup_param_menu_bezier(float location, synfigapp::ValueDesc value_desc) - { popup_param_menu(value_desc,location); } + { popup_param_menu(value_desc,location,true); } - void popup_param_menu(synfigapp::ValueDesc value_desc, float location=0); + //! Pop up menu for the tools but not the bezier ones. + void popup_param_menu(synfigapp::ValueDesc value_desc, float location=0, bool bezier=false); void workarea_layer_selected(synfig::Layer::Handle layer); @@ -419,6 +451,12 @@ private: void decrease_low_res_pixel_size(); void increase_low_res_pixel_size(); + void toggle_low_res_pixel_flag(); + void set_quality(int x); + void set_onion_skins(); + void toggle_show_grid(); + void toggle_snap_grid(); + void toggle_onion_skin(); /* -- ** -- P U B L I C M E T H O D S ----------------------------------------- @@ -590,12 +628,17 @@ public: bool is_playing() { return is_playing_; } + void update_quality(); + + + /* -- ** -- S I G N A L T E R M I N A L S ------------------------------------- */ private: + void on_select_layers(); void on_unselect_layers(); void on_input_device_changed(GdkDevice*); @@ -674,6 +717,8 @@ private: //void on_audio_play(); bool on_audio_scrub(); + void on_play_stop_pressed(); + protected: bool close_instance_when_safe(); bool on_delete_event(GdkEventAny* event);