Ephoto: More work on crop scale/aspect

This commit is contained in:
Stephen Houston 2015-02-20 19:22:43 -06:00
parent 7175e45d59
commit f670969435
2 changed files with 11 additions and 19 deletions

View File

@ -95,25 +95,17 @@ collections {
set_state_val(PART:"ephoto.swallow.cropper", STATE_REL2_OFFSET, ppox, ppoy);
}
if (movetype == 9) {
new ppox, ppoy;
new ppox, ppoy, oldw, oldh, scalew, scaleh;
get_state_val(PART:"ephoto.swallow.cropper", STATE_REL1_OFFSET, pox, poy);
get_state_val(PART:"ephoto.swallow.cropper", STATE_REL2_OFFSET, ppox, ppoy);
if (cx < ix) {
pox += ix-cx;
ppox += ix-cx;
}
if (cx+cw > ix+iw) {
pox += (ix+iw)-(cx+cw);
ppox += (ix+iw)-(cx+cw);
}
if (cy < iy) {
poy += iy-cy;
ppoy += iy-cy;
}
if (cy+ch > iy+ih) {
poy += (iy+ih)-(cy+ch);
ppoy += (iy+ih)-(cy+ch);
}
oldw = cw + cox;
oldh = ch + coy;
scalew = oldw/cw;
scaleh = oldh/ch;
pox *= scalew;
ppox *= scalew;
poy *= scaleh;
ppoy *= scaleh;
set_state_val(PART:"ephoto.swallow.cropper", STATE_REL1_OFFSET, pox, poy);
set_state_val(PART:"ephoto.swallow.cropper", STATE_REL2_OFFSET, ppox, ppoy);
}

View File

@ -464,8 +464,8 @@ _mouse_wheel(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void
Evas_Event_Mouse_Wheel *ev = event_info;
if (!evas_key_modifier_is_set(ev->modifiers, "Control")) return;
if (ev->z > 0) _zoom_in(sb);
else _zoom_out(sb);
if (ev->z > 0) _zoom_out(sb);
else _zoom_in(sb);
}
static Ephoto_Entry *