Sync with the latest code 72/14472/1
authorSung-jae Park <nicesj.park@samsung.com>
Sun, 5 Jan 2014 09:00:35 +0000 (18:00 +0900)
committerSung-jae Park <nicesj.park@samsung.com>
Sun, 5 Jan 2014 09:04:43 +0000 (18:04 +0900)
* Sung-jae Park [Fri, 3 Jan 2014 09:28:33 +0000]
- Update font style for shadow effect

* Sung-jae Park [Fri, 3 Jan 2014 00:50:16 +0000]
- Assign floor(_) label to signature files

* Sung-jae Park [Tue, 31 Dec 2013 07:02:46 +0000]
- Add two more edje file for font effect.

* Sung-jae Park [Wed, 18 Dec 2013 12:05:50 +0000]
- Add new ABI for livebox plugin.
- livebox_get_alt_info
- To get the alternative icon and name, the provider will call this.
- then the livebox should fill the 3rd, 4th arguments with icon and name.
- and those strings are allocated in heap.

* Sung-jae Park [Fri, 13 Dec 2013 12:50:27 +0000]
- Update configuration initiate sequence

* Sung-jae Park [Tue, 10 Dec 2013 13:06:27 +0000]
- Do not grab the sig fault.
- Need to core dump

* Sung-jae Park [Sat, 7 Dec 2013 06:53:04 +0000]
- Remove tizen engineering mode featuring code

* Sung-jae Park [Sat, 7 Dec 2013 05:51:36 +0000]
- Move down 2 more pixels

Change-Id: I31ef50bcdf0caac66c8e4157e1c3e4ae63384191

16 files changed:
CMakeLists.txt
data/CMakeLists.txt
data/icon_effect.edc [new file with mode: 0644]
data/icon_effect_font.edc [new file with mode: 0644]
data/icon_font.edc [new file with mode: 0644]
icon_src/main.c
include/conf.h
include/so_handler.h
packaging/org.tizen.data-provider-slave.changes
packaging/org.tizen.data-provider-slave.spec
src/conf.c
src/lb.c
src/main.c
src/so_handler.c
src/util.c
stub/main.c

index f933042..8556601 100644 (file)
@@ -25,8 +25,6 @@ pkg_check_modules(pkg REQUIRED
        capi-system-system-settings
        com-core
        shortcut
-       appsvc
-       appcore-efl
 )
 
 SET(PACKAGE "${PROJECT_NAME}")
@@ -34,16 +32,6 @@ SET(LOCALEDIR "/usr/apps/org.tizen.${PROJECT_NAME}/res/locale")
 SET(ICON_PROVIDER "icon-provider-slave")
 SET(EXE_LOADER "${PROJECT_NAME}")
 
-SET(EXTRA_CFLAGS "-Wall -Winline -g -fno-builtin-malloc")
-SET(EXTRA_CXXFLAGS "-Wall -Winline -g -fno-builtin-malloc")
-FOREACH(flag ${pkg_CFLAGS})
-       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-       SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall")
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -Wall")
-
 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
 
 #SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
@@ -64,7 +52,20 @@ ADD_DEFINITIONS("-DNDEBUG")
 ADD_DEFINITIONS("-DLOG_TAG=\"DATA_PROVIDER_SLAVE\"")
 ADD_DEFINITIONS("-D_USE_ECORE_TIME_GET")
 #ADD_DEFINITIONS("-D_ESTIMATE_PERF")
-#ADD_DEFINITIONS(${pkg_CFLAGS})
+
+ADD_DEFINITIONS(${pkg_CFLAGS})
+
+FOREACH(flag ${pkg_CFLAGS})
+       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+       SET(EXTRA_CXXFLAGS "${EXTRA_CXXFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall")
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${EXTRA_CXXFLAGS} -Wall")
+
+# -fpie
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Winline -Werror -g -fno-builtin-malloc")
+#SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
 
 SET(EXTRA_LDFLAGS "-ldl")
 FOREACH(flag ${pkg_LDFLAGS})
@@ -74,9 +75,7 @@ FOREACH(flag ${pkg_LDFLAGS})
                SET(EXTRA_LDFLAGS "${EXTRA_LDFLAGS} ${flag}")
        ENDIF()
 ENDFOREACH(flag)
-
 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${EXTRA_LDFLAGS}")
-# "${CMAKE_EXE_LINKER_FLAGS} -pie")
 
 ADD_EXECUTABLE("${PROJECT_NAME}.loader"
        src/main.c
@@ -89,19 +88,19 @@ ADD_EXECUTABLE("${PROJECT_NAME}.loader"
        src/client.c
        src/critical_log.c
 )
-TARGET_LINK_LIBRARIES("${PROJECT_NAME}.loader" "${EXTRA_LDFLAGS}")
+TARGET_LINK_LIBRARIES("${PROJECT_NAME}.loader" ${EXTRA_LDFLAGS})
 
 ADD_EXECUTABLE(${ICON_PROVIDER}
        icon_src/main.c
        icon_src/script_handler.c
        src/util.c
 )
-TARGET_LINK_LIBRARIES(${ICON_PROVIDER} "${EXTRA_LDFLAGS}")
+TARGET_LINK_LIBRARIES(${ICON_PROVIDER} ${EXTRA_LDFLAGS})
 
 ADD_EXECUTABLE(${EXE_LOADER}
        stub/main.c
 )
-TARGET_LINK_LIBRARIES(${EXE_LOADER} "${EXTRA_LDFLAGS}")
+TARGET_LINK_LIBRARIES(${EXE_LOADER} ${EXTRA_LDFLAGS})
 
 #INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.data-provider-slave.desktop DESTINATION /usr/share/applications)
 INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.data-provider-slave.xml DESTINATION /usr/share/packages)
