/* * Copyright (c) 2010 Samsung Electronics Co., Ltd All Rights Reserved * * BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php) * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, this * list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /********************************************************************************* Document: Tizen TV_General Guide_GUI Guideline_v1.0_140430.ppt Button Page No.: 72, Style Name: default *********************************************************************************/ group { name: "elm/button/base/default"; images { image: "round_rectangle_4X4.png" COMP; } data.item: "focus_highlight" "on"; parts { part { name: "base"; type: RECT; scale: 1; description { state: "default" 0.0; color: 0 0 0 0; } } part { name: "pad.left"; type: SPACER; scale: 1; description { state: "default" 0.0; align: 0.0 0.5; rel1.to: "base"; min: BUTTON_DEFAULT_PAD_SIZE; max: BUTTON_DEFAULT_PAD_SIZE; } } part { name: "pad.right"; type: SPACER; scale: 1; description { state: "default" 0.0; align: 1.0 0.5; rel2.to: "base"; min: BUTTON_DEFAULT_PAD_SIZE; max: BUTTON_DEFAULT_PAD_SIZE; } } part { name: "button_base"; scale: 1; description { state: "default" 0.0; rel1.to: "base"; rel2.to: "base"; min: BUTTON_DEFAULT_MIN_SIZE; color_class: "button/default/bg"; image { normal: "round_rectangle_4X4.png"; border: BUTTON_BORDER; border_scale: 1; } } description { state: "focus" 0.0; inherit: "default" 0.0; color_class: "button/default/bg_focused"; } description { state: "dim" 0.0; inherit: "default" 0.0; color_class: "button/default/bg_disabled"; } } part { name: "elm.swallow.content"; type: SWALLOW; scale: 1; description { state: "default" 0.0; align: 0 0.5; rel1.to: "pad.left"; rel1.relative: 1 0; rel2.to: "pad.left"; rel2.relative: 1 1; align: 0.0 0.5; min: 0 0; max: 37 37; } } part { name: "elm.text"; type: TEXTBLOCK; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel1.to_x: "pad.left"; rel1.relative: 1.0 0.0; rel2.to_x: "pad.right"; rel2.relative: 0.0 1.0; text { min: 1 1; max: 1 1; ellipsis: -1; style: "button_default"; } } description { state: "focus" 0.0; inherit: "default" 0.0; text.min: 1 1; text.style: "button_default_focused"; } description { state: "dim" 0.0; inherit: "default" 0.0; text.style: "button_default_disabled"; } } part { name: "event"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } } programs { program { name: "button_click"; signal: "mouse,down,1"; source: "event"; action: SIGNAL_EMIT "elm,action,press" ""; } program { name: "button_unclick"; signal: "mouse,up,1"; source: "event"; action: SIGNAL_EMIT "elm,action,unpress" ""; } program { name: "button_unclick_anim"; action: STATE_SET "default" 0.0; target: "button_base"; target: "elm.text"; } program{ name: "mouse_unclick_after"; signal: "mouse,clicked,1"; source: "event"; action: SIGNAL_EMIT "elm,action,click" ""; } program { name: "key_press"; signal: "elm,action,pressed"; source: "elm"; } program { name: "key_unpress"; signal: "elm,action,unpressed"; source: "elm"; } program { name: "focused"; signal: "elm,action,focus"; source: "elm"; action: STATE_SET "focus" 0.0; target: "button_base"; target: "elm.text"; } program { name: "unfocused"; signal: "elm,action,unfocus"; source: "elm"; action: STATE_SET "default" 0.0; target: "button_base"; target: "elm.text"; } program { name: "text_show"; signal: "elm,state,text,visible"; source: "elm"; script { new st[31]; new Float: vl; get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "disabled") || (!strcmp(st, "disabled_visible"))) set_state(PART:"elm.text", "disabled_visible", 0.0); else set_state(PART:"elm.text", "visible", 0.0); } } program { name: "text_hide"; signal: "elm,state,text,hidden"; source: "elm"; script { new st[31]; new Float: vl; set_state(PART:"elm.text", "default", 0.0); get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "default") || (!strcmp(st, "visible"))) set_state(PART:"elm.text", "default", 0.0); else set_state(PART:"elm.text", "disabled", 0.0); } } program { name: "disable"; signal: "elm,state,disabled"; source: "elm"; script { new st[31]; new Float: vl; set_state(PART:"button_base", "dim", 0.0); set_state(PART:"event", "disabled", 0.0); get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "visible") || !strcmp(st, "disabled_visible")) set_state(PART:"elm.text", "disabled_visible", 0.0); else set_state(PART:"elm.text", "disabled", 0.0); } } program { name: "enable"; signal: "elm,state,enabled"; source: "elm"; script { new st[31]; new Float: vl; set_state(PART:"button_base", "visible", 0.0); set_state(PART:"event", "visible", 0.0); get_state(PART:"elm.text", st, 30, vl); if (!strcmp(st, "visible") || !strcmp(st, "disabled_visible")) set_state(PART:"elm.text", "visible", 0.0); else set_state(PART:"elm.text", "default", 0.0); } } } } /********************************************************************************* Document: Tizen TV_General Guide_GUI Guideline_v1.0_140508.ppt Button Page No.: 89, Style Name: text *********************************************************************************/ group { name: "elm/button/base/text"; inherit: "elm/button/base/default"; images { image: "btn_text_foc.png" COMP; image: "btn_text_nor.png" COMP; } parts { part { name: "base"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; } } part { name: "pad.left"; type: SPACER; scale: 1; description { state: "default" 0.0; align: 0.0 0.5; rel1.to: "base"; min: BUTTON_TEXT_PAD_SIZE; max: BUTTON_TEXT_PAD_SIZE; } } part { name: "pad.right"; type: SPACER; scale: 1; description { state: "default" 0.0; align: 1.0 0.5; rel2.to: "base"; min: BUTTON_TEXT_PAD_SIZE; max: BUTTON_TEXT_PAD_SIZE; } } part { name: "button_base"; description { state: "default" 0.0; rel1.to: "base"; rel2.to: "base"; min: BUTTON_TEXT_MIN_SIZE; image { normal: "btn_text_nor.png"; border:BUTTON_BORDER; border_scale: 1; } } description { state: "focus" 0.0; inherit: "default" 0.0; image { normal: "btn_text_foc.png"; border: BUTTON_BORDER; border_scale: 1; } } description { state: "dim" 0.0; inherit: "default" 0.0; color: 255 255 255 51; image { normal: "btn_text_nor.png"; border: BUTTON_BORDER; border_scale: 1; } } } part { name: "elm.text"; type: TEXT; mouse_events: 0; scale: 1; description { state: "default" 0.0; rel1.to_x: "pad.left"; rel1.relative: 1.0 0.0; rel2.to_x: "pad.right"; rel2.relative: 0.0 1.0; color: 164 164 174 255; text { font: FONT_M;//TODO Tizen Sans regular size: BUTTON_TEXT_FONT_SIZE; min: 1 1; max: 1 1; text_class: "button"; } } description { state: "focus" 0.0; inherit: "default" 0.0; color: WHITE 255; text.min: 1 1; } description { state: "dim" 0.0; inherit: "default" 0.0; color: 164 167 174 102; } } part { name: "event"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 0; } } } programs { program { name: "focused"; signal: "elm,action,focus"; source: "elm"; action: STATE_SET "focus" 0.0; target: "button_base"; target: "elm.text"; } program { name: "unfocused"; signal: "elm,action,unfocus"; source: "elm"; action: STATE_SET "default" 0.0; target: "button_base"; target: "elm.text"; } } } group { name: "elm/button/base/popup"; inherit: "elm/button/base/default"; parts { part { name: "elm.text"; description { state: "default" 0.0; text.min: 0 0; text.ellipsis: 0.0; } description { state: "focus" 0.0; inherit: "default" 0.0; color: WHITE 255; } description { state: "dim" 0.0; inherit: "default" 0.0; color: 89 89 89 102; } } } } ///////////////////////// // Vertical ///////////// ///////////////////////// #define GLIDE_EASE_OUT(duration) CUBIC_BEZIER (duration) 0.25 0.46 0.45 1.0 group { name: "elm/button/base/spinner/increase/vertical"; alias: "elm/button/base/spinner/increase/vertical_time_picker"; alias: "elm/button/base/spinner/increase/vertical_date_picker"; alias: "elm/button/base/spinner/increase/datetime"; data.item: "focus_highlight" "on"; data.item: "vector_ux" "no_bg"; data.item: "corner_radius" "10"; images { image: "core_icon_picker_arrow_up.png" COMP; } script { public mouse_down = 0; public multi_down = 0; public disabled = 0; public animate = 0; } parts { part { name: "arrow.image.bg"; type: SPACER; scale: 1; description { state: "default" 0.0; align: 0.5 0.0; min: 146 80; max: 146 80; } } part { name: "effect_spacer"; type: SPACER; description { state: "default" 0.0; rel1.to: "arrow.image.bg"; rel2.to: "arrow.image.bg"; } } //Effect Shape Part part { name: "tizen_vg_shape"; type: SWALLOW; clip_to: "tizen_vg_shape_clipper"; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.to: "effect_spacer"; rel2.to: "effect_spacer"; rel1.relative: 0.5 0.5; rel2.relative: 0.5 0.5; } description { state: "ready" 0.0; inherit: "default" 0.0; min: 112 34; } description { state: "pressed" 0.0; inherit: "default" 0.0; rel1.relative: 0.0 0.0; rel2.relative: 1.0 1.0; } } part { name: "tizen_vg_shape_clipper"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; visible: 0; fixed: 1 1; rel1.to: "tizen_vg_shape"; rel2.to: "tizen_vg_shape"; } description { state: "ready" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "pressed" 0.0; inherit: "default" 0.0; visible: 1; color: 0 0 0 77; } description { state: "disabled" 0.0; color: 0 0 0 77; fixed: 1 1; rel1.to: "tizen_vg_shape"; rel2.to: "tizen_vg_shape"; } } part { name: "arrow.image"; scale: 1; description { state: "default" 0.0; rel1.to: "arrow.image.bg"; rel2.to: "arrow.image.bg"; min: 146 80; max: 146 80; color: 204 204 204 255; image.normal: "core_icon_picker_arrow_up.png"; } description { state: "pressed" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } description { state: "disabled" 0.0; inherit: "default" 0.0; color: 204 204 204 127; } } part { name: "focus_image"; type: SPACER; scale: 1; description { state: "default" 0.0; align: 0.5 0.0; rel1.to: "arrow.image.bg"; rel2.to: "arrow.image.bg"; } description { state: "focused" 0.0; inherit: "default" 0.0; } } part { name: "event"; type: RECT; repeat_events: 1; description { state: "default" 0.0; rel1.to: "arrow.image.bg"; rel2.to: "arrow.image.bg"; color: 0 0 0 0; } } } programs { program { name: "pressed_effect"; action: STATE_SET "ready" 0.0; target: "tizen_vg_shape_clipper"; target: "tizen_vg_shape"; after: "pressed_effect2"; } program { name: "pressed_effect2"; action: STATE_SET "pressed" 0.0; target: "tizen_vg_shape_clipper"; target: "tizen_vg_shape"; target: "arrow.image"; transition: GLIDE_EASE_OUT(0.15); after: "pressed_effect3"; } program { name: "pressed_effect3"; script { set_int(animate, 0); } } program { name: "delay_unpressed_effect"; in: 0.1 0.0; after: "unpressed_effect"; } program { name: "unpressed_effect"; script { if (get_int(disabled) == 0) { run_program(PROGRAM:"unpressed_effect2"); run_program(PROGRAM:"unpressed_effect3"); } else { run_program(PROGRAM:"disabled_effect"); run_program(PROGRAM:"disabled_effect2"); } } } program { name: "unpressed_effect2"; action: STATE_SET "default" 0.0; target: "arrow.image"; transition: GLIDE_EASE_OUT(0.45); } program { name: "unpressed_effect3"; action: STATE_SET "ready" 0.0; target: "tizen_vg_shape_clipper"; transition: GLIDE_EASE_OUT(0.45); after: "finished_animation"; } program { name: "disabled_effect"; action: STATE_SET "disabled" 0.0; target: "arrow.image"; transition: GLIDE_EASE_OUT(0.45); } program { name: "disabled_effect2"; action: STATE_SET "ready" 0.0; target: "tizen_vg_shape_clipper"; transition: GLIDE_EASE_OUT(0.45); after: "finished_animation"; } program { name: "finished_animation"; action: STATE_SET "default" 0.0; target: "tizen_vg_shape_clipper"; target: "tizen_vg_shape"; } program { name: "pressed"; signal: "mouse,down,1*"; source: "event"; script { if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0) && (get_int(disabled) == 0)) { stop_program(PROGRAM:"delay_unpressed_effect"); set_int(mouse_down, 1); set_int(animate, 1); emit("elm,action,press", ""); run_program(PROGRAM:"pressed_effect"); } } } program { name: "unpressed"; signal: "mouse,up,1"; source: "event"; script { if (get_int(mouse_down) == 1) { set_int(mouse_down, 0); if (get_int(disabled) == 0) { if (get_int(animate) == 0) { run_program(PROGRAM:"unpressed_effect"); } else { set_state(PART:"tizen_vg_shape", "pressed", 0.0); set_state(PART:"tizen_vg_shape_clipper", "pressed", 0.0); set_state(PART:"arrow.image", "pressed", 0.0); set_int(animate, 0); run_program(PROGRAM:"delay_unpressed_effect"); } emit("elm,action,unpress", ""); } } } } program { name: "button_click"; signal: "mouse,clicked,1"; source: "event"; script { if ((get_int(multi_down) == 0) && (get_int(disabled) == 0)) { run_program(PROGRAM:"play_sound"); run_program(PROGRAM:"button_click2"); } } } program { name: "play_sound"; action: RUN_PLUGIN "touch_sound"; } program { name: "longpress_sound"; signal: "elm,action,longpress"; source: "elm"; action: RUN_PLUGIN "touch_haptic"; } program { name: "button_click2"; in: 0.001 0.0; action: SIGNAL_EMIT "elm,action,click" ""; } program { name: "action_focus"; signal: "elm,action,focus_highlight,show"; source: "elm"; action: STATE_SET "focused" 0.0; target: "focus_image"; } program { name: "action_unfocus"; signal: "elm,action,focus_highlight,hide"; source: "elm"; action: STATE_SET "default" 0.0; target: "focus_image"; } program { name: "access_pressed"; signal: "elm,action,anim,activate"; source: "elm"; after: "pressed_effect"; } program { name: "disable"; signal: "elm,state,disabled"; source: "elm"; script { set_int(disabled, 1); if (get_int(animate) == 1) return; set_state(PART:"arrow.image", "disabled", 0.0); } } program { name: "enable"; signal: "elm,state,enabled"; source: "elm"; script { set_int(disabled, 0); set_state(PART:"arrow.image", "default", 0.0); } } program { name: "multi_down"; signal: "elm,action,multi,down"; source: "elm"; script { set_int(multi_down, 1); } } program { name: "multi_up"; signal: "elm,action,multi,up"; source: "elm"; script { set_int(multi_down, 0); } } program { name: "pass_event_enable"; signal: "elm,event,pass,enabled"; source: "elm"; script { set_mouse_events(PART:"event", 0); } } program { name: "pass_event_disable"; signal: "elm,event,pass,disabled"; source:"elm"; script { set_mouse_events(PART:"event", 1); } } program { name: "repeat_event_enable"; signal: "elm,event,repeat,enabled"; source: "elm"; script { set_repeat_events(PART:"event", 1); } } program { name: "repeat_event_disable"; signal: "elm,event,repeat,disabled"; source:"elm"; script { set_repeat_events(PART:"event", 0); } } } } group { name: "elm/button/base/spinner/decrease/vertical"; inherit: "elm/button/base/spinner/increase/vertical"; alias: "elm/button/base/spinner/decrease/vertical_time_picker"; alias: "elm/button/base/spinner/decrease/vertical_date_picker"; alias: "elm/button/base/spinner/decrease/datetime"; images { image: "core_icon_picker_arrow_down.png" COMP; } parts { part { name: "arrow.image"; scale: 1; description { state: "default" 0.0; rel1.to: "arrow.image.bg"; rel2.to: "arrow.image.bg"; min: 146 80; max: 146 80; color: 204 204 204 255; image.normal: "core_icon_picker_arrow_down.png"; } description { state: "pressed" 0.0; inherit: "default" 0.0; color: 255 255 255 255; } description { state: "disabled" 0.0; inherit: "default" 0.0; color: 204 204 204 127; } } } } group { name: "elm/button/base/spinner/vertical"; alias: "elm/button/base/spinner/vertical_time_picker"; alias: "elm/button/base/spinner/datetime"; data.item: "focus_highlight" "on"; script { public mouse_down = 0; public multi_down = 0; } parts { part { name: "bg"; type: SPACER; scale: 1; description { state: "default" 0.0; min: 146 188; } } part { name: "elm.text"; type: TEXT; scale: 1; description { state: "default" 0.0; min: 0 146; max: -1 146; fixed: 1 1; color: 0 0 0 255; rel1.to: "bg"; rel2.to: "bg"; text { font: "Tizen:style=Light"; size: 106; text_class: "tizen"; ellipsis: -1.0; } } description { state: "pressed" 0.0; inherit: "default" 0.0 ; } description { state: "disabled" 0.0; inherit: "default" 0.0 ; } } part { name: "focus_image"; type: SPACER; scale: 1; description { state: "default" 0.0; rel1.to: "bg"; rel2.to: "bg"; } description { state: "focused" 0.0; inherit: "default" 0.0; } } part { name: "over"; type: RECT; repeat_events: 1; description { state: "default" 0.0; color: 0 0 0 0; } } part { name: "disabler"; type: RECT; description { state: "default" 0.0; color: 0 0 0 0; visible: 0; } description { state: "disabled" 0.0; inherit: "default" 0.0; visible: 1; } } } programs { program { name: "button_press"; signal: "mouse,down,1*"; source: "over"; script { if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0)) { set_int(mouse_down, 1); run_program(PROGRAM:"button_press2"); } } } program { name: "button_press2"; action: SIGNAL_EMIT "elm,action,press" ""; after: "action_pressed"; } program { name: "button_unpress"; signal: "mouse,up,1*"; source: "over"; script { if (get_int(mouse_down) == 1) { set_int(mouse_down, 0); run_program(PROGRAM:"button_unpress2"); } } } program { name: "button_unpress2"; action: SIGNAL_EMIT "elm,action,unpress" ""; after: "action_unpressed"; } program { name: "button_click"; signal: "mouse,clicked,1"; source: "over"; script { if (get_int(multi_down) == 0) { run_program(PROGRAM:"play_sound"); run_program(PROGRAM:"button_click2"); } } } program { name: "play_sound"; action: RUN_PLUGIN "touch_sound"; } program { name: "button_click2"; action: SIGNAL_EMIT "elm,action,click" ""; } program { name: "action_pressed"; action: STATE_SET "pressed" 0.0; target: "elm.text"; } program { name: "action_unpressed"; action: STATE_SET "default" 0.0; target: "elm.text"; } program { name: "action_focus"; signal: "elm,action,focus_highlight,show"; source: "elm"; action: STATE_SET "focused" 0.0; target: "focus_image"; } program { name: "action_unfocus"; signal: "elm,action,focus_highlight,hide"; source: "elm"; action: STATE_SET "default" 0.0; target: "focus_image"; } program { name: "disable"; signal: "elm,state,disabled"; source: "elm"; action: STATE_SET "disabled" 0.0; target: "disabler"; target: "elm.text"; } program { name: "enable"; signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default" 0.0; target: "disabler"; target: "elm.text"; } program { name: "multi_down"; signal: "elm,action,multi,down"; source: "elm"; script { set_int(multi_down, 1); } } program { name: "multi_up"; signal: "elm,action,multi,up"; source: "elm"; script { set_int(multi_down, 0); } } program { name: "pass_event_enable"; signal: "elm,event,pass,enabled"; source: "elm"; script { set_mouse_events(PART:"over", 0); set_mouse_events(PART:"disabler", 0); } } program { name: "pass_event_disable"; signal: "elm,event,pass,disabled"; source:"elm"; script { set_mouse_events(PART:"over", 1); set_mouse_events(PART:"disabler", 1); } } program { name: "repeat_event_enable"; signal: "elm,event,repeat,enabled"; source: "elm"; script { set_repeat_events(PART:"over", 1); set_repeat_events(PART:"disabler", 1); } } program { name: "repeat_event_disable"; signal: "elm,event,repeat,disabled"; source:"elm"; script { set_repeat_events(PART:"over", 0); set_repeat_events(PART:"disabler", 0); } } } } group { name: "elm/button/base/spinner/vertical_date_picker"; inherit: "elm/button/base/spinner/vertical"; parts { part { name: "bg"; type: SPACER; scale: 1; description { state: "default" 0.0; min: 206 188; } } part { name: "elm.text"; type: TEXT; scale: 1; description { state: "default" 0.0; min: 0 146; max: -1 146; fixed: 1 1; color: 0 0 0 255; rel1.to: "bg"; rel2.to: "bg"; text { font: "TizenSans:style=Light"; size: 90; ellipsis: 0.0; } } description { state: "pressed" 0.0; inherit: "default" 0.0; } description { state: "disabled" 0.0; inherit: "default" 0.0; } } } } group { name: "elm/button/base/datetime/default"; data.item: "vector_ux" "default"; data.item: "corner_radius" "39"; script { public mouse_down = 0; public multi_down = 0; public disabled = 0; public text = 0; public content = 0; public animate = 0; public selected = 0; public minw = 0; public minh = 0; public get_effect_min_size(base_effect, Float:ratio, min_w, min_h) { new x, y, w, h; get_geometry(base_effect, x, y, w, h); if (w > h) { set_float(min_w, w - h * (1 - ratio)); set_float(min_h, h * ratio); } else { set_float(min_w, w * ratio); set_float(min_h, h - w * (1 - ratio)); } } } parts { part { name: "base"; scale: 1; type: SPACER; description { state: "default" 0.0; min: 50 78; } } //Base Shape Part part { name: "tizen_vg_shape"; type: SWALLOW; clip_to: "tizen_vg_shape_clipper"; scale: 1; description { state: "default" 0.0; min: 0 78; rel1.relative: 0 0.0; rel2.relative: 1 1.0; } } part { name: "tizen_vg_shape_clipper"; type: RECT; scale: 1; description { state: "default" 0.0; color: 82 198 216 255; } description { state: "disabled" 0.0; color: 138 195 204 255; } } part { name: "effect_spacer"; type: SPACER; scale: 1; description { state: "default" 0.0; } } //Effect Shape Part part { name: "tizen_vg_shape2"; type: SWALLOW; clip_to: "tizen_vg_shape_clipper2"; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1.relative: 0.5 0.5; rel2.relative: 0.5 0.5; } description { state: "ready" 0.0; rel1.to: "effect_spacer"; rel2.to: "effect_spacer"; } description { state: "pressed" 0.0; inherit: "ready" 0.0; } } part { name: "tizen_vg_shape_clipper2"; type: RECT; description { state: "default" 0.0; visible: 0; color: 0 0 0 0; } description { state: "ready" 0.0; inherit: "default" 0.0; visible: 1; } description { state: "pressed" 0.0; color: 0 0 0 77; } } part { name: "padding_left_top"; type: SPACER; scale: 1; description { state: "default" 0.0; align: 0.0 0.0; rel2.relative: 0.0 0.0; min: 22 0; fixed: 1 1; } } part { name: "padding_right_bottom"; type: SPACER; scale: 1; description { state: "default" 0.0; rel1.to: "tizen_vg_shape"; rel2.to: "tizen_vg_shape"; align: 1.0 1.0; rel1.relative: 1.0 1.0; min: 22 4; fixed: 1 1; } } part { name: "icon_rect"; type: SPACER; scale: 1; description { state: "default" 0.0; align: 0.0 0.5; rel1 { relative: 1.0 1.0; to: "padding_left_top"; } rel2 { relative: 1.0 0.0; to_x: "padding_left_top"; to_y: "padding_right_bottom"; } min: 0 60; fixed: 1 1; } description { state: "visible" 0.0; inherit: "default" 0.0; min: 60 60; max: 60 60; fixed: 1 1; } description { state: "icon_only" 0.0; inherit: "default" 0.0; } } part { name: "icon_text_padding"; type: SPACER; scale: 1; description { state: "default" 0.0; align: 1.0 0.5; min: 0 0; rel1 { relative: 0.0 0.0; to: "elm.text"; } rel2 { relative: 0.0 1.0; to: "elm.text"; } fixed: 1 1; } description { state: "visible" 0.0; inherit: "default" 0.0; min: 14 0; } } part { name: "elm.swallow.content"; type: SWALLOW; scale: 1; clip_to: "clipper"; description { state: "default" 0.0; align: 0.0 1.0; rel1 { relative: 1.0 1.0; to: "padding_left_top"; } rel2 { relative: 1.0 1.0; to_x: "padding_left_top"; to_y: "padding_right_bottom"; } min: 0 60; fixed: 1 0; } description { state: "visible" 0.0; inherit: "default" 0.0; align: 1.0 0.5; rel1 { relative: 0.0 1.0; to_x: "icon_text_padding"; to_y: "padding_left_top"; } rel2 { relative: 0.0 0.0; to_x: "icon_text_padding"; to_y: "padding_right_bottom"; } min: 60 60; fixed: 1 1; } description { state: "icon_only" 0.0; rel1.to: "tizen_vg_shape"; rel2.to: "tizen_vg_shape"; min: 60 60; max: 60 60; align: 0.5 0.5; fixed: 1 1; } } part { name: "elm.text"; type: TEXTBLOCK; mouse_events: 0; scale: 1; description { state: "default" 0.0; fixed: 1 1; rel1 { relative: 1.0 1.0; to_x: "icon_rect"; to_y: "padding_left_top"; } rel2 { relative: 0.0 0.0; to: "padding_right_bottom"; } text { style: "button_main"; max: 1 0; } color: 250 250 250 255; } description { state: "pressed" 0.0; inherit: "default" 0.0; text.style: "button_main_press"; color: 250 250 250 255; } description { state: "disabled" 0.0; inherit: "default" 0.0; text.style: "button_main_dim"; color: 250 250 250 163; } } part { name: "clipper"; type: RECT; description { state: "default" 0.0; } description { state: "pressed" 0.0; } description { state: "disabled" 0.0; inherit: "default" 0.0; color: 255 255 255 163; } } part { name: "event"; type: RECT; description { state: "default" 0.0; rel1.to: "tizen_vg_shape"; rel2.to: "tizen_vg_shape"; color: 0 0 0 0; } } } programs { program { name: "pressed_effect"; action: STATE_SET "ready" 0.0; target: "tizen_vg_shape_clipper2"; action: STATE_SET "custom" 0.0; target: "tizen_vg_shape2"; after: "pressed_effect2"; } program { name: "pressed_effect2"; action: STATE_SET "pressed" 0.0; target: "elm.text"; target: "clipper"; target: "tizen_vg_shape2"; target: "tizen_vg_shape_clipper2"; transition: GLIDE_EASE_OUT(0.15); after: "pressed_effect3"; } program { name: "pressed_effect3"; script { set_int(animate, 0); } } program { name: "delay_unpressed_effect"; in: 0.1 0.0; after: "unpressed_effect"; } program { name: "unpressed_effect"; script { if (get_int(disabled) == 0) { run_program(PROGRAM:"unpressed_effect2"); run_program(PROGRAM:"unpressed_effect3"); } else { run_program(PROGRAM:"disabled_effect"); run_program(PROGRAM:"disabled_effect2"); run_program(PROGRAM:"disabled_effect3"); } } } program { name: "unpressed_effect2"; action: STATE_SET "ready" 0.0; target: "tizen_vg_shape2"; target: "tizen_vg_shape_clipper2"; transition: GLIDE_EASE_OUT(0.45); } program { name: "unpressed_effect3"; action: STATE_SET "default" 0.0; target: "elm.text"; transition: GLIDE_EASE_OUT(0.45); after: "unpressed_effect4"; } program { name: "unpressed_effect4"; action: STATE_SET "default" 0.0; target: "clipper"; after: "finished_animation"; } program { name: "disabled_effect"; action: STATE_SET "ready" 0.0; target: "tizen_vg_shape2"; target: "tizen_vg_shape_clipper2"; transition: GLIDE_EASE_OUT(0.45); } program { name: "disabled_effect2"; action: STATE_SET "disabled" 0.0; target: "elm.text"; transition: GLIDE_EASE_OUT(0.45); } program { name: "disabled_effect3"; action: STATE_SET "disabled" 0.0; target: "clipper"; target: "tizen_vg_shape_clipper"; transition: GLIDE_EASE_OUT(0.45); after: "finished_animation"; } program { name: "finished_animation"; action: STATE_SET "default" 0.0; target: "tizen_vg_shape2"; target: "tizen_vg_shape_clipper2"; } program { name: "pressed"; signal: "mouse,down,1*"; source: "event"; script { if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0) && (get_int(disabled) == 0)) { stop_program(PROGRAM:"delay_unpressed_effect"); set_int(mouse_down, 1); set_int(animate, 1); custom_state(PART:"tizen_vg_shape2", "default", 0.0); get_effect_min_size(PART:"effect_spacer", 0.7, minw, minh); set_state_val(PART:"tizen_vg_shape2", STATE_MIN, get_int(minw), get_int(minh)); emit("elm,action,press", ""); run_program(PROGRAM:"pressed_effect"); } } } program { name: "unpressed"; signal: "mouse,up,1"; source: "event"; script { if (get_int(mouse_down) == 1) { set_int(mouse_down, 0); if (get_int(disabled) == 0) { if (get_int(animate) == 0) { run_program(PROGRAM:"unpressed_effect"); } else { set_state(PART:"elm.text", "pressed", 0.0); set_state(PART:"clipper", "pressed", 0.0); set_state(PART:"tizen_vg_shape2", "pressed", 0.0); set_state(PART:"tizen_vg_shape_clipper2", "pressed", 0.0); set_int(animate, 0); run_program(PROGRAM:"delay_unpressed_effect"); } emit("elm,action,unpress", ""); } } } } program { name: "touch_snd"; signal: "mouse,clicked,1"; source: "event"; script { if (get_int(multi_down) == 0) { if (get_int(disabled) == 0) { run_program(PROGRAM:"touch_sound"); run_program(PROGRAM:"clicked_signal"); } } } } program { name: "touch_sound"; action: RUN_PLUGIN "touch_sound"; } program { name: "clicked_signal"; in: 0.001 0.0; action: SIGNAL_EMIT "elm,action,click" ""; } program { name: "icon_show"; signal: "elm,state,icon,visible"; source: "elm"; script { set_int(content, 1); set_state(PART:"icon_text_padding", "visible", 0.0); if (get_int(text) == 1) { set_state(PART:"icon_rect", "visible", 0.0); set_state(PART:"elm.swallow.content", "visible", 0.0); } else { set_state(PART:"icon_rect", "icon_only", 0.0); set_state(PART:"elm.swallow.content", "icon_only", 0.0); set_state(PART:"padding_left_top", "icon_only", 0.0); } } } program { name: "icon_hide"; signal: "elm,state,icon,hidden"; source: "elm"; script { set_int(content, 0); set_state(PART:"icon_text_padding", "default", 0.0); set_state(PART:"icon_rect", "default", 0.0); set_state(PART:"elm.swallow.content", "default", 0.0); } } program { name: "text_show"; signal: "elm,state,text,visible"; source: "elm"; script { set_int(text, 1); if (get_int(content) == 1) { set_state(PART:"icon_rect", "visible", 0.0); set_state(PART:"elm.swallow.content", "visible", 0.0); } } } program { name: "text_hide"; signal: "elm,state,text,hidden"; source: "elm"; script { set_int(text, 0); if (get_int(content) == 1) { set_state(PART:"icon_rect", "icon_only", 0.0); set_state(PART:"elm.swallow.content", "icon_only", 0.0); } } } program { name: "disable"; signal: "elm,state,disabled"; source: "elm"; script { set_int(disabled, 1); if (get_int(animate) == 1) return; set_state(PART:"clipper", "disabled", 0.0); set_state(PART:"tizen_vg_shape_clipper", "disabled", 0.0); set_state(PART:"elm.text", "disabled", 0.0); } } program { name: "enable"; signal: "elm,state,enabled"; source: "elm"; script { set_int(disabled, 0); set_state(PART:"clipper", "default", 0.0); set_state(PART:"tizen_vg_shape_clipper", "default", 0.0); set_state(PART:"elm.text", "default", 0.0); } } program { name: "multi_down"; signal: "elm,action,multi,down"; source: "elm"; script { set_int(multi_down, 1); } } program { name: "multi_up"; signal: "elm,action,multi,up"; source: "elm"; script { set_int(multi_down, 0); } } program { name: "pass_event_enable"; signal: "elm,event,pass,enabled"; source: "elm"; script { set_mouse_events(PART:"event", 0); } } program { name: "pass_event_disable"; signal: "elm,event,pass,disabled"; source:"elm"; script { set_mouse_events(PART:"event", 1); } } program { name: "repeat_event_enable"; signal: "elm,event,repeat,enabled"; source: "elm"; script { set_repeat_events(PART:"event", 1); } } program { name: "repeat_event_disable"; signal: "elm,event,repeat,disabled"; source:"elm"; script { set_repeat_events(PART:"event", 0); } } } } group { name: "elm/button/base/datetime/ampm"; inherit: "elm/button/base/datetime/default"; parts { part { name: "base"; description { state: "default" 0.0; min: 160 78; } } part { name: "tizen_vg_shape"; description { state: "default" 0.0; min: 0 78; } } part { name: "tizen_vg_shape_clipper"; description { state: "unselected" 0.0; color: 204 204 204 255; } } part { name: "padding_left_top"; description { state: "default" 0.0; min: 32 10; } } part { name: "padding_right_bottom"; description { state: "default" 0.0; min: 32 14; } } part { name: "elm.text"; description { state: "default" 0.0; text.style: "button_ampm"; color: 250 250 250 255; } description { state: "pressed" 0.0; text.style: "button_ampm_press"; color: 250 250 250 255; } description { state: "unselected" 0.0; inherit: "default" 0.0; text.style: "button_ampm_dim"; color: 250 250 250 163; } description { state: "disabled" 0.0; inherit: "default" 0.0; text.style: "button_ampm_dim"; color: 250 250 250 163; } } } program { name: "unselected"; signal: "elm,action,button,unselected"; source: "elm"; script { set_int(selected, 0); set_state(PART:"tizen_vg_shape_clipper", "unselected", 0.0); set_state(PART:"elm.text", "unselected", 0.0); if (get_int(animate) == 1) run_program(PROGRAM:"pressed_effect3"); } } program { name: "selected"; signal: "elm,action,button,selected"; source: "elm"; script { set_int(selected, 1); set_state(PART:"tizen_vg_shape_clipper", "default", 0.0); if (get_int(animate) == 0) set_state(PART:"elm.text", "default", 0.0); } } program { name: "unselected_effect"; action: STATE_SET "unselected" 0.0; target: "elm.text"; transition: GLIDE_EASE_OUT(0.45); after: "unpressed_effect4"; } program { name: "unpressed_effect"; script { if (get_int(disabled) == 0) { run_program(PROGRAM:"unpressed_effect2"); if (get_int(selected) == 0) run_program(PROGRAM:"unselected_effect"); else run_program(PROGRAM:"unpressed_effect3"); } else { run_program(PROGRAM:"disabled_effect"); run_program(PROGRAM:"disabled_effect2"); run_program(PROGRAM:"disabled_effect3"); } } } program { name: "disable"; signal: "elm,state,disabled"; source: "elm"; script { set_int(disabled, 1); if (get_int(animate) == 1) return; if (get_int(selected) == 1) { set_state(PART:"clipper", "disabled", 0.0); set_state(PART:"tizen_vg_shape_clipper", "disabled", 0.0); set_state(PART:"elm.text", "disabled", 0.0); } else { set_state(PART:"elm.text", "disabled", 0.0); } } } program { name: "enable"; signal: "elm,state,enabled"; source: "elm"; script { set_int(disabled, 0); if (get_int(selected) == 1){ set_state(PART:"clipper", "default", 0.0); set_state(PART:"tizen_vg_shape_clipper", "default", 0.0); set_state(PART:"elm.text", "default", 0.0); } else { set_state(PART:"elm.text", "default", 0.0); } } } } /***********************SPINNER BUTTONS STYLES******************************/ group { "elm/button/event/default"; inherit_only: 1; parts { rect { "event"; mouse; desc { "default"; color: 0 0 0 0; rel.to: "base"; } desc { "disabled"; inherit: "default"; hid; } } } programs { /* Program for pressed event */ program { "pressed"; signal: "mouse,down,1*"; source: "event"; action: SIGNAL_EMIT "elm,action,press" ""; after: "on_pressed"; } /* Program for unpressed event */ program { "unpressed"; signal: "mouse,up,1*"; source: "event"; action: SIGNAL_EMIT "elm,action,unpress" ""; after: "on_unpressed"; } /* Program for clicked event */ program { "clicked"; signal: "mouse,clicked,1"; source: "event"; action: SIGNAL_EMIT "elm,action,click" ""; after: "on_clicked"; } /* Program for enabled event */ program { "enabled"; signal: "elm,state,enabled"; source: "elm"; action: STATE_SET "default"; target: "event"; after: "on_enabled"; } /* Program for disabled event */ program { "disabled"; signal: "elm,state,disabled"; source: "elm"; action: STATE_SET "disabled"; target: "event"; after: "on_disabled"; } program { "enable_event_pass"; signal: "elm,event,pass,enabled"; source: "elm"; script { set_mouse_events(PART:"event", 0); } } program { "disable_event_pass"; signal: "elm,event,pass,disabled"; source:"elm"; script { set_mouse_events(PART:"event", 1); } } program { "enable_event_repeat"; signal: "elm,event,repeat,enabled"; source: "elm"; script { set_repeat_events(PART:"event", 1); } } program { "disable_event_repeat"; signal: "elm,event,repeat,disabled"; source:"elm"; script { set_repeat_events(PART:"event", 0); } } } } group { "elm/button/base/naviframe/back_btn/default"; alias: "elm/button/base/tizen_view/prev_btn"; alias: "elm/button/base/naviframe/end_btn/default"; images { vector: "core_press_top_left.svg"; vector: "core_press_top_right.svg"; vector: "core_press_bottom_left.svg"; vector: "core_press_bottom_right.svg"; vector: "core_press_center.svg"; } target_group: "bg_effect_vector" "bg_effect_top_left" "bg_effect_top_right" "bg_effect_bottom_left" "bg_effect_bottom_right"; images { set { name: "core_icon_back"; image { image: "core_icon_back.png" COMP; } } } parts { spacer { "base"; scale; nomouse; desc { "default"; min: BUTTON_NAVIFRAME_BACK_BUTTON_SIZE_INC; max: BUTTON_NAVIFRAME_BACK_BUTTON_SIZE_INC; fixed: 1 1; } } spacer { "bg_spacer"; scale; desc { "default"; fixed: 1 1; rel1.relative: 0.5 0.5; rel2.relative: 0.5 0.5; min: BUTTON_NAVIFRAME_BACK_BUTTON_EFFECT_MAX_SIZE_INC; max: BUTTON_NAVIFRAME_BACK_BUTTON_EFFECT_MAX_SIZE_INC; } } BUTTON_VECTOR_PART(BUTTON_NAVIFRAME_BACK_CORNER_RADIUS , 0.7 , "bg", "clipper_bg" , "core_press_top_left.svg", "core_press_top_right.svg" , "core_press_center.svg" , "core_press_bottom_left.svg", "core_press_bottom_right.svg"); swallow { "bg"; scale; nomouse; clip: "clipper_bg"; desc { "default"; rel.to: "bg_spacer"; } } rect { "clipper_bg"; scale; desc { "default"; color_class: "button/naviframe/back_btn/bg"; } desc { "pressed"; color_class: "button/naviframe/back_btn/bg_pressed"; } desc { "disabled"; color_class: "button/naviframe/back_btn/bg_disabled"; } } spacer { "effect_spacer"; scale; desc { "default"; rel.to: "bg"; } } BUTTON_VECTOR_PART(BUTTON_NAVIFRAME_BACK_CORNER_RADIUS , 0.7 , "bg_effect", "clipper_bg_effect" , "core_press_top_left.svg", "core_press_top_right.svg" , "core_press_center.svg" , "core_press_bottom_left.svg", "core_press_bottom_right.svg"); //Effect Shape Part swallow { "bg_effect"; clip: "clipper_bg_effect"; scale; desc { "default"; fixed: 1 1; rel1.to: "effect_spacer"; rel2.to: "effect_spacer"; rel1.relative: 0.5 0.5; rel2.relative: 0.5 0.5; } desc { "ready"; inherit: "default"; } desc { "pressed"; inherit: "default"; rel1.relative: 0.0 0.0; rel2.relative: 1.0 1.0; } } rect { "clipper_bg_effect"; desc { "default"; fixed: 1 1; rel.to: "bg_effect"; color: 0 0 0 0; color_class: "button/naviframe/back_btn/effect"; hid; } desc { "ready"; inherit: "default"; vis; } desc { "pressed"; inherit: "ready"; color: 255 255 255 255; } } image { "icon"; scale; nomouse; clip: "clipper_icon"; desc { "default"; min: BUTTON_NAVIFRAME_BACK_BUTTON_SIZE_INC; max: BUTTON_NAVIFRAME_BACK_BUTTON_SIZE_INC; fixed: 1 1; image.normal: "core_icon_back"; } desc { "rtl"; inherit: "default"; map.on: 1; map.rotation.y: 180.0; } } rect { "clipper_icon"; scale; desc { "default"; color_class: "button/naviframe/back_btn/icon"; } desc { "pressed"; color_class: "button/naviframe/back_btn/icon_pressed"; } desc { "disabled"; color_class: "button/naviframe/back_btn/icon_disabled"; } } } inherit: "elm/button/event/default"; script { public mouse_down = 0; public multi_down = 0; public animate = 0; public disabled = 0; public minw = 0; public minh = 0; public get_effect_min_size(base_effect, Float:ratio, min_w, min_h) { new x, y, w, h; get_geometry(base_effect, x, y, w, h); if (w > h) { set_float(min_w, (w - h * (1 - ratio)) / w); set_float(min_h, ratio); } else { set_float(min_w, ratio); set_float(min_h, (h - w * (1 - ratio)) / h); } } BUTTON_VECTOR_PART_MIRRORED_VALUE } program_remove: "unpressed"; program_remove: "clicked"; programs { program { "on_pressed"; script { if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0) && (get_int(disabled) == 0)) { new Float:rel_w, Float:rel_h; stop_program(PROGRAM:"delay_unpressed_effect"); set_int(mouse_down, 1); set_int(animate, 1); custom_state(PART:"bg_effect", "ready", 0.0); get_effect_min_size(PART:"effect_spacer", 0.7, minw, minh); rel_w = (1 - get_float(minw)) / 2; rel_h = (1 - get_float(minh)) / 2; set_state_val(PART:"bg_effect", STATE_REL1, rel_w, rel_h); set_state_val(PART:"bg_effect", STATE_REL2, 1 - rel_w, 1 - rel_h); run_program(PROGRAM:"pressed_effect"); } } } program { "unpressed"; signal: "mouse,up,1"; source: "event"; script { if (get_int(mouse_down) == 1) { set_int(mouse_down, 0); if (get_int(disabled) == 0) { if (get_int(animate) == 0) { run_program(PROGRAM:"unpressed_effect"); } else { set_state(PART:"bg_effect", "pressed", 0.0); set_state(PART:"clipper_bg_effect", "pressed", 0.0); set_int(animate, 0); run_program(PROGRAM:"delay_unpressed_effect"); } emit("elm,action,unpress", ""); } } } } program { "clicked"; signal: "mouse,clicked,1"; source: "event"; script { if ((get_int(multi_down) == 0) && (get_int(disabled) == 0)) { run_program(PROGRAM:"play_sound"); run_program(PROGRAM:"clicked_signal"); } } } program { "on_enabled"; script { set_int(disabled, 0); set_state(PART:"clipper_bg", "default", 0.0); set_state(PART:"clipper_icon", "default", 0.0); } } program { "on_disabled"; script { set_int(disabled, 1); if (get_int(animate) == 1) return; set_state(PART:"clipper_bg", "disabled", 0.0); set_state(PART:"clipper_icon", "disabled", 0.0); } } program { "pressed_effect"; script { if(get_int(rtl_mode) == 0) { BUTTON_VECTOR_PART_MIRRORED_SET_STATE("bg_effect","","default") BUTTON_VECTOR_PART_MIRRORED_SET_STATE("bg_effect","_rtl","hidden") } else if(get_int(rtl_mode) == 1) { BUTTON_VECTOR_PART_MIRRORED_SET_STATE("bg_effect","_rtl","default") BUTTON_VECTOR_PART_MIRRORED_SET_STATE("bg_effect","","hidden") } set_state(PART:"clipper_bg_effect", "ready", 0.0); set_state(PART:"bg_effect", "custom", 0.0); run_program(PROGRAM:"pressed_effect2"); } } program { "pressed_effect2"; script { if(get_int(rtl_mode) == 0) { BUTTON_VECTOR_PART_MIRRORED_SET_STATE("bg_effect","","pressed") } else if(get_int(rtl_mode) == 1) { BUTTON_VECTOR_PART_MIRRORED_SET_STATE("bg_effect","_rtl","pressed") } run_program(PROGRAM:"pressed_effect2_1"); } } program { "pressed_effect2_1"; action: STATE_SET "pressed"; target: "clipper_bg_effect"; target: "bg_effect"; target: "clipper_icon"; transition: GLIDE_EASE_OUT(0.15); after: "pressed_effect3"; } program { "pressed_effect3"; script { set_state(PART:"clipper_bg", "pressed", 0.0); set_int(animate, 0); } } program { "delay_unpressed_effect"; in: 0.1 0.0; after: "unpressed_effect"; } program { "unpressed_effect"; script { run_program(PROGRAM:"unpressed_effect2"); run_program(PROGRAM:"unpressed_effect2_1"); } } program { "unpressed_effect2"; action: STATE_SET "ready"; target: "clipper_bg_effect"; transition: GLIDE_EASE_OUT(0.45); after: "unpressed_effect3"; } program { "unpressed_effect2_1"; action: STATE_SET "default"; target: "clipper_icon"; transition: GLIDE_EASE_OUT(0.45); } program { "unpressed_effect3"; script { if(get_int(rtl_mode) == 0) { BUTTON_VECTOR_PART_MIRRORED_SET_STATE("bg_effect","","default") } else if(get_int(rtl_mode) == 1) { BUTTON_VECTOR_PART_MIRRORED_SET_STATE("bg_effect","_rtl","default") } set_state(PART:"clipper_bg_effect", "default", 0.0); set_state(PART:"clipper_bg", "default", 0.0); set_state(PART:"bg_effect", "default", 0.0); } } program { "play_sound"; action: RUN_PLUGIN "touch_sound"; } program { "clicked_signal"; in: 0.001 0.0; action: SIGNAL_EMIT "elm,action,click" ""; } program { "multi_down"; signal: "elm,action,multi,down"; source: "elm"; script { set_int(multi_down, 1); } } program { "multi_up"; signal: "elm,action,multi,up"; source: "elm"; script { set_int(multi_down, 0); } } BUTTON_VECTOR_PART_MIRRORED_PROGRAM("icon") } }