11
static guint egg_default_fps = 60;
14
egg_get_default_frame_rate (void)
16
return egg_default_fps;
19
guint egg_debug_flags = 0; /* global egg debug flag */
21
#ifdef EGG_ENABLE_DEBUG
22
static const GDebugKey egg_debug_keys[] = {
23
{ "misc", EGG_DEBUG_MISC },
24
{ "actor", EGG_DEBUG_ACTOR },
25
{ "texture", EGG_DEBUG_TEXTURE },
26
{ "event", EGG_DEBUG_EVENT },
27
{ "paint", EGG_DEBUG_PAINT },
28
{ "gl", EGG_DEBUG_GL },
29
{ "alpha", EGG_DEBUG_ALPHA },
30
{ "behaviour", EGG_DEBUG_BEHAVIOUR },
31
{ "pango", EGG_DEBUG_PANGO },
32
{ "backend", EGG_DEBUG_BACKEND },
33
{ "scheduler", EGG_DEBUG_SCHEDULER },
34
{ "script", EGG_DEBUG_SCRIPT },
35
{ "shader", EGG_DEBUG_SHADER },
36
{ "multistage", EGG_DEBUG_MULTISTAGE },
38
#endif /* EGG_ENABLE_DEBUG */
41
egg_get_debug_enabled (void)
43
#ifdef EGG_ENABLE_DEBUG
44
return egg_debug_flags != 0;
51
egg_threads_enter (void)
57
egg_threads_leave (void)
62
static guint egg_main_loop_level = 0;
63
static GSList *main_loops = NULL;
64
static gboolean egg_is_initialized = FALSE;
70
* Starts the Egg mainloop.
78
/* Make sure there is a context */
82
if (!egg_is_initialized)
84
g_warning ("Called egg_main() but Egg wasn't initialised. "
85
"You must call egg_init() first.");
91
egg_main_loop_level++;
93
loop = g_main_loop_new (NULL, TRUE);
94
main_loops = g_slist_prepend (main_loops, loop);
96
#ifdef HAVE_EGG_FRUITY
97
/* egg fruity creates an application that forwards events and manually
102
if (g_main_loop_is_running (main_loops->data))
104
egg_threads_leave ();
105
g_main_loop_run (loop);
106
egg_threads_enter ();
110
main_loops = g_slist_remove (main_loops, loop);
112
g_main_loop_unref (loop);
114
egg_main_loop_level--;
123
if (!egg_is_initialized)
125
/* initialise GLib type system */
128
egg_is_initialized = TRUE;
131
return EGG_INIT_SUCCESS;
135
/* -------------------------------------------------------------------------- */
137
/* auto-generated code taken from egg-enum-types.c */
139
/* enumerations from "./egg-timeline.h" */
140
#include "./egg-timeline.h"
142
egg_timeline_direction_get_type(void) {
143
static GType etype = 0;
144
if (G_UNLIKELY (!etype))
146
static const GEnumValue values[] = {
147
{ EGG_TIMELINE_FORWARD, "EGG_TIMELINE_FORWARD", "forward" },
148
{ EGG_TIMELINE_BACKWARD, "EGG_TIMELINE_BACKWARD", "backward" },
151
etype = g_enum_register_static (g_intern_static_string ("EggTimelineDirection"), values);
156
/* auto-generated code taken from egg-marshal.c */
158
#define g_marshal_value_peek_string(v) (v)->data[0].v_pointer
159
#define g_marshal_value_peek_int(v) (v)->data[0].v_int
161
/* VOID:STRING,INT (./egg-marshal.list:12) */
163
egg_marshal_VOID__STRING_INT (GClosure *closure,
164
GValue *return_value G_GNUC_UNUSED,
165
guint n_param_values,
166
const GValue *param_values,
167
gpointer invocation_hint G_GNUC_UNUSED,
168
gpointer marshal_data)
170
typedef void (*GMarshalFunc_VOID__STRING_INT) (gpointer data1,
174
register GMarshalFunc_VOID__STRING_INT callback;
175
register GCClosure *cc = (GCClosure*) closure;
176
register gpointer data1, data2;
178
g_return_if_fail (n_param_values == 3);
180
if (G_CCLOSURE_SWAP_DATA (closure))
182
data1 = closure->data;
183
data2 = g_value_peek_pointer (param_values + 0);
187
data1 = g_value_peek_pointer (param_values + 0);
188
data2 = closure->data;
190
callback = (GMarshalFunc_VOID__STRING_INT) (marshal_data ? marshal_data : cc->callback);
193
g_marshal_value_peek_string (param_values + 1),
194
g_marshal_value_peek_int (param_values + 2),
198
/* VOID:INT,INT (./egg-marshal.list:6) */
200
egg_marshal_VOID__INT_INT (GClosure *closure,
201
GValue *return_value G_GNUC_UNUSED,
202
guint n_param_values,
203
const GValue *param_values,
204
gpointer invocation_hint G_GNUC_UNUSED,
205
gpointer marshal_data)
207
typedef void (*GMarshalFunc_VOID__INT_INT) (gpointer data1,
211
register GMarshalFunc_VOID__INT_INT callback;
212
register GCClosure *cc = (GCClosure*) closure;
213
register gpointer data1, data2;
215
g_return_if_fail (n_param_values == 3);
217
if (G_CCLOSURE_SWAP_DATA (closure))
219
data1 = closure->data;
220
data2 = g_value_peek_pointer (param_values + 0);
224
data1 = g_value_peek_pointer (param_values + 0);
225
data2 = closure->data;
227
callback = (GMarshalFunc_VOID__INT_INT) (marshal_data ? marshal_data : cc->callback);
230
g_marshal_value_peek_int (param_values + 1),
231
g_marshal_value_peek_int (param_values + 2),
235
/* UINT:VOID (./egg-marshal.list:2) */
237
egg_marshal_UINT__VOID (GClosure *closure,
238
GValue *return_value G_GNUC_UNUSED,
239
guint n_param_values,
240
const GValue *param_values,
241
gpointer invocation_hint G_GNUC_UNUSED,
242
gpointer marshal_data)
244
typedef guint (*GMarshalFunc_UINT__VOID) (gpointer data1,
246
register GMarshalFunc_UINT__VOID callback;
247
register GCClosure *cc = (GCClosure*) closure;
248
register gpointer data1, data2;
251
g_return_if_fail (return_value != NULL);
252
g_return_if_fail (n_param_values == 1);
254
if (G_CCLOSURE_SWAP_DATA (closure))
256
data1 = closure->data;
257
data2 = g_value_peek_pointer (param_values + 0);
261
data1 = g_value_peek_pointer (param_values + 0);
262
data2 = closure->data;
264
callback = (GMarshalFunc_UINT__VOID) (marshal_data ? marshal_data : cc->callback);
266
v_return = callback (data1,
269
g_value_set_uint (return_value, v_return);