Code

Split SPCanvasItem and SPCanvasGroup to individual .h files. Removed forward header.
[inkscape.git] / src / display / canvas-arena.h
1 #ifndef SEEN_SP_CANVAS_ARENA_H
2 #define SEEN_SP_CANVAS_ARENA_H
4 /*
5  * RGBA display list system for inkscape
6  *
7  * Author:
8  *   Lauris Kaplinski <lauris@kaplinski.com>
9  *
10  * Copyright (C) 2001-2002 Lauris Kaplinski
11  * Copyright (C) 2001 Ximian, Inc.
12  *
13  * Released under GNU GPL, read the file 'COPYING' for more information
14  */
16 #include "sp-canvas-item.h"
17 #include "nr-arena-item.h"
19 G_BEGIN_DECLS
21 #define SP_TYPE_CANVAS_ARENA (sp_canvas_arena_get_type ())
22 #define SP_CANVAS_ARENA(obj) (GTK_CHECK_CAST ((obj), SP_TYPE_CANVAS_ARENA, SPCanvasArena))
23 #define SP_CANVAS_ARENA_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), SP_TYPE_CANVAS_ARENA, SPCanvasArenaClass))
24 #define SP_IS_CANVAS_ARENA(obj) (GTK_CHECK_TYPE ((obj), SP_TYPE_CANVAS_ARENA))
25 #define SP_IS_CANVAS_ARENA_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), SP_TYPE_CANVAS_ARENA))
27 typedef struct _SPCanvasArena      SPCanvasArena;
28 typedef struct _SPCanvasArenaClass SPCanvasArenaClass;
30 struct _SPCanvasArena {
31     SPCanvasItem item;
33     guint cursor : 1;
34     guint sticky : 1;
35     Geom::Point c; // what is this?
37     NRArena *arena;
38     NRArenaItem *root;
39     NRGC gc;
41     NRArenaItem *active;
42     /* fixme: */
43     NRArenaItem *picked;
44     gdouble delta;
45 };
47 struct _SPCanvasArenaClass {
48     SPCanvasItemClass parent_class;
50     gint (* arena_event) (SPCanvasArena *carena, NRArenaItem *item, GdkEvent *event);
51 };
53 GtkType sp_canvas_arena_get_type (void);
55 void sp_canvas_arena_set_pick_delta (SPCanvasArena *ca, gdouble delta);
56 void sp_canvas_arena_set_sticky (SPCanvasArena *ca, gboolean sticky);
58 void sp_canvas_arena_render_pixblock (SPCanvasArena *ca, NRPixBlock *pb);
60 G_END_DECLS
62 #endif // SEEN_SP_CANVAS_ARENA_H