[gnome-shell] Use new clutter_actor_get_resource_scale() API
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] Use new clutter_actor_get_resource_scale() API
- Date: Tue, 30 Jun 2020 13:49:01 +0000 (UTC)
commit cb9842e4a4740df9f5e0fbcb084c6260cfee41a0
Author: Jonas Dreßler <verdre v0yd nl>
Date: Thu May 28 14:39:11 2020 +0200
Use new clutter_actor_get_resource_scale() API
Update the existing users of clutter_actor_get_resource_scale() to the
new API which doesn't return a boolean value.
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1287
src/shell-screenshot.c | 3 +--
src/st/st-drawing-area.c | 24 +++++------------
src/st/st-icon.c | 3 +--
src/st/st-label.c | 68 +++++++++++++++++++++++-------------------------
src/st/st-private.c | 3 +--
src/st/st-widget.c | 9 ++++---
6 files changed, 48 insertions(+), 62 deletions(-)
---
diff --git a/src/shell-screenshot.c b/src/shell-screenshot.c
index e60d5891b1..36ca2fb24b 100644
--- a/src/shell-screenshot.c
+++ b/src/shell-screenshot.c
@@ -393,8 +393,7 @@ grab_window_screenshot (ClutterActor *stage,
if (meta_window_get_client_type (window) == META_WINDOW_CLIENT_TYPE_WAYLAND)
{
float resource_scale;
- if (!clutter_actor_get_resource_scale (window_actor, &resource_scale))
- resource_scale = 1.0f;
+ resource_scale = clutter_actor_get_resource_scale (window_actor);
cairo_surface_set_device_scale (priv->image, resource_scale, resource_scale);
}
diff --git a/src/st/st-drawing-area.c b/src/st/st-drawing-area.c
index a9daca562d..44d7c0add9 100644
--- a/src/st/st-drawing-area.c
+++ b/src/st/st-drawing-area.c
@@ -85,12 +85,7 @@ st_drawing_area_allocate (ClutterActor *self,
int width, height;
float resource_scale;
- if (!st_widget_get_resource_scale (ST_WIDGET (self), &resource_scale))
- {
- ClutterActorBox empty = CLUTTER_ACTOR_BOX_INIT_ZERO;
- clutter_actor_set_allocation (self, &empty);
- return;
- }
+ resource_scale = clutter_actor_get_resource_scale (self);
clutter_actor_set_allocation (self, box);
st_theme_node_get_content_box (theme_node, box, &content_box);
@@ -116,8 +111,8 @@ st_drawing_area_resource_scale_changed (StWidget *self)
float resource_scale;
ClutterContent *content = clutter_actor_get_content (CLUTTER_ACTOR (self));
- if (st_widget_get_resource_scale (ST_WIDGET (self), &resource_scale))
- clutter_canvas_set_scale_factor (CLUTTER_CANVAS (content), resource_scale);
+ resource_scale = clutter_actor_get_resource_scale (CLUTTER_ACTOR (self));
+ clutter_canvas_set_scale_factor (CLUTTER_CANVAS (content), resource_scale);
}
static void
@@ -215,15 +210,10 @@ st_drawing_area_get_surface_size (StDrawingArea *area,
content = clutter_actor_get_content (CLUTTER_ACTOR (area));
clutter_content_get_preferred_size (content, &w, &h);
- if (st_widget_get_resource_scale (ST_WIDGET (area), &resource_scale))
- {
- w /= resource_scale;
- h /= resource_scale;
- }
- else
- {
- w = h = 0.0f;
- }
+ resource_scale = clutter_actor_get_resource_scale (CLUTTER_ACTOR (area));
+
+ w /= resource_scale;
+ h /= resource_scale;
if (width)
*width = ceilf (w);
diff --git a/src/st/st-icon.c b/src/st/st-icon.c
index 38d58205d5..3657ccc2c8 100644
--- a/src/st/st-icon.c
+++ b/src/st/st-icon.c
@@ -425,8 +425,7 @@ st_icon_update (StIcon *icon)
return;
}
- if (!st_widget_get_resource_scale (ST_WIDGET (icon), &resource_scale))
- return;
+ resource_scale = clutter_actor_get_resource_scale (CLUTTER_ACTOR (icon));
theme_node = st_widget_peek_theme_node (ST_WIDGET (icon));
if (theme_node == NULL)
diff --git a/src/st/st-label.c b/src/st/st-label.c
index 7415dec29c..4d8271d694 100644
--- a/src/st/st-label.c
+++ b/src/st/st-label.c
@@ -201,44 +201,42 @@ st_label_paint (ClutterActor *actor,
if (shadow_spec)
{
+ ClutterActorBox allocation;
+ float width, height;
float resource_scale;
- if (clutter_actor_get_resource_scale (priv->label, &resource_scale))
+ clutter_actor_get_allocation_box (priv->label, &allocation);
+ clutter_actor_box_get_size (&allocation, &width, &height);
+
+ resource_scale = clutter_actor_get_resource_scale (priv->label);
+
+ width *= resource_scale;
+ height *= resource_scale;
+
+ if (priv->text_shadow_pipeline == NULL ||
+ width != priv->shadow_width ||
+ height != priv->shadow_height)
+ {
+ g_clear_pointer (&priv->text_shadow_pipeline, cogl_object_unref);
+
+ priv->shadow_width = width;
+ priv->shadow_height = height;
+ priv->text_shadow_pipeline =
+ _st_create_shadow_pipeline_from_actor (shadow_spec,
+ priv->label);
+ }
+
+ if (priv->text_shadow_pipeline != NULL)
{
- ClutterActorBox allocation;
- float width, height;
-
- clutter_actor_get_allocation_box (priv->label, &allocation);
- clutter_actor_box_get_size (&allocation, &width, &height);
-
- width *= resource_scale;
- height *= resource_scale;
-
- if (priv->text_shadow_pipeline == NULL ||
- width != priv->shadow_width ||
- height != priv->shadow_height)
- {
- g_clear_pointer (&priv->text_shadow_pipeline, cogl_object_unref);
-
- priv->shadow_width = width;
- priv->shadow_height = height;
- priv->text_shadow_pipeline =
- _st_create_shadow_pipeline_from_actor (shadow_spec,
- priv->label);
- }
-
- if (priv->text_shadow_pipeline != NULL)
- {
- CoglFramebuffer *framebuffer;
-
- framebuffer =
- clutter_paint_context_get_framebuffer (paint_context);
- _st_paint_shadow_with_opacity (shadow_spec,
- framebuffer,
- priv->text_shadow_pipeline,
- &allocation,
- clutter_actor_get_paint_opacity (priv->label));
- }
+ CoglFramebuffer *framebuffer;
+
+ framebuffer =
+ clutter_paint_context_get_framebuffer (paint_context);
+ _st_paint_shadow_with_opacity (shadow_spec,
+ framebuffer,
+ priv->text_shadow_pipeline,
+ &allocation,
+ clutter_actor_get_paint_opacity (priv->label));
}
}
diff --git a/src/st/st-private.c b/src/st/st-private.c
index 16a5e15dd6..a491c19535 100644
--- a/src/st/st-private.c
+++ b/src/st/st-private.c
@@ -461,8 +461,7 @@ _st_create_shadow_pipeline_from_actor (StShadow *shadow_spec,
if (width == 0 || height == 0)
return NULL;
- if (!clutter_actor_get_resource_scale (actor, &resource_scale))
- return NULL;
+ resource_scale = clutter_actor_get_resource_scale (actor);
width = ceilf (width * resource_scale);
height = ceilf (height * resource_scale);
diff --git a/src/st/st-widget.c b/src/st/st-widget.c
index 9efffbd762..3d732a74a7 100644
--- a/src/st/st-widget.c
+++ b/src/st/st-widget.c
@@ -412,8 +412,7 @@ st_widget_paint_background (StWidget *widget,
float resource_scale;
guint8 opacity;
- if (!st_widget_get_resource_scale (widget, &resource_scale))
- return;
+ resource_scale = clutter_actor_get_resource_scale (CLUTTER_ACTOR (widget));
framebuffer = clutter_paint_context_get_framebuffer (paint_context);
theme_node = st_widget_get_theme_node (widget);
@@ -1413,8 +1412,10 @@ gboolean
st_widget_get_resource_scale (StWidget *widget,
float *resource_scale)
{
- return clutter_actor_get_resource_scale (CLUTTER_ACTOR (widget),
- resource_scale);
+ if (resource_scale)
+ *resource_scale = clutter_actor_get_resource_scale (CLUTTER_ACTOR (widget));
+
+ return TRUE;
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]