styles { style { name, "text_style_36_unfocused"; base, "font=TizenSans:style=Bold font_size=36 color=#ffffff align=left"; } style { name, "text_style_36_focused"; base, "font=TizenSans:style=Bold font_size=36 color=#ffffff align=left"; } } group { name, "elm/label/base/slide_style_36"; script { public g_duration = 0, g_stopslide, g_timer_id, g_anim_id; public message(Msg_Type:type, id, ...) { if (type == MSG_FLOAT_SET) { new Float:duration; duration = getfarg(2); set_float(g_duration, duration); } } public slide_to_end_anim(val, Float:pos) { new stopflag; new id; stopflag = get_int(g_stopslide); if (stopflag == 1) return; set_tween_state(PART:"elm.text", pos, "slide_begin", 0.0, "slide_end", 0.0); if (pos >= 1.0) { id = timer(0.5, "slide_to_begin", 1); set_int(g_timer_id, id); } } public slide_to_end() { new stopflag; new id; new Float:duration; stopflag = get_int(g_stopslide); if (stopflag == 1) return; duration = get_float(g_duration); id = anim(duration, "slide_to_end_anim", 1); set_int(g_anim_id, id); } public slide_to_begin() { new stopflag; new id; stopflag = get_int(g_stopslide); if (stopflag == 1) return; set_state(PART:"elm.text", "slide_begin", 0.0); id = timer(0.5, "slide_to_end", 1); set_int(g_timer_id, id); } public start_slide() { set_int(g_stopslide, 0); set_state(PART:"elm.text", "slide_begin", 0.0); slide_to_end(); } public stop_slide() { new id; set_int(g_stopslide, 1); id = get_int(g_anim_id); cancel_anim(id); id = get_int(g_timer_id); cancel_timer(id); set_state(PART:"elm.text", "default", 0.0); } } parts { part { name, "label.text.clip"; type, RECT; description { state, "default" 0.0; } } part { name, "elm.text"; type, TEXTBLOCK; scale, 1; clip_to, "label.text.clip"; description { state, "default" 0.0; rel1.relative, 0.0 0.0; rel2.relative, 1.0 1.0; align, 0.0 0.5; text { style, "text_style_36_unfocused"; min, 0 1; align, 0.0 0.0; } } description { state, "slide_end" 0.0; inherit, "default" 0.0; rel1.relative, 1.0 0.0; rel2.relative, 1.0 1.0; align, 1.0 0.5; text { style, "text_style_36_focused"; min, 1 1; ellipsis: -1; align, 0.0 0.0; } } description { state, "slide_begin" 0.0; inherit, "default" 0.0; rel1.relative, 0.0 0.0; rel2.relative, 0.0 1.0; align, 0.0 0.5; text { style, "text_style_36_focused"; min, 1 1; ellipsis: -1; align, 0.0 0.0; } } } } programs { program { name, "start_slide"; signal, "elm,state,slide,start"; source, "elm"; script { start_slide(); } } program { name, "stop_slide"; signal, "elm,state,slide,stop"; source, "elm"; script { stop_slide(); } } } }