00001 /*************************************************************************** 00002 * Copyright (C) 2004 by Rick L. Vinyard, Jr. * 00003 * rvinyard@cs.nmsu.edu * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the GNU Lesser General Public License as * 00007 * published by the Free Software Foundation version 2.1. * 00008 * * 00009 * This program is distributed in the hope that it will be useful, * 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00012 * GNU General Public License for more details. * 00013 * * 00014 * You should have received a copy of the GNU Lesser General Public * 00015 * License along with this library; if not, write to the * 00016 * Free Software Foundation, Inc., * 00017 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * 00018 ***************************************************************************/ 00019 #include <gtkmm.h> 00020 00021 #include <papyrusmm/viewport.h> 00022 #include <papyrus/rectangle.h> 00023 #include <papyrus/affineanimator.h> 00024 00025 class Window : public Gtk::Window 00026 { 00027 00028 public: 00029 Window(); 00030 virtual ~Window(); 00031 00032 protected: 00033 //Signal handlers: 00034 00035 //Member widgets: 00036 Gtk::VBox m_vbox; 00037 Gtk::HScale m_slider; 00038 Gtk::HScale m_zoom; 00039 Gtk::CheckButton m_animate_button; 00040 Gtk::Button m_button; 00041 00042 Papyrus::AffineAnimator::pointer m_animator; 00043 Papyrus::Rectangle::pointer m_rect; 00044 PapyrusGtk::Viewport m_buttonimage; 00045 00046 void slider_changed(); 00047 void animate_step(int); 00048 void animate_toggled(); 00049 };