From 75549456fd7697bf8ad1e5aaa1776b87554bcc37 Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Tue, 24 Jan 2012 14:52:33 +0000 Subject: [PATCH] actor: use paint opacity to paint the background color --- clutter/clutter-actor.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/clutter/clutter-actor.c b/clutter/clutter-actor.c index c98b8beb9..b11e5625e 100644 --- a/clutter/clutter-actor.c +++ b/clutter/clutter-actor.c @@ -677,6 +677,8 @@ static void _clutter_actor_get_relative_transformation_matrix (ClutterActor *sel static ClutterPaintVolume *_clutter_actor_get_paint_volume_mutable (ClutterActor *self); +static guint8 clutter_actor_get_paint_opacity_internal (ClutterActor *self); + static void on_layout_manager_changed (ClutterLayoutManager *manager, ClutterActor *self); @@ -2997,13 +2999,18 @@ clutter_actor_real_paint (ClutterActor *actor) if (priv->bg_color_set) { float width, height; + guint8 real_alpha; clutter_actor_box_get_size (&priv->allocation, &width, &height); + real_alpha = clutter_actor_get_paint_opacity_internal (actor) + * priv->bg_color.alpha + / 255; + cogl_set_source_color4ub (priv->bg_color.red, priv->bg_color.green, priv->bg_color.blue, - priv->bg_color.alpha); + real_alpha); cogl_rectangle (0, 0, width, height); }