1 #ifndef __NR_ARENA_GROUP_H__
2 #define __NR_ARENA_GROUP_H__
4 /*
5 * RGBA display list system for inkscape
6 *
7 * Author:
8 * Lauris Kaplinski <lauris@ximian.com>
9 *
10 * Copyright (C) 2001 Lauris Kaplinski and Ximian, Inc.
11 *
12 * Released under GNU GPL
13 *
14 */
16 #define NR_TYPE_ARENA_GROUP (nr_arena_group_get_type ())
17 #define NR_ARENA_GROUP(o) (NR_CHECK_INSTANCE_CAST ((o), NR_TYPE_ARENA_GROUP, NRArenaGroup))
18 #define NR_IS_ARENA_GROUP(o) (NR_CHECK_INSTANCE_TYPE ((o), NR_TYPE_ARENA_GROUP))
20 #include "nr-arena-item.h"
22 NRType nr_arena_group_get_type (void);
24 struct NRArenaGroup : public NRArenaItem{
25 unsigned int transparent : 1;
26 NRArenaItem *children;
27 NRArenaItem *last;
28 NRMatrix child_transform;
30 static NRArenaGroup *create(NRArena *arena) {
31 NRArenaGroup *obj=reinterpret_cast<NRArenaGroup *>(nr_object_new(NR_TYPE_ARENA_GROUP));
32 obj->init(arena);
33 return obj;
34 }
35 };
37 struct NRArenaGroupClass {
38 NRArenaItemClass parent_class;
39 };
41 void nr_arena_group_set_transparent (NRArenaGroup *group, unsigned int transparent);
43 void nr_arena_group_set_child_transform(NRArenaGroup *group, NR::Matrix const &t);
44 void nr_arena_group_set_child_transform(NRArenaGroup *group, NRMatrix const *t);
46 #endif