else
h = ec->moveinfo.down.h + (ec->mouse.current.my - ec->moveinfo.down.my);
}
-
tw = ec->w;
th = ec->h;
- if ((ec->resize_mode == E_POINTER_RESIZE_TL) ||
+ if ((ec->resize_mode == E_POINTER_RESIZE_T) ||
+ (ec->resize_mode == E_POINTER_RESIZE_TL) ||
(ec->resize_mode == E_POINTER_RESIZE_L) ||
(ec->resize_mode == E_POINTER_RESIZE_BL))
x += (tw - w);
- if ((ec->resize_mode == E_POINTER_RESIZE_TL) ||
+ if ((ec->resize_mode == E_POINTER_RESIZE_L) ||
+ (ec->resize_mode == E_POINTER_RESIZE_TL) ||
(ec->resize_mode == E_POINTER_RESIZE_T) ||
(ec->resize_mode == E_POINTER_RESIZE_TR))
y += (th - h);
}
}
e_client_resize_limit(ec, &new_w, &new_h);
- if ((ec->resize_mode == E_POINTER_RESIZE_TL) ||
+
+ if (ec->manage_resize.enable_aspect_ratio)
+ {
+ if ((ec->resize_mode == E_POINTER_RESIZE_TL) ||
+ (ec->resize_mode == E_POINTER_RESIZE_L) ||
+ (ec->resize_mode == E_POINTER_RESIZE_BL) ||
+ (ec->resize_mode == E_POINTER_RESIZE_TR) ||
+ (ec->resize_mode == E_POINTER_RESIZE_R) ||
+ (ec->resize_mode == E_POINTER_RESIZE_BR))
+ {
+ new_h = (int) ec->manage_resize.ah / ec->manage_resize.aw * new_w;
+ }
+ else if ((ec->resize_mode == E_POINTER_RESIZE_T) ||
+ (ec->resize_mode == E_POINTER_RESIZE_B))
+ {
+ new_w = (int) ec->manage_resize.aw / ec->manage_resize.ah * new_h;
+ }
+ }
+
+ if ((ec->resize_mode == E_POINTER_RESIZE_T) ||
+ (ec->resize_mode == E_POINTER_RESIZE_TL) ||
(ec->resize_mode == E_POINTER_RESIZE_L) ||
(ec->resize_mode == E_POINTER_RESIZE_BL))
new_x += (w - new_w);
- if ((ec->resize_mode == E_POINTER_RESIZE_TL) ||
+ if ((ec->resize_mode == E_POINTER_RESIZE_L) ||
+ (ec->resize_mode == E_POINTER_RESIZE_TL) ||
(ec->resize_mode == E_POINTER_RESIZE_T) ||
(ec->resize_mode == E_POINTER_RESIZE_TR))
new_y += (h - new_h);
ec->manage_resize.resize_obj = NULL;
ec->manage_resize.x = ec->manage_resize.y = ec->manage_resize.w = ec->manage_resize.h = 0;
+ ec->manage_resize.enable_aspect_ratio = EINA_FALSE;
+ ec->manage_resize.aw = ec->manage_resize.ah = 0;
return ec;
}