aewl
diff mouse.c @ 31:386649deb651
before leaning things up
author | Anselm R. Garbe <garbeam@wmii.de> |
---|---|
date | Thu, 13 Jul 2006 01:04:38 +0200 |
parents | e8f627998d6f |
children | fc9ccd34b8ab |
line diff
1.1 --- a/mouse.c Wed Jul 12 17:50:31 2006 +0200 1.2 +++ b/mouse.c Thu Jul 13 01:04:38 2006 +0200 1.3 @@ -13,27 +13,6 @@ 1.4 #define ButtonMask (ButtonPressMask | ButtonReleaseMask) 1.5 #define MouseMask (ButtonMask | PointerMotionMask) 1.6 1.7 -static void 1.8 -mmatch(Client *c, int x1, int y1, int x2, int y2) 1.9 -{ 1.10 - c->w = abs(x1 - x2); 1.11 - c->h = abs(y1 - y2); 1.12 - if(c->incw) 1.13 - c->w -= (c->w - c->basew) % c->incw; 1.14 - if(c->inch) 1.15 - c->h -= (c->h - c->baseh) % c->inch; 1.16 - if(c->minw && c->w < c->minw) 1.17 - c->w = c->minw; 1.18 - if(c->minh && c->h < c->minh) 1.19 - c->h = c->minh; 1.20 - if(c->maxw && c->w > c->maxw) 1.21 - c->w = c->maxw; 1.22 - if(c->maxh && c->h > c->maxh) 1.23 - c->h = c->maxh; 1.24 - c->x = (x1 <= x2) ? x1 : x1 - c->w; 1.25 - c->y = (y1 <= y2) ? y1 : y1 - c->h; 1.26 -} 1.27 - 1.28 void 1.29 mresize(Client *c) 1.30 { 1.31 @@ -55,11 +34,13 @@ 1.32 break; 1.33 case MotionNotify: 1.34 XFlush(dpy); 1.35 - mmatch(c, old_cx, old_cy, ev.xmotion.x, ev.xmotion.y); 1.36 - XResizeWindow(dpy, c->win, c->w, c->h); 1.37 + c->w = abs(old_cx - ev.xmotion.x); 1.38 + c->h = abs(old_cy - ev.xmotion.y); 1.39 + c->x = (old_cx <= ev.xmotion.x) ? old_cx : old_cx - c->w; 1.40 + c->y = (old_cy <= ev.xmotion.y) ? old_cy : old_cy - c->h; 1.41 + resize(c); 1.42 break; 1.43 case ButtonRelease: 1.44 - resize(c); 1.45 XUngrabPointer(dpy, CurrentTime); 1.46 return; 1.47 } 1.48 @@ -91,10 +72,9 @@ 1.49 XFlush(dpy); 1.50 c->x = old_cx + (ev.xmotion.x - x1); 1.51 c->y = old_cy + (ev.xmotion.y - y1); 1.52 - XMoveResizeWindow(dpy, c->win, c->x, c->y, c->w, c->h); 1.53 + resize(c); 1.54 break; 1.55 case ButtonRelease: 1.56 - resize(c); 1.57 XUngrabPointer(dpy, CurrentTime); 1.58 return; 1.59 }