st-texture-cache: use StImageContent for cairo bound surface
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/5
This commit is contained in:
parent
e3c5c9a2e7
commit
19c60ff5c5
@ -94,7 +94,9 @@ var CtrlAltTabManager = class CtrlAltTabManager {
|
||||
if (app)
|
||||
icon = app.create_icon_texture(POPUP_APPICON_SIZE);
|
||||
else
|
||||
icon = textureCache.bind_cairo_surface_property(windows[i], 'icon');
|
||||
icon = textureCache.bind_cairo_surface_property(windows[i],
|
||||
'icon',
|
||||
POPUP_APPICON_SIZE);
|
||||
}
|
||||
|
||||
items.push({ name: windows[i].title,
|
||||
|
@ -211,8 +211,8 @@ window_backed_app_get_icon (ShellApp *app,
|
||||
|
||||
actor = st_texture_cache_bind_cairo_surface_property (st_texture_cache_get_default (),
|
||||
G_OBJECT (window),
|
||||
"icon");
|
||||
g_object_set (actor, "width", (float) size, "height", (float) size, NULL);
|
||||
"icon",
|
||||
size);
|
||||
return actor;
|
||||
}
|
||||
|
||||
|
@ -679,6 +679,7 @@ load_texture_async (StTextureCache *cache,
|
||||
typedef struct {
|
||||
StTextureCache *cache;
|
||||
ClutterActor *actor;
|
||||
gint size;
|
||||
GObject *source;
|
||||
guint notify_signal_id;
|
||||
gboolean weakref_active;
|
||||
@ -702,7 +703,7 @@ st_texture_cache_reset_texture (StTextureCachePropertyBind *bind,
|
||||
|
||||
image = clutter_actor_get_content (bind->actor);
|
||||
if (!image || !CLUTTER_IS_IMAGE (image))
|
||||
image = clutter_image_new ();
|
||||
image = st_image_content_new_with_preferred_size (bind->size, bind->size);
|
||||
else
|
||||
g_object_ref (image);
|
||||
|
||||
@ -771,17 +772,20 @@ st_texture_cache_free_bind (gpointer data)
|
||||
ClutterActor *
|
||||
st_texture_cache_bind_cairo_surface_property (StTextureCache *cache,
|
||||
GObject *object,
|
||||
const char *property_name)
|
||||
const char *property_name,
|
||||
gint size)
|
||||
{
|
||||
ClutterActor *actor;
|
||||
gchar *notify_key;
|
||||
StTextureCachePropertyBind *bind;
|
||||
|
||||
actor = clutter_actor_new ();
|
||||
actor = create_invisible_actor ();
|
||||
clutter_actor_set_size (actor, size, size);
|
||||
|
||||
bind = g_new0 (StTextureCachePropertyBind, 1);
|
||||
bind->cache = cache;
|
||||
bind->actor = actor;
|
||||
bind->size = size;
|
||||
bind->source = object;
|
||||
g_object_weak_ref (G_OBJECT (actor), st_texture_cache_bind_weak_notify, bind);
|
||||
bind->weakref_active = TRUE;
|
||||
|
@ -65,7 +65,8 @@ st_texture_cache_load_sliced_image (StTextureCache *cache,
|
||||
|
||||
ClutterActor *st_texture_cache_bind_cairo_surface_property (StTextureCache *cache,
|
||||
GObject *object,
|
||||
const char *property_name);
|
||||
const char *property_name,
|
||||
gint size);
|
||||
|
||||
ClutterActor *st_texture_cache_load_gicon (StTextureCache *cache,
|
||||
StThemeNode *theme_node,
|
||||
|
Loading…
Reference in New Issue
Block a user