~centralelyon2010/inkscape/imagelinks2

« back to all changes in this revision

Viewing changes to src/display/nr-arena.h

  • Committer: JazzyNico
  • Date: 2011-08-29 20:25:30 UTC
  • Revision ID: nicoduf@yahoo.fr-20110829202530-6deuoz11q90usldv
Code refactoring and merging with trunk (revision 10599).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef __NR_ARENA_H__
2
 
#define __NR_ARENA_H__
3
 
 
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
 
 */
15
 
 
16
 
#include <glib/gmacros.h>
17
 
 
18
 
#include "display/rendermode.h"
19
 
 
20
 
G_BEGIN_DECLS
21
 
 
22
 
typedef struct _SPCanvasArena      SPCanvasArena;
23
 
 
24
 
G_END_DECLS
25
 
 
26
 
#define NR_TYPE_ARENA (nr_arena_get_type ())
27
 
#define NR_ARENA(o) (NR_CHECK_INSTANCE_CAST ((o), NR_TYPE_ARENA, NRArena))
28
 
#define NR_IS_ARENA(o) (NR_CHECK_INSTANCE_TYPE ((o), NR_TYPE_ARENA))
29
 
 
30
 
#include <libnr/nr-forward.h>
31
 
#include <libnr/nr-object.h>
32
 
#include "nr-arena-forward.h"
33
 
#include "sp-paint-server.h"
34
 
 
35
 
NRType nr_arena_get_type (void);
36
 
 
37
 
struct NRArenaEventVector {
38
 
        NRObjectEventVector parent;
39
 
        void (* request_update) (NRArena *arena, NRArenaItem *item, void *data);
40
 
        void (* request_render) (NRArena *arena, NRRectL *area, void *data);
41
 
};
42
 
 
43
 
struct NRArena : public NRActiveObject {
44
 
        static NRArena *create() {
45
 
                return reinterpret_cast<NRArena *>(nr_object_new(NR_TYPE_ARENA));
46
 
        }
47
 
 
48
 
        double delta;
49
 
        bool renderoffscreen;  // if true then rendering must be exact
50
 
        Inkscape::RenderMode rendermode;
51
 
        int blurquality;    // will be updated during update from preferences
52
 
        int filterquality;  // will be updated during update from preferences
53
 
 
54
 
        guint32 outlinecolor;
55
 
        SPCanvasArena *canvasarena; // may be NULL is this arena is not the screen but used for export etc.
56
 
};
57
 
 
58
 
struct NRArenaClass : public NRActiveObjectClass {
59
 
};
60
 
 
61
 
void nr_arena_request_update (NRArena *arena, NRArenaItem *item);
62
 
void nr_arena_request_render_rect (NRArena *arena, NRRectL *area);
63
 
void nr_arena_set_renderoffscreen (NRArena *arena);
64
 
 
65
 
void nr_arena_render_paintserver_fill (NRPixBlock *pb, NRRectL *area, SPPainter *painter, float opacity, NRPixBlock *mask);
66
 
 
67
 
void nr_arena_separate_color_plates(guint32* rgba);
68
 
 
69
 
#endif