void nr_arena_group_set_child_transform(NRArenaGroup *group, Geom::Matrix const *t) { if (!t) t = &GEOM_MATRIX_IDENTITY; if (!Geom::matrix_equalp(*t, group->child_transform, NR_EPSILON)) { nr_arena_item_request_render (NR_ARENA_ITEM (group)); group->child_transform = *t; nr_arena_item_request_update (NR_ARENA_ITEM (group), NR_ARENA_ITEM_STATE_ALL, TRUE); } }
void nr_arena_group_set_child_transform (NRArenaGroup *group, NRMatrixF *t) { if (!t) t = &NR_MATRIX_F_IDENTITY; if (!NR_MATRIX_DF_TEST_CLOSE (t, &group->child_transform, NR_EPSILON_F)) { nr_arena_item_request_render (NR_ARENA_ITEM (group)); group->child_transform = *t; nr_arena_item_request_update (NR_ARENA_ITEM (group), NR_ARENA_ITEM_STATE_ALL, TRUE); } }
static void nr_arena_group_finalize (NRObject *object) { NRArenaItem *item; NRArenaGroup *group; item = NR_ARENA_ITEM (object); group = NR_ARENA_GROUP (object); while (group->children) { group->children = nr_arena_item_detach_unref (item, group->children); } ((NRObjectClass *) (parent_class))->finalize (object); }