Mercurial > pidgin.yaz
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pidgin/plugins/crazychat/cc_gtk_gl.h Sat Jan 20 02:32:10 2007 +0000 @@ -0,0 +1,50 @@ +#include <gtk/gtk.h> +#include <gtk/gtkgl.h> + +#define DEFAULT_FRAME_DELAY 40 + +typedef void (gl_init_func) (GtkWidget *widget, void *data); +typedef gboolean (*gl_config_func) (GtkWidget *widget, GdkEventConfigure *event, + void *data); +typedef gboolean (*gl_draw_func) (GtkWidget *widget, GdkEventExpose *event, + void *data); + +struct draw_info { + gboolean timeout; /* use/not use a timer callback */ + int timer_id; /* glib timer callback id */ + guint delay_ms; /* timer callback delay in ms */ + void *data; /* drawing data */ +}; + +struct window_box { + GtkWidget *window; + GtkWidget *vbox; + GtkWidget *draw_area; +}; + +/** + * Initialize the gtkglext framework for all our widgets. + * @return 0 on success, non-zero on failure + */ +int cc_init_gtk_gl(void); + +/** + * Create a new OpenGL enabled window + * @param init the initialize callback function + * @param draw the drawing callback function + * @param data drawing metadata + * @param ret struct with returned window and vbox + */ +void cc_new_gl_window(gl_init_func init, gl_config_func config, + gl_draw_func draw, struct draw_info *data, + struct window_box *ret); + +/** + * Create a new OpenGL enabled drawing area widget. + * @param init the initialize callback function + * @param draw the drawing callback function + * @param data drawing metadata + * @return the drawing widget + */ +GtkWidget *cc_new_gl_area(gl_init_func init, gl_config_func config, + gl_draw_func draw, struct draw_info *data);