Add press effect 26/132926/1
authorjin0.kim <jin0.kim@samsung.com>
Thu, 8 Jun 2017 09:29:51 +0000 (17:59 +0830)
committerjin0.kim <jin0.kim@samsung.com>
Thu, 8 Jun 2017 09:29:51 +0000 (17:59 +0830)
Change-Id: Ib4070d48aa96297d84b34e19764b9767396f9aef

res/edje/circle/moments_control_button_layout.edc
res/edje/images/b_more_option_sub_btn_bg.png [new file with mode: 0644]
src/moments/moments_control_view.c

index 6da9a91e1b83d6270587464a55490683741ac957..9b92b4b4a32d204c9e50b8d78ae55f18d6ed84bd 100755 (executable)
 
 #include "../../../inc/moments/moments_view_edje_conf.h"
 
+#define ACTION_BTN_PRESS_EFFECT_BG_SIZE 64 64
+
+#define ACTION_BTN_PRESS_EFFECT_PART \
+       images { \
+               image : "b_more_option_sub_btn_bg.png" COMP; \
+       } \
+       part { \
+               name : "img.press.bg"; \
+               type : IMAGE; \
+               scale : 1; \
+               description { \
+                       state : "default" 0.0; \
+                       min : ACTION_BTN_PRESS_EFFECT_BG_SIZE; \
+                       max : ACTION_BTN_PRESS_EFFECT_BG_SIZE; \
+                       fixed : 1 1; \
+                       align : 0.5 0.5; \
+                       image.normal: "b_more_option_sub_btn_bg.png"; \
+                       color: 0 0 0 0; \
+                       rel1 { relative : 0.5 0.5; } \
+                       rel2 { relative : 0.5 0.5; } \
+                       map { \
+                               on: 1; \
+                               smooth: 1; \
+                               perspective_on: 1; \
+                       } \
+               } \
+               description { \
+                       state: "pressed" 0.0; \
+                       inherit: "default" 0.0; \
+                       color: 250 250 250 33; \
+                       map { \
+                               zoom.x: 1.0; \
+                               zoom.y: 1.0; \
+                       } \
+               } \
+               description { \
+                       state: "start_persp" 0.0; \
+                       inherit: "pressed" 0.0; \
+                       map { \
+                               zoom.x: 1.1; \
+                               zoom.y: 1.1; \
+                       } \
+               } \
+       }
+
+#define ACTION_BTN_PRESS_EFFECT_PROGRAM \
+       program { \
+               name: "layout.pressed"; \
+               signal: "layout.pressed"; \
+               source: ""; \
+               action: STATE_SET "pressed" 0.0; \
+               target: "img.press.bg"; \
+               after: "start_persp"; \
+       } \
+       program { \
+               name: "layout.released"; \
+               signal: "layout.released"; \
+               source: ""; \
+               action: STATE_SET "default" 0.0; \
+               transition: LINEAR 0.5; \
+               target: "img.press.bg"; \
+       } \
+       program { name: "start_persp"; \
+               action: STATE_SET "start_persp" 0.0; \
+               transition: CUBIC_BEZIER 0.5 0.45 0.03 0.41 1.0; \
+               target: "img.press.bg"; \
+       }
+
+
+
+
 images {
        image: "b_moment_3g_more_opt_standalone_ic.png" COMP;
        image: "b_moment_3g_more_opt_bluetooth_ic.png" COMP;
@@ -32,6 +103,7 @@ collections {
 
        group { CONTROLS_GROUP_ICON_ONLY;
                parts {
+                       ACTION_BTN_PRESS_EFFECT_PART
                        part {
                                name: SIZE_SETTER;
                                type: SPACER;
@@ -56,9 +128,13 @@ collections {
                                }
                        }
                }
+               programs {
+                       ACTION_BTN_PRESS_EFFECT_PROGRAM
+               }
        }
        group { CONTROLS_GROUP_ICON_AND_TEXT;
                parts {
+                       ACTION_BTN_PRESS_EFFECT_PART
                        part {
                                name: SIZE_SETTER;
                                type: SPACER;
@@ -100,9 +176,13 @@ collections {
                                }
                        }
                }
+               programs {
+                       ACTION_BTN_PRESS_EFFECT_PROGRAM
+               }
        }
        group { CONTROLS_GROUP_ICON_AND_BAR;
                parts {
+                       ACTION_BTN_PRESS_EFFECT_PART
                        part {
                                name: SIZE_SETTER;
                                type: SPACER;
@@ -148,6 +228,7 @@ collections {
                        }
                }
                programs {
+                       ACTION_BTN_PRESS_EFFECT_PROGRAM
                        program {
                                name: "on";
                                signal: "control_bar_on";
@@ -162,7 +243,6 @@ collections {
                                action: STATE_SET "default" 0.0;
                                target: CONTROLS_BAR;
                        }
-
                }
        }
 }
diff --git a/res/edje/images/b_more_option_sub_btn_bg.png b/res/edje/images/b_more_option_sub_btn_bg.png
new file mode 100644 (file)
index 0000000..adeab65
Binary files /dev/null and b/res/edje/images/b_more_option_sub_btn_bg.png differ
index 314063d616273c546e7bf81cde2a5ff5980e2315..94be922f2426a15e166bbebb5d9187ab9a134188 100755 (executable)
@@ -140,6 +140,12 @@ static void __update_control_state(void)
        else if (__is_stand_alone()) __set_state_stand_alone();
 }
 
+
+static void __control_button_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       elm_object_signal_emit(obj, "layout.pressed", "");
+}
+
 static Evas_Object *__create_control_button(Evas_Object * base_layout, control_info_t *btn_info)
 {
        Evas_Object *button_layout = elm_layout_add(base_layout);
@@ -173,6 +179,8 @@ static Evas_Object *__create_control_button(Evas_Object * base_layout, control_i
                evas_object_event_callback_add(button_layout, EVAS_CALLBACK_MOUSE_UP, btn_info->pressed, NULL);
        }
 
+       evas_object_event_callback_add(button_layout, EVAS_CALLBACK_MOUSE_DOWN, __control_button_pressed_cb, button_layout);
+
        return button_layout;
 
 __fail:
@@ -545,6 +553,8 @@ static void __do_not_disturb_pressed_cb(void *data, Evas *e, Evas_Object *obj, v
 {
        int is_do_not_disturb = false;
 
+       elm_object_signal_emit(obj, "layout.released", "");
+
        vconf_get_bool(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, &is_do_not_disturb);
        if (is_do_not_disturb == false) {
                moments_hide();
@@ -640,6 +650,8 @@ static Evas_Object *__flight_mode_popup_view_create()
 
 static void __flight_mode_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
+       elm_object_signal_emit(obj, "layout.released", "");
+
        int is_flight_mode = false;
 
        vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &is_flight_mode);
@@ -656,12 +668,16 @@ static void __flight_mode_pressed_cb(void *data, Evas *e, Evas_Object *obj, void
 
 static void __volume_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
+       elm_object_signal_emit(obj, "layout.released", "");
+
        moments_hide();
        util_launch_app(SETTING_PKG_NAME, "launch-type", "volume");
 }
 
 static void __brightness_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
+       elm_object_signal_emit(obj, "layout.released", "");
+
        moments_hide();
        util_launch_app(SETTING_PKG_NAME, "launch-type", "brightness");
 }