This commit is contained in:
Ito Hiroyuki
2010-12-21 10:13:55 +00:00
parent d15494241a
commit 40feb310a3
16 changed files with 3000 additions and 846 deletions

View File

@@ -1,3 +1,24 @@
2010-12-21 Ito Hiroyuki <ZXB01226 at nifty.com>
2010-12-20 AIDA Shinra <shinra@j10n.org>
* [w3m-dev 04425] Re: Windows$BHG(Bw3mimg$B!"B>(B
* w3mimgdisplay: supports Windows console (http://www.j10n.org/files/w3m-cvs-1.1040-misc.patch).
* image.c: ditto.
* configure.ac: ditto.
* config.h.in: ditto.
* acinclude.m4: ditto.
* Makefile.in: ditto.
* w3mimg/w3mimg.h: ditto.
* w3mimg/w3mimg.c: ditto.
* w3mimg/Makefile.in: ditto.
* doc/README.img: ditto.
* doc-jp/README.img: ditto.
* w3mimgdisplay.c (main): call "w_op->close(w_op)" before exit.
* w3mimg/win/win_w3mimg.cpp: added.
* w3mimg/win/Makefile.in: added.
2010-12-20 Ito Hiroyuki <ZXB01226@nifty.com>
* doc/README.img: add documents about some options.
@@ -9232,4 +9253,4 @@ a * [w3m-dev 03276] compile error on EWS4800
* release-0-2-1
* import w3m-0.2.1
$Id: ChangeLog,v 1.1043 2010/12/20 10:22:06 htrb Exp $
$Id: ChangeLog,v 1.1044 2010/12/21 10:13:55 htrb Exp $

View File

@@ -58,10 +58,12 @@ MAKE_ARGS = PERL='$(PERL)' MKDIR='$(MKDIR)' \
CONF_DIR='$(CONF_DIR)' \
RC_DIR='$(RC_DIR)' DESTDIR='$(DESTDIR)' KEYBIND_SRC='$(KEYBIND_SRC)'
IMGCFLAGS = @IMGX11CFLAGS@ @IMGFBCFLAGS@
IMGLDFLAGS = @IMGX11LDFLAGS@ @IMGFBLDFLAGS@
IMGCFLAGS = @IMGX11CFLAGS@ @IMGFBCFLAGS@ @IMGWINCFLAGS@
IMGLDFLAGS = @IMGX11LDFLAGS@ @IMGFBLDFLAGS@ @IMGWINLDFLAGS@
CC0 = @CC@
CXX = @CXX@
IMGLINK = @IMGLINK@
CC = @POSUBST@ $(CC0)
CPP = @CPP@
RANLIB=@RANLIB@
@@ -197,7 +199,7 @@ dummy.o: entity.c
$(CC) $(CFLAGS) -DDUMMY -c -o $@ $?
$(IMGDISPLAY): w3mimgdisplay.o $(ALIB) w3mimg/w3mimg.a
$(CC) $(CFLAGS) -o $(IMGDISPLAY) w3mimgdisplay.o w3mimg/w3mimg.a $(LDFLAGS) $(LIBS) $(IMGLDFLAGS)
$(IMGLINK) $(CFLAGS) -o $(IMGDISPLAY) w3mimgdisplay.o w3mimg/w3mimg.a $(LDFLAGS) $(LIBS) $(IMGLDFLAGS)
w3mimgdisplay.o: w3mimgdisplay.c w3mimg/w3mimg.h
$(CC) $(CFLAGS) $(IMGCFLAGS) -o $@ -c $(srcdir)/w3mimgdisplay.c

View File

@@ -569,6 +569,8 @@ AC_DEFUN([AC_W3M_IMAGE],
[AC_SUBST(USE_IMAGE)
AC_SUBST(USE_W3MIMG_X11)
AC_SUBST(USE_W3MIMG_FB)
AC_SUBST(USE_W3MIMG_WIN)
AC_SUBST(IMGLINK)
AC_SUBST(W3MIMGDISPLAY_SETUID)
AC_SUBST(INSTALL_W3MIMGDISPLAY)
INSTALL_W3MIMGDISPLAY='${INSTALL_PROGRAM}'
@@ -583,10 +585,12 @@ AC_DEFUN([AC_W3M_IMAGE],
AC_SUBST(IMGX11LDFLAGS)
AC_SUBST(IMGFBCFLAGS)
AC_SUBST(IMGFBLDFLAGS)
AC_SUBST(IMGWINCFLAGS)
AC_SUBST(IMGWINLDFLAGS)
AC_MSG_CHECKING(if image is enabled)
AC_ARG_ENABLE(image,
[ --enable-image[=DEVS] enable inline image handler for DEVS
DEVS may be comma separeted: x11,fb,fb+s
DEVS may be comma separeted: x11,fb,fb+s,win
default: autodetected.
'no' means disable inline image],,
[enable_image="yes"])
@@ -600,10 +604,14 @@ AC_DEFUN([AC_W3M_IMAGE],
if test -c /dev/fb0; then
enable_image=x11,fb
fi;;
CYGWIN*)
enable_image=x11,win;;
esac
fi
save_ifs="$IFS"; IFS=",";
for img in $enable_image; do
set x $enable_image; shift
IFS="$save_ifs"
for img in "$[]@"; do
case $img in
x11) x11=yes;;
fb) fb=yes;;
@@ -611,9 +619,9 @@ AC_DEFUN([AC_W3M_IMAGE],
AC_DEFINE(W3MIMGDISPLAY_SETUID)
INSTALL_W3MIMGDISPLAY='${INSTALL} -o root -m 4755 -s'
AC_DEFINE(INSTALL_W3MIMGDISPLAY, $INSTALL_W3MIMGDISPLAY);;
win) win=yes;;
esac
done
IFS="$save_ifs"
enable_image=yes
AC_DEFINE(USE_IMAGE)
AC_MSG_CHECKING(image library)
@@ -659,6 +667,7 @@ AC_DEFUN([AC_W3M_IMAGE],
esac
done
IMGTARGETS=""
IMGLINK='$(CC)'
if test x"$with_gtk2" = xyes; then
AC_W3M_CHECK_VER([GdkPixbuf],
[`$PKG_CONFIG --modversion gdk-pixbuf-2.0 2>/dev/null`],
@@ -752,12 +761,23 @@ AC_DEFUN([AC_W3M_IMAGE],
AC_MSG_WARN([unable to build w3mimgdisplay with FB support])
fi
fi
if test x"$win" = xyes; then
AC_DEFINE(USE_W3MIMG_WIN)
IMGOBJS="$IMGOBJS win/win_w3mimg.o"
IMGTARGETS="${IMGTARGETS} win"
IMGWINCFLAGS="-I/usr/include/w32api"
IMGWINLDFLAGS="-lgdiplus -lgdi32 -luser32"
IMGLINK='$(CXX)'
fi
AC_DEFINE(IMGTARGETS, "$IMGTARGETS")
AC_DEFINE(IMGOBJS, "$IMGOBJS")
AC_DEFINE(IMGX11CFLAGS, "$IMGX11CFLAGS")
AC_DEFINE(IMGX11LDFLAGS, "$IMGX11LDFLAGS")
AC_DEFINE(IMGFBCFLAGS, "$IMGFBCFLAGS")
AC_DEFINE(IMGFBLDFLAGS, "$IMGLDFLAGS")
AC_DEFINE(IMGFBLDFLAGS, "$IMGFBLDFLAGS")
AC_DEFINE(IMGLINK, "$IMGLINK")
AC_DEFINE(IMGWINCFLAGS, "$IMGWINCFLAGS")
AC_DEFINE(IMGWINLDFLAGS, "$IMGWINLDFLAGS")
fi])
# ----------------------------------------------------------------
# AC_W3M_XFACE

View File

@@ -69,6 +69,7 @@
#undef USE_IMAGE
#undef USE_W3MIMG_X11
#undef USE_W3MIMG_FB
#undef USE_W3MIMG_WIN
#undef W3MIMGDISPLAY_SETUID
#undef USE_IMLIB
#undef USE_GDKPIXBUF

2583
configure vendored

File diff suppressed because it is too large Load Diff

View File

@@ -17,7 +17,7 @@ W3M_LANG=${LC_ALL:-$LANG}
dnl AM_INIT_AUTOMAKE(w3m, 0.4)
AC_CONFIG_HEADER(config.h)
dnl Checks for programs.
dnl AC_PROG_CXX
AC_PROG_CXX
AC_PROG_AWK
AC_PROG_CC
AC_PROG_CPP
@@ -184,7 +184,7 @@ scripts/multipart/Makefile scripts/multipart/multipart.cgi \
scripts/w3mman/Makefile scripts/w3mman/w3mman scripts/w3mman/w3mman.1 \
scripts/w3mman/w3mman2html.cgi \
libwc/Makefile \
w3mimg/Makefile w3mimg/fb/Makefile w3mimg/x11/Makefile \
w3mimg/Makefile w3mimg/fb/Makefile w3mimg/x11/Makefile w3mimg/win/Makefile \
w3mhelp-w3m_en.html w3mhelp-w3m_ja.html \
w3mhelp-lynx_en.html w3mhelp-lynx_ja.html])

View File

@@ -11,8 +11,8 @@ w3m
<EFBFBD><EFBFBD>ǽ
<20><>X11 <20><><EFBFBD><EFBFBD>ü<EFBFBD><C3BC>(xterm,kterm,rxvt,...)<29>ޤ<EFBFBD><EFBFBD><EFBFBD> Linux <20><> framebuffer <20><><EFBFBD><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>(GIF,PNG,JPEG <20><>)<29><>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
<20><>X11 <20><><EFBFBD><EFBFBD>ü<EFBFBD><C3BC>(xterm,kterm,rxvt,...)<29><> Linux <20><> framebuffer <20><><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
Windows ü<><C3BC><EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD>(GIF,PNG,JPEG <20><>)<29><>ɽ<EFBFBD><C9BD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
<20><>img <20><><EFBFBD><EFBFBD><EFBFBD>ǻ<EFBFBD><C7BB><EFBFBD>줿<EFBFBD><ECA4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɽ<EFBFBD><C9BD><EFBFBD>Ǥ<EFBFBD><C7A4>ޤ<EFBFBD><DEA4><EFBFBD>
width,height °<><C2B0><EFBFBD>˱<EFBFBD><CBB1><EFBFBD><EFBFBD><EFBFBD>ɬ<EFBFBD>פ<EFBFBD><D7A4>ΰ<EFBFBD><CEB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݤ<EFBFBD><DDA4>ƥ<EFBFBD><C6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󥰤<EFBFBD><F3A5B0A4>ޤ<EFBFBD><DEA4><EFBFBD>
align °<><C2B0><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4><EFBFBD>
@@ -144,6 +144,7 @@ w3mimgdisplay
<20><>Ŭ<EFBFBD><C5AC><EFBFBD>ʥ<EFBFBD><CAA5><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD>Ǥ<EFBFBD><C7A4>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<20><>framebuffer <20><><EFBFBD><EFBFBD><EFBFBD>ط<EFBFBD><D8B7>ˤϡ<CBA4><CFA1><EFBFBD><EFBFBD><EFBFBD> URI <20>Υ<EFBFBD><CEA5><EFBFBD><EFBFBD>ɤ<EFBFBD><C9A4><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
http://www.sainet.or.jp/~yamasaki/download/fb-sample.tar.gz
<20><>Windows <20>Ǥ<EFBFBD>ɸ<EFBFBD><EFBFBD>󥽡<EFBFBD><F3A5BDA1>롢Cygwin rxvt<76><74>PuTTY<54><59>ư<EFBFBD><C6B0><EFBFBD><EFBFBD>ǧ<EFBFBD><C7A7><EFBFBD>Ƥ<EFBFBD><C6A4>ޤ<EFBFBD><DEA4><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ

View File

@@ -12,7 +12,8 @@ Introduction
Support
* Display inline image (GIF,PNG,JPEG, etc.) on terminals
(xterm,rxvt, etc.) of X11 or Linux framebuffer device.
(xterm,rxvt, etc.) of X11, Linux framebuffer device or
terminals of Windows.
* Support inline image of <img> tag.
Support of attributes "width", "height", and "align".
* Direct display of image file which header is "Content-type: image/*"
@@ -42,7 +43,7 @@ Key functions
keymap C-c STOP_IMAGE
keyamp t SET_OPTION display_image=toggle
Comandline options
Commandline options
-ppc <pixel>
# of pixels per character. The default value is automatically
@@ -70,7 +71,7 @@ Option panel
ext_image_viewer
Use external image viewer, when a command VIEW_IMAGE or
view of image file which header is "Content-type: image/*".
The default is ON. If it is OFF, the image is directly displaied.
The default is ON. If it is OFF, the image is directly displayed.
image_scale
Scale of image (%). The default value is 100(%).
imgdisplay
@@ -140,6 +141,10 @@ Notice
Some code in w3mimg/fb/fb.c was originally written by Mr. Yamasaki.
http://www.sainet.or.jp/~yamasaki/download/fb-sample.tar.gz
On Windows, we check the behaver on standard console, Cygwin rxvt
and PuTTY.
Change log
2002/02/04
@@ -157,7 +162,7 @@ Change log
2002/01/28 w3m-0.2.4-img-2.0
* Based on w3m-0.2.4+cvs-1.265.
* pixel_per_char and pixel_per_line are automatically detected.
* The bckground color of terminal is automatically detected.
* The background color of terminal is automatically detected.
* The source code to display images is moved to image.c
2002/01/08 w3m-0.2.4-img-1.18

View File

@@ -1,4 +1,4 @@
/* $Id: entity.h,v 1.4 2010/12/15 10:50:24 htrb Exp $ */
/* $Id: entity.h,v 1.5 2010/12/21 10:13:55 htrb Exp $ */
#include "hash.h"
static HashItem_si MyHashItem[] = {
/* 0 */ {"otimes", 0x2297, &MyHashItem[1]},

View File

@@ -1,4 +1,4 @@
/* $Id: image.c,v 1.36 2003/07/07 15:49:03 ukai Exp $ */
/* $Id: image.c,v 1.37 2010/12/21 10:13:55 htrb Exp $ */
#include "fm.h"
#include <sys/types.h>
@@ -115,10 +115,13 @@ openImgdisplay()
static void
closeImgdisplay()
{
if (Imgdisplay_rf)
fclose(Imgdisplay_rf);
if (Imgdisplay_wf)
fclose(Imgdisplay_wf);
if (Imgdisplay_rf) {
/* sync with the child */
getc(Imgdisplay_rf); /* EOF expected */
fclose(Imgdisplay_rf);
}
if (Imgdisplay_pid)
kill(Imgdisplay_pid, SIGKILL);
Imgdisplay_rf = NULL;

View File

@@ -11,10 +11,11 @@ AR=ar
RANLIB=@RANLIB@
RM=rm
IMGCFLAGS=@IMGX11CFLAGS@ @IMGFBCFLAGS@
SUBDIRS=fb x11 win
IMGCFLAGS=@IMGX11CFLAGS@ @IMGFBCFLAGS@ @IMGWINCFLAGS@
IMGOBJS=@IMGOBJS@
.PHONY: fb x11
.PHONY: $(SUBDIRS)
all: @IMGTARGETS@ w3mimg.a
w3mimg.a: $(IMGOBJS)
@@ -24,18 +25,18 @@ w3mimg.a: $(IMGOBJS)
w3mimg.o: w3mimg.c
$(CC) $(CFLAGS) -c $<
fb x11:
$(SUBDIRS):
cd $@ && $(MAKE) CC="$(CC)" OPTS="$(OPTS)"
clean:
@-$(RM) -f *.o
@for dir in fb x11; do \
@for dir in $(SUBDIRS); do \
(cd $$dir && $(MAKE) clean RM=$(RM)); \
done
-$(RM) -f w3mimg.a
distclean: clean
for subdir in fb x11; \
for subdir in $(SUBDIRS); \
do \
(cd $$subdir && $(MAKE) distclean); \
done

View File

@@ -1,4 +1,4 @@
/* $Id: w3mimg.c,v 1.5 2002/11/06 03:50:49 ukai Exp $ */
/* $Id: w3mimg.c,v 1.6 2010/12/21 10:13:55 htrb Exp $ */
#include <stdio.h>
#include <stdlib.h>
@@ -14,6 +14,10 @@ w3mimg_open()
uid_t runner_uid = getuid();
uid_t owner_uid = geteuid();
#endif
#ifdef USE_W3MIMG_WIN
if (w_op == NULL)
w_op = w3mimg_winopen();
#endif
#ifdef USE_W3MIMG_X11
#ifdef W3MIMGDISPLAY_SETUID
/* run in user privileges */

View File

@@ -1,6 +1,13 @@
/* $Id: w3mimg.h,v 1.8 2003/07/13 16:19:10 ukai Exp $ */
/* $Id: w3mimg.h,v 1.9 2010/12/21 10:13:55 htrb Exp $ */
#ifndef W3MIMG_W3MIMG_H
#define W3MIMG_W3MIMG_H
#include "config.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef USE_W3MIMG_FB
#include "w3mimg/fb/fb.h"
#include "w3mimg/fb/fb_img.h"
@@ -42,5 +49,13 @@ extern w3mimg_op *w3mimg_x11open();
#ifdef USE_W3MIMG_FB
extern w3mimg_op *w3mimg_fbopen();
#endif
#ifdef USE_W3MIMG_WIN
extern w3mimg_op *w3mimg_winopen();
#endif
extern w3mimg_op *w3mimg_open();
#ifdef __cplusplus
}
#endif
#endif /* W3MIMG_W3MIMG_H */

31
w3mimg/win/Makefile.in Normal file
View File

@@ -0,0 +1,31 @@
#
# w3mimg/win/Makefile
#
#
@SET_MAKE@
SHELL=@SHELL@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = $(srcdir):.
CFLAGS=$(OPTS) -I../.. -I$(top_srcdir) -I$(srcdir) @CFLAGS@ @CPPFLAGS@ @DEFS@ $(IMGCFLAGS)
RM=rm
CC=@CC@
CXX=@CXX@
IMGCFLAGS=@IMGWINCFLAGS@
OBJS=win_w3mimg.o
all: win_w3mimg.o
win_w3mimg.o: win_w3mimg.cpp
$(CXX) $(CFLAGS) -c $<
clean:
@-$(RM) -f *.o
distclean: clean
-$(RM) -f Makefile
#

1063
w3mimg/win/win_w3mimg.cpp Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
/* $Id: w3mimgdisplay.c,v 1.18 2003/07/13 16:20:42 ukai Exp $ */
/* $Id: w3mimgdisplay.c,v 1.19 2010/12/21 10:13:55 htrb Exp $ */
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
@@ -65,6 +65,7 @@ main(int argc, char **argv)
if (defined_test) {
printf("%d %d\n", w_op->width - w_op->offset_x,
w_op->height - w_op->offset_y);
w_op->close(w_op);
exit(0);
}
@@ -75,6 +76,7 @@ main(int argc, char **argv)
if (w_op->get_image_size(w_op, &img, defined_size, &w, &h))
printf("%d %d\n", w, h);
}
w_op->close(w_op);
exit(0);
}