void R2D_InitGroup(Render2D *sr, GF_Node *node) { GroupingNode2D *stack = (GroupingNode2D *)malloc(sizeof(GroupingNode2D)); SetupGroupingNode2D(stack, sr, node); gf_node_set_private(node, stack); gf_node_set_callback_function(node, RenderGroup); }
void R2D_InitColorTransform(Render2D *sr, GF_Node *node) { ColorTransformStack *stack = (ColorTransformStack *)malloc(sizeof(ColorTransformStack)); SetupGroupingNode2D((GroupingNode2D *)stack, sr, node); gf_cmx_init(&stack->cmat); gf_node_set_private(node, stack); gf_node_set_callback_function(node, RenderColorTransform); }
void R2D_InitTransformMatrix2D(Render2D *sr, GF_Node *node) { Transform2DStack *stack = (Transform2DStack *)malloc(sizeof(Transform2DStack)); SetupGroupingNode2D((GroupingNode2D *)stack, sr, node); gf_mx2d_init(stack->mat); gf_node_set_private(node, stack); gf_node_set_callback_function(node, RenderTransformMatrix2D); }
void R2D_InitPathLayout(Render2D *sr, GF_Node *node) { PathLayoutStack *stack; GF_SAFEALLOC(stack, PathLayoutStack); SetupGroupingNode2D((GroupingNode2D*)stack, sr, node); gf_node_set_private(node, stack); gf_node_set_callback_function(node, RenderPathLayout); }
void R2D_InitOrderedGroup(Render2D *sr, GF_Node *node) { OrderedGroupStack *ptr; GF_SAFEALLOC(ptr, OrderedGroupStack); SetupGroupingNode2D((GroupingNode2D*)ptr, sr, node); gf_node_set_private(node, ptr); gf_node_set_callback_function(node, RenderOrderedGroup); }
void R2D_InitPathLayout(Render2D *sr, SFNode *node) { PathLayoutStack *stack; SAFEALLOC(stack, sizeof(PathLayoutStack)); SetupGroupingNode2D((GroupingNode2D*)stack, sr, node); Node_SetPrivate(node, stack); Node_SetPreDestroyFunction(node, DestroyPathLayout); Node_SetRenderFunction(node, RenderPathLayout); }
void R2D_InitLayer2D(Render2D *sr, GF_Node *node) { Layer2DStack *stack = (Layer2DStack *)malloc(sizeof(Layer2DStack)); SetupGroupingNode2D((GroupingNode2D*)stack, sr, node); stack->backs = gf_list_new(); stack->views = gf_list_new(); stack->first = 1; gf_node_set_private(node, stack); gf_node_set_callback_function(node, RenderLayer2D); }
void R2D_InitAnchor(Render2D *sr, GF_Node *node) { AnchorStack *stack; M_Anchor *an = (M_Anchor *)node; GF_SAFEALLOC(stack, AnchorStack); SetupGroupingNode2D((GroupingNode2D*)stack, sr, node); sr->compositor->interaction_sensors++; an->on_activate = on_activate_anchor; stack->hdl.IsEnabled = anchor_is_enabled; stack->hdl.OnUserEvent = OnAnchor; stack->hdl.owner = node; gf_node_set_private(node, stack); gf_node_set_callback_function(node, RenderAnchor); }