[w3m-dev 03938] clear region margin
* w3mimgdisplay.c (clearMargin): added (GetOption): add -margin (ClearImage): clear margin * w3mi,g/w3mimg.h (w3mimg_op): clear_margin * w3mimg/fb/fb.c (fb_clear): x,y must be >= 0 * w3mimg/x11/x11_w3mimg.c (x11_clear): x,y must be >= 0 From: Hiroyuki Ito <hito@crl.go.jp>
This commit is contained in:
12
ChangeLog
12
ChangeLog
@@ -1,3 +1,13 @@
|
|||||||
|
2003-07-14 Hiroyuki Ito <hito@crl.go.jp>
|
||||||
|
|
||||||
|
* [w3m-dev 03938] clear region margin
|
||||||
|
* w3mimgdisplay.c (clearMargin): added
|
||||||
|
(GetOption): add -margin
|
||||||
|
(ClearImage): clear margin
|
||||||
|
* w3mi,g/w3mimg.h (w3mimg_op): clear_margin
|
||||||
|
* w3mimg/fb/fb.c (fb_clear): x,y must be >= 0
|
||||||
|
* w3mimg/x11/x11_w3mimg.c (x11_clear): x,y must be >= 0
|
||||||
|
|
||||||
2003-07-14 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
|
2003-07-14 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
|
||||||
|
|
||||||
* [w3m-dev 03937] <center> in <table>
|
* [w3m-dev 03937] <center> in <table>
|
||||||
@@ -7923,4 +7933,4 @@ a * [w3m-dev 03276] compile error on EWS4800
|
|||||||
* release-0-2-1
|
* release-0-2-1
|
||||||
* import w3m-0.2.1
|
* import w3m-0.2.1
|
||||||
|
|
||||||
$Id: ChangeLog,v 1.851 2003/07/13 16:14:47 ukai Exp $
|
$Id: ChangeLog,v 1.852 2003/07/13 16:19:09 ukai Exp $
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: fb.c,v 1.15 2003/07/09 15:07:11 ukai Exp $ */
|
/* $Id: fb.c,v 1.16 2003/07/13 16:19:10 ukai Exp $ */
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
fb.c 0.3 Copyright (C) 2002, hito
|
fb.c 0.3 Copyright (C) 2002, hito
|
||||||
**************************************************************************/
|
**************************************************************************/
|
||||||
@@ -357,6 +357,12 @@ fb_clear(int x, int y, int w, int h, int r, int g, int b)
|
|||||||
|
|
||||||
if (is_open != TRUE || x > fb_width() || y > fb_height())
|
if (is_open != TRUE || x > fb_width() || y > fb_height())
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
|
if (x < 0)
|
||||||
|
x = 0;
|
||||||
|
if (y < 0)
|
||||||
|
y = 0;
|
||||||
|
|
||||||
if (x + w > fb_width())
|
if (x + w > fb_width())
|
||||||
w = fb_width() - x;
|
w = fb_width() - x;
|
||||||
if (y + h > fb_height())
|
if (y + h > fb_height())
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: w3mimg.h,v 1.7 2003/07/07 15:48:17 ukai Exp $ */
|
/* $Id: w3mimg.h,v 1.8 2003/07/13 16:19:10 ukai Exp $ */
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
#ifdef USE_W3MIMG_FB
|
#ifdef USE_W3MIMG_FB
|
||||||
@@ -16,6 +16,7 @@ typedef struct _w3mimg_op {
|
|||||||
void *priv; /* driver specific data */
|
void *priv; /* driver specific data */
|
||||||
int width, height; /* window width, height */
|
int width, height; /* window width, height */
|
||||||
int offset_x, offset_y; /* offset */
|
int offset_x, offset_y; /* offset */
|
||||||
|
int clear_margin;
|
||||||
int max_anim;
|
int max_anim;
|
||||||
|
|
||||||
int (*init) (struct _w3mimg_op * self);
|
int (*init) (struct _w3mimg_op * self);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: x11_w3mimg.c,v 1.24 2003/07/08 17:32:13 ukai Exp $ */
|
/* $Id: x11_w3mimg.c,v 1.25 2003/07/13 16:19:10 ukai Exp $ */
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
@@ -131,6 +131,12 @@ x11_clear(w3mimg_op * self, int x, int y, int w, int h)
|
|||||||
xi = (struct x11_info *)self->priv;
|
xi = (struct x11_info *)self->priv;
|
||||||
if (xi == NULL)
|
if (xi == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
if (x < 0)
|
||||||
|
x = 0;
|
||||||
|
if (y < 0)
|
||||||
|
y = 0;
|
||||||
|
|
||||||
XClearArea(xi->display, xi->window, x, y, w, h, False);
|
XClearArea(xi->display, xi->window, x, y, w, h, False);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: w3mimgdisplay.c,v 1.16 2003/07/08 17:29:56 ukai Exp $ */
|
/* $Id: w3mimgdisplay.c,v 1.17 2003/07/13 16:19:10 ukai Exp $ */
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
@@ -17,7 +17,7 @@ static char *defined_size = NULL;
|
|||||||
|
|
||||||
#define MAX_IMAGE 1000
|
#define MAX_IMAGE 1000
|
||||||
static W3MImage *imageBuf = NULL;
|
static W3MImage *imageBuf = NULL;
|
||||||
static int maxImage = 0, maxAnim = 100;
|
static int maxImage = 0, maxAnim = 100, clearMargin = 0;
|
||||||
|
|
||||||
static void GetOption(int argc, char **argv);
|
static void GetOption(int argc, char **argv);
|
||||||
static void DrawImage(char *buf, int redraw);
|
static void DrawImage(char *buf, int redraw);
|
||||||
@@ -58,7 +58,9 @@ main(int argc, char **argv)
|
|||||||
w_op->offset_x = offset_x;
|
w_op->offset_x = offset_x;
|
||||||
if (defined_y)
|
if (defined_y)
|
||||||
w_op->offset_y = offset_y;
|
w_op->offset_y = offset_y;
|
||||||
|
|
||||||
w_op->max_anim = maxAnim;
|
w_op->max_anim = maxAnim;
|
||||||
|
w_op->clear_margin = clearMargin;
|
||||||
|
|
||||||
if (defined_test) {
|
if (defined_test) {
|
||||||
printf("%d %d\n", w_op->width - w_op->offset_x,
|
printf("%d %d\n", w_op->width - w_op->offset_x,
|
||||||
@@ -192,6 +194,13 @@ GetOption(int argc, char **argv)
|
|||||||
exit(1);
|
exit(1);
|
||||||
maxAnim = atoi(argv[i]);
|
maxAnim = atoi(argv[i]);
|
||||||
}
|
}
|
||||||
|
else if (!strcmp("-margin", argv[i])) {
|
||||||
|
if (++i >= argc)
|
||||||
|
exit(1);
|
||||||
|
clearMargin = atoi(argv[i]);
|
||||||
|
if (clearMargin < 0)
|
||||||
|
clearMargin = 0;
|
||||||
|
}
|
||||||
else if (!strcmp("-size", argv[i])) {
|
else if (!strcmp("-size", argv[i])) {
|
||||||
if (++i >= argc)
|
if (++i >= argc)
|
||||||
exit(1);
|
exit(1);
|
||||||
@@ -324,5 +333,9 @@ ClearImage(char *buf)
|
|||||||
for (; isdigit(*p); p++)
|
for (; isdigit(*p); p++)
|
||||||
h = 10 * h + (*p - '0');
|
h = 10 * h + (*p - '0');
|
||||||
|
|
||||||
w_op->clear(w_op, x + offset_x, y + offset_y, w, h);
|
w_op->clear(w_op,
|
||||||
|
x + offset_x - w_op->clear_margin,
|
||||||
|
y + offset_y - w_op->clear_margin,
|
||||||
|
w + w_op->clear_margin * 2,
|
||||||
|
h + w_op->clear_margin * 2);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user