Fly my pretties!
[ardour.git] / gtk2_ardour / about.h
1 /*
2     Copyright (C) 2003 Paul Davis 
3
4     This program is free software; you can redistribute it and/or modify
5     it under the terms of the GNU General Public License as published by
6     the Free Software Foundation; either version 2 of the License, or
7     (at your option) any later version.
8
9     This program is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
13
14     You should have received a copy of the GNU General Public License
15     along with this program; if not, write to the Free Software
16     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18     $Id$
19 */
20
21 #ifndef __ardour_gtk_about_h__
22 #define __ardour_gtk_about_h__
23
24 #include <gtkmm/window.h>
25 #include <gtkmm/pixmap.h>
26 #include <gtk-canvas.h>
27
28 class ARDOUR_UI;
29
30 class About : public Gtk::Window
31 {
32   public:
33         About (ARDOUR_UI *);
34         ~About ();
35
36         void show_sub (bool yn);
37
38   protected:
39         void realize_impl ();
40         
41   private:
42         Gtk::DrawingArea logo_area;
43         GdkPixmap*       logo_pixmap;
44         Gtk::Label       first_label;
45         Gtk::Label       second_label;
46         Gtk::Label       third_label;
47         Gtk::VBox        vbox;
48         Gtk::VBox        subvbox;
49
50         vector<string>   authors;
51         vector<string>   supporters;
52
53         uint32_t  about_index;
54         uint32_t  about_cnt;
55         int  logo_height;
56         int  logo_width;
57         bool drawn;
58         bool support;
59         ARDOUR_UI * _ui;
60         
61         sigc::connection timeout_connection;
62         
63         bool load_logo_size ();
64         bool load_logo (Gtk::Window&);
65         gint logo_area_expose (GdkEventExpose*);
66
67         gint button_release_event_impl (GdkEventButton*);
68         gint start_animating ();
69         void stop_animating ();
70
71         void gone_hidden ();
72         
73 #ifdef WITH_PAYMENT_OPTIONS
74         Gtk::Image      paypal_pixmap;
75         Gtk::Button      paypal_button;
76         void goto_paypal ();
77 #endif
78 };      
79
80 #endif /* __ardour_gtk_about_h__ */