mirror of
https://github.com/brl/mutter.git
synced 2024-11-24 00:50:42 -05:00
clutter/paint-nodes: Add serialization to layer node
It's useful to know which framebuffer the layer node is holding, so serialize that too. https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1340
This commit is contained in:
parent
c261eb736a
commit
96e8074a4f
@ -1474,6 +1474,25 @@ clutter_layer_node_finalize (ClutterPaintNode *node)
|
||||
CLUTTER_PAINT_NODE_CLASS (clutter_layer_node_parent_class)->finalize (node);
|
||||
}
|
||||
|
||||
static JsonNode *
|
||||
clutter_layer_node_serialize (ClutterPaintNode *node)
|
||||
{
|
||||
ClutterLayerNode *layer_node = CLUTTER_LAYER_NODE (node);
|
||||
g_autoptr (JsonBuilder) builder = NULL;
|
||||
g_autofree char *framebuffer_ptr = NULL;
|
||||
|
||||
builder = json_builder_new ();
|
||||
|
||||
framebuffer_ptr = g_strdup_printf ("%p", layer_node->offscreen);
|
||||
|
||||
json_builder_begin_object (builder);
|
||||
json_builder_set_member_name (builder, "framebuffer");
|
||||
json_builder_add_string_value (builder, framebuffer_ptr);
|
||||
json_builder_end_object (builder);
|
||||
|
||||
return json_builder_get_root (builder);
|
||||
}
|
||||
|
||||
static void
|
||||
clutter_layer_node_class_init (ClutterLayerNodeClass *klass)
|
||||
{
|
||||
@ -1483,6 +1502,7 @@ clutter_layer_node_class_init (ClutterLayerNodeClass *klass)
|
||||
node_class->pre_draw = clutter_layer_node_pre_draw;
|
||||
node_class->post_draw = clutter_layer_node_post_draw;
|
||||
node_class->finalize = clutter_layer_node_finalize;
|
||||
node_class->serialize = clutter_layer_node_serialize;
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user