Gtk3dCanvasCameraGl

Name

Gtk3dCanvasCameraGl -- An OpenGl render.

Synopsis


#include <gtk-3dcanvas-cameragl.h>


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);

Description

This widget can render a scene described by a Gtk3dCanvas using OpenGl.

Details

gtk_3dcanvas_cameragl_new ()

GtkWidget*  gtk_3dcanvas_cameragl_new       (Gtk3dcanvas *canvas,
                                             GdkGLConfig *glconfig,
                                             void (*initfunc) (void));

Add a new camera to the given canvas, and returns it.


gtk_3dcanvas_cameragl_mouse_move ()

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


gtk_3dcanvas_cameragl_expose ()

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.


gtk_3dcanvas_cameragl_configure ()

int         gtk_3dcanvas_cameragl_configure (GtkWidget *widget,
                                             GdkEventAny *event,
                                             void *nothing);

Resize the camera. Done to be connected to the configure_event signal.


gtk_3dcanvas_cameragl_draw ()

void        gtk_3dcanvas_cameragl_draw      (Gtk3dcanvasCameraGl *cam);

(Re)draw the camera.


gtk_3dcanvas_cameragl_reset ()

void        gtk_3dcanvas_cameragl_reset     (Gtk3dcanvasCameraGl *cam);

Reset the camera to the default position/direction


gtk_3dcanvas_cameragl_set_dgamma_correct ()

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.