[w3m-dev 03497] incorrect image size
* image.c (getImageSize): invoke w3mimgdiplay -size instead of "5;..." * w3mimgdisplay.c (defined_size): added (main): if defined_size get_image_size() (GetOption): -size From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
This commit is contained in:
10
ChangeLog
10
ChangeLog
@@ -1,3 +1,11 @@
|
|||||||
|
2002-11-28 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
|
||||||
|
|
||||||
|
* [w3m-dev 03497] incorrect image size
|
||||||
|
* image.c (getImageSize): invoke w3mimgdiplay -size instead of "5;..."
|
||||||
|
* w3mimgdisplay.c (defined_size): added
|
||||||
|
(main): if defined_size get_image_size()
|
||||||
|
(GetOption): -size
|
||||||
|
|
||||||
2002-11-28 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
|
2002-11-28 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
|
||||||
|
|
||||||
* [w3m-dev 03496] parse <!-- ... --> in <script>
|
* [w3m-dev 03496] parse <!-- ... --> in <script>
|
||||||
@@ -5234,4 +5242,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.569 2002/11/27 16:39:13 ukai Exp $
|
$Id: ChangeLog,v 1.570 2002/11/27 16:46:30 ukai Exp $
|
||||||
|
|||||||
28
image.c
28
image.c
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: image.c,v 1.20 2002/11/24 16:02:22 ukai Exp $ */
|
/* $Id: image.c,v 1.21 2002/11/27 16:46:34 ukai Exp $ */
|
||||||
|
|
||||||
#include "fm.h"
|
#include "fm.h"
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@@ -589,6 +589,7 @@ int
|
|||||||
getImageSize(ImageCache * cache)
|
getImageSize(ImageCache * cache)
|
||||||
{
|
{
|
||||||
Str tmp;
|
Str tmp;
|
||||||
|
FILE *f;
|
||||||
int w = 0, h = 0;
|
int w = 0, h = 0;
|
||||||
|
|
||||||
if (!activeImage)
|
if (!activeImage)
|
||||||
@@ -597,21 +598,18 @@ getImageSize(ImageCache * cache)
|
|||||||
(cache->width > 0 && cache->height > 0))
|
(cache->width > 0 && cache->height > 0))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
tmp = Strnew();
|
tmp = Strnew();
|
||||||
if (!(Imgdisplay_rf && Imgdisplay_wf)) {
|
if (!strchr(Imgdisplay, '/'))
|
||||||
if (!openImgdisplay())
|
Strcat_m_charp(tmp, w3m_auxbin_dir(), "/", NULL);
|
||||||
return FALSE;
|
Strcat_m_charp(tmp, Imgdisplay, " -size ", shell_quote(cache->file),
|
||||||
}
|
" 2> /dev/null", NULL);
|
||||||
fputs("5;", Imgdisplay_wf); /* Get Size */
|
f = popen(tmp->ptr, "r");
|
||||||
fputs(cache->file, Imgdisplay_wf);
|
if (!f)
|
||||||
fputs("\n", Imgdisplay_wf);
|
return FALSE;
|
||||||
fflush(Imgdisplay_wf);
|
while (fscanf(f, "%d %d", &w, &h) < 0) {
|
||||||
{
|
if (feof(f))
|
||||||
char buf[1024];
|
break;
|
||||||
fgets(buf, sizeof(buf), Imgdisplay_rf);
|
|
||||||
if (sscanf(buf, "%d %d", &w, &h) != 2) {
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
pclose(f);
|
||||||
|
|
||||||
if (!(w > 0 && h > 0))
|
if (!(w > 0 && h > 0))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: w3mimgdisplay.c,v 1.9 2002/11/06 03:50:49 ukai Exp $ */
|
/* $Id: w3mimgdisplay.c,v 1.10 2002/11/27 16:46:34 ukai Exp $ */
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
@@ -13,6 +13,7 @@ static char *background = NULL;
|
|||||||
static int offset_x = 0, offset_y = 0;
|
static int offset_x = 0, offset_y = 0;
|
||||||
static int defined_bg = 0, defined_x = 0, defined_y = 0, defined_test = 0;
|
static int defined_bg = 0, defined_x = 0, defined_y = 0, defined_test = 0;
|
||||||
static int defined_debug = 0;
|
static int defined_debug = 0;
|
||||||
|
static char *defined_size = NULL;
|
||||||
|
|
||||||
#define MAX_IMAGE 1000
|
#define MAX_IMAGE 1000
|
||||||
static W3MImage *imageBuf = NULL;
|
static W3MImage *imageBuf = NULL;
|
||||||
@@ -63,6 +64,16 @@ main(int argc, char **argv)
|
|||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (defined_size) {
|
||||||
|
if (w_op->init(w_op)) {
|
||||||
|
W3MImage img;
|
||||||
|
int w, h;
|
||||||
|
if (w_op->get_image_size(w_op, &img, defined_size, &w, &h))
|
||||||
|
printf("%d %d\n", w, h);
|
||||||
|
}
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
w_op->set_background(w_op, background);
|
w_op->set_background(w_op, background);
|
||||||
|
|
||||||
while (fgets(buf, sizeof(buf), stdin) != NULL) {
|
while (fgets(buf, sizeof(buf), stdin) != NULL) {
|
||||||
@@ -166,6 +177,11 @@ GetOption(int argc, char **argv)
|
|||||||
else if (!strcmp("-test", argv[i])) {
|
else if (!strcmp("-test", argv[i])) {
|
||||||
defined_test = 1;
|
defined_test = 1;
|
||||||
}
|
}
|
||||||
|
else if (!strcmp("-size", argv[i])) {
|
||||||
|
if (++i >= argc)
|
||||||
|
exit(1);
|
||||||
|
defined_size = argv[i];
|
||||||
|
}
|
||||||
else if (!strcmp("-debug", argv[i])) {
|
else if (!strcmp("-debug", argv[i])) {
|
||||||
defined_debug = 1;
|
defined_debug = 1;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user