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(); |