#include "gsktransformprivate.h"
#include "gdk/gdktextureprivate.h"
+#include "gdk/gdkmemoryformatprivate.h"
#include "gdk/gdk-private.h"
#include <hb-ot.h>
self->texture = g_object_ref (texture);
graphene_rect_init_from_rect (&node->bounds, bounds);
+ node->prefers_high_depth = gdk_memory_format_prefers_high_depth (gdk_texture_get_format (texture));
+
return node;
}
self->children[0] = gsk_render_node_ref (children[0]);
graphene_rect_init_from_rect (&bounds, &(children[0]->bounds));
+ node->prefers_high_depth = gsk_render_node_prefers_high_depth (children[0]);
for (guint i = 1; i < n_children; i++)
{
self->children[i] = gsk_render_node_ref (children[i]);
graphene_rect_union (&bounds, &(children[i]->bounds), &bounds);
+ node->prefers_high_depth |= gsk_render_node_prefers_high_depth (children[i]);
}
graphene_rect_init_from_rect (&node->bounds, &bounds);
&child->bounds,
&node->bounds);
+ node->prefers_high_depth = gsk_render_node_prefers_high_depth (child);
+
return node;
}
graphene_rect_init_from_rect (&node->bounds, &child->bounds);
+ node->prefers_high_depth = gsk_render_node_prefers_high_depth (child);
+
return node;
}
graphene_rect_init_from_rect (&node->bounds, &child->bounds);
+ node->prefers_high_depth = gsk_render_node_prefers_high_depth (child);
+
return node;
}
else
graphene_rect_init_from_rect (&self->child_bounds, &child->bounds);
+ node->prefers_high_depth = gsk_render_node_prefers_high_depth (child);
+
return node;
}
graphene_rect_intersection (&self->clip, &child->bounds, &node->bounds);
+ node->prefers_high_depth = gsk_render_node_prefers_high_depth (child);
+
return node;
}
graphene_rect_intersection (&self->clip.bounds, &child->bounds, &node->bounds);
+ node->prefers_high_depth = gsk_render_node_prefers_high_depth (child);
+
return node;
}
gsk_shadow_node_get_bounds (self, &node->bounds);
+ node->prefers_high_depth = gsk_render_node_prefers_high_depth (child);
+
return node;
}
graphene_rect_union (&bottom->bounds, &top->bounds, &node->bounds);
+ node->prefers_high_depth = gsk_render_node_prefers_high_depth (bottom) || gsk_render_node_prefers_high_depth (top);
+
return node;
}
graphene_rect_union (&start->bounds, &end->bounds, &node->bounds);
+ node->prefers_high_depth = gsk_render_node_prefers_high_depth (start) || gsk_render_node_prefers_high_depth (end);
+
return node;
}
- clip_radius,
- clip_radius);
+ node->prefers_high_depth = gsk_render_node_prefers_high_depth (child);
+
return node;
}
graphene_rect_init_from_rect (&node->bounds, &child->bounds);
+ node->prefers_high_depth = gsk_render_node_prefers_high_depth (child);
+
return node;
}
{
self->children = g_malloc_n (n_children, sizeof (GskRenderNode *));
for (guint i = 0; i < n_children; i++)
- self->children[i] = gsk_render_node_ref (children[i]);
+ {
+ self->children[i] = gsk_render_node_ref (children[i]);
+ node->prefers_high_depth |= gsk_render_node_prefers_high_depth (children[i]);
+ }
}
return node;