[w3m-dev 03435] save image with SAVE
* buffer.c (discardBuffer): check image * file.c (loadImageBuffer): add st IMG_FLAG_DONE_REMOVE s/sourcefile/mailcap_source/ * fm.h (IMG_FLAG_DONT_REMOVE): added * image.c (drawImage): & IMG_FLAG_LOADED (deleteImage): & IMG_FLAG_DONT_REMOVE (showImageProgress): & IMG_FLAG_LOADED (getImage): & IMG_FLAG_LOADED (getImageSize): & IMG_FLAG_LOADED * main.c (vmSrc): delete ifdef USE_IMAGE From: Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
This commit is contained in:
@@ -1,3 +1,18 @@
|
|||||||
|
2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
|
||||||
|
|
||||||
|
* [w3m-dev 03435] save image with SAVE
|
||||||
|
* buffer.c (discardBuffer): check image
|
||||||
|
* file.c (loadImageBuffer): add st
|
||||||
|
IMG_FLAG_DONE_REMOVE
|
||||||
|
s/sourcefile/mailcap_source/
|
||||||
|
* fm.h (IMG_FLAG_DONT_REMOVE): added
|
||||||
|
* image.c (drawImage): & IMG_FLAG_LOADED
|
||||||
|
(deleteImage): & IMG_FLAG_DONT_REMOVE
|
||||||
|
(showImageProgress): & IMG_FLAG_LOADED
|
||||||
|
(getImage): & IMG_FLAG_LOADED
|
||||||
|
(getImageSize): & IMG_FLAG_LOADED
|
||||||
|
* main.c (vmSrc): delete ifdef USE_IMAGE
|
||||||
|
|
||||||
2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
|
2002-11-16 Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
|
||||||
|
|
||||||
* [w3m-dev 03434] Re: cygwin console on Win9X
|
* [w3m-dev 03434] Re: cygwin console on Win9X
|
||||||
@@ -4751,4 +4766,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.518 2002/11/15 15:44:36 ukai Exp $
|
$Id: ChangeLog,v 1.519 2002/11/15 15:51:23 ukai Exp $
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: buffer.c,v 1.14 2002/11/08 15:54:46 ukai Exp $ */
|
/* $Id: buffer.c,v 1.15 2002/11/15 15:51:23 ukai Exp $ */
|
||||||
#include "fm.h"
|
#include "fm.h"
|
||||||
|
|
||||||
#ifdef USE_MOUSE
|
#ifdef USE_MOUSE
|
||||||
@@ -97,7 +97,8 @@ discardBuffer(Buffer *buf)
|
|||||||
return;
|
return;
|
||||||
if (buf->pagerSource)
|
if (buf->pagerSource)
|
||||||
ISclose(buf->pagerSource);
|
ISclose(buf->pagerSource);
|
||||||
if (buf->sourcefile) {
|
if (buf->sourcefile &&
|
||||||
|
(!buf->real_type || strncasecmp(buf->real_type, "image/", 6))) {
|
||||||
if (buf->real_scheme != SCM_LOCAL || buf->bufferprop & BP_FRAME)
|
if (buf->real_scheme != SCM_LOCAL || buf->bufferprop & BP_FRAME)
|
||||||
unlink(buf->sourcefile);
|
unlink(buf->sourcefile);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: file.c,v 1.117 2002/11/15 15:21:07 ukai Exp $ */
|
/* $Id: file.c,v 1.118 2002/11/15 15:51:23 ukai Exp $ */
|
||||||
#include "fm.h"
|
#include "fm.h"
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include "myctype.h"
|
#include "myctype.h"
|
||||||
@@ -6569,6 +6569,7 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf)
|
|||||||
FILE *src = NULL;
|
FILE *src = NULL;
|
||||||
URLFile f;
|
URLFile f;
|
||||||
MySignalHandler(*prevtrap) ();
|
MySignalHandler(*prevtrap) ();
|
||||||
|
struct stat st;
|
||||||
|
|
||||||
loadImage(IMG_FLAG_STOP);
|
loadImage(IMG_FLAG_STOP);
|
||||||
image = New(Image);
|
image = New(Image);
|
||||||
@@ -6577,7 +6578,8 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf)
|
|||||||
image->width = -1;
|
image->width = -1;
|
||||||
image->height = -1;
|
image->height = -1;
|
||||||
cache = getImage(image, cur_baseURL, IMG_FLAG_AUTO);
|
cache = getImage(image, cur_baseURL, IMG_FLAG_AUTO);
|
||||||
if (!cur_baseURL->is_nocache && cache->loaded == IMG_FLAG_LOADED)
|
if (!cur_baseURL->is_nocache && cache->loaded & IMG_FLAG_LOADED &&
|
||||||
|
!stat(cache->file, &st))
|
||||||
goto image_buffer;
|
goto image_buffer;
|
||||||
|
|
||||||
prevtrap = signal(SIGINT, KeyAbort);
|
prevtrap = signal(SIGINT, KeyAbort);
|
||||||
@@ -6597,24 +6599,20 @@ loadImageBuffer(URLFile *uf, Buffer *newBuf)
|
|||||||
|
|
||||||
cache->loaded = IMG_FLAG_LOADED;
|
cache->loaded = IMG_FLAG_LOADED;
|
||||||
cache->index = 0;
|
cache->index = 0;
|
||||||
/*
|
|
||||||
* getImageSize(cache);
|
|
||||||
*/
|
|
||||||
|
|
||||||
image_buffer:
|
image_buffer:
|
||||||
|
cache->loaded |= IMG_FLAG_DONT_REMOVE;
|
||||||
|
if (uf->scheme != SCM_LOCAL)
|
||||||
|
newBuf->sourcefile = cache->file;
|
||||||
|
|
||||||
tmp = Sprintf("<img src=\"%s\"><br><br>", html_quote(image->url));
|
tmp = Sprintf("<img src=\"%s\"><br><br>", html_quote(image->url));
|
||||||
if (newBuf == NULL)
|
if (newBuf == NULL)
|
||||||
newBuf = newBuffer(INIT_BUFFER_WIDTH);
|
newBuf = newBuffer(INIT_BUFFER_WIDTH);
|
||||||
/*
|
|
||||||
* if (frame_source) {
|
|
||||||
*/
|
|
||||||
tmpf = tmpfname(TMPF_SRC, ".html");
|
tmpf = tmpfname(TMPF_SRC, ".html");
|
||||||
src = fopen(tmpf->ptr, "w");
|
src = fopen(tmpf->ptr, "w");
|
||||||
newBuf->sourcefile = tmpf->ptr;
|
newBuf->mailcap_source = tmpf->ptr;
|
||||||
pushText(fileToDelete, tmpf->ptr);
|
pushText(fileToDelete, tmpf->ptr);
|
||||||
/*
|
|
||||||
* }
|
|
||||||
*/
|
|
||||||
init_stream(&f, SCM_LOCAL, newStrStream(tmp));
|
init_stream(&f, SCM_LOCAL, newStrStream(tmp));
|
||||||
loadHTMLstream(&f, newBuf, src, TRUE);
|
loadHTMLstream(&f, newBuf, src, TRUE);
|
||||||
if (src)
|
if (src)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: fm.h,v 1.77 2002/11/15 15:19:44 ukai Exp $ */
|
/* $Id: fm.h,v 1.78 2002/11/15 15:51:24 ukai Exp $ */
|
||||||
/*
|
/*
|
||||||
* w3m: WWW wo Miru utility
|
* w3m: WWW wo Miru utility
|
||||||
*
|
*
|
||||||
@@ -238,6 +238,7 @@ extern int REV_LB[];
|
|||||||
#define IMG_FLAG_UNLOADED 0
|
#define IMG_FLAG_UNLOADED 0
|
||||||
#define IMG_FLAG_LOADED 1
|
#define IMG_FLAG_LOADED 1
|
||||||
#define IMG_FLAG_ERROR 2
|
#define IMG_FLAG_ERROR 2
|
||||||
|
#define IMG_FLAG_DONT_REMOVE 4
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Macros.
|
* Macros.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: image.c,v 1.16 2002/11/09 21:55:24 ukai Exp $ */
|
/* $Id: image.c,v 1.17 2002/11/15 15:51:24 ukai Exp $ */
|
||||||
|
|
||||||
#include "fm.h"
|
#include "fm.h"
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
@@ -203,7 +203,7 @@ drawImage()
|
|||||||
return;
|
return;
|
||||||
for (j = 0; j < n_terminal_image; j++) {
|
for (j = 0; j < n_terminal_image; j++) {
|
||||||
i = &terminal_image[j];
|
i = &terminal_image[j];
|
||||||
if (!(i->cache->loaded == IMG_FLAG_LOADED &&
|
if (!(i->cache->loaded & IMG_FLAG_LOADED &&
|
||||||
i->width > 0 && i->height > 0))
|
i->width > 0 && i->height > 0))
|
||||||
continue;
|
continue;
|
||||||
if (!(Imgdisplay_rf && Imgdisplay_wf)) {
|
if (!(Imgdisplay_rf && Imgdisplay_wf)) {
|
||||||
@@ -319,6 +319,7 @@ deleteImage(Buffer *buf)
|
|||||||
for (i = 0, a = al->anchors; i < al->nanchor; i++, a++) {
|
for (i = 0, a = al->anchors; i < al->nanchor; i++, a++) {
|
||||||
if (a->image && a->image->cache &&
|
if (a->image && a->image->cache &&
|
||||||
a->image->cache->loaded != IMG_FLAG_UNLOADED &&
|
a->image->cache->loaded != IMG_FLAG_UNLOADED &&
|
||||||
|
!(a->image->cache->loaded & IMG_FLAG_DONT_REMOVE) &&
|
||||||
a->image->cache->index < 0)
|
a->image->cache->index < 0)
|
||||||
unlink(a->image->cache->file);
|
unlink(a->image->cache->file);
|
||||||
}
|
}
|
||||||
@@ -360,7 +361,7 @@ showImageProgress(Buffer *buf)
|
|||||||
for (i = 0, l = 0, n = 0, a = al->anchors; i < al->nanchor; i++, a++) {
|
for (i = 0, l = 0, n = 0, a = al->anchors; i < al->nanchor; i++, a++) {
|
||||||
if (a->image && a->hseq >= 0) {
|
if (a->image && a->hseq >= 0) {
|
||||||
n++;
|
n++;
|
||||||
if (a->image->cache && a->image->cache->loaded == IMG_FLAG_LOADED)
|
if (a->image->cache && a->image->cache->loaded & IMG_FLAG_LOADED)
|
||||||
l++;
|
l++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -587,7 +588,7 @@ getImage(Image * image, ParsedURL *current, int flag)
|
|||||||
if (!cache->index)
|
if (!cache->index)
|
||||||
cache->index = ++image_index;
|
cache->index = ++image_index;
|
||||||
}
|
}
|
||||||
if (cache->loaded == IMG_FLAG_LOADED)
|
if (cache->loaded & IMG_FLAG_LOADED)
|
||||||
getImageSize(cache);
|
getImageSize(cache);
|
||||||
return cache;
|
return cache;
|
||||||
}
|
}
|
||||||
@@ -600,7 +601,7 @@ getImageSize(ImageCache * cache)
|
|||||||
|
|
||||||
if (!activeImage)
|
if (!activeImage)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!cache || cache->loaded != IMG_FLAG_LOADED ||
|
if (!cache || !(cache->loaded & IMG_FLAG_LOADED) ||
|
||||||
(cache->width > 0 && cache->height > 0))
|
(cache->width > 0 && cache->height > 0))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
tmp = Strnew();
|
tmp = Strnew();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: main.c,v 1.134 2002/11/15 15:36:48 ukai Exp $ */
|
/* $Id: main.c,v 1.135 2002/11/15 15:51:24 ukai Exp $ */
|
||||||
#define MAINPROGRAM
|
#define MAINPROGRAM
|
||||||
#include "fm.h"
|
#include "fm.h"
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
@@ -4230,10 +4230,6 @@ vwSrc(void)
|
|||||||
|
|
||||||
if (Currentbuf->type == NULL || Currentbuf->bufferprop & BP_FRAME)
|
if (Currentbuf->type == NULL || Currentbuf->bufferprop & BP_FRAME)
|
||||||
return;
|
return;
|
||||||
#ifdef USE_IMAGE
|
|
||||||
if (!strncasecmp(Currentbuf->real_type, "image/", 6))
|
|
||||||
return;
|
|
||||||
#endif
|
|
||||||
if ((buf = Currentbuf->linkBuffer[LB_SOURCE]) != NULL ||
|
if ((buf = Currentbuf->linkBuffer[LB_SOURCE]) != NULL ||
|
||||||
(buf = Currentbuf->linkBuffer[LB_N_SOURCE]) != NULL) {
|
(buf = Currentbuf->linkBuffer[LB_N_SOURCE]) != NULL) {
|
||||||
Currentbuf = buf;
|
Currentbuf = buf;
|
||||||
|
|||||||
Reference in New Issue
Block a user