comparison pidgin/plugins/crazychat/cc_gtk_gl.h @ 15374:5fe8042783c1

Rename gtk/ and libgaim/ to pidgin/ and libpurple/
author Sean Egan <seanegan@gmail.com>
date Sat, 20 Jan 2007 02:32:10 +0000
parents
children
comparison
equal deleted inserted replaced
15373:f79e0f4df793 15374:5fe8042783c1
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(void);
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);