1 // Copyright (C) 2007, 2008, 2009, 2012, 2014 Ben Asselstine 2 // 3 // This program is free software; you can redistribute it and/or modify 4 // it under the terms of the GNU General Public License as published by 5 // the Free Software Foundation; either version 3 of the License, or 6 // (at your option) any later version. 7 // 8 // This program is distributed in the hope that it will be useful, 9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 // GNU Library General Public License for more details. 12 // 13 // You should have received a copy of the GNU General Public License 14 // along with this program; if not, write to the Free Software 15 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 16 // 02110-1301, USA. 17 18 #pragma once 19 #ifndef BAR_CHART_H 20 #define BAR_CHART_H 21 22 #include <gtkmm.h> 23 #include <list> 24 25 class BarChart: public Gtk::Image 26 { 27 public: 28 BarChart(std::list<unsigned int> bars, std::list<Gdk::RGBA> colours, 29 unsigned int max_value); ~BarChart()30 virtual ~BarChart() {}; 31 32 protected: 33 //Override default signal handler: 34 virtual bool on_draw (const Cairo::RefPtr<Cairo::Context> &cr); 35 private: 36 std::list<unsigned int> d_bars; 37 std::list<Gdk::RGBA> d_colours; 38 unsigned int d_max_value; 39 }; 40 41 #endif 42