#include #include #include "../compat/pgmspace.h" #include "bitmapscroller.h" #include "ideenpark.h" static uint8_t const aIdeenparkBitmap[2][42][6] PROGMEM = {{{0x00, 0x1f, 0xf0, 0x07, 0xf0, 0x00}, {0x00, 0x0f, 0xf0, 0x07, 0xf8, 0x00}, {0x00, 0x3f, 0xf8, 0x1f, 0xf8, 0x00}, {0x00, 0x1f, 0xf8, 0x0f, 0xfe, 0x00}, {0x00, 0x7f, 0xf8, 0x3f, 0xfc, 0x00}, {0x00, 0x7f, 0xfc, 0x1f, 0xff, 0x00}, {0x00, 0xff, 0xfc, 0x7f, 0xff, 0x00}, {0x00, 0x3f, 0xff, 0x7f, 0xfe, 0x00}, {0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x00}, {0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00}, {0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00}, {0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00}, {0x00, 0x07, 0xff, 0xff, 0xf8, 0x00}, {0x00, 0x0f, 0xff, 0xff, 0xe0, 0x00}, {0x00, 0x03, 0xff, 0xff, 0xe0, 0x00}, {0x10, 0x07, 0xff, 0xff, 0xe0, 0x00}, {0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc}, {0x1f, 0xff, 0xff, 0xf3, 0xff, 0xfc}, {0x67, 0x7f, 0xff, 0xc3, 0xff, 0x3c}, {0x64, 0xb3, 0x9e, 0xc0, 0x9f, 0xb7}, {0x61, 0x7f, 0xff, 0x48, 0x7f, 0xd6}, {0xe5, 0xc4, 0x02, 0x0b, 0x24, 0x1f}, {0xe7, 0x6f, 0x71, 0x0b, 0xe5, 0x1e}, {0x67, 0xe0, 0x09, 0x0e, 0x03, 0x8f}, {0x61, 0x5f, 0xb9, 0x8e, 0xe5, 0x24}, {0x1c, 0x73, 0x9f, 0xff, 0x9f, 0xf8}, {0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc}, {0x10, 0x07, 0xff, 0xff, 0xe0, 0x00}, {0x00, 0x03, 0xff, 0xff, 0xe0, 0x00}, {0x00, 0x0f, 0xff, 0xff, 0xe0, 0x00}, {0x00, 0x07, 0xff, 0xff, 0xf8, 0x00}, {0x00, 0x1f, 0xff, 0xff, 0xf0, 0x00}, {0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00}, {0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00}, {0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x00}, {0x00, 0x3f, 0xff, 0x3f, 0xff, 0x00}, {0x00, 0xff, 0xfc, 0x7f, 0xff, 0x00}, {0x00, 0x7f, 0xfc, 0x1f, 0xff, 0x00}, {0x00, 0x7f, 0xf8, 0x3f, 0xfc, 0x00}, {0x00, 0x1f, 0xf8, 0x0f, 0xfe, 0x00}, {0x00, 0x3f, 0xf8, 0x0f, 0xf8, 0x00}, {0x00, 0x0f, 0xe0, 0x07, 0xf8, 0x00}}, {{0x00, 0x0f, 0xe0, 0x07, 0xf8, 0x00}, {0x00, 0x1f, 0xf0, 0x0f, 0xf8, 0x00}, {0x00, 0x1f, 0xf0, 0x0f, 0xfc, 0x00}, {0x00, 0x3f, 0xf8, 0x1f, 0xfc, 0x00}, {0x00, 0x3f, 0xfc, 0x1f, 0xfe, 0x00}, {0x00, 0x7f, 0xfc, 0x3f, 0xfe, 0x00}, {0x00, 0x7f, 0xfe, 0x3f, 0xfe, 0x00}, {0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x00}, {0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00}, {0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00}, {0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00}, {0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00}, {0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00}, {0x00, 0x07, 0xff, 0xff, 0xf0, 0x00}, {0x00, 0x07, 0xff, 0xff, 0xe0, 0x00}, {0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8}, {0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8}, {0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc}, {0x2f, 0xbf, 0xff, 0xe1, 0xff, 0xbe}, {0x6f, 0x3f, 0xff, 0xed, 0xff, 0x3e}, {0xec, 0x21, 0x08, 0x6d, 0x88, 0x2f}, {0xe9, 0x29, 0x69, 0x61, 0xc9, 0x8f}, {0x69, 0x80, 0x0b, 0x67, 0x0b, 0x8f}, {0x69, 0x0f, 0x7b, 0x6f, 0x69, 0x26}, {0x2c, 0x21, 0x0b, 0x6f, 0x0b, 0xb6}, {0x3f, 0xff, 0xff, 0xff, 0xff, 0xfc}, {0x1f, 0xff, 0xff, 0xff, 0xff, 0xf8}, {0x0f, 0xff, 0xff, 0xff, 0xff, 0xf8}, {0x00, 0x07, 0xff, 0xff, 0xe0, 0x00}, {0x00, 0x07, 0xff, 0xff, 0xf0, 0x00}, {0x00, 0x0f, 0xff, 0xff, 0xf0, 0x00}, {0x00, 0x0f, 0xff, 0xff, 0xf8, 0x00}, {0x00, 0x1f, 0xff, 0xff, 0xf8, 0x00}, {0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00}, {0x00, 0x3f, 0xff, 0xff, 0xfc, 0x00}, {0x00, 0x7f, 0xfe, 0x7f, 0xfe, 0x00}, {0x00, 0x7f, 0xfe, 0x3f, 0xfe, 0x00}, {0x00, 0x7f, 0xfc, 0x3f, 0xfe, 0x00}, {0x00, 0x3f, 0xfc, 0x1f, 0xfe, 0x00}, {0x00, 0x3f, 0xf8, 0x1f, 0xfc, 0x00}, {0x00, 0x1f, 0xf0, 0x0f, 0xfc, 0x00}, {0x00, 0x1f, 0xf0, 0x0f, 0xf8, 0x00}}}; static uint8_t logo_Ideenpark_getChunk(unsigned char const nBitPlane, unsigned char const nChunkX, unsigned char const nChunkY, unsigned int const nFrame) { assert(nBitPlane < 2); assert(nChunkX < 6); assert(nChunkY < 42); return pgm_read_byte(&aIdeenparkBitmap[nBitPlane][nChunkY][nChunkX]); } void logo_Ideenpark() { // width 48, height 42, 2 bitplanes (4 colors), 600 frames à 50ms (20 fps) // frame change and viewport movement after every cyle (both dividers are 1) bitmap_scroll(48, 42, 2, 600, 50, 1, 1, logo_Ideenpark_getChunk); }