summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMyungki Lee <mk5004.lee@samsung.com>2016-01-23 18:11:28 +0900
committerMyungKi Lee <mk5004.lee@samsung.com>2016-01-31 19:02:21 -0800
commit89b39d6803340306c5e0cca75c70980858b46ab1 (patch)
tree4f9bdf76462ab385ea6b4a8bb14a9805f3ec36e5
parent7f3663de427cefdb98f607339358826cd3d1c02d (diff)
downloadapplication-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.h23
-rw-r--r--src/app_main.c23
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;
+}