Canola
0.8.D001
|
00001 // 00002 // canola - canon canola 1614p emulator 00003 // Copyright (C) 2011 Peter Miller 00004 // 00005 // This program is free software; you can redistribute it and/or modify 00006 // it under the terms of the GNU General Public License, version 3, as 00007 // published by the Free Software Foundation. 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 GNU 00012 // General Public License for more details. 00013 // 00014 // You should have received a copy of the GNU General Public License along 00015 // with this program. If not, see <http://www.gnu.org/licenses/>. 00016 // 00017 00018 #ifndef CANOLA_NIXIE_TUBE_H 00019 #define CANOLA_NIXIE_TUBE_H 00020 00021 #include <gtkmm/image.h> 00022 #include <gdkmm/pixbuf.h> 00023 #include <gtkmm/label.h> 00024 #include <gtkmm/table.h> 00025 00026 #include <lib/display.h> 00027 00028 00033 class nixie_tube: 00034 public Gtk::Table 00035 { 00036 public: 00040 virtual ~nixie_tube(); 00041 00045 nixie_tube(); 00046 00047 void set_value(const display::tube_t &value); 00048 void set_number(int n); 00049 00050 private: 00051 typedef Glib::RefPtr<Gdk::Pixbuf> img_ptr_t; 00052 00053 Gtk::Image pos; 00054 img_ptr_t pos_images[17]; 00055 int pos_number; 00056 00063 Gtk::Image tick; 00064 00065 img_ptr_t tick_images[3]; 00066 Gtk::Image digit; 00067 img_ptr_t digit_images[11]; 00068 Gtk::Image dot; 00069 img_ptr_t dot_images[2]; 00070 Gtk::Image bezlo; 00071 img_ptr_t bezlo_image; 00072 00073 void load_images(void); 00074 00082 nixie_tube(const nixie_tube &rhs); 00083 00091 nixie_tube &operator=(const nixie_tube &rhs); 00092 }; 00093 00094 #endif // CANOLA_NIXIE_TUBE_H