static void nr_arena_group_set_child_position (NRArenaItem *item, NRArenaItem *child, NRArenaItem *ref) { NRArenaGroup *group; group = NR_ARENA_GROUP (item); nr_arena_item_ref (child); if (child == group->last) group->last = child->prev; if (child->prev) { nr_arena_item_detach_unref (item, child); } else { group->children = nr_arena_item_detach_unref (item, child); } if (!ref) { group->children = nr_arena_item_attach_ref (item, child, NULL, group->children); } else { ref->next = nr_arena_item_attach_ref (item, child, ref, ref->next); } if (ref == group->last) group->last = child; nr_arena_item_unref (child); nr_arena_item_request_render (child); }
SPClipPathView * sp_clippath_view_new_prepend(SPClipPathView *list, unsigned int key, NRArenaItem *arenaitem) { SPClipPathView *new_path_view = g_new(SPClipPathView, 1); new_path_view->next = list; new_path_view->key = key; new_path_view->arenaitem = nr_arena_item_ref(arenaitem); new_path_view->bbox.x0 = new_path_view->bbox.x1 = 0.0; new_path_view->bbox.y0 = new_path_view->bbox.y1 = 0.0; return new_path_view; }