![]() | ![]() | ![]() | Gtk OpenGL Toolkit (gtkogltk) Reference Manual | ![]() |
---|
#include <ogltk/scene.h> enum OgltkSceneDisplayOrder; struct ogltk_scene; ogltk_scene* ogltk_scene_new (void); gboolean ogltk_scene_set_display_order (ogltk_scene *scene, OgltkSceneDisplayOrder order); OgltkSceneDisplayOrder ogltk_scene_get_display_order (ogltk_scene *scene); gboolean ogltk_scene_enable_object_events (ogltk_scene *scene, gboolean enable); gboolean ogltk_scene_object_events_enabled (ogltk_scene *scene); gboolean ogltk_scene_add_globject (ogltk_scene *scene, GLobject *object); gboolean ogltk_scene_fps_start (ogltk_scene *scene, gint notify_time); gboolean ogltk_scene_fps_stop (ogltk_scene *scene); gboolean ogltk_scene_clear (ogltk_scene *scene); GLobject* ogltk_scene_select (ogltk_scene *scene, gfloat x, gfloat y); gboolean ogltk_scene_add_lightsource (ogltk_scene *scene, ogltk_lightsource *light);
typedef enum { OGLTK_SCENE_DISPLAY_NONE, OGLTK_SCENE_DISPLAY_GLOBJECT, OGLTK_SCENE_DISPLAY_LIST, OGLTK_SCENE_DISPLAY_LAST }OgltkSceneDisplayOrder;
struct ogltk_scene { GObject parent_instance; GList *globjects; GList *displaylist; /* FPS */ GTimer *fps_timer; gint fps; gint fps_notify_time; gboolean bobject_events; /* Enable Object Signals before and after each object is displayed */ OgltkSceneDisplayOrder display_order; /* Set which order objects will be rendered by this scene? display list or globjects */ gint fps_signal_time; /* Time in seconds when fps-event signals are sent */ ogltk_lightsource *lightsources; /* FIXME JSK , Should be GLIST of lightsources */ };
ogltk_scene* ogltk_scene_new (void);
Create a new instance of a scene object. This object can be bound to an ogltk_view object.
Returns : | New instance of a ogltk_scene |
gboolean ogltk_scene_set_display_order (ogltk_scene *scene, OgltkSceneDisplayOrder order);
Not Implemented Yet!
scene : | An ogltk scene object |
order : | Order in which to display object types (display list or globject) |
Returns : | True if new display order was set |
OgltkSceneDisplayOrder ogltk_scene_get_display_order (ogltk_scene *scene);
Not Implmented Yet!
scene : | An ogltk scene object |
Returns : |
gboolean ogltk_scene_enable_object_events (ogltk_scene *scene, gboolean enable);
Not Implemented Yet!
scene : | An ogltk scene object |
enable : | Enable Object display events |
Returns : | True if object display events has been enabled. |
gboolean ogltk_scene_object_events_enabled (ogltk_scene *scene);
Not Implemented Yet!
scene : | An ogltk scene object |
Returns : | True if object display events are enabled. |
gboolean ogltk_scene_add_globject (ogltk_scene *scene, GLobject *object);
Add an ogltk GLobject to the scene
scene : | An ogltk scene object |
object : | The GLobject to add to the scene. |
Returns : | True if the object was added to the scene. |
gboolean ogltk_scene_fps_start (ogltk_scene *scene, gint notify_time);
Start the Frames Per Second timer, once expired the "fps-notify" signal will be issued when the timer rolls over the specified time in param notify_time. This is not an autonomous function and the scene render must be called for the fps timer and the notify signal to be processed,
scene : | An ogltk scene object |
notify_time : | Time in seconds to call the fps event |
Returns : | True if the fps timer has been started. |
gboolean ogltk_scene_fps_stop (ogltk_scene *scene);
Stop the fps timer and disables the fps_notify signal from being called.
scene : | An ogltk scene object |
Returns : | If the fps timer was stopped. |
gboolean ogltk_scene_clear (ogltk_scene *scene);
Clear all GLobjects from the scene.
scene : | An ogltk scene object |
Returns : | True if objects are cleared. |
GLobject* ogltk_scene_select (ogltk_scene *scene, gfloat x, gfloat y);
Not implmemented Yet!
scene : | An ogltk scene object |
x : | Mouse cursor X position |
y : | Mouse cursor Y position |
Returns : | the GLobject which the mouse is over. |
gboolean ogltk_scene_add_lightsource (ogltk_scene *scene, ogltk_lightsource *light);
Add a lightsource object to the scene.
Note : Only one light source. More will be allowed in future releases.
scene : | An ogltk scene object |
light : | Light source to add to the scene. |
Returns : | True if the object was added. |
<<< ogltk-2Dview | Lightsource Reference >>> |