Karsten Hopp 4f5437
To: vim_dev@googlegroups.com
Karsten Hopp 4f5437
Subject: Patch 7.3.639
Karsten Hopp 4f5437
Fcc: outbox
Karsten Hopp 4f5437
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 4f5437
Mime-Version: 1.0
Karsten Hopp 4f5437
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 4f5437
Content-Transfer-Encoding: 8bit
Karsten Hopp 4f5437
------------
Karsten Hopp 4f5437
Karsten Hopp 4f5437
Patch 7.3.639
Karsten Hopp 4f5437
Problem:    It's not easy to build Vim on Windows with XPM support.
Karsten Hopp 4f5437
Solution:   Include the required files, they are quite small.  Update the
Karsten Hopp 4f5437
	    MSVC makefile to use them.  Binary files are in the next patch.
Karsten Hopp 4f5437
	    (Sergey Khorev)
Karsten Hopp 4f5437
Files:	    src/xpm/COPYRIGHT, src/xpm/README.txt, src/xpm/include/simx.h,
Karsten Hopp 4f5437
	    src/xpm/include/xpm.h, src/Make_mvc.mak, src/bigvim.bat,
Karsten Hopp 4f5437
	    src/bigvim64.bat, Filelist
Karsten Hopp 4f5437
Karsten Hopp 4f5437
Karsten Hopp 4f5437
*** ../vim-7.3.638/src/xpm/COPYRIGHT	1970-01-01 01:00:00.000000000 +0100
Karsten Hopp 4f5437
--- src/xpm/COPYRIGHT	1998-03-19 23:51:00.000000000 +0100
Karsten Hopp 4f5437
***************
Karsten Hopp 4f5437
*** 0 ****
Karsten Hopp 4f5437
--- 1,31 ----
Karsten Hopp 4f5437
+ /*
Karsten Hopp 4f5437
+  * Copyright (C) 1989-95 GROUPE BULL
Karsten Hopp 4f5437
+  *
Karsten Hopp 4f5437
+  * Permission is hereby granted, free of charge, to any person obtaining a copy
Karsten Hopp 4f5437
+  * of this software and associated documentation files (the "Software"), to
Karsten Hopp 4f5437
+  * deal in the Software without restriction, including without limitation the
Karsten Hopp 4f5437
+  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
Karsten Hopp 4f5437
+  * sell copies of the Software, and to permit persons to whom the Software is
Karsten Hopp 4f5437
+  * furnished to do so, subject to the following conditions:
Karsten Hopp 4f5437
+  *
Karsten Hopp 4f5437
+  * The above copyright notice and this permission notice shall be included in
Karsten Hopp 4f5437
+  * all copies or substantial portions of the Software.
Karsten Hopp 4f5437
+  *
Karsten Hopp 4f5437
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
Karsten Hopp 4f5437
+  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
Karsten Hopp 4f5437
+  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
Karsten Hopp 4f5437
+  * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
Karsten Hopp 4f5437
+  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
Karsten Hopp 4f5437
+  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Karsten Hopp 4f5437
+  *
Karsten Hopp 4f5437
+  * Except as contained in this notice, the name of GROUPE BULL shall not be
Karsten Hopp 4f5437
+  * used in advertising or otherwise to promote the sale, use or other dealings
Karsten Hopp 4f5437
+  * in this Software without prior written authorization from GROUPE BULL.
Karsten Hopp 4f5437
+  */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ Arnaud LE HORS      BULL Research FRANCE -- Koala Project 
Karsten Hopp 4f5437
+                     (XPM - X PixMap format version 2 & 3)
Karsten Hopp 4f5437
+     Internet:       lehors@sophia.inria.fr
Karsten Hopp 4f5437
+ Surface Mail:       Arnaud LE HORS, INRIA - Sophia Antipolis, 
Karsten Hopp 4f5437
+                     2004, route des Lucioles, 06565 Valbonne Cedex -- FRANCE
Karsten Hopp 4f5437
+  Voice phone:       (33) 93.65.77.71, Fax: (33) 93 65 77 66, Telex: 97 00 50 F
Karsten Hopp 4f5437
*** ../vim-7.3.638/src/xpm/README.txt	1970-01-01 01:00:00.000000000 +0100
Karsten Hopp 4f5437
--- src/xpm/README.txt	2012-08-29 13:29:17.000000000 +0200
Karsten Hopp 4f5437
***************
Karsten Hopp 4f5437
*** 0 ****
Karsten Hopp 4f5437
--- 1,23 ----
Karsten Hopp 4f5437
+ This is XPM library compiled for Windows which is intended for use with Vim
Karsten Hopp 4f5437
+ 'signs' feature.
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ Libraries in x86 directory were compiled with MSVC6 and MinGW. Proposed
Karsten Hopp 4f5437
+ commands to compile Vim are:
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ Any version of MSVC starting from version 6.0:
Karsten Hopp 4f5437
+ nmake -f Make_mvc.mak GUI=yes CSCOPE=yes NETBEANS=yes XPM=e:\hg\xpm\x86
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ MinGW:
Karsten Hopp 4f5437
+ mingw32-make -f Make_ming.mak GUI=yes CSCOPE=yes XPM=e:/hg/xpm/x86
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ Microsoft Visual C++ on x64 (tested with versions 2008 and 2010):
Karsten Hopp 4f5437
+ nmake -f Make_mvc.mak GUI=yes CSCOPE=yes XPM=E:\HG\xpm\x64
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ To test, open some file in Vim and execute commands below:
Karsten Hopp 4f5437
+ :exe 'sign define vimxpm icon='.$VIMRUNTIME.'\\vim32x32.xpm'
Karsten Hopp 4f5437
+ :exe 'sign place 1 line=1 name=vimxpm file='.expand('%:p')
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ See COPYRIGHT for XPM licence.
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ If you have questions please email sergey.khorev@gmail.com.
Karsten Hopp 4f5437
*** ../vim-7.3.638/src/xpm/include/simx.h	1970-01-01 01:00:00.000000000 +0100
Karsten Hopp 4f5437
--- src/xpm/include/simx.h	1998-03-19 23:51:00.000000000 +0100
Karsten Hopp 4f5437
***************
Karsten Hopp 4f5437
*** 0 ****
Karsten Hopp 4f5437
--- 1,139 ----
Karsten Hopp 4f5437
+ /*
Karsten Hopp 4f5437
+  * Copyright (C) 1989-95 GROUPE BULL
Karsten Hopp 4f5437
+  *
Karsten Hopp 4f5437
+  * Permission is hereby granted, free of charge, to any person obtaining a copy
Karsten Hopp 4f5437
+  * of this software and associated documentation files (the "Software"), to
Karsten Hopp 4f5437
+  * deal in the Software without restriction, including without limitation the
Karsten Hopp 4f5437
+  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
Karsten Hopp 4f5437
+  * sell copies of the Software, and to permit persons to whom the Software is
Karsten Hopp 4f5437
+  * furnished to do so, subject to the following conditions:
Karsten Hopp 4f5437
+  *
Karsten Hopp 4f5437
+  * The above copyright notice and this permission notice shall be included in
Karsten Hopp 4f5437
+  * all copies or substantial portions of the Software.
Karsten Hopp 4f5437
+  *
Karsten Hopp 4f5437
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
Karsten Hopp 4f5437
+  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
Karsten Hopp 4f5437
+  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
Karsten Hopp 4f5437
+  * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
Karsten Hopp 4f5437
+  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
Karsten Hopp 4f5437
+  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Karsten Hopp 4f5437
+  *
Karsten Hopp 4f5437
+  * Except as contained in this notice, the name of GROUPE BULL shall not be
Karsten Hopp 4f5437
+  * used in advertising or otherwise to promote the sale, use or other dealings
Karsten Hopp 4f5437
+  * in this Software without prior written authorization from GROUPE BULL.
Karsten Hopp 4f5437
+  */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /*****************************************************************************\
Karsten Hopp 4f5437
+ * simx.h: 0.1a                                                                *
Karsten Hopp 4f5437
+ *                                                                             *
Karsten Hopp 4f5437
+ * This emulates some Xlib functionality for MSW. It's not a general solution, *
Karsten Hopp 4f5437
+ * it is close related to XPM-lib. It is only intended to satisfy what is need *
Karsten Hopp 4f5437
+ * there. Thus allowing to read XPM files under MS windows.                    *
Karsten Hopp 4f5437
+ *                                                                             *
Karsten Hopp 4f5437
+ * Developed by HeDu 3/94 (hedu@cul-ipn.uni-kiel.de)                           *
Karsten Hopp 4f5437
+ \*****************************************************************************/
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #ifndef _SIMX_H
Karsten Hopp 4f5437
+ #define _SIMX_H
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #ifdef FOR_MSW
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #include "windows.h"			/* MS windows GDI types */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /*
Karsten Hopp 4f5437
+  * minimal portability layer between ansi and KR C
Karsten Hopp 4f5437
+  */
Karsten Hopp 4f5437
+ /* this comes from xpm.h, and is here again, to avoid complicated
Karsten Hopp 4f5437
+     includes, since this is included from xpm.h */
Karsten Hopp 4f5437
+ /* these defines get undefed at the end of this file */
Karsten Hopp 4f5437
+ #if __STDC__ || defined(__cplusplus) || defined(c_plusplus)
Karsten Hopp 4f5437
+  /* ANSI || C++ */
Karsten Hopp 4f5437
+ #define FUNC(f, t, p) extern t f p
Karsten Hopp 4f5437
+ #define LFUNC(f, t, p) static t f p
Karsten Hopp 4f5437
+ #else /* k&R */
Karsten Hopp 4f5437
+ #define FUNC(f, t, p) extern t f()
Karsten Hopp 4f5437
+ #define LFUNC(f, t, p) static t f()
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ FUNC(boundCheckingMalloc, void *, (long s));
Karsten Hopp 4f5437
+ FUNC(boundCheckingCalloc, void *, (long num, long s));
Karsten Hopp 4f5437
+ FUNC(boundCheckingRealloc, void *, (void *p, long s));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /* define MSW types for X window types,
Karsten Hopp 4f5437
+    I don't know much about MSW, but the following defines do the job */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ typedef HDC Display;			/* this should be similar */
Karsten Hopp 4f5437
+ typedef void *Screen;			/* not used */
Karsten Hopp 4f5437
+ typedef void *Visual;			/* not used yet, is for GRAY, COLOR,
Karsten Hopp 4f5437
+ 					 * MONO */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ typedef void *Colormap;			/* should be COLORPALETTE, not done
Karsten Hopp 4f5437
+ 					 * yet */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ typedef COLORREF Pixel;
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #define PIXEL_ALREADY_TYPEDEFED		/* to let xpm.h know about it */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ typedef struct {
Karsten Hopp 4f5437
+     Pixel pixel;
Karsten Hopp 4f5437
+     BYTE red, green, blue;
Karsten Hopp 4f5437
+ }      XColor;
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ typedef struct {
Karsten Hopp 4f5437
+     HBITMAP bitmap;
Karsten Hopp 4f5437
+     unsigned int width;
Karsten Hopp 4f5437
+     unsigned int height;
Karsten Hopp 4f5437
+     unsigned int depth;
Karsten Hopp 4f5437
+ }      XImage;
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #if defined(__cplusplus) || defined(c_plusplus)
Karsten Hopp 4f5437
+ extern "C" {
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+ /* some replacements for X... functions */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /* XDefaultXXX */
Karsten Hopp 4f5437
+     FUNC(XDefaultVisual, Visual *, (Display *display, Screen *screen));
Karsten Hopp 4f5437
+     FUNC(XDefaultScreen, Screen *, (Display *d));
Karsten Hopp 4f5437
+     FUNC(XDefaultColormap, Colormap *, (Display *display, Screen *screen));
Karsten Hopp 4f5437
+     FUNC(XDefaultDepth, int, (Display *d, Screen *s));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /* color related */
Karsten Hopp 4f5437
+     FUNC(XParseColor, int, (Display *, Colormap *, char *, XColor *));
Karsten Hopp 4f5437
+     FUNC(XAllocColor, int, (Display *, Colormap *, XColor *));
Karsten Hopp 4f5437
+     FUNC(XQueryColors, void, (Display *display, Colormap *colormap,
Karsten Hopp 4f5437
+ 			      XColor *xcolors, int ncolors));
Karsten Hopp 4f5437
+     FUNC(XFreeColors, int, (Display *d, Colormap cmap,
Karsten Hopp 4f5437
+ 			    unsigned long pixels[],
Karsten Hopp 4f5437
+ 			    int npixels, unsigned long planes));
Karsten Hopp 4f5437
+ /* XImage */
Karsten Hopp 4f5437
+     FUNC(XCreateImage, XImage *, (Display *, Visual *, int depth, int format,
Karsten Hopp 4f5437
+ 				  int x, int y, int width, int height,
Karsten Hopp 4f5437
+ 				  int pad, int foo));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /* free and destroy bitmap */
Karsten Hopp 4f5437
+     FUNC(XDestroyImage, void /* ? */ , (XImage *));
Karsten Hopp 4f5437
+ /* free only, bitmap remains */
Karsten Hopp 4f5437
+     FUNC(XImageFree, void, (XImage *));
Karsten Hopp 4f5437
+ #if defined(__cplusplus) || defined(c_plusplus)
Karsten Hopp 4f5437
+ } /* end of extern "C" */
Karsten Hopp 4f5437
+ #endif /* cplusplus */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #define ZPixmap 1			/* not really used */
Karsten Hopp 4f5437
+ #define XYBitmap 1			/* not really used */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #ifndef True
Karsten Hopp 4f5437
+ #define True 1
Karsten Hopp 4f5437
+ #define False 0
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+ #ifndef Bool
Karsten Hopp 4f5437
+ typedef BOOL Bool;		/* take MSW bool */
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+ /* make these local here, simx.c gets the same from xpm.h */
Karsten Hopp 4f5437
+ #undef LFUNC
Karsten Hopp 4f5437
+ #undef FUNC
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #endif /* def FOR_MSW */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #endif /* _SIMX_H */
Karsten Hopp 4f5437
*** ../vim-7.3.638/src/xpm/include/xpm.h	1970-01-01 01:00:00.000000000 +0100
Karsten Hopp 4f5437
--- src/xpm/include/xpm.h	1998-03-19 23:51:00.000000000 +0100
Karsten Hopp 4f5437
***************
Karsten Hopp 4f5437
*** 0 ****
Karsten Hopp 4f5437
--- 1,501 ----
Karsten Hopp 4f5437
+ /*
Karsten Hopp 4f5437
+  * Copyright (C) 1989-95 GROUPE BULL
Karsten Hopp 4f5437
+  *
Karsten Hopp 4f5437
+  * Permission is hereby granted, free of charge, to any person obtaining a copy
Karsten Hopp 4f5437
+  * of this software and associated documentation files (the "Software"), to
Karsten Hopp 4f5437
+  * deal in the Software without restriction, including without limitation the
Karsten Hopp 4f5437
+  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
Karsten Hopp 4f5437
+  * sell copies of the Software, and to permit persons to whom the Software is
Karsten Hopp 4f5437
+  * furnished to do so, subject to the following conditions:
Karsten Hopp 4f5437
+  *
Karsten Hopp 4f5437
+  * The above copyright notice and this permission notice shall be included in
Karsten Hopp 4f5437
+  * all copies or substantial portions of the Software.
Karsten Hopp 4f5437
+  *
Karsten Hopp 4f5437
+  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
Karsten Hopp 4f5437
+  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
Karsten Hopp 4f5437
+  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
Karsten Hopp 4f5437
+  * GROUPE BULL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
Karsten Hopp 4f5437
+  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
Karsten Hopp 4f5437
+  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Karsten Hopp 4f5437
+  *
Karsten Hopp 4f5437
+  * Except as contained in this notice, the name of GROUPE BULL shall not be
Karsten Hopp 4f5437
+  * used in advertising or otherwise to promote the sale, use or other dealings
Karsten Hopp 4f5437
+  * in this Software without prior written authorization from GROUPE BULL.
Karsten Hopp 4f5437
+  */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /*****************************************************************************\
Karsten Hopp 4f5437
+ * xpm.h:                                                                      *
Karsten Hopp 4f5437
+ *                                                                             *
Karsten Hopp 4f5437
+ *  XPM library                                                                *
Karsten Hopp 4f5437
+ *  Include file                                                               *
Karsten Hopp 4f5437
+ *                                                                             *
Karsten Hopp 4f5437
+ *  Developed by Arnaud Le Hors                                                *
Karsten Hopp 4f5437
+ \*****************************************************************************/
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /*
Karsten Hopp 4f5437
+  * The code related to FOR_MSW has been added by
Karsten Hopp 4f5437
+  * HeDu (hedu@cul-ipn.uni-kiel.de) 4/94
Karsten Hopp 4f5437
+  */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /*
Karsten Hopp 4f5437
+  * The code related to AMIGA has been added by
Karsten Hopp 4f5437
+  * Lorens Younes (d93-hyo@nada.kth.se) 4/96
Karsten Hopp 4f5437
+  */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #ifndef XPM_h
Karsten Hopp 4f5437
+ #define XPM_h
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /*
Karsten Hopp 4f5437
+  * first some identification numbers:
Karsten Hopp 4f5437
+  * the version and revision numbers are determined with the following rule:
Karsten Hopp 4f5437
+  * SO Major number = LIB minor version number.
Karsten Hopp 4f5437
+  * SO Minor number = LIB sub-minor version number.
Karsten Hopp 4f5437
+  * e.g: Xpm version 3.2f
Karsten Hopp 4f5437
+  *      we forget the 3 which is the format number, 2 gives 2, and f gives 6.
Karsten Hopp 4f5437
+  *      thus we have XpmVersion = 2 and XpmRevision = 6
Karsten Hopp 4f5437
+  *      which gives  SOXPMLIBREV = 2.6
Karsten Hopp 4f5437
+  *
Karsten Hopp 4f5437
+  * Then the XpmIncludeVersion number is built from these numbers.
Karsten Hopp 4f5437
+  */
Karsten Hopp 4f5437
+ #define XpmFormat 3
Karsten Hopp 4f5437
+ #define XpmVersion 4
Karsten Hopp 4f5437
+ #define XpmRevision 11
Karsten Hopp 4f5437
+ #define XpmIncludeVersion ((XpmFormat * 100 + XpmVersion) * 100 + XpmRevision)
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #ifndef XPM_NUMBERS
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #ifdef FOR_MSW
Karsten Hopp 4f5437
+ # define SYSV			/* uses memcpy string.h etc. */
Karsten Hopp 4f5437
+ # include <malloc.h>
Karsten Hopp 4f5437
+ # include "simx.h"		/* defines some X stuff using MSW types */
Karsten Hopp 4f5437
+ #define NEED_STRCASECMP		/* at least for MSVC++ */
Karsten Hopp 4f5437
+ #else /* FOR_MSW */
Karsten Hopp 4f5437
+ # ifdef AMIGA
Karsten Hopp 4f5437
+ #  include "amigax.h"
Karsten Hopp 4f5437
+ # else /* not AMIGA */
Karsten Hopp 4f5437
+ #  include <X11/Xlib.h>
Karsten Hopp 4f5437
+ #  include <X11/Xutil.h>
Karsten Hopp 4f5437
+ # endif /* not AMIGA */
Karsten Hopp 4f5437
+ #endif /* FOR_MSW */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /* let's define Pixel if it is not done yet */
Karsten Hopp 4f5437
+ #if ! defined(_XtIntrinsic_h) && ! defined(PIXEL_ALREADY_TYPEDEFED)
Karsten Hopp 4f5437
+ typedef unsigned long Pixel;	/* Index into colormap */
Karsten Hopp 4f5437
+ # define PIXEL_ALREADY_TYPEDEFED
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /* make sure we know whether function prototypes are needed or not */
Karsten Hopp 4f5437
+ #ifndef NeedFunctionPrototypes
Karsten Hopp 4f5437
+ # if defined(__STDC__) || defined(__cplusplus) || defined(c_plusplus)
Karsten Hopp 4f5437
+ #  define NeedFunctionPrototypes 1
Karsten Hopp 4f5437
+ # else
Karsten Hopp 4f5437
+ #  define NeedFunctionPrototypes 0
Karsten Hopp 4f5437
+ # endif
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /* Return ErrorStatus codes:
Karsten Hopp 4f5437
+  * null     if full success
Karsten Hopp 4f5437
+  * positive if partial success
Karsten Hopp 4f5437
+  * negative if failure
Karsten Hopp 4f5437
+  */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #define XpmColorError    1
Karsten Hopp 4f5437
+ #define XpmSuccess       0
Karsten Hopp 4f5437
+ #define XpmOpenFailed   -1
Karsten Hopp 4f5437
+ #define XpmFileInvalid  -2
Karsten Hopp 4f5437
+ #define XpmNoMemory     -3
Karsten Hopp 4f5437
+ #define XpmColorFailed  -4
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ typedef struct {
Karsten Hopp 4f5437
+     char *name;			/* Symbolic color name */
Karsten Hopp 4f5437
+     char *value;		/* Color value */
Karsten Hopp 4f5437
+     Pixel pixel;		/* Color pixel */
Karsten Hopp 4f5437
+ }      XpmColorSymbol;
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ typedef struct {
Karsten Hopp 4f5437
+     char *name;			/* name of the extension */
Karsten Hopp 4f5437
+     unsigned int nlines;	/* number of lines in this extension */
Karsten Hopp 4f5437
+     char **lines;		/* pointer to the extension array of strings */
Karsten Hopp 4f5437
+ }      XpmExtension;
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ typedef struct {
Karsten Hopp 4f5437
+     char *string;		/* characters string */
Karsten Hopp 4f5437
+     char *symbolic;		/* symbolic name */
Karsten Hopp 4f5437
+     char *m_color;		/* monochrom default */
Karsten Hopp 4f5437
+     char *g4_color;		/* 4 level grayscale default */
Karsten Hopp 4f5437
+     char *g_color;		/* other level grayscale default */
Karsten Hopp 4f5437
+     char *c_color;		/* color default */
Karsten Hopp 4f5437
+ }      XpmColor;
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ typedef struct {
Karsten Hopp 4f5437
+     unsigned int width;		/* image width */
Karsten Hopp 4f5437
+     unsigned int height;	/* image height */
Karsten Hopp 4f5437
+     unsigned int cpp;		/* number of characters per pixel */
Karsten Hopp 4f5437
+     unsigned int ncolors;	/* number of colors */
Karsten Hopp 4f5437
+     XpmColor *colorTable;	/* list of related colors */
Karsten Hopp 4f5437
+     unsigned int *data;		/* image data */
Karsten Hopp 4f5437
+ }      XpmImage;
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ typedef struct {
Karsten Hopp 4f5437
+     unsigned long valuemask;	/* Specifies which attributes are defined */
Karsten Hopp 4f5437
+     char *hints_cmt;		/* Comment of the hints section */
Karsten Hopp 4f5437
+     char *colors_cmt;		/* Comment of the colors section */
Karsten Hopp 4f5437
+     char *pixels_cmt;		/* Comment of the pixels section */
Karsten Hopp 4f5437
+     unsigned int x_hotspot;	/* Returns the x hotspot's coordinate */
Karsten Hopp 4f5437
+     unsigned int y_hotspot;	/* Returns the y hotspot's coordinate */
Karsten Hopp 4f5437
+     unsigned int nextensions;	/* number of extensions */
Karsten Hopp 4f5437
+     XpmExtension *extensions;	/* pointer to array of extensions */
Karsten Hopp 4f5437
+ }      XpmInfo;
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ typedef int (*XpmAllocColorFunc)(
Karsten Hopp 4f5437
+ #if NeedFunctionPrototypes
Karsten Hopp 4f5437
+     Display*			/* display */,
Karsten Hopp 4f5437
+     Colormap			/* colormap */,
Karsten Hopp 4f5437
+     char*			/* colorname */,
Karsten Hopp 4f5437
+     XColor*			/* xcolor */,
Karsten Hopp 4f5437
+     void*			/* closure */
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+ );
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ typedef int (*XpmFreeColorsFunc)(
Karsten Hopp 4f5437
+ #if NeedFunctionPrototypes
Karsten Hopp 4f5437
+     Display*			/* display */,
Karsten Hopp 4f5437
+     Colormap			/* colormap */,
Karsten Hopp 4f5437
+     Pixel*			/* pixels */,
Karsten Hopp 4f5437
+     int				/* npixels */,
Karsten Hopp 4f5437
+     void*			/* closure */
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+ );
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ typedef struct {
Karsten Hopp 4f5437
+     unsigned long valuemask;		/* Specifies which attributes are
Karsten Hopp 4f5437
+ 					   defined */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     Visual *visual;			/* Specifies the visual to use */
Karsten Hopp 4f5437
+     Colormap colormap;			/* Specifies the colormap to use */
Karsten Hopp 4f5437
+     unsigned int depth;			/* Specifies the depth */
Karsten Hopp 4f5437
+     unsigned int width;			/* Returns the width of the created
Karsten Hopp 4f5437
+ 					   pixmap */
Karsten Hopp 4f5437
+     unsigned int height;		/* Returns the height of the created
Karsten Hopp 4f5437
+ 					   pixmap */
Karsten Hopp 4f5437
+     unsigned int x_hotspot;		/* Returns the x hotspot's
Karsten Hopp 4f5437
+ 					   coordinate */
Karsten Hopp 4f5437
+     unsigned int y_hotspot;		/* Returns the y hotspot's
Karsten Hopp 4f5437
+ 					   coordinate */
Karsten Hopp 4f5437
+     unsigned int cpp;			/* Specifies the number of char per
Karsten Hopp 4f5437
+ 					   pixel */
Karsten Hopp 4f5437
+     Pixel *pixels;			/* List of used color pixels */
Karsten Hopp 4f5437
+     unsigned int npixels;		/* Number of used pixels */
Karsten Hopp 4f5437
+     XpmColorSymbol *colorsymbols;	/* List of color symbols to override */
Karsten Hopp 4f5437
+     unsigned int numsymbols;		/* Number of symbols */
Karsten Hopp 4f5437
+     char *rgb_fname;			/* RGB text file name */
Karsten Hopp 4f5437
+     unsigned int nextensions;		/* Number of extensions */
Karsten Hopp 4f5437
+     XpmExtension *extensions;		/* List of extensions */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     unsigned int ncolors;               /* Number of colors */
Karsten Hopp 4f5437
+     XpmColor *colorTable;               /* List of colors */
Karsten Hopp 4f5437
+ /* 3.2 backward compatibility code */
Karsten Hopp 4f5437
+     char *hints_cmt;                    /* Comment of the hints section */
Karsten Hopp 4f5437
+     char *colors_cmt;                   /* Comment of the colors section */
Karsten Hopp 4f5437
+     char *pixels_cmt;                   /* Comment of the pixels section */
Karsten Hopp 4f5437
+ /* end 3.2 bc */
Karsten Hopp 4f5437
+     unsigned int mask_pixel;            /* Color table index of transparent
Karsten Hopp 4f5437
+                                            color */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     /* Color Allocation Directives */
Karsten Hopp 4f5437
+     Bool exactColors;			/* Only use exact colors for visual */
Karsten Hopp 4f5437
+     unsigned int closeness;		/* Allowable RGB deviation */
Karsten Hopp 4f5437
+     unsigned int red_closeness;		/* Allowable red deviation */
Karsten Hopp 4f5437
+     unsigned int green_closeness;	/* Allowable green deviation */
Karsten Hopp 4f5437
+     unsigned int blue_closeness;	/* Allowable blue deviation */
Karsten Hopp 4f5437
+     int color_key;			/* Use colors from this color set */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     Pixel *alloc_pixels;		/* Returns the list of alloc'ed color
Karsten Hopp 4f5437
+ 					   pixels */
Karsten Hopp 4f5437
+     int nalloc_pixels;			/* Returns the number of alloc'ed
Karsten Hopp 4f5437
+ 					   color pixels */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     Bool alloc_close_colors;    	/* Specify whether close colors should
Karsten Hopp 4f5437
+ 					   be allocated using XAllocColor
Karsten Hopp 4f5437
+ 					   or not */
Karsten Hopp 4f5437
+     int bitmap_format;			/* Specify the format of 1bit depth
Karsten Hopp 4f5437
+ 					   images: ZPixmap or XYBitmap */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     /* Color functions */
Karsten Hopp 4f5437
+     XpmAllocColorFunc alloc_color;	/* Application color allocator */
Karsten Hopp 4f5437
+     XpmFreeColorsFunc free_colors;	/* Application color de-allocator */
Karsten Hopp 4f5437
+     void *color_closure;		/* Application private data to pass to
Karsten Hopp 4f5437
+ 					   alloc_color and free_colors */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ }      XpmAttributes;
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /* XpmAttributes value masks bits */
Karsten Hopp 4f5437
+ #define XpmVisual	   (1L<<0)
Karsten Hopp 4f5437
+ #define XpmColormap	   (1L<<1)
Karsten Hopp 4f5437
+ #define XpmDepth	   (1L<<2)
Karsten Hopp 4f5437
+ #define XpmSize		   (1L<<3)	/* width & height */
Karsten Hopp 4f5437
+ #define XpmHotspot	   (1L<<4)	/* x_hotspot & y_hotspot */
Karsten Hopp 4f5437
+ #define XpmCharsPerPixel   (1L<<5)
Karsten Hopp 4f5437
+ #define XpmColorSymbols	   (1L<<6)
Karsten Hopp 4f5437
+ #define XpmRgbFilename	   (1L<<7)
Karsten Hopp 4f5437
+ /* 3.2 backward compatibility code */
Karsten Hopp 4f5437
+ #define XpmInfos	   (1L<<8)
Karsten Hopp 4f5437
+ #define XpmReturnInfos	   XpmInfos
Karsten Hopp 4f5437
+ /* end 3.2 bc */
Karsten Hopp 4f5437
+ #define XpmReturnPixels	   (1L<<9)
Karsten Hopp 4f5437
+ #define XpmExtensions      (1L<<10)
Karsten Hopp 4f5437
+ #define XpmReturnExtensions XpmExtensions
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #define XpmExactColors     (1L<<11)
Karsten Hopp 4f5437
+ #define XpmCloseness	   (1L<<12)
Karsten Hopp 4f5437
+ #define XpmRGBCloseness	   (1L<<13)
Karsten Hopp 4f5437
+ #define XpmColorKey	   (1L<<14)
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #define XpmColorTable      (1L<<15)
Karsten Hopp 4f5437
+ #define XpmReturnColorTable XpmColorTable
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #define XpmReturnAllocPixels (1L<<16)
Karsten Hopp 4f5437
+ #define XpmAllocCloseColors (1L<<17)
Karsten Hopp 4f5437
+ #define XpmBitmapFormat    (1L<<18)
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #define XpmAllocColor      (1L<<19)
Karsten Hopp 4f5437
+ #define XpmFreeColors      (1L<<20)
Karsten Hopp 4f5437
+ #define XpmColorClosure    (1L<<21)
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /* XpmInfo value masks bits */
Karsten Hopp 4f5437
+ #define XpmComments        XpmInfos
Karsten Hopp 4f5437
+ #define XpmReturnComments  XpmComments
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /* XpmAttributes mask_pixel value when there is no mask */
Karsten Hopp 4f5437
+ #ifndef FOR_MSW
Karsten Hopp 4f5437
+ #define XpmUndefPixel 0x80000000
Karsten Hopp 4f5437
+ #else
Karsten Hopp 4f5437
+ /* int is only 16 bit for MSW */
Karsten Hopp 4f5437
+ #define XpmUndefPixel 0x8000
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /*
Karsten Hopp 4f5437
+  * color keys for visual type, they must fit along with the number key of
Karsten Hopp 4f5437
+  * each related element in xpmColorKeys[] defined in XpmI.h
Karsten Hopp 4f5437
+  */
Karsten Hopp 4f5437
+ #define XPM_MONO	2
Karsten Hopp 4f5437
+ #define XPM_GREY4	3
Karsten Hopp 4f5437
+ #define XPM_GRAY4	3
Karsten Hopp 4f5437
+ #define XPM_GREY 	4
Karsten Hopp 4f5437
+ #define XPM_GRAY 	4
Karsten Hopp 4f5437
+ #define XPM_COLOR	5
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /* macros for forward declarations of functions with prototypes */
Karsten Hopp 4f5437
+ #if NeedFunctionPrototypes
Karsten Hopp 4f5437
+ #define FUNC(f, t, p) extern t f p
Karsten Hopp 4f5437
+ #define LFUNC(f, t, p) static t f p
Karsten Hopp 4f5437
+ #else
Karsten Hopp 4f5437
+ #define FUNC(f, t, p) extern t f()
Karsten Hopp 4f5437
+ #define LFUNC(f, t, p) static t f()
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /*
Karsten Hopp 4f5437
+  * functions declarations
Karsten Hopp 4f5437
+  */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #ifdef __cplusplus
Karsten Hopp 4f5437
+ extern "C" {
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /* FOR_MSW, all ..Pixmap.. are excluded, only the ..XImage.. are used */
Karsten Hopp 4f5437
+ /* Same for Amiga! */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #if !defined(FOR_MSW) && !defined(AMIGA)
Karsten Hopp 4f5437
+     FUNC(XpmCreatePixmapFromData, int, (Display *display,
Karsten Hopp 4f5437
+ 					Drawable d,
Karsten Hopp 4f5437
+ 					char **data,
Karsten Hopp 4f5437
+ 					Pixmap *pixmap_return,
Karsten Hopp 4f5437
+ 					Pixmap *shapemask_return,
Karsten Hopp 4f5437
+ 					XpmAttributes *attributes));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmCreateDataFromPixmap, int, (Display *display,
Karsten Hopp 4f5437
+ 					char ***data_return,
Karsten Hopp 4f5437
+ 					Pixmap pixmap,
Karsten Hopp 4f5437
+ 					Pixmap shapemask,
Karsten Hopp 4f5437
+ 					XpmAttributes *attributes));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmReadFileToPixmap, int, (Display *display,
Karsten Hopp 4f5437
+ 				    Drawable d,
Karsten Hopp 4f5437
+ 				    char *filename,
Karsten Hopp 4f5437
+ 				    Pixmap *pixmap_return,
Karsten Hopp 4f5437
+ 				    Pixmap *shapemask_return,
Karsten Hopp 4f5437
+ 				    XpmAttributes *attributes));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmWriteFileFromPixmap, int, (Display *display,
Karsten Hopp 4f5437
+ 				       char *filename,
Karsten Hopp 4f5437
+ 				       Pixmap pixmap,
Karsten Hopp 4f5437
+ 				       Pixmap shapemask,
Karsten Hopp 4f5437
+ 				       XpmAttributes *attributes));
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmCreateImageFromData, int, (Display *display,
Karsten Hopp 4f5437
+ 				       char **data,
Karsten Hopp 4f5437
+ 				       XImage **image_return,
Karsten Hopp 4f5437
+ 				       XImage **shapemask_return,
Karsten Hopp 4f5437
+ 				       XpmAttributes *attributes));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmCreateDataFromImage, int, (Display *display,
Karsten Hopp 4f5437
+ 				       char ***data_return,
Karsten Hopp 4f5437
+ 				       XImage *image,
Karsten Hopp 4f5437
+ 				       XImage *shapeimage,
Karsten Hopp 4f5437
+ 				       XpmAttributes *attributes));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmReadFileToImage, int, (Display *display,
Karsten Hopp 4f5437
+ 				   char *filename,
Karsten Hopp 4f5437
+ 				   XImage **image_return,
Karsten Hopp 4f5437
+ 				   XImage **shapeimage_return,
Karsten Hopp 4f5437
+ 				   XpmAttributes *attributes));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmWriteFileFromImage, int, (Display *display,
Karsten Hopp 4f5437
+ 				      char *filename,
Karsten Hopp 4f5437
+ 				      XImage *image,
Karsten Hopp 4f5437
+ 				      XImage *shapeimage,
Karsten Hopp 4f5437
+ 				      XpmAttributes *attributes));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmCreateImageFromBuffer, int, (Display *display,
Karsten Hopp 4f5437
+ 					 char *buffer,
Karsten Hopp 4f5437
+ 					 XImage **image_return,
Karsten Hopp 4f5437
+ 					 XImage **shapemask_return,
Karsten Hopp 4f5437
+ 					 XpmAttributes *attributes));
Karsten Hopp 4f5437
+ #if !defined(FOR_MSW) && !defined(AMIGA)
Karsten Hopp 4f5437
+     FUNC(XpmCreatePixmapFromBuffer, int, (Display *display,
Karsten Hopp 4f5437
+ 					  Drawable d,
Karsten Hopp 4f5437
+ 					  char *buffer,
Karsten Hopp 4f5437
+ 					  Pixmap *pixmap_return,
Karsten Hopp 4f5437
+ 					  Pixmap *shapemask_return,
Karsten Hopp 4f5437
+ 					  XpmAttributes *attributes));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmCreateBufferFromImage, int, (Display *display,
Karsten Hopp 4f5437
+ 					 char **buffer_return,
Karsten Hopp 4f5437
+ 					 XImage *image,
Karsten Hopp 4f5437
+ 					 XImage *shapeimage,
Karsten Hopp 4f5437
+ 					 XpmAttributes *attributes));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmCreateBufferFromPixmap, int, (Display *display,
Karsten Hopp 4f5437
+ 					  char **buffer_return,
Karsten Hopp 4f5437
+ 					  Pixmap pixmap,
Karsten Hopp 4f5437
+ 					  Pixmap shapemask,
Karsten Hopp 4f5437
+ 					  XpmAttributes *attributes));
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+     FUNC(XpmReadFileToBuffer, int, (char *filename, char **buffer_return));
Karsten Hopp 4f5437
+     FUNC(XpmWriteFileFromBuffer, int, (char *filename, char *buffer));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmReadFileToData, int, (char *filename, char ***data_return));
Karsten Hopp 4f5437
+     FUNC(XpmWriteFileFromData, int, (char *filename, char **data));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmAttributesSize, int, ());
Karsten Hopp 4f5437
+     FUNC(XpmFreeAttributes, void, (XpmAttributes *attributes));
Karsten Hopp 4f5437
+     FUNC(XpmFreeExtensions, void, (XpmExtension *extensions,
Karsten Hopp 4f5437
+ 				   int nextensions));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmFreeXpmImage, void, (XpmImage *image));
Karsten Hopp 4f5437
+     FUNC(XpmFreeXpmInfo, void, (XpmInfo *info));
Karsten Hopp 4f5437
+     FUNC(XpmGetErrorString, char *, (int errcode));
Karsten Hopp 4f5437
+     FUNC(XpmLibraryVersion, int, ());
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     /* XpmImage functions */
Karsten Hopp 4f5437
+     FUNC(XpmReadFileToXpmImage, int, (char *filename,
Karsten Hopp 4f5437
+ 				      XpmImage *image,
Karsten Hopp 4f5437
+ 				      XpmInfo *info));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmWriteFileFromXpmImage, int, (char *filename,
Karsten Hopp 4f5437
+ 					 XpmImage *image,
Karsten Hopp 4f5437
+ 					 XpmInfo *info));
Karsten Hopp 4f5437
+ #if !defined(FOR_MSW) && !defined(AMIGA)
Karsten Hopp 4f5437
+     FUNC(XpmCreatePixmapFromXpmImage, int, (Display *display,
Karsten Hopp 4f5437
+ 					    Drawable d,
Karsten Hopp 4f5437
+ 					    XpmImage *image,
Karsten Hopp 4f5437
+ 					    Pixmap *pixmap_return,
Karsten Hopp 4f5437
+ 					    Pixmap *shapemask_return,
Karsten Hopp 4f5437
+ 					    XpmAttributes *attributes));
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+     FUNC(XpmCreateImageFromXpmImage, int, (Display *display,
Karsten Hopp 4f5437
+ 					   XpmImage *image,
Karsten Hopp 4f5437
+ 					   XImage **image_return,
Karsten Hopp 4f5437
+ 					   XImage **shapeimage_return,
Karsten Hopp 4f5437
+ 					   XpmAttributes *attributes));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmCreateXpmImageFromImage, int, (Display *display,
Karsten Hopp 4f5437
+ 					   XImage *image,
Karsten Hopp 4f5437
+ 					   XImage *shapeimage,
Karsten Hopp 4f5437
+ 					   XpmImage *xpmimage,
Karsten Hopp 4f5437
+ 					   XpmAttributes *attributes));
Karsten Hopp 4f5437
+ #if !defined(FOR_MSW) && !defined(AMIGA)
Karsten Hopp 4f5437
+     FUNC(XpmCreateXpmImageFromPixmap, int, (Display *display,
Karsten Hopp 4f5437
+ 					    Pixmap pixmap,
Karsten Hopp 4f5437
+ 					    Pixmap shapemask,
Karsten Hopp 4f5437
+ 					    XpmImage *xpmimage,
Karsten Hopp 4f5437
+ 					    XpmAttributes *attributes));
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+     FUNC(XpmCreateDataFromXpmImage, int, (char ***data_return,
Karsten Hopp 4f5437
+ 					  XpmImage *image,
Karsten Hopp 4f5437
+ 					  XpmInfo *info));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmCreateXpmImageFromData, int, (char **data,
Karsten Hopp 4f5437
+ 					  XpmImage *image,
Karsten Hopp 4f5437
+ 					  XpmInfo *info));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmCreateXpmImageFromBuffer, int, (char *buffer,
Karsten Hopp 4f5437
+ 					    XpmImage *image,
Karsten Hopp 4f5437
+ 					    XpmInfo *info));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmCreateBufferFromXpmImage, int, (char **buffer_return,
Karsten Hopp 4f5437
+ 					    XpmImage *image,
Karsten Hopp 4f5437
+ 					    XpmInfo *info));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmGetParseError, int, (char *filename,
Karsten Hopp 4f5437
+ 				 int *linenum_return,
Karsten Hopp 4f5437
+ 				 int *charnum_return));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+     FUNC(XpmFree, void, (void *ptr));
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #ifdef __cplusplus
Karsten Hopp 4f5437
+ } /* for C++ V2.0 */
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /* backward compatibility */
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /* for version 3.0c */
Karsten Hopp 4f5437
+ #define XpmPixmapColorError  XpmColorError
Karsten Hopp 4f5437
+ #define XpmPixmapSuccess     XpmSuccess
Karsten Hopp 4f5437
+ #define XpmPixmapOpenFailed  XpmOpenFailed
Karsten Hopp 4f5437
+ #define XpmPixmapFileInvalid XpmFileInvalid
Karsten Hopp 4f5437
+ #define XpmPixmapNoMemory    XpmNoMemory
Karsten Hopp 4f5437
+ #define XpmPixmapColorFailed XpmColorFailed
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #define XpmReadPixmapFile(dpy, d, file, pix, mask, att) \
Karsten Hopp 4f5437
+     XpmReadFileToPixmap(dpy, d, file, pix, mask, att)
Karsten Hopp 4f5437
+ #define XpmWritePixmapFile(dpy, file, pix, mask, att) \
Karsten Hopp 4f5437
+     XpmWriteFileFromPixmap(dpy, file, pix, mask, att)
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ /* for version 3.0b */
Karsten Hopp 4f5437
+ #define PixmapColorError  XpmColorError
Karsten Hopp 4f5437
+ #define PixmapSuccess     XpmSuccess
Karsten Hopp 4f5437
+ #define PixmapOpenFailed  XpmOpenFailed
Karsten Hopp 4f5437
+ #define PixmapFileInvalid XpmFileInvalid
Karsten Hopp 4f5437
+ #define PixmapNoMemory    XpmNoMemory
Karsten Hopp 4f5437
+ #define PixmapColorFailed XpmColorFailed
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #define ColorSymbol XpmColorSymbol
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #define XReadPixmapFile(dpy, d, file, pix, mask, att) \
Karsten Hopp 4f5437
+     XpmReadFileToPixmap(dpy, d, file, pix, mask, att)
Karsten Hopp 4f5437
+ #define XWritePixmapFile(dpy, file, pix, mask, att) \
Karsten Hopp 4f5437
+     XpmWriteFileFromPixmap(dpy, file, pix, mask, att)
Karsten Hopp 4f5437
+ #define XCreatePixmapFromData(dpy, d, data, pix, mask, att) \
Karsten Hopp 4f5437
+     XpmCreatePixmapFromData(dpy, d, data, pix, mask, att)
Karsten Hopp 4f5437
+ #define XCreateDataFromPixmap(dpy, data, pix, mask, att) \
Karsten Hopp 4f5437
+     XpmCreateDataFromPixmap(dpy, data, pix, mask, att)
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
+ #endif /* XPM_NUMBERS */
Karsten Hopp 4f5437
+ #endif
Karsten Hopp 4f5437
*** ../vim-7.3.638/src/Make_mvc.mak	2012-08-02 21:48:20.000000000 +0200
Karsten Hopp 4f5437
--- src/Make_mvc.mak	2012-08-29 13:46:05.000000000 +0200
Karsten Hopp 4f5437
***************
Karsten Hopp 4f5437
*** 89,94 ****
Karsten Hopp 4f5437
--- 89,96 ----
Karsten Hopp 4f5437
  #       Netbeans Support: NETBEANS=[yes or no] (default is yes if GUI is yes)
