From dd9d40aedba0ff3dba8df069dd39fbf85cc1ee9d Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Mon, 10 May 2021 16:16:15 +0200 Subject: [PATCH] clutter: Make ClutterStageView API public to mutter All subclasses and stage implementations will come from src/backends, so this internal API must be accessible there. Part-of: --- clutter/clutter/clutter-mutter.h | 2 +- clutter/clutter/clutter-private.h | 2 ++ clutter/clutter/clutter-stage-private.h | 2 ++ clutter/clutter/clutter-stage-view-private.h | 7 +++++++ clutter/clutter/clutter-stage-window.h | 1 + 5 files changed, 13 insertions(+), 1 deletion(-) diff --git a/clutter/clutter/clutter-mutter.h b/clutter/clutter/clutter-mutter.h index 08a462929..3656b4b16 100644 --- a/clutter/clutter/clutter-mutter.h +++ b/clutter/clutter/clutter-mutter.h @@ -34,7 +34,7 @@ #include "clutter-private.h" #include "clutter-stage-private.h" #include "clutter-stage-view.h" -#include "cogl/clutter-stage-cogl.h" +#include "clutter-stage-view-private.h" #include "clutter/x11/clutter-backend-x11.h" CLUTTER_EXPORT diff --git a/clutter/clutter/clutter-private.h b/clutter/clutter/clutter-private.h index d64625a19..1e8fd0d74 100644 --- a/clutter/clutter/clutter-private.h +++ b/clutter/clutter/clutter-private.h @@ -214,9 +214,11 @@ void _clutter_util_fully_transform_vertices (const graphene_matrix_t *modelvie graphene_point3d_t *vertices_out, int n_vertices); +CLUTTER_EXPORT void _clutter_util_rect_from_rectangle (const cairo_rectangle_int_t *src, graphene_rect_t *dest); +CLUTTER_EXPORT void _clutter_util_rectangle_int_extents (const graphene_rect_t *src, cairo_rectangle_int_t *dest); diff --git a/clutter/clutter/clutter-stage-private.h b/clutter/clutter/clutter-stage-private.h index 05412ace8..690a360fa 100644 --- a/clutter/clutter/clutter-stage-private.h +++ b/clutter/clutter/clutter-stage-private.h @@ -34,6 +34,7 @@ G_BEGIN_DECLS /* stage */ ClutterStageWindow *_clutter_stage_get_default_window (void); +CLUTTER_EXPORT void clutter_stage_paint_view (ClutterStage *stage, ClutterStageView *view, const cairo_region_t *redraw_clip); @@ -61,6 +62,7 @@ void _clutter_stage_get_viewport (ClutterStage float *width, float *height); void _clutter_stage_dirty_viewport (ClutterStage *stage); +CLUTTER_EXPORT void _clutter_stage_maybe_setup_viewport (ClutterStage *stage, ClutterStageView *view); void clutter_stage_maybe_relayout (ClutterActor *stage); diff --git a/clutter/clutter/clutter-stage-view-private.h b/clutter/clutter/clutter-stage-view-private.h index 345b59564..0a20d75b1 100644 --- a/clutter/clutter/clutter-stage-view-private.h +++ b/clutter/clutter/clutter-stage-view-private.h @@ -21,9 +21,11 @@ #include "clutter/clutter-stage-view.h" #include "clutter/clutter-types.h" +CLUTTER_EXPORT void clutter_stage_view_after_paint (ClutterStageView *view, cairo_region_t *redraw_clip); +CLUTTER_EXPORT void clutter_stage_view_before_swap_buffer (ClutterStageView *view, const cairo_region_t *swap_region); @@ -54,10 +56,13 @@ gboolean clutter_stage_view_has_redraw_clip (ClutterStageView *view); const cairo_region_t * clutter_stage_view_peek_redraw_clip (ClutterStageView *view); +CLUTTER_EXPORT cairo_region_t * clutter_stage_view_take_redraw_clip (ClutterStageView *view); +CLUTTER_EXPORT CoglScanout * clutter_stage_view_take_scanout (ClutterStageView *view); +CLUTTER_EXPORT void clutter_stage_view_transform_rect_to_onscreen (ClutterStageView *view, const cairo_rectangle_int_t *src_rect, int dst_width, @@ -67,9 +72,11 @@ void clutter_stage_view_transform_rect_to_onscreen (ClutterStageView CLUTTER_EXPORT void clutter_stage_view_schedule_update (ClutterStageView *view); +CLUTTER_EXPORT void clutter_stage_view_notify_presented (ClutterStageView *view, ClutterFrameInfo *frame_info); +CLUTTER_EXPORT void clutter_stage_view_notify_ready (ClutterStageView *view); #endif /* __CLUTTER_STAGE_VIEW_PRIVATE_H__ */ diff --git a/clutter/clutter/clutter-stage-window.h b/clutter/clutter/clutter-stage-window.h index 5f0ae7ab1..a4ea11859 100644 --- a/clutter/clutter/clutter-stage-window.h +++ b/clutter/clutter/clutter-stage-window.h @@ -88,6 +88,7 @@ void _clutter_stage_window_redraw_view (ClutterStageWin ClutterStageView *view, ClutterFrame *frame); +CLUTTER_EXPORT gboolean _clutter_stage_window_can_clip_redraws (ClutterStageWindow *window); GList * _clutter_stage_window_get_views (ClutterStageWindow *window);