diff options
author | Myungki Lee <mk5004.lee@samsung.com> | 2016-01-23 18:11:28 +0900 |
---|---|---|
committer | MyungKi Lee <mk5004.lee@samsung.com> | 2016-01-31 19:02:21 -0800 |
commit | 89b39d6803340306c5e0cca75c70980858b46ab1 (patch) | |
tree | 4f9bdf76462ab385ea6b4a8bb14a9805f3ec36e5 | |
parent | 7f3663de427cefdb98f607339358826cd3d1c02d (diff) | |
download | application-89b39d6803340306c5e0cca75c70980858b46ab1.tar.gz application-89b39d6803340306c5e0cca75c70980858b46ab1.tar.bz2 application-89b39d6803340306c5e0cca75c70980858b46ab1.zip |
A new api ui_app_get_default_windowsubmit/tizen/20160201.101541
This function returns a window object.
Change-Id: Ic6bd54d854398d7d85b378919e64e93b1b5a463c
Signed-off-by: Myungki Lee <mk5004.lee@samsung.com>
-rw-r--r-- | include/app.h | 23 | ||||
-rw-r--r-- | src/app_main.c | 23 |
2 files changed, 46 insertions, 0 deletions
diff --git a/include/app.h b/include/app.h index be26f5c..d32a158 100644 --- a/include/app.h +++ b/include/app.h @@ -223,6 +223,29 @@ int ui_app_add_event_handler(app_event_handler_h *event_handler, app_event_type_ */ int ui_app_remove_event_handler(app_event_handler_h event_handler); +/** + * @brief Gets the preinitialized window object. + * + * @details This function returns a window object that is created by the framework. + * You can get the handle of the preinitialized window using this API. + * Because the window is preinitialized, you can speed up your application's launching time. + * @since_tizen 3.0 + * @remarks When you set @a preinit-window attribute of the @a ui-application tag as "#true" in the tizen-manifest.xml, + * the framework creates an window for your application beforehand. + * Note that the preinitialized window is created using elm_win_add() as #ELM_WIN_BASIC type. + * If you want to use a window of other types, you cannot use this API. + * + * The specific error code can be obtained using the get_last_result() method. + * Error codes are described in Exception section. + * @param[in] win_name The name to be set for the preinitialized window + * + * @return A @a window object on success, + * otherwise @c NULL + * @exception TIZEN_ERROR_NONE Success + * @exception TIZEN_ERROR_INVALID_PARAMETER Invalid parameter + * @exception TIZEN_ERROR_IO_ERROR I/O error + */ +void *ui_app_get_default_window(const char *win_name); /** * @} diff --git a/src/app_main.c b/src/app_main.c index bd0594e..661ef0a 100644 --- a/src/app_main.c +++ b/src/app_main.c @@ -797,3 +797,26 @@ int ui_app_remove_event_handler(app_event_handler_h event_handler) return app_error(APP_ERROR_INVALID_PARAMETER, __FUNCTION__, "cannot find such handler"); } + +void *ui_app_get_default_window(const char *win_name) +{ + Evas_Object *win; + + if (win_name == NULL) { + set_last_error(TIZEN_ERROR_INVALID_PARAMETER); + return NULL; + } + + win = (Evas_Object *)app_get_preinitialized_window(win_name); + if (win == NULL) { + win = elm_win_add(NULL, win_name, ELM_WIN_BASIC); + if (win == NULL) { + set_last_error(TIZEN_ERROR_IO_ERROR); + LOGE("failed to get window"); + return NULL; + } + } + + set_last_error(TIZEN_ERROR_NONE); + return win; +} |