架構函數
架構函數支撐FTK的主體,它負責初始化應用程式,啟動主迴圈和退出主迴圈。它對任何一個FTK應用程式都是不可缺少的,即使應用程式沒有使用任何控制項(當然這也沒有什麼意義),所以我們先介紹這些函數。
1.初始化FTK
原型:Ret
ftk_init(int argc, char* argv[]);
說明:用於初始化FTK,比如平台相關的初始化,載入設定檔,初始化Display,字型,主題和IME等。如果應用程式是作為案頭的外掛程式啟動並執行,那是不需要調用這個函數的,因為案頭已經調用了。
參數:這裡基本上把main函數的參數直接傳遞進去即可。argc是參數的個數,argv是具體的參數。目前的支援的參數有:
--disable-statusbar:禁用狀態列,使用這個參數,狀態列則不會建立。
--enable-cursor:啟用滑鼠指標,使用這個參數,FTK用主題中的圖片cursor.png作為滑鼠指標。
--theme=
指定主題的名稱,預設為default。
--data-dir=
指定資料檔案的目錄。
--test-data-dir=指定測試資料檔案的目錄,包括demos需要的資料。
--rotate=
指定旋轉螢幕的度數,可選的值有0, 90和180。
--log-level=
指定log的層級。可選的值有V,D, W, I, E,分別對應FTK_LOG_V,FTK_LOG_D,FTK_LOG_I,FTK_LOG_W和FTK_LOG_E。
請參考:ftk_config_init的代碼,這裡負責處理這些參數。
傳回值:成功返回RET_OK。
2.進入主迴圈
原型:Ret
ftk_run(void);
說明:進入FTK主迴圈,等待事件發生,然後處理這些事件,不斷迴圈直到ftk_quit被調用。如果應用程式是作為案頭的外掛程式啟動並執行,那是不需要調用這個函數的,因為案頭已經調用了。
參數:無
傳回值:成功返回RET_OK。
3.退出主迴圈
原型:void
ftk_quit(void)
說明:退出FTK的主迴圈,如果需要退出整個應用程式,則調用此函數。如果應用程式是作為案頭外掛程式啟動並執行,調用這個函數就會退出案頭。
參數:無。
傳回值:無。
4.退出後清理現場
原型:void
ftk_deinit(void);
說明:FTK退出主迴圈後,應用程式將退出,此時需要釋放FTK佔用的全部資源。應用程式一般不需要調用這個函數,因為一般會通過atexit自動調用。
參數:無。
傳回值:無。
5.本節使用樣本:
int main(int argc, char* argv[]) { ftk_init(argc, argv); ftk_run(); return 0; } |