X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fwidget_timeslider.h;h=49cdc137001f7f12c793be01b3e0799e7c49bbc1;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=dc405eb9e026c39941d7b9dfaa67f50dd742a245;hpb=ce408de81ca266b1f334ee9bc6c8fb7ba1492ed4;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/widget_timeslider.h b/synfig-studio/trunk/src/gtkmm/widget_timeslider.h index dc405eb..49cdc13 100644 --- a/synfig-studio/trunk/src/gtkmm/widget_timeslider.h +++ b/synfig-studio/trunk/src/gtkmm/widget_timeslider.h @@ -2,7 +2,7 @@ /*! \file widget_timeslider.h ** \brief Time Slider Widget Header ** -** $Id: widget_timeslider.h,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $ +** $Id$ ** ** \legal ** Copyright (c) 2004 Adrian Bentley @@ -42,11 +42,11 @@ namespace studio { void render_time_point_to_window(const Glib::RefPtr& window,const Gdk::Rectangle& ca,const synfig::TimePoint &tp,bool selected=false); - + /* Design for the timeslider... Concept: Scalable ruler - Ticks are done every so often (30 s, 10 frames, 5 frames, etc.) + Ticks are done every so often (30 s, 10 frames, 5 frames, etc.) Print out frame numbers next to the big ticks Show blue pills in separate area (above or below) */ @@ -61,52 +61,53 @@ protected: //implementation that other interfaces can see //HACK - I should not have to see this... Gtk::Adjustment *adj_bounds; - + double time_per_tickmark; + //Statistics used for drawing stuff (and making sure we don't if we don't need to) /*double start,end; double current; - + bool invalidated;*/ - + guint32 last_event_time; float fps; - + sigc::connection time_value_change; sigc::connection time_other_change; - + //TODO: fill out blue pill stuff - + //input functions - + virtual bool on_motion_notify_event(GdkEventMotion* event); //for dragging virtual bool on_scroll_event(GdkEventScroll* event); //for zooming virtual bool on_button_press_event(GdkEventButton *event); //for clicking virtual bool on_button_release_event(GdkEventButton *event); //for clicking - - virtual bool on_expose_event(GdkEventExpose *event) {redraw(); return true;}//for drawing - + + virtual bool on_expose_event(GdkEventExpose */*event*/) {redraw(); return true;}//for drawing + virtual bool redraw(bool doublebuffer = false); - + //void update_times(); - + void zoom_in(bool centerontime = false); void zoom_out(bool centerontime = false); - + //Drag the Frame bool dragscroll; - + /*NOTE: if we can set the mouse position to the original position this would only have to be set once (and it would be good otherwise too) */ double lastx; //last mouse position for dragging - + public: //structors Widget_Timeslider(); ~Widget_Timeslider(); public: //Normal Interface - + void draw() {redraw();} virtual void refresh(); //reget bluepills, time values and queue_draw if need be @@ -117,14 +118,14 @@ public: //Time Interface void set_global_fps(float d); //accessors for the time adjustment - Gtk::Adjustment &get_time_adjustment() const {return *adj_timescale;} + Gtk::Adjustment &get_time_adjustment() const {return *adj_timescale;} void set_time_adjustment(Gtk::Adjustment *x); - + //HACK - I should not have to see these bounds (should be boundless) - Gtk::Adjustment &get_bounds_adjustment() const {return *adj_bounds;} + Gtk::Adjustment &get_bounds_adjustment() const {return *adj_bounds;} void set_bounds_adjustment(Gtk::Adjustment *x) {adj_bounds = x;} }; - + }; // END of namespace studio /* === E N D =============================================================== */