URI: 
       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);
        }