diff options
author | Benjamin Otte <otte@redhat.com> | 2016-12-11 02:59:47 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2016-12-20 18:01:09 +0100 |
commit | 3af4fba895f4e85d6d5ce7866457d87fd9086951 (patch) | |
tree | f3faf829da6e031c6551ce990564be5da185a7bb /gsk/gskrendernode.c | |
parent | abd184efc984d027dad9d2ca1b3e92b670b34af4 (diff) | |
download | gtk+-3af4fba895f4e85d6d5ce7866457d87fd9086951.tar.gz |
gsk: Split render node subclasses out into their own file
Diffstat (limited to 'gsk/gskrendernode.c')
-rw-r--r-- | gsk/gskrendernode.c | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/gsk/gskrendernode.c b/gsk/gskrendernode.c index 4dc12c3a5c..0d088403b0 100644 --- a/gsk/gskrendernode.c +++ b/gsk/gskrendernode.c @@ -753,61 +753,6 @@ gsk_render_node_update_world_matrix (GskRenderNode *node, } } -GskTexture * -gsk_texture_node_get_texture (GskRenderNode *node) -{ - g_return_val_if_fail (GSK_IS_RENDER_NODE (node), 0); - g_return_val_if_fail (node->type == GSK_TEXTURE_NODE, 0); - - return node->texture; -} - -/** - * gsk_texture_node_new: - * @texture: the #GskTexture - * @bounds: the rectangle to render the texture into - * - * Creates a #GskRenderNode that will render the given - * @texture into the area given by @bounds. - * - * Returns: A new #GskRenderNode - * - * Since: 3.90 - */ -GskRenderNode * -gsk_texture_node_new (GskTexture *texture, - const graphene_rect_t *bounds) -{ - GskRenderNode *node; - - g_return_val_if_fail (GSK_IS_TEXTURE (texture), NULL); - g_return_val_if_fail (bounds != NULL, NULL); - - node = gsk_render_node_new (GSK_TEXTURE_NODE); - - node->texture = gsk_texture_ref (texture); - graphene_rect_init_from_rect (&node->bounds, bounds); - - return node; -} - -/*< private > - * gsk_cairo_node_get_surface: - * @node: a #GskRenderNode - * - * Retrieves the surface set using gsk_render_node_set_surface(). - * - * Returns: (transfer none) (nullable): a Cairo surface - */ -cairo_surface_t * -gsk_cairo_node_get_surface (GskRenderNode *node) -{ - g_return_val_if_fail (GSK_IS_RENDER_NODE (node), NULL); - g_return_val_if_fail (node->type == GSK_CAIRO_NODE, NULL); - - return node->surface; -} - void gsk_render_node_set_scaling_filters (GskRenderNode *node, GskScalingFilter min_filter, @@ -930,119 +875,6 @@ gsk_render_node_get_blend_mode (GskRenderNode *node) return node->blend_mode; } -/** - * gsk_cairo_node_new: - * @bounds: the rectangle to render the to - * - * Creates a #GskRenderNode that will render a cairo surface - * into the area given by @bounds. You can draw to the cairo - * surface using gsk_cairo_node_get_draw_context() - * - * Returns: A new #GskRenderNode - * - * Since: 3.90 - */ -GskRenderNode * -gsk_cairo_node_new (const graphene_rect_t *bounds) -{ - GskRenderNode *node; - - g_return_val_if_fail (bounds != NULL, NULL); - - node = gsk_render_node_new (GSK_CAIRO_NODE); - - graphene_rect_init_from_rect (&node->bounds, bounds); - - return node; -} - -/** - * gsk_cairo_node_get_draw_context: - * @node: a cairo #GskRenderNode - * @renderer: (nullable): Renderer to optimize for or %NULL for any - * - * Creates a Cairo context for drawing using the surface associated - * to the render node. - * If no surface exists yet, a surface will be created optimized for - * rendering to @renderer. - * - * Returns: (transfer full): a Cairo context used for drawing; use - * cairo_destroy() when done drawing - * - * Since: 3.90 - */ -cairo_t * -gsk_cairo_node_get_draw_context (GskRenderNode *node, - GskRenderer *renderer) -{ - int width, height; - cairo_t *res; - - g_return_val_if_fail (GSK_IS_RENDER_NODE (node), NULL); - g_return_val_if_fail (node->type == GSK_CAIRO_NODE, NULL); - g_return_val_if_fail (node->is_mutable, NULL); - g_return_val_if_fail (renderer == NULL || GSK_IS_RENDERER (renderer), NULL); - - width = ceilf (node->bounds.size.width); - height = ceilf (node->bounds.size.height); - - if (width <= 0 || height <= 0) - { - cairo_surface_t *surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 0, 0); - res = cairo_create (surface); - cairo_surface_destroy (surface); - } - else if (node->surface == NULL) - { - if (renderer) - { - node->surface = gsk_renderer_create_cairo_surface (renderer, - node->opaque ? CAIRO_FORMAT_RGB24 - : CAIRO_FORMAT_ARGB32, - ceilf (node->bounds.size.width), - ceilf (node->bounds.size.height)); - } - else - { - node->surface = cairo_image_surface_create (node->opaque ? CAIRO_FORMAT_RGB24 - : CAIRO_FORMAT_ARGB32, - ceilf (node->bounds.size.width), - ceilf (node->bounds.size.height)); - } - res = cairo_create (node->surface); - } - else - { - res = cairo_create (node->surface); - } - - cairo_translate (res, -node->bounds.origin.x, -node->bounds.origin.y); - - cairo_rectangle (res, - node->bounds.origin.x, node->bounds.origin.y, - node->bounds.size.width, node->bounds.size.height); - cairo_clip (res); - - if (GSK_DEBUG_CHECK (SURFACE)) - { - const char *prefix; - prefix = g_getenv ("GSK_DEBUG_PREFIX"); - if (!prefix || g_str_has_prefix (node->name, prefix)) - { - cairo_save (res); - cairo_rectangle (res, - node->bounds.origin.x + 1, node->bounds.origin.y + 1, - node->bounds.size.width - 2, node->bounds.size.height - 2); - cairo_set_line_width (res, 2); - cairo_set_source_rgb (res, 1, 0, 0); - cairo_stroke (res); - cairo_restore (res); - } - } - - return res; -} - /*< private > * gsk_render_node_make_immutable: * @node: a #GskRenderNode |