pidgin/plugins/crazychat/cc_gtk_gl.h

Tue, 07 May 2013 05:04:46 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Tue, 07 May 2013 05:04:46 -0400
changeset 33923
0fcc5635daba
parent 15435
4b933b06d75e
child 16238
33bf2fd32108
child 18068
b6554e3c8224
child 20478
46933dc62880
permissions
-rw-r--r--

Rewrite debug window filter in JS.

Note, this does cause a couple regressions, but they are probably not
that big a deal. First, the JS regular expression syntax is slightly
different. Second, the JS regex API lacks a way to reliably determine
the location of matched groups, so we can't highlight just the groups
and must highlight the entire expression.

I suspect that none of our users ever had to use any fancy regex in the
debug window, and that most of our developers didn't even know it could
be done. So I doubt these regressions will cause much pain.

11218
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
1 #include <gtk/gtk.h>
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
2 #include <gtk/gtkgl.h>
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
3
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
4 #define DEFAULT_FRAME_DELAY 40
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
5
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
6 typedef void (gl_init_func) (GtkWidget *widget, void *data);
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
7 typedef gboolean (*gl_config_func) (GtkWidget *widget, GdkEventConfigure *event,
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
8 void *data);
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
9 typedef gboolean (*gl_draw_func) (GtkWidget *widget, GdkEventExpose *event,
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
10 void *data);
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
11
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
12 struct draw_info {
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
13 gboolean timeout; /* use/not use a timer callback */
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
14 int timer_id; /* glib timer callback id */
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
15 guint delay_ms; /* timer callback delay in ms */
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
16 void *data; /* drawing data */
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
17 };
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
18
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
19 struct window_box {
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
20 GtkWidget *window;
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
21 GtkWidget *vbox;
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
22 GtkWidget *draw_area;
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
23 };
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
24
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
25 /**
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
26 * Initialize the gtkglext framework for all our widgets.
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
27 * @return 0 on success, non-zero on failure
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
28 */
12323
f52908fb23b0 [gaim-migrate @ 14627]
Richard Laager <rlaager@pidgin.im>
parents: 11218
diff changeset
29 int cc_init_gtk_gl(void);
11218
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
30
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
31 /**
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
32 * Create a new OpenGL enabled window
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
33 * @param init the initialize callback function
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
34 * @param draw the drawing callback function
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
35 * @param data drawing metadata
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
36 * @param ret struct with returned window and vbox
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
37 */
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
38 void cc_new_gl_window(gl_init_func init, gl_config_func config,
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
39 gl_draw_func draw, struct draw_info *data,
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
40 struct window_box *ret);
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
41
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
42 /**
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
43 * Create a new OpenGL enabled drawing area widget.
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
44 * @param init the initialize callback function
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
45 * @param draw the drawing callback function
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
46 * @param data drawing metadata
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
47 * @return the drawing widget
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
48 */
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
49 GtkWidget *cc_new_gl_area(gl_init_func init, gl_config_func config,
886e6862af56 [gaim-migrate @ 13350]
Charlie Stockman <chuckleberry@users.sourceforge.net>
parents:
diff changeset
50 gl_draw_func draw, struct draw_info *data);

mercurial