Modify to adjust size for language swipe animation in various resolution 97/113397/1
authorsungwook79.park <sungwook79.park@samsung.com>
Tue, 7 Feb 2017 09:42:07 +0000 (18:42 +0900)
committersungwook79.park <sungwook79.park@samsung.com>
Tue, 7 Feb 2017 09:42:07 +0000 (18:42 +0900)
Change-Id: I33d03acc6d95235c73e5f82a2665d0049e470241
Signed-off-by: sungwook79.park <sungwook79.park@samsung.com>
src/include/ise-language-change.h
src/ise-language-change.cpp
src/ise.cpp

index 27f91b9..a6c3c5f 100755 (executable)
@@ -5,6 +5,6 @@
 #include <Elementary.h>
 
 void ise_destroy_space_flick_language_change_popup(void);
-void ise_show_space_flick_language_change_popup(short int space_button_x, short int space_button_y, short int space_button_width);
+void ise_show_space_flick_language_change_popup(short int space_button_x, short int space_button_y, short int space_button_width, short int space_button_height);
 
 #endif /* ISE_LANGUAGE_CHANGE_H_ */
index d2441f7..33e14cb 100755 (executable)
 
 #define USE_EFL
 
-#define SPACE_POPUP_WIDTH               300
-#define SPACE_POPUP_HEIGHT              110
-#define SPACE_POPUP_IMAGE_WIDTH         138
-#define SPACE_POPUP_IMAGE_HEIGHT        27
+static short int space_popup_width = NOT_USED;
+static short int space_popup_height = NOT_USED;
 
-#define ARROW_IMAGE_WIDTH                20
-#define ARROW_IMAGE_HEIGHT               20
-#define ARROW_IMAGE_X_PADDING            14
-#define ARROW_IMAGE_Y_PADDING            10
+static short int scroller_area_width = NOT_USED;
+static short int scroller_area_height = NOT_USED;
+static short int scroller_x = NOT_USED;
+static short int scroller_y = NOT_USED;
+static short int space_popup_width_padding = NOT_USED;
 
-#define SCROLLER_HEIGHT                  40
-#define SCROLLER_X                       (ARROW_IMAGE_WIDTH + ARROW_IMAGE_X_PADDING)
-#define SCROLLER_Y                       45
-#define SPACE_POPUP_WIDTH_PADDING        SCROLLER_X * 2
+static short int arrow_image_width = NOT_USED;
+static short int arrow_image_height = NOT_USED;
+static short int arrow_image_x_padding = NOT_USED;
+static short int arrow_image_y_padding = NOT_USED;
 
 #define IMG_ARROW_LEFT                  LAYOUTDIR"/mobile/image/button/btn_arrow_s_left.png"
 #define IMG_ARROW_RIGHT                 LAYOUTDIR"/mobile/image/button/btn_arrow_s_right.png"
 #define IMG_POPUP_FC_BG                 LAYOUTDIR"/mobile/image/button/language_change_popup_bg.png"
 #define EDJ_FILE                        RESDIR"/edje/mobile/popup_custom.edj"
 
-static short int lang_popup_width = NOT_USED;
-static short int lang_popup_height = NOT_USED;
 static short int lang_popup_x = NOT_USED;
 static short int lang_popup_y = NOT_USED;
-static short int scroller_area_width = NOT_USED;
+
 static short int old_ev_x = NOT_USED;
 static short int old_ev_y = NOT_USED;
 
@@ -70,9 +67,9 @@ extern CSCLCore g_core;
 static ISELanguageManager _language_manager;
 
 static Eina_Bool __ise_space_flick_lang_popup_move_cb(void *data, int type, void *event_info);
-static void __ise_init_space_flick_lang_change_popup_variables(short int space_button_x, short int space_button_y, short int space_button_width);
+static void __ise_init_space_flick_lang_change_popup_variables(short int space_button_x, short int space_button_y, short int space_button_width, short int space_button_height);
 
