Code

1b699fd04f8c25ae2d2d453b29fe2b9e620215fc
[inkscape.git] / src / display / nr-arena-group.h
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"
21 #include "style.h"
23 NRType nr_arena_group_get_type (void);
25 struct NRArenaGroup : public NRArenaItem{
26     unsigned int transparent : 1;
27     NRArenaItem *children;
28     NRArenaItem *last;
29     NRMatrix child_transform;
30     SPStyle *style;
32     static NRArenaGroup *create(NRArena *arena) {
33         NRArenaGroup *obj = reinterpret_cast<NRArenaGroup *>(nr_object_new(NR_TYPE_ARENA_GROUP));
34         obj->init(arena);
35         return obj;
36     }
37 };
39 struct NRArenaGroupClass {
40     NRArenaItemClass parent_class;
41 };
43 void nr_arena_group_set_transparent(NRArenaGroup *group, unsigned int transparent);
45 void nr_arena_group_set_child_transform(NRArenaGroup *group, NR::Matrix const &t);
46 void nr_arena_group_set_child_transform(NRArenaGroup *group, NRMatrix const *t);
47 void nr_arena_group_set_style(NRArenaGroup *group, SPStyle *style);
49 #endif
52 /*
53   Local Variables:
54   mode:c++
55   c-file-style:"stroustrup"
56   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
57   indent-tabs-mode:nil
58   fill-column:99
59   End:
60 */
61 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :