context3LIBG3D LibrarycontextLibg3d initialization and configurationSynopsis
#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.DetailsG3DContextG3DContexttypedef 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 AlsoG3DContext