From 35a96bde514a8897f6f0fcc41c5833bf63df2e2a Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 18:29:01 +0200 Subject: Adding upstream version 1.0.2. Signed-off-by: Daniel Baumann --- src/display/canvas-arena.h | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/display/canvas-arena.h (limited to 'src/display/canvas-arena.h') diff --git a/src/display/canvas-arena.h b/src/display/canvas-arena.h new file mode 100644 index 0000000..8d40964 --- /dev/null +++ b/src/display/canvas-arena.h @@ -0,0 +1,72 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +#ifndef SEEN_SP_CANVAS_ARENA_H +#define SEEN_SP_CANVAS_ARENA_H + +/* + * RGBA display list system for inkscape + * + * Author: + * Lauris Kaplinski + * + * Copyright (C) 2001-2002 Lauris Kaplinski + * Copyright (C) 2001 Ximian, Inc. + * + * Released under GNU GPL v2+, read the file 'COPYING' for more information. + */ + +#include <2geom/rect.h> + +#include "display/drawing.h" +#include "display/drawing-item.h" +#include "display/sp-canvas.h" +#include "display/sp-canvas-item.h" + +#define SP_TYPE_CANVAS_ARENA (sp_canvas_arena_get_type ()) +#define SP_CANVAS_ARENA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SP_TYPE_CANVAS_ARENA, SPCanvasArena)) +#define SP_CANVAS_ARENA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SP_TYPE_CANVAS_ARENA, SPCanvasArenaClass)) +#define SP_IS_CANVAS_ARENA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SP_TYPE_CANVAS_ARENA)) +#define SP_IS_CANVAS_ARENA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SP_TYPE_CANVAS_ARENA)) + +typedef struct _SPCanvasArena SPCanvasArena; +typedef struct _SPCanvasArenaClass SPCanvasArenaClass; +typedef struct _cairo_surface cairo_surface_t; +struct CachePrefObserver; + +namespace Inkscape { + +class Drawing; +class DrawingItem; + +} // namespace Inkscape + +struct _SPCanvasArena { + SPCanvasItem item; + + guint cursor : 1; + guint sticky : 1; + Geom::Point c; // what is this? + + Inkscape::Drawing drawing; + Inkscape::UpdateContext ctx; + + Inkscape::DrawingItem *active; + /* fixme: */ + Inkscape::DrawingItem *picked; + CachePrefObserver *observer; + double delta; +}; + +struct _SPCanvasArenaClass { + SPCanvasItemClass parent_class; + + gint (* arena_event) (SPCanvasArena *carena, Inkscape::DrawingItem *item, GdkEvent *event); +}; + +GType sp_canvas_arena_get_type (); + +void sp_canvas_arena_set_pick_delta (SPCanvasArena *ca, gdouble delta); +void sp_canvas_arena_set_sticky (SPCanvasArena *ca, gboolean sticky); + +void sp_canvas_arena_render_surface (SPCanvasArena *ca, cairo_surface_t *surface, Geom::IntRect const &area); + +#endif // SEEN_SP_CANVAS_ARENA_H -- cgit v1.2.3