summaryrefslogtreecommitdiff
path: root/clutter/clutter/clutter-stage-view.c
diff options
context:
space:
mode:
Diffstat (limited to 'clutter/clutter/clutter-stage-view.c')
-rw-r--r--clutter/clutter/clutter-stage-view.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/clutter/clutter/clutter-stage-view.c b/clutter/clutter/clutter-stage-view.c
index 0aa92f3fb..3ebe9c445 100644
--- a/clutter/clutter/clutter-stage-view.c
+++ b/clutter/clutter/clutter-stage-view.c
@@ -363,6 +363,22 @@ clutter_stage_view_set_dirty_viewport (ClutterStageView *view,
priv->dirty_viewport = dirty;
}
+void
+clutter_stage_view_set_viewport (ClutterStageView *view,
+ float x,
+ float y,
+ float width,
+ float height)
+{
+ ClutterStageViewPrivate *priv =
+ clutter_stage_view_get_instance_private (view);
+ CoglFramebuffer *framebuffer;
+
+ priv->dirty_viewport = FALSE;
+ framebuffer = clutter_stage_view_get_framebuffer (view);
+ cogl_framebuffer_set_viewport (framebuffer, x, y, width, height);
+}
+
gboolean
clutter_stage_view_is_dirty_projection (ClutterStageView *view)
{
@@ -383,6 +399,19 @@ clutter_stage_view_set_dirty_projection (ClutterStageView *view,
}
void
+clutter_stage_view_set_projection (ClutterStageView *view,
+ const CoglMatrix *matrix)
+{
+ ClutterStageViewPrivate *priv =
+ clutter_stage_view_get_instance_private (view);
+ CoglFramebuffer *framebuffer;
+
+ priv->dirty_projection = FALSE;
+ framebuffer = clutter_stage_view_get_framebuffer (view);
+ cogl_framebuffer_set_projection_matrix (framebuffer, matrix);
+}
+
+void
clutter_stage_view_get_offscreen_transformation_matrix (ClutterStageView *view,
CoglMatrix *matrix)
{