diff --git a/TODO b/TODO index 3241c0fd..3210bd52 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,6 @@ + *** WTF todo with alpha mask in binary blits ?!?! + !!! reorganization of audio input !!! better interaction for encoded file and stream settings !!! code cleanup and enhancement of s-lang console diff --git a/doc/freejscript-example.js b/doc/freejscript-example.js index 576350e5..c918c00f 100644 --- a/doc/freejscript-example.js +++ b/doc/freejscript-example.js @@ -50,7 +50,8 @@ if(text) { text.size(40); text.spin(1.05, 0.2); for( c=0; c<10; c++) { - text.font(c+1); + //text.font(c+1); + text.font("/usr/share/fonts/truetype/freefont/FreeSans.ttf"); numba = rand(c*10); // generate random numbers <(c*10) msg = c + ": " + numba; text.print(msg); // print it in truetype fonts on text layer diff --git a/lib/javascript/config/Linux_All.mk b/lib/javascript/config/Linux_All.mk index 0c43df4b..77f8af35 100644 --- a/lib/javascript/config/Linux_All.mk +++ b/lib/javascript/config/Linux_All.mk @@ -90,11 +90,11 @@ endif # Use the editline library to provide line-editing support. JS_EDITLINE = 1 -ifeq ($(CPU_ARCH),x86_64) +##ifeq ($(CPU_ARCH),x86_64) # Use VA_COPY() standard macro on x86-64 # FIXME: better use it everywhere OS_CFLAGS += -DHAVE_VA_COPY -DVA_COPY=va_copy -endif +##endif ifeq ($(CPU_ARCH),x86_64) # We need PIC code for shared libraries diff --git a/src/blitter.cpp b/src/blitter.cpp index 8ea22039..b1eb82b5 100644 --- a/src/blitter.cpp +++ b/src/blitter.cpp @@ -37,6 +37,14 @@ // Linear transparent blits +BLIT blit_xor(void *src, void *dst, int bytes, void *value) { + register int c; + register uint32_t *s = (uint32_t*)src; + register uint32_t *d = (uint32_t*)dst; + + for(c=bytes>>2;c>0;c--,s++,d++) + *d ^= *s; +} BLIT red_channel(void *src, void *dst, int bytes, void *value) { register int c; @@ -386,6 +394,11 @@ Blitter::Blitter() { b->type = LINEAR_BLIT; b->fun = schiffler_or; blitlist.append(b); + b = new Blit(); b->set_name("XOR"); + sprintf(b->desc,"bitwise xor"); + b->type = LINEAR_BLIT; + b->fun = blit_xor; blitlist.append(b); + b = new Blit(); b->set_name("RED"); sprintf(b->desc,"red channel only blit"); b->type = LINEAR_BLIT;