annotate events.pde @ 206:efbd833065f5

Change PNG export to be triggered via alt+shift+W.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 29 Aug 2018 15:13:13 +0300
parents 3b1afb0b9b30
children 2e077cfc4f38
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
1 //collects mouse/key events and directly related command parsing
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
2
142
1ec3488bfd1e Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 138
diff changeset
3
1ec3488bfd1e Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 138
diff changeset
4 boolean insidewindow(int xc, int yc)
118
050a1ca8b106 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 115
diff changeset
5 {
39
5e0306ac3575 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 29
diff changeset
6 // XXX is this correct?
142
1ec3488bfd1e Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 138
diff changeset
7 return (xc > width - g_hedge || yc > height - g_vedge);
39
5e0306ac3575 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 29
diff changeset
8 }
5e0306ac3575 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 29
diff changeset
9
5e0306ac3575 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 29
diff changeset
10
135
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
11 void keyPressed()
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
12 {
72
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
13 g_dirty = true;
41
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
14 if (key == ESC)
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
15 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
16 key = 0;
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
17 }
41
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
18 else
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
19 if (key == CODED)
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
20 {
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
21 switch (keyCode)
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
22 {
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
23 case RIGHT:
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
24 g_ofx++;
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
25 break;
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
26
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
27 case LEFT:
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
28 g_ofx--;
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
29 break;
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
30
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
31 case UP:
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
32 g_ofy--;
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
33 break;
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
34
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
35 case DOWN:
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
36 g_ofy++;
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
37 break;
204
c4a17bf7b4de Fix shift handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 202
diff changeset
38
205
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
39 case COMMAND:
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
40 if (platform == MACOSX)
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
41 g_control = true;
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
42 break;
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
43
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
44 case CONTROL:
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
45 if (platform != MACOSX)
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
46 g_control = true;
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
47 break;
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
48
204
c4a17bf7b4de Fix shift handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 202
diff changeset
49 case SHIFT:
c4a17bf7b4de Fix shift handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 202
diff changeset
50 g_shift = true;
205
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
51 break;
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
52
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
53 case ALT:
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
54 g_alt = true;
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
55 break;
41
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
56 }
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
57
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
58 refresh();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
59 }
41
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
60 else
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
61 {
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
62 // send to the indirect key handling
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
63 // so commands can be invoked elsewhere too
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
64 command(int(key));
c5076cf2f21d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
65 }
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
66 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
67
39
5e0306ac3575 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 29
diff changeset
68
135
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
69 void keyReleased()
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
70 {
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
71 if (key == CODED)
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
72 {
205
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
73 switch (keyCode)
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
74 {
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
75 case COMMAND:
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
76 if (platform == MACOSX)
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
77 g_control = false;
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
78 break;
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
79
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
80 case CONTROL:
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
81 if (platform != MACOSX)
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
82 g_control = false;
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
83 break;
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
84
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
85 case SHIFT:
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
86 g_shift = false;
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
87 break;
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
88
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
89 case ALT:
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
90 g_alt = false;
3b1afb0b9b30 Clean up key event handling and add support for g_alt.
Matti Hamalainen <ccr@tnsp.org>
parents: 204
diff changeset
91 break;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
92 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
93 }
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
94 }
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
95
142
1ec3488bfd1e Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 138
diff changeset
96
135
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
97 void mouseMoved()
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
98 {
72
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
99 g_dirty = true;
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
100
183
1cb7ecd73554 Rename global variable g_uizoom to g_uiscale and mpUIZoom -> mpUIScale.
Matti Hamalainen <ccr@tnsp.org>
parents: 180
diff changeset
101 if (moicon(16 * 16 * g_uiscale, height - 32 * g_uiscale, 16 * g_uiscale, 24 * g_uiscale)) help(int('<'));
1cb7ecd73554 Rename global variable g_uizoom to g_uiscale and mpUIZoom -> mpUIScale.
Matti Hamalainen <ccr@tnsp.org>
parents: 180
diff changeset
102 if (moicon(16 * 16 * g_uiscale, height - 8 * g_uiscale, 16 * g_uiscale, 8 * g_uiscale)) help(int('>'));
1cb7ecd73554 Rename global variable g_uizoom to g_uiscale and mpUIZoom -> mpUIScale.
Matti Hamalainen <ccr@tnsp.org>
parents: 180
diff changeset
103 if (moicon(0, height - 32 * g_uiscale, 15 * 16 * g_uiscale, 32 * g_uiscale)) help(TAB);
1cb7ecd73554 Rename global variable g_uizoom to g_uiscale and mpUIZoom -> mpUIScale.
Matti Hamalainen <ccr@tnsp.org>
parents: 180
diff changeset
104 if (moicon(width - 32 * g_uiscale, 0, 32 * g_uiscale, 16 * g_uiscale)) help(int('.'));
72
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
105 }
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
106
39
5e0306ac3575 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 29
diff changeset
107
155
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
108 void mouseScrolled()
136
12cf30907f26 More work on integrating changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 135
diff changeset
109 {
155
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
110 if (mouseScroll < -0.1) command(g_wheelup);
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
111 if (mouseScroll > 0.1) command(g_wheeldown);
136
12cf30907f26 More work on integrating changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 135
diff changeset
112 }
12cf30907f26 More work on integrating changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 135
diff changeset
113
12cf30907f26 More work on integrating changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 135
diff changeset
114
135
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
115 void mouseDragged()
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
116 {
72
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
117 mouseMoved();
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
118
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
119 g_iconx = mouseX;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
120 g_icony = mouseY;
72
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
121
145
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
122 if (g_pgrab)
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
123 {
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
124 g_prevx = g_iconx + g_phandlex;
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
125 g_prevy = g_icony + g_phandley;
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
126 }
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
127 else
137
d6f60370b3e7 Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 136
diff changeset
128 if (insidewindow(g_iconx, g_icony))
d6f60370b3e7 Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 136
diff changeset
129 {
d6f60370b3e7 Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 136
diff changeset
130 if (g_phase == 0)
d6f60370b3e7 Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 136
diff changeset
131 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
132 g_piconx = g_iconx;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
133 g_picony = g_icony;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
134 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
135 g_tooltrigger = 100;
138
a6af71199946 Logic cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 137
diff changeset
136 }
a6af71199946 Logic cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 137
diff changeset
137 else
a6af71199946 Logic cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 137
diff changeset
138 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
139 g_piconx = -1;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
140 g_picony = -1;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
141 }
138
a6af71199946 Logic cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 137
diff changeset
142 }
a6af71199946 Logic cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 137
diff changeset
143 else
a6af71199946 Logic cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 137
diff changeset
144 {
145
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
145 if (mouseButton == CENTER)
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
146 return;
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
147
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
148 if (g_tooltrigger == 0)
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
149 g_tooltrigger = 1;
138
a6af71199946 Logic cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 137
diff changeset
150 }
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
151
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
152 g_iconx = -1;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
153 g_icony = -1;
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
154 }
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
155
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
156
135
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
157 void mousePressed()
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
158 {
72
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
159 g_dirty = true;
145
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
160 if (g_pgrab)
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
161 return;
72
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
162
156
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
163 int msx, msy, tt = tool();
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
164
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
165 g_iconx = mouseX;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
166 g_icony = mouseY;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
167 g_button = mouseButton;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
168 g_realbutton = g_button;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
169
145
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
170 if (g_preview == 1 &&
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
171 g_iconx > g_prevx && g_icony > g_prevy &&
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
172 g_iconx < g_prevx + X + 16 && g_icony < g_prevy + Y + 16)
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
173 {
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
174 g_pgrab = true;
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
175 g_button = 0; //important
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
176 g_realbutton = 0;
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
177 g_phandlex = g_prevx - g_iconx;
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
178 g_phandley = g_prevy - g_icony;
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
179 }
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
180 else
138
a6af71199946 Logic cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 137
diff changeset
181 if (insidewindow(g_iconx, g_icony))
a6af71199946 Logic cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 137
diff changeset
182 {
142
1ec3488bfd1e Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 138
diff changeset
183 if (g_phase == 0)
1ec3488bfd1e Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 138
diff changeset
184 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
185 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
186 g_tooltrigger = 100;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
187 g_piconx = g_iconx;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
188 g_picony = g_icony;
142
1ec3488bfd1e Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 138
diff changeset
189 }
1ec3488bfd1e Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 138
diff changeset
190 else
1ec3488bfd1e Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 138
diff changeset
191 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
192 g_iconx = -1;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
193 g_icony = -1;
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
194 }
135
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
195 }
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
196 else
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
197 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
198 g_msx = g_iconx;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
199 g_msy = g_icony;
138
a6af71199946 Logic cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 137
diff changeset
200
156
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
201 if (g_button == CENTER)
138
a6af71199946 Logic cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 137
diff changeset
202 {
156
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
203 command(g_middlebutton);
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
204 g_phase = 1;
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
205 return;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
206
156
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
207 //g_button = 255;
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
208 //g_repanel = -2;
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
209 //if (g_shift) g_button = 254;
137
d6f60370b3e7 Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 136
diff changeset
210 }
d6f60370b3e7 Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 136
diff changeset
211 else
d6f60370b3e7 Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 136
diff changeset
212 {
156
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
213 if (g_data[int('m')] == 0 && g_data[int('M')] == 0)
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
214 {
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
215 msx = g_iconx - g_windowx;
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
216 msy = g_icony - g_windowy;
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
217 } else {
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
218 msx = g_iconx;
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
219 msy = g_icony;
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
220 }
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
221
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
222 // XXX weird logic again .. might not make sense
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
223 if ((tt != 5 && tt != 4) ||
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
224 (tt == 4 && g_button == RIGHT))
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
225 store_undo();
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
226
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
227 g_phase = 0;
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
228 do_tool(msx, msy, g_button);
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
229 g_phase = 1;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
230 }
135
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
231
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
232 }
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
233 }
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
234
72
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
235
135
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
236 void mouseReleased()
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
237 {
156
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
238 int tt = tool();
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
239
72
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
240 g_dirty = true;
143
5e18cb16bc4b Booleanize.
Matti Hamalainen <ccr@tnsp.org>
parents: 142
diff changeset
241 g_tooltrigger = 0;
5e18cb16bc4b Booleanize.
Matti Hamalainen <ccr@tnsp.org>
parents: 142
diff changeset
242 g_klikkeri = false;
72
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
243
156
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
244 if (g_phase == 1)
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
245 switch (tt)
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
246 {
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
247 case 8:
150
d7c13f427178 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
248 do_rectangle(g_rx, g_ry, g_rx2, g_ry2);
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
249 g_phase = 0;
156
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
250 break;
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
251
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
252 case 7:
150
d7c13f427178 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
253 do_circle(g_rx, g_ry, g_rx2, g_ry2);
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
254 g_phase = 0;
156
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
255 break;
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
256
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
257 case 6:
150
d7c13f427178 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
258 do_line(g_rx, g_ry, g_rx2, g_ry2, 0);
156
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
259 g_phase = 0;
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
260 break;
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
261 }
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
262
156
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
263 if (g_data[int('4')] == 1)
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
264 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
265 if (g_phase == 1) {
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
266 g_phase = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
267 g_rubbermode = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
268 refresh();
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
269 g_data[int('4')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
270 g_data[int('d')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
271 g_data[int('r')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
272 g_data[int('R')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
273 g_data[int('x')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
274 g_data[int('y')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
275 g_data[int('q')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
276 g_data[int('p')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
277 g_data[int('t')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
278 g_data[int('n')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
279 switcher(2);
156
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
280
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
281 if (g_pixelw == 2)
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
282 {
7
c848a6133cfc Fix many calculations (divisions) that assume integer variable division
Matti Hamalainen <ccr@tnsp.org>
parents: 6
diff changeset
283 g_rx = chop2(g_rx);
c848a6133cfc Fix many calculations (divisions) that assume integer variable division
Matti Hamalainen <ccr@tnsp.org>
parents: 6
diff changeset
284 g_rx2 = chop2(g_rx2);
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
285 }
156
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
286
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
287 g_bsourcex = clampv(g_rx, 0, X - 1);
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
288 g_bsourcey = clampv(g_ry, 0, Y - 1);
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
289 g_bsourcex2 = clampv(g_rx2, 0, X - 1);
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
290 g_bsourcey2 = clampv(g_ry2, 0, Y - 1);
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
291
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
292 set_tool(1);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
293 g_btype = 9;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
294 g_repanel = -2;
156
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
295
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
296 if (g_button == RIGHT)
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
297 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
298 storeparameters();
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
299 g_data[int('f')] = 1;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
300 g_data[int('X')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
301 g_data[int('Y')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
302 doborx(g_rx, g_ry, g_rx2, g_ry2);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
303 restoreparameters();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
304 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
305 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
306 consistency();
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
307 }
156
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
308
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
309 if (g_phase == 1)
5d73681b97eb Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 155
diff changeset
310 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
311 g_phase = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
312 g_rubbermode = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
313 refresh(); //needed otherwise the pen color is kept e.g. after right mousebutton
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
314 }
145
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
315
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
316 update_preview_window();
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
317 g_pgrab = false;
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
318 }
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
319
142
1ec3488bfd1e Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 138
diff changeset
320
155
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
321 void maghelper(int rel)
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
322 {
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
323 if (rel < 0)
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
324 {
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
325 if (g_data[int('M')] == 1 || g_data[int('m')] == 1)
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
326 {
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
327 command('m');
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
328 refresh();
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
329 }
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
330 }
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
331 else
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
332 {
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
333 if (g_data[int('m')] == 0 && g_data[int('M')] == 0)
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
334 {
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
335 command('m');
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
336 refresh();
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
337 }
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
338 else
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
339 if (g_data[int('m')] == 1 && g_data[int('M')] == 0)
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
340 {
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
341 command('M');
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
342 refresh();
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
343 }
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
344 }
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
345 }
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
346
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
347
199
475a6ab70cd1 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 183
diff changeset
348 void macro_command(int ckey)
475a6ab70cd1 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 183
diff changeset
349 {
475a6ab70cd1 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 183
diff changeset
350 //filter out load/save
475a6ab70cd1 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 183
diff changeset
351 if (ckey == 's' || ckey == 'S' || ckey == 'l' ||
475a6ab70cd1 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 183
diff changeset
352 ckey == 'E' || ckey == 'w' || ckey == 'W' ||
475a6ab70cd1 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 183
diff changeset
353 ckey == 'A')
475a6ab70cd1 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 183
diff changeset
354 return;
475a6ab70cd1 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 183
diff changeset
355
475a6ab70cd1 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 183
diff changeset
356 command(ckey);
475a6ab70cd1 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 183
diff changeset
357 }
475a6ab70cd1 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 183
diff changeset
358
475a6ab70cd1 Move function.
Matti Hamalainen <ccr@tnsp.org>
parents: 183
diff changeset
359
142
1ec3488bfd1e Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 138
diff changeset
360 void command(int ckey)
1ec3488bfd1e Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 138
diff changeset
361 {
72
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
362 g_dirty = true;
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 63
diff changeset
363
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
364 //keypresses change g_data[] values directly as 1/0 switches
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
365 //handling these presses "indirectly" adds complexity here
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
366 //but is valuable elsewhere = corresponding icons have shortcuts automatically
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
367
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
368 if (ckey == '-') ckey = 'h';
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
369 if (ckey == '+') ckey = 'H';
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
370
145
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
371 if (ckey == BACKSPACE)
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
372 {
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
373 message("Preview|on/off");
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
374
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
375 if (++g_preview > 1)
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
376 g_preview = 0;
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
377
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
378 update_preview_window();
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
379 refresh();
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
380 g_boxreconstruct = 2;
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
381 }
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
382
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
383 if (ckey == TAB) {
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
384 if (g_shift == false) {
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
385 if (g_britemode == 1) {
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
386 if (g_realfront == 7) g_realfront = -1;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
387 if (g_realfront == 15) g_realfront = 7;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
388 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
389 selectcolor(0, g_realfront + 1);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
390 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
391 } else {
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
392 if (g_britemode == 1) {
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
393 if (g_realfront == 8) g_realfront = 16;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
394 if (g_realfront == 0) g_realfront = 8;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
395 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
396 selectcolor(0, g_realfront - 1);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
397 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
398 }
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
399 }
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
400
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
401 //println("ckey+"+ckey);
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
402 if (g_control == true)
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
403 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
404 int UNDO = 26,
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
405 REDO = 25,
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
406 PASTE = 22,
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
407 SAVE = 19,
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
408 LOAD = 15,
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
409 NEW = 14,
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
410 COPY = 3,
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
411 COPYALT = 24,
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
412 ALL = 1;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
413
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
414 if (platform == MACOSX)
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
415 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
416 UNDO = 122;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
417 REDO = 25;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
418 PASTE = 22;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
419 SAVE = 115;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
420 LOAD = 111;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
421 NEW = 110;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
422 COPY = 99;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
423 COPYALT = 120;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
424 ALL = 97;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
425 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
426
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
427 switch (ckey)
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
428 {
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
429 case UNDO: ckey = g_shift ? 'U' : 'u'; break;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
430 case REDO: ckey = 'U'; break;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
431 case PASTE: ckey = '9'; break;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
432 case SAVE: ckey = g_shift ? 's' : 'S'; break;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
433 case LOAD: ckey = 'l'; break;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
434 case NEW: ckey = 'o'; break;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
435
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
436 case COPY:
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
437 case COPYALT: ckey = '4'; break;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
438
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
439 case ALL:
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
440 switcher(2);
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
441 g_bsourcex = 0;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
442 g_bsourcey = 0;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
443 g_bsourcex2 = X - 1;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
444 g_bsourcey2 = Y - 1;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
445 ckey = '9';
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
446 g_data[int('p')] = 0;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
447 g_data[int('x')] = 0;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
448 g_data[int('y')] = 0;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
449 g_data[int('q')] = 0;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
450 g_data[int('z')] = 0;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
451 g_phase = 0;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
452 g_rubbermode = 0;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
453 set_tool(1);
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
454 break;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
455 }
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
456 }
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
457
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
458 if (ckey >= 128 && ckey <= 131)
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
459 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
460 g_bsize = ckey - 128;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
461 g_btype = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
462 }
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
463 else
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
464 if (ckey >= 132 && ckey <= 135)
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
465 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
466 g_bsize = ckey - 132;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
467 g_btype = 1;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
468 }
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
469 else
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
470 if (ckey == ' ' || ckey == '.')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
471 {
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
472 if (ckey == '.')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
473 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
474 g_bsize = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
475 g_btype = 0;
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
476 g_data[int('n')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
477 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
478 ckey = '3';
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
479 }
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
480 else
155
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
481 if (ckey == g_wheeldown)
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
482 maghelper(-1);
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
483 else
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
484 if (ckey == g_wheelup)
b9ad669fb025 Integrate more 1.8.2018 changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 154
diff changeset
485 maghelper(1);
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
486 else
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
487 if (ckey == ',')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
488 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
489 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
490 do_tool(mouseX, mouseY, 255);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
491 do_tool(g_mx, g_my, 255);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
492 return;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
493 }
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
494 else
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
495 if (ckey == 'v')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
496 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
497 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
498 // do_tool(mouseX,mouseY,254);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
499 do_tool(g_mx, g_my, 254);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
500 return;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
501 }
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
502 else
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
503 if (ckey == '[')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
504 {
6
07ddf9cfc6c2 Cast char to int where needed and other related operations.
Matti Hamalainen <ccr@tnsp.org>
parents: 4
diff changeset
505 fixed_raster_command(int('x'));
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
506 message("R.OFFSET " + str(g_raster_offset_x) + "." + str(g_raster_offset_y));
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
507 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
508 return;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
509 }
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
510 else
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
511 if (ckey == ']')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
512 {
6
07ddf9cfc6c2 Cast char to int where needed and other related operations.
Matti Hamalainen <ccr@tnsp.org>
parents: 4
diff changeset
513 fixed_raster_command(int('y'));
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
514 message("R.OFFSET " + str(g_raster_offset_x) + "." + str(g_raster_offset_y));
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
515 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
516 return;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
517 }
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
518 else
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
519 if (ckey == '(')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
520 {
6
07ddf9cfc6c2 Cast char to int where needed and other related operations.
Matti Hamalainen <ccr@tnsp.org>
parents: 4
diff changeset
521 fixed_raster_command(int('p'));
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
522 message("RASTER " + str(g_raster_no) + "/9|[=PREV|]=NEXT");
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
523 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
524 return;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
525 }
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
526 else
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
527 if (ckey == ')')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
528 {
6
07ddf9cfc6c2 Cast char to int where needed and other related operations.
Matti Hamalainen <ccr@tnsp.org>
parents: 4
diff changeset
529 fixed_raster_command(int('n'));
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
530 message("RASTER " + str(g_raster_no) + "/9|[=PREV|]=NEXT");
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
531 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
532 return;
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
533 }
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
534 else
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
535 if (ckey == '>')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
536 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
537 selectcolor(0, g_rgb[int(g_map[1])]);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
538 message("Current=Back");
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
539 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
540 return;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
541 }
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
542 else
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
543 if (ckey == '<')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
544 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
545 g_repanel = -2;
135
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
546 int swap = g_farge;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
547 g_farge = g_backg;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
548 g_ofarge = g_farge;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
549 g_backg = swap;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
550 g_realfront = byte(g_farge);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
551 g_realback = byte(g_backg);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
552 }
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
553 else
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
554 if (ckey == '0')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
555 {
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
556 if (g_data[int('m')] == 0 && g_data[int('M')] == 0)
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
557 {
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
558 if (tool() != 0)
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
559 g_prevtool = tool();
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
560 }
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
561 else
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
562 ckey = 'm';
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
563 }
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
564 else
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
565 if (ckey == '9')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
566 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
567 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
568 g_btype = 9;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
569 return;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
570 }
11
c1667eb54808 Cosmetics and indentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 8
diff changeset
571
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
572 // Intentional break in else -chain
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
573
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
574 if (ckey >= '0' && ckey <= '8')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
575 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
576 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
577 set_tool(ckey - 48);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
578 g_phase = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
579 g_rubbermode = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
580 g_rx = -1;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
581 g_ry = -1;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
582 g_rx2 = -1;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
583 g_ry2 = -1;
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
584
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
585 if (g_data[ckey] > 1)
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
586 g_data[ckey] = 0;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
587
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
588 if (ckey == '4')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
589 {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
590 g_data[int('x')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
591 g_data[int('y')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
592 g_data[int('h')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
593 g_data[int('q')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
594 g_data[int('t')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
595 g_data[int('n')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
596 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
597 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
598
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
599 if (ckey >= 'A' && ckey <= 'Z')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
600 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
601 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
602 g_data[ckey]++;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
603 if (g_data[ckey] > 1) g_data[ckey] = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
604
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
605 if (ckey == 'Q') {
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
606 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
607 g_msgctr = 0;
6
07ddf9cfc6c2 Cast char to int where needed and other related operations.
Matti Hamalainen <ccr@tnsp.org>
parents: 4
diff changeset
608 help(int('B'));
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
609 g_msgctr = 50;
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
610 }
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
611 if (ckey == 'G') {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
612 g_data[int('G')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
613 switch (g_gridx) {
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
614 case 8:
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
615 g_gridx = 16;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
616 g_gridy = 16;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
617 break;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
618 case 16:
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
619 g_gridx = 4;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
620 g_gridy = 4;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
621 break;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
622 case 4:
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
623 g_gridx = 8;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
624 g_gridy = 8;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
625 break;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
626 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
627 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
628 g_msgctr = 0;
6
07ddf9cfc6c2 Cast char to int where needed and other related operations.
Matti Hamalainen <ccr@tnsp.org>
parents: 4
diff changeset
629 help(int('g'));
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
630 g_msgctr = 50;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
631 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
632
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
633 if (ckey == 'G') {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
634 if (g_data[int('g')] == 0) g_data[int('g')] = 1;
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
635 }
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
636
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
637 if (g_data[int('M')] == 0)
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
638 g_boxreconstruct = 2;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
639 else
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
640 {
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
641 if (ckey == 'M')
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
642 {
7
c848a6133cfc Fix many calculations (divisions) that assume integer variable division
Matti Hamalainen <ccr@tnsp.org>
parents: 6
diff changeset
643 g_ofx = int(g_storedcoordx / 8) - int(magx() / 2);
c848a6133cfc Fix many calculations (divisions) that assume integer variable division
Matti Hamalainen <ccr@tnsp.org>
parents: 6
diff changeset
644 g_ofy = int(g_storedcoordy / 8) - int(magy() / 2);
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
645 g_data[int('m')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
646 message("Super|Magnify");
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
647
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
648 if (tool() == 0)
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
649 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
650 set_tool(g_prevtool);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
651 g_phase = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
652 g_rubbermode = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
653 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
654 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
655 }
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
656
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
657 if (g_data[int('B')] == 1) {
157
cdfda0354332 Integrate changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 156
diff changeset
658 changeborder(LEFT);
179
934934bb1fbb Rename global variable s/machine/g_machine/g
Matti Hamalainen <ccr@tnsp.org>
parents: 177
diff changeset
659 if (g_machine == MSX)
934934bb1fbb Rename global variable s/machine/g_machine/g
Matti Hamalainen <ccr@tnsp.org>
parents: 177
diff changeset
660 g_data[int('C')] = 1;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
661 }
157
cdfda0354332 Integrate changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 156
diff changeset
662
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
663 if (g_data[int('C')] == 1) {
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
664 g_data[int('C')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
665 if (int(g_map[1]) != 255) {
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
666 store_undo();
179
934934bb1fbb Rename global variable s/machine/g_machine/g
Matti Hamalainen <ccr@tnsp.org>
parents: 177
diff changeset
667 if (g_machine == PLUS4M && g_farge == g_map[2]) {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
668 message("1st and 2nd|can't be|same");
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
669 refresh();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
670 return;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
671 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
672 g_map[1] = byte(g_farge);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
673
179
934934bb1fbb Rename global variable s/machine/g_machine/g
Matti Hamalainen <ccr@tnsp.org>
parents: 177
diff changeset
674 if (g_machine == MSX) {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
675 g_map[0] = byte(g_farge);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
676 sussborder();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
677 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
678 message("Set back|color");
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
679 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
680 }
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
681 if (g_data[int('V')] == 1) {
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
682 g_data[int('V')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
683 if (int(g_map[1]) != 255) {
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
684 store_undo();
179
934934bb1fbb Rename global variable s/machine/g_machine/g
Matti Hamalainen <ccr@tnsp.org>
parents: 177
diff changeset
685 if (g_machine == PLUS4M && g_farge == g_map[1]) {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
686 message("1st and 2nd|can't be|same");
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
687 refresh();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
688 return;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
689 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
690 g_map[2] = byte(g_farge);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
691 message("Set 2nd|back color");
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
692 }
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
693 }
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
694 if (g_data[int('N')] == 1) {
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
695 g_data[int('N')] = 0;
57
ddfcec84377f Micro-cleanup :P
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
696 if (++g_animspeed > 3)
ddfcec84377f Micro-cleanup :P
Matti Hamalainen <ccr@tnsp.org>
parents: 50
diff changeset
697 g_animspeed = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
698 message("Playbrush|speed=" + g_animspeed);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
699 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
700 refresh();
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
701 }
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
702
176
0940d991d3b0 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 173
diff changeset
703 if (ckey >= 'a' && ckey <= 'z')
0940d991d3b0 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 173
diff changeset
704 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
705 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
706 g_data[ckey]++;
176
0940d991d3b0 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 173
diff changeset
707 if (g_data[ckey] > 1)
0940d991d3b0 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 173
diff changeset
708 {
0940d991d3b0 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 173
diff changeset
709 if (ckey == 'm' || ckey == 'M')
0940d991d3b0 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 173
diff changeset
710 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
711 g_boxreconstruct = 2;
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
712 g_data[int('M')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
713 g_data[int('m')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
714 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
715 g_data[ckey] = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
716 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
717
180
48bb77ae9f40 int() fix.
Matti Hamalainen <ccr@tnsp.org>
parents: 179
diff changeset
718 if (g_data[int('t')] == 1 && ckey == 't')
157
cdfda0354332 Integrate changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 156
diff changeset
719 message("Tile mode");
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
720
177
5e9ebac7e8e7 Cleanup and add a comment about sanity of one if() check.
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
721 if (ckey == 'n' && g_data[int('n')] == 1)
5e9ebac7e8e7 Cleanup and add a comment about sanity of one if() check.
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
722 {
5e9ebac7e8e7 Cleanup and add a comment about sanity of one if() check.
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
723 switcher(2);
5e9ebac7e8e7 Cleanup and add a comment about sanity of one if() check.
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
724 infersize();
5e9ebac7e8e7 Cleanup and add a comment about sanity of one if() check.
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
725
5e9ebac7e8e7 Cleanup and add a comment about sanity of one if() check.
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
726 // infersize() may modify this, so check makes sense
5e9ebac7e8e7 Cleanup and add a comment about sanity of one if() check.
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
727 if (g_data[int('n')] == 1)
5e9ebac7e8e7 Cleanup and add a comment about sanity of one if() check.
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
728 {
5e9ebac7e8e7 Cleanup and add a comment about sanity of one if() check.
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
729 command(int('1'));
5e9ebac7e8e7 Cleanup and add a comment about sanity of one if() check.
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
730 command(int('9'));
5e9ebac7e8e7 Cleanup and add a comment about sanity of one if() check.
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
731 g_data[int('p')] = 0;
5e9ebac7e8e7 Cleanup and add a comment about sanity of one if() check.
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
732 g_data[int('x')] = 0;
5e9ebac7e8e7 Cleanup and add a comment about sanity of one if() check.
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
733 g_data[int('y')] = 0;
5e9ebac7e8e7 Cleanup and add a comment about sanity of one if() check.
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
734 g_data[int('q')] = 0;
5e9ebac7e8e7 Cleanup and add a comment about sanity of one if() check.
Matti Hamalainen <ccr@tnsp.org>
parents: 176
diff changeset
735 g_data[int('t')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
736 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
737 }
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
738
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
739 if (g_data[int('i')] == 1) {
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
740 g_data[int('i')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
741 selectcolor(0, nextluminance(g_farge, 1));
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
742 }
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
743 if (g_data[int('k')] == 1) {
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
744 g_data[int('k')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
745 selectcolor(0, nextluminance(g_farge, -1));
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
746 }
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
747 if (g_data[int('d')] == 0) {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
748 if (ckey == 'd') consistency();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
749 }
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
750 if (g_data[int('z')] == 1) {
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
751 g_data[int('z')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
752 int orient;
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
753 orient = g_data[int('x')] * 100 + g_data[int('y')] * 10 + g_data[int('q')];
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
754 if (orient == 0) {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
755 g_data[int('x')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
756 g_data[int('y')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
757 g_data[int('q')] = 1;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
758 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
759 if (orient == 1) {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
760 g_data[int('x')] = 1;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
761 g_data[int('y')] = 1;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
762 g_data[int('q')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
763 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
764 if (orient == 110) {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
765 g_data[int('x')] = 1;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
766 g_data[int('y')] = 1;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
767 g_data[int('q')] = 1;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
768 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
769 if (orient == 111) {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
770 g_data[int('x')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
771 g_data[int('y')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
772 g_data[int('q')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
773 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
774 if (orient == 100) {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
775 g_data[int('x')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
776 g_data[int('y')] = 1;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
777 g_data[int('q')] = 1;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
778 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
779 if (orient == 11) {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
780 g_data[int('x')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
781 g_data[int('y')] = 1;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
782 g_data[int('q')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
783 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
784 if (orient == 10) {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
785 g_data[int('x')] = 1;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
786 g_data[int('y')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
787 g_data[int('q')] = 1;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
788 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
789 if (orient == 101) {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
790 g_data[int('x')] = 1;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
791 g_data[int('y')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
792 g_data[int('q')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
793 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
794 message("Rotate|brush");
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
795 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
796
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
797 if (ckey == 'm') {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
798 if (g_data[int('M')] == 1) {
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
799 g_data[int('m')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
800 ckey = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
801 g_boxreconstruct = 2;
157
cdfda0354332 Integrate changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 156
diff changeset
802 refresh();
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
803 }
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
804 g_data[int('M')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
805 }
29
249c4f5742f3 Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents: 20
diff changeset
806
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
807 if (g_data[int('m')] == 1) {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
808 if (ckey == 'm') {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
809 g_data[int('M')] = 0;
157
cdfda0354332 Integrate changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 156
diff changeset
810 g_ofx = int(g_storedcoordx / 8) - int(magx() / 2);
cdfda0354332 Integrate changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 156
diff changeset
811 g_ofy = int(g_storedcoordy / 8) - int(magy() / 2);
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
812 message("Magnify");
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
813 if (tool() == 0) {
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
814 set_tool(g_prevtool);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
815 g_phase = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
816 g_rubbermode = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
817 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
818 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
819 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
820 refresh();
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
821 }
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
822
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
823 if (g_data[int('J')] == 1) {
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
824 g_data[int('J')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
825 g_data[int('j')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
826 spare();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
827 store_undo();
43
df6eecdf1cd4 Clean up g_spare related things.
Matti Hamalainen <ccr@tnsp.org>
parents: 42
diff changeset
828 message("Copied to|" + (g_spare ? "Spare" : "Front"));
df6eecdf1cd4 Clean up g_spare related things.
Matti Hamalainen <ccr@tnsp.org>
parents: 42
diff changeset
829 switcher(4);
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
830 spare();
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
831 }
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
832
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
833 if (g_data[int('j')] == 1) {
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
834 g_data[int('j')] = 0;
47
706bfe438e6f Fix display of which page we just switched to (spare or front).
Matti Hamalainen <ccr@tnsp.org>
parents: 43
diff changeset
835 spare();
43
df6eecdf1cd4 Clean up g_spare related things.
Matti Hamalainen <ccr@tnsp.org>
parents: 42
diff changeset
836 message((g_spare ? "Spare" : "Front") + " Page");
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
837 makecolor(259, g_r[g_map[0]], g_g[g_map[0]], g_b[g_map[0]]);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
838 g_boxreconstruct = 2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
839 }
112
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
840
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
841 if (g_data[int('O')] == 1) {
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
842 g_data[int('O')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
843 store_undo();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
844 for (int xx = 0; xx < X * Y; xx++) {
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
845 g_map[1024 + xx] = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
846 }
173
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
847 for (int xx = 0; xx < X; xx++)
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
848 for (int yy = 0; yy < Y; yy++)
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
849 {
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
850 g_farge = g_backg;
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
851 makepoint(xx, yy);
9bbed9b6df8d Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 157
diff changeset
852 g_farge = g_ofarge;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
853 }
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
854 }
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
855
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
856 if (g_data[int('o')] == 1) {
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
857 g_data[int('o')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
858 message("Clear all");
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
859 store_undo();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
860 storeparameters();
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
861 g_data[int('r')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
862 g_data[int('R')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
863 g_data[int('d')] = 0;
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
864 g_data[int('t')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
865
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
866 for (int xx = 0; xx < X * Y; xx++) {
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
867 g_map[1024 + xx] = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
868 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
869
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
870 for (int xx = 0; xx < X; xx++) {
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
871 for (int yy = 0; yy < Y; yy++) {
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
872 g_farge = g_backg;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
873 makepoint(xx, yy);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
874 g_farge = g_ofarge;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
875 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
876 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
877
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
878 restoreparameters();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
879 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
880
157
cdfda0354332 Integrate changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 156
diff changeset
881 if (g_data[int('e')] == 1)
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
882 g_data[int('e')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
883
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
884 if (g_data[int('h')] == 1) {
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
885 g_data[int('h')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
886 g_bsize--;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
887 if (g_bsize < 0) g_bsize = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
888 g_msgctr = -2;
6
07ddf9cfc6c2 Cast char to int where needed and other related operations.
Matti Hamalainen <ccr@tnsp.org>
parents: 4
diff changeset
889 help(int('h'));
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
890 }
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
891 if (g_data[int('H')] == 1) {
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
892 g_data[int('H')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
893 g_bsize++;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
894 if (g_bsize > 10) g_bsize = 10;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
895 g_msgctr = -2;
6
07ddf9cfc6c2 Cast char to int where needed and other related operations.
Matti Hamalainen <ccr@tnsp.org>
parents: 4
diff changeset
896 help(int('h'));
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
897 }
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
898 if (g_data[int('u')] == 1) {
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
899 g_data[int('u')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
900 message("Undo");
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
901 restore_undo();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
902 refresh();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
903 g_boxreconstruct = 2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
904 }
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
905 if (g_data[int('U')] == 1) {
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
906 g_data[int('U')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
907 message("Redo");
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
908 redo_undo();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
909 refresh();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
910 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
911
179
934934bb1fbb Rename global variable s/machine/g_machine/g
Matti Hamalainen <ccr@tnsp.org>
parents: 177
diff changeset
912 if (g_machine == SPECTRUM) {
154
1b2cbf3ab441 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
913 if (g_data[int('i')] == 1)
1b2cbf3ab441 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
914 {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
915 g_data[int('i')] = 0;
154
1b2cbf3ab441 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
916 if (g_iconmode)
1b2cbf3ab441 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
917 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
918 message("Icons|not loaded!");
154
1b2cbf3ab441 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
919 }
1b2cbf3ab441 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
920 else
1b2cbf3ab441 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
921 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
922 message("Store|icons");
29
249c4f5742f3 Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents: 20
diff changeset
923 mpSaveNativeImage("icons.bin");
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
924 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
925 }
154
1b2cbf3ab441 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
926 if (g_data[int('I')] == 1)
1b2cbf3ab441 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
927 {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
928 g_data[int('I')] = 0;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
929 message("Restore|icons");
29
249c4f5742f3 Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents: 20
diff changeset
930 mpLoadNativeImage("icons.bin", true);
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
931 refresh();
154
1b2cbf3ab441 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
932
1b2cbf3ab441 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
933 for (int i = 0; i <= 80000; i++)
1b2cbf3ab441 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
934 g_icons[i] = g_map[i];
1b2cbf3ab441 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
935
1b2cbf3ab441 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
936 g_iconmode = true;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
937 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
938 }
118
050a1ca8b106 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 115
diff changeset
939
050a1ca8b106 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 115
diff changeset
940 if (g_data[int('l')] == 1)
050a1ca8b106 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 115
diff changeset
941 {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
942 g_data[int('l')] = 0;
112
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
943
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
944 mpLoadFileSelector("Multipaint image", ".mp",
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
945 function (fh, fdata)
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
946 {
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
947 int err = mpSetNativeImage(fdata);
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
948 if (err == 0)
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
949 {
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
950 mpSetTitle(fh.name);
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
951 if (g_spare)
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
952 sfilename = fh.name;
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
953 else
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
954 filename = fh.name;
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
955
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
956 message("Image loaded");
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
957 refresh();
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
958 }
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
959 else
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
960 if (err == -2)
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
961 message("Wrong|machine!");
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
962 else
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
963 message("ERROR!");
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
964 });
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
965 }
118
050a1ca8b106 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 115
diff changeset
966
050a1ca8b106 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 115
diff changeset
967 if (g_data[int('s')] == 1)
050a1ca8b106 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 115
diff changeset
968 {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
969 g_data[int('s')] = 0;
112
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
970
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
971 String fname = filename +"_"+ (g_spare ? "spare" : "main") +".mp";
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
972 if (mpSaveBinaryFile(fname, mpGetNativeImage()))
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
973 message("SAVED");
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
974 else
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
975 message("ERROR!");
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
976 }
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
977
202
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
978 if (g_data[int('E')] == 1)
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
979 {
112
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
980 g_data[int('E')] = 0;
145
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
981
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
982 // message("Export SRC|is disabled");
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
983
112
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
984 message("Source|export");
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
985 String fname = (g_spare ? sfilename : filename) +"_"+ (g_spare ? "spare" : "main") +".asm";
122
ffa6533584ca Use the MPWriteCtx class. However, due to this refactoring, there are
Matti Hamalainen <ccr@tnsp.org>
parents: 118
diff changeset
986 MPWriteCtx ctx = new MPWriteCtx();
ffa6533584ca Use the MPWriteCtx class. However, due to this refactoring, there are
Matti Hamalainen <ccr@tnsp.org>
parents: 118
diff changeset
987
ffa6533584ca Use the MPWriteCtx class. However, due to this refactoring, there are
Matti Hamalainen <ccr@tnsp.org>
parents: 118
diff changeset
988 if (mpExportMachinePRG(ctx) && mpSaveBinaryFile(fname, ctx.getSource()))
112
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
989 message("EXPORTED");
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
990 else
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
991 message("COULD NOT|EXPORT");
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
992 }
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
993
118
050a1ca8b106 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 115
diff changeset
994 if (g_data[int('A')] == 1)
050a1ca8b106 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 115
diff changeset
995 {
112
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
996 g_data[int('A')] = 0;
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
997 message("Executable|export");
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
998
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
999 String fname = (g_spare ? sfilename : filename) +"_"+ (g_spare ? "spare" : "main") +"."+ g_exportext;
122
ffa6533584ca Use the MPWriteCtx class. However, due to this refactoring, there are
Matti Hamalainen <ccr@tnsp.org>
parents: 118
diff changeset
1000 MPWriteCtx ctx = new MPWriteCtx();
ffa6533584ca Use the MPWriteCtx class. However, due to this refactoring, there are
Matti Hamalainen <ccr@tnsp.org>
parents: 118
diff changeset
1001
ffa6533584ca Use the MPWriteCtx class. However, due to this refactoring, there are
Matti Hamalainen <ccr@tnsp.org>
parents: 118
diff changeset
1002 if (mpExportMachinePRG(ctx) && mpSaveBinaryFile(fname, ctx.getData()))
112
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1003 message("EXPORTED");
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1004 else
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1005 message("COULD NOT|EXPORT");
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1006 }
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1007
118
050a1ca8b106 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 115
diff changeset
1008 if (g_data[int('w')] == 1)
050a1ca8b106 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 115
diff changeset
1009 {
112
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1010 g_data[int('w')] = 0;
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1011
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1012 if (g_formatext != "") {
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1013 message("Format|import");
123
f49f83b9bbc7 Quick fix for using correct filename extension in format import file selector.
Matti Hamalainen <ccr@tnsp.org>
parents: 122
diff changeset
1014 mpLoadFileSelector(g_formatname, "."+ g_formatext,
112
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1015 function (fh, fdata)
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1016 {
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1017 store_undo();
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1018 filename = fh.name;
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1019 mpImportFormat(fdata);
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1020 refresh();
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1021 });
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1022 }
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1023 else
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1024 message("None for|"+ g_name);
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1025 }
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1026
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1027 if (g_data[int('W')] == 1)
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1028 {
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1029 g_data[int('W')] = 0;
202
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
1030
206
efbd833065f5 Change PNG export to be triggered via alt+shift+W.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
1031 if (g_alt)
202
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
1032 {
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
1033 message("PNG|export");
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
1034
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
1035 String fname = filename +"_"+ (g_spare ? "spare" : "main") +".png";
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
1036 PImage simg = mpRenderImage(true, 64, 32, 1);
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
1037
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
1038 if (simg !== null)
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
1039 {
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
1040 simg.sourceImg.toBlob(function(idata){ mpSaveBinaryBlob(fname, idata); }, "image/png", 0.95);
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
1041 }
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
1042 }
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
1043 else
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
1044 if (g_formatext != "")
06d3840b15ae Implement PNG export, via Ctrl + click on (format) export icon.
Matti Hamalainen <ccr@tnsp.org>
parents: 199
diff changeset
1045 {
112
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1046 message("Format|export");
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1047
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1048 String fname = filename +"_"+ (g_spare ? "spare" : "main") +"."+ g_formatext;
122
ffa6533584ca Use the MPWriteCtx class. However, due to this refactoring, there are
Matti Hamalainen <ccr@tnsp.org>
parents: 118
diff changeset
1049 MPWriteCtx ctx = new MPWriteCtx();
112
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1050
122
ffa6533584ca Use the MPWriteCtx class. However, due to this refactoring, there are
Matti Hamalainen <ccr@tnsp.org>
parents: 118
diff changeset
1051 if (mpExportFormat(ctx, 0) && // XXX TODO
ffa6533584ca Use the MPWriteCtx class. However, due to this refactoring, there are
Matti Hamalainen <ccr@tnsp.org>
parents: 118
diff changeset
1052 mpSaveBinaryFile(fname, ctx.getData()))
112
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1053 message("EXPORTED");
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1054 else
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1055 message("COULD NOT|EXPORT");
206
efbd833065f5 Change PNG export to be triggered via alt+shift+W.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
1056 }
efbd833065f5 Change PNG export to be triggered via alt+shift+W.
Matti Hamalainen <ccr@tnsp.org>
parents: 205
diff changeset
1057 else
112
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1058 message("None for|"+ g_name);
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1059 }
105
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1060
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1061 if (g_data[int('S')] == 1)
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1062 {
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1063 g_data[int('S')] = 0;
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1064 g_data[int('s')] = 0;
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1065
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1066 if (mpHaveLocalStorage())
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1067 {
115
653ce10184e5 Improve error handling of local storage saving/loading.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
1068 try
105
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1069 {
115
653ce10184e5 Improve error handling of local storage saving/loading.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
1070 var fdata = mpGetNativeImage();
105
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1071 var fstr = JSON.stringify(fdata);
179
934934bb1fbb Rename global variable s/machine/g_machine/g
Matti Hamalainen <ccr@tnsp.org>
parents: 177
diff changeset
1072 localStorage.setItem("MPIMAGE_DATA"+ str(g_machine), fstr);
105
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1073 message("Saved to lstorage");
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1074 }
115
653ce10184e5 Improve error handling of local storage saving/loading.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
1075 catch (err)
653ce10184e5 Improve error handling of local storage saving/loading.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
1076 {
105
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1077 message("ERROR");
115
653ce10184e5 Improve error handling of local storage saving/loading.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
1078 }
105
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1079 }
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1080 else
106
3abfab85e7bc Change it so that each "machine type" uses separate local storage variable.
Matti Hamalainen <ccr@tnsp.org>
parents: 105
diff changeset
1081 message("Lstorage is not available");
105
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1082 }
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1083
112
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1084 if (g_data[int('L')] == 1)
a0d0994e9bac Move file operations from draw function to events handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 106
diff changeset
1085 {
4
a1261cd4c676 Int-ize byte array index references when using character, e.g. arr['A'] -> arr[int('A')]
Matti Hamalainen <ccr@tnsp.org>
parents: 2
diff changeset
1086 g_data[int('L')] = 0;
105
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1087 if (mpHaveLocalStorage())
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1088 {
115
653ce10184e5 Improve error handling of local storage saving/loading.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
1089 try
105
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1090 {
179
934934bb1fbb Rename global variable s/machine/g_machine/g
Matti Hamalainen <ccr@tnsp.org>
parents: 177
diff changeset
1091 var fstr = localStorage.getItem("MPIMAGE_DATA"+ str(g_machine));
105
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1092 var fdata = JSON.parse(fstr);
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1093 if (typeof(fdata) == "object" &&
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1094 Array.isArray(fdata))
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1095 {
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1096 int res = mpSetNativeImage(fdata, false);
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1097 if (res != 0)
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1098 message("Wrong machine");
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1099 else
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1100 message("Loaded lstorage");
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1101 }
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1102 else
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1103 message("Invalid data in lstorage");
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1104 }
115
653ce10184e5 Improve error handling of local storage saving/loading.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
1105 catch (err)
653ce10184e5 Improve error handling of local storage saving/loading.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
1106 {
105
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1107 message("No data in lstorage");
115
653ce10184e5 Improve error handling of local storage saving/loading.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
1108 }
105
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1109 }
6429d0b757cd Implement quick save/load ("S"/"L") via browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
1110 else
106
3abfab85e7bc Change it so that each "machine type" uses separate local storage variable.
Matti Hamalainen <ccr@tnsp.org>
parents: 105
diff changeset
1111 message("Lstorage is not available");
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
1112 }
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
1113 }