void walk(cursor* cur, unsigned char steps, unsigned int delay){ unsigned char x; for(x=0;x<steps;x++){ set_cursor(cur, next_pixel(cur->pos, cur->dir)); wait(delay); } }
static void wb_line_c (byte* dest_line, byte* src_line, unsigned int dim_x, byte wb_r, byte wb_g, byte wb_b, tBY8Pattern pattern) { const tBY8Pattern even_pattern = pattern; const tBY8Pattern odd_pattern = next_pixel(pattern); guint x; for (x = 0; x < dim_x; x += 2) { unsigned int v0 = wb_pixel_c( src_line[x], wb_r, wb_g, wb_b,even_pattern ); unsigned int v1 = wb_pixel_c( src_line[x+1], wb_r, wb_g, wb_b, odd_pattern ); *((guint16*)(dest_line + x)) = (guint16)(v1 << 8 | v0); } if (x == (dim_x - 1)) { dest_line[x] = wb_pixel_c( src_line[x], wb_r, wb_g, wb_b, even_pattern ); } }