Пример #1
0
void compositor_init_untransform(GF_Compositor *compositor, GF_Node *node)
{
    Untransform tr;
    if (Untransform_GetNode(node, &tr)) {
        UntransformStack *stack;
        GF_SAFEALLOC(stack, UntransformStack);
        gf_node_set_private(node, stack);
        gf_node_set_callback_function(node, TraverseUntransform);
        stack->untr = tr;
        gf_node_proto_set_grouping(node);
    }
}
Пример #2
0
void compositor_init_depth_group(GF_Compositor *compositor, GF_Node *node)
{
    DepthGroup dg;
    if (DepthGroup_GetNode(node, &dg)) {
        DepthGroupStack *stack;
        GF_SAFEALLOC(stack, DepthGroupStack);
        gf_node_set_private(node, stack);
        gf_node_set_callback_function(node, TraverseDepthGroup);
        stack->dg = dg;
        gf_node_proto_set_grouping(node);
    } else GF_LOG(GF_LOG_DEBUG, GF_LOG_COMPOSE, ("[Compositor2D] Unable to initialize depth group  \n"));

}
Пример #3
0
void compositor_init_offscreen_group(GF_Compositor *compositor, GF_Node *node)
{
    OffscreenGroup og;
    if (OffscreenGroup_GetNode(node, &og)) {
        OffscreenGroupStack *stack;
        GF_SAFEALLOC(stack, OffscreenGroupStack);
        gf_node_set_private(node, stack);
        gf_node_set_callback_function(node, TraverseOffscreenGroup);
        stack->og = og;
        if (og.offscreen) stack->flags |= GROUP_IS_CACHED;
        gf_node_proto_set_grouping(node);
    }
}
Пример #4
0
void compositor_init_style_group(GF_Compositor *compositor, GF_Node *node)
{
	StyleGroup sg;
	if (StyleGroup_GetNode(node, &sg)) {
		StyleGroupStack *stack;
		GF_SAFEALLOC(stack, StyleGroupStack);
		gf_node_set_private(node, stack);
		gf_node_set_callback_function(node, TraverseStyleGroup);
		stack->sg = sg;
		gf_node_proto_set_grouping(node);
	} else {
		GF_LOG(GF_LOG_DEBUG, GF_LOG_COMPOSE, ("[Compositor2D] Unable to initialize style group\n"));
	}
}
Пример #5
0
void compositor_init_plane_clipper(GF_Compositor *compositor, GF_Node *node)
{
    PlaneClipper pc;
    if (PlaneClipper_GetNode(node, &pc)) {
        PlaneClipperStack *stack;
        GF_SAFEALLOC(stack, PlaneClipperStack);
        //SetupGroupingNode(stack, compositor->compositor, node, & pc.children);
        gf_node_set_private(node, stack);
        gf_node_set_callback_function(node, TraversePlaneClipper);
        /*we're a grouping node, force bounds rebuild as soon as loaded*/
        gf_node_dirty_set(node, GF_SG_CHILD_DIRTY, 0);

        stack->pc = pc;
        gf_node_proto_set_grouping(node);
    }
}