st-theme-node: Add method to invalidate drawing state
StThemeNode caches its resources aggressively to keep the required work on paint to a minimum - right now, resources are only recreated on allocation changes. In order to update the background-image property correctly when the underlying file changes, resources need to be recreated without a size change, so add an explicit method for that. https://bugzilla.gnome.org/show_bug.cgi?id=679268
This commit is contained in:
parent
dc9ad8df80
commit
c4c470c1f3
@ -2088,3 +2088,10 @@ st_theme_node_copy_cached_paint_state (StThemeNode *node,
|
|||||||
if (other->corner_material[corner_id])
|
if (other->corner_material[corner_id])
|
||||||
node->corner_material[corner_id] = cogl_handle_ref (other->corner_material[corner_id]);
|
node->corner_material[corner_id] = cogl_handle_ref (other->corner_material[corner_id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
st_theme_node_invalidate_paint_state (StThemeNode *node)
|
||||||
|
{
|
||||||
|
node->alloc_width = 0;
|
||||||
|
node->alloc_height = 0;
|
||||||
|
}
|
||||||
|
@ -244,6 +244,7 @@ void st_theme_node_paint (StThemeNode *node,
|
|||||||
|
|
||||||
void st_theme_node_copy_cached_paint_state (StThemeNode *node,
|
void st_theme_node_copy_cached_paint_state (StThemeNode *node,
|
||||||
StThemeNode *other);
|
StThemeNode *other);
|
||||||
|
void st_theme_node_invalidate_paint_state (StThemeNode *node);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user