annotate multipaint.pde @ 153:9f4e6f888120

Integrate more changes from v1.8.2018.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 15 Aug 2018 15:55:14 +0300
parents d7c13f427178
children 1b2cbf3ab441
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
35
eb9157c6a067 Update author blurb.
Matti Hamalainen <ccr@tnsp.org>
parents: 31
diff changeset
1 //
145
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
2 // Multipaint 1.8.2018
35
eb9157c6a067 Update author blurb.
Matti Hamalainen <ccr@tnsp.org>
parents: 31
diff changeset
3 // Tero Heikkinen (Dr. TerrorZ)
eb9157c6a067 Update author blurb.
Matti Hamalainen <ccr@tnsp.org>
parents: 31
diff changeset
4 // ProcessingJS port and changes by Matti Hämäläinen (ccr/TNSP)
eb9157c6a067 Update author blurb.
Matti Hamalainen <ccr@tnsp.org>
parents: 31
diff changeset
5 // processing setup draw and file things here
eb9157c6a067 Update author blurb.
Matti Hamalainen <ccr@tnsp.org>
parents: 31
diff changeset
6 //
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
7
148
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
8 // Supported
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
9 final int C64 = 0, MSX = 5, SPECTRUM = 6, C64M = 10, PLUS4 = 9, PLUS4M = 19, CPC = 2;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
10
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
11 // Experimental or incomplete
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
12 final int C64NOLIMIT = 32; // Commodore 64 without attribute limitations
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
13 final int C64FLI = 20, C64FLIM = 21; // incomplete FLI & AFLI modes
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
14 final int TIMEX = 7, JR200 = 8, AMIGA = 11, ATARIST = 12;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
15 final int PICO8 = 88;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
16 final int UNIA = 33;
148
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
17 final int COCO3 = 34;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
18 final int BK0010 = 99;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
19 final int QLLOW = 66;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
20
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
21 // Reserved but completely unimplemented
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
22 final int VIC = 22; // VIC-20
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
23 final int CGA = 23; // 320 x 200 PC CGA screen with black, white, cyan, magenta
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
24 final int CGAX = 24; // 320 x 200 PC CGA screen with black, yellow, green, red-ish
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
25 final int EGA = 200; // 320 x 200 PC EGA screen, 16 colors of 64
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
26 final int VGA = 255; // 320 x 200 PC VGA screen, 256 colors of 65536
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
27 final int NES = 90; // 8-bit NES
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
28 final int SEGAM = 91; // 8-bit Sega Master System
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
29
16
f356d9c176a6 ProcessingJS does not provide "platform" variables, we need to define them ourselves.
Matti Hamalainen <ccr@tnsp.org>
parents: 15
diff changeset
30 final int PEESEE = 0, MACOSX = 1, PSJS = 2;
113
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
31 final int COMMAND = 157; // Marq's cmd/ctrl solution
69
3d40683b367a Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 60
diff changeset
32
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
33 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
34 int platform = PSJS;
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
35
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
36 int g_active, g_tooltrigger, g_prevtool;
93
aadcd5f7e9dc Misc. cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 92
diff changeset
37 int g_rband, g_rbang, g_boxreconstruct, g_charlimit;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
38 int g_animx, g_animy, g_animframes, g_animno, g_animtime, g_animspeed;
114
019909b7ab6e Oops, g_dirty should've been boolean all the time.
Matti Hamalainen <ccr@tnsp.org>
parents: 113
diff changeset
39 int g_omag, g_bordh, g_bordv, g_keymacpos;
136
12cf30907f26 More work on integrating changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 135
diff changeset
40 int g_wheelup = int(':'), g_wheeldown = int(';'), g_middlebutton = int(',');
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
41
148
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
42 boolean g_control = false, g_shift = false, g_dirty, g_inhibit_aspect = false;
69
3d40683b367a Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 60
diff changeset
43
133
f5c32f6470d0 Begin integrating more changes from Multipaint 1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 131
diff changeset
44 String g_formatname, g_formatext,
f5c32f6470d0 Begin integrating more changes from Multipaint 1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 131
diff changeset
45 filename = "", sfilename = "",
f5c32f6470d0 Begin integrating more changes from Multipaint 1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 131
diff changeset
46 g_name, g_exportext = "",
153
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
47 g_exportname = "", g_keymacro = "",
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
48 g_forcedpalette = "";
69
3d40683b367a Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 60
diff changeset
49
133
f5c32f6470d0 Begin integrating more changes from Multipaint 1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 131
diff changeset
50 final int OLD = 0;
f5c32f6470d0 Begin integrating more changes from Multipaint 1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 131
diff changeset
51 final int NEW = 1;
153
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
52 final int FLATRATIO = 1;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
53 final int SQUARERATIO = 0;
133
f5c32f6470d0 Begin integrating more changes from Multipaint 1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 131
diff changeset
54 int g_gridmode = OLD;
f5c32f6470d0 Begin integrating more changes from Multipaint 1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 131
diff changeset
55 int g_pixelw = 1;
153
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
56 int g_aspect = SQUARERATIO;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
57
133
f5c32f6470d0 Begin integrating more changes from Multipaint 1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 131
diff changeset
58 int[] g_grids = new int[16];
f5c32f6470d0 Begin integrating more changes from Multipaint 1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 131
diff changeset
59
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
60 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
61 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
62 int[] g_b = new int[266];
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
63 int[] g_rgb = new int[266];
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
64
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
65 byte[] g_map = new byte[88000];
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
66 byte[] g_fillmap = new byte[88000];
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
67 byte[] g_rmap = new byte[88000];
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
68 byte[] g_icons = new byte[88000];
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
69 byte[] g_brush = new byte[88000];
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
70 byte[] g_template = new byte[16384];
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
71 byte[] g_redo = new byte[1024];
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
72 byte[] g_remdo = new byte[1024];
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
73 int[] g_chaup = new int[64];
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
74 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
75 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
76 int[] g_magpiy = new int[64];
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
77
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
78 byte g_realfront, g_realback;
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
79
69
3d40683b367a Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 60
diff changeset
80
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
81 //dimensions
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
82 int X, Y, MX, MY;
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
83 //generic mouse
143
5e18cb16bc4b Booleanize.
Matti Hamalainen <ccr@tnsp.org>
parents: 142
diff changeset
84 boolean g_klikkeri;
5e18cb16bc4b Booleanize.
Matti Hamalainen <ccr@tnsp.org>
parents: 142
diff changeset
85 int g_ofx, g_ofy, g_button, g_realbutton, 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
86 //rubberband,mouse
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
87 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
88 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
89 //window positioning
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
90 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
91 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
92 //icons & gui stuff
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
93 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
94 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
95 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
96 //machine related color properties
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
97 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
98 float g_palsteps;
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
99 //brush, tool parameters
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
100 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
101 int g_bsize, g_btype;
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
102
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
103
83
6524e83c3ba7 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
104 void setup()
6524e83c3ba7 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
105 {
148
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
106 //normi
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
107 g_magpix[0] = 3;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
108 g_magpix[1] = 8;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
109 g_magpix[2] = 16;
148
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
110 g_magpiy[0] = 3;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
111 g_magpiy[1] = 8;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
112 g_magpiy[2] = 16;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
113
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
114 //mini
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
115 g_magpix[10] = 2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
116 g_magpix[11] = 6;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
117 g_magpix[12] = 16;
148
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
118 g_magpiy[10] = 2;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
119 g_magpiy[11] = 6;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
120 g_magpiy[12] = 16;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
121
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
122 //maxi
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
123 g_magpix[20] = 4;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
124 g_magpix[21] = 16;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
125 g_magpix[22] = 32;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
126 g_magpiy[20] = 4;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
127 g_magpiy[21] = 16;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
128 g_magpiy[22] = 32;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
129
148
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
130 //FLAT normi
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
131 g_magpix[100] = 3;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
132 g_magpix[101] = 9;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
133 g_magpix[102] = 12;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
134 g_magpiy[100] = 2;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
135 g_magpiy[101] = 6;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
136 g_magpiy[102] = 8;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
137
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
138 //FLAT mini
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
139 g_magpix[110] = 3;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
140 g_magpix[111] = 9;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
141 g_magpix[112] = 12;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
142 g_magpiy[110] = 2;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
143 g_magpiy[111] = 6;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
144 g_magpiy[112] = 8;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
145
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
146 //FLAT maxi
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
147 g_magpix[120] = 6;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
148 g_magpix[121] = 12;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
149 g_magpix[122] = 21;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
150 g_magpiy[120] = 4;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
151 g_magpiy[121] = 8;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
152 g_magpiy[122] = 14;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
153
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
154 g_omag = 1;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
155 g_bordh = 64;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
156 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
157
36
a39b3c9e5c3b Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
158 // 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
159 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
160 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
161
36
a39b3c9e5c3b Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 35
diff changeset
162 // 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
163 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
164 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
165 else
13dda1c3ae88 As we launch from a browser now, include the HTML and necessary Javascript
Matti Hamalainen <ccr@tnsp.org>
parents: 24
diff changeset
166 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
167
148
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
168 switch (g_uizoom)
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
169 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
170 case 1:
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
171 g_wzoom = 2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
172 size(700, 468);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
173 break;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
174 case 2:
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
175 g_wzoom = 3;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
176 size(1058, 708);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
177 break;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
178 case 3:
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
179 g_wzoom = 4;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
180 size(1460, 950);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
181 break;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
182 }
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
183
148
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
184 if (g_inhibit_aspect)
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
185 {
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
186 if (machine == QLLOW || machine == BK0010)
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
187 Y = 256;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
188 }
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
189
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
190 if (g_uizoom >= 1 && g_uizoom <= 3)
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
191 g_wzoom = g_uizoom + 1;
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
192
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
193 g_hedge = 32 * g_uizoom;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
194 g_vedge = 32 * g_uizoom;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
195
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
196 g_spare = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
197 g_bsize = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
198 g_btype = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
199 g_phase = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
200 g_button = LEFT;
148
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
201
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
202 g_data[int('f')] = 1; // fill on
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
203 g_data[int('g')] = 1; // grid on
153
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
204 g_data[int('m')] = 0;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
205 g_data[int('M')] = 0; // mags off
148
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
206
29
249c4f5742f3 Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
207 g_icons = mpLoadBinaryFile("icons.bin");
148
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
208
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
209 set_tool(3);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
210
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
211 g_gridx = 8;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
212 g_gridy = 8;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
213 g_multic = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
214 g_repanel = -2;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
215
150
d7c13f427178 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 148
diff changeset
216 // UI colors
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
217 makecolor(256, 0xff, 0, 0xff);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
218 makecolor(257, 180, 180, 180);
153
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
219 // g_rgb[257] = 0xff808080;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
220 makecolor(258, 0, 0, 0);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
221 makecolor(259, 48, 48, 48);
150
d7c13f427178 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 148
diff changeset
222
d7c13f427178 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 148
diff changeset
223 // R,G and B for the palette sliders
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
224 makecolor(260, 255, 0, 0);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
225 makecolor(261, 0, 255, 0);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
226 makecolor(262, 0, 0, 255);
150
d7c13f427178 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 148
diff changeset
227 makecolor(263, 48, 48, 48); //backest UI background
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
228
81
7ee5e0c590bd Clean set_machine() and rename to mpSetupMachine()
Matti Hamalainen <ccr@tnsp.org>
parents: 73
diff changeset
229 mpSetupMachine(machine);
153
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
230
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
231 if (g_forcedpalette.length() > 3)
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
232 mpLoadPalette(g_forcedpalette);
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
233
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
234 int truwinsizex = X * g_magpix[magmode()];
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
235 int truwinsizey = Y * g_magpiy[magmode()];
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
236 /*
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
237 if (g_forcex == 0 || g_forcey == 0)
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
238 {
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
239 */
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
240 g_hadjust = 0;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
241 g_vadjust = 0;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
242
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
243 int hsize = truwinsizex + g_hedge + (22) * g_wzoom;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
244 int vsize = truwinsizey + g_vedge + (14) * g_wzoom;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
245
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
246 while (vsize - g_vedge < (12 * 16) * g_wzoom)
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
247 vsize += 2;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
248
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
249 while (hsize - g_hedge < (17 * 16) * g_wzoom)
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
250 hsize += 2;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
251
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
252 size(hsize, vsize);
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
253 /*
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
254 }
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
255
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
256 if (g_forcex > 800 && g_forcey > 600)
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
257 size(g_forcex, g_forcey);
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
258 */
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
259
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
260 if (g_inhibit_aspect)
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
261 g_aspect = SQUARERATIO;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
262
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
263 int paspect = g_wzoom;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
264 if (g_aspect == FLATRATIO)
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
265 {
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
266 if (g_wzoom == 2) paspect = 1;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
267 if (g_wzoom == 3) paspect = 2;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
268 if (g_wzoom == 4) paspect = 3;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
269 }
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
270
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
271 g_windowx = width - (g_hedge) - (truwinsizex);
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
272 g_windowx = g_windowx / 2;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
273 g_windowy = height - (g_vedge) - (truwinsizey);
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
274 g_windowy = g_windowy / 2;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
275
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
276 if (g_hadjust > 0)
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
277 g_windowx = width - (g_hedge) - (g_wzoom * X) - g_hadjust;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
278
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
279 if (g_vadjust > 0)
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
280 g_windowy = height - (g_vedge) - (paspect * Y) - g_vadjust;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
281
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
282 switcher(3);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
283
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
284 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
285 g_ofarge = g_farge;
7
c848a6133cfc Fix many calculations (divisions) that assume integer variable division
Matti Hamalainen <ccr@tnsp.org>
parents: 4
diff changeset
286 MX = int(X / 8);
c848a6133cfc Fix many calculations (divisions) that assume integer variable division
Matti Hamalainen <ccr@tnsp.org>
parents: 4
diff changeset
287 MY = int(Y / 8);
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
288 g_realfront = byte(g_farge);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
289 g_realback = byte(g_backg);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
290
83
6524e83c3ba7 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
291 for (int y = 0; y < Y; y++)
6524e83c3ba7 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
292 for (int x = 0; x < X; x++)
69
3d40683b367a Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 60
diff changeset
293 absolute_clearpoint(x, y);
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
294
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
295 switcher(2);
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
296 noStroke();
150
d7c13f427178 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 148
diff changeset
297 background(g_r[263], g_g[263], g_b[263]);
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
298 sussborder();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
299 setup_raster();
83
6524e83c3ba7 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 82
diff changeset
300
145
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
301 message(" Multipaint| 2018|| v1.8.2018");
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
302 message("*");
89
09c1a4aba305 Set dirty flag on setup.
Matti Hamalainen <ccr@tnsp.org>
parents: 88
diff changeset
303 g_dirty = true;
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
304 }
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
305
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
306
101
e5c147a7bf98 Remove fexists(), it's not in use.
Matti Hamalainen <ccr@tnsp.org>
parents: 97
diff changeset
307 void mpSetTitle(String str)
e5c147a7bf98 Remove fexists(), it's not in use.
Matti Hamalainen <ccr@tnsp.org>
parents: 97
diff changeset
308 {
29
249c4f5742f3 Refactor the import/export stuff a bit and the GUI bits for JS.
Matti Hamalainen <ccr@tnsp.org>
parents: 28
diff changeset
309 console.log("TITLE: '" + str + "'");
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
310 }
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
311
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
312
117
44a07b1c620d Rename 'bool' -> 'boolean'.
Matti Hamalainen <ccr@tnsp.org>
parents: 114
diff changeset
313 boolean mpHaveLocalStorage()
102
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
314 {
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
315 var test = 'mpLSTest';
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
316 try {
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
317 localStorage.setItem(test, test);
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
318 if (localStorage.getItem(test) == test)
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
319 {
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
320 localStorage.removeItem(test);
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
321 return true;
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
322 }
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
323 }
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
324 catch (e) {
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
325 return false;
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
326 }
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
327 return false;
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
328 }
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
329
287892b5eff8 Add function for checking availability of browser local storage.
Matti Hamalainen <ccr@tnsp.org>
parents: 101
diff changeset
330
54
dee55b8f97a6 Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
331 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
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 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
334 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
335 {
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
336 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
337 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
338 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
339
54
dee55b8f97a6 Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
340 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
341 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
342 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
343 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
344
54
dee55b8f97a6 Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
345 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
346 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
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 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
349 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
350 {
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
351 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
352 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
353 {
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
354 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
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 freader.onloadend = (function(theFile) {
58
8c47708f0196 Oops, forgot to commit this.
Matti Hamalainen <ccr@tnsp.org>
parents: 56
diff changeset
357 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
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 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
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 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
363 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
364 });
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 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
367
dee55b8f97a6 Use defined format extensions in the file selector. Also display format name
Matti Hamalainen <ccr@tnsp.org>
parents: 53
diff changeset
368 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
369 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
370 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
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 else
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
373 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
374 }
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
375
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
376
52
4f998eb1700a Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 51
diff changeset
377 //
4f998eb1700a Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 51
diff changeset
378 // Basically the same as Processing loadBytes(), but it seems
4f998eb1700a Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 51
diff changeset
379 // that Processing.JS's loadBytes() is broken at least in v1.4.8
4f998eb1700a Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 51
diff changeset
380 // and does not return byte-clean data. So roll a replacement of
4f998eb1700a Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 51
diff changeset
381 // our own design. --ccr
4f998eb1700a Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 51
diff changeset
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 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
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 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
386 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
387 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
388 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
389 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
390
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
391 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
392 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
393
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
394 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
395 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
396
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
397 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
398 {
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
399 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
400 }
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
401
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
402 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
403 }
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
404
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
405
103
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
406 Blob mpMakeBinaryBlob(byte[] data)
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
407 {
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
408 var blob = null;
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
409 if (data == null)
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
410 return null;
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
411
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
412 if (typeof(data) == "string")
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
413 blob = new Blob([data], {type: "application/octet-stream"});
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
414 else
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
415 if (typeof(data) == "object")
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
416 blob = new Blob([new Uint8Array(data)], {type: "application/octet-stream"});
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
417
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
418 return blob;
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
419 }
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
420
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
421
52
4f998eb1700a Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 51
diff changeset
422 //
4f998eb1700a Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 51
diff changeset
423 // "Save" a byte array to file. Basically creates a blob URI
4f998eb1700a Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 51
diff changeset
424 // and dumps it in the DOM, giving user a download.
4f998eb1700a Add some comments.
Matti Hamalainen <ccr@tnsp.org>
parents: 51
diff changeset
425 //
117
44a07b1c620d Rename 'bool' -> 'boolean'.
Matti Hamalainen <ccr@tnsp.org>
parents: 114
diff changeset
426 boolean mpSaveBinaryFile(String name, byte[] data)
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
427 {
103
7a889d59b405 Split Blob creation to mpMakeBinaryBlob().
Matti Hamalainen <ccr@tnsp.org>
parents: 102
diff changeset
428 var blob = mpMakeBinaryBlob(data);
96
2d4b56e4d966 Improve mpSaveBinaryFile() to also handle string format data. Also improve
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
429 if (blob == null)
2d4b56e4d966 Improve mpSaveBinaryFile() to also handle string format data. Also improve
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
430 {
2d4b56e4d966 Improve mpSaveBinaryFile() to also handle string format data. Also improve
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
431 console.log("Could not create BLOB from data.");
2d4b56e4d966 Improve mpSaveBinaryFile() to also handle string format data. Also improve
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
432 return false;
2d4b56e4d966 Improve mpSaveBinaryFile() to also handle string format data. Also improve
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
433 }
2d4b56e4d966 Improve mpSaveBinaryFile() to also handle string format data. Also improve
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
434
2d4b56e4d966 Improve mpSaveBinaryFile() to also handle string format data. Also improve
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
435 var url = window.URL.createObjectURL(blob);
2d4b56e4d966 Improve mpSaveBinaryFile() to also handle string format data. Also improve
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
436 if (url == null)
2d4b56e4d966 Improve mpSaveBinaryFile() to also handle string format data. Also improve
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
437 {
2d4b56e4d966 Improve mpSaveBinaryFile() to also handle string format data. Also improve
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
438 console.log("Could not create URL from BLOB object.");
2d4b56e4d966 Improve mpSaveBinaryFile() to also handle string format data. Also improve
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
439 return false;
2d4b56e4d966 Improve mpSaveBinaryFile() to also handle string format data. Also improve
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
440 }
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
441
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
442 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
443 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
444 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
445 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
446
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
447 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
448 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
449 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
450 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
451
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
452 window.URL.revokeObjectURL(url);
96
2d4b56e4d966 Improve mpSaveBinaryFile() to also handle string format data. Also improve
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
453 return true;
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
454 }
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
455
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
456
117
44a07b1c620d Rename 'bool' -> 'boolean'.
Matti Hamalainen <ccr@tnsp.org>
parents: 114
diff changeset
457 void mpSavePNGImage(String name, int fmt, boolean border)
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
458 {
94
6e74d45ea620 More work towards jpeg/png image export/import.
Matti Hamalainen <ccr@tnsp.org>
parents: 93
diff changeset
459 PImage simg = mpRenderImage(border);
6e74d45ea620 More work towards jpeg/png image export/import.
Matti Hamalainen <ccr@tnsp.org>
parents: 93
diff changeset
460 // 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
461
94
6e74d45ea620 More work towards jpeg/png image export/import.
Matti Hamalainen <ccr@tnsp.org>
parents: 93
diff changeset
462 if (simg !== null)
6e74d45ea620 More work towards jpeg/png image export/import.
Matti Hamalainen <ccr@tnsp.org>
parents: 93
diff changeset
463 {
6e74d45ea620 More work towards jpeg/png image export/import.
Matti Hamalainen <ccr@tnsp.org>
parents: 93
diff changeset
464 // XXX TODO .. actually save the image, something like ..
6e74d45ea620 More work towards jpeg/png image export/import.
Matti Hamalainen <ccr@tnsp.org>
parents: 93
diff changeset
465 //simg.canvas.toBlob(function(idata){ mpSaveBinaryFile(name, idata); }, "image/png", 0.95);
6e74d45ea620 More work towards jpeg/png image export/import.
Matti Hamalainen <ccr@tnsp.org>
parents: 93
diff changeset
466 }
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
467 }
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
468
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
469
97
65e6cacd068c Make PRG export work. Also some improvements in overall error handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 96
diff changeset
470 int mpLoadPNGImage(String name)
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
471 {
92
4161d798cb64 Clean up/refactor image (jpeg/png) importing a bit and rename function.
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
472 PImage simg = null;
4161d798cb64 Clean up/refactor image (jpeg/png) importing a bit and rename function.
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
473 if (simg == null)
97
65e6cacd068c Make PRG export work. Also some improvements in overall error handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 96
diff changeset
474 return -1;
92
4161d798cb64 Clean up/refactor image (jpeg/png) importing a bit and rename function.
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
475
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
476 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
477 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
478 storeparameters();
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
479
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
480 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
481 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
482 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
483
92
4161d798cb64 Clean up/refactor image (jpeg/png) importing a bit and rename function.
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
484 if (!mpImportFromImage(simg))
97
65e6cacd068c Make PRG export work. Also some improvements in overall error handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 96
diff changeset
485 return -2;
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
486
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
487 restoreparameters();
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
488 refreshpalette();
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
489 refresh();
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
490 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
491 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
492 selectcolor(1, righth);
97
65e6cacd068c Make PRG export work. Also some improvements in overall error handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 96
diff changeset
493 return 0;
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
494 }
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
495
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
496
104
73a8773466ae Change mpSaveNativeImage() to mpGetNativeImage().
Matti Hamalainen <ccr@tnsp.org>
parents: 103
diff changeset
497 byte[] mpGetNativeImage()
53
c551029a7086 Cosmetic.
Matti Hamalainen <ccr@tnsp.org>
parents: 52
diff changeset
498 {
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
499 //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
500 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
501 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
502 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
503
104
73a8773466ae Change mpSaveNativeImage() to mpGetNativeImage().
Matti Hamalainen <ccr@tnsp.org>
parents: 103
diff changeset
504 return g_map;
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
505 }
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
506
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
507
117
44a07b1c620d Rename 'bool' -> 'boolean'.
Matti Hamalainen <ccr@tnsp.org>
parents: 114
diff changeset
508 int mpSetNativeImage(byte[] data, boolean 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
509 {
97
65e6cacd068c Make PRG export work. Also some improvements in overall error handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 96
diff changeset
510 if (data == null)
65e6cacd068c Make PRG export work. Also some improvements in overall error handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 96
diff changeset
511 return -1;
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
512
97
65e6cacd068c Make PRG export work. Also some improvements in overall error handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 96
diff changeset
513 if (data[3] != machine && !noError)
65e6cacd068c Make PRG export work. Also some improvements in overall error handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 96
diff changeset
514 return -2;
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
515
111
044e3371d44b Do store_undo() in mpSetNativeImage() when supposedly successfully loading
Matti Hamalainen <ccr@tnsp.org>
parents: 110
diff changeset
516 store_undo();
044e3371d44b Do store_undo() in mpSetNativeImage() when supposedly successfully loading
Matti Hamalainen <ccr@tnsp.org>
parents: 110
diff changeset
517
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
518 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
519
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
520 refreshpalette();
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
521 consistency();
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
522 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
523 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
524 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
525 sussborder();
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
526
97
65e6cacd068c Make PRG export work. Also some improvements in overall error handling.
Matti Hamalainen <ccr@tnsp.org>
parents: 96
diff changeset
527 return 0;
28
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
528 }
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
529
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
530
117
44a07b1c620d Rename 'bool' -> 'boolean'.
Matti Hamalainen <ccr@tnsp.org>
parents: 114
diff changeset
531 int mpLoadNativeImage(String name, boolean noError)
55
7194cdcc9dab Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 54
diff changeset
532 {
7194cdcc9dab Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 54
diff changeset
533 return mpSetNativeImage(
7194cdcc9dab Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 54
diff changeset
534 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
535 }
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
536
edcf9039552b Add several new helper functions for loading and saving formats using Javascript facilities.
Matti Hamalainen <ccr@tnsp.org>
parents: 27
diff changeset
537
153
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
538 boolean mpLoadPalette(String fname)
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
539 {
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
540 if (g_map[13] != C64)
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
541 return false;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
542
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
543 byte fdata[] = mpLoadbinaryFile(fname);
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
544 if (fdata == null ||
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
545 fdata.length != 772 ||
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
546 fdata[0x301] != byte(0x10) ||
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
547 fdata[0x302] != byte(0xff) ||
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
548 fdata[0x303] != byte(0xff))
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
549 return false;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
550
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
551 for (int n = 0; n < 16; n++)
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
552 {
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
553 makecolor(n,
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
554 int(fdata[n * 3]),
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
555 int(fdata[n * 3 + 1]),
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
556 int(fdata[n * 3 + 2]));
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
557 }
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
558
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
559 makecolor(256, 0xff, 0, 0xff);
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
560 makecolor(257, 180, 180, 180);
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
561 // g_rgb[257] = 0xff808080;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
562 makecolor(258, 0, 0, 0);
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
563 makecolor(259, 48, 48, 48);
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
564 makecolor(260, 255, 0, 0);
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
565 makecolor(261, 0, 255, 0);
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
566 makecolor(262, 0, 0, 255);
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
567
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
568 sussborder();
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
569 refresh_all();
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
570
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
571 return true;
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
572 }
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
573
9f4e6f888120 Integrate more changes from v1.8.2018.
Matti Hamalainen <ccr@tnsp.org>
parents: 150
diff changeset
574
69
3d40683b367a Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 60
diff changeset
575 void draw()
3d40683b367a Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 60
diff changeset
576 {
113
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
577 if (!focused)
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
578 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
579 g_control = false;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
580 g_shift = false;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
581 }
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
582
72
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
583 // 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
584 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
585 return;
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
586 g_dirty = false;
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
587
5e7553e9aee0 Improve 'dirty' flag for only updating canvas when something changes.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
588 // Animate animbrush
113
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
589 if (g_data[int('n')] == 1)
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
590 {
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
591 if (++g_animtime > 8 - g_animspeed * 2)
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
592 {
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
593 animbrush_do();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
594 g_animtime = 0;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
595 }
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
596 }
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
597
40
8d2362b6ac12 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
598 // Update some mouse variables
113
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
599 if (g_data[int('m')] == 0 && g_data[int('M')] == 0)
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
600 {
39
5e0306ac3575 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 36
diff changeset
601 g_mx = g_msx - g_windowx;
5e0306ac3575 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 36
diff changeset
602 g_my = g_msy - g_windowy;
113
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
603 }
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
604 else
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
605 {
39
5e0306ac3575 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 36
diff changeset
606 g_mx = mouseX;
5e0306ac3575 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 36
diff changeset
607 g_my = mouseY;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
608 }
11
c1667eb54808 Cosmetics and indentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
609
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
610 g_msx = mouseX;
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
611 g_msy = mouseY;
39
5e0306ac3575 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 36
diff changeset
612
40
8d2362b6ac12 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
613 // Actual tool drawing
145
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
614 if (g_tooltrigger == 1 &&
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
615 g_mx <= width - g_hedge &&
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
616 g_my <= height - g_vedge)
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
617 do_tool(g_mx, g_my, g_button);
39
5e0306ac3575 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 36
diff changeset
618
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
619 switcher(0);
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
620
142
1ec3488bfd1e Cosmetics.
Matti Hamalainen <ccr@tnsp.org>
parents: 136
diff changeset
621 for (int i = 0; i < 1024; i++)
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
622 g_remdo[i] = 0;
39
5e0306ac3575 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 36
diff changeset
623
40
8d2362b6ac12 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
624 // Tool drawing for shows
135
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
625 int savebut = g_button;
113
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
626 if (tool() != 5)
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
627 {
40
8d2362b6ac12 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
628 if (g_phase == 0)
8d2362b6ac12 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
629 g_button = LEFT;
39
5e0306ac3575 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 36
diff changeset
630 do_tool(g_mx, g_my, LEFT);
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
631 }
148
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
632 else
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
633 storecoords(g_mx, g_my);
d80871032cdd More change integration.
Matti Hamalainen <ccr@tnsp.org>
parents: 145
diff changeset
634
150
d7c13f427178 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 148
diff changeset
635 if (tool() == 6) do_line(g_rx, g_ry, g_rx2, g_ry2, 0);
d7c13f427178 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 148
diff changeset
636 if (tool() == 7) do_circle(g_rx, g_ry, g_rx2, g_ry2);
d7c13f427178 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 148
diff changeset
637 if (tool() == 8) do_rectangle(g_rx, g_ry, g_rx2, g_ry2);
135
72ae62f2036b Cosmetic cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 133
diff changeset
638 g_button = savebut;
39
5e0306ac3575 Cleanup.
Matti Hamalainen <ccr@tnsp.org>
parents: 36
diff changeset
639
40
8d2362b6ac12 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
640 // Screen update stuff
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
641 loadPixels();
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
642 viewport();
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
643 switcher(1);
145
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
644
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
645 if (g_pgrab)
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
646 preview_box_drag();
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
647
5af8b5ddf349 Merge and clean up changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 143
diff changeset
648 preview_window();
136
12cf30907f26 More work on integrating changes from v1.8.2018
Matti Hamalainen <ccr@tnsp.org>
parents: 135
diff changeset
649 update_ui(false);
40
8d2362b6ac12 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
650 updatePixels();
11
c1667eb54808 Cosmetics and indentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
651
113
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
652 // Message control
40
8d2362b6ac12 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
653 if (g_msgctr > 0)
8d2362b6ac12 Cleanups.
Matti Hamalainen <ccr@tnsp.org>
parents: 39
diff changeset
654 g_msgctr--;
2
5eb3559e1778 Run everything through JS-beautifier and remove trailing whitespace.
Matti Hamalainen <ccr@tnsp.org>
parents: 0
diff changeset
655
113
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
656 // Macro handling
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
657 if (g_keymacro.length() > g_keymacpos)
f87c6577e696 Cleanups and few comments added.
Matti Hamalainen <ccr@tnsp.org>
parents: 112
diff changeset
658 {
0
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
659 macro_command(g_keymacro.charAt(g_keymacpos));
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
660 g_keymacpos++;
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
661 }
ebd5689e2985 Initial import of Multipaint sketch version 22.5.2017.
Tero Heikkinen
parents:
diff changeset
662 }