X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fgtkmm2ext%2Fgtkmm2ext%2Fpixscroller.h;h=06d0ed2458ad8f8e4451e22dc05ab6dd6327a381;hb=4c2ea510e3e69197715ae3f7ca3bea7bc97084c0;hp=4501a0c88c4a534411174518db28d5e1ebdecbb4;hpb=d09f6b3016bacbc2871a8946cbb24ad705076509;p=ardour.git diff --git a/libs/gtkmm2ext/gtkmm2ext/pixscroller.h b/libs/gtkmm2ext/gtkmm2ext/pixscroller.h index 4501a0c88c..06d0ed2458 100644 --- a/libs/gtkmm2ext/gtkmm2ext/pixscroller.h +++ b/libs/gtkmm2ext/gtkmm2ext/pixscroller.h @@ -1,3 +1,22 @@ +/* + Copyright (C) 2000-2007 Paul Davis + + This program 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 program 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. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + #ifndef __gtkmm2ext_pixscroller_h__ #define __gtkmm2ext_pixscroller_h__ @@ -5,30 +24,35 @@ #include #include -#include +#include "gtkmm2ext/visibility.h" namespace Gtkmm2ext { -class PixScroller : public Gtk::DrawingArea +class LIBGTKMM2EXT_API PixScroller : public Gtk::DrawingArea { public: - PixScroller(Gtk::Adjustment& adjustment, Pix&); + PixScroller(Gtk::Adjustment& adjustment, + Glib::RefPtr slider, + Glib::RefPtr rail); - bool on_expose_event (GdkEventExpose*); bool on_motion_notify_event (GdkEventMotion*); bool on_button_press_event (GdkEventButton*); bool on_button_release_event (GdkEventButton*); + bool on_scroll_event (GdkEventScroll*); void on_size_request (GtkRequisition*); - + protected: Gtk::Adjustment& adj; private: - Glib::RefPtr rail; - Glib::RefPtr slider; - Glib::RefPtr rail_mask; - Glib::RefPtr slider_mask; + + Cairo::RefPtr< Cairo::Context > rail_context; + Cairo::RefPtr< Cairo::ImageSurface > rail_surface; + Glib::RefPtr rail; + Cairo::RefPtr< Cairo::Context > slider_context; + Cairo::RefPtr< Cairo::ImageSurface > slider_surface; + Glib::RefPtr slider; Gdk::Rectangle sliderrect; Gdk::Rectangle railrect; GdkWindow* grab_window;