summaryrefslogtreecommitdiffstats
path: root/src/display/gnome-canvas-acetate.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/display/gnome-canvas-acetate.cpp')
-rw-r--r--src/display/gnome-canvas-acetate.cpp71
1 files changed, 71 insertions, 0 deletions
diff --git a/src/display/gnome-canvas-acetate.cpp b/src/display/gnome-canvas-acetate.cpp
new file mode 100644
index 0000000..5157ab8
--- /dev/null
+++ b/src/display/gnome-canvas-acetate.cpp
@@ -0,0 +1,71 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * Infinite invisible canvas item
+ *
+ * Author:
+ * Federico Mena <federico@nuclecu.unam.mx>
+ * Raph Levien <raph@acm.org>
+ * Lauris Kaplinski <lauris@kaplinski.com>
+ * Jon A. Cruz <jon@joncruz.org>
+ *
+ * Copyright (C) 1998-1999 The Free Software Foundation
+ * Copyright (C) 2002 Lauris Kaplinski
+ *
+ * Released under GNU GPL v2+, read the file 'COPYING' for more information.
+ */
+
+#include "gnome-canvas-acetate.h"
+#include "ui/event-debug.h"
+
+static void sp_canvas_acetate_destroy(SPCanvasItem *object);
+
+static void sp_canvas_acetate_update (SPCanvasItem *item, Geom::Affine const &affine, unsigned int flags);
+static double sp_canvas_acetate_point (SPCanvasItem *item, Geom::Point p, SPCanvasItem **actual_item);
+static int sp_canvas_acetate_event( SPCanvasItem *item, GdkEvent *event);
+
+G_DEFINE_TYPE(SPCanvasAcetate, sp_canvas_acetate, SP_TYPE_CANVAS_ITEM);
+
+static void sp_canvas_acetate_class_init (SPCanvasAcetateClass *klass)
+{
+ SPCanvasItemClass *item_class = (SPCanvasItemClass *) klass;
+
+ item_class->destroy = sp_canvas_acetate_destroy;
+ item_class->update = sp_canvas_acetate_update;
+ item_class->point = sp_canvas_acetate_point;
+ // item_class->event = sp_canvas_acetate_event;
+}
+
+static void sp_canvas_acetate_init (SPCanvasAcetate */*acetate*/)
+{
+ /* Nothing here */
+}
+
+static void sp_canvas_acetate_destroy(SPCanvasItem *object)
+{
+ g_return_if_fail (object != nullptr);
+ g_return_if_fail (GNOME_IS_CANVAS_ACETATE (object));
+
+ if (SP_CANVAS_ITEM_CLASS(sp_canvas_acetate_parent_class)->destroy)
+ SP_CANVAS_ITEM_CLASS(sp_canvas_acetate_parent_class)->destroy(object);
+}
+
+static void sp_canvas_acetate_update( SPCanvasItem *item, Geom::Affine const &/*affine*/, unsigned int /*flags*/ )
+{
+ item->x1 = -G_MAXINT;
+ item->y1 = -G_MAXINT;
+ item->x2 = G_MAXINT;
+ item->y2 = G_MAXINT;
+}
+
+static double sp_canvas_acetate_point( SPCanvasItem *item, Geom::Point /*p*/, SPCanvasItem **actual_item )
+{
+ *actual_item = item;
+
+ return 0.0;
+}
+
+// static int sp_canvas_acetate_event( SPCanvasItem *item, GdkEvent *event)
+// {
+// ui_dump_event (event, "sp_canvas_acetate_event");
+// return 0; // ?
+// }