![]() | ![]() | ![]() | Gtk 3d Canvas (libgtk3dcanvas) Reference Manual |
---|
#include <gtk-3dcanvas.h> struct Gtk3dcanvasCameraGl; GtkWidget* gtk_3dcanvas_cameragl_new (Gtk3dcanvas *canvas, GdkGLConfig *glconfig, void (*initfunc) (void)); int gtk_3dcanvas_cameragl_mouse_move (GtkWidget *widget, GdkEventAny *event, void *nothing); int gtk_3dcanvas_cameragl_expose (GtkWidget *widget, GdkEventExpose *event, void *nothing); int gtk_3dcanvas_cameragl_configure (GtkWidget *widget, GdkEventAny *event, void *nothing); void gtk_3dcanvas_cameragl_draw (Gtk3dcanvasCameraGl *cam); void gtk_3dcanvas_cameragl_reset (Gtk3dcanvasCameraGl *cam); void gtk_3dcanvas_cameragl_set_dgamma_correct (Gtk3dcanvasCameraGl *cam, float dgamma);
struct Gtk3dcanvasCameraGl;
The fields of the Gtk3dcanvasCameraGl are private, and should be accessed only through the properties and functions below.
GtkWidget* gtk_3dcanvas_cameragl_new (Gtk3dcanvas *canvas, GdkGLConfig *glconfig, void (*initfunc) (void));
Add a new camera to the given canvas, and returns it.
canvas : | From which canvas we want a new camera |
glconfig : | The configuration with which we should create the GL-enabled drawing area |
initfunc : | pointer to the function to use to init the GL rendering. When NULL, a default one is used. |
Returns : | the newly created camera |
int gtk_3dcanvas_cameragl_mouse_move (GtkWidget *widget, GdkEventAny *event, void *nothing);
Read mouse input and move camera around accordingly. It is done to be connected to mouse button & motion events
widget : | Must be a camera |
event : | button_press_event, button_release_event or motion_notify_event |
nothing : | ignored |
Returns : | if the event should be passed further (false in any case) |
int gtk_3dcanvas_cameragl_expose (GtkWidget *widget, GdkEventExpose *event, void *nothing);
Tell the camera something changed. ie, flag it for a redraw. This is done to be connected to the expose_event signal.
widget : | Must be a camera |
event : | must be expose_event |
nothing : | ignored |
Returns : | if the event should be passed further |
int gtk_3dcanvas_cameragl_configure (GtkWidget *widget, GdkEventAny *event, void *nothing);
Resize the camera. Done to be connected to the configure_event signal.
widget : | Must be a camera |
event : | must be configure_event |
nothing : | ignored |
Returns : | if the event should be passed further |
void gtk_3dcanvas_cameragl_draw (Gtk3dcanvasCameraGl *cam);
(Re)draw the camera.
cam : | The camera to draw |
void gtk_3dcanvas_cameragl_reset (Gtk3dcanvasCameraGl *cam);
Reset the camera to the default position/direction
cam : | The camera to change |
void gtk_3dcanvas_cameragl_set_dgamma_correct (Gtk3dcanvasCameraGl *cam, float dgamma);
Change the display gamma correction. 1.0 for none, 1.5 for a dark monitor and 0.5 for a bright one.
cam : | The camera to change |
dgamma : | The new value |
<<< Scene rendering API reference |