luncher: Update theme to ensure we're sending scale reset signls

This commit is contained in:
Andy Williams 2017-03-10 22:14:29 +00:00
parent 9d8bc92c4a
commit b7ea8fc01e
1 changed files with 7 additions and 10 deletions

View File

@ -46,7 +46,7 @@ group { name: "e/gadget/luncher/icon";
public current_size;
public Float:engage_scale(cursorpos, iconpos, size) {
new Float:zoom = 1.5;
new Float:scale = (zoom+0.25) - (abs(cursorpos-(iconpos+size/2)) / (size*2));
new Float:scale = (zoom+0.25) - (abs(cursorpos-(iconpos+size/3)) / (size*3));
if (scale < 1.0) scale = 1.0;
if (scale > zoom) scale = zoom;
@ -93,50 +93,47 @@ group { name: "e/gadget/luncher/icon";
}
}
else if (!strcmp(s, "engage")) {
set_state_anim(PART:"sizer", "default", 0.0, LINEAR, 1.0);
new Float:scale = 1.0;
if (pos == 0 && (xpos >= x) && (xpos <= (x+w))) {
new Float:scale = engage_scale(ypos, y, h);
scale = engage_scale(ypos, y, h);
new Float:halfscale = scale/2;
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, 0.0, 0.5-halfscale);
set_state_val(PART:"sizer", STATE_REL2, scale, 0.5+halfscale);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
send_message(MSG_STRING_FLOAT_SET, 1, "Scale", scale);
}
else if (pos == 1 && (ypos >= y) && (ypos <= (y+h))) {
new Float:scale = engage_scale(xpos, x, w);
scale = engage_scale(xpos, x, w);
new Float:halfscale = scale/2;
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, 0.5-halfscale, 0.0);
set_state_val(PART:"sizer", STATE_REL2, 0.5+halfscale, scale);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
send_message(MSG_STRING_FLOAT_SET, 1, "Scale", scale);
}
else if (pos == 2 && (xpos >= x) && (xpos <= (x+w))) {
new Float:scale = engage_scale(ypos, y, h);
scale = engage_scale(ypos, y, h);
new Float:halfscale = scale/2;
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, 1.0-scale, 0.5-halfscale);
set_state_val(PART:"sizer", STATE_REL2, 1.0, 0.5+halfscale);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
send_message(MSG_STRING_FLOAT_SET, 1, "Scale", scale);
}
else if (pos == 3 && (ypos >= y) && (ypos <= (y+h))) {
new Float:scale = engage_scale(xpos, x, w);
scale = engage_scale(xpos, x, w);
new Float:halfscale = scale/2;
custom_state(PART:"sizer", "default", 0.0);
set_state_val(PART:"sizer", STATE_REL1, 0.5-halfscale, 1.0-scale);
set_state_val(PART:"sizer", STATE_REL2, 0.5+halfscale, 1.0);
set_state_anim(PART:"sizer", "custom", 0.0, LINEAR, 1.0);
send_message(MSG_STRING_FLOAT_SET, 1, "Scale", scale);
}
else {
set_state_anim(PART:"sizer", "default", 0.0, LINEAR, 1.0);
}
send_message(MSG_STRING_FLOAT_SET, 1, "Scale", scale);
emit("e,state,resized", "e");
}
}