context

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

typedef struct {
} G3DContext;

Internal stuff for libg3d.


g3d_context_new ()

G3DContext*         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 ()

void                g3d_context_free                    (G3DContext *context);

Cleans up the context and the plugin system and frees all reserved memory.

context :

the context to free

G3DSetBgColorFunc ()

gboolean            (*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 ()

gboolean            (*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 ()

gboolean            (*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 ()

gboolean            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 ()

void                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 ()

gboolean            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 ()

void                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 ()

gboolean            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 ()

void                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