SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES VERSION ${VERSION})
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_LDFLAGS} ${pkgs_extra_LDFLAGS} "-lpthread")
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib)
+
CONFIGURE_FILE(${PROJECT_NAME}.pc.in ${PROJECT_NAME}.pc @ONLY)
SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${PROJECT_NAME}.pc")
-
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION lib)
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.pc DESTINATION lib/pkgconfig)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/livebox.h DESTINATION include/${PROJECT_NAME})
INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/livebox_product.h DESTINATION include/${PROJECT_NAME})
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME "lib${PROJECT_NAME}")
+CONFIGURE_FILE(dynamicbox.pc.in dynamicbox.pc @ONLY)
+SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "dynamicbox.pc")
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/dynamicbox.pc DESTINATION lib/pkgconfig)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/include/dynamicbox.h DESTINATION include/dynamicbox)
-
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME "lib${PROJECT_NAME}")
INSTALL(FILES ${CMAKE_SOURCE_DIR}/LICENSE DESTINATION /usr/share/license RENAME "libdynamicbox")
+
ADD_SUBDIRECTORY(data)
* @section DYNAMICBOX_UTILITY_MODULE_OVERVIEW Overview
<H1>Dynamic Box Utility functions</H1>
-<H2>Script type Dynamic Box</H2>
+<H2>1. Script type Dynamic Box</H2>
If you choose the Script Type DBox, you have to use this.
Dyanmic Box defines its own syntax to share the content between home application and provider application.
Only after you close the desc_handle, the provider will sends changes to the dynamic box manager service.
And if it needs to propagates events to the home application, the home application will gets changes event.
-<H2>Window type Dynamic Box</H2>
+<H2>2. Window(buffer) type Dynamic Box</H2>
@code
Evas_Object *parent;
To create a window for dynamic box,
You have to get the parent object using dynamicbox_get_evas_object().
-And after creates a window for dynamic box, you have to delete the parent object.
+And after creates a window for dynamic box, you have to delete it.
Its attributes will be passed to the newly created window. So you don't need keep the parent object anymore.
-You should delete it after create a window.
+
+After create a window, you can do what you want like an application.
+Creatig any core-control such as button, list, etc, ....
+
+<H2>3. Image type Dynamic Box</H2>
+This kind of dynamic box should create an image file using given Id.
+The Id's syntax is "file://ABS_PATH_OF_OUTPUT_FILE", so you should create an image file using this URI.
+The Id will be assigned to every dynamic box instances.
+And those are uniq.
+
+If you create an image file, you should notify it to the viewer using dynamicbox_provider_app_dbox_updated()
+it is provided by libdynamicbox_provider_app package.
+
+<H2>4. Text type Dynamic Box (Experimental)</H2>
+In case of text type, you may have no window or script file.
+The text type dynamic box only needs to generates content data using dynamicbox_desc_XXXX series APIs.
+Of course, after you prepare the desc file, you have to call dynamicbox_provider_app_dbox_updated() function too.
+Then the viewer will gets your updated contents and try to parse it to locate content of dynamic box to its screen.
+But, unfortunately, this type of dynamic box is not fully supported yet.
+Because it is very highly depends on the viewer implementations.
+So if the viewer doesn't support this type of dynamic box, you cannot do anything for user.
+
+To generate the text data, you can use below API set.
+
+ - dynamicbox_desc_open()
+ - dynamicbox_desc_set_category()
+ - dynamicbox_desc_set_size()
+ - dynamicbox_desc_set_id()
+ - dynamicbox_desc_add_block()
+ - dynamicbox_desc_del_block()
+ - dynamicbox_desc_close()
+
+Here is a sample code for you.
+\code
+#define FOR_GBAR 1
+#define FOR_DBOX 0
+
+struct dynamicbox_desc *handle;
+int idx;
+
+handle = dynamicbox_desc_open(handle, FOR_GBAR); // The second parameter will help you choose to target, for glance bar or dynamic box?
+idx = dynamicbox_desc_add_block(handle, NULL, DBOX_DESC_TYPE_SCRIPT, "/opt/usr/apps/your.company.application/shared/resource/edje/script.edj", "sample", NULL);
+dynamicbox_desc_set_id(handle, idx, "sample");
+dynamicbox_desc_close(handle);
+dynamicbox_provider_app_dbox_updated(dbox_id, 0, 0);
+\endocde
*/