forked from AuroraMiddleware/gtk
gsk: Add gsk_render_node_write_to_file()
For when you're in a debugger and need to have a closer look at this node...
This commit is contained in:
parent
087ea8e531
commit
5e089c4345
@ -30,6 +30,9 @@ gsk_render_node_unref
|
|||||||
GskRenderNodeType
|
GskRenderNodeType
|
||||||
gsk_render_node_get_node_type
|
gsk_render_node_get_node_type
|
||||||
gsk_render_node_draw
|
gsk_render_node_draw
|
||||||
|
gsk_render_node_serialize
|
||||||
|
gsk_render_node_deserialize
|
||||||
|
gsk_render_node_write_to_file
|
||||||
GskScalingFilter
|
GskScalingFilter
|
||||||
gsk_render_node_set_scaling_filters
|
gsk_render_node_set_scaling_filters
|
||||||
gsk_render_node_set_name
|
gsk_render_node_set_name
|
||||||
|
@ -317,6 +317,42 @@ gsk_render_node_serialize (GskRenderNode *node)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gsk_render_node_write_to_file:
|
||||||
|
* @node: a #GskRenderNode
|
||||||
|
* @filename: the file to save it to.
|
||||||
|
* @error: Return location for a potential error
|
||||||
|
*
|
||||||
|
* This function is equivalent to calling gsk_render_node_serialize()
|
||||||
|
* followed by g_file_set_contents(). See those two functions for details
|
||||||
|
* on the arguments.
|
||||||
|
*
|
||||||
|
* It is mostly intended for use inside a debugger to quickly dump a render
|
||||||
|
* node to a file for later inspection.
|
||||||
|
*
|
||||||
|
* Returns: %TRUE if saving was successful
|
||||||
|
**/
|
||||||
|
gboolean
|
||||||
|
gsk_render_node_write_to_file (GskRenderNode *node,
|
||||||
|
const char *filename,
|
||||||
|
GError **error)
|
||||||
|
{
|
||||||
|
GBytes *bytes;
|
||||||
|
gboolean result;
|
||||||
|
|
||||||
|
g_return_val_if_fail (GSK_IS_RENDER_NODE (node), FALSE);
|
||||||
|
g_return_val_if_fail (filename != NULL, FALSE);
|
||||||
|
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
|
||||||
|
|
||||||
|
bytes = gsk_render_node_serialize (node);
|
||||||
|
result = g_file_set_contents (filename,
|
||||||
|
g_bytes_get_data (bytes, NULL),
|
||||||
|
g_bytes_get_size (bytes),
|
||||||
|
error);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
GskRenderNode *
|
GskRenderNode *
|
||||||
gsk_render_node_deserialize (GBytes *bytes)
|
gsk_render_node_deserialize (GBytes *bytes)
|
||||||
{
|
{
|
||||||
|
@ -177,6 +177,10 @@ void gsk_render_node_draw (GskRenderNode *
|
|||||||
GDK_AVAILABLE_IN_3_90
|
GDK_AVAILABLE_IN_3_90
|
||||||
GBytes * gsk_render_node_serialize (GskRenderNode *node);
|
GBytes * gsk_render_node_serialize (GskRenderNode *node);
|
||||||
GDK_AVAILABLE_IN_3_90
|
GDK_AVAILABLE_IN_3_90
|
||||||
|
gboolean gsk_render_node_write_to_file (GskRenderNode *node,
|
||||||
|
const char *filename,
|
||||||
|
GError **error);
|
||||||
|
GDK_AVAILABLE_IN_3_90
|
||||||
GskRenderNode * gsk_render_node_deserialize (GBytes *bytes);
|
GskRenderNode * gsk_render_node_deserialize (GBytes *bytes);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
Loading…
Reference in New Issue
Block a user