summaryrefslogtreecommitdiffstats
path: root/src/display/control/canvas-item-enums.h
blob: 37561b58e93f6ab5628e5a1237b64b2e04d82cda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
// SPDX-License-Identifier: GPL-2.0-or-later
#ifndef SEEN_CANVAS_ITEM_ENUMS_H
#define SEEN_CANVAS_ITEM_ENUMS_H

/**
 * Enums for CanvasControlItem's.
 */

/*
 * Author:
 *   Tavmjong Bah
 *
 * Copyright (C) 2020 Tavmjong Bah
 */

namespace Inkscape {

enum CanvasItemColor {
    CANVAS_ITEM_PRIMARY,
    CANVAS_ITEM_SECONDARY,
    CANVAS_ITEM_TERTIARY
};

enum CanvasItemCtrlShape {
    CANVAS_ITEM_CTRL_SHAPE_SQUARE,
    CANVAS_ITEM_CTRL_SHAPE_DIAMOND,
    CANVAS_ITEM_CTRL_SHAPE_CIRCLE,
    CANVAS_ITEM_CTRL_SHAPE_TRIANGLE,
    CANVAS_ITEM_CTRL_SHAPE_CROSS,
    CANVAS_ITEM_CTRL_SHAPE_PLUS,
    CANVAS_ITEM_CTRL_SHAPE_PIVOT,  // Fancy "plus"
    CANVAS_ITEM_CTRL_SHAPE_DARROW, // Double headed arrow.
    CANVAS_ITEM_CTRL_SHAPE_SARROW, // Double headed arrow, rotated (skew).
    CANVAS_ITEM_CTRL_SHAPE_CARROW, // Double headed curved arrow.
    CANVAS_ITEM_CTRL_SHAPE_SALIGN, // Side alignment.
    CANVAS_ITEM_CTRL_SHAPE_CALIGN, // Corner alignment.
    CANVAS_ITEM_CTRL_SHAPE_MALIGN, // Center (middle) alignment.
    CANVAS_ITEM_CTRL_SHAPE_BITMAP,
    CANVAS_ITEM_CTRL_SHAPE_IMAGE,
    CANVAS_ITEM_CTRL_SHAPE_LINE
};

// Applies to control points.
enum CanvasItemCtrlType {
    CANVAS_ITEM_CTRL_TYPE_DEFAULT,
    CANVAS_ITEM_CTRL_TYPE_ADJ_HANDLE, // Stretch & Scale
    CANVAS_ITEM_CTRL_TYPE_ADJ_SKEW,
    CANVAS_ITEM_CTRL_TYPE_ADJ_ROTATE,
    CANVAS_ITEM_CTRL_TYPE_ADJ_CENTER,
    CANVAS_ITEM_CTRL_TYPE_ADJ_SALIGN,
    CANVAS_ITEM_CTRL_TYPE_ADJ_CALIGN,
    CANVAS_ITEM_CTRL_TYPE_ADJ_MALIGN,
    CANVAS_ITEM_CTRL_TYPE_ANCHOR,
    CANVAS_ITEM_CTRL_TYPE_POINT,
    CANVAS_ITEM_CTRL_TYPE_ROTATE,
    CANVAS_ITEM_CTRL_TYPE_CENTER,
    CANVAS_ITEM_CTRL_TYPE_SIZER,
    CANVAS_ITEM_CTRL_TYPE_SHAPER,
    CANVAS_ITEM_CTRL_TYPE_LPE,
    CANVAS_ITEM_CTRL_TYPE_NODE_AUTO,
    CANVAS_ITEM_CTRL_TYPE_NODE_CUSP,
    CANVAS_ITEM_CTRL_TYPE_NODE_SMOOTH,
    CANVAS_ITEM_CTRL_TYPE_NODE_SYMETRICAL,
    CANVAS_ITEM_CTRL_TYPE_INVISIPOINT
};

enum CanvasItemCtrlMode {
    CANVAS_ITEM_CTRL_MODE_COLOR,
    CANVAS_ITEM_CTRL_MODE_XOR,
    CANVAS_ITEM_CTRL_MODE_DESATURATED_XOR,
    CANVAS_ITEM_CTRL_MODE_GRAYSCALED_XOR
};

} // namespace Inkscape

#endif // SEEN_CANVAS_ITEM_ENUMS_H

/*
  Local Variables:
  mode:c++
  c-file-style:"stroustrup"
  c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
  indent-tabs-mode:nil
  fill-column:99
  End:
*/
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4 :