1 /*$
2  Copyright (C) 2013-2020 Azel.
3 
4  This file is part of AzPainter.
5 
6  AzPainter 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  AzPainter 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_GENERAL,
33 	DRAW_OPTYPE_DRAW_FREE,
34 	DRAW_OPTYPE_SELIMGMOVE,
35 
36 	DRAW_OPTYPE_XOR_LINE,
37 	DRAW_OPTYPE_XOR_BOXAREA,
38 	DRAW_OPTYPE_XOR_BOXIMAGE,
39 	DRAW_OPTYPE_XOR_ELLIPSE,
40 	DRAW_OPTYPE_XOR_SUMLINE,
41 	DRAW_OPTYPE_XOR_BEZIER,
42 	DRAW_OPTYPE_XOR_POLYGON,
43 	DRAW_OPTYPE_XOR_LASSO,
44 	DRAW_OPTYPE_SPLINE
45 };
46 
47 /* DrawData::w.opsubtype (操作タイプのサブ情報) */
48 
49 enum
50 {
51 	DRAW_OPSUB_DRAW_LINE,
52 	DRAW_OPSUB_DRAW_FRAME,
53 	DRAW_OPSUB_DRAW_FILL,
54 	DRAW_OPSUB_DRAW_GRADATION,
55 	DRAW_OPSUB_DRAW_SUCCLINE,
56 	DRAW_OPSUB_DRAW_CONCLINE,
57 	DRAW_OPSUB_SET_STAMP,
58 	DRAW_OPSUB_SET_SELECT,
59 	DRAW_OPSUB_SET_BOXEDIT,
60 
61 	DRAW_OPSUB_TO_BEZIER,
62 	DRAW_OPSUB_RULE_SETTING
63 };
64 
65 /* funcAction() 時のアクション */
66 
67 enum
68 {
69 	DRAW_FUNCACTION_RBTT_UP,
70 	DRAW_FUNCACTION_LBTT_DBLCLK,
71 	DRAW_FUNCACTION_KEY_ENTER,
72 	DRAW_FUNCACTION_KEY_ESC,
73 	DRAW_FUNCACTION_KEY_BACKSPACE,
74 	DRAW_FUNCACTION_UNGRAB
75 };
76 
77 /* DrawData::w.opflags (操作中のオプションフラグ) */
78 
79 enum
80 {
81 	DRAW_OPFLAGS_MOTION_DISABLE_STATE = 1<<0,	//ポインタ移動時、装飾キー無効
82 	DRAW_OPFLAGS_MOTION_POS_INT = 1<<1,			//ポインタ移動時、位置は整数値で取得
83 	DRAW_OPFLAGS_BRUSH_PRESSURE_MAX = 1<<2		//ブラシ描画時、常に筆圧最大
84 };
85 
86 /* DrawData::w.drawinfo_flags */
87 
88 #define DRAW_DRAWINFO_F_BRUSH_STROKE  1  //ブラシ描画でストローク重ね塗りを行う
89 
90 #endif
91