## context

context — Libg3d initialization and configuration

## Functions

G3DContext * | g3d_context_new ()
void | g3d_context_free ()
gboolean | (*G3DSetBgColorFunc) ()
gboolean | (*G3DUpdateInterfaceFunc) ()
gboolean | (*G3DUpdateProgressBarFunc) ()
gboolean | g3d_context_update_interface ()
void | g3d_context_set_update_interface_func ()
gboolean | g3d_context_update_progress_bar ()
void | g3d_context_set_update_progress_bar_func ()
gboolean | g3d_context_set_bgcolor ()
void | g3d_context_set_set_bgcolor_func ()

## Types and Values

| G3DContext

## Includes

    #include <g3d/g3d.h>

## Description

All state information is saved in the context. It also serves as an interface to the application.

## Functions

### 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.

#### Parameters

context | the context to free |

### G3DSetBgColorFunc ()

    gboolean
    (*G3DSetBgColorFunc) (G3DFloat r,
                          G3DFloat g,
                          G3DFloat b,
                          G3DFloat a,
                          gpointer user_data);

Background color setting callback.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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` .

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

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` .

#### Parameters

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.

#### Parameters

context | a valid context |
func | the callback function |
user_data | user-defined opaque pointer |

## Types and Values

### G3DContext

    typedef struct {
    } G3DContext;

Internal stuff for libg3d.

## See Also

G3DContext