void BTE_MovePositive(u8 SourceLayer, u8 DestiLayer, u16 x1, u16 y1, u16 x2, u16 y2,u16 x, u16 y) { BTE_Source(SourceLayer, DestiLayer, x1, x, y1, y); BTE_Size((x2-x1+1), (y2-y1+1)); Write_Command(0x51);//写入BTE 操作码与光栅操作码 Write_Data(0xc2); Write_Command(0x50);//写入BTE 操作码与光栅操作码 Write_Data(0x80); Chk_Busy_BTE(); }
void DrawScreen(screen_enum_t scn) { int i,j; int sWidth = 0; if(bDisplayInitialized == 0) return; xSemaphoreTake(xDispSemaphore, portMAX_DELAY); { SetDrawingLayer(); switch(scn) { case EmpLoggedInScn: Background_color(color_black); Text_color(color_white); Clear_Active_Window(); Show_String18(gArial18, "Client Name:", 55,5); Show_String18(gArial24, "Vigelette, George", 55,28); // time while the font is still loaded Show_String18(gArial24, "11:32 AM", 385,28); // time while the font is still loaded DisplayImageBlockMode(g3gIcon20.start_addr ,400, 3, g3gIcon20.image_width, g3gIcon20.image_height); // // Layer1_Visible(); // Write_To_Bank1(); // Active_Window(0,479,0,271); // battery DisplayImageBlockMode(gBatteryIcons.start_addr,427, 3, gBatteryIcons.image_width, 20); // buttons // Row 1 DisplayImageBlockMode(gBtnEndShift.start_addr,20, 63, gBtnEndShift.image_width, gBtnEndShift.image_height); DisplayImageBlockMode(gBtnTimesheet.start_addr,250, 63, gBtnTimesheet.image_width, gBtnTimesheet.image_height); // Row 2 DisplayImageBlockMode(gBtnTaskList.start_addr,20, 123, gBtnTaskList.image_width, gBtnTaskList.image_height); DisplayImageBlockMode(gBtnSchedule.start_addr,250, 123, gBtnSchedule.image_width, gBtnSchedule.image_height); // Row 3 DisplayImageBlockMode(gBtnMessages.start_addr,20, 183, gBtnMessages.image_width, gBtnMessages.image_height); DisplayImageBlockMode(gBtnExit.start_addr,250, 183, gBtnExit.image_width, gBtnExit.image_height); sWidth = MeasureString(gArial24, "Jan 21, 2013"); Show_String18(gArial24, "Jan 21, 2013", (480 - sWidth)/2 ,250); break; case EmpLoggedOutScn: break; case ClientScn: break; case ActivationScn: break; case TestScn: // bte fill Background_color(color_black); Text_color(color_white); Graphic_Mode(); BTE_Size_setting(15,68); BTE_ROP_Code(0xcc); //set BTE solid fill for(i=0;i<32;i++) { Text_Foreground_Color(i,0,0); BTE_Source_Destination(0,i*15,0,0); BTE_enable(); Chk_Busy_BTE(); Text_Foreground_Color(0,i*2,0); BTE_Source_Destination(0,i*15,0,68); BTE_enable(); Chk_Busy_BTE(); Text_Foreground_Color(0,0,i); BTE_Source_Destination(0,i*15,0,136); BTE_enable(); Chk_Busy_BTE(); Text_Foreground_Color(i,i*2,i); BTE_Source_Destination(0,i*15,0,204); BTE_enable(); Chk_Busy_BTE(); } break; case ConfigurationScn: Internal_CGROM(); Font_size_16x16_8x16(); Background_color(color_blue); Text_color(color_white); Clear_Active_Window(); Font_Coordinate(5,5); Show_String("Safe-Link Device Configuration ",0); break; case AuthenticatingScn: break; case MessageListScn: break; case NewMessageScn: break; case ReadMessageScn: break; case TaskListScn: break; case TaskViewScn: break; case ScheduleScn: break; case TimeApproveScn: break; case LockedScn: Active_Window(0,479,0,271); DisplayImageBlockMode(gDeviceLockedScreen.start_addr, 0,0,gDeviceLockedScreen.image_width, gDeviceLockedScreen.image_height); break; case SplashScn: Active_Window(0,479,0,271); DisplayImageBlockMode(gsplashScreen.start_addr, 0,0,gsplashScreen.image_width, gsplashScreen.image_height); Text_color(color_white); Geometric_Coordinate(212,268,108,164); Draw_square(); Text_color(color_black); Geometric_Coordinate(213,267,109,163); Draw_square_fill(); Active_Window(0,479,0,271); DisplayImageBlockMode(gCycle.start_addr, 216,112,gCycle.image_width, gCycle.image_height); break; case LoadingAnim: Active_Window(0,479,0,271); Background_color(color_black); Text_color(color_white); Graphic_Mode(); Clear_Active_Window(); Show_String18(gArialBlack24, "Loading", 206 ,116); DisplayImageBlockMode(gProgressBar.start_addr,153, 145, gProgressBar.image_width, 14); break; default: DisplayImageBlockMode(gsplashScreen.start_addr, 0,0,gsplashScreen.image_width, gsplashScreen.image_height); break; } ShowNextScene(); xSemaphoreGive(xDispSemaphore); } }