always redraw images - sent - simple plaintext presentation tool
HTML git clone git://git.suckless.org/sent
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit dca314e7a93633ef7415e0d21b82c63278ae8e7c
DIR parent efea6575ca7f27b2c415fe0866349a842699fb72
HTML Author: Markus Teich <markus.teich@stusta.mhn.de>
Date: Mon, 26 Sep 2016 12:26:11 +0200
always redraw images
Previously when covering the sent window with an image slide selected and
exposing it again, the image was lost. This change always redraws the image and
also removes the now redundant bit flag in the state enum.
Diffstat:
M sent.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
---
DIR diff --git a/sent.c b/sent.c
@@ -33,7 +33,6 @@ char *argv0;
typedef enum {
NONE = 0,
SCALED = 1,
- DRAWN = 2
} imgstate;
typedef struct {
@@ -320,7 +319,6 @@ ffdraw(Image *img)
XPutImage(xw.dpy, xw.win, d->gc, img->ximg, 0, 0,
xoffset, yoffset, img->ximg->width, img->ximg->height);
XFlush(xw.dpy);
- img->state |= DRAWN;
}
void
@@ -441,7 +439,7 @@ advance(const Arg *arg)
LIMIT(new_idx, 0, slidecount-1);
if (new_idx != idx) {
if (slides[idx].img)
- slides[idx].img->state &= ~(DRAWN | SCALED);
+ slides[idx].img->state &= ~SCALED;
idx = new_idx;
ffload(&slides[idx]);
xdraw();
@@ -514,8 +512,7 @@ xdraw()
} else {
if (!(im->state & SCALED))
ffprepare(im);
- if (!(im->state & DRAWN))
- ffdraw(im);
+ ffdraw(im);
}
}
@@ -645,7 +642,7 @@ configure(XEvent *e)
{
resize(e->xconfigure.width, e->xconfigure.height);
if (slides[idx].img)
- slides[idx].img->state &= ~(DRAWN | SCALED);
+ slides[idx].img->state &= ~SCALED;
xdraw();
}