29
29
static void SweepWindow(TwmWindow *tmp_win, Window blanket);
31
31
/* De/iconify utils */
32
static void Zoom(Window wf, Window wt);
32
33
static void ReMapOne(TwmWindow *t, TwmWindow *leader);
33
34
static void waitamoment(float timeout);
429
430
* Utils used by various bits above
433
/***********************************************************************
436
* Zoom - zoom in or out of an icon
439
* wf - window to zoom from
440
* wt - window to zoom to
442
***********************************************************************
445
Zoom(Window wf, Window wt)
447
int fx, fy, tx, ty; /* from, to */
448
unsigned int fw, fh, tw, th; /* from, to */
453
if((Scr->IconifyStyle != ICONIFY_NORMAL) || !Scr->DoZoom
454
|| Scr->ZoomCount < 1) {
458
if(wf == None || wt == None) {
462
XGetGeometry(dpy, wf, &JunkRoot, &fx, &fy, &fw, &fh, &JunkBW, &JunkDepth);
463
XGetGeometry(dpy, wt, &JunkRoot, &tx, &ty, &tw, &th, &JunkBW, &JunkDepth);
465
dx = (long) tx - (long) fx; /* going from -> to */
466
dy = (long) ty - (long) fy; /* going from -> to */
467
dw = (long) tw - (long) fw; /* going from -> to */
468
dh = (long) th - (long) fh; /* going from -> to */
469
z = (long)(Scr->ZoomCount + 1);
471
for(j = 0; j < 2; j++) {
474
XDrawRectangle(dpy, Scr->Root, Scr->DrawGC, fx, fy, fw, fh);
475
for(i = 1; i < z; i++) {
476
int x = fx + (int)((dx * i) / z);
477
int y = fy + (int)((dy * i) / z);
478
unsigned width = (unsigned)(((long) fw) + (dw * i) / z);
479
unsigned height = (unsigned)(((long) fh) + (dh * i) / z);
481
XDrawRectangle(dpy, Scr->Root, Scr->DrawGC,
482
x, y, width, height);
484
XDrawRectangle(dpy, Scr->Root, Scr->DrawGC, tx, ty, tw, th);
432
490
ReMapOne(TwmWindow *t, TwmWindow *leader)