Karsten Hopp 4f5437
  #
Karsten Hopp 4f5437
  #       XPM Image Support: XPM=[path to XPM directory]
Karsten Hopp 4f5437
+ #       Default is "xpm", using the files included in the distribution.
Karsten Hopp 4f5437
+ #       Use "no" to disable this feature.
Karsten Hopp 4f5437
  #
Karsten Hopp 4f5437
  #       Optimization: OPTIMIZE=[SPACE, SPEED, MAXSPEED] (default is MAXSPEED)
Karsten Hopp 4f5437
  #
Karsten Hopp 4f5437
***************
Karsten Hopp 4f5437
*** 279,295 ****
Karsten Hopp 4f5437
  NETBEANS_LIB	= WSock32.lib
Karsten Hopp 4f5437
  !endif
Karsten Hopp 4f5437
  
Karsten Hopp 4f5437
! !ifdef XPM
Karsten Hopp 4f5437
  # XPM - Include support for XPM signs
Karsten Hopp 4f5437
! # You need to download or build  xpm.lib somehow.
Karsten Hopp 4f5437
! # You can get the most recent version of libXpm-*.zip from
Karsten Hopp 4f5437
! #   http://cgit.freedesktop.org/xorg/lib/libXpm
Karsten Hopp 4f5437
! # from which you must build xpm.lib yourself
Karsten Hopp 4f5437
! #   OR get and unpack: ftp://ftp.vim.org/pub/vim/pcextra/xpm.zip
Karsten Hopp 4f5437
  XPM_OBJ   = $(OBJDIR)/xpm_w32.obj
