colormap_viewer_widget.h

00001
00002 /***************************************************************************
00003  *  colormap_viewer_widget.h - Viwer widget for colormaps
00004  *
00005  *  Created: Thu Mar 20 19:03:02 2008
00006  *  Copyright  2008  Daniel Beck
00007  *
00008  ****************************************************************************/
00009
00010 /*  This program is free software; you can redistribute it and/or modify
00011  *  it under the terms of the GNU General Public License as published by
00012  *  the Free Software Foundation; either version 2 of the License, or
00013  *  (at your option) any later version.
00014  *
00015  *  This program is distributed in the hope that it will be useful,
00016  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018  *  GNU Library General Public License for more details.
00019  *
00020  *  Read the full text in the LICENSE.GPL file in the doc directory.
00021  */
00022
00023 #ifndef __FIREVISION_TOOLS_FIRESTATION_COLORMAP_VIEWER_WIDGET_H_
00024 #define __FIREVISION_TOOLS_FIRESTATION_COLORMAP_VIEWER_WIDGET_H_
00025 
00026 #include <gtkmm.h>
00027
00028 class Colormap;
00029
00030 class ColormapViewerWidget
00031 {
00032  public:
00033   ColormapViewerWidget();
00034   ~ColormapViewerWidget();
00035
00036   void set_colormap(Colormap* cm);
00037   void set_colormap_img(Gtk::Image* img);
00038   void set_layer_selector(Gtk::Scale* scl);
00039
00040   void draw(unsigned int layer = 0);
00041
00042  private:
00043   bool on_layer_selected(Gtk::ScrollType scroll, double value);
00044
00045   Colormap* m_cm;
00046
00047   Gtk::Image* m_img_colormap;
00048   Gtk::Scale* m_scl_layer_selector;
00049   unsigned char* m_colormap_img_buf;
00050 };
00051
00052 #endif /* #define __FIREVISION_TOOLS_FIRESTATION_COLORMAP_VIEWER_WIDGET_H_ */