efl/data/elementary/themes/edc/efl/scroller.edc

847 lines
26 KiB
Plaintext

/**
Group: efl/scroller (@since 1.23)
Part Rectangle: efl.draggable.horizontal_bar (required)
Part Rectangle: efl.draggable.vertical_bar (required)
Part Swallow: efl.background (required)
Part Swallow: efl.content (required)
Part Swallow: efl.overlay (required)
Signal: efl,action,scroll
Signal: efl,horizontal_bar,visible,off
Signal: efl,horizontal_bar,visible,on
Signal: efl,vertical_bar,visible,off
Signal: efl,vertical_bar,visible,on
Group: efl/scroller:noclip (@since 1.23)
Part Rectangle: efl.draggable.horizontal_bar (required)
Part Rectangle: efl.draggable.vertical_bar (required)
Part Swallow: efl.background (required)
Part Swallow: efl.content (required)
Part Swallow: efl.overlay (required)
Signal: efl,action,scroll
Signal: efl,horizontal_bar,visible,off
Signal: efl,horizontal_bar,visible,on
Signal: efl,vertical_bar,visible,off
Signal: efl,vertical_bar,visible,on
Group: efl/scroller:popup/no_inset_shadow (@since 1.23)
Part Rectangle: efl.draggable.horizontal_bar (required)
Part Rectangle: efl.draggable.vertical_bar (required)
Part Swallow: efl.background (required)
Part Swallow: efl.content (required)
Part Swallow: efl.overlay (required)
Signal: efl,action,scroll
Signal: efl,horizontal_bar,visible,off
Signal: efl,horizontal_bar,visible,on
Signal: efl,vertical_bar,visible,off
Signal: efl,vertical_bar,visible,on
*/
group { name: "efl/scroller";
data.item: "version" "123";
images.image: "shadow_circle_horiz.png" COMP;
images.image: "shadow_circle_vert.png" COMP;
data.item: "focus_highlight" "on";
parts {
program { signal: "load"; source: "";
script {
emit("reload", "efl");
}
}
//////////////////////////////////////////////////////////////////////
part { name: "bg"; type: RECT;
description { state: "default" 0.0;
rel.to: "efl.background";
color: 0 0 0 0;
color_class: "scroller_bg";
}
}
part { name: "clipper"; type: RECT;
description { state: "default" 0.0;
rel.to: "efl.background";
}
}
part { name: "efl.background"; type: SWALLOW;
// scale: 1;
clip_to: "clipper";
description { state: "default" 0.0;
// rel1.offset: 2 2;
// rel2.offset: -3 -3;
// offscale;
}
}
part { name: "efl.content"; type: SWALLOW;
clip_to: "clipper";
description { state: "default" 0.0;
rel.to: "efl.background";
}
}
part { name: "efl.overlay"; type: SWALLOW;
clip_to: "clipper";
description { state: "default" 0.0;
rel.to: "efl.content";
}
}
part { name: "sh_top"; mouse_events: 0;
scale: 1;
clip_to: "sh_clip";
description { state: "default" 0.0;
color: 255 255 255 0;
rel.to: "efl.content";
rel1.offset: 0 -1;
rel2.offset: -1 -1;
rel2.relative: 1.0 0.0;
image.normal: "shadow_circle_horiz.png";
visible: 0;
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 128;
rel1.offset: 0 -16;
rel2.offset: -1 15;
visible: 1;
}
}
program { signal: "efl,action,show,up"; source: "efl";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.3;
target: "sh_top";
}
program { signal: "efl,action,hide,up"; source: "efl";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.3;
target: "sh_top";
}
part { name: "sh_bottom"; mouse_events: 0;
scale: 1;
clip_to: "sh_clip";
description { state: "default" 0.0;
color: 255 255 255 0;
rel.to: "efl.content";
rel1.relative: 0.0 1.0;
rel1.offset: 0 0;
rel2.offset: -1 0;
image.normal: "shadow_circle_horiz.png";
visible: 0;
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 128;
rel1.offset: 0 -16;
rel2.offset: -1 15;
visible: 1;
}
}
program { signal: "efl,action,show,down"; source: "efl";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.3;
target: "sh_bottom";
}
program { signal: "efl,action,hide,down"; source: "efl";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.3;
target: "sh_bottom";
}
part { name: "sh_left"; mouse_events: 0;
scale: 1;
clip_to: "sh_clip";
description { state: "default" 0.0;
color: 255 255 255 0;
rel.to: "efl.content";
rel1.offset: -1 0;
rel2.offset: -1 -1;
rel2.relative: 0.0 1.0;
image.normal: "shadow_circle_vert.png";
visible: 0;
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 128;
rel1.offset: -16 0;
rel2.offset: 15 -1;
visible: 1;
}
}
program { signal: "efl,action,show,left"; source: "efl";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.3;
target: "sh_left";
}
program { signal: "efl,action,hide,left"; source: "efl";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.3;
target: "sh_left";
}
part { name: "sh_right"; mouse_events: 0;
scale: 1;
clip_to: "sh_clip";
description { state: "default" 0.0;
color: 255 255 255 0;
rel.to: "efl.content";
rel1.relative: 1.0 0.0;
rel1.offset: 0 0;
rel2.offset: 0 -1;
image.normal: "shadow_circle_vert.png";
visible: 0;
offscale;
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
color: 255 255 255 128;
rel1.offset: -16 0;
rel2.offset: 15 -1;
visible: 1;
}
}
program { signal: "efl,action,show,right"; source: "efl";
action: STATE_SET "visible" 0.0;
transition: DECELERATE 0.3;
target: "sh_right";
}
program { signal: "efl,action,hide,right"; source: "efl";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.3;
target: "sh_right";
}
part { name: "sh_clip"; type: RECT;
description { state: "default" 0.0;
rel.to: "efl.background";
}
}
//////////////////////////////////////////////////////////////////////
// vert bar ////////////////////////////////////////////////////////////////
part { name: "sb_vbar_show"; type: RECT;
description { state: "default" 0.0;
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "sb_vbar"; type: RECT;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
min: 15 1;
align: 1.0 0.0;
rel1.relative: 1.0 0.0;
rel1.offset: -1 0;
rel2.relative: 1.0 0.0;
rel2.to_y: "sb_hbar";
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
min: 0 0;
max: 0 999999;
}
}
part { name: "sb_vbar_p1"; type: RECT;
clip_to: "sb_vbar";
description { state: "default" 0.0;
color: 0 0 0 0;
rel1.to: "sb_vbar";
rel2.relative: 1.0 0.0;
rel2.to: "efl.draggable.vertical_bar";
fixed: 1 1;
}
}
part { name: "sb_vbar_p2"; type: RECT;
clip_to: "sb_vbar";
description { state: "default" 0.0;
color: 0 0 0 0;
rel1.relative: 0.0 1.0;
rel1.to: "efl.draggable.vertical_bar";
rel2.to: "sb_vbar";
fixed: 1 1;
}
}
part { name: "efl.draggable.vertical_bar"; type: RECT;
clip_to: "sb_vbar";
scale: 1;
dragable.x: 0 0 0;
dragable.y: 1 1 0;
dragable.confine: "sb_vbar";
description { state: "default" 0.0;
fixed: 1 1;
min: 15 15;
rel1.relative: 0.5 0.5;
rel1.to: "sb_vbar";
rel2.relative: 0.5 0.5;
rel2.to: "sb_vbar";
color: 0 0 0 0;
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
min: 0 0;
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
}
}
part { name: "sb_vbar_over"; type: RECT;
repeat_events: 1;
scale: 1;
description { state: "default" 0.0;
color: 0 0 0 0;
rel1.to: "sb_vbar";
rel1.offset: -45 0;
rel2.to: "sb_vbar";
fixed: 1 1;
offscale;
}
}
program { signal: "mouse,in"; source: "sb_vbar_over";
action: STATE_SET "over" 0.0;
transition: DECELERATE 0.2;
target: "base_vbar";
}
program { signal: "mouse,out"; source: "sb_vbar_over";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.2;
target: "base_vbar";
}
part { name: "y_vbar_up_mapper"; type: SPACER;
scale: 1;
repeat_events: 1;
description { state: "default" 0.0;
min: 4 2;
max: 4 2;
fixed: 1 1;
align: 0.0 0.0;
rel1.to: "sb_vbar";
rel2.to: "sb_vbar";
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
min: 0 0;
max: 0 0;
}
}
part { name: "y_vbar_up"; type: SPACER;
scale: 1;
repeat_events: 1;
description { state: "default" 0.0;
min: 4 2;
max: 4 2;
fixed: 1 1;
align: 0.0 0.0;
rel1.to: "efl.draggable.vertical_bar";
rel2.to: "efl.draggable.vertical_bar";
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
min: 0 0;
max: 0 0;
}
}
part { name: "y_vbar_down_mapper"; type: SPACER;
scale: 1;
repeat_events: 1;
description { state: "default" 0.0;
min: 4 2;
max: 4 2;
fixed: 1 1;
align: 0.0 1.0;
rel1.to: "sb_vbar";
rel2.to: "sb_vbar";
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
min: 0 0;
max: 0 0;
}
}
part { name: "y_vbar_down"; type: SPACER;
scale: 1;
repeat_events: 1;
description { state: "default" 0.0;
min: 4 2;
max: 4 2;
fixed: 1 1;
align: 0.0 1.0;
rel1.to: "efl.draggable.vertical_bar";
rel2.to: "efl.draggable.vertical_bar";
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
min: 0 0;
max: 0 0;
}
}
program { signal: "efl,vertical_bar,visible,on"; source: "efl";
action: STATE_SET "default" 0.0;
target: "sb_vbar";
target: "sb_vbar_show";
target: "efl.draggable.vertical_bar";
target: "y_vbar_up_mapper";
target: "y_vbar_up";
target: "y_vbar_down_mapper";
target: "y_vbar_down";
}
program { signal: "efl,vertical_bar,visible,off"; source: "efl";
action: STATE_SET "hidden" 0.0;
target: "sb_vbar";
target: "sb_vbar_show";
target: "efl.draggable.vertical_bar";
target: "y_vbar_up_mapper";
target: "y_vbar_up";
target: "y_vbar_down_mapper";
target: "y_vbar_down";
}
program { signal: "mouse,down,1*"; source: "sb_vbar_p1";
action: DRAG_VAL_PAGE 0.0 -1.0;
target: "efl.draggable.vertical_bar";
}
program { signal: "mouse,down,1*"; source: "sb_vbar_p2";
action: DRAG_VAL_PAGE 0.0 1.0;
target: "efl.draggable.vertical_bar";
}
// program { signal: "efl,action,show,up"; source: "efl";
// }
// program { signal: "efl,action,show,down"; source: "efl";
// }
// program { signal: "efl,action,hide,up"; source: "efl";
// }
// program { signal: "efl,action,hide,down"; source: "efl";
// }
// program { signal: "efl,action,scroll"; source: "efl";
// }
// program { signal: "efl,loop_y,set"; source: "efl";
// }
// program { signal: "efl,loop_y,unset"; source: "efl";
// }
// horiz bar /////////////////////////////////////////////////////////////
part { name: "sb_hbar_show"; type: RECT;
description { state: "default" 0.0;
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
visible: 0;
}
}
part { name: "sb_hbar"; type: RECT; mouse_events: 0;
scale: 1;
description { state: "default" 0.0;
fixed: 1 1;
min: 1 15;
align: 0.0 1.0;
rel1.relative: 0.0 1.0;
rel1.offset: 0 -1;
rel2.relative: 0.0 1.0;
rel2.to_x: "sb_vbar";
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
min: 0 0;
max: 999999 0;
}
}
part { name: "sb_hbar_p1"; type: RECT;
clip_to: "sb_hbar";
description { state: "default" 0.0;
color: 0 0 0 0;
rel1.to: "sb_hbar";
rel2.relative: 0.0 1.0;
rel2.to: "efl.draggable.horizontal_bar";
fixed: 1 1;
}
}
part { name: "sb_hbar_p2"; type: RECT;
clip_to: "sb_hbar";
description { state: "default" 0.0;
color: 0 0 0 0;
rel1.relative: 1.0 0.0;
rel1.to: "efl.draggable.horizontal_bar";
rel2.to: "sb_hbar";
fixed: 1 1;
}
}
part { name: "efl.draggable.horizontal_bar"; type: RECT;
scale: 1;
clip_to: "sb_hbar";
dragable.x: 1 1 0;
dragable.y: 0 0 0;
dragable.confine: "sb_hbar";
description { state: "default" 0.0;
fixed: 1 1;
min: 15 15;
rel1.relative: 0.5 0.5;
rel1.to: "sb_hbar";
rel2.relative: 0.5 0.5;
rel2.to: "sb_hbar";
color: 0 0 0 0;
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
min: 0 0;
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
}
}
part { name: "sb_hbar_over"; type: RECT;
repeat_events: 1;
scale: 1;
description { state: "default" 0.0;
color: 0 0 0 0;
rel1.to: "sb_hbar";
rel1.offset: 0 -45;
rel2.to: "sb_hbar";
fixed: 1 1;
offscale;
}
}
program { signal: "mouse,in"; source: "sb_hbar_over";
action: STATE_SET "over" 0.0;
transition: DECELERATE 0.2;
target: "base_hbar";
}
program { signal: "mouse,out"; source: "sb_hbar_over";
action: STATE_SET "default" 0.0;
transition: DECELERATE 0.2;
target: "base_hbar";
}
part { name: "x_hbar_left_mapper"; type: SPACER;
scale: 1;
repeat_events: 1;
description { state: "default" 0.0;
min: 2 4;
max: 2 4;
fixed: 1 1;
align: 0.0 1.0;
rel1.to: "sb_hbar";
rel2.to: "sb_hbar";
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
min: 0 0;
max: 0 0;
}
}
part { name: "x_hbar_left"; type: SPACER;
scale: 1;
repeat_events: 1;
description { state: "default" 0.0;
min: 2 4;
max: 2 4;
fixed: 1 1;
align: 0.0 1.0;
rel1.to: "efl.draggable.horizontal_bar";
rel2.to: "efl.draggable.horizontal_bar";
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
min: 0 0;
max: 0 0;
}
}
part { name: "x_hbar_right_mapper"; type: SPACER;
scale: 1;
repeat_events: 1;
description { state: "default" 0.0;
min: 2 4;
max: 2 4;
fixed: 1 1;
align: 1.0 1.0;
rel1.to: "sb_hbar";
rel2.to: "sb_hbar";
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
min: 0 0;
max: 0 0;
}
}
part { name: "x_hbar_right"; type: SPACER;
scale: 1;
repeat_events: 1;
description { state: "default" 0.0;
min: 2 4;
max: 2 4;
fixed: 1 1;
align: 1.0 1.0;
rel1.to: "efl.draggable.horizontal_bar";
rel2.to: "efl.draggable.horizontal_bar";
}
description { state: "hidden" 0.0;
inherit: "default" 0.0;
min: 0 0;
max: 0 0;
}
}
program { signal: "efl,horizontal_bar,visible,on"; source: "efl";
action: STATE_SET "default" 0.0;
target: "sb_hbar";
target: "sb_hbar_show";
target: "efl.draggable.horizontal_bar";
target: "x_hbar_left_mapper";
target: "x_hbar_left";
target: "x_hbar_right_mapper";
target: "x_hbar_right";
}
program { signal: "efl,horizontal_bar,visible,off"; source: "efl";
action: STATE_SET "hidden" 0.0;
target: "sb_hbar";
target: "sb_hbar_show";
target: "efl.draggable.horizontal_bar";
target: "x_hbar_left_mapper";
target: "x_hbar_left";
target: "x_hbar_right_mapper";
target: "x_hbar_right";
}
program { signal: "mouse,down,1*"; source: "sb_hbar_p1";
action: DRAG_VAL_PAGE -1.0 0.0;
target: "efl.draggable.horizontal_bar";
}
program { signal: "mouse,down,1*"; source: "sb_hbar_p2";
action: DRAG_VAL_PAGE 1.0 0.0;
target: "efl.draggable.horizontal_bar";
}
// program { signal: "efl,action,show,left"; source: "efl";
// }
// program { signal: "efl,action,show,right"; source: "efl";
// }
// program { signal: "efl,action,hide,left"; source: "efl";
// }
// program { signal: "efl,action,hide,right"; source: "efl";
// }
// program { signal: "efl,action,scroll"; source: "efl";
// }
// program { signal: "efl,loop_x,set"; source: "efl";
// }
// program { signal: "efl,loop_x,unset"; source: "efl";
// }
//////////////////////////////////////////////////////////////////////
part { name: "color_vbar"; type: RECT; mouse_events: 0;
clip_to: "sb_vbar_show";
description { state: "default" 0.0;
fixed: 1 1;
color: 51 153 255 255;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color: 80 80 80 255;
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part { name: "base_vbar"; type: RECT; mouse_events: 0;
scale: 1;
clip_to: "color_vbar";
description { state: "default" 0.0;
fixed: 1 1;
rel.to: "efl.draggable.vertical_bar";
min: 5 15;
max: 5 999999;
align: 1.0 0.5;
}
description { state: "over" 0.0;
inherit: "default" 0.0;
min: 15 15;
max: 15 999999;
}
}
//////////////////////////////////////////////////////////////////////
part { name: "color_hbar"; type: RECT; mouse_events: 0;
clip_to: "sb_hbar_show";
description { state: "default" 0.0;
fixed: 1 1;
color: 51 153 255 255;
}
description { state: "disabled" 0.0;
inherit: "default" 0.0;
color: 80 80 80 255;
}
description { state: "clicked" 0.0;
inherit: "default" 0.0;
color: 255 255 255 255;
}
}
part { name: "base_hbar"; type: RECT; mouse_events: 0;
scale: 1;
clip_to: "color_hbar";
description { state: "default" 0.0;
fixed: 1 1;
rel.to: "efl.draggable.horizontal_bar";
min: 15 5;
max: 999999 5;
align: 0.5 1.0;
}
description { state: "over" 0.0;
inherit: "default" 0.0;
min: 15 15;
max: 999999 15;
}
}
//////////////////////////////////////////////////////////////////////
part { name: "dim_effect"; type: RECT; mouse_events: 0;
description { state: "default" 0.0;
color: 0 0 0 0;
}
description { state: "effect" 0.0;
color: 32 32 32 255;
}
}
}
programs {
program { signal: "efl,state,disabled"; source: "efl";
action: STATE_SET "disabled" 0.0;
target: "color_hbar";
target: "color_vbar";
}
program { signal: "efl,state,enabled"; source: "efl";
action: STATE_SET "default" 0.0;
target: "color_hbar";
target: "color_vbar";
}
program { signal: "mouse,down,1*"; source: "efl.draggable.vertical_bar";
action: STATE_SET "clicked" 0.0;
target: "efl.draggable.vertical_bar";
target: "color_vbar";
}
program { signal: "mouse,down,*"; source: "efl.draggable.vertical_bar";
action: SIGNAL_EMIT "efl,vertical_bar,press" "efl";
}
program { signal: "mouse,up,1"; source: "efl.draggable.vertical_bar";
action: STATE_SET "default" 0.0;
target: "efl.draggable.vertical_bar";
target: "color_vbar";
}
program { signal: "mouse,up,*"; source: "efl.draggable.vertical_bar";
action: SIGNAL_EMIT "efl,vertical_bar,unpress" "efl";
}
program { signal: "mouse,down,1*"; source: "efl.draggable.horizontal_bar";
action: STATE_SET "clicked" 0.0;
target: "efl.draggable.horizontal_bar";
target: "color_hbar";
}
program { signal: "mouse,down,*"; source: "efl.draggable.horizontal_bar";
action: SIGNAL_EMIT "efl,horizontal_bar,press" "efl";
}
program { signal: "mouse,up,1"; source: "efl.draggable.horizontal_bar";
action: STATE_SET "default" 0.0;
target: "efl.draggable.horizontal_bar";
target: "color_hbar";
}
program { signal: "mouse,up,*"; source: "efl.draggable.horizontal_bar";
action: SIGNAL_EMIT "efl,horizontal_bar,unpress" "efl";
}
program { signal: "efl,action,looping,left"; source: "efl";
action: STATE_SET "effect" 0.0;
transition: LINEAR 0.3;
target: "dim_effect";
after: "looping,left,done";
}
program { name: "looping,left,done";
action: SIGNAL_EMIT "efl,looping,left,done" "efl";
}
program { signal: "efl,action,looping,left,end"; source: "efl";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.3;
target: "dim_effect";
}
program { signal: "efl,action,looping,right"; source: "efl";
action: STATE_SET "effect" 0.0;
transition: LINEAR 0.3;
target: "dim_effect";
after: "looping,right,done";
}
program { name: "looping,right,done";
action: SIGNAL_EMIT "efl,looping,right,done" "efl";
}
program { signal: "efl,action,looping,right,end"; source: "efl";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.3;
target: "dim_effect";
}
program { signal: "efl,action,looping,up"; source: "efl";
action: STATE_SET "effect" 0.0;
transition: LINEAR 0.3;
target: "dim_effect";
after: "looping,up,done";
}
program { name: "looping,up,done";
action: SIGNAL_EMIT "efl,looping,up,done" "efl";
}
program { signal: "efl,action,looping,up,end"; source: "efl";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.3;
target: "dim_effect";
}
program { signal: "efl,action,looping,down"; source: "efl";
action: STATE_SET "effect" 0.0;
transition: LINEAR 0.3;
target: "dim_effect";
after: "looping,down,done";
}
program { name: "looping,down,done";
action: SIGNAL_EMIT "efl,looping,down,done" "efl";
}
program { signal: "efl,action,looping,down,end"; source: "efl";
action: STATE_SET "default" 0.0;
transition: LINEAR 0.3;
target: "dim_effect";
}
}
}
group { name: "efl/scroller:noclip";
inherit: "efl/scroller";
parts {
part { name: "clipper";
description { state: "default" 0.0;
rel1.offset: -999999 -999999;
rel2.offset: 999999 999999;
}
}
part { name: "efl.background";
description { state: "default" 0.0;
rel1.offset: 0 0;
rel2.offset: -1 -1;
}
}
part { name: "efl.content";
description { state: "default" 0.0;
rel1.offset: 0 1;
rel2.offset: -1 -1;
}
}
part { name: "sh_clip"; type: RECT;
description { state: "default" 0.0;
visible: 0;
}
}
}
}
group { name: "efl/scroller:popup/no_inset_shadow";
inherit: "efl/scroller";
parts {
part { name: "efl.content"; type: SWALLOW;
description { state: "default" 0.0;
rel1.offset: 0 0;
rel2.offset: 0 0;
}
}
}
}