summaryrefslogtreecommitdiffstats
path: root/src/snap-enums.h
diff options
context:
space:
mode:
authorDiederik van Lierop <mailat-signdiedenrezidotnl>2010-01-23 13:36:56 +0000
committerDiederik van Lierop <mailat-signdiedenrezidotnl>2010-01-23 13:36:56 +0000
commitc4aa590bedcf358acf15bdf0d8134ae99e3be167 (patch)
tree6808d0d57dfb83e91d02762c3c12225f1053c83e /src/snap-enums.h
parentFix some of the LPE issues. (diff)
downloadinkscape-c4aa590bedcf358acf15bdf0d8134ae99e3be167.tar.gz
inkscape-c4aa590bedcf358acf15bdf0d8134ae99e3be167.zip
Remove redundancy from snapping API (type of snapsource no longer has to be specified explicitly)
(bzr r9014)
Diffstat (limited to 'src/snap-enums.h')
-rw-r--r--src/snap-enums.h81
1 files changed, 81 insertions, 0 deletions
diff --git a/src/snap-enums.h b/src/snap-enums.h
new file mode 100644
index 000000000..41cc65abb
--- /dev/null
+++ b/src/snap-enums.h
@@ -0,0 +1,81 @@
+#ifndef SNAPENUMS_H_
+#define SNAPENUMS_H_
+
+/**
+ * \file snap-enums.h
+ * \brief enumerations of snap source types and snap target types
+ *
+ * Authors:
+ * Diederik van Lierop <mail@diedenrezi.nl>
+ *
+ * Copyright (C) 2010 Authors
+ *
+ * Released under GNU GPL, read the file 'COPYING' for more information
+ */
+
+namespace Inkscape {
+
+enum SnapTargetType {
+ SNAPTARGET_UNDEFINED = 0,
+ SNAPTARGET_GRID,
+ SNAPTARGET_GRID_INTERSECTION,
+ SNAPTARGET_GUIDE,
+ SNAPTARGET_GUIDE_INTERSECTION,
+ SNAPTARGET_GUIDE_ORIGIN,
+ SNAPTARGET_GRID_GUIDE_INTERSECTION,
+ SNAPTARGET_NODE_SMOOTH,
+ SNAPTARGET_NODE_CUSP,
+ SNAPTARGET_LINE_MIDPOINT,
+ SNAPTARGET_OBJECT_MIDPOINT,
+ SNAPTARGET_ROTATION_CENTER,
+ SNAPTARGET_HANDLE,
+ SNAPTARGET_PATH,
+ SNAPTARGET_PATH_INTERSECTION,
+ SNAPTARGET_BBOX_CORNER,
+ SNAPTARGET_BBOX_EDGE,
+ SNAPTARGET_BBOX_EDGE_MIDPOINT,
+ SNAPTARGET_BBOX_MIDPOINT,
+ SNAPTARGET_PAGE_BORDER,
+ SNAPTARGET_PAGE_CORNER,
+ SNAPTARGET_CONVEX_HULL_CORNER,
+ SNAPTARGET_ELLIPSE_QUADRANT_POINT,
+ SNAPTARGET_CENTER, // of ellipse
+ SNAPTARGET_CORNER, // of image or of rectangle
+ SNAPTARGET_TEXT_BASELINE,
+ SNAPTARGET_CONSTRAINED_ANGLE
+};
+
+enum SnapSourceType {
+ SNAPSOURCE_UNDEFINED = 0,
+ //-------------------------------------------------------------------
+ // Bbox points can be located at the edge of the stroke (for visual bboxes); they will therefore not snap
+ // to nodes because these are always located at the center of the stroke
+ SNAPSOURCE_BBOX_CATEGORY = 256, // will be used as a flag and must therefore be a power of two
+ SNAPSOURCE_BBOX_CORNER,
+ SNAPSOURCE_BBOX_MIDPOINT,
+ SNAPSOURCE_BBOX_EDGE_MIDPOINT,
+ //-------------------------------------------------------------------
+ // For the same reason, nodes will not snap to bbox points
+ SNAPSOURCE_NODE_CATEGORY = 512, // will be used as a flag and must therefore be a power of two
+ SNAPSOURCE_NODE_SMOOTH,
+ SNAPSOURCE_NODE_CUSP,
+ SNAPSOURCE_LINE_MIDPOINT,
+ SNAPSOURCE_PATH_INTERSECTION,
+ SNAPSOURCE_CORNER, // of image or of rectangle
+ SNAPSOURCE_CONVEX_HULL_CORNER,
+ SNAPSOURCE_ELLIPSE_QUADRANT_POINT,
+ SNAPSOURCE_NODE_HANDLE,
+ //-------------------------------------------------------------------
+ // Other points (e.g. guides, gradient knots) will snap to both bounding boxes and nodes
+ SNAPSOURCE_OTHER_CATEGORY = 1024, // will be used as a flag and must therefore be a power of two
+ SNAPSOURCE_OBJECT_MIDPOINT,
+ SNAPSOURCE_ROTATION_CENTER,
+ SNAPSOURCE_CENTER, // of ellipse
+ SNAPSOURCE_GUIDE,
+ SNAPSOURCE_GUIDE_ORIGIN,
+ SNAPSOURCE_TEXT_BASELINE,
+ SNAPSOURCE_OTHER_HANDLE
+};
+
+}
+#endif /* SNAPENUMS_H_ */