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