index 9f68044..2ba9e89 100644 (file)
@@ -2,5 +2,25 @@ ADD_CUSTOM_TARGET(icon.edj ALL
                COMMAND edje_cc -sd ${CMAKE_CURRENT_SOURCE_DIR} -id ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/icon.edc icon.edj
                DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/icon.edc
 )
-ADD_DEPENDENCIES(${PROJECT_NAME} icon.edj)
+ADD_DEPENDENCIES(${PROJECT_NAME} icon_font.edj)
+ADD_CUSTOM_TARGET(icon_font.edj ALL
+               COMMAND edje_cc -sd ${CMAKE_CURRENT_SOURCE_DIR} -id ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/icon_font.edc icon_font.edj
+               DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/icon_font.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} icon_font.edj)
+
+ADD_CUSTOM_TARGET(icon_effect.edj ALL
+               COMMAND edje_cc -sd ${CMAKE_CURRENT_SOURCE_DIR} -id ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/icon_effect.edc icon_effect.edj
+               DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/icon_effect.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} icon_effect.edj)
+ADD_CUSTOM_TARGET(icon_effect_font.edj ALL
+               COMMAND edje_cc -sd ${CMAKE_CURRENT_SOURCE_DIR} -id ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/icon_effect_font.edc icon_effect_font.edj
+               DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/icon_effect_font.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} icon_effect_font.edj)
+
 INSTALL(FILES icon.edj DESTINATION /usr/apps/org.tizen.${PROJECT_NAME}/res/edje)
