context 3 LIBG3D Library context Libg3d initialization and configuration Synopsis #include <g3d/g3d.h> G3DContext; G3DContext* g3d_context_new (void); void g3d_context_free (G3DContext *context); gboolean (*G3DSetBgColorFunc) (G3DFloat r, G3DFloat g, G3DFloat b, G3DFloat a, gpointer user_data); gboolean (*G3DUpdateInterfaceFunc) (gpointer user_data); gboolean (*G3DUpdateProgressBarFunc) (G3DFloat percentage, gboolean show, gpointer user_data); gboolean g3d_context_update_interface (G3DContext *context); void g3d_context_set_update_interface_func (G3DContext *context, G3DUpdateInterfaceFunc func, gpointer user_data); gboolean g3d_context_update_progress_bar (G3DContext *context, G3DFloat percentage, gboolean visibility); void g3d_context_set_update_progress_bar_func (G3DContext *context, G3DUpdateProgressBarFunc func, gpointer user_data); gboolean g3d_context_set_bgcolor (G3DContext *context, G3DFloat r, G3DFloat g, G3DFloat b, G3DFloat a); void g3d_context_set_set_bgcolor_func (G3DContext *context, G3DSetBgColorFunc func, gpointer user_data); Description All state information is saved in the context. It also serves as an interface to the application. Details G3DContext G3DContexttypedef struct { } G3DContext; Internal stuff for libg3d. g3d_context_new () g3d_context_newG3DContext* g3d_context_new (void); Create a new context. This initializes the library (and also the plugin system so this has not to be done seperately). Returns : a valid context, or NULL on failure. g3d_context_free () g3d_context_freevoid g3d_context_free (G3DContext *context); Cleans up the context and the plugin system and frees all reserved memory. context : the context to free G3DSetBgColorFunc () G3DSetBgColorFuncgboolean (*G3DSetBgColorFunc) (G3DFloat r, G3DFloat g, G3DFloat b, G3DFloat a, gpointer user_data); Background color setting callback. r : red component g : green component b : blue component a : alpha component user_data : opaque data as given to g3d_context_set_set_bgcolor_func() Returns : TRUE on success, FALSE else. G3DUpdateInterfaceFunc () G3DUpdateInterfaceFuncgboolean (*G3DUpdateInterfaceFunc) (gpointer user_data); Interface updating callback. user_data : opaque data as given to g3d_context_set_update_interface_func() Returns : TRUE on success, FALSE else. G3DUpdateProgressBarFunc () G3DUpdateProgressBarFuncgboolean (*G3DUpdateProgressBarFunc) (G3DFloat percentage, gboolean show, gpointer user_data); Progress updating callback. percentage : progress of plugin operation show : TRUE if the progress bar should be visible, FALSE else user_data : opaque data as given to g3d_context_set_update_progress_bar_func() Returns : TRUE on success, FALSE else. g3d_context_update_interface () g3d_context_update_interfacegboolean g3d_context_update_interface (G3DContext *context); Try to update the interface. This will call a function registered with g3d_context_set_update_interface_func. context : a valid context Returns : TRUE on success, FALSE else g3d_context_set_update_interface_func () g3d_context_set_update_interface_funcvoid g3d_context_set_update_interface_func (G3DContext *context, G3DUpdateInterfaceFunc func, gpointer user_data); Registers a callback function for updating the interface. context : a valid context func : the callback function user_data : user-defined opaque pointer g3d_context_update_progress_bar () g3d_context_update_progress_bargboolean g3d_context_update_progress_bar (G3DContext *context, G3DFloat percentage, gboolean visibility); Try to update the progress bar. context : a valid context percentage : the percentage to set on the progress bar visibility : show or hide the progress bar Returns : TRUE on success, FALSE else g3d_context_set_update_progress_bar_func () g3d_context_set_update_progress_bar_funcvoid g3d_context_set_update_progress_bar_func (G3DContext *context, G3DUpdateProgressBarFunc func, gpointer user_data); Registers a callback function for updating the progress bar. context : a valid context func : the callback function user_data : user-defined opaque pointer g3d_context_set_bgcolor () g3d_context_set_bgcolorgboolean g3d_context_set_bgcolor (G3DContext *context, G3DFloat r, G3DFloat g, G3DFloat b, G3DFloat a); Try to set the background color. This will call a function registered with g3d_context_set_set_bgcolor_func. context : a valid context r : red component (range: 0.0 .. 1.0) g : green component (range: 0.0 .. 1.0) b : green component (range: 0.0 .. 1.0) a : alpha component Returns : TRUE on success, FALSE else g3d_context_set_set_bgcolor_func () g3d_context_set_set_bgcolor_funcvoid g3d_context_set_set_bgcolor_func (G3DContext *context, G3DSetBgColorFunc func, gpointer user_data); Registers a callback function for setting the background color. context : a valid context func : the callback function user_data : user-defined opaque pointer See Also G3DContext