void scrolling(t_bunny_pixelarray *pix, int *i) { static t_scrolling **scroll = NULL; static unsigned int *pixel[NB_SCROLLS]; int x; int k; int p; *i = (*i - 1 + WIDTH) % WIDTH; full_color(pix, BLACK); if (scroll == NULL) { if ((scroll = bunny_malloc(sizeof(t_scrolling*) * (NB_SCROLLS + 1))) == NULL) return ; k = -1; while (++k < NB_SCROLLS && (scroll[k] = init_scroll(k))) pixel[k] = (unsigned int *)scroll[k]->pix->pixels; } k = -1; while (++k < NB_SCROLLS && (p = -1)) while (++p <= WIDTH / scroll[k]->pix->clipable.clip_width && (x = -1)) while (++x < scroll[k]->pix->clipable.clip_width * (scroll[k]->pix->clipable.clip_height - 1)) t_tekpixel(pix, scroll[k]->pos + x / scroll[k]->pix->clipable.clip_width, ((*i * scroll[k]->vit) + x % scroll[k]->pix->clipable.clip_width + p * scroll[k]->pix->clipable.clip_width) % WIDTH, pixel[k][x]); }
void part8(t_demo *prog, int time) { (void)time; full_color(prog->pix, BLACK); tunnel(prog); if (time > 3200) scrollfichage(prog, WIDTH / 2 - 100, HEIGHT - 350); }
void stylus_up_down(void) { if ((ADCDAT0 & (1<<15))) { //stylus up full_color(0x00ddff); //detect stylus down ADCTSC = 0xd3; } else { //stylus down //wait up //ADCTSC = 0x1d3; //set to auto mode,disable pull-up ADCTSC = (1<<2) | (1<<3); full_color(0xffdd00); //start adc convert ADCCON |= 0x01; } ADCCLRINTPNDNUP = 0x0; }