Karsten Hopp 4f5437
  XPM_DEFS  = -DFEAT_XPM_W32
Karsten Hopp 4f5437
  XPM_LIB   = $(XPM)\lib\libXpm.lib
Karsten Hopp 4f5437
! XPM_INC	  = -I $(XPM)\include
Karsten Hopp 4f5437
  !endif
Karsten Hopp 4f5437
  !endif
Karsten Hopp 4f5437
  
Karsten Hopp 4f5437
--- 281,301 ----
Karsten Hopp 4f5437
  NETBEANS_LIB	= WSock32.lib
Karsten Hopp 4f5437
  !endif
Karsten Hopp 4f5437
  
Karsten Hopp 4f5437
! !ifndef XPM
Karsten Hopp 4f5437
! # XPM is not set, use the included xpm files, depending on the architecture.
Karsten Hopp 4f5437
! !if ("$(CPU)" == "AMD64") || ("$(CPU)" == "IA64")
Karsten Hopp 4f5437
! XPM = xpm\x64
Karsten Hopp 4f5437
! !else
Karsten Hopp 4f5437
! XPM = xpm\x86
Karsten Hopp 4f5437
! !endif
Karsten Hopp 4f5437
! !endif
Karsten Hopp 4f5437
! !if "$(XPM)" != "no"
Karsten Hopp 4f5437
  # XPM - Include support for XPM signs