-void ise_show_space_flick_language_change_popup(short int space_button_x, short int space_button_y, short int space_button_width)
+void ise_show_space_flick_language_change_popup(short int space_button_x, short int space_button_y, short int space_button_width, short int space_button_height)
 {
     std::string left_text = "left";
     std::string center_text = "center";
@@ -102,7 +99,7 @@ void ise_show_space_flick_language_change_popup(short int space_button_x, short
         right_text = _language_manager.get_previous_language();
     }
 
-    __ise_init_space_flick_lang_change_popup_variables(space_button_x, space_button_y, space_button_width);
+    __ise_init_space_flick_lang_change_popup_variables(space_button_x, space_button_y, space_button_width, space_button_height);
 
     int xPos = lang_popup_x;
     int yPos = lang_popup_y;
@@ -115,33 +112,31 @@ void ise_show_space_flick_language_change_popup(short int space_button_x, short
     if (err != EVAS_LOAD_ERROR_NONE) {
         LOGD("Could not load image, error string is \"%s\"", evas_load_error_str(err));
     } else {
-        evas_object_image_fill_set(image_ob, 0, 0, lang_popup_width, lang_popup_height);
-        evas_object_resize(image_ob, lang_popup_width, lang_popup_height);
+        evas_object_image_fill_set(image_ob, 0, 0, space_popup_width, space_popup_height);
+        evas_object_resize(image_ob, space_popup_width, space_popup_height);
         evas_object_show(image_ob);
     }
     evas_object_color_set(win, 255, 255, 255, 255);
-    evas_object_resize(win, SPACE_POPUP_WIDTH, SPACE_POPUP_HEIGHT);
+    evas_object_resize(win, space_popup_width, space_popup_height);
     evas_object_move(win, xPos, yPos);
     evas_object_layer_set(win, EVAS_LAYER_MAX);
     evas_object_show(win);
 
     img_arrow_left = evas_object_image_add(evas_object_evas_get(win));
     evas_object_image_file_set(img_arrow_left, IMG_ARROW_LEFT, NULL);
-    evas_object_image_fill_set(img_arrow_left, 0, 0, ARROW_IMAGE_WIDTH, ARROW_IMAGE_HEIGHT);
-    evas_object_resize(img_arrow_left, ARROW_IMAGE_WIDTH, ARROW_IMAGE_HEIGHT);
-    evas_object_move(img_arrow_left, xPos + ARROW_IMAGE_X_PADDING, yPos + SCROLLER_Y);
+    evas_object_image_fill_set(img_arrow_left, 0, 0, arrow_image_width, arrow_image_height);
+    evas_object_resize(img_arrow_left, arrow_image_width, arrow_image_height);
+    evas_object_move(img_arrow_left, xPos + arrow_image_x_padding, yPos + scroller_y);
     evas_object_layer_set(img_arrow_left, EVAS_LAYER_MAX);
 
     img_arrow_right = evas_object_image_add(evas_object_evas_get(win));
     evas_object_image_file_set(img_arrow_right, IMG_ARROW_RIGHT, NULL);
-    evas_object_image_fill_set(img_arrow_right, 0, 0, ARROW_IMAGE_WIDTH, ARROW_IMAGE_HEIGHT);
-    evas_object_resize(img_arrow_right, ARROW_IMAGE_WIDTH, ARROW_IMAGE_HEIGHT);
-    evas_object_move(img_arrow_right, xPos + SPACE_POPUP_WIDTH - (ARROW_IMAGE_WIDTH + ARROW_IMAGE_X_PADDING), yPos + SCROLLER_Y);
+    evas_object_image_fill_set(img_arrow_right, 0, 0, arrow_image_width, arrow_image_height);
+    evas_object_resize(img_arrow_right, arrow_image_width, arrow_image_height);
+    evas_object_move(img_arrow_right, xPos + space_popup_width - (arrow_image_width + arrow_image_x_padding), yPos + scroller_y);
     evas_object_layer_set(img_arrow_right, EVAS_LAYER_MAX);
 
     cw = -1;
-    scroller_area_width = SPACE_POPUP_WIDTH - SPACE_POPUP_WIDTH_PADDING;
-
     Evas_Object* _table = elm_table_add(win);
     evas_object_size_hint_weight_set(_table, 0.0, 0.0);
     evas_object_size_hint_align_set(_table, 0.0, 0.0);
@@ -150,8 +145,8 @@ void ise_show_space_flick_language_change_popup(short int space_button_x, short
 
     scroller = elm_scroller_add(win);
     elm_object_content_set(scroller, _table);
-    evas_object_resize(scroller, scroller_area_width, SCROLLER_HEIGHT);
-    evas_object_move(scroller, xPos + SCROLLER_X, yPos + SCROLLER_Y);
+    evas_object_resize(scroller, scroller_area_width, scroller_area_height);
+    evas_object_move(scroller, xPos + scroller_x, yPos);
     elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_OFF);
     elm_scroller_propagate_events_set(scroller, EINA_TRUE);
     elm_scroller_page_relative_set(scroller, 0, 0);
@@ -162,24 +157,24 @@ void ise_show_space_flick_language_change_popup(short int space_button_x, short
     evas_object_layer_set(label1, EVAS_LAYER_MAX);
     edje_object_file_set(label1, EDJ_FILE, "language_label");
     edje_object_part_text_set(label1, "language_name", left_text.c_str());
-    evas_object_size_hint_min_set(label1, scroller_area_width, SPACE_POPUP_IMAGE_HEIGHT);
-    elm_table_pack(_table, label1, 0, 0, scroller_area_width, SPACE_POPUP_IMAGE_HEIGHT);
+    evas_object_size_hint_min_set(label1, scroller_area_width, scroller_area_height);
+    elm_table_pack(_table, label1, 0, 0, scroller_area_width, scroller_area_height);
 
     Evas_Object *label2 = edje_object_add(evas_object_evas_get(win));
     evas_object_show(label2);
     evas_object_layer_set(label2, EVAS_LAYER_MAX);
     edje_object_file_set(label2, EDJ_FILE, "language_label");
     edje_object_part_text_set(label2, "language_name", center_text.c_str());
-    evas_object_size_hint_min_set(label2, scroller_area_width, SPACE_POPUP_IMAGE_HEIGHT);
-    elm_table_pack(_table, label2, scroller_area_width, 0, scroller_area_width, SPACE_POPUP_IMAGE_HEIGHT);
+    evas_object_size_hint_min_set(label2, scroller_area_width, scroller_area_height);
+    elm_table_pack(_table, label2, scroller_area_width, 0, scroller_area_width, scroller_area_height);
 
     Evas_Object *label3 = edje_object_add(evas_object_evas_get(win));
     evas_object_show(label3);
     evas_object_layer_set(label3, EVAS_LAYER_MAX);
     edje_object_file_set(label3, EDJ_FILE, "language_label");
     edje_object_part_text_set(label3, "language_name", right_text.c_str());
-    evas_object_size_hint_min_set(label3, scroller_area_width, SPACE_POPUP_IMAGE_HEIGHT);
-    elm_table_pack(_table, label3, scroller_area_width * 2, 0, scroller_area_width, SPACE_POPUP_IMAGE_HEIGHT);
+    evas_object_size_hint_min_set(label3, scroller_area_width, scroller_area_height);
+    elm_table_pack(_table, label3, scroller_area_width * 2, 0, scroller_area_width, scroller_area_height);
 
     evas_object_show(img_arrow_left);
     evas_object_show(img_arrow_right);
@@ -228,12 +223,25 @@ void ise_destroy_space_flick_language_change_popup(void)
     old_ev_y = NOT_USED;
 }
 
-static void __ise_init_space_flick_lang_change_popup_variables(short int space_button_x, short int space_button_y, short int space_button_width)
+static void __ise_init_space_flick_lang_change_popup_variables(short int space_button_x, short int space_button_y, short int space_button_width, short int space_button_height)
 {
-    lang_popup_height = SPACE_POPUP_HEIGHT;
-    lang_popup_width = SPACE_POPUP_WIDTH;
-    lang_popup_x = space_button_x - (lang_popup_width - space_button_width) / 2;
-    lang_popup_y = (space_button_y - lang_popup_height - ARROW_IMAGE_Y_PADDING);
+    space_popup_width = space_button_width;
+    space_popup_height = space_button_height;
+
+    arrow_image_width = space_popup_width / 15;
+    arrow_image_height = space_popup_width / 15;
+    arrow_image_x_padding = space_popup_width / 20;
+    arrow_image_y_padding = space_popup_height / 10;
+
+    scroller_x = (arrow_image_width + arrow_image_x_padding);
+    scroller_y = (space_popup_height - arrow_image_height) / 2;
+    space_popup_width_padding = scroller_x * 2;
+
+    scroller_area_width = space_popup_width - space_popup_width_padding;
+    scroller_area_height = space_popup_height;
+
+    lang_popup_x = space_button_x - (space_popup_width - space_button_width) / 2;
+    lang_popup_y = (space_button_y - space_popup_height - arrow_image_y_padding);
 }
 
 
index 334252c..9f318bd 100644 (file)
@@ -995,19 +995,17 @@ SCLEventReturnType CUIEventCallback::on_event_notification(SCLUINotiType noti_ty
 
 SCLEventReturnType CUIEventCallback::on_event_drag_state_changed(SclUIEventDesc event_desc)
 {
-#ifdef _MOBILE
     if (event_desc.event_type == EVENT_TYPE_MOVE) {
         if (event_desc.key_event == MVK_space) {
             SclRectangle rectangle = {0};
             g_ui->get_button_geometry("SPACE_KEY", &rectangle);
-            ise_show_space_flick_language_change_popup(rectangle.x, rectangle.y, rectangle.width);
+            ise_show_space_flick_language_change_popup(rectangle.x, rectangle.y, rectangle.width, rectangle.height);
         }
     } else if (event_desc.event_type == EVENT_TYPE_RELEASE) {
         if (event_desc.key_event == MVK_space) {
             ise_destroy_space_flick_language_change_popup();
         }
     }
-#endif
     return SCL_EVENT_PASS_ON;
 }