[mutter] clutter: Remove old split capture based screen shooting API
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] clutter: Remove old split capture based screen shooting API
- Date: Thu, 6 Aug 2020 16:26:40 +0000 (UTC)
commit a80b0f34e3419acb01944569c8aee212ba3ec0e6
Author: Jonas Ã…dahl <jadahl gmail com>
Date: Wed Jul 29 11:47:34 2020 +0200
clutter: Remove old split capture based screen shooting API
This is no longer used, and the replacement (clutter_stage_paint_to_*())
should be used instead.
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1391
clutter/clutter/clutter-stage.c | 96 -----------------------------------------
clutter/clutter/clutter-stage.h | 7 ---
2 files changed, 103 deletions(-)
---
diff --git a/clutter/clutter/clutter-stage.c b/clutter/clutter/clutter-stage.c
index 0e0d103add..f298864da7 100644
--- a/clutter/clutter/clutter-stage.c
+++ b/clutter/clutter/clutter-stage.c
@@ -3641,102 +3641,6 @@ clutter_stage_presented (ClutterStage *stage,
g_signal_emit (stage, stage_signals[PRESENTED], 0, view, frame_info);
}
-static void
-capture_view (ClutterStage *stage,
- gboolean paint,
- ClutterStageView *view,
- ClutterCapture *capture)
-{
- cairo_surface_t *image;
- uint8_t *data;
- int stride;
- cairo_rectangle_int_t *rect;
- float view_scale;
- float texture_width;
- float texture_height;
-
- rect = &capture->rect;
-
- view_scale = clutter_stage_view_get_scale (view);
- texture_width = roundf (rect->width * view_scale);
- texture_height = roundf (rect->height * view_scale);
- image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
- texture_width, texture_height);
- cairo_surface_set_device_scale (image, view_scale, view_scale);
-
- data = cairo_image_surface_get_data (image);
- stride = cairo_image_surface_get_stride (image);
-
- capture_view_into (stage, paint, view, rect, data, stride);
- capture->image = image;
-
- cairo_surface_mark_dirty (capture->image);
-}
-
-/**
- * clutter_stage_capture:
- * @stage: a #ClutterStage
- * @paint: whether to pain the frame
- * @rect: a #cairo_rectangle_int_t in stage coordinates
- * @out_captures: (out) (array length=out_n_captures): an array of
- * #ClutterCapture
- * @out_n_captures: (out): the number of captures in @out_captures
- *
- * Captures the stage pixels of @rect into @captures. @rect is in stage
- * coordinates.
- *
- * Returns: %TRUE if a #ClutterCapture has been created, %FALSE otherwise
- */
-gboolean
-clutter_stage_capture (ClutterStage *stage,
- gboolean paint,
- cairo_rectangle_int_t *rect,
- ClutterCapture **out_captures,
- int *out_n_captures)
-{
- ClutterStagePrivate *priv = stage->priv;
- GList *views = _clutter_stage_window_get_views (priv->impl);
- GList *l;
- ClutterCapture *captures;
- int n_captures;
-
- g_return_val_if_fail (CLUTTER_IS_STAGE (stage), FALSE);
-
- captures = g_new0 (ClutterCapture, g_list_length (views));
- n_captures = 0;
-
- for (l = views; l; l = l->next)
- {
- ClutterStageView *view = l->data;
- ClutterCapture *capture;
- cairo_rectangle_int_t view_layout;
- cairo_region_t *region;
-
- clutter_stage_view_get_layout (view, &view_layout);
- region = cairo_region_create_rectangle (&view_layout);
- cairo_region_intersect_rectangle (region, rect);
-
- capture = &captures[n_captures];
- cairo_region_get_extents (region, &capture->rect);
- cairo_region_destroy (region);
-
- if (capture->rect.width == 0 || capture->rect.height == 0)
- continue;
-
- capture_view (stage, paint, view, capture);
-
- n_captures++;
- }
-
- if (n_captures == 0)
- g_clear_pointer (&captures, g_free);
-
- *out_captures = captures;
- *out_n_captures = n_captures;
-
- return n_captures > 0;
-}
-
gboolean
clutter_stage_get_capture_final_size (ClutterStage *stage,
cairo_rectangle_int_t *rect,
diff --git a/clutter/clutter/clutter-stage.h b/clutter/clutter/clutter-stage.h
index 36d292145e..d797cc56c2 100644
--- a/clutter/clutter/clutter-stage.h
+++ b/clutter/clutter/clutter-stage.h
@@ -218,13 +218,6 @@ gboolean clutter_stage_get_capture_final_size (ClutterStage *stage,
int *height,
float *scale);
-CLUTTER_EXPORT
-gboolean clutter_stage_capture (ClutterStage *stage,
- gboolean paint,
- cairo_rectangle_int_t *rect,
- ClutterCapture **out_captures,
- int *out_n_captures);
-
CLUTTER_EXPORT
void clutter_stage_paint_to_framebuffer (ClutterStage *stage,
CoglFramebuffer *framebuffer,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]