tresize window to fit image (Erik Quanstrom) - plan9port - [fork] Plan 9 from user space
HTML git clone git://src.adamsgaard.dk/plan9port
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit 846ec3d21def4cea144e9fbb1e523a5ff31fa2a6
DIR parent dfbfbecfc6343360494b6d515ea8763f85c18f25
HTML Author: rsc <devnull@localhost>
Date: Wed, 15 Feb 2006 12:11:03 +0000
resize window to fit image (Erik Quanstrom)
Diffstat:
M src/cmd/jpg/bmp.c | 8 +++-----
M src/cmd/jpg/gif.c | 8 ++++----
M src/cmd/jpg/jpg.c | 7 +++----
M src/cmd/jpg/png.c | 7 +++----
4 files changed, 13 insertions(+), 17 deletions(-)
---
DIR diff --git a/src/cmd/jpg/bmp.c b/src/cmd/jpg/bmp.c
t@@ -35,11 +35,9 @@ eresized(int new)
}
if(image == nil)
return;
- r = insetrect(screen->clipr, Edge+Border);
- r.max.x = r.min.x+Dx(image->r);
- r.max.y = r.min.y+Dy(image->r);
- border(screen, r, -Border, nil, ZP);
- draw(screen, r, image, nil, image->r.min);
+ r = rectaddpt(image->r, subpt(screen->r.min, image->r.min));
+ if(!new)
+ drawresizewindow(r);
flushimage(display, 1);
}
DIR diff --git a/src/cmd/jpg/gif.c b/src/cmd/jpg/gif.c
t@@ -48,10 +48,10 @@ eresized(int new)
}
if(allims==nil || allims[which]==nil)
return;
- r = imager();
- border(screen, r, -Border, nil, ZP);
- r.min.x += allims[which]->r.min.x - allims[0]->r.min.x;
- r.min.y += allims[which]->r.min.y - allims[0]->r.min.y;
+ r = rectaddpt(allims[0]->r, subpt(screen->r.min, allims[0]->r.min));
+ if(!new)
+ drawresizewindow(r);
+ r = rectaddpt(r, subpt(allims[which]->r.min, allims[0]->r.min));
drawop(screen, r, allims[which], allmasks[which], allims[which]->r.min, S);
flushimage(display, 1);
}
DIR diff --git a/src/cmd/jpg/jpg.c b/src/cmd/jpg/jpg.c
t@@ -37,10 +37,9 @@ eresized(int new)
}
if(image == nil)
return;
- r = insetrect(screen->clipr, Edge+Border);
- r.max.x = r.min.x+Dx(image->r);
- r.max.y = r.min.y+Dy(image->r);
- border(screen, r, -Border, nil, ZP);
+ r = rectaddpt(image->clipr, subpt(screen->r.min, image->clipr.min));
+ if(!new)
+ drawresizewindow(r);
draw(screen, r, image, nil, image->r.min);
flushimage(display, 1);
}
DIR diff --git a/src/cmd/jpg/png.c b/src/cmd/jpg/png.c
t@@ -35,10 +35,9 @@ eresized(int new)
}
if(image == nil)
return;
- r = insetrect(screen->clipr, Edge+Border);
- r.max.x = r.min.x+Dx(image->r);
- r.max.y = r.min.y+Dy(image->r);
- border(screen, r, -Border, nil, ZP);
+ r = rectaddpt(image->r, subpt(screen->r.min, image->r.min));
+ if(!new)
+ drawresizewindow(r);
draw(screen, r, image, nil, image->r.min);
flushimage(display, 1);
}