Gtk3dcanvasCameraGl

Name

Gtk3dcanvasCameraGl -- An OpenGl render.

Synopsis


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

Object Hierarchy


  GObject
   +----GtkObject
         +----GtkWidget
               +----GtkDrawingArea
                     +----Gtk3dcanvasCameraGl

Description

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

Details

struct Gtk3dcanvasCameraGl

struct Gtk3dcanvasCameraGl;

The fields of the Gtk3dcanvasCameraGl are private, and should be accessed only through the properties and functions below.


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.

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


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

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)


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.

widget :

Must be a camera

event :

must be expose_event

nothing :

ignored

Returns :

if the event should be passed further


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.

widget :

Must be a camera

event :

must be configure_event

nothing :

ignored

Returns :

if the event should be passed further


gtk_3dcanvas_cameragl_draw ()

void        gtk_3dcanvas_cameragl_draw      (Gtk3dcanvasCameraGl *cam);

(Re)draw the camera.

cam :

The camera to draw


gtk_3dcanvas_cameragl_reset ()

void        gtk_3dcanvas_cameragl_reset     (Gtk3dcanvasCameraGl *cam);

Reset the camera to the default position/direction

cam :

The camera to change


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.

cam :

The camera to change

dgamma :

The new value