summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2020-07-05 18:43:08 -0300
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2020-10-06 14:24:11 -0300
commitddd68d7462d84bbac14f73dd65c5b094c0a9ebb9 (patch)
tree5863cf8259a57e9b072634438f16346d62818fe7
parentbd89c6937f9fd4d13e8c01eb84080e9f7f39de6c (diff)
downloadmutter-gbsneto/effects-cleanups.tar.gz
clutter/offscreen-effect: Remove clutter_offscreen_effect_get_target_rectgbsneto/effects-cleanups
And drop the annoying 'position' field from ClutterOffscreenEffect as well. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1474
-rw-r--r--clutter/clutter/clutter-offscreen-effect.c70
-rw-r--r--clutter/clutter/clutter-offscreen-effect.h4
2 files changed, 1 insertions, 73 deletions
diff --git a/clutter/clutter/clutter-offscreen-effect.c b/clutter/clutter/clutter-offscreen-effect.c
index e8db17583..2dae9039a 100644
--- a/clutter/clutter/clutter-offscreen-effect.c
+++ b/clutter/clutter/clutter-offscreen-effect.c
@@ -87,8 +87,6 @@ struct _ClutterOffscreenEffectPrivate
ClutterActor *actor;
ClutterActor *stage;
- graphene_point3d_t position;
-
int fbo_offset_x;
int fbo_offset_y;
@@ -258,18 +256,13 @@ clutter_offscreen_effect_pre_paint (ClutterEffect *effect,
ClutterOffscreenEffectPrivate *priv = self->priv;
ClutterActorBox raw_box, box;
ClutterActor *stage;
- graphene_matrix_t projection, old_modelview, modelview;
+ graphene_matrix_t projection, modelview;
const ClutterPaintVolume *volume;
CoglColor transparent;
gfloat stage_width, stage_height;
gfloat target_width = -1, target_height = -1;
- CoglFramebuffer *framebuffer;
float resource_scale;
float ceiled_resource_scale;
- graphene_point3d_t local_offset;
- gfloat old_viewport[4];
-
- local_offset = GRAPHENE_POINT3D_INIT (0.0f, 0.0f, 0.0f);
if (!clutter_actor_meta_get_enabled (CLUTTER_ACTOR_META (effect)))
goto disable_effect;
@@ -322,9 +315,6 @@ clutter_offscreen_effect_pre_paint (ClutterEffect *effect,
if (!update_fbo (effect, target_width, target_height, resource_scale))
goto disable_effect;
- framebuffer = clutter_paint_context_get_framebuffer (paint_context);
- cogl_framebuffer_get_modelview_matrix (framebuffer, &old_modelview);
-
clutter_paint_context_push_framebuffer (paint_context, priv->offscreen);
/* We don't want the FBO contents to be transformed. That could waste memory
@@ -337,13 +327,6 @@ clutter_offscreen_effect_pre_paint (ClutterEffect *effect,
clutter_actor_get_transform (priv->stage, &modelview);
cogl_framebuffer_set_modelview_matrix (priv->offscreen, &modelview);
- /* Save the original viewport for calculating priv->position */
- _clutter_stage_get_viewport (CLUTTER_STAGE (priv->stage),
- &old_viewport[0],
- &old_viewport[1],
- &old_viewport[2],
- &old_viewport[3]);
-
/* Set up the viewport so that it has the same size as the stage (avoid
* distortion), but translated to account for the FBO offset...
*/
@@ -357,17 +340,6 @@ clutter_offscreen_effect_pre_paint (ClutterEffect *effect,
_clutter_stage_get_projection_matrix (CLUTTER_STAGE (priv->stage),
&projection);
- /* Now save the global position of the effect (not just of the actor).
- * It doesn't appear anyone actually uses this yet, but get_target_rect is
- * documented as returning it. So we should...
- */
- _clutter_util_fully_transform_vertices (&old_modelview,
- &projection,
- old_viewport,
- &local_offset,
- &priv->position,
- 1);
-
cogl_framebuffer_set_projection_matrix (priv->offscreen, &projection);
cogl_color_init_from_4ub (&transparent, 0, 0, 0, 0);
@@ -707,43 +679,3 @@ clutter_offscreen_effect_get_target_size (ClutterOffscreenEffect *effect,
return TRUE;
}
-
-/**
- * clutter_offscreen_effect_get_target_rect:
- * @effect: a #ClutterOffscreenEffect
- * @rect: (out caller-allocates): return location for the target area
- *
- * Retrieves the origin and size of the offscreen buffer used by @effect to
- * paint the actor to which it has been applied.
- *
- * This function should only be called by #ClutterOffscreenEffect
- * implementations, from within the #ClutterOffscreenEffectClass.paint_target()
- * virtual function.
- *
- * Return value: %TRUE if the offscreen buffer has a valid rectangle,
- * and %FALSE otherwise
- *
- * Since: 1.14
- */
-gboolean
-clutter_offscreen_effect_get_target_rect (ClutterOffscreenEffect *effect,
- graphene_rect_t *rect)
-{
- ClutterOffscreenEffectPrivate *priv;
-
- g_return_val_if_fail (CLUTTER_IS_OFFSCREEN_EFFECT (effect), FALSE);
- g_return_val_if_fail (rect != NULL, FALSE);
-
- priv = effect->priv;
-
- if (priv->texture == NULL)
- return FALSE;
-
- graphene_rect_init (rect,
- priv->position.x,
- priv->position.y,
- cogl_texture_get_width (priv->texture),
- cogl_texture_get_height (priv->texture));
-
- return TRUE;
-}
diff --git a/clutter/clutter/clutter-offscreen-effect.h b/clutter/clutter/clutter-offscreen-effect.h
index 96b674516..77cbb6613 100644
--- a/clutter/clutter/clutter-offscreen-effect.h
+++ b/clutter/clutter/clutter-offscreen-effect.h
@@ -114,10 +114,6 @@ gboolean clutter_offscreen_effect_get_target_size (ClutterOffscree
gfloat *width,
gfloat *height);
-CLUTTER_EXPORT
-gboolean clutter_offscreen_effect_get_target_rect (ClutterOffscreenEffect *effect,
- graphene_rect_t *rect);
-
G_END_DECLS
#endif /* __CLUTTER_OFFSCREEN_EFFECT_H__ */