[w3m-dev 03929] clear image

* image.c (syncImage): added
	(drawImage): rewrite using syncImage()
	(clearImage): use clear image command (6)
* w3mimgdisplay.c: change protocol
	2 => terminate drawing
	6 => clear image
	(main): '2' calls TermImage()
		'6' calls ClearImage()
		TermImage() when exit
	(TermImage): renamed from ClearImage
	(ClearImage): rewritten to call w_op->clear()
* w3mimg.h/w3mimg.h (w3mimg_op): add clear()
* w3mimg/fb/fb.c (fb_clear): added
* w3mimg/fb/fb.h (fb_clear): added
* w3mimg/fb/fb_img.c (fb_image_clear): added
* w3mimg/fb/fb_w3mimg.c (w3mfb_clear): added
	(w3mimg_fbopen): initialize wop->clear
* w3mimg/x11/x11_w3mimg.c (x11_clear): added
	(w3mimg_x11open): initialize wop->clear
From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
This commit is contained in:
Fumitoshi UKAI
2003-07-07 15:48:16 +00:00
parent 3c45cb485a
commit 0bbf6748bb
9 changed files with 165 additions and 49 deletions

View File

@@ -1,4 +1,4 @@
/* $Id: x11_w3mimg.c,v 1.22 2003/06/13 15:04:00 ukai Exp $ */
/* $Id: x11_w3mimg.c,v 1.23 2003/07/07 15:48:17 ukai Exp $ */
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
@@ -122,6 +122,19 @@ x11_finish(w3mimg_op * self)
return 1;
}
static int
x11_clear(w3mimg_op * self, int x, int y, int w, int h)
{
struct x11_info *xi;
if (self == NULL)
return 0;
xi = (struct x11_info *)self->priv;
if (xi == NULL)
return 0;
XClearArea(xi->display, xi->window, x, y, w, h, FALSE);
return 1;
}
static int
x11_active(w3mimg_op * self)
{
@@ -688,6 +701,7 @@ w3mimg_x11open()
wop->set_background = x11_set_background;
wop->sync = x11_sync;
wop->close = x11_close;
wop->clear = x11_clear;
wop->load_image = x11_load_image;
wop->show_image = x11_show_image;