annotate events.pde @ 199:475a6ab70cd1

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