Mercurial > pidgin
comparison plugins/crazychat/cc_gtk_gl.h @ 11218:ed017b9c532d
[gaim-migrate @ 13350]
crazychat commit, first one.
committer: Tailor Script <tailor@pidgin.im>
author | Charlie Stockman <chuckleberry> |
---|---|
date | Tue, 09 Aug 2005 07:10:23 +0000 |
parents | |
children | fc464a0abccc |
comparison
equal
deleted
inserted
replaced
11217:f854402837ba | 11218:ed017b9c532d |
---|---|
1 #include <gtk/gtk.h> | |
2 #include <gtk/gtkgl.h> | |
3 | |
4 #define DEFAULT_FRAME_DELAY 40 | |
5 | |
6 typedef void (gl_init_func) (GtkWidget *widget, void *data); | |
7 typedef gboolean (*gl_config_func) (GtkWidget *widget, GdkEventConfigure *event, | |
8 void *data); | |
9 typedef gboolean (*gl_draw_func) (GtkWidget *widget, GdkEventExpose *event, | |
10 void *data); | |
11 | |
12 struct draw_info { | |
13 gboolean timeout; /* use/not use a timer callback */ | |
14 int timer_id; /* glib timer callback id */ | |
15 guint delay_ms; /* timer callback delay in ms */ | |
16 void *data; /* drawing data */ | |
17 }; | |
18 | |
19 struct window_box { | |
20 GtkWidget *window; | |
21 GtkWidget *vbox; | |
22 GtkWidget *draw_area; | |
23 }; | |
24 | |
25 /** | |
26 * Initialize the gtkglext framework for all our widgets. | |
27 * @return 0 on success, non-zero on failure | |
28 */ | |
29 int cc_init_gtk_gl(); | |
30 | |
31 /** | |
32 * Create a new OpenGL enabled window | |
33 * @param init the initialize callback function | |
34 * @param draw the drawing callback function | |
35 * @param data drawing metadata | |
36 * @param ret struct with returned window and vbox | |
37 */ | |
38 void cc_new_gl_window(gl_init_func init, gl_config_func config, | |
39 gl_draw_func draw, struct draw_info *data, | |
40 struct window_box *ret); | |
41 | |
42 /** | |
43 * Create a new OpenGL enabled drawing area widget. | |
44 * @param init the initialize callback function | |
45 * @param draw the drawing callback function | |
46 * @param data drawing metadata | |
47 * @return the drawing widget | |
48 */ | |
49 GtkWidget *cc_new_gl_area(gl_init_func init, gl_config_func config, | |
50 gl_draw_func draw, struct draw_info *data); |