MTK idle介面涉及的函式

2021-05-25 10:53:18 字數 2301 閱讀 7239

1 狀態列

狀態列包含電池電量指示,訊號指示,日期時間顯示,運營商名字和各個狀態圖示顯示。

電池電量顯示:

圖示id為status_icon_battery_strength

位於mainlcd/idlescreen/statusicons/battery 注意的是圖示保證5幀。關於電量顯示的控制位於

檔案poweroncharger.c

函式batterystatusindication 根據當前的電量值設定顯示的幀數。

該圖示在狀態列的座標

wgui_status_icons.c---函式arrange_status_icons()

mmi_status_icons[status_icon_battery_strength].y = 0;

mmi_status_icons[status_icon_battery_strength].x=220;

訊號指示圖示:

圖示id 為 status_icon_signal_strength

位於mainlcd/idlescreen/statusicons/signal

檔案 networkfunctions.c

函式changestatusiconlevel根據當前的訊號值設定顯示的幀數。

該圖示在待機介面的座標:

檔案wgui_status_icons.c---函式arrange_status_icons()

mmi_status_icons[status_icon_signal_strength].y = 0;

mmi_status_icons[status_icon_signal_strength].x=3;

時間和日期:

檔案:wgui_datetime.c

函式:show_main_lcd_date_time.設定日期,星期,時間的顯示座標。

注意的是:在函式hide_main_lcd_date_time中需要根據前面各個物件的座標重新設定重新整理區域的座標。並且修改wgui_categories_idlescreen.c下面的三個函式的註冊函式(之前遮蔽的)

set_main_lcd_dt_date_hide_function(cat33_hide_date_display);

set_main_lcd_dt_time_hide_function(cat33_hide_time_display);

set_main_lcd_day_hide_function(cat33_hide_day_string_display);

為了正確的顯示時間格式(使用者選擇12小時制,會增加am/pm兩個字母),在函式show_main_lcd_date_time. 時間顯示的clip的地方增加格式判斷 phnsetgettimeformat()。根據所返回的時間格式,設定clip區域。

網路運營商

檔案:wgui_categories_idlescreen.c

函式idle_screen_show_network_details() 調整網路運營商的名字座標

狀態圖示

狀態圖示包括訊息接受提示,情景模式,外部電池等。圖示的排列位於:

檔案:wgui_status_icons.c

函式:arrange_status_icons()

位於**段:

x-=mmi_status_icons[k].width+status_icon_x_gap;

實現圖示自右向左的排列。每當有新的狀態產生,圖示就向左移動排列。

1.2  快捷鍵

設定待機介面上各個快捷方式的座標以及響應函式

檔案wgui_categories_idlescreen.c

函式setup_touch_idle_screen_shortcut。通過該函式設定各個快捷鍵圖示的座標以及各自的響應函式。

檔案 shortcuts.c

修改如下函式:

shctexecuteupkey 功能修改為按鍵上移,高亮快捷鍵第乙個圖示或者動態列表項

shctexecutedownkey功能修改為按鍵下移,高亮快捷鍵第乙個圖示或者動態列表項

shctexecuteleftkey功能修改為按鍵左移,高亮左邊模組,如果已經是第乙個,則高亮最後乙個

shctexecuterightkey功能修改為按鍵右移,高亮右邊模組,如果已經是最後個,則高亮第乙個

函式shctexecuteokkey 根據高亮的快捷鍵,進入對應的模組。

檔案mmi_features_guipluto.h

mmi_features_gui.h

可以開啟或關閉是否顯示shortcut的巨集

__mmi_touch_idlescreen_shortcuts__。

C 中模板類涉及的friend函式的問題

1.模版類的實現方式有三種 第一種在模版類內部實現成員函式 第二種在模版類外部同乙個檔案中實現成員函式 friend類會產生問題 如下 第三中在.h和.cpp分離的方式寫類模版 在解決友元函式問題的前提下,使用的時候需要包含.cpp檔案而不是.件 否則會因為二次編譯而找不到cpp中的成員函式。2.類...

UCenter 的介面函式

ucenter 分為 mysql 和遠端兩種介面連線方式,mysql 方式是直接連線資料庫因此速度較快,但當 ucenter 的服務端和客戶端不在同一主機中且沒有遠端 mysql 帳號的情況下,則只能使用遠端連線方式。使用 ucenter 介面函式前請根據應用程式的需求定義以下相關常量 此部分的配置...

棧涉及的問題

question 記憶體中的堆疊和資料結構的堆疊 answer 1.記憶體中的堆疊是真實存在的物理區,資料結構中的堆疊是抽象的資料儲存結構 記憶體空間邏輯上分為 區 靜態資料區 動態資料區 棧區 堆區 區儲存二進位制 作業排程,記憶體排程,程序排程,控制 區執行 切換 靜態資料區 儲存全域性變數 靜...