22 #include <emscripten/emscripten.h>
30 #define EVENT_BUF_SIZE 256
39 static int colors[7] = {0xFF,0xFF00,0xFF0000,0xFFFF00,0x00FFFF,0xFF00FF,0xFFFFFF};
74 a = (float)((col>>24)&0xFF);
77 r = (
Uint8)(r*(1-a) + ((col>>16)&0xFF)*(
a));
78 g = (
Uint8)(g*(1-a) + ((col>> 8)&0xFF)*(
a));
79 b = (
Uint8)(b*(1-a) + ((col>> 0)&0xFF)*(
a));
89 setpix(screen,x1+t*(x0-x1),y1+t*(y0-
y1),col);
99 for(tx=-xr+.5
f;tx<=xr-.5;tx++) {
100 setpix(screen,x+tx,y+ty,c);
104 setpix(screen,x-xr+.5
f,y+ty,c);
105 setpix(screen,x+xr-.5
f,y+ty,c);
123 for(y = 0;y < screen->
h;y++)
124 for(x = 0;x < screen->
w;x++)
125 setpix(screen,(
float)x,(
float)y,((x%255)<<16) + ((y%255)<<8) + (x+y)%255);
130 const SDL_Event *
event = &events[i&(EVENT_BUF_SIZE-1)];
138 x =
event->tfinger.x;
139 y =
event->tfinger.y;
142 c =
colors[
event->tfinger.fingerId%7];
143 col = ((
unsigned int)(c*(.1+.85))) | (
unsigned int)(0xFF*age)<<24;
245 SDL_Log(
"Multi Gesture: x = %f, y = %f, dAng = %f, dR = %f",
252 knob.
p.
x =
event.mgesture.x;
253 knob.
p.
y =
event.mgesture.y;
254 knob.
ang +=
event.mgesture.dTheta;
255 knob.
r +=
event.mgesture.dDist;
269 #ifdef __EMSCRIPTEN__
271 emscripten_cancel_main_loop();
276 int main(
int argc,
char* argv[])
298 #ifdef __EMSCRIPTEN__
299 emscripten_set_main_loop(
loop, 0, 1);