summaryrefslogtreecommitdiff
path: root/clutter/clutter-private.h
diff options
context:
space:
mode:
Diffstat (limited to 'clutter/clutter-private.h')
-rw-r--r--clutter/clutter-private.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/clutter/clutter-private.h b/clutter/clutter-private.h
index df17d6a00..9aa6b844e 100644
--- a/clutter/clutter-private.h
+++ b/clutter/clutter-private.h
@@ -265,6 +265,32 @@ typedef enum _ClutterCullResult
CLUTTER_CULL_RESULT_PARTIAL
} ClutterCullResult;
+typedef struct _ClutterCamera
+{
+ /* Cameras are always maintained in a packed array associated with the stage
+ * and this is the index into that array. */
+ int index;
+
+ /* TODO: It should be possible to associate cameras with CoglOffscreen
+ * framebuffers. Currently cameras are only used for stereoscopic rendering
+ * and it's assumed that all cameras are associated with the stage's
+ * ClutterStageWindow. */
+
+ CoglMatrix projection;
+ CoglMatrix inverse_projection;
+ float viewport[4];
+ CoglMatrix view;
+
+ /* NB: This age is bumped when the viewport, view or projection change.
+ *
+ * For example clutter-actor.c can use this age to know if something cached
+ * in eye coordinates (which depends on a view transform) is still valid.
+ *
+ * NB: only do == or != comparisons with the age so wrapping should never be
+ * a problem. */
+ int age;
+} ClutterCamera;
+
G_END_DECLS
#endif /* __CLUTTER_PRIVATE_H__ */