/******************************************************************************* Print_Clk: progress indicator *******************************************************************************/ void Print_Clk(u16 x0, u16 y0, u16 Type, u8 Phase) { u16 i, j, b; __LCD_Set_Block(x0, x0+10, y0, y0+10); for(i=0; i<11; ++i){ b = CLK_TAB[Phase *11 + i]; for(j=0; j<11; ++j){ if((b >> j)& 0x001) __LCD_SetPixl(Color[Type >> 0x8]); else __LCD_SetPixl(Color[Type & 0x0F]); } }
void draw_line( u8 value, u8 scale,int y, u32 fg_color, u32 bg_color) { u16 pixels[ 100]; int i; for ( i = 0; i < scale; i += 1) { pixels[ i] = (i < value) ? fg_color : bg_color; } __LCD_Set_Block( 0, 49, y, y+1); __LCD_DMA_Ready(); __LCD_Copy( pixels, scale); }
void fill_rect( Area *area, u16 color) { __LCD_DMA_Ready(); u16 left = area->lower_left.x; u16 bottom = area->lower_left.y; u16 width = area->extents.x; u16 height = area->extents.y; __LCD_Set_Block( left, (left + width), bottom, (bottom + height)); int i; for ( i = 0; i < (width * height); i += 1) { __LCD_SetPixl( color); } }