Karsten Hopp 4f5437
! # See the xpm directory for more information.
Karsten Hopp 4f5437
  XPM_OBJ   = $(OBJDIR)/xpm_w32.obj
Karsten Hopp 4f5437
  XPM_DEFS  = -DFEAT_XPM_W32
Karsten Hopp 4f5437
  XPM_LIB   = $(XPM)\lib\libXpm.lib
Karsten Hopp 4f5437
! XPM_INC	  = -I $(XPM)\include -I $(XPM)\..\include
Karsten Hopp 4f5437
  !endif
Karsten Hopp 4f5437
  !endif
Karsten Hopp 4f5437
  
Karsten Hopp 4f5437
*** ../vim-7.3.638/src/bigvim.bat	2010-08-15 21:57:29.000000000 +0200
Karsten Hopp 4f5437
--- src/bigvim.bat	2012-08-29 13:46:18.000000000 +0200
Karsten Hopp 4f5437
***************
Karsten Hopp 4f5437
*** 1,3 ****
Karsten Hopp 4f5437
  :: command to build big Vim with OLE, Perl, Python, Ruby and Tcl
Karsten Hopp 4f5437
! nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl512 DYNAMIC_PERL=yes PERL_VER=512 PYTHON=e:\python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=e:\python31 DYNAMIC_PYTHON3=yes PYTHON3_VER=31 RUBY=e:\ruby191 DYNAMIC_RUBY=yes RUBY_VER=191 RUBY_VER_LONG=1.9.1 TCL=e:\tcl DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes XPM=e:\xpm
Karsten Hopp 4f5437
  
