[mutter] clutter/stage: Offset framebuffer capture origin by view layout
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] clutter/stage: Offset framebuffer capture origin by view layout
- Date: Tue, 6 Sep 2016 07:00:34 +0000 (UTC)
commit f36fa53b0e8b7e2389ea2b63516a2eb00fcc7aa5
Author: Jonas Ådahl <jadahl gmail com>
Date: Fri Aug 19 10:45:08 2016 +0800
clutter/stage: Offset framebuffer capture origin by view layout
The rectangle passed to capture_view() is in stage coordinate space;
thus, to translate to framebuffer coordinate space, the origin need to
be translated by the view layout position.
This fixes capturing views not at position (0, 0).
https://bugzilla.gnome.org/show_bug.cgi?id=770127
clutter/clutter/clutter-stage.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
---
diff --git a/clutter/clutter/clutter-stage.c b/clutter/clutter/clutter-stage.c
index edbc9b4..85cb343 100644
--- a/clutter/clutter/clutter-stage.c
+++ b/clutter/clutter/clutter-stage.c
@@ -4676,6 +4676,7 @@ capture_view (ClutterStage *stage,
uint8_t *data;
int stride;
CoglBitmap *bitmap;
+ cairo_rectangle_int_t view_layout;
framebuffer = clutter_stage_view_get_framebuffer (view);
@@ -4700,8 +4701,11 @@ capture_view (ClutterStage *stage,
stride,
data);
+ clutter_stage_view_get_layout (view, &view_layout);
+
cogl_framebuffer_read_pixels_into_bitmap (framebuffer,
- rect->x, rect->y,
+ view_layout.x - rect->x,
+ view_layout.y - rect->y,
COGL_READ_PIXELS_COLOR_BUFFER,
bitmap);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]