1
#ifndef _CLUTTER_PERL_H_
2
#define _CLUTTER_PERL_H_
6
#include <cairo-perl.h>
7
#include <pango-perl.h>
10
#include <cogl/cogl-pango.h>
11
#include <clutter/clutter.h>
13
#include "clutter-perl-autogen.h"
17
const char *clutterperl_event_get_package (ClutterEvent *event);
19
gulong clutter_perl_animation_mode_from_sv (SV *sv);
20
SV *clutter_perl_animation_mode_to_sv (gulong mode);
22
gpointer cogl_perl_object_from_sv (SV *sv, const char *package);
23
SV *cogl_perl_object_to_sv (gpointer object, const char *package);
25
gpointer cogl_perl_struct_from_sv (SV *sv, const char *package);
26
SV *cogl_perl_struct_to_sv (gpointer object, const char *package);
28
SV *cogl_perl_handle_to_sv (CoglHandle handle);
30
void cogl_perl_color_from_sv (SV *sv, CoglColor *color);
31
SV *cogl_perl_color_to_sv (const CoglColor *color);
33
void cogl_perl_texture_vertex_from_sv (SV *sv, CoglTextureVertex *vertex);
34
SV *cogl_perl_texture_vertex_to_sv (const CoglTextureVertex *vertex);
37
typedef CoglHandle CoglHandle_noinc;
38
typedef CoglHandle CoglHandle_ornull;
39
#define SvCoglHandle(sv) ((CoglHandle) cogl_perl_object_from_sv (sv, "Clutter::Cogl::Handle"))
40
#define SvCoglHandle_ornull(sv) (((sv) && SvOK (sv)) ? SvCoglHandle(sv) : NULL)
41
#define newSVCoglHandle(object) (cogl_perl_handle_to_sv (cogl_handle_ref (object)))
42
#define newSVCoglHandle_noinc(object) (cogl_perl_handle_to_sv (object))
45
typedef CoglMatrix CoglMatrix_ornull;
46
#define SvCoglMatrix(sv) ((CoglMatrix *) cogl_perl_struct_from_sv (sv, "Clutter::Cogl::Matrix"))
47
#define SvCoglMatrix_ornull(sv) (((sv) && SvOK (sv)) ? SvCoglMatrix(sv) : NULL)
48
#define newSVCoglMatrix(object) (cogl_perl_struct_to_sv ((object), "Clutter::Cogl::Matrix"))
49
#define newSVCoglMatrix_ornull(object) ((object) == NULL ? &PL_sv_undef : newSVCoglMatrix(object))
52
SV *newSVCoglTextureVertex (CoglTextureVertex *vertex);
53
CoglTextureVertex *SvCoglTextureVertex (SV *sv);
55
SV *newSVCoglColor (CoglColor *color);
56
CoglColor *SvCoglColor (SV *sv);
60
#endif /* _CLUTTER_PERL_H_ */