Karsten Hopp 4f5437
--- 1,5 ----
Karsten Hopp 4f5437
  :: command to build big Vim with OLE, Perl, Python, Ruby and Tcl
Karsten Hopp 4f5437
! SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\"
Karsten Hopp 4f5437
! SET TOOLDIR=E:\
Karsten Hopp 4f5437
! %VCDIR%nmake -f Make_mvc.mak GUI=yes OLE=yes PERL=E:\perl514 DYNAMIC_PERL=yes PERL_VER=514 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python32 DYNAMIC_PYTHON3=yes PYTHON3_VER=32 RUBY=%TOOLDIR%ruby192 DYNAMIC_RUBY=yes RUBY_VER=192 RUBY_VER_LONG=1.9.2 TCL=%TOOLDIR%tcl TCL_VER=85 TCL_VER_LONG=8.5 DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes
Karsten Hopp 4f5437
  
Karsten Hopp 4f5437
*** ../vim-7.3.638/src/bigvim64.bat	2012-08-29 14:16:38.000000000 +0200
Karsten Hopp 4f5437
--- src/bigvim64.bat	2012-08-29 13:46:35.000000000 +0200
Karsten Hopp 4f5437
***************
Karsten Hopp 4f5437
*** 0 ****
Karsten Hopp 4f5437
--- 1,6 ----
Karsten Hopp 4f5437
+ :: command to build big Vim 64 bit with OLE, Perl, Python, Ruby and Tcl
Karsten Hopp 4f5437
+ :: First run: %VCDIR%\vcvarsall.bat x86_amd64
Karsten Hopp 4f5437
+ SET VCDIR="C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\"
Karsten Hopp 4f5437
+ SET TOOLDIR=E:\
Karsten Hopp 4f5437
+ %VCDIR%\bin\nmake -f Make_mvc.mak CPU=AMD64 GUI=yes OLE=yes PERL=E:\perl514 DYNAMIC_PERL=yes PERL_VER=514 PYTHON=%TOOLDIR%python27 DYNAMIC_PYTHON=yes PYTHON_VER=27 PYTHON3=%TOOLDIR%python32 DYNAMIC_PYTHON3=yes PYTHON3_VER=32 RUBY=%TOOLDIR%ruby192 DYNAMIC_RUBY=yes RUBY_VER=192 RUBY_VER_LONG=1.9.2 TCL=%TOOLDIR%tcl TCL_VER=85 TCL_VER_LONG=8.5 DYNAMIC_TCL=yes %1 IME=yes CSCOPE=yes
Karsten Hopp 4f5437
+ 
Karsten Hopp 4f5437
*** ../vim-7.3.638/Filelist	2012-07-16 17:27:57.000000000 +0200
Karsten Hopp 4f5437
--- Filelist	2012-08-29 13:53:52.000000000 +0200
Karsten Hopp 4f5437
***************
Karsten Hopp 4f5437
*** 349,354 ****
Karsten Hopp 4f5437
--- 349,360 ----
Karsten Hopp 4f5437
  		src/vim*.ico \
