Mercurial > hg > forks > multipaint-js
annotate multipaint.pde @ 89:09c1a4aba305
Set dirty flag on setup.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 06 Jul 2018 00:27:38 +0300 |
parents | 03823fa2cb01 |
children | dffafe05d520 |
rev | line source |
---|---|
35 | 1 // |
2 // Multipaint Metal Edition 22.5.2017 | |
3 // Tero Heikkinen (Dr. TerrorZ) | |
4 // ProcessingJS port and changes by Matti Hämäläinen (ccr/TNSP) | |
5 // processing setup draw and file things here | |
6 // | |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
7 |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
8 PrintWriter exwriter; |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
9 final int C64 = 0, MSX = 5, SPECTRUM = 6, C64M = 10, PLUS4 = 9, PLUS4M = 19, CPC = 2; // supported |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
10 final int TIMEX = 7, JR200 = 8, AMIGA = 11; // experimental or incomplete |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
11 final int C64FLI = 20, C64FLIM = 21; // experimental |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
12 final int PICO8 = 88; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
13 final int FAKEX = 32; // Commodore 64 without attribute limitations |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
14 final int UNIA = 33; |
16
f356d9c176a6
ProcessingJS does not provide "platform" variables, we need to define them ourselves.
Matti Hamalainen <ccr@tnsp.org>
parents:
15
diff
changeset
|
15 final int PEESEE = 0, MACOSX = 1, PSJS = 2; |
69 | 16 |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
17 //-1 & -1 for normal operation |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
18 int machine = -1; // change this to autoselect |
16
f356d9c176a6
ProcessingJS does not provide "platform" variables, we need to define them ourselves.
Matti Hamalainen <ccr@tnsp.org>
parents:
15
diff
changeset
|
19 int platform = PSJS; |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
20 |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
21 final int COMMAND = 157; // Marq's cmd/ctrl solution |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
22 |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
23 int g_active, g_tooltrigger, g_prevtool; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
24 int g_rband, g_rbang, g_boxreconstruct, g_sorsaa, g_charlimit; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
25 int g_animx, g_animy, g_animframes, g_animno, g_animtime, g_animspeed; |
72
5e7553e9aee0
Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents:
69
diff
changeset
|
26 int g_omag, g_bordh, g_bordv, g_keymacpos, g_dirty; |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
27 |
69 | 28 boolean fileselect = false, saveas = false, refselect = false, |
82 | 29 g_control = false, g_shift = false, exportsrc = false, |
69 | 30 importfmt = false, exportemu = false, exportfmt = false; |
31 | |
32 String path = "", refpath = "", filename = "", sfilename = "", | |
33 elename = "", refname = "", | |
34 g_exportext = "", g_exportname = "", g_keymacro = ""; | |
35 | |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
36 |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
37 int[] g_r = new int[266]; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
38 int[] g_g = new int[266]; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
39 int[] g_b = new int[266]; |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
40 int[] g_rgb = new int[266]; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
41 |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
42 byte[] g_map = new byte[88000]; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
43 byte[] g_fillmap = new byte[88000]; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
44 byte[] g_sparepage = new byte[88000]; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
45 byte[] g_swappage = new byte[88000]; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
46 byte[] g_rmap = new byte[88000]; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
47 byte[] g_icons = new byte[88000]; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
48 byte[] g_brush = new byte[88000]; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
49 byte[][] g_undob = new byte[11][88000]; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
50 byte[][] g_undobs = new byte[11][88000]; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
51 byte[] g_template = new byte[16384]; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
52 byte[] g_redo = new byte[1024]; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
53 byte[] g_remdo = new byte[1024]; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
54 int[] g_chaup = new int[64]; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
55 byte[] g_data = new byte[1024]; |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
56 int[] g_uindex = new int[8]; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
57 int[] g_ubottom = new int[8]; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
58 int[] g_utop = new int[8]; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
59 int[] g_magpix = new int[64]; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
60 int[] g_magpiy = new int[64]; |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
61 |
69 | 62 |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
63 byte g_realfront, g_realback; |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
64 |
69 | 65 |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
66 //dimensions |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
67 int X, Y, MX, MY; |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
68 //generic mouse |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
69 int g_ofx, g_ofy, g_button, g_realbutton, g_klikkeri, g_mx, g_my, g_orx, g_ory, g_msx, g_msy; |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
70 //rubberband,mouse |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
71 int g_phase, g_rx, g_ry, g_rx2, g_ry2, g_rubbermode; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
72 int g_prex, g_prey, g_storedcoordx, g_storedcoordy; |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
73 //window positioning |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
74 int g_windowx, g_windowy, g_maglocx, g_maglocy; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
75 int g_hedge, g_vedge, g_uizoom, g_wzoom; |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
76 //icons & gui stuff |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
77 int g_iconx, g_icony, g_piconx, g_picony, g_iconmode; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
78 int g_gridx, g_gridy, g_spare; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
79 int g_farge, g_backg, g_ofarge, g_repanel, g_msgctr; |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
80 //machine related color properties |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
81 int g_attrimode, g_britemode, g_multic, g_backmode, g_maxcolors, g_hzoomer; |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
82 float g_palsteps; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
83 //brush, tool parameters |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
84 int g_bsourcex, g_bsourcey, g_bsourcex2, g_bsourcey2; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
85 int g_bsize, g_btype; |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
86 |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
87 |
83 | 88 void setup() |
89 { | |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
90 g_magpix[0] = 3; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
91 g_magpix[1] = 8; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
92 g_magpix[2] = 16; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
93 g_magpix[10] = 2; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
94 g_magpix[11] = 6; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
95 g_magpix[12] = 16; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
96 g_magpix[20] = 4; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
97 g_magpix[21] = 16; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
98 g_magpix[22] = 32; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
99 |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
100 g_magpiy[0] = 3; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
101 g_magpiy[1] = 8; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
102 g_magpiy[2] = 16; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
103 g_magpiy[10] = 2; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
104 g_magpiy[11] = 6; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
105 g_magpiy[12] = 16; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
106 g_magpiy[20] = 4; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
107 g_magpiy[21] = 16; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
108 g_magpiy[22] = 32; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
109 |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
110 g_omag = 1; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
111 g_bordh = 64; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
112 g_bordv = 32; |
25
13dda1c3ae88
As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
113 |
36 | 114 // Set up UI |
25
13dda1c3ae88
As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
115 g_uizoom = 2; |
13dda1c3ae88
As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
116 g_animspeed = 1; |
13dda1c3ae88
As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
117 |
36 | 118 // Get machine from Javascript runner, or default to C64 |
25
13dda1c3ae88
As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
119 if (mpMachine) |
13dda1c3ae88
As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
120 machine = mpMachine; |
13dda1c3ae88
As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
121 else |
13dda1c3ae88
As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
122 machine = C64; |
13dda1c3ae88
As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents:
24
diff
changeset
|
123 |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
124 switch (g_uizoom) { |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
125 case 1: |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
126 g_wzoom = 2; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
127 size(700, 468); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
128 break; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
129 case 2: |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
130 g_wzoom = 3; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
131 size(1058, 708); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
132 break; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
133 case 3: |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
134 g_wzoom = 4; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
135 size(1460, 950); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
136 break; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
137 } |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
138 |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
139 g_hedge = 32 * g_uizoom; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
140 g_vedge = 32 * g_uizoom; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
141 |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
142 g_uindex[0] = 0; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
143 g_utop[0] = 0; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
144 g_ubottom[0] = 0; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
145 g_uindex[1] = 0; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
146 g_utop[1] = 0; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
147 g_ubottom[1] = 0; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
148 g_spare = 0; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
149 g_bsize = 0; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
150 g_btype = 0; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
151 g_phase = 0; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
152 g_button = LEFT; |
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
|
153 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
|
154 g_data[int('g')] = 1; |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
155 g_icons = mpLoadBinaryFile("icons.bin"); |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
156 set_tool(3); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
157 |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
158 g_gridx = 8; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
159 g_gridy = 8; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
160 g_multic = 0; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
161 g_repanel = -2; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
162 |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
163 //UI colors |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
164 makecolor(256, 0xff, 0, 0xff); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
165 makecolor(257, 180, 180, 180); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
166 g_rgb[257] = 0xff808080; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
167 makecolor(258, 0, 0, 0); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
168 makecolor(259, 48, 48, 48); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
169 //R,G,B |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
170 makecolor(260, 255, 0, 0); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
171 makecolor(261, 0, 255, 0); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
172 makecolor(262, 0, 0, 255); |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
173 |
81
7ee5e0c590bd
Clean set_machine() and rename to mpSetupMachine()
Matti Hamalainen <ccr@tnsp.org>
parents:
73
diff
changeset
|
174 mpSetupMachine(machine); |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
175 g_windowx = width - (g_hedge) - (g_wzoom * X); |
7
c848a6133cfc
Fix many calculations (divisions) that assume integer variable division
Matti Hamalainen <ccr@tnsp.org>
parents:
4
diff
changeset
|
176 g_windowx = int(g_windowx / 2); |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
177 g_windowy = height - (g_vedge) - (g_wzoom * Y); |
7
c848a6133cfc
Fix many calculations (divisions) that assume integer variable division
Matti Hamalainen <ccr@tnsp.org>
parents:
4
diff
changeset
|
178 g_windowy = int(g_windowy / 2); |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
179 |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
180 switcher(3); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
181 |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
182 g_map[4] = byte(g_maxcolors - 1); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
183 g_ofarge = g_farge; |
7
c848a6133cfc
Fix many calculations (divisions) that assume integer variable division
Matti Hamalainen <ccr@tnsp.org>
parents:
4
diff
changeset
|
184 MX = int(X / 8); |
c848a6133cfc
Fix many calculations (divisions) that assume integer variable division
Matti Hamalainen <ccr@tnsp.org>
parents:
4
diff
changeset
|
185 MY = int(Y / 8); |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
186 g_realfront = byte(g_farge); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
187 g_realback = byte(g_backg); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
188 |
83 | 189 for (int y = 0; y < Y; y++) |
190 for (int x = 0; x < X; x++) | |
69 | 191 absolute_clearpoint(x, y); |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
192 |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
193 switcher(2); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
194 noStroke(); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
195 background(g_r[259], g_g[259], g_b[259]); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
196 sussborder(); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
197 setup_raster(); |
83 | 198 |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
199 message("Multipaint|Metal|v22.5.2017"); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
200 message("*"); |
89 | 201 g_dirty = true; |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
202 } |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
203 |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
204 |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
205 void mpSetTitle(String str) { |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
206 console.log("TITLE: '" + str + "'"); |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
207 } |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
208 |
28
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
209 |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
210 boolean fexists(String fname) { |
27
f9bffb2fbb2c
Make fexists() return always true.
Matti Hamalainen <ccr@tnsp.org>
parents:
25
diff
changeset
|
211 // File f = new File(fname); |
f9bffb2fbb2c
Make fexists() return always true.
Matti Hamalainen <ccr@tnsp.org>
parents:
25
diff
changeset
|
212 // if (f.exists())return true; |
f9bffb2fbb2c
Make fexists() return always true.
Matti Hamalainen <ccr@tnsp.org>
parents:
25
diff
changeset
|
213 return true; |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
214 } |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
215 |
28
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
216 |
54
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
217 function mpLoadFileSelector(fmtname, fmtexts, fcallback) |
28
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
218 { |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
219 var mpUI = stGE("mpUI"); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
220 if (mpUI) |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
221 { |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
222 stClearChildren(mpUI); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
223 mpUI.style.background = "red"; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
224 mpUI.style.padding = "0.5em"; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
225 |
54
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
226 mobj = stCE("input", "mpFileSelector"); |
28
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
227 mobj.type = "file"; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
228 mobj.name = "name"; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
229 mobj.multiple = false; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
230 |
54
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
231 if (fmtexts != null) |
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
232 mobj.accept = fmtexts; |
28
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
233 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
234 stAddEventOb(mobj.name, mobj, "change", |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
235 function(evt) |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
236 { |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
237 var files = evt.target.files; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
238 if (files.length > 0) |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
239 { |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
240 var freader = new FileReader(); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
241 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
242 freader.onloadend = (function(theFile) { |
58
8c47708f0196
Oops, forgot to commit this.
Matti Hamalainen <ccr@tnsp.org>
parents:
56
diff
changeset
|
243 fcallback(theFile, new Uint8Array(freader.result)); |
28
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
244 }); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
245 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
246 freader.readAsArrayBuffer(files[0]); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
247 } |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
248 stClearChildren(mpUI); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
249 mpUI.style.background = null; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
250 }); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
251 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
252 mpUI.appendChild(mobj); |
54
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
253 |
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
254 mobj = stCE("span", "mpFileInfo"); |
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
255 mobj.innerHTML = "Load / import an '<b>"+ fmtname +"</b>' file."; |
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
256 mpUI.appendChild(mobj); |
28
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
257 } |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
258 else |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
259 return null; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
260 } |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
261 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
262 |
52 | 263 // |
264 // Basically the same as Processing loadBytes(), but it seems | |
265 // that Processing.JS's loadBytes() is broken at least in v1.4.8 | |
266 // and does not return byte-clean data. So roll a replacement of | |
267 // our own design. --ccr | |
268 // | |
28
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
269 byte[] mpLoadBinaryFile(String url) |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
270 { |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
271 var xhr = new XMLHttpRequest(); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
272 xhr.open("GET", url, false); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
273 xhr.overrideMimeType("text/plain; charset=x-user-defined"); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
274 xhr.setRequestHeader("If-Modified-Since", "Fri, 01 Jan 1960 00:00:00 GMT"); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
275 xhr.send(null); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
276 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
277 if (xhr.status !== 200 && xhr.status !== 0) |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
278 return null; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
279 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
280 var string = xhr.responseText; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
281 byte[] ret = new byte[string.length]; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
282 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
283 for (var i = 0; i < string.length; i++) |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
284 { |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
285 ret[i] = string.charCodeAt(i) & 0xff; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
286 } |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
287 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
288 return ret; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
289 } |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
290 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
291 |
52 | 292 // |
293 // "Save" a byte array to file. Basically creates a blob URI | |
294 // and dumps it in the DOM, giving user a download. | |
295 // | |
28
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
296 void mpSaveBinaryFile(String name, byte[] data) |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
297 { |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
298 var blob = new Blob([new Uint8Array(data)], {type: "application/octet-stream"}), |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
299 url = window.URL.createObjectURL(blob); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
300 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
301 var alink = stCE("a"); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
302 var mpUI = stGE("mpUI"); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
303 stClearChildren(mpUI); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
304 mpUI.appendChild(alink); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
305 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
306 alink.style = "display: none"; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
307 alink.href = url; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
308 alink.download = name; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
309 alink.click(); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
310 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
311 window.URL.revokeObjectURL(url); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
312 } |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
313 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
314 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
315 void mpSavePNGImage(String name) |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
316 { |
88
03823fa2cb01
Refactor export_image() and export_image_sans_border() to use common code,
Matti Hamalainen <ccr@tnsp.org>
parents:
84
diff
changeset
|
317 PImage simg; |
28
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
318 if (g_data[int('Q')] == 0) |
88
03823fa2cb01
Refactor export_image() and export_image_sans_border() to use common code,
Matti Hamalainen <ccr@tnsp.org>
parents:
84
diff
changeset
|
319 simg = mpRenderImageWithoutBorder(); |
28
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
320 else |
88
03823fa2cb01
Refactor export_image() and export_image_sans_border() to use common code,
Matti Hamalainen <ccr@tnsp.org>
parents:
84
diff
changeset
|
321 simg = mpRenderImageWithBorder(); |
03823fa2cb01
Refactor export_image() and export_image_sans_border() to use common code,
Matti Hamalainen <ccr@tnsp.org>
parents:
84
diff
changeset
|
322 |
03823fa2cb01
Refactor export_image() and export_image_sans_border() to use common code,
Matti Hamalainen <ccr@tnsp.org>
parents:
84
diff
changeset
|
323 // XXX TODO .. actually save the image |
28
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
324 } |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
325 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
326 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
327 void mpLoadPNGImage(String name) |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
328 { |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
329 int lefth = g_farge; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
330 int righth = g_backg; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
331 storeparameters(); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
332 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
333 g_data[int('d')] = 0; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
334 g_data[int('t')] = 0; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
335 g_data[int('b')] = 1; //old IQ |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
336 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
337 import_image(name); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
338 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
339 restoreparameters(); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
340 refreshpalette(); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
341 refresh(); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
342 g_boxreconstruct = 2; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
343 message("Image|loaded"); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
344 selectcolor(0, lefth); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
345 selectcolor(1, righth); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
346 } |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
347 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
348 |
53 | 349 void mpSaveNativeImage(String name) |
350 { | |
28
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
351 //save the picture page g_map[], make sure some essential parameters are correct |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
352 g_map[3] = byte(machine); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
353 g_map[5] = byte(MX); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
354 g_map[7] = byte(MY); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
355 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
356 mpSaveBinaryFile(name, g_map); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
357 } |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
358 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
359 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
360 void mpSetNativeImage(byte[] data, bool noError) |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
361 { |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
362 if (data == null) { |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
363 message("NO FILE"); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
364 return false; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
365 } |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
366 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
367 if (data[3] != machine && !noError) { |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
368 message("Wrong|machine!"); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
369 return false; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
370 } |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
371 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
372 g_map = data; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
373 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
374 refreshpalette(); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
375 consistency(); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
376 g_farge = int(g_realfront); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
377 g_ofarge = g_farge; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
378 g_backg = int(g_realback); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
379 sussborder(); |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
380 |
55 | 381 message("Page|loaded"); |
382 | |
28
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
383 return true; |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
384 } |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
385 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
386 |
55 | 387 bool mpLoadNativeImage(String name, bool noError) |
388 { | |
389 return mpSetNativeImage( | |
390 mpLoadBinaryFile(name), noError); | |
28
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
391 } |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
392 |
edcf9039552b
Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents:
27
diff
changeset
|
393 |
69 | 394 void draw() |
395 { | |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
396 if (!focused) { |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
397 g_control = false; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
398 g_shift = false; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
399 } |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
400 |
72
5e7553e9aee0
Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents:
69
diff
changeset
|
401 // If there should be no update, do not update. |
73
d2a89e88f958
When in rubberband mode, do not delay screen updates.
Matti Hamalainen <ccr@tnsp.org>
parents:
72
diff
changeset
|
402 if (!g_dirty && !g_rubbermode) |
72
5e7553e9aee0
Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents:
69
diff
changeset
|
403 return; |
5e7553e9aee0
Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents:
69
diff
changeset
|
404 g_dirty = false; |
5e7553e9aee0
Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents:
69
diff
changeset
|
405 |
5e7553e9aee0
Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents:
69
diff
changeset
|
406 // Animate animbrush |
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
|
407 if (g_data[int('n')] == 1) { |
69 | 408 if (++g_animtime > 8 - g_animspeed * 2) { |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
409 animbrush_do(); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
410 g_animtime = 0; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
411 } |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
412 } |
9
dfdc18b62fab
Change the help() function and its usage to have more than one parameter to
Matti Hamalainen <ccr@tnsp.org>
parents:
7
diff
changeset
|
413 |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
414 |
40 | 415 // Update some mouse variables |
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
|
416 if (g_data[int('m')] == 0 && g_data[int('M')] == 0) { |
39 | 417 g_mx = g_msx - g_windowx; |
418 g_my = g_msy - g_windowy; | |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
419 } else { |
39 | 420 g_mx = mouseX; |
421 g_my = mouseY; | |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
422 } |
11 | 423 |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
424 g_msx = mouseX; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
425 g_msy = mouseY; |
39 | 426 |
40 | 427 // Actual tool drawing |
39 | 428 if (g_tooltrigger == 1) { // comes from mousepressed, or mousedragged |
40 | 429 if (g_mx <= width - g_hedge && g_my <= height - g_vedge) |
430 do_tool(g_mx, g_my, g_button); | |
39 | 431 } |
432 | |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
433 switcher(0); |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
434 |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
435 for (int i = 0; i < 1024; i++) { |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
436 g_remdo[i] = 0; |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
437 } |
39 | 438 |
40 | 439 // Tool drawing for shows |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
440 int lipo = g_button; |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
441 if (tool() != 5) { |
40 | 442 if (g_phase == 0) |
443 g_button = LEFT; | |
39 | 444 do_tool(g_mx, g_my, LEFT); |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
445 } |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
446 if (tool() == 6) doline(g_rx, g_ry, g_rx2, g_ry2, 0); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
447 if (tool() == 7) docircle(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
|
448 if (tool() == 8) rectangle(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
|
449 g_button = lipo; |
39 | 450 |
40 | 451 // Screen update stuff |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
452 loadPixels(); |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
453 viewport(); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
454 //magport(); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
455 switcher(1); |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
456 update_ui(); |
40 | 457 updatePixels(); |
11 | 458 |
40 | 459 if (g_msgctr > 0) |
460 g_msgctr--; | |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
461 |
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
462 // UI file operations |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
463 if (fileselect) // Fileselect "event" for Load |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
464 { |
54
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
465 mpLoadFileSelector("Multipaint image", ".mp", |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
466 function (fh, fdata) |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
467 { |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
468 if (mpSetNativeImage(fdata)) |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
469 { |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
470 store_undo(); |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
471 mpSetTitle(fh.name); |
43
df6eecdf1cd4
Clean up g_spare related things.
Matti Hamalainen <ccr@tnsp.org>
parents:
40
diff
changeset
|
472 if (g_spare) |
df6eecdf1cd4
Clean up g_spare related things.
Matti Hamalainen <ccr@tnsp.org>
parents:
40
diff
changeset
|
473 sfilename = fh.name; |
df6eecdf1cd4
Clean up g_spare related things.
Matti Hamalainen <ccr@tnsp.org>
parents:
40
diff
changeset
|
474 else |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
475 filename = fh.name; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
476 |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
477 refresh(); |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
478 } |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
479 }); |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
480 |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
481 fileselect = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
482 g_shift = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
483 g_control = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
484 } |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
485 |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
486 if (saveas) // Fileselect "event" for Save as |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
487 { |
56
4eb9ebde8c20
Some more interface cleanupping.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
488 mpSaveNativeImage(filename +"_"+ (g_spare ? "spare" : "main") +".mp"); |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
489 |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
490 saveas = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
491 g_shift = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
492 g_control = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
493 } |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
494 |
82 | 495 if (exportsrc) |
56
4eb9ebde8c20
Some more interface cleanupping.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
496 { |
59
1628649831cc
Disable the TXT and EMU export functionality as they are not working yet.
Matti Hamalainen <ccr@tnsp.org>
parents:
58
diff
changeset
|
497 message("Export TXT|is disabled"); |
1628649831cc
Disable the TXT and EMU export functionality as they are not working yet.
Matti Hamalainen <ccr@tnsp.org>
parents:
58
diff
changeset
|
498 /* |
56
4eb9ebde8c20
Some more interface cleanupping.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
499 exportemuname = g_spare ? sfilename : filename; |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
500 machine_export(exportemuname, 1); |
59
1628649831cc
Disable the TXT and EMU export functionality as they are not working yet.
Matti Hamalainen <ccr@tnsp.org>
parents:
58
diff
changeset
|
501 */ |
82 | 502 exportsrc = false; |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
503 g_shift = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
504 g_control = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
505 } |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
506 |
56
4eb9ebde8c20
Some more interface cleanupping.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
507 if (exportemu) |
4eb9ebde8c20
Some more interface cleanupping.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
508 { |
59
1628649831cc
Disable the TXT and EMU export functionality as they are not working yet.
Matti Hamalainen <ccr@tnsp.org>
parents:
58
diff
changeset
|
509 message("Export EMU|is disabled"); |
1628649831cc
Disable the TXT and EMU export functionality as they are not working yet.
Matti Hamalainen <ccr@tnsp.org>
parents:
58
diff
changeset
|
510 /* |
56
4eb9ebde8c20
Some more interface cleanupping.
Matti Hamalainen <ccr@tnsp.org>
parents:
55
diff
changeset
|
511 exportemuname = g_spare ? sfilename : filename; |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
512 machine_export(exportemuname, 0); |
59
1628649831cc
Disable the TXT and EMU export functionality as they are not working yet.
Matti Hamalainen <ccr@tnsp.org>
parents:
58
diff
changeset
|
513 */ |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
514 exportemu = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
515 g_shift = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
516 g_control = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
517 } |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
518 |
54
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
519 if (importfmt) |
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
520 { |
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
521 mpLoadFileSelector(g_formatname, g_formatext, |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
522 function (fh, fdata) |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
523 { |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
524 store_undo(); |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
525 filename = fh.name; |
84
025efefd1704
Rename few functions and a variable.
Matti Hamalainen <ccr@tnsp.org>
parents:
83
diff
changeset
|
526 mpImportFormat(fdata); |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
527 refresh(); |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
528 }); |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
529 |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
530 importfmt = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
531 g_shift = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
532 g_control = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
533 } |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
534 |
54
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
535 if (exportfmt) |
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
536 { |
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
537 format_export(filename +"_"+ |
dee55b8f97a6
Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents:
53
diff
changeset
|
538 (g_spare ? "spare" : "main") + |
60
5ad17dd6f867
Add dot to format export file extension.
Matti Hamalainen <ccr@tnsp.org>
parents:
59
diff
changeset
|
539 "."+ g_formatext); |
29
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
540 |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
541 exportfmt = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
542 g_shift = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
543 g_control = false; |
249c4f5742f3
Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents:
28
diff
changeset
|
544 } |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
545 |
2
5eb3559e1778
Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents:
0
diff
changeset
|
546 if (g_keymacro.length() > g_keymacpos) { |
0
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
547 macro_command(g_keymacro.charAt(g_keymacpos)); |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
548 g_keymacpos++; |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
549 } |
ebd5689e2985
Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff
changeset
|
550 } |