Subversion Repositories Kolibri OS

Rev

Rev 7260 | Rev 7271 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7260 Rev 7262
Line 2... Line 2...
2
#define TOCANVAS 2
2
#define TOCANVAS 2
Line 3... Line 3...
3
 
3
 
4
 
4
 
-
 
5
struct Tool {
5
struct Tool {
6
	int id;
6
	int id;
7
	dword cursor;
7
	void (*activate)();
8
	void (*activate)();
8
	void (*deactivate)();
9
	void (*deactivate)();
9
	void (*onMouseEvent)(int x, int y, int lkm, int pkm);
10
	void (*onMouseEvent)(int x, int y, int lkm, int pkm);
Line 35... Line 36...
35
 
36
 
36
 
37
 
37
void initTools() 
38
void initTools() 
-
 
39
{
38
{
40
	tools[TOOL_PENCIL].id = TOOL_PENCIL;
39
	tools[TOOL_PENCIL].id = TOOL_PENCIL;
41
	tools[TOOL_PENCIL].cursor = #CursorPencil;
Line 40... Line 42...
40
	tools[TOOL_PENCIL].onMouseEvent = #PencilTool_onMouseEvent;
42
	tools[TOOL_PENCIL].onMouseEvent = #PencilTool_onMouseEvent;
-
 
43
	tools[TOOL_PENCIL].deactivate = #PencilTool_reset;
41
	tools[TOOL_PENCIL].deactivate = #PencilTool_reset;
44
	
42
	
45
	tools[TOOL_PIPETTE].id = TOOL_PIPETTE;
Line 43... Line 46...
43
	tools[TOOL_PIPETTE].id = TOOL_PIPETTE;
46
	tools[TOOL_PIPETTE].cursor = #CursorPipette;
-
 
47
	tools[TOOL_PIPETTE].activate = #PipetteTool_activate;
44
	tools[TOOL_PIPETTE].activate = #PipetteTool_activate;
48
	tools[TOOL_PIPETTE].onMouseEvent = #PipetteTool_onMouseEvent;
Line 45... Line 49...
45
	tools[TOOL_PIPETTE].onMouseEvent = #PipetteTool_onMouseEvent;
49
	
-
 
50
	tools[TOOL_FILL].id = TOOL_FILL;
46
	
51
	tools[TOOL_FILL].cursor = #CursorFill;
47
	tools[TOOL_FILL].id = TOOL_FILL;
52
	tools[TOOL_FILL].onMouseEvent = #FillTool_onMouseEvent;
48
	tools[TOOL_FILL].onMouseEvent = #FillTool_onMouseEvent;
53
	
49
	
54
	tools[TOOL_LINE].id = TOOL_LINE;
Line 50... Line 55...
50
	tools[TOOL_LINE].id = TOOL_LINE;
55
	tools[TOOL_LINE].cursor = #CursorLine;
-
 
56
	tools[TOOL_LINE].activate = #SimpleFigureTool_Reset;
51
	tools[TOOL_LINE].activate = #SimpleFigureTool_Reset;
57
	tools[TOOL_LINE].deactivate = #SimpleFigureTool_Reset;
52
	tools[TOOL_LINE].deactivate = #SimpleFigureTool_Reset;
58
	tools[TOOL_LINE].onMouseEvent = #SimpleFigureTool_onMouseEvent;
53
	tools[TOOL_LINE].onMouseEvent = #SimpleFigureTool_onMouseEvent;
59
	tools[TOOL_LINE].onCanvasDraw = #SimpleFigureTool_onCanvasDraw;
54
	tools[TOOL_LINE].onCanvasDraw = #SimpleFigureTool_onCanvasDraw;
60
	
Line 55... Line 61...
55
	
61
	tools[TOOL_RECT].id = TOOL_RECT;
-
 
62
	tools[TOOL_RECT].cursor = #CursorRectangle;
56
	tools[TOOL_RECT].id = TOOL_RECT;
63
	tools[TOOL_RECT].activate = #SimpleFigureTool_Reset;
57
	tools[TOOL_RECT].activate = #SimpleFigureTool_Reset;
64
	tools[TOOL_RECT].deactivate = #SimpleFigureTool_Reset;
58
	tools[TOOL_RECT].deactivate = #SimpleFigureTool_Reset;
65
	tools[TOOL_RECT].onMouseEvent = #SimpleFigureTool_onMouseEvent;
59
	tools[TOOL_RECT].onMouseEvent = #SimpleFigureTool_onMouseEvent;
66
	tools[TOOL_RECT].onCanvasDraw = #SimpleFigureTool_onCanvasDraw;	
Line 60... Line 67...
60
	tools[TOOL_RECT].onCanvasDraw = #SimpleFigureTool_onCanvasDraw;	
67
 
-
 
68
	tools[TOOL_BAR].id = TOOL_BAR;
61
 
69
	tools[TOOL_BAR].cursor = #CursorBar;
62
	tools[TOOL_BAR].id = TOOL_BAR;
70
	tools[TOOL_BAR].activate = #SimpleFigureTool_Reset;
63
	tools[TOOL_BAR].activate = #SimpleFigureTool_Reset;
71
	tools[TOOL_BAR].deactivate = #SimpleFigureTool_Reset;
64
	tools[TOOL_BAR].deactivate = #SimpleFigureTool_Reset;
72
	tools[TOOL_BAR].onMouseEvent = #SimpleFigureTool_onMouseEvent;
65
	tools[TOOL_BAR].onMouseEvent = #SimpleFigureTool_onMouseEvent;
73
	tools[TOOL_BAR].onCanvasDraw = #SimpleFigureTool_onCanvasDraw;	
Line 66... Line 74...
66
	tools[TOOL_BAR].onCanvasDraw = #SimpleFigureTool_onCanvasDraw;	
74
 
-
 
75
	tools[TOOL_SELECT].id = TOOL_SELECT;
67
 
76
	tools[TOOL_SELECT].cursor = #CursorSelect;
68
	tools[TOOL_SELECT].id = TOOL_SELECT;
77
	tools[TOOL_SELECT].activate = #SelectTool_activate;
69
	tools[TOOL_SELECT].activate = #SelectTool_activate;
78
	tools[TOOL_SELECT].deactivate = #SelectTool_deactivate;
Line 92... Line 101...
92
	currentTool = index;
101
	currentTool = index;
Line 93... Line 102...
93
	
102
	
94
	if ((index != TOOL_NONE) && (tools[index].activate != 0))
103
	if ((index != TOOL_NONE) && (tools[index].activate != 0))
Line -... Line 104...
-
 
104
		tools[index].activate();
-
 
105
 
95
		tools[index].activate();
106
	Cursor.Restore();
96
 
107
	if (wrapper.hovered()) SetCursor();
97
	DrawLeftPanel();
108
	DrawLeftPanel();
Line -... Line 109...
-
 
109
	DrawCanvas();
-
 
110
}
-
 
111
 
-
 
112
void SetCursor()
-
 
113
{
-
 
114
	if (tools[currentTool].cursor) && (!Cursor.CursorPointer) {
-
 
115
		Cursor.Load(tools[currentTool].cursor);
98
	DrawCanvas();
116
		Cursor.Set();