Karsten Hopp 4f5437
  		src/vim.tlb \
Karsten Hopp 4f5437
  		src/vimtbar.lib \
Karsten Hopp 4f5437
+ 		src/xpm/COPYRIGHT \
Karsten Hopp 4f5437
+ 		src/xpm/README.txt \
Karsten Hopp 4f5437
+ 		src/xpm/include/*.h \
Karsten Hopp 4f5437
+ 		src/xpm/x64/lib/libXpm.lib \
Karsten Hopp 4f5437
+ 		src/xpm/x86/lib/libXpm.a \
Karsten Hopp 4f5437
+ 		src/xpm/x86/lib/libXpm.lib \
Karsten Hopp 4f5437
  		src/vimtbar.dll \
Karsten Hopp 4f5437
  		nsis/icons/*.bmp \
Karsten Hopp 4f5437
  		nsis/icons/*.ico \
Karsten Hopp 4f5437
*** ../vim-7.3.638/src/version.c	2012-08-29 14:17:51.000000000 +0200
Karsten Hopp 4f5437
--- src/version.c	2012-08-29 14:14:19.000000000 +0200
Karsten Hopp 4f5437
***************
Karsten Hopp 4f5437
*** 721,722 ****
Karsten Hopp 4f5437
--- 721,724 ----
Karsten Hopp 4f5437
  {   /* Add new patch number below this line */
Karsten Hopp 4f5437
+ /**/
Karsten Hopp 4f5437
+     639,
Karsten Hopp 4f5437
  /**/
Karsten Hopp 4f5437
Karsten Hopp 4f5437
-- 
Karsten Hopp 4f5437
A successful man is one who makes more money than his wife can spend.
Karsten Hopp 4f5437
A successful woman is one who can find such a man.
Karsten Hopp 4f5437
Karsten Hopp 4f5437
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 4f5437
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 4f5437
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 4f5437
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///