+INSTALL(FILES icon_effect.edj DESTINATION /usr/apps/org.tizen.${PROJECT_NAME}/res/edje)
+INSTALL(FILES icon_font.edj DESTINATION /usr/apps/org.tizen.${PROJECT_NAME}/res/edje)
+INSTALL(FILES icon_effect_font.edj DESTINATION /usr/apps/org.tizen.${PROJECT_NAME}/res/edje)
diff --git a/data/icon_effect.edc b/data/icon_effect.edc
new file mode 100644 (file)
index 0000000..f89cabf
--- /dev/null
@@ -0,0 +1,599 @@
+/*
+ * Copyright 2013  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+images {
+       image: "shortcut_bg_1x1.png" COMP;
+}
+
+collections {
+       group {
+               name: "default,1x1";
+               parts {
+                       part {
+                               name: "box,bg";
+                               type: IMAGE;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 0.0 0.0; }
+                                       rel2 { relative: 1.0 1.0; }
+                                       image { normal: "shortcut_bg_1x1.png"; }
+                               }
+                       }
+
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 23/175 7/175; }
+                                       rel2 { relative: 160/175 146/175; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name,shadow";
+                               type: TEXT;
+                               // effect: FAR_SHADOW
+                               description {
+                                       rel1 { relative: 11/175 135/175; }
+                                       rel2 { relative: 166/175 169/175; }
+                                       color: 0 0 0 102;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // effect: FAR_SHADOW;
+                               description {
+                                       rel1 { relative: 10/175 133/175; }
+                                       rel2 { relative: 165/175 167/175; }
+                                       color: 255 255 255 255;
+                                       //color3: 255 255 255 153;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,2x1"; /* +89.5, 0 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 112.5/354 7/175; }
+                                       rel2 { relative: 249.5/354 146/175; }
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       color: 0 0 0 0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name,shadow";
+                               type: TEXT;
+                               // effect: FAR_SHADOW
+                               description {
+                                       rel1 { relative: 100.5/354 135/175; }
+                                       rel2 { relative: 255.5/354 169/175; }
+                                       color: 0 0 0 102;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // effect: FAR_SHADOW;
+                               description {
+                                       rel1 { relative: 99.5/354 133/175; }
+                                       rel2 { relative: 254.5/354 167/175; }
+                                       color: 255 255 255 255;
+                                       //color3: 255 255 255 153;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,2x2"; /* +89.5, +89.5 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 112.5/354 96.5/354; }
+                                       rel2 { relative: 249.5/354 235.5/354; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name,shadow";
+                               type: TEXT;
+                               // effect: FAR_SHADOW
+                               description {
+                                       rel1 { relative: 100.5/354 224.5/354; }
+                                       rel2 { relative: 255.5/354 258.5/354; }
+                                       color: 0 0 0 102;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // effect: FAR_SHADOW;
+                               description {
+                                       rel1 { relative: 99.5/354 222.5/354; }
+                                       rel2 { relative: 254.5/354 256.5/354; }
+                                       color: 255 255 255 255;
+                                       //color3: 255 255 255 153;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x1"; /* +268.5, 0 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 7/175; }
+                                       rel2 { relative: 428.5/712 146/175; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name,shadow";
+                               type: TEXT;
+                               // effect: FAR_SHADOW
+                               description {
+                                       rel1 { relative: 279.5/712 135/175; }
+                                       rel2 { relative: 434.5/712 169/175; }
+                                       color: 0 0 0 102;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // effect: FAR_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 133/175; }
+                                       rel2 { relative: 433.5/712 167/175; }
+                                       color: 255 255 255 255;
+                                       //color3: 255 255 255 153;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x2"; /* +268.5, +89.5 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 96.5/354; }
+                                       rel2 { relative: 428.5/712 235.5/354; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name,shadow";
+                               type: TEXT;
+                               // effect: FAR_SHADOW
+                               description {
+                                       rel1 { relative: 279.5/712 224.5/354; }
+                                       rel2 { relative: 434.5/712 258.5/354; }
+                                       color: 0 0 0 102;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // effect: FAR_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 222.5/354; }
+                                       rel2 { relative: 433.5/712 256.5/354; }
+                                       color: 255 255 255 255;
+                                       //color3: 255 255 255 153;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x3"; /* +268.5, +179 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 186/533; }
+                                       rel2 { relative: 428.5/712 325/533; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name,shadow";
+                               type: TEXT;
+                               // effect: FAR_SHADOW
+                               description {
+                                       rel1 { relative: 279.5/712 314/533; }
+                                       rel2 { relative: 434.5/712 348/533; }
+                                       color: 0 0 0 102;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // effect: FAR_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 312/533; }
+                                       rel2 { relative: 433.5/712 346/533; }
+                                       color: 255 255 255 255;
+                                       //color3: 255 255 255 153;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x4"; /* +268.5, +268.5 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 275.5/712; }
+                                       rel2 { relative: 428.5/712 414.5/712; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name,shadow";
+                               type: TEXT;
+                               // effect: FAR_SHADOW
+                               description {
+                                       rel1 { relative: 279.5/712 403.5/712; }
+                                       rel2 { relative: 434.5/712 437.5/712; }
+                                       color: 0 0 0 102;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // effect: FAR_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 401.5/712; }
+                                       rel2 { relative: 433.5/712 435.5/712; }
+                                       color: 255 255 255 255;
+                                       //color3: 255 255 255 153;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x5"; /* +268.5, +358 , 891 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 365/891; }
+                                       rel2 { relative: 428.5/712 504/891; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name,shadow";
+                               type: TEXT;
+                               // effect: FAR_SHADOW
+                               description {
+                                       rel1 { relative: 279.5/712 493/891; }
+                                       rel2 { relative: 434.5/712 527/891; }
+                                       color: 0 0 0 102;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // effect: FAR_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 491/891; }
+                                       rel2 { relative: 433.5/712 525/891; }
+                                       color: 255 255 255 255;
+                                       //color3: 255 255 255 153;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x6"; /* +268.5, +447.5, 1070 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 454.5/1070; }
+                                       rel2 { relative: 428.5/712 593.5/1070; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name,shadow";
+                               type: TEXT;
+                               // effect: FAR_SHADOW
+                               description {
+                                       rel1 { relative: 279.5/712 582.5/1070; }
+                                       rel2 { relative: 434.5/712 616.5/1070; }
+                                       color: 0 0 0 102;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // effect: FAR_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 580.5/1070; }
+                                       rel2 { relative: 433.5/712 614.5/1070; }
+                                       color: 255 255 255 255;
+                                       //color3: 255 255 255 153;
+                                       text {
+                                               font: "Tizen:style=Bold";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+}
diff --git a/data/icon_effect_font.edc b/data/icon_effect_font.edc
new file mode 100644 (file)
index 0000000..92f97f2
--- /dev/null
@@ -0,0 +1,464 @@
+/*
+ * Copyright 2013  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+images {
+       image: "shortcut_bg_1x1.png" COMP;
+}
+
+collections {
+       group {
+               name: "default,1x1";
+               parts {
+                       part {
+                               name: "box,bg";
+                               type: IMAGE;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 0.0 0.0; }
+                                       rel2 { relative: 1.0 1.0; }
+                                       image { normal: "shortcut_bg_1x1.png"; }
+                               }
+                       }
+
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 23/175 7/175; }
+                                       rel2 { relative: 160/175 146/175; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;   // TIZEN_SOFT_GLOW_SHADOW, TIZEN_SHADOW
+                               description {
+                                       rel1 { relative: 10/175 133/175; }
+                                       rel2 { relative: 165/175 167/175; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;      // for glow
+                                       color3: 0 0 0 255;      // for shadow
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,2x1"; /* +89.5, 0 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 112.5/354 7/175; }
+                                       rel2 { relative: 249.5/354 146/175; }
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       color: 0 0 0 0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 99.5/354 133/175; }
+                                       rel2 { relative: 254.5/354 167/175; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,2x2"; /* +89.5, +89.5 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 112.5/354 96.5/354; }
+                                       rel2 { relative: 249.5/354 235.5/354; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 99.5/354 222.5/354; }
+                                       rel2 { relative: 254.5/354 256.5/354; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x1"; /* +268.5, 0 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 7/175; }
+                                       rel2 { relative: 428.5/712 146/175; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 133/175; }
+                                       rel2 { relative: 433.5/712 167/175; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x2"; /* +268.5, +89.5 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 96.5/354; }
+                                       rel2 { relative: 428.5/712 235.5/354; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 222.5/354; }
+                                       rel2 { relative: 433.5/712 256.5/354; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x3"; /* +268.5, +179 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 186/533; }
+                                       rel2 { relative: 428.5/712 325/533; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 312/533; }
+                                       rel2 { relative: 433.5/712 346/533; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x4"; /* +268.5, +268.5 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 275.5/712; }
+                                       rel2 { relative: 428.5/712 414.5/712; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 401.5/712; }
+                                       rel2 { relative: 433.5/712 435.5/712; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x5"; /* +268.5, +358 , 891 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 365/891; }
+                                       rel2 { relative: 428.5/712 504/891; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 491/891; }
+                                       rel2 { relative: 433.5/712 525/891; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x6"; /* +268.5, +447.5, 1070 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 454.5/1070; }
+                                       rel2 { relative: 428.5/712 593.5/1070; }
+                                       color: 0 0 0 0;
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                       rel1 { relative: 2/137 2/139; to, "bg"; }
+                                       rel2 { relative: 127/137 132/139; to, "bg"; } // 117x117 125x127
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 580.5/1070; }
+                                       rel2 { relative: 433.5/712 614.5/1070; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+}
diff --git a/data/icon_font.edc b/data/icon_font.edc
new file mode 100644 (file)
index 0000000..7c696b6
--- /dev/null
@@ -0,0 +1,465 @@
+/*
+ * Copyright 2013  Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+images {
+       image: "icon_shadow.png" COMP;
+       image: "shortcut_bg_1x1.png" COMP;
+}
+
+collections {
+       group {
+               name: "default,1x1";
+               parts {
+                       part {
+                               name: "box,bg";
+                               type: IMAGE;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 0.0 0.0; }
+                                       rel2 { relative: 1.0 1.0; }
+                                       image { normal: "shortcut_bg_1x1.png"; }
+                               }
+                       }
+
+                       part {
+                               name: "bg";
+                               type: IMAGE;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 23/175 11/175; }
+                                       rel2 { relative: 152/175 140/175; }
+                                       image { normal: "icon_shadow.png"; }
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                        rel1 { relative: 6/129 3/129; to, "bg"; }
+                                        rel2 { relative: 123/129 120/129; to, "bg"; }
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 10/175 133/175; }
+                                       rel2 { relative: 165/175 167/175; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,2x1"; /* +89.5, 0 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: IMAGE;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 112.5/354 11/175; }
+                                       rel2 { relative: 241.5/354 140/175; }
+                                       image { normal: "icon_shadow.png"; }
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                        rel1 { relative: 6/129 3/129; to, "bg"; }
+                                        rel2 { relative: 123/129 120/129; to, "bg"; }
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 99.5/354 133/175; }
+                                       rel2 { relative: 254.5/354 167/175; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,2x2"; /* +89.5, +89.5 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: IMAGE;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 112.5/354 100.5/354; }
+                                       rel2 { relative: 241.5/354 229.5/354; }
+                                       image { normal: "icon_shadow.png"; }
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                        rel1 { relative: 6/129 3/129; to, "bg"; }
+                                        rel2 { relative: 123/129 120/129; to, "bg"; }
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 99.5/354 222.5/354; }
+                                       rel2 { relative: 254.5/354 256.5/354; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x1"; /* +268.5, 0 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: IMAGE;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 11/175; }
+                                       rel2 { relative: 420.5/712 140/175; }
+                                       image { normal: "icon_shadow.png"; }
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                        rel1 { relative: 6/129 3/129; to, "bg"; }
+                                        rel2 { relative: 123/129 120/129; to, "bg"; }
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 133/175; }
+                                       rel2 { relative: 433.5/712 167/175; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x2"; /* +268.5, +89.5 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: IMAGE;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 100.5/354; }
+                                       rel2 { relative: 420.5/712 229.5/354; }
+                                       image { normal: "icon_shadow.png"; }
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                        rel1 { relative: 6/129 3/129; to, "bg"; }
+                                        rel2 { relative: 123/129 120/129; to, "bg"; }
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 222.5/354; }
+                                       rel2 { relative: 433.5/712 256.5/354; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x3"; /* +268.5, +179 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: IMAGE;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 190/533; }
+                                       rel2 { relative: 420.5/712 319/533; }
+                                       image { normal: "icon_shadow.png"; }
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                        rel1 { relative: 6/129 3/129; to, "bg"; }
+                                        rel2 { relative: 123/129 120/129; to, "bg"; }
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 312/533; }
+                                       rel2 { relative: 433.5/712 346/533; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x4"; /* +268.5, +268.5 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: IMAGE;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 279.5/712; }
+                                       rel2 { relative: 420.5/712 408.5/712; }
+                                       image { normal: "icon_shadow.png"; }
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                        rel1 { relative: 6/129 3/129; to, "bg"; }
+                                        rel2 { relative: 123/129 120/129; to, "bg"; }
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 401.5/712; }
+                                       rel2 { relative: 433.5/712 435.5/712; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x5"; /* +268.5, +358 , 891 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: IMAGE;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 369/891; }
+                                       rel2 { relative: 420.5/712 498/891; }
+                                       image { normal: "icon_shadow.png"; }
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                        rel1 { relative: 6/129 3/129; to, "bg"; }
+                                        rel2 { relative: 123/129 120/129; to, "bg"; }
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 491/891; }
+                                       rel2 { relative: 433.5/712 525/891; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+
+       group {
+               name: "default,4x6"; /* +268.5, +447.5, 1070 */
+               parts {
+                       part {
+                               name: "bg";
+                               type: IMAGE;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 291.5/712 458.5/1070; }
+                                       rel2 { relative: 420.5/712 587.5/1070; }
+                                       image { normal: "icon_shadow.png"; }
+                                       align: 0.5 0.5;
+                                       aspect: 1.0 1.0;
+                                       aspect_preference: BOTH;
+                               }
+                       }
+
+                        part {
+                                name: "icon";
+                                type: SWALLOW;
+                                description {
+                                        rel1 { relative: 6/129 3/129; to, "bg"; }
+                                        rel2 { relative: 123/129 120/129; to, "bg"; }
+                               }
+                        }
+
+                       part {
+                               name: "name";
+                               type: TEXT;
+                               // Only for the product
+                               // effect: TIZEN_GLOW_SHADOW;
+                               description {
+                                       rel1 { relative: 278.5/712 580.5/1070; }
+                                       rel2 { relative: 433.5/712 614.5/1070; }
+                                       color: 255 255 255 255;
+                                       color2: 0 0 0 255;
+                                       color3: 0 0 0 255;
+                                       text {
+                                               font: "Tizen:style=Regular";
+                                               text_class: "tizen";
+                                               align: 0.5 0.5;
+                                               size: 26;
+                                       }
+                               }
+                       }
+               }
+       }
+}
index 3a5f235..760384a 100644 (file)
@@ -432,7 +432,11 @@ static void font_changed_cb(keynode_t *node, void *user_data)
 {
        char *font_name;
 
-       evas_font_reinit();
+       /*!
+        * \note
+        * Only supported under the product code.
+        * evas_font_reinit();
+        */
 
        if (s_info.font_name) {
                font_name = vconf_get_str("db/setting/accessibility/font_name");
index c8a3cc4..3576c13 100644 (file)
@@ -88,6 +88,7 @@ struct conf {
 extern struct conf g_conf;
 
 extern int conf_loader(void);
+extern void conf_update_size(void);
 
 #define BASE_W                 g_conf.base_width
 #define BASE_H                 g_conf.base_height
index 553825f..b9fbd20 100644 (file)
@@ -30,6 +30,7 @@ typedef int (*finalize_t)(void);
 typedef char *(*pinup_t)(const char *filename, int pinup);
 typedef int (*is_pinned_up_t)(const char *filename);
 typedef int (*system_event_t)(const char *filename, int type);
+typedef int (*get_alt_info_t)(const char *filename, char **icon, char **name);
 
 typedef int (*adaptor_create_t)(const char *pkgname, const char *filename, const char *content, const char *cluster, const char *category);
 typedef int (*adaptor_destroy_t)(const char *pkgname, const char *filename);
@@ -47,12 +48,15 @@ typedef int (*adaptor_finalize_t)(const char *pkgname);
 typedef char *(*adaptor_pinup_t)(const char *pkgname, const char *filename, int pinup);
 typedef int (*adaptor_is_pinned_up_t)(const char *pkgname, const char *filename);
 typedef int (*adaptor_system_event_t)(const char *pkgname, const char *filename, int type);
+typedef int (*adaptor_get_alt_info_t)(const char *pkgname, const char *filename, char **icon, char **name);
 
 struct instance {
        struct so_item *item;
        char *id;
        char *content;
        char *title;
+       char *icon;     // alternative icon
+       char *name;     // alternative name
        int w;
        int h;
        double priority;
@@ -86,6 +90,7 @@ struct so_item {
                pinup_t pinup;
                is_pinned_up_t is_pinned_up;
                system_event_t sys_event;
+               get_alt_info_t get_alt_info;
        } livebox;
 
        struct {
@@ -105,6 +110,7 @@ struct so_item {
                adaptor_pinup_t pinup;
                adaptor_is_pinned_up_t is_pinned_up;
                adaptor_system_event_t sys_event;
+               adaptor_get_alt_info_t get_alt_info;
        } adaptor;
 };
 
@@ -123,7 +129,8 @@ enum current_operations {
        LIVEBOX_OP_SYSTEM_EVENT,
        LIVEBOX_OP_PINUP,
        LIVEBOX_OP_IS_PINNED_UP,
-       LIVEBOX_OP_DESTROY
+       LIVEBOX_OP_DESTROY,
+       LIVEBOX_OP_GET_ALT_INFO
 };
 
 extern struct instance *so_find_instance(const char *pkgname, const char *filename);
@@ -141,6 +148,7 @@ extern int so_get_output_info(struct instance *inst, int *w, int *h, double *pri
 extern char *so_pinup(struct instance *inst, int pinup);
 extern int so_is_pinned_up(struct instance *inst);
 extern int so_sys_event(struct instance *inst, int event);
+extern int so_get_alt_info(struct instance *inst, char **icon, char **name);
 
 extern enum current_operations so_current_op(void);
 
index 30dd162..a6f66ed 100644 (file)
@@ -1,3 +1,2 @@
 * Thu Jun 27 2013 Junfeng Dong <junfeng.dong@intel.com> accepted/tizen/20130530.164858@9c8da9b
 - Fix build error
-
index b8ddd7b..03bba17 100644 (file)
@@ -12,7 +12,6 @@ BuildRequires: cmake, gettext-tools, coreutils, edje-bin
 BuildRequires: pkgconfig(appcore-efl)
 BuildRequires: pkgconfig(ail)
 BuildRequires: pkgconfig(dlog)
-BuildRequires: pkgconfig(appsvc)
 BuildRequires: pkgconfig(aul)
 BuildRequires: pkgconfig(vconf)
 BuildRequires: pkgconfig(sqlite3)
@@ -53,8 +52,9 @@ export CXXFLAGS="${CXXFLAGS} -DTIZEN_ENGINEER_MODE"
 export FFLAGS="${FFLAGS} -DTIZEN_ENGINEER_MODE"
 %endif
 
-%cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix}
-make %{?jobs:-j%jobs}
+%cmake
+#-fpie  LDFLAGS="${LDFLAGS} -pie -O3"
+CFLAGS="${CFLAGS} -Wall -Winline -Werror -fno-builtin-malloc" make %{?jobs:-j%jobs}
 
 %install
 rm -rf %{buildroot}
@@ -75,9 +75,9 @@ chmod 755 %{app_data}
 %manifest %{name}.manifest
 %defattr(-,root,root,-)
 %{_prefix}/apps/org.tizen.data-provider-slave
-%{_datarootdir}/packages/%{name}.xml
+%{_datarootdir}/packages/org.tizen.data-provider-slave.xml
 %{_datarootdir}/license/*
-%{_sysconfdir}/smack/accesses.d/%{name}.rule
+%{_sysconfdir}/smack/accesses.d/org.tizen.data-provider-slave.rule
 %dir %{app_data}
 
 # End of a file
index 2d566cf..1be4664 100644 (file)
@@ -94,7 +94,7 @@ HAPI struct conf g_conf = {
        .use_xmonitor = 1,
 };
 
-static void conf_update_size(void)
+HAPI void conf_update_size(void)
 {
        ecore_x_window_size_get(0, &g_conf.width, &g_conf.height);
 }
@@ -514,8 +514,6 @@ HAPI int conf_loader(void)
                },
        };
 
-       conf_update_size();
-
        fp = fopen(CONF_FILE, "rt");
        if (!fp) {
                ErrPrint("Error: %s\n", strerror(errno));
index 49aee55..0bc84e0 100644 (file)
--- a/src/lb.c
+++ b/src/lb.c
@@ -936,6 +936,8 @@ static int file_updated_cb(const char *filename, void *data, int over)
        char *content = NULL;
        char *title = NULL;
        int ret;
+       char *icon = NULL;
+       char *name = NULL;
 
        if (over) {
                WarnPrint("Event Q overflow\n");
@@ -943,26 +945,40 @@ static int file_updated_cb(const char *filename, void *data, int over)
 
        item = data;
 
+       ESTIMATE_START(item->inst->id);
+
        ret = util_get_filesize(filename);
        if (ret <= 0) {
                ErrPrint("Content is updated. but invalid. ret = %d (Update is ignored)\n", ret);
+               ESTIMATE_END(item->inst->id);
                return EXIT_SUCCESS; /*!< To keep the callback */
        }
 
        ret = so_get_output_info(item->inst, &w, &h, &priority, &content, &title);
        if (ret < 0) {
                ErrPrint("livebox_get_info returns %d\n", ret);
+               ESTIMATE_END(item->inst->id);
                return EXIT_SUCCESS; /*!< To keep the callback */
        }
 
+       /*!
+        * Alternative information can be NOT_IMPLEMENTED
+        * And we can ignore its error.
+        */
+       ret = so_get_alt_info(item->inst, &icon, &name);
+       if (ret < 0) {
+               ErrPrint("livebox_get_alt_info returns %d (ignored)\n", ret);
+       }
+
        if (IS_LB_SHOWN(item)) {
-               provider_send_updated(item->inst->item->pkgname, item->inst->id,
+               provider_send_updated_NEW(item->inst->item->pkgname, item->inst->id,
                                        item->inst->w, item->inst->h, item->inst->priority,
-                                       content, title);
+                                       content, title, item->inst->icon, item->inst->name);
        } else {
                item->is_lb_updated++;
        }
 
+       ESTIMATE_END(item->inst->id);
        return output_handler(item);
 }
 
@@ -976,9 +992,9 @@ static void reset_lb_updated_flag(struct item *item)
                        item->inst->id, item->is_lb_updated,
                        item->inst->content, item->inst->title);
 
-       provider_send_updated(item->inst->item->pkgname, item->inst->id,
+       provider_send_updated_NEW(item->inst->item->pkgname, item->inst->id,
                        item->inst->w, item->inst->h, item->inst->priority,
-                       item->inst->content, item->inst->title);
+                       item->inst->content, item->inst->title, item->inst->icon, item->inst->name);
 
        item->is_lb_updated = 0;
 }
