1 /*$
2  Copyright (C) 2016-2020 Azel.
3 
4  This file is part of AzPainterB.
5 
6  AzPainterB is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  AzPainterB is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 $*/
19 
20 /**********************************
21  * DrawData 操作関連の定義
22  **********************************/
23 
24 #ifndef DRAW_OP_DEF_H
25 #define DRAW_OP_DEF_H
26 
27 /* DrawData::w.optype (現在の操作タイプ) */
28 
29 enum
30 {
31 	DRAW_OPTYPE_NONE,
32 	DRAW_OPTYPE_TMP,
33 	DRAW_OPTYPE_DRAW_FREE,
34 
35 	DRAW_OPTYPE_CANVAS_MOVE,
36 	DRAW_OPTYPE_CANVAS_ROTATE,
37 	DRAW_OPTYPE_CANVAS_ZOOM,
38 
39 	DRAW_OPTYPE_MOVETOOL,
40 
41 	DRAW_OPTYPE_XOR_LINE,
42 	DRAW_OPTYPE_XOR_BOXAREA,
43 	DRAW_OPTYPE_XOR_BOXIMAGE,
44 	DRAW_OPTYPE_XOR_ELLIPSE,
45 	DRAW_OPTYPE_XOR_SUMLINE,
46 	DRAW_OPTYPE_XOR_BEZIER,
47 	DRAW_OPTYPE_XOR_POLYGON,
48 	DRAW_OPTYPE_XOR_LASSO,
49 
50 	DRAW_OPTYPE_DRAG_BRUSHSIZE
51 };
52 
53 /* DrawData::w.opsubtype (操作タイプのサブ情報) */
54 
55 enum
56 {
57 	DRAW_OPSUB_DRAW_LINE,
58 	DRAW_OPSUB_DRAW_FRAME,
59 	DRAW_OPSUB_DRAW_FILL,
60 	DRAW_OPSUB_DRAW_GRADATION,
61 	DRAW_OPSUB_DRAW_SUCCLINE,
62 	DRAW_OPSUB_DRAW_CONCLINE,
63 
64 	DRAW_OPSUB_SET_STAMP,
65 	DRAW_OPSUB_SET_SELECT,
66 	DRAW_OPSUB_SEL_MOVECOPY,
67 	DRAW_OPSUB_SEL_REPLACE,
68 
69 	DRAW_OPSUB_TO_BEZIER,
70 	DRAW_OPSUB_RULE_SETTING
71 };
72 
73 /* funcAction() 時のアクション */
74 
75 enum
76 {
77 	DRAW_FUNCACTION_RBTT_UP,
78 	DRAW_FUNCACTION_LBTT_DBLCLK,
79 	DRAW_FUNCACTION_KEY_ENTER,
80 	DRAW_FUNCACTION_KEY_ESC,
81 	DRAW_FUNCACTION_KEY_BACKSPACE,
82 	DRAW_FUNCACTION_UNGRAB
83 };
84 
85 /* DrawData::w.opflags (操作中のオプションフラグ) */
86 
87 enum
88 {
89 	DRAW_OPFLAGS_MOTION_DISABLE_STATE = 1<<0,	//ポインタ移動時、装飾キー無効
90 	DRAW_OPFLAGS_MOTION_POS_INT = 1<<1,			//ポインタ移動時、位置は整数値で取得
91 	DRAW_OPFLAGS_BRUSH_PRESSURE_MAX = 1<<2		//ブラシ描画時、常に筆圧最大
92 };
93 
94 /* DrawData::w.opdraw_flags */
95 
96 #define DRAW_OPDRAW_F_BRUSH_STROKE  1  //ブラシ描画でストローク重ね塗りを行う
97 
98 /* DrawData::sel.mode */
99 
100 enum
101 {
102 	DRAW_SELMODE_NONE,
103 	DRAW_SELMODE_SELECT_PASTE,
104 	DRAW_SELMODE_MOVECOPY_WAIT,
105 	DRAW_SELMODE_MOVECOPY_PASTE,
106 	DRAW_SELMODE_REPLACE_DEST
107 };
108 
109 #endif
110