![]() | ![]() | ![]() | BLib Reference Manual | ![]() |
---|
BModule Internal API — the internal API for users of BModules
BModule* b_module_new (GType module_type, gint width, gint height, guchar *buffer, BModulePaintCallback paint_callback, gpointer paint_data, GError **error); void b_module_set_aspect (BModule *module, gdouble aspect_ratio); gboolean b_module_prepare (BModule *module, GError **error); void b_module_relax (BModule *module); void b_module_start (BModule *module); void b_module_stop (BModule *module); void b_module_event (BModule *module, BModuleEvent *event); gint b_module_tick (BModule *module); void b_module_describe (BModule *module, gchar **title, gchar **description, gchar **author);
BModule* b_module_new (GType module_type, gint width, gint height, guchar *buffer, BModulePaintCallback paint_callback, gpointer paint_data, GError **error);
This function tries to create the class for the module_type and queries it with the given width and height. Only if the class can handle the requested size, a BModule instance is created and initialized with the given values.
module_type : | the type of module to create |
width : | width of the frame buffer |
height : | height of the frame buffer |
buffer : | pointer to a preallocated buffer or NULL |
paint_callback : | the function to call in b_module_paint() |
paint_data : | data to pass to the paint_callback |
error : | location to store the error occuring, or NULL to ignore errors |
Returns : | the newly allocate BModule object |
void b_module_set_aspect (BModule *module, gdouble aspect_ratio);
Sets the pixel (or window) aspect ratio for the module. Most modules ignore this value but some may adapt their output to take the shape of pixels into account.
module : | a BModule object |
aspect_ratio : | the new pixel aspect ratio (x / y) |
gboolean b_module_prepare (BModule *module, GError **error);
This function first queries the module once more to check that it can handle the current settings. If the query succeeds, the prepare() method of the module is called. The module should then prepare itself and will be able to start as soon as b_module_start() is called.
module : | a BModule object |
error : | location to store the error occuring, or NULL to ignore errors |
Returns : | TRUE is the module has successfully prepared itself, FALSE otherwise |
void b_module_relax (BModule *module);
Calls the relax() method of the module causing it to release resources allocated in b_module_prepare().
module : | a BModule object |
void b_module_start (BModule *module);
Emits the start signal for module. If module has a lifetime set, a timer is installed that stops the module when the lifetime expires.
You need to prepare module by calling b_module_prepare() before it can be started.
module : | a BModule object |
void b_module_stop (BModule *module);
Emits the stop signal for module. You may only call this function for a BModule that is currently running.
module : | a BModule object |
void b_module_event (BModule *module, BModuleEvent *event);
Dispatches an event to module by calling its event() method with event. This function has no effect if the module is not currently running.
module : | a BModule object |
event : | pointer to a BModuleEvent |
gint b_module_tick (BModule *module);
Calls the tick() method of module. You may only call this function for a BModule that is currently running.
module : | a BModule object |
Returns : | the number of milliseconds until tick() should be called again or -1 to indicate that no further ticks are requested |
void b_module_describe (BModule *module, gchar **title, gchar **description, gchar **author);
This function queries module for a title, description and the name of the author. It does so by calling the modules describe() method. You may pass NULL as return location if you are not interested in a particular information. The title is guaranteed to be available, description and author may be NULL if the module doesn't provide this information.
You must free all returned strings using g_free() if you don't need them any longer.
module : | a BModule object |
title : | return location for the module title or NULL |
description : | return location for the module description or NULL |
author : | return location for the name of the module author or NULL |
<< BModuleInfo | Blinkenlights Simulation >> |