/***************************************************************************** * FUNCTION * wgui_show_mini_tab_bar * DESCRIPTION * Display the mini tab bar * PARAMETERS * void * RETURNS * void *****************************************************************************/ void wgui_show_mini_tab_bar(void) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ U8 idx = 0; S32 x1, x2, y1, y2; color_t bg_color, selected_color, normal_color; U16 bar_width, bar_height; U16 cell_width, cell_pad = 2, cell_count; U16 left_pad; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ x1 = wgui_mini_tab_bar.x; x2 = wgui_mini_tab_bar.x + wgui_mini_tab_bar.width - 1; y1 = wgui_mini_tab_bar.y; y2 = wgui_mini_tab_bar.y + wgui_mini_tab_bar.height - 1; cell_count = wgui_mini_tab_bar.num_of_items; bar_width = wgui_mini_tab_bar.width; bar_height = wgui_mini_tab_bar.height; bg_color = wgui_mini_tab_bar.bg_color; selected_color = wgui_mini_tab_bar.selected_item_color; normal_color = wgui_mini_tab_bar.normal_item_color; cell_width = (bar_width - cell_pad * (cell_count + 1)) / cell_count; left_pad = (bar_width - (cell_width * cell_count) - (cell_pad * (cell_count - 1))) >> 1; gdi_draw_solid_rect(x1, y1, x2, y2, GDI_COLOR_BLACK);//bg_color); for (idx = 0; idx < cell_count; idx++) { if (idx == wgui_mini_tab_bar.curr_index) /* selected item */ { gdi_draw_solid_rect( left_pad + (cell_pad + cell_width) * idx, y1 + 1, left_pad + cell_pad * idx + cell_width * (idx + 1), y2 - 1, GDI_COLOR_BLUE);//selected_color); } else /* normal item */ { gdi_draw_solid_rect( left_pad + (cell_pad + cell_width) * idx, y1 + 1, left_pad + cell_pad * idx + cell_width * (idx + 1), y2 - 1, GDI_COLOR_GREEN);// normal_color); } } }
/***************************************************************************** * FUNCTION * vs_tfw_draw_softkey * DESCRIPTION * find the first case * PARAMETERS * key_type [IN] * key_content [IN] * RETURNS * void *****************************************************************************/ void avk_framework_draw_softkey(U16 key_type, U16 key_content) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ S32 x =0 , y, str_w, str_h; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ gui_set_font(&MMI_medium_font); gui_set_text_color(gui_color(255, 255, 255)); gui_measure_string((PU16) GetString(key_content), &str_w, &str_h); y = LCD_HEIGHT - (AVK_FRAMEWORK_SOFTKEY_HEIGHT - str_h/2); if (key_type == KEY_LSK) { x = (AVK_FRAMEWORK_SOFTKEY_WIDTH - str_w)/2; gdi_draw_solid_rect(0, LCD_HEIGHT - AVK_FRAMEWORK_SOFTKEY_HEIGHT, AVK_FRAMEWORK_SOFTKEY_WIDTH, LCD_HEIGHT, GDI_COLOR_BLACK); } else if (key_type == KEY_RSK) { x = LCD_WIDTH - (AVK_FRAMEWORK_SOFTKEY_WIDTH + str_w)/2; gdi_draw_solid_rect( LCD_WIDTH - AVK_FRAMEWORK_SOFTKEY_WIDTH, LCD_HEIGHT - AVK_FRAMEWORK_SOFTKEY_HEIGHT, LCD_WIDTH, LCD_HEIGHT, GDI_COLOR_BLACK); } gui_move_text_cursor(x, y); gui_print_bordered_text((PU16) GetString(key_content)); #ifdef __MMI_TOUCH_SCREEN__ mmi_pen_register_down_handler(avk_framework_pen_down_hdlr); #endif }
void avk_framework_draw_title(WCHAR* title) { /*----------------------------------------------------------------*/ /* Local Variables */ /*----------------------------------------------------------------*/ S32 x, y, str_w, str_h; /*----------------------------------------------------------------*/ /* Code Body */ /*----------------------------------------------------------------*/ gdi_draw_solid_rect(0, 0, LCD_WIDTH, AVK_FRAMEWORK_SOFTKEY_HEIGHT, GDI_COLOR_BLACK); gui_set_font(&MMI_medium_font); gui_set_text_color(gui_color(255, 255, 255)); gui_measure_string((PU16)title, &str_w, &str_h); x = (LCD_WIDTH - str_w)/2; y = (AVK_FRAMEWORK_SOFTKEY_HEIGHT - str_h)/2; gui_move_text_cursor(x, y); gui_print_text((PU16)title); }
static S32 mmi_em_profiling_gdi_misc_speed_sw_fill_rect(void *v_param) { static const U32 PROFILING_MS = 4000; gdi_handle layer; S32 i; U32 start_time, duration; mmi_em_profiling_gdi_misc_speec_fill_rect_param *param = (mmi_em_profiling_gdi_misc_speec_fill_rect_param*)v_param; kal_int32 fill_x, fill_y, fill_width, fill_height; gdi_color fill_color; layer = mmi_em_profiling_gdi_create_layer( param->layer.cf, param->layer.x, param->layer.y, param->layer.width, param->layer.height); if (layer == 0) { return -1; } gdi_layer_push_and_set_active(layer); gdi_layer_clear(GDI_COLOR_BLACK); gdi_layer_pop_and_restore_active(); fill_x = param->fill.x; fill_y = param->fill.y; fill_width = param->fill.width; fill_height = param->fill.height; fill_color = gdi_cf_get_color(param->layer.cf, 255, 255, 255, 255); gdi_layer_push_and_set_active(layer); MMI_TRACE(MMI_COMMON_TRC_INFO, TRC_APP_EM_PROFILING_GDI_FRECT_START); start_time = drv_get_current_time(); i = 0; do { do { gdi_draw_solid_rect( fill_x, fill_y, fill_width, fill_height, fill_color); i++; } while ((i & 0xf) != 0); /* Calculate duration every 16 iterations */ duration = drv_get_duration_ms(start_time); } #ifdef __MTK_TARGET__ while (duration < PROFILING_MS); #else while (0); #endif MMI_TRACE(MMI_COMMON_TRC_INFO, TRC_APP_EM_PROFILING_GDI_FRECT_END, param->id, i, duration); gdi_layer_pop_and_restore_active(); gdi_layer_blt( layer, 0, 0, 0, 0, 0, GDI_LCD_WIDTH - 1, GDI_LCD_HEIGHT - 1); mmi_em_profiling_gdi_free_layer(layer); return 0; }