index 8783c24..046dddf 100644 (file)
@@ -33,7 +33,6 @@
 #include <Eina.h>
 
 #include <system_settings.h>
-#include <app_service.h>
 
 #include <dlog.h>
 #include <bundle.h>
@@ -111,7 +110,11 @@ static void font_changed_cb(keynode_t *node, void *user_data)
 {
        char *font_name;
 
-       evas_font_reinit();
+       /*!
+        * \note
+        * Supported only under the product code
+        * evas_font_reinit();
+        */
 
        if (s_info.font_name) {
                font_name = vconf_get_str("db/setting/accessibility/font_name");
@@ -215,10 +218,9 @@ static bool app_create(void *data)
 {
        int ret;
 
-       DbgPrint("Scale factor: %lf\n", elm_config_scale_get());
+       conf_update_size();
 
-       ret = conf_loader();
-       DbgPrint("Configureation manager is initiated: %d\n", ret);
+       DbgPrint("Scale factor: %lf\n", elm_config_scale_get());
 
        if (COM_CORE_THREAD) {
                if (setenv("PROVIDER_COM_CORE_THREAD", "true", 0) < 0) {
@@ -260,6 +262,7 @@ static bool app_create(void *data)
 
        font_changed_cb(NULL, NULL);
        font_size_cb(SYSTEM_SETTINGS_KEY_FONT_SIZE, NULL);
+
        return TRUE;
 }
 
@@ -423,7 +426,11 @@ int main(int argc, char *argv[])
        setenv("BUFMGR_LOCK_TYPE", "once", 0);
        setenv("BUFMGR_MAP_CACHE", "true", 0);
 
+       ret = conf_loader();
+       DbgPrint("Configureation manager is initiated: %d\n", ret);
+
        critical_log_init(util_basename(argv[0]));
+
        event_callback.create = app_create;
        event_callback.terminate = app_terminate;
        event_callback.pause = app_pause;
index 64f4342..0696b5f 100644 (file)
@@ -108,22 +108,22 @@ static inline char *so_path_alloc(const char *pkgname)
 
 static void delete_livebox(struct so_item *item)
 {
+       int ret;
+
+       fault_mark_call(item->pkgname, "finalize", __func__, USE_ALARM, DEFAULT_LIFE_TIMER);
+
        if (item->adaptor.finalize) {
-               int ret;
-               fault_mark_call(item->pkgname, "finalize", __func__, USE_ALARM, DEFAULT_LIFE_TIMER);
                ret = item->adaptor.finalize(item->pkgname);
-               fault_unmark_call(item->pkgname, "finalize", __func__, USE_ALARM);
-
-               ErrPrint("Package %s, finalize returns %d\n", item->pkgname, ret);
        } else if (item->livebox.finalize) {
-               int ret;
-               fault_mark_call(item->pkgname, "finalize", __func__, USE_ALARM, DEFAULT_LIFE_TIMER);
                ret = item->livebox.finalize();
-               fault_unmark_call(item->pkgname, "finalize", __func__, USE_ALARM);
-
-               ErrPrint("Package %s, finalize returns %d\n", item->pkgname, ret);
+       } else {
+               ErrPrint("%s has no finalize\n", item->pkgname);
+               ret = -ENOSYS;
        }
 
+       fault_unmark_call(item->pkgname, "finalize", __func__, USE_ALARM);
+       ErrPrint("Package %s, finalize returns %d\n", item->pkgname, ret);
+
        main_heap_monitor_del_target(item->so_fname);
        if (dlclose(item->handle) != 0) {
                ErrPrint("dlclose: %s\n", dlerror());
@@ -269,10 +269,17 @@ static struct so_item *new_adaptor(const char *pkgname, const char *abi)
                ErrPrint("symbol: livebox_is_pinned_up - %s\n", dlerror());
        }
 
+       item->adaptor.get_alt_info = (adaptor_get_alt_info_t)dlsym(item->handle, "livebox_get_alt_info");
+       if (!item->adaptor.get_alt_info) {
+               ErrPrint("symbol: livebox_get_alt_info - %s\n", dlerror());
+       }
+
        if (item->adaptor.initialize) {
                int ret;
                fault_mark_call(pkgname, "initialize", __func__, USE_ALARM, DEFAULT_LIFE_TIMER);
+
                ret = item->adaptor.initialize(pkgname);
+
                fault_unmark_call(pkgname, "initialize", __func__, USE_ALARM);
                if (ret < 0) {
                        ErrPrint("Failed to initialize package %s\n", pkgname);
@@ -422,12 +429,19 @@ static struct so_item *new_livebox(const char *pkgname)
                ErrPrint("symbol: livebox_is_pinned_up - %s\n", dlerror());
        }
 
+       item->livebox.get_alt_info = (get_alt_info_t)dlsym(item->handle, "livebox_get_alt_info");
+       if (!item->livebox.get_alt_info) {
+               ErrPrint("symbol: livebox_get_alt_info - %s\n", dlerror());
+       }
+
        main_heap_monitor_add_target(item->so_fname);
 
        if (item->livebox.initialize) {
                int ret;
                fault_mark_call(pkgname, "initialize", __func__, USE_ALARM, DEFAULT_LIFE_TIMER);
+
                ret = item->livebox.initialize(pkgname);
+
                fault_unmark_call(pkgname, "initialize", __func__, USE_ALARM);
                if (ret < 0) {
                        ErrPrint("Failed to initialize package %s\n", pkgname);
@@ -497,6 +511,8 @@ static inline struct instance *new_instance(const char *id, const char *content,
 
 static inline int delete_instance(struct instance *inst)
 {
+       free(inst->icon);
+       free(inst->name);
        free(inst->cluster);
        free(inst->category);
        free(inst->id);
@@ -781,6 +797,7 @@ HAPI int so_clicked(struct instance *inst, const char *event, double timestamp,
        fault_mark_call(item->pkgname, inst->id, __func__, USE_ALARM, DEFAULT_LIFE_TIMER);
 
        DbgPrint("PERF_DBOX\n");
+
        s_info.current_op = LIVEBOX_OP_CLICKED;
        if (item->adaptor.clicked) {
                ret = item->adaptor.clicked(item->pkgname, util_uri_to_path(inst->id), event, timestamp, x, y);
@@ -942,6 +959,51 @@ HAPI int so_change_group(struct instance *inst, const char *cluster, const char
        return ret;
 }
 
+HAPI int so_get_alt_info(struct instance *inst, char **icon, char **name)
+{
+       struct so_item *item;
+       int ret;
+
+       item = inst->item;
+       if (!item) {
+               return LB_STATUS_ERROR_INVALID;
+       }
+
+       *icon = NULL;
+       *name = NULL;
+
+       fault_mark_call(item->pkgname, inst->id, __func__, USE_ALARM, DEFAULT_LIFE_TIMER);
+
+       s_info.current_op = LIVEBOX_OP_GET_ALT_INFO;
+       if (item->adaptor.get_alt_info) {
+               ret = item->adaptor.get_alt_info(item->pkgname, util_uri_to_path(inst->id), icon, name);
+       } else if (item->livebox.get_alt_info) {
+               ret = item->livebox.get_alt_info(util_uri_to_path(inst->id), icon, name);
+       } else {
+               ret = LB_STATUS_ERROR_NOT_IMPLEMENTED;
+       }
+       s_info.current_op = LIVEBOX_OP_UNKNOWN;
+
+       fault_unmark_call(item->pkgname, inst->id, __func__, USE_ALARM);
+       if (ret >= 0) {
+               if (*icon) {
+                       free(inst->icon);
+                       inst->icon = *icon;
+               }
+
+               if (*name) {
+                       free(inst->name);
+                       inst->name = *name;
+               }
+       }
+
+       if (main_heap_monitor_is_enabled()) {
+               DbgPrint("%s allocates %d bytes\n", item->pkgname, main_heap_monitor_target_usage(item->so_fname));
+       }
+
+       return ret;
+}
+
 HAPI int so_get_output_info(struct instance *inst, int *w, int *h, double *priority, char **content, char **title)
 {
        struct so_item *item;
index b3a53c3..abae406 100644 (file)
@@ -218,6 +218,7 @@ HAPI void util_timer_interval_set(void *timer, double interval)
 {
        double delay;
        ecore_timer_interval_set(timer, interval);
+       ecore_timer_reset(timer);
 
        delay = util_time_delay_for_compensation(interval) - interval;
        ecore_timer_delay(timer, delay);
index 3dd2d57..3a72eb8 100644 (file)
@@ -4,7 +4,6 @@
 #include <stdlib.h>
 
 #include <dlog.h>
-#include <livebox-errno.h>
 
 #include "debug.h"
 #if defined(LOG_TAG)
@@ -14,9 +13,6 @@
 
 int errno;
 
-/*!
- * Defined for liblivebox
- */
 const char *livebox_find_pkgname(const char *filename)
 {
        return NULL;
@@ -24,12 +20,12 @@ const char *livebox_find_pkgname(const char *filename)
 
 int livebox_request_update_by_id(const char *filename)
 {
-       return LB_STATUS_ERROR_NOT_EXIST;
+       return 0;
 }
 
-int livebox_trigger_update_monitor(const char *id, int is_pd)
+int livebox_trigger_update_monitor(const char *filename, int is_pd)
 {
-       return LB_STATUS_ERROR_INVALID;
+       return 0;
 }
 
 int main(int argc, char *argv[])