X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftags%2Fsynfigstudio_0_61_07_rc3%2Fsrc%2Fgtkmm%2Fwidget_timeslider.h;fp=synfig-studio%2Ftags%2Fsynfigstudio_0_61_07_rc3%2Fsrc%2Fgtkmm%2Fwidget_timeslider.h;h=0000000000000000000000000000000000000000;hb=3a6643238c67c043fc3592837a05d6d2861967f1;hp=925d2b152c5fc8232748b1da246897f111e3db15;hpb=47fce282611fbba1044921d22ca887f9b53ad91a;p=synfig.git diff --git a/synfig-studio/tags/synfigstudio_0_61_07_rc3/src/gtkmm/widget_timeslider.h b/synfig-studio/tags/synfigstudio_0_61_07_rc3/src/gtkmm/widget_timeslider.h deleted file mode 100644 index 925d2b1..0000000 --- a/synfig-studio/tags/synfigstudio_0_61_07_rc3/src/gtkmm/widget_timeslider.h +++ /dev/null @@ -1,132 +0,0 @@ -/* === S Y N F I G ========================================================= */ -/*! \file widget_timeslider.h -** \brief Time Slider Widget Header -** -** $Id$ -** -** \legal -** Copyright (c) 2004 Adrian Bentley -** -** This package is free software; you can redistribute it and/or -** modify it under the terms of the GNU General Public License as -** published by the Free Software Foundation; either version 2 of -** the License, or (at your option) any later version. -** -** This package is distributed in the hope that it will be useful, -** but WITHOUT ANY WARRANTY; without even the implied warranty of -** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -** General Public License for more details. -** \endlegal -*/ -/* ========================================================================= */ - -/* === S T A R T =========================================================== */ - -#ifndef __SYNFIG_WIDGET_TIMESLIDER_H -#define __SYNFIG_WIDGET_TIMESLIDER_H - -/* === H E A D E R S ======================================================= */ -#include -#include - -#include -#include "canvasview.h" - -/* === M A C R O S ========================================================= */ - -/* === T Y P E D E F S ===================================================== */ - -/* === C L A S S E S & S T R U C T S ======================================= */ - -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.) - Print out frame numbers next to the big ticks - Show blue pills in separate area (above or below) -*/ - -class Widget_Timeslider : public Gtk::DrawingArea -{ -protected: //implementation that other interfaces can see - Glib::RefPtr layout; //implementation awesomeness for text drawing - - Gtk::Adjustment adj_default; - Gtk::Adjustment *adj_timescale; - - //HACK - I should not have to see this... - Gtk::Adjustment *adj_bounds; - - //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 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 - -public: //Time Interface - - //Run FPS stuff through it to the MAX - double get_global_fps() const {return fps;} - void set_global_fps(float d); - - //accessors for the time adjustment - 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;} - void set_bounds_adjustment(Gtk::Adjustment *x) {adj_bounds = x;} -}; - -}; // END of namespace studio - -/* === E N D =============================================================== */ - -#endif