]> git.saurik.com Git - wxWidgets.git/commitdiff
Updates to make VA 3.0 compile again, particularly xpm
authorDavid Webster <Dave.Webster@bhmi.com>
Tue, 15 Feb 2000 05:49:02 +0000 (05:49 +0000)
committerDavid Webster <Dave.Webster@bhmi.com>
Tue, 15 Feb 2000 05:49:02 +0000 (05:49 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6019 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

30 files changed:
include/wx/os2/setup.h
include/wx/os2/setup0.h
samples/minimal/makefile.va
samples/minimal/minimal.rcO
src/makeprog.va
src/makeva.env
src/os2/makefile.va
src/xpm/MAKEFILE.VA
src/xpm/attrib.c
src/xpm/crbuffri.c
src/xpm/crdatfri.c
src/xpm/create.c
src/xpm/crifrbuf.c
src/xpm/crifrdat.c
src/xpm/data.c
src/xpm/hashtab.c
src/xpm/image.c
src/xpm/info.c
src/xpm/misc.c
src/xpm/parse.c
src/xpm/rdftodat.c
src/xpm/rdftoi.c
src/xpm/rgb.c
src/xpm/rgbtab.h
src/xpm/scan.c
src/xpm/simx.c
src/xpm/simx.h
src/xpm/wrffrdat.c
src/xpm/wrffri.c
src/xpm/xpm.h

index c9d5f43290beb6d6f3e64f896ed89db3741d42e4..442cca6dd9bd3c4f5cfcec9bfbb9ff2c81252312 100644 (file)
@@ -33,7 +33,7 @@
 #define wxUSE_GIF              1 // Utilize GIF images
 
 #if defined(__VISAGECPP__) && (__IBMCPP__ < 400 || __IBMC__ < 400 )
-#define wxUSE_LONG_LONG        1
+#define wxUSE_LONGLONG        1
 #endif
 
 #define wxUSE_NET_API          1 // Utilize OS/2's UPM netapi's
 
 #define wxUSE_CHECKLISTBOX 1
                                     // Define 1 to compile check listbox
-
 #define wxUSE_CARET       1
                                     // Define 1 to use wxCaret class
 #define wxUSE_XPM_IN_OS2  1
                                   // Set this to 0 if your compiler can't cope
                                   // with omission of prototype parameters.
 
-#define wxUSE_ODBC                1
+#define wxUSE_ODBC                0
                                   // Define 1 to use ODBC classes
 
 #define wxODBC_FWD_ONLY_CURSORS   1
 #define wxUSE_TOOLBAR 1
 #define wxUSE_TOOLBAR_NATIVE 1
 
-// wxSpinCtrl class
-#define wxUSE_SPINCTRL 1
-
 // wxStatusBar class
 #define wxUSE_STATUSBAR 1
 
+// wxSpinCtrl class
+#define wxUSE_SPINCTRL 1
+
 // progress dialog class for lengthy operations
 #define wxUSE_PROGRESSDLG 1
 
index aaae8c273dfd8ad53a1e419fadea2355c6efccc4..442cca6dd9bd3c4f5cfcec9bfbb9ff2c81252312 100644 (file)
@@ -33,7 +33,7 @@
 #define wxUSE_GIF              1 // Utilize GIF images
 
 #if defined(__VISAGECPP__) && (__IBMCPP__ < 400 || __IBMC__ < 400 )
-#define wxUSE_LONG_LONG        1
+#define wxUSE_LONGLONG        1
 #endif
 
 #define wxUSE_NET_API          1 // Utilize OS/2's UPM netapi's
index fbd94a1e473c5e2610f3ad7d4b8aee1b061643ed..c2449e199c0ba2ea505104cd4d6a174b16527640 100644 (file)
@@ -9,7 +9,7 @@
 # Use FINAL=1 argument to nmake to build final version with no debug info.
 
 # Set WXDIR for your system
-WXDIR = j:\dev\wx2\wxWindows
+WXDIR = $(WXWIN)
 
 PROGRAM=minimal
 OBJECTS = $(PROGRAM).obj
index 96d3b9cc7bafacfc3e773079252a0fb15376565f..31a404acd5d0f4c995dc8b11673c8c393fa4283c 100644 (file)
@@ -1,5 +1,5 @@
 ICON     1   PRELOAD   "mondros2.ico"
-#include "H:\DEV\WX2\wxWindows\include\wx\os2\wx.rc"
+#include "G:\DEV\WX2\wxWindows\include\wx\os2\wx.rc"
 
 #define MINIMAL_QUIT   1
 #define MINIMAL_ABOUT  102
index e76d63ed56487fdbfe47afb7254ebe3d2dbb9098..6cc7218ea03fe963fb4873c0cce2e3052d20593a 100644 (file)
@@ -39,8 +39,8 @@ $(PROGRAM).exe:      $(DUMMYOBJ) $(WXLIB) $(OBJECTS) $(PROGRAM).res
 <<
   $(RC) $(PROGRAM).res $(PROGRAM).exe
 
-$(PROGRAM).res :      $(PROGRAM).rc $(WXDIR)\include\wx\os2\wx.rc
-    $(RC) -I $(WXDIR)\include -D __VISAGECPP__ -r $(PROGRAM).rc $(PROGRAM).res
+$(PROGRAM).res :      $(PROGRAM).rcO $(WXDIR)\include\wx\os2\wx.rc
+    $(RC) -I $(WXDIR)\include -D __VISAGECPP__ -r $(PROGRAM).rcO $(PROGRAM).res
 
 clean:
         -erase $(OBJECTS)
index 58008266d401ed94fc8070e1997ffb56bcf1cc6d..d15808f6c2e7af1b8b17f9dd7484804abee7dea7 100644 (file)
@@ -18,6 +18,10 @@ OS2LIBFLAGS=/NOL /NOE
 # Set an environment variable, WXWIN, to your WXWIN directory
 WXDIR=$(WXWIN)
 
+# Set to where your UPM and LAN libs are
+UPMLIB=D:\MUGLIB
+NETLIB=D:\IBMLAN\NETSRC\LIB
+
 WXSRC=$(WXDIR)\src\os2
 WXINC=$(WXDIR)\include
 WXBASESRC=$(WXDIR)\src\common
@@ -109,7 +113,7 @@ D=$(D)DLL
 
 
 INC=-I$(WXINC) -I$(WXDIR)/src/jpeg -I$(WXDIR)/src/zlib -I$(EXTRAINC)
-LINKLIBS=CPPOM30I.LIB CPPOOC3I.LIB OS2386.LIB UPM32.LIB NETAPI32.LIB
+LINKLIBS=CPPOM30I.LIB CPPOOC3I.LIB OS2386.LIB $(UPMLIB)\UPM32.LIB $(NETLIB)\NETAPI32.LIB
 EXTRALIBS=$(WXDIR)\lib\os2png.lib $(WXDIR)\lib\os2zlib.lib $(WXDIR)\lib\os2jpeg.lib $(WXDIR)\lib\os2xpm.lib
 LIBS=$(WXLIB) $(EXTRALIBS)
 
index 4863d1cb49e3c8a95962b4941fad2800ac119301..ad63b0030f17b5c18c9a06c0dba353045c10b8b0 100644 (file)
@@ -573,7 +573,7 @@ HTMLLIBOBJS = \
 OBJECTS = $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) $(NONESSENTIALOBJS) $(OS2OBJS)
 
 # Normal, static library
-all:  $(OBJECTS) $(PERIPH_TARGET) png zlib xpm jpeg $(LIBTARGET)
+all:  $(OBJECTS) $(PERIPH_TARGET) png zlib $(LIBTARGET)
 
 dirs: $(OS2DIR)\$D $(COMMDIR)\$D $(GENDIR)\$D $(HTMLDIR)\$D
 
index 1f01650f76a57d3705bae42d752760982635bffc..9f7c573468a21c8fe7a9c0dce4244d106336da4c 100644 (file)
@@ -90,14 +90,57 @@ OBJECTS = \
   ..\xpm\$D\wrffrdat.obj \
   ..\xpm\$D\wrffri.obj
 
+LIBOBJECTS = \
+  attrib.obj \
+  crbuffri.obj \
+  crdatfri.obj \
+  create.obj \
+  crifrbuf.obj \
+  crifrdat.obj \
+  data.obj \
+  image.obj \
+  info.obj \
+  hashtab.obj \
+  misc.obj \
+  parse.obj \
+  rdftodat.obj \
+  rdftoi.obj \
+  rgb.obj \
+  scan.obj \
+  simx.obj \
+  wrffrdat.obj \
+  wrffri.obj
+
+$(LIBOBJECTS):
+  copy ..\xpm\$D\attrib.obj
+  copy ..\xpm\$D\crbuffri.obj
+  copy ..\xpm\$D\crdatfri.obj
+  copy ..\xpm\$D\create.obj
+  copy ..\xpm\$D\crifrbuf.obj
+  copy ..\xpm\$D\crifrdat.obj
+  copy ..\xpm\$D\data.obj
+  copy ..\xpm\$D\image.obj
+  copy ..\xpm\$D\info.obj
+  copy ..\xpm\$D\hashtab.obj
+  copy ..\xpm\$D\misc.obj
+  copy ..\xpm\$D\parse.obj
+  copy ..\xpm\$D\rdftodat.obj
+  copy ..\xpm\$D\rdftoi.obj
+  copy ..\xpm\$D\rgb.obj
+  copy ..\xpm\$D\scan.obj
+  copy ..\xpm\$D\simx.obj
+  copy ..\xpm\$D\wrffrdat.obj
+  copy ..\xpm\$D\wrffri.obj
+
 all:  $(OS2XPMLIB)
 
-$(WXDIR)\lib\os2xpm.lib: $(OBJECTS)
+$(WXDIR)\lib\os2xpm.lib: $(LIBOBJECTS)
  touch $(WXDIR)\lib\os2xpm.lib
  del $(WXDIR)\lib\os2xpm.lib
  ilib $(OS2LIBFLAGS) $@ @<<
     $**;
 <<
+  del *.obj
 
 clean:
         del      $(OS2XPMLIB)
index 04b843b995b896faa80f9337bc1b70a8d8241d7a..fce8eca39406fd1a242c9a485b6639f868df83d6 100644 (file)
@@ -43,11 +43,17 @@ LFUNC(FreeOldColorTable, void, (XpmColor **colorTable, int ncolors));
 /*
  * Create a colortable compatible with the old style colortable
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int
+CreateOldColorTable(XpmColor* ct, int ncolors, XpmColor*** oldct)
+#else
 static int
 CreateOldColorTable(ct, ncolors, oldct)
     XpmColor *ct;
     int ncolors;
     XpmColor ***oldct;
+#endif
 {
     XpmColor **colorTable, **color;
     int a;
@@ -63,10 +69,15 @@ CreateOldColorTable(ct, ncolors, oldct)
     return (XpmSuccess);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void FreeOldColorTable(XpmColor** colorTable, int ncolors)
+#else
 static void
 FreeOldColorTable(colorTable, ncolors)
     XpmColor **colorTable;
     int ncolors;
+#endif
 {
     int a, b;
     XpmColor **color;
@@ -88,10 +99,15 @@ FreeOldColorTable(colorTable, ncolors)
 /*
  * Free the computed color table
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void xpmFreeColorTable(XpmColor* colorTable, int ncolors)
+#else
 void
 xpmFreeColorTable(colorTable, ncolors)
     XpmColor *colorTable;
     int ncolors;
+#endif
 {
     int a, b;
     XpmColor *color;
@@ -110,10 +126,15 @@ xpmFreeColorTable(colorTable, ncolors)
 /*
  * Free array of extensions
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void XpmFreeExtensions(XpmExtension* extensions, int nextensions)
+#else
 void
 XpmFreeExtensions(extensions, nextensions)
     XpmExtension *extensions;
     int nextensions;
+#endif
 {
     unsigned int i, j, nlines;
     XpmExtension *ext;
@@ -147,9 +168,15 @@ XpmAttributesSize()
 /*
  * Init returned data to free safely later on
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void
+xpmInitAttributes(XpmAttributes* attributes)
+#else
 void
 xpmInitAttributes(attributes)
     XpmAttributes *attributes;
+#endif
 {
     if (attributes) {
        attributes->pixels = NULL;
@@ -175,11 +202,16 @@ xpmInitAttributes(attributes)
 /*
  * Fill in the XpmAttributes with the XpmImage and the XpmInfo
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void xpmSetAttributes(XpmAttributes* attributes, XpmImage* image, XpmInfo* info)
+#else
 void
 xpmSetAttributes(attributes, image, info)
     XpmAttributes *attributes;
     XpmImage *image;
     XpmInfo *info;
+#endif
 {
     if (attributes->valuemask & XpmReturnColorTable) {
        attributes->colorTable = image->colorTable;
@@ -245,9 +277,14 @@ xpmSetAttributes(attributes, image, info)
  * Free the XpmAttributes structure members
  * but the structure itself
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void XpmFreeAttributes(XpmAttributes* attributes)
+#else
 void
 XpmFreeAttributes(attributes)
     XpmAttributes *attributes;
+#endif
 {
     if (attributes->valuemask & XpmReturnPixels && attributes->npixels) {
        XpmFree(attributes->pixels);
index 33e4fd9bffeac17609953b902874858995dd9ed5..f728fe48f7c1c386def6d9d8d03d6881629c0f07 100644 (file)
@@ -49,6 +49,16 @@ LFUNC(WriteExtensions, void, (char *dataptr, unsigned int *used_size,
 LFUNC(ExtensionsSize, int, (XpmExtension *ext, unsigned int num));
 LFUNC(CommentsSize, int, (XpmInfo *info));
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int XpmCreateBufferFromImage(
+  Display*       display
+, char**         buffer_return
+, XImage*        image
+, XImage*        shapeimage
+, XpmAttributes* attributes
+)
+#else
 int
 XpmCreateBufferFromImage(display, buffer_return, image, shapeimage, attributes)
     Display *display;
@@ -56,6 +66,7 @@ XpmCreateBufferFromImage(display, buffer_return, image, shapeimage, attributes)
     XImage *image;
     XImage *shapeimage;
     XpmAttributes *attributes;
+#endif
 {
     XpmImage xpmimage;
     XpmInfo info;
@@ -94,11 +105,16 @@ XpmCreateBufferFromImage(display, buffer_return, image, shapeimage, attributes)
       goto error; \
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int XpmCreateBufferFromXpmImage(char** buffer_return, XpmImage* image, XpmInfo* info)
+#else
 int
 XpmCreateBufferFromXpmImage(buffer_return, image, info)
     char **buffer_return;
     XpmImage *image;
     XpmInfo *info;
+#endif
 {
     /* calculation variables */
     int ErrorStatus;
@@ -198,7 +214,7 @@ XpmCreateBufferFromXpmImage(buffer_return, image, info)
     }
     ErrorStatus = WriteColors(&ptr, &ptr_size, &used_size,
                              image->colorTable, image->ncolors, image->cpp);
+
     if (ErrorStatus != XpmSuccess)
        RETURN(ErrorStatus);
 
@@ -246,6 +262,17 @@ error:
     return (ErrorStatus);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int WriteColors(
+  char**        dataptr
+, unsigned int* data_size
+, unsigned int* used_size
+, XpmColor*     colors
+, unsigned int  ncolors
+, unsigned int  cpp
+)
+#else
 static int
 WriteColors(dataptr, data_size, used_size, colors, ncolors, cpp)
     char **dataptr;
@@ -254,6 +281,7 @@ WriteColors(dataptr, data_size, used_size, colors, ncolors, cpp)
     XpmColor *colors;
     unsigned int ncolors;
     unsigned int cpp;
+#endif
 {
     char buf[BUFSIZ];
     unsigned int a, key, l;
@@ -292,6 +320,18 @@ WriteColors(dataptr, data_size, used_size, colors, ncolors, cpp)
     return (XpmSuccess);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void WritePixels(
+  char*         dataptr
+, unsigned int* used_size
+, unsigned int  width
+, unsigned int  height
+, unsigned int  cpp
+, unsigned int* pixels
+, XpmColor*     colors
+)
+#else
 static void
 WritePixels(dataptr, used_size, width, height, cpp, pixels, colors)
     char *dataptr;
@@ -301,6 +341,7 @@ WritePixels(dataptr, used_size, width, height, cpp, pixels, colors)
     unsigned int cpp;
     unsigned int *pixels;
     XpmColor *colors;
+#endif
 {
     char *s = dataptr;
     unsigned int x, y, h;
@@ -325,10 +366,16 @@ WritePixels(dataptr, used_size, width, height, cpp, pixels, colors)
     *used_size += s - dataptr;
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int
+ExtensionsSize(XpmExtension* ext, unsigned int num)
+#else
 static int
 ExtensionsSize(ext, num)
     XpmExtension *ext;
     unsigned int num;
+#endif
 {
     unsigned int x, y, a, size;
     char **line;
@@ -346,12 +393,22 @@ ExtensionsSize(ext, num)
     return size + 13;
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void WriteExtensions(
+  char*         dataptr
+, unsigned int* used_size
+, XpmExtension* ext
+, unsigned int  num
+)
+#else
 static void
 WriteExtensions(dataptr, used_size, ext, num)
     char *dataptr;
     unsigned int *used_size;
     XpmExtension *ext;
     unsigned int num;
+#endif
 {
     unsigned int x, y, a;
     char **line;
@@ -380,9 +437,13 @@ WriteExtensions(dataptr, used_size, ext, num)
     *used_size += s - dataptr + 13;
 }
 
-static int
-CommentsSize(info)
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int CommentsSize(XpmInfo* info)
+#else
+static int CommentsSize(info)
     XpmInfo *info;
+#endif
 {
     int size = 0;
 
index b160846708d163a0ba459d60c7c4915c42021881..f55d6d8067cb98f6fb081da774babf4b4b911688 100644 (file)
@@ -50,6 +50,17 @@ LFUNC(CreateExtensions, void, (char **dataptr, unsigned int offset,
                               XpmExtension *ext, unsigned int num,
                               unsigned int ext_nlines));
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int
+XpmCreateDataFromImage(
+  Display*       display
+, char***        data_return
+, XImage*        image
+, XImage*        shapeimage
+, XpmAttributes* attributes
+)
+#else
 int
 XpmCreateDataFromImage(display, data_return, image, shapeimage, attributes)
     Display *display;
@@ -57,6 +68,7 @@ XpmCreateDataFromImage(display, data_return, image, shapeimage, attributes)
     XImage *image;
     XImage *shapeimage;
     XpmAttributes *attributes;
+#endif
 {
     XpmImage xpmimage;
     XpmInfo info;
@@ -92,11 +104,17 @@ XpmCreateDataFromImage(display, data_return, image, shapeimage, attributes)
       goto exit; \
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int
+XpmCreateDataFromXpmImage(char*** data_return, XpmImage* image, XpmInfo* info)
+#else
 int
 XpmCreateDataFromXpmImage(data_return, image, info)
     char ***data_return;
     XpmImage *image;
     XpmInfo *info;
+#endif
 {
     /* calculation variables */
     int ErrorStatus;
@@ -209,6 +227,17 @@ exit:
     return(ErrorStatus);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int
+CreateColors(
+  char**        dataptr
+, unsigned int* data_size
+, XpmColor*     colors
+, unsigned int  ncolors
+, unsigned int  cpp
+)
+#else
 static int
 CreateColors(dataptr, data_size, colors, ncolors, cpp)
     char **dataptr;
@@ -216,6 +245,7 @@ CreateColors(dataptr, data_size, colors, ncolors, cpp)
     XpmColor *colors;
     unsigned int ncolors;
     unsigned int cpp;
+#endif
 {
     char buf[BUFSIZ];
     unsigned int a, key, l;
@@ -249,6 +279,17 @@ CreateColors(dataptr, data_size, colors, ncolors, cpp)
     return (XpmSuccess);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void CreatePixels(
+  char**        dataptr
+, unsigned int  width
+, unsigned int  height
+, unsigned int  cpp
+, unsigned int* pixels
+, XpmColor*     colors
+)
+#else
 static void
 CreatePixels(dataptr, width, height, cpp, pixels, colors)
     char **dataptr;
@@ -257,6 +298,7 @@ CreatePixels(dataptr, width, height, cpp, pixels, colors)
     unsigned int cpp;
     unsigned int *pixels;
     XpmColor *colors;
+#endif
 {
     char *s;
     unsigned int x, y, h, offset;
@@ -281,12 +323,22 @@ CreatePixels(dataptr, width, height, cpp, pixels, colors)
     *s = '\0';
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void CountExtensions(
+  XpmExtension* ext
+, unsigned int  num
+, unsigned int* ext_size
+, unsigned int* ext_nlines
+)
+#else
 static void
 CountExtensions(ext, num, ext_size, ext_nlines)
     XpmExtension *ext;
     unsigned int num;
     unsigned int *ext_size;
     unsigned int *ext_nlines;
+#endif
 {
     unsigned int x, y, a, size, nlines;
     char **line;
@@ -307,6 +359,17 @@ CountExtensions(ext, num, ext_size, ext_nlines)
     *ext_nlines = nlines + 1;
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void
+CreateExtensions(
+  char**        dataptr
+, unsigned int  offset
+, XpmExtension* ext
+, unsigned int  num
+, unsigned int  ext_nlines
+)
+#else
 static void
 CreateExtensions(dataptr, offset, ext, num, ext_nlines)
     char **dataptr;
@@ -314,6 +377,7 @@ CreateExtensions(dataptr, offset, ext, num, ext_nlines)
     XpmExtension *ext;
     unsigned int num;
     unsigned int ext_nlines;
+#endif
 {
     unsigned int x, y, a, b;
     char **line;
index ebd69513033b8334f993943da9e8e5ca16ea32b0..a40b9882f7a8a27b4f618bf9005e7598bf294741 100644 (file)
@@ -141,9 +141,21 @@ LFUNC(APutImagePixels, void, (XImage *ximage, unsigned int width,
 # endif/* AMIGA */
 #else  /* FOR_MSW */
 /* FOR_MSW pixel routine */
+#ifdef __OS2__
+LFUNC(MSWPutImagePixels, void, (
+  HPS           hps
+, Display*      dc
+, XImage*       image
+, unsigned int  width
+, unsigned int  height
+, unsigned int* pixelindex
+, Pixel*        pixels
+));
+#else
 LFUNC(MSWPutImagePixels, void, (Display *dc, XImage *image,
                                unsigned int width, unsigned int height,
                                unsigned int *pixelindex, Pixel *pixels));
+#endif
 #endif /* FOR_MSW */
 
 #ifdef NEED_STRCASECMP
@@ -153,9 +165,14 @@ FUNC(xpmstrcasecmp, int, (char *s1, char *s2));
  * in case strcasecmp is not provided by the system here is one
  * which does the trick
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmstrcasecmp(register char* s1, register char* s2)
+#else
 int
 xpmstrcasecmp(s1, s2)
     register char *s1, *s2;
+#endif
 {
     register int c1, c2;
 
@@ -175,9 +192,14 @@ xpmstrcasecmp(s1, s2)
 /*
  * return the default color key related to the given visual
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int xpmVisualType(Visual* visual)
+#else
 static int
 xpmVisualType(visual)
     Visual *visual;
+#endif
 {
 #ifndef FOR_MSW
 # ifndef AMIGA
@@ -211,9 +233,14 @@ typedef struct {
     long closeness;
 }      CloseColor;
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int closeness_cmp(Const void* a, Const void* b)
+#else
 static int
 closeness_cmp(a, b)
     Const void *a, *b;
+#endif
 {
     CloseColor *x = (CloseColor *) a, *y = (CloseColor *) b;
 
@@ -226,19 +253,37 @@ closeness_cmp(a, b)
  *   call XParseColor if colorname is given, return negative value if failure
  *   call XAllocColor and return 0 if failure, positive otherwise
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int
+AllocColor(
+  Display*      display
+, Colormap      colormap
+, char*         colorname
+, XColor*       xcolor
+, void*         closure
+)
+#else
 static int
 AllocColor(display, colormap, colorname, xcolor, closure)
     Display *display;
-    Colormap colormap;
+    Colormap* colormap;
     char *colorname;
     XColor *xcolor;
     void *closure;             /* not used */
+#endif
 {
     int status;
     if (colorname)
+#ifdef __OS2__
+       if (!XParseColor(display, &colormap, colorname, xcolor))
+           return -1;
+    status = XAllocColor(display, &colormap, xcolor);
+#else
        if (!XParseColor(display, colormap, colorname, xcolor))
            return -1;
     status = XAllocColor(display, colormap, xcolor);
+#endif
     return status != 0 ? 1 : 0;
 }
 
@@ -304,17 +349,17 @@ SetCloseColor(display, colormap, visual, col, image_pixel, mask_pixel,
      * occurred, so we try the next closest color, and so on, until no more
      * colors are within closeness of the target. If we knew that the
      * colormap had changed, we could skip this sequence.
-     * 
+     *
      * If _none_ of the colors within closeness of the target can be allocated,
      * then we can finally be pretty sure that the colormap has actually
      * changed. In this case we try to allocate the original color (again),
      * then try the closecolor stuff (again)...
-     * 
+     *
      * In theory it would be possible for an infinite loop to occur if another
      * process kept changing the colormap every time we sorted it, so we set
      * a maximum on the number of iterations. After this many tries, we use
      * XGrabServer() to ensure that the colormap remains unchanged.
-     * 
+     *
      * This approach gives particularly bad worst case performance - as many as
      * <MaximumIterations> colormap reads and sorts may be needed, and as
      * many as <MaximumIterations> * <ColormapSize> attempted allocations
@@ -434,6 +479,29 @@ SetCloseColor(display, colormap, visual, col, image_pixel, mask_pixel,
  * return 0 if success, 1 otherwise.
  */
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int
+SetColor(
+  Display*          display
+, Colormap          colormap
+, Visual*           visual
+, char*             colorname
+, unsigned int      color_index
+, Pixel*            image_pixel
+, Pixel*            mask_pixel
+, unsigned int*     mask_pixel_index
+, Pixel*            alloc_pixels
+, unsigned int*     nalloc_pixels
+, Pixel*            used_pixels
+, unsigned int*     nused_pixels
+, XpmAttributes*    attributes
+, XColor*           cols
+, int               ncols
+, XpmAllocColorFunc allocColor
+, void*             closure
+)
+#else
 static int
 SetColor(display, colormap, visual, colorname, color_index,
         image_pixel, mask_pixel, mask_pixel_index,
@@ -455,6 +523,7 @@ SetColor(display, colormap, visual, colorname, color_index,
     int ncols;
     XpmAllocColorFunc allocColor;
     void *closure;
+#endif
 {
     XColor xcolor;
     int status;
@@ -480,8 +549,12 @@ SetColor(display, colormap, visual, colorname, color_index,
        *image_pixel = xcolor.pixel;
 #ifndef FOR_MSW
        *mask_pixel = 1;
+#else
+#ifdef __OS2__
+       *mask_pixel = OS2RGB(0,0,0);
 #else
        *mask_pixel = RGB(0,0,0);
+#endif
 #endif
        used_pixels[(*nused_pixels)++] = xcolor.pixel;
     } else {
@@ -489,7 +562,11 @@ SetColor(display, colormap, visual, colorname, color_index,
 #ifndef FOR_MSW
        *mask_pixel = 0;
 #else
-       *mask_pixel = RGB(255,255,255);
+#ifdef __OS2__
+       *mask_pixel = OS2RGB(0,0,0);
+#else
+       *mask_pixel = RGB(0,0,0);
+#endif
 #endif
        /* store the color table index */
        *mask_pixel_index = color_index;
@@ -497,7 +574,23 @@ SetColor(display, colormap, visual, colorname, color_index,
     return (0);
 }
 
-
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int
+CreateColors(
+  Display*          display
+, XpmAttributes*    attributes
+, XpmColor*         colors
+, unsigned int      ncolors
+, Pixel*            image_pixels
+, Pixel*            mask_pixels
+, unsigned int*     mask_pixel_index
+, Pixel*            alloc_pixels
+, unsigned int*     nalloc_pixels
+, Pixel*            used_pixels
+, unsigned int*     nused_pixels
+)
+#else
 static int
 CreateColors(display, attributes, colors, ncolors, image_pixels, mask_pixels,
              mask_pixel_index, alloc_pixels, nalloc_pixels,
@@ -513,6 +606,7 @@ CreateColors(display, attributes, colors, ncolors, image_pixels, mask_pixels,
     unsigned int *nalloc_pixels;
     Pixel *used_pixels;
     unsigned int *nused_pixels;
+#endif
 {
     /* variables stored in the XpmAttributes structure */
     Visual *visual;
@@ -730,6 +824,17 @@ CreateColors(display, attributes, colors, ncolors, image_pixels, mask_pixels,
 
 
 /* default FreeColors function, simply call XFreeColors */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int
+FreeColors(
+  Display*      display
+, Colormap      colormap
+, Pixel*        pixels
+, int           n
+, void*         closure
+)
+#else
 static int
 FreeColors(display, colormap, pixels, n, closure)
     Display *display;
@@ -737,6 +842,7 @@ FreeColors(display, colormap, pixels, n, closure)
     Pixel *pixels;
     int n;
     void *closure;             /* not used */
+#endif
 {
     return XFreeColors(display, colormap, pixels, n, 0);
 }
@@ -750,6 +856,16 @@ FreeColors(display, colormap, pixels, n, closure)
       goto error; \
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int XpmCreateImageFromXpmImage(
+  Display*       display
+, XpmImage*      image
+, XImage**       image_return
+, XImage**       shapeimage_return
+, XpmAttributes* attributes
+)
+#else
 int
 XpmCreateImageFromXpmImage(display, image,
                           image_return, shapeimage_return, attributes)
@@ -758,7 +874,13 @@ XpmCreateImageFromXpmImage(display, image,
     XImage **image_return;
     XImage **shapeimage_return;
     XpmAttributes *attributes;
+#endif
 {
+#ifdef __OS2__
+     HAB          hab;
+     HPS          hps;
+     SIZEL        sizl = {0, 0};
+#endif
     /* variables stored in the XpmAttributes structure */
     Visual *visual;
     Colormap colormap;
@@ -886,8 +1008,14 @@ XpmCreateImageFromXpmImage(display, image,
                        image->data, image_pixels);
 # endif
 #else  /* FOR_MSW */
+#ifdef __OS2__
+ hps = GpiCreatePS(hab, *display, &sizl, GPIA_ASSOC|PU_PELS);
+       MSWPutImagePixels(hps, display, ximage, image->width, image->height,
+                         image->data, image_pixels);
+#else
        MSWPutImagePixels(display, ximage, image->width, image->height,
                          image->data, image_pixels);
+#endif
 #endif
     }
     /* create the shape mask image */
@@ -906,8 +1034,14 @@ XpmCreateImageFromXpmImage(display, image,
                        image->data, mask_pixels);
 # endif
 #else  /* FOR_MSW */
+#ifdef __OS2__
+ hps = GpiCreatePS(hab, *display, &sizl, GPIA_ASSOC|PU_PELS);
+       MSWPutImagePixels(hps, display, shapeimage, image->width, image->height,
+                         image->data, mask_pixels);
+#else
        MSWPutImagePixels(display, shapeimage, image->width, image->height,
                          image->data, mask_pixels);
+#endif
 #endif
 
     }
@@ -964,6 +1098,18 @@ error:
 /*
  * Create an XImage with its data
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int CreateXImage(
+  Display*      display
+, Visual*       visual
+, unsigned int  depth
+, int           format
+, unsigned int  width
+, unsigned int  height
+, XImage**      image_return
+)
+#else
 static int
 CreateXImage(display, visual, depth, format, width, height, image_return)
     Display *display;
@@ -973,6 +1119,7 @@ CreateXImage(display, visual, depth, format, width, height, image_return)
     unsigned int width;
     unsigned int height;
     XImage **image_return;
+#endif
 {
     int bitmap_pad;
 
@@ -1057,10 +1204,16 @@ static unsigned char Const _reverse_byte[0x100] = {
     0x1f, 0x9f, 0x5f, 0xdf, 0x3f, 0xbf, 0x7f, 0xff
 };
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int
+_XReverse_Bytes(register unsigned char* bpt, register int nb)
+#else
 static int
 _XReverse_Bytes(bpt, nb)
     register unsigned char *bpt;
     register int nb;
+#endif
 {
     do {
        *bpt = _reverse_byte[*bpt];
@@ -1070,10 +1223,15 @@ _XReverse_Bytes(bpt, nb)
 }
 
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void xpm_xynormalizeimagebits(register unsigned char* bp, register XImage* img)
+#else
 void
 xpm_xynormalizeimagebits(bp, img)
     register unsigned char *bp;
     register XImage *img;
+#endif
 {
     register unsigned char c;
 
@@ -1100,10 +1258,15 @@ xpm_xynormalizeimagebits(bp, img)
        _XReverse_Bytes(bp, img->bitmap_unit >> 3);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void xpm_znormalizeimagebits(register unsigned char* bp, register XImage* img)
+#else
 void
 xpm_znormalizeimagebits(bp, img)
     register unsigned char *bp;
     register XImage *img;
+#endif
 {
     register unsigned char c;
 
@@ -1145,6 +1308,15 @@ static unsigned char Const _lomask[0x09] = {
 static unsigned char Const _himask[0x09] = {
 0xff, 0xfe, 0xfc, 0xf8, 0xf0, 0xe0, 0xc0, 0x80, 0x00};
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void _putbits(
+  register char* src
+, int            dstoffset
+, register int   numbits
+, register char* dst
+)
+#else
 static void
 _putbits(src, dstoffset, numbits, dst)
     register char *src;                        /* address of source bit string */
@@ -1153,6 +1325,7 @@ _putbits(src, dstoffset, numbits, dst)
     register int numbits;              /* number of bits to copy to
                                         * destination */
     register char *dst;                        /* address of destination bit string */
+#endif
 {
     register unsigned char chlo, chhi;
     int hibits;
@@ -1193,6 +1366,16 @@ _putbits(src, dstoffset, numbits, dst)
  *     copy the temp back into the destination image data
  */
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void PutImagePixels(
+, XImage*       image
+, unsigned int  width
+, unsigned int  height
+, unsigned int* pixelindex
+, Pixel*        pixels
+)
+#else
 static void
 PutImagePixels(image, width, height, pixelindex, pixels)
     XImage *image;
@@ -1200,6 +1383,7 @@ PutImagePixels(image, width, height, pixelindex, pixels)
     unsigned int height;
     unsigned int *pixelindex;
     Pixel *pixels;
+#endif
 {
     register char *src;
     register char *dst;
@@ -1280,6 +1464,17 @@ static unsigned long byteorderpixel = MSBFirst << 24;
    3.2e code - by default you get the speeded-up version.
 */
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void
+PutImagePixels32(
+, XImage*       image
+, unsigned int  width
+, unsigned int  height
+, unsigned int* pixelindex
+, Pixel*        pixels
+)
+#else
 static void
 PutImagePixels32(image, width, height, pixelindex, pixels)
     XImage *image;
@@ -1287,6 +1482,7 @@ PutImagePixels32(image, width, height, pixelindex, pixels)
     unsigned int height;
     unsigned int *pixelindex;
     Pixel *pixels;
+#endif
 {
     unsigned char *data;
     unsigned int *iptr;
@@ -1390,6 +1586,16 @@ PutImagePixels32(image, width, height, pixelindex, pixels)
  * write pixels into a 16-bits Z image data structure
  */
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void PutImagePixels16(
+, XImage*       image
+, unsigned int  width
+, unsigned int  height
+, unsigned int* pixelindex
+, Pixel*        pixels
+)
+#else
 static void
 PutImagePixels16(image, width, height, pixelindex, pixels)
     XImage *image;
@@ -1397,6 +1603,7 @@ PutImagePixels16(image, width, height, pixelindex, pixels)
     unsigned int height;
     unsigned int *pixelindex;
     Pixel *pixels;
+#endif
 {
     unsigned char *data;
     unsigned int *iptr;
@@ -1471,6 +1678,16 @@ PutImagePixels16(image, width, height, pixelindex, pixels)
  * write pixels into a 8-bits Z image data structure
  */
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void PutImagePixels8(
+, XImage*       image
+, unsigned int  width
+, unsigned int  height
+, unsigned int* pixelindex
+, Pixel*        pixels
+)
+#else
 static void
 PutImagePixels8(image, width, height, pixelindex, pixels)
     XImage *image;
@@ -1478,6 +1695,7 @@ PutImagePixels8(image, width, height, pixelindex, pixels)
     unsigned int height;
     unsigned int *pixelindex;
     Pixel *pixels;
+#endif
 {
     char *data;
     unsigned int *iptr;
@@ -1518,6 +1736,16 @@ PutImagePixels8(image, width, height, pixelindex, pixels)
  * write pixels into a 1-bit depth image data structure and **offset null**
  */
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void PutImagePixels1(
+, XImage*       image
+, unsigned int  width
+, unsigned int  height
+, unsigned int* pixelindex
+, Pixel*        pixels
+)
+#else
 static void
 PutImagePixels1(image, width, height, pixelindex, pixels)
     XImage *image;
@@ -1525,6 +1753,7 @@ PutImagePixels1(image, width, height, pixelindex, pixels)
     unsigned int height;
     unsigned int *pixelindex;
     Pixel *pixels;
+#endif
 {
     if (image->byte_order != image->bitmap_bit_order)
        PutImagePixels(image, width, height, pixelindex, pixels);
@@ -1632,6 +1861,16 @@ PutImagePixels1(image, width, height, pixelindex, pixels)
     }
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int XpmCreatePixmapFromXpmImage(
+, Display*       display
+, Drawable       d
+, XpmImage*      image
+, Pixmap*        pixmap_return
+, Pixmap*        shapemask_return
+, XpmAttributes* attributes
+#else
 int
 XpmCreatePixmapFromXpmImage(display, d, image,
                            pixmap_return, shapemask_return, attributes)
@@ -1641,6 +1880,7 @@ XpmCreatePixmapFromXpmImage(display, d, image,
     Pixmap *pixmap_return;
     Pixmap *shapemask_return;
     XpmAttributes *attributes;
+#endif
 {
     XImage *ximage, *shapeimage;
     int ErrorStatus;
@@ -1687,7 +1927,7 @@ APutImagePixels (
     unsigned char  *array;
     XImage         *tmp_img;
     BOOL            success = FALSE;
-    
+
     array = XpmMalloc ((((width+15)>>4)<<4)*sizeof (*array));
     if (array != NULL)
     {
@@ -1706,7 +1946,7 @@ APutImagePixels (
        }
        XpmFree (array);
     }
-    
+
     if (!success)
     {
        for (y = 0; y < height; ++y)
@@ -1717,6 +1957,19 @@ APutImagePixels (
 
 # endif/* AMIGA */
 #else  /* FOR_MSW part follows */
+
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void MSWPutImagePixels(
+  HPS           hps
+, Display*      dc
+, XImage*       image
+, unsigned int  width
+, unsigned int  height
+, unsigned int* pixelindex
+, Pixel*        pixels
+)
+#else
 static void
 MSWPutImagePixels(dc, image, width, height, pixelindex, pixels)
     Display *dc;
@@ -1725,18 +1978,38 @@ MSWPutImagePixels(dc, image, width, height, pixelindex, pixels)
     unsigned int height;
     unsigned int *pixelindex;
     Pixel *pixels;
+#endif
 {
     unsigned int *data = pixelindex;
     unsigned int x, y;
     HBITMAP obm;
 
+#ifdef __OS2__
+    POINTL                                point;
+
+    obm = GpiSetBitmap(hps, image->bitmap);
+#else
     obm = SelectObject(*dc, image->bitmap);
+#endif
+
     for (y = 0; y < height; y++) {
        for (x = 0; x < width; x++) {
+#ifdef __OS2__
+     point.x = x;
+     point.y = y;
+     GpiSetColor(hps, (LONG)pixels[*(data++)]);
+     GpiSetPel(hps, &point);
+#else
+
            SetPixel(*dc, x, y, pixels[*(data++)]); /* data is [x+y*width] */
+#endif
        }
     }
+#ifdef __OS2__
+    GpiSetBitmap(hps, obm);
+#else
     SelectObject(*dc, obm);
+#endif
 }
 
 #endif /* FOR_MSW */
@@ -1870,7 +2143,7 @@ PutPixel16MSB(ximage, x, y, pixel)
     unsigned long pixel;
 {
     unsigned char *addr;
-    
+
     addr = &((unsigned char *)ximage->data) [ZINDEX16(x, y, ximage)];
     addr[0] = pixel >> 8;
     addr[1] = pixel;
@@ -1885,7 +2158,7 @@ PutPixel16LSB(ximage, x, y, pixel)
     unsigned long pixel;
 {
     unsigned char *addr;
-    
+
     addr = &((unsigned char *)ximage->data) [ZINDEX16(x, y, ximage)];
     addr[1] = pixel >> 8;
     addr[0] = pixel;
@@ -1936,6 +2209,18 @@ PutPixel1LSB(ximage, x, y, pixel)
 /*
  * This function parses an Xpm file or data and directly create an XImage
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmParseDataAndCreate(
+  Display*       display
+, xpmData*       data
+, XImage**       image_return
+, XImage**       shapeimage_return
+, XpmImage*      image
+, XpmInfo*       info
+, XpmAttributes* attributes
+)
+#else
 int
 xpmParseDataAndCreate(display, data, image_return, shapeimage_return,
                      image, info, attributes)
@@ -1946,6 +2231,7 @@ xpmParseDataAndCreate(display, data, image_return, shapeimage_return,
     XpmImage *image;
     XpmInfo *info;
     XpmAttributes *attributes;
+#endif
 {
     /* variables stored in the XpmAttributes structure */
     Visual *visual;
@@ -2275,6 +2561,23 @@ error:
     return (ErrorStatus);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int ParseAndPutPixels(
+  Display*      dc
+, xpmData*      data
+, unsigned int  width
+, unsigned int  height
+, unsigned int  ncolors
+, unsigned int  cpp
+, XpmColor*     colorTable
+, xpmHashTable* hashtable
+, XImage*       image
+, Pixel*        image_pixels
+, XImage*       shapeimage
+, Pixel*        shape_pixels
+)
+#else
 static int
 ParseAndPutPixels(
 #ifdef FOR_MSW
@@ -2296,8 +2599,16 @@ ParseAndPutPixels(
     Pixel *image_pixels;
     XImage *shapeimage;
     Pixel *shape_pixels;
+#endif
 {
     unsigned int a, x, y;
+#ifdef __OS2__
+     HAB          hab;
+     HPS          hps;
+     DEVOPENSTRUC dop = {NULL, "DISPLAY", NULL, NULL, NULL, NULL, NULL, NULL, NULL};
+     SIZEL        sizl = {0, 0};
+     POINTL       point;
+#endif
 
     switch (cpp) {
 
@@ -2310,14 +2621,25 @@ ParseAndPutPixels(
            HBITMAP obm, sobm;
 
            if ( shapeimage ) {
+#ifdef __OS2__
+      shapedc = DevOpenDC(hab, OD_MEMORY, "*", 5L, (PDEVOPENDATA)&dop, NULLHANDLE);
+      hps = GpiCreatePS(hab, *dc, &sizl, GPIA_ASSOC | PU_PELS);
+      sobm = GpiSetBitmap(hps, shapeimage->bitmap);
+#else
                shapedc = CreateCompatibleDC(*dc);
                sobm = SelectObject(shapedc, shapeimage->bitmap);
+#endif
            } else {
                shapedc = NULL;
            }
+#ifdef __OS2__
+     obm = GpiSetBitmap(hps, image->bitmap);
+#else
            obm = SelectObject(*dc, image->bitmap);
 #endif
 
+#endif
+
 
            bzero((char *)colidx, 256 * sizeof(short));
            for (a = 0; a < ncolors; a++)
@@ -2334,10 +2656,24 @@ ParseAndPutPixels(
                        if (shapeimage)
                            XPutPixel(shapeimage, x, y,
                                      shape_pixels[colidx[c] - 1]);
+#else
+#ifdef __OS2__
+     point.x = x;
+     point.y = y;
+     GpiSetColor(hps, (LONG)image_pixels[colidx[c] - 1]);
+     GpiSetPel(hps, &point);
 #else
                        SetPixel(*dc, x, y, image_pixels[colidx[c] - 1]);
+#endif
                        if (shapedc) {
+#ifdef __OS2__
+     point.x = x;
+     point.y = y;
+     GpiSetColor(hps, (LONG)shape_pixels[colidx[c] - 1]);
+     GpiSetPel(hps, &point);
+#else
                            SetPixel(shapedc, x, y, shape_pixels[colidx[c] - 1]);
+#endif
                        }
 #endif
                    } else
@@ -2346,10 +2682,19 @@ ParseAndPutPixels(
            }
 #ifdef FOR_MSW
            if ( shapedc ) {
+#ifdef __OS2__
+         GpiSetBitmap(hps, sobm);
+         DevCloseDC(shapedc);
+#else
                SelectObject(shapedc, sobm);
                DeleteDC(shapedc);
+#endif
            }
+#ifdef __OS2__
+     GpiSetBitmap(hps, obm);
+#else
            SelectObject(*dc, obm);
+#endif
 #endif
        }
        break;
@@ -2357,7 +2702,6 @@ ParseAndPutPixels(
     case (2):                          /* Optimize for double character
                                         * colors */
        {
-
 /* free all allocated pointers at all exits */
 #define FREE_CIDX {int f; for (f = 0; f < 256; f++) \
 if (cidx[f]) XpmFree(cidx[f]);}
@@ -2394,13 +2738,32 @@ if (cidx[f]) XpmFree(cidx[f]);}
                            if (shapeimage)
                                XPutPixel(shapeimage, x, y,
                                          shape_pixels[cidx[cc1][cc2] - 1]);
+#else
+#ifdef __OS2__
+     *dc = DevOpenDC(hab, OD_MEMORY, "*", 5L, (PDEVOPENDATA)&dop, NULLHANDLE);
+     hps = GpiCreatePS(hab, *dc, &sizl, GPIA_ASSOC | PU_PELS);
+
+     GpiSetBitmap(hps, image->bitmap);
+     point.x = x;
+     point.y = y;
+     GpiSetColor(hps, (LONG)image_pixels[cidx[cc1][cc2] - 1]);
+     GpiSetPel(hps, &point);
 #else
                        SelectObject(*dc, image->bitmap);
                        SetPixel(*dc, x, y, image_pixels[cidx[cc1][cc2] - 1]);
+#endif
                        if (shapeimage) {
+#ifdef __OS2__
+     GpiSetBitmap(hps, shapeimage->bitmap);
+     point.x = x;
+     point.y = y;
+     GpiSetColor(hps, (LONG)shape_pixels[cidx[cc1][cc2] - 1]);
+     GpiSetPel(hps, &point);
+#else
                            SelectObject(*dc, shapeimage->bitmap);
                            SetPixel(*dc, x, y,
                                     shape_pixels[cidx[cc1][cc2] - 1]);
+#endif
                        }
 #endif
                        } else {
@@ -2441,14 +2804,33 @@ if (cidx[f]) XpmFree(cidx[f]);}
                        if (shapeimage)
                            XPutPixel(shapeimage, x, y,
                                      shape_pixels[HashColorIndex(slot)]);
+#else
+#ifdef __OS2__
+     *dc = DevOpenDC(hab, OD_MEMORY, "*", 5L, (PDEVOPENDATA)&dop, NULLHANDLE);
+     hps = GpiCreatePS(hab, *dc, &sizl, GPIA_ASSOC | PU_PELS);
+
+     GpiSetBitmap(hps, image->bitmap);
+     point.x = x;
+     point.y = y;
+     GpiSetColor(hps, (LONG)image_pixels[HashColorIndex(slot)]);
+     GpiSetPel(hps, &point);
 #else
                        SelectObject(*dc, image->bitmap);
                        SetPixel(*dc, x, y,
                                 image_pixels[HashColorIndex(slot)]);
+#endif
                        if (shapeimage) {
+#ifdef __OS2__
+     GpiSetBitmap(hps, shapeimage->bitmap);
+     point.x = x;
+     point.y = y;
+     GpiSetColor(hps, (LONG)shape_pixels[HashColorIndex(slot)]);
+     GpiSetPel(hps, &point);
+#else
                            SelectObject(*dc, shapeimage->bitmap);
                            SetPixel(*dc, x, y,
                                     shape_pixels[HashColorIndex(slot)]);
+#endif
                        }
 #endif
                    }
@@ -2468,12 +2850,31 @@ if (cidx[f]) XpmFree(cidx[f]);}
                        XPutPixel(image, x, y, image_pixels[a]);
                        if (shapeimage)
                            XPutPixel(shapeimage, x, y, shape_pixels[a]);
+#else
+#ifdef __OS2__
+     *dc = DevOpenDC(hab, OD_MEMORY, "*", 5L, (PDEVOPENDATA)&dop, NULLHANDLE);
+     hps = GpiCreatePS(hab, *dc, &sizl, GPIA_ASSOC | PU_PELS);
+
+     GpiSetBitmap(hps, image->bitmap);
+     point.x = x;
+     point.y = y;
+     GpiSetColor(hps, (LONG)image_pixels[a]);
+     GpiSetPel(hps, &point);
 #else
                        SelectObject(*dc, image->bitmap);
                        SetPixel(*dc, x, y, image_pixels[a]);
+#endif
                        if (shapeimage) {
+#ifdef __OS2__
+     GpiSetBitmap(hps, image->bitmap);
+     point.x = x;
+     point.y = y;
+     GpiSetColor(hps, (LONG)shape_pixels[a]);
+     GpiSetPel(hps, &point);
+#else
                            SelectObject(*dc, shapeimage->bitmap);
                            SetPixel(*dc, x, y, shape_pixels[a]);
+#endif
                        }
 #endif
                    }
index ba863ac3e02f04458f3a9ce1f08831636ffc33bc..655cedf3d62d24370fb035092569e07eae2e4283 100644 (file)
 
 LFUNC(OpenBuffer, void, (char *buffer, xpmData *mdata));
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int XpmCreateImageFromBuffer(
+  Display*       display
+, char*          buffer
+, XImage**       image_return
+, XImage**       shapeimage_return
+, XpmAttributes* attributes
+)
+#else
 int
 XpmCreateImageFromBuffer(display, buffer, image_return,
                         shapeimage_return, attributes)
@@ -44,6 +54,7 @@ XpmCreateImageFromBuffer(display, buffer, image_return,
     XImage **image_return;
     XImage **shapeimage_return;
     XpmAttributes *attributes;
+#endif
 {
     XpmImage image;
     XpmInfo info;
@@ -79,11 +90,20 @@ XpmCreateImageFromBuffer(display, buffer, image_return,
     return (ErrorStatus);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int XpmCreateXpmImageFromBuffer(
+  char*     buffer
+, XpmImage* image
+, XpmInfo*  info
+)
+#else
 int
 XpmCreateXpmImageFromBuffer(buffer, image, info)
     char *buffer;
     XpmImage *image;
     XpmInfo *info;
+#endif
 {
     xpmData mdata;
     int ErrorStatus;
@@ -104,10 +124,15 @@ XpmCreateXpmImageFromBuffer(buffer, image, info)
 /*
  * open the given buffer to be read or written as an xpmData which is returned
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void OpenBuffer(char* buffer, xpmData* mdata)
+#else
 static void
 OpenBuffer(buffer, mdata)
     char *buffer;
     xpmData *mdata;
+#endif
 {
     mdata->type = XPMBUFFER;
     mdata->cptr = buffer;
index f3c19c7cd618e597c11b14eb1361a76749ab5639..8f98e1c9f1d7cfec56dba6d8b93f873623f6c8af 100644 (file)
 
 LFUNC(OpenArray, void, (char **data, xpmData *mdata));
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int XpmCreateImageFromData(
+  Display*       display
+, char**         data
+, XImage**       image_return
+, XImage**       shapeimage_return
+, XpmAttributes* attributes
+)
+#else
 int
 XpmCreateImageFromData(display, data, image_return,
                       shapeimage_return, attributes)
@@ -44,6 +54,7 @@ XpmCreateImageFromData(display, data, image_return,
     XImage **image_return;
     XImage **shapeimage_return;
     XpmAttributes *attributes;
+#endif
 {
     XpmImage image;
     XpmInfo info;
@@ -79,11 +90,21 @@ XpmCreateImageFromData(display, data, image_return,
     return (ErrorStatus);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int
+XpmCreateXpmImageFromData(
+  char**    data
+, XpmImage* image
+, XpmInfo*  info
+)
+#else
 int
 XpmCreateXpmImageFromData(data, image, info)
     char **data;
     XpmImage *image;
     XpmInfo *info;
+#endif
 {
     xpmData mdata;
     int ErrorStatus;
@@ -104,10 +125,15 @@ XpmCreateXpmImageFromData(data, image, info)
 /*
  * open the given array to be read or written as an xpmData which is returned
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void OpenArray(char** data, xpmData* mdata)
+#else
 static void
 OpenArray(data, mdata)
     char **data;
     xpmData *mdata;
+#endif
 {
     mdata->type = XPMARRAY;
     mdata->stream.data = data;
index 917614e4be29e400eda483546d6d98d1830c2934..9ad8648d6a85eccf4faf7afb89a0512008133242 100644 (file)
@@ -48,9 +48,15 @@ static char *RCS_Id = "$Id$";
 #define Ungetc(data, c, file) ungetc(c, file)
 #endif
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int
+ParseComment(xpmData* data)
+#else
 static int
 ParseComment(data)
     xpmData *data;
+#endif
 {
     if (data->type == XPMBUFFER) {
        register char c;
@@ -175,9 +181,14 @@ ParseComment(data)
 /*
  * skip to the end of the current string and the beginning of the next one
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmNextString(xpmData* data)
+#else
 int
 xpmNextString(data)
     xpmData *data;
+#endif
 {
     if (!data->type)
        data->cptr = (data->stream.data)[++data->line];
@@ -231,11 +242,20 @@ xpmNextString(data)
 /*
  * skip whitespace and return the following word
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+unsigned int xpmNextWord(
+  xpmData*     data
+, char*        buf
+, unsigned int buflen
+)
+#else
 unsigned int
 xpmNextWord(data, buf, buflen)
     xpmData *data;
     char *buf;
     unsigned int buflen;
+#endif
 {
     register unsigned int n = 0;
     int c;
@@ -268,10 +288,16 @@ xpmNextWord(data, buf, buflen)
  * skip whitespace and compute the following unsigned int,
  * returns 1 if one is found and 0 if not
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int
+xpmNextUI(xpmData* data, unsigned int* ui_return)
+#else
 int
 xpmNextUI(data, ui_return)
     xpmData *data;
     unsigned int *ui_return;
+#endif
 {
     char buf[BUFSIZ];
     int l;
@@ -283,11 +309,16 @@ xpmNextUI(data, ui_return)
 /*
  * return end of string - WARNING: malloc!
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmGetString(xpmData* data, char** sptr, unsigned int* l)
+#else
 int
 xpmGetString(data, sptr, l)
     xpmData *data;
     char **sptr;
     unsigned int *l;
+#endif
 {
     unsigned int i, n = 0;
     int c;
@@ -367,10 +398,15 @@ xpmGetString(data, sptr, l)
 /*
  * get the current comment line
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmGetCmt(xpmData* data, char** cmt)
+#else
 int
 xpmGetCmt(data, cmt)
     xpmData *data;
     char **cmt;
+#endif
 {
     if (!data->type)
        *cmt = NULL;
@@ -399,9 +435,14 @@ xpmDataType xpmDataTypes[] =
 /*
  * parse xpm header
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmParseHeader(xpmData* data)
+#else
 int
 xpmParseHeader(data)
     xpmData *data;
+#endif
 {
     char buf[BUFSIZ];
     int l, n = 0;
index 7d596ec429b34015245b5507b194cddeba173b47..521a918901fa02ebb1e700d22a05ef4bb56bd979 100644 (file)
 LFUNC(AtomMake, xpmHashAtom, (char *name, void *data));
 LFUNC(HashTableGrows, int, (xpmHashTable * table));
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static xpmHashAtom
+AtomMake(char* name, void* data)                       /* makes an atom */
+#else
 static xpmHashAtom
 AtomMake(name, data)                   /* makes an atom */
     char *name;                                /* WARNING: is just pointed to */
     void *data;
+#endif
 {
     xpmHashAtom object = (xpmHashAtom) XpmMalloc(sizeof(struct _xpmHashAtom));
 
@@ -103,10 +109,15 @@ AtomMake(name, data)                      /* makes an atom */
  *
  */
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+xpmHashAtom* xpmHashSlot(xpmHashTable* table, char* s)
+#else
 xpmHashAtom *
 xpmHashSlot(table, s)
     xpmHashTable *table;
     char *s;
+#endif
 {
     xpmHashAtom *atomTable = table->atomTable;
     unsigned int hash;
@@ -130,9 +141,14 @@ xpmHashSlot(table, s)
     return p;
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int HashTableGrows(xpmHashTable* table)
+#else
 static int
 HashTableGrows(table)
     xpmHashTable *table;
+#endif
 {
     xpmHashAtom *atomTable = table->atomTable;
     int size = table->size;
@@ -165,11 +181,16 @@ HashTableGrows(table)
  * an xpmHashAtom is created if name doesn't exist, with the given data.
  */
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmHashIntern(xpmHashTable* table, char* tag, void* data)
+#else
 int
 xpmHashIntern(table, tag, data)
     xpmHashTable *table;
     char *tag;
     void *data;
+#endif
 {
     xpmHashAtom *slot;
 
@@ -194,9 +215,14 @@ xpmHashIntern(table, tag, data)
  *  must be called before allocating any atom
  */
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmHashTableInit(xpmHashTable* table)
+#else
 int
 xpmHashTableInit(table)
     xpmHashTable *table;
+#endif
 {
     xpmHashAtom *p;
     xpmHashAtom *atomTable;
@@ -217,9 +243,15 @@ xpmHashTableInit(table)
  *   frees a hashtable and all the stored atoms
  */
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void
+xpmHashTableFree(xpmHashTable* table)
+#else
 void
 xpmHashTableFree(table)
     xpmHashTable *table;
+#endif
 {
     xpmHashAtom *p;
     xpmHashAtom *atomTable = table->atomTable;
index 0753622186d0f25afe10ffcb4e8677a2e7e5a284..9090c3adcff45f7aa4202a1c1259f3c423219f1c 100644 (file)
 /*
  * Init returned data to free safely later on
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void
+xpmInitXpmImage(XpmImage* image)
+#else
 void
 xpmInitXpmImage(image)
     XpmImage *image;
+#endif
 {
     image->ncolors = 0;
     image->colorTable = NULL;
@@ -49,9 +55,15 @@ xpmInitXpmImage(image)
 /*
  * Free the XpmImage data which have been allocated
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void
+XpmFreeXpmImage(XpmImage* image)
+#else
 void
 XpmFreeXpmImage(image)
     XpmImage *image;
+#endif
 {
     if (image->colorTable)
        xpmFreeColorTable(image->colorTable, image->ncolors);
index 9bc41c89ebc6d4d8af28d1f2da73c2e3d56b8c14..bac2d4490b875de416283816176083b3301e49fb 100644 (file)
 /*
  * Init returned data to free safely later on
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void
+xpmInitXpmInfo(XpmInfo* info)
+#else
 void
 xpmInitXpmInfo(info)
     XpmInfo *info;
+#endif
 {
     if (info) {
        info->hints_cmt = NULL;
@@ -53,9 +59,15 @@ xpmInitXpmInfo(info)
 /*
  * Free the XpmInfo data which have been allocated
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void
+XpmFreeXpmInfo(XpmInfo* info)
+#else
 void
 XpmFreeXpmInfo(info)
     XpmInfo *info;
+#endif
 {
     if (info) {
        if (info->valuemask & XpmComments) {
@@ -84,10 +96,15 @@ XpmFreeXpmInfo(info)
 /*
  * Set the XpmInfo valuemask to retrieve required info
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void xpmSetInfoMask(XpmInfo* info, XpmAttributes* attributes)
+#else
 void
 xpmSetInfoMask(info, attributes)
     XpmInfo *info;
     XpmAttributes *attributes;
+#endif
 {
     info->valuemask = 0;
     if (attributes->valuemask & XpmReturnInfos)
@@ -99,10 +116,16 @@ xpmSetInfoMask(info, attributes)
 /*
  * Fill in the XpmInfo with the XpmAttributes
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void
+xpmSetInfo(XpmInfo* info, XpmAttributes* attributes)
+#else
 void
 xpmSetInfo(info, attributes)
     XpmInfo *info;
     XpmAttributes *attributes;
+#endif
 {
     info->valuemask = 0;
     if (attributes->valuemask & XpmInfos) {
index 7a9ecb58ae9c359833ef68d28e568c525014953d..b8c704b79568e83ff4b2722035f312c7de079147 100644 (file)
  * in case strdup is not provided by the system here is one
  * which does the trick
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+char* xpmstrdup(char* s1)
+#else
 char *
 xpmstrdup(s1)
     char *s1;
+#endif
 {
     char *s2;
     int l = strlen(s1) + 1;
@@ -53,11 +58,21 @@ xpmstrdup(s1)
 
 #endif
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+unsigned int
+xpmatoui(
+  register char* p
+, unsigned int   l
+, unsigned int*  ui_return
+)
+#else
 unsigned int
 xpmatoui(p, l, ui_return)
     register char *p;
     unsigned int l;
     unsigned int *ui_return;
+#endif
 {
     register unsigned int n, i;
 
@@ -78,9 +93,14 @@ xpmatoui(p, l, ui_return)
 /*
  * Function returning a character string related to an error code.
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+char* XpmGetErrorString(int errcode)
+#else
 char *
 XpmGetErrorString(errcode)
     int errcode;
+#endif
 {
     switch (errcode) {
     case XpmColorError:
@@ -116,9 +136,15 @@ XpmLibraryVersion()
 #undef XpmFree
 #endif
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void
+XpmFree(void* ptr)
+#else
 void
 XpmFree(ptr)
     void *ptr;
+#endif
 {
     free(ptr);
 }
index 815f27964e6b8485618f41dc1e39f07c28a08a94..9c5249fe273e0e8b2ba5aa88aa3387390786d2c6 100644 (file)
@@ -54,6 +54,20 @@ char *xpmColorKeys[] = {
     "c",                               /* key #5: color visual */
 };
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmParseValues(
+  xpmData*      data
+, unsigned int* width
+, unsigned int* height
+, unsigned int* ncolors
+, unsigned int* cpp
+, unsigned int* x_hotspot
+, unsigned int* y_hotspot
+, unsigned int* hotspot
+, unsigned int* extensions
+)
+#else
 int
 xpmParseValues(data, width, height, ncolors, cpp,
            x_hotspot, y_hotspot, hotspot, extensions)
@@ -61,6 +75,7 @@ xpmParseValues(data, width, height, ncolors, cpp,
     unsigned int *width, *height, *ncolors, *cpp;
     unsigned int *x_hotspot, *y_hotspot, *hotspot;
     unsigned int *extensions;
+#endif
 {
     unsigned int l;
     char buf[BUFSIZ];
@@ -164,6 +179,16 @@ xpmParseValues(data, width, height, ncolors, cpp,
     return (XpmSuccess);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmParseColors(
+  xpmData*      data
+, unsigned int  ncolors
+, unsigned int  cpp
+, XpmColor**    colorTablePtr
+, xpmHashTable* hashtable
+)
+#else
 int
 xpmParseColors(data, ncolors, cpp, colorTablePtr, hashtable)
     xpmData *data;
@@ -171,6 +196,7 @@ xpmParseColors(data, ncolors, cpp, colorTablePtr, hashtable)
     unsigned int cpp;
     XpmColor **colorTablePtr;
     xpmHashTable *hashtable;
+#endif
 {
     unsigned int key, l, a, b;
     unsigned int curkey;               /* current color key */
@@ -324,6 +350,20 @@ xpmParseColors(data, ncolors, cpp, colorTablePtr, hashtable)
     return (XpmSuccess);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int
+ParsePixels(
+  xpmData*       data
+, unsigned int   width
+, unsigned int   height
+, unsigned int   ncolors
+, unsigned int   cpp
+, XpmColor*      colorTable
+, xpmHashTable*  hashtable
+, unsigned int** pixels
+)
+#else
 static int
 ParsePixels(data, width, height, ncolors, cpp, colorTable, hashtable, pixels)
     xpmData *data;
@@ -334,6 +374,7 @@ ParsePixels(data, width, height, ncolors, cpp, colorTable, hashtable, pixels)
     XpmColor *colorTable;
     xpmHashTable *hashtable;
     unsigned int **pixels;
+#endif
 {
     unsigned int *iptr, *iptr2;
     unsigned int a, x, y;
@@ -480,11 +521,20 @@ if (cidx[f]) XpmFree(cidx[f]);}
     return (XpmSuccess);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmParseExtensions(
+  xpmData*        data
+, XpmExtension** extensions
+, unsigned int*  nextensions
+)
+#else
 int
 xpmParseExtensions(data, extensions, nextensions)
     xpmData *data;
     XpmExtension **extensions;
     unsigned int *nextensions;
+#endif
 {
     XpmExtension *exts = NULL, *ext;
     unsigned int num = 0;
@@ -601,11 +651,20 @@ xpmParseExtensions(data, extensions, nextensions)
  * This function parses an Xpm file or data and store the found informations
  * in an an XpmImage structure which is returned.
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmParseData(
+  xpmData*  data
+, XpmImage* image
+, XpmInfo*  info
+)
+#else
 int
 xpmParseData(data, image, info)
     xpmData *data;
     XpmImage *image;
     XpmInfo *info;
+#endif
 {
     /* variables to return */
     unsigned int width, height, ncolors, cpp;
index 4bb28fce2d8e6c2111da27997e8f7c3e4b62a328..253ef8e9a18c814764f1af671eeda22b2bad9576 100644 (file)
 
 #include "XpmI.h"
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int XpmReadFileToData(char* filename, char*** data_return)
+#else
 int
 XpmReadFileToData(filename, data_return)
     char *filename;
     char ***data_return;
+#endif
 {
     XpmImage image;
     XpmInfo info;
index 5b8809f4e043773e1bb5f26944f5c580903d0d3c..89cdc4ec0fc0b2dcb1076b28e46dd6594022ec04 100644 (file)
@@ -48,6 +48,16 @@ LFUNC(OpenReadFile, int, (char *filename, xpmData *mdata));
 LFUNC(xpmDataClose, void, (xpmData *mdata));
 
 #ifndef CXPMPROG
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int XpmReadFileToImage(
+  Display*       display
+, char*          filename
+, XImage**       image_return
+, XImage**       shapeimage_return
+, XpmAttributes* attributes
+)
+#else
 int
 XpmReadFileToImage(display, filename,
                   image_return, shapeimage_return, attributes)
@@ -56,6 +66,7 @@ XpmReadFileToImage(display, filename,
     XImage **image_return;
     XImage **shapeimage_return;
     XpmAttributes *attributes;
+#endif
 {
     XpmImage image;
     XpmInfo info;
@@ -93,11 +104,22 @@ XpmReadFileToImage(display, filename,
     return (ErrorStatus);
 }
 
+#ifdef __OS2__
+#define popen fopen
+#define pclose fclose
+/* Visual Age cannot deal with old, non-ansi, code */
+int XpmReadFileToXpmImage(
+  char*     filename
+, XpmImage* image
+, XpmInfo*  info
+)
+#else
 int
 XpmReadFileToXpmImage(filename, image, info)
     char *filename;
     XpmImage *image;
     XpmInfo *info;
+#endif
 {
     xpmData mdata;
     int ErrorStatus;
@@ -122,10 +144,15 @@ XpmReadFileToXpmImage(filename, image, info)
 /*
  * open the given file to be read as an xpmData which is returned.
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int OpenReadFile(char* filename, xpmData* mdata)
+#else
 static int
 OpenReadFile(filename, mdata)
     char *filename;
     xpmData *mdata;
+#endif
 {
 #ifndef NO_ZPIPE
     char *compressfile, buf[BUFSIZ];
@@ -204,9 +231,15 @@ OpenReadFile(filename, mdata)
 /*
  * close the file related to the xpmData if any
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void
+xpmDataClose(xpmData* mdata)
+#else
 static void
 xpmDataClose(mdata)
     xpmData *mdata;
+#endif
 {
     switch (mdata->type) {
     case XPMFILE:
index b26ee3f2d0acef5de0c138b6390a5e6da33bfa28..7ae36a86aa44131c432bc7898ed69aeb991f362d 100644 (file)
@@ -69,7 +69,7 @@ xpmReadRgbNames(rgb_fname, rgbn)
 
     /* Loop reading each line in the file. */
     n = 0;
-    rgb = rgbn; 
+    rgb = rgbn;
     /* Quit if rgb text file has too many entries. */
     while (fgets(line, sizeof(line), rgbf) && n < MAX_RGBNAMES) {
 
@@ -158,10 +158,15 @@ xpmFreeRgbNames(rgbn, rgbn_max)
 
 #include "rgbtab.h"                    /* hard coded rgb.txt table */
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmReadRgbNames(char* rgb_fname, xpmRgbName rgbn[])
+#else
 int
 xpmReadRgbNames(rgb_fname, rgbn)
     char *rgb_fname;
     xpmRgbName rgbn[];
+#endif
 {
     /*
      * check for consistency???
@@ -174,13 +179,17 @@ xpmReadRgbNames(rgb_fname, rgbn)
  * MSW rgb values are made from 3 BYTEs, this is different from X XColor.red,
  * which has something like #0303 for one color
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+char* xpmGetRgbName(xpmRgbName rgbn[], int rgbn_max, int red, int green, int blue)
+#else
 char *
 xpmGetRgbName(rgbn, rgbn_max, red, green, blue)
     xpmRgbName rgbn[];                 /* rgb mnemonics from rgb text file
                                         * not used */
     int rgbn_max;                      /* not used */
     int red, green, blue;              /* rgb values */
-
+#endif
 {
     int i;
     unsigned long rgbVal;
@@ -198,10 +207,15 @@ xpmGetRgbName(rgbn, rgbn_max, red, green, blue)
 }
 
 /* used in XParseColor in simx.c */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int xpmGetRGBfromName(char* inname, int* r, int* g, int* b)
+#else
 int
 xpmGetRGBfromName(inname, r, g, b)
     char *inname;
     int *r, *g, *b;
+#endif
 {
     int left, right, middle;
     int cmp;
@@ -270,11 +284,15 @@ xpmGetRGBfromName(inname, r, g, b)
     return (1);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+void xpmFreeRgbNames(xpmRgbName rgbn[], int rgbn_max)
+#else
 void
 xpmFreeRgbNames(rgbn, rgbn_max)
     xpmRgbName rgbn[];
     int rgbn_max;
-
+#endif
 {
     /* nothing to do */
 }
index 3b751849157bd5e0f56ab475dca2e71675cbda1a..2d95e999f5aa0ebdc2271cee54f62c9e5e2dc85f 100644 (file)
@@ -47,8 +47,11 @@ typedef struct {
 #define myRGB(r,g,b) \
        ((unsigned long)r<<16|(unsigned long)g<<8|(unsigned long)b)
 */
+#ifndef __OS2__
 #define myRGB(r,g,b)   RGB(r,g,b)      /* MSW has this macro */
-
+#else
+#define myRGB(r,g,b)    OS2RGB(r,g,b)
+#endif
 
 static rgbRecord theRGBRecords[] =
 {
index eabbde11586292d6228d97fa85d646783db1d5cb..93c7f72a1df8f0f53f1ec4b065d939114f0373a0 100644 (file)
@@ -111,11 +111,16 @@ LFUNC(ScanOtherColors, int, (Display *display, XpmColor *colors, int ncolors,
  * This function stores the given pixel in the given arrays which are grown
  * if not large enough.
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int storePixel(Pixel pixel, PixelsMap* pmap, unsigned int* index_return)
+#else
 static int
 storePixel(pixel, pmap, index_return)
     Pixel pixel;
     PixelsMap *pmap;
     unsigned int *index_return;
+#endif
 {
     unsigned int i;
     Pixel *p;
@@ -146,11 +151,16 @@ storePixel(pixel, pmap, index_return)
     return 0;
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int storeMaskPixel(Pixel pixel, PixelsMap* pmap, unsigned int* index_return)
+#else
 static int
 storeMaskPixel(pixel, pmap, index_return)
     Pixel pixel;
     PixelsMap *pmap;
     unsigned int *index_return;
+#endif
 {
     if (!pixel) {
        if (!pmap->ncolors) {
@@ -176,6 +186,16 @@ storeMaskPixel(pixel, pmap, index_return)
  * This function scans the given image and stores the found informations in
  * the given XpmImage structure.
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int XpmCreateXpmImageFromImage(
+  Display*       display
+, XImage*        image
+, XImage*        shapeimage
+, XpmImage*      xpmimage
+, XpmAttributes* attributes
+)
+#else
 int
 XpmCreateXpmImageFromImage(display, image, shapeimage,
                           xpmimage, attributes)
@@ -184,6 +204,7 @@ XpmCreateXpmImageFromImage(display, image, shapeimage,
     XImage *shapeimage;
     XpmImage *xpmimage;
     XpmAttributes *attributes;
+#endif
 {
     /* variables stored in the XpmAttributes structure */
     unsigned int cpp;
@@ -250,8 +271,13 @@ XpmCreateXpmImageFromImage(display, image, shapeimage,
                                      storeMaskPixel);
 # endif
 #else
+
+#ifndef __OS2__
        ErrorStatus = MSWGetImagePixels(display, shapeimage, width, height,
                                        &pmap, storeMaskPixel);
+/* calling convention all messed up OS/2 -- figure out later */
+#endif
+
 #endif
        if (ErrorStatus != XpmSuccess)
            RETURN(ErrorStatus);
@@ -259,10 +285,10 @@ XpmCreateXpmImageFromImage(display, image, shapeimage,
 
     /*
      * scan the image data
-     * 
+     *
      * In case depth is 1 or bits_per_pixel is 4, 6, 8, 24 or 32 use optimized
      * functions, otherwise use slower but sure general one.
-     * 
+     *
      */
 
     if (image) {
@@ -286,8 +312,12 @@ XpmCreateXpmImageFromImage(display, image, shapeimage,
                                      storePixel);
 # endif
 #else
+
+#ifndef __OS2__
        ErrorStatus = MSWGetImagePixels(display, image, width, height, &pmap,
                                        storePixel);
+#endif
+
 #endif
        if (ErrorStatus != XpmSuccess)
            RETURN(ErrorStatus);
@@ -345,11 +375,16 @@ error:
     return (ErrorStatus);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int ScanTransparentColor(XpmColor* color, unsigned int cpp, XpmAttributes* attributes)
+#else
 static int
 ScanTransparentColor(color, cpp, attributes)
     XpmColor *color;
     unsigned int cpp;
     XpmAttributes *attributes;
+#endif
 {
     char *s;
     unsigned int a, b, c;
@@ -399,6 +434,18 @@ ScanTransparentColor(color, cpp, attributes)
     return (XpmSuccess);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int ScanOtherColors(
+  Display*       display
+, XpmColor*      colors
+, int            ncolors
+, Pixel*         pixels
+, unsigned int   mask
+, unsigned int   cpp
+, XpmAttributes* attributes
+)
+#else
 static int
 ScanOtherColors(display, colors, ncolors, pixels, mask, cpp, attributes)
     Display *display;
@@ -408,6 +455,7 @@ ScanOtherColors(display, colors, ncolors, pixels, mask, cpp, attributes)
     unsigned int mask;
     unsigned int cpp;
     XpmAttributes *attributes;
+#endif
 {
     /* variables stored in the XpmAttributes structure */
     Colormap colormap;
@@ -416,8 +464,8 @@ ScanOtherColors(display, colors, ncolors, pixels, mask, cpp, attributes)
 #ifndef FOR_MSW
     xpmRgbName rgbn[MAX_RGBNAMES];
 #else
-    xpmRgbName *rgbn = NULL; 
-#endif    
+    xpmRgbName *rgbn = NULL;
+#endif
     int rgbn_max = 0;
     unsigned int i, j, c, i2;
     XpmColor *color;
@@ -465,7 +513,11 @@ ScanOtherColors(display, colors, ncolors, pixels, mask, cpp, attributes)
 
        xcolor->pixel = *pixels;
     }
+#ifdef __OS2__
+    XQueryColors(display, &colormap, xcolors, ncolors);
+#else
     XQueryColors(display, colormap, xcolors, ncolors);
+#endif
 
 #ifndef FOR_MSW
     /* read the rgb file if any was specified */
@@ -540,7 +592,7 @@ ScanOtherColors(display, colors, ncolors, pixels, mask, cpp, attributes)
 #ifndef FOR_MSW
                sprintf(buf, "#%04X%04X%04X",
                        xcolor->red, xcolor->green, xcolor->blue);
-#else   
+#else
                sprintf(buf, "#%02x%02x%02x",
                        xcolor->red, xcolor->green, xcolor->blue);
 #endif                 
@@ -592,12 +644,22 @@ static unsigned long Const low_bits_table[] = {
  *
  */
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int GetImagePixels(
+  XImage*      image
+, unsigned int width
+, unsigned int height
+, PixelsMap*   pmap
+)
+#else
 static int
 GetImagePixels(image, width, height, pmap)
     XImage *image;
     unsigned int width;
     unsigned int height;
     PixelsMap *pmap;
+#endif
 {
     char *src;
     char *dst;
@@ -695,12 +757,22 @@ GetImagePixels(image, width, height, pmap)
 static unsigned long byteorderpixel = MSBFirst << 24;
 #endif
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int GetImagePixels32(
+  XImage*      image
+, unsigned int width
+, unsigned int height
+, PixelsMap*   pmap
+)
+#else
 static int
 GetImagePixels32(image, width, height, pmap)
     XImage *image;
     unsigned int width;
     unsigned int height;
     PixelsMap *pmap;
+#endif
 {
     unsigned char *addr;
     unsigned char *data;
@@ -760,12 +832,22 @@ GetImagePixels32(image, width, height, pmap)
  * scan pixels of a 16-bits Z image data structure
  */
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int GetImagePixels16(
+  XImage*      image
+, unsigned int width
+, unsigned int height
+, PixelsMap*   pmap
+)
+#else
 static int
 GetImagePixels16(image, width, height, pmap)
     XImage *image;
     unsigned int width;
     unsigned int height;
     PixelsMap *pmap;
+#endif
 {
     unsigned char *addr;
     unsigned char *data;
@@ -806,12 +888,23 @@ GetImagePixels16(image, width, height, pmap)
  * scan pixels of a 8-bits Z image data structure
  */
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int
+GetImagePixels8(image, width, height, pmap)
+  XImage*      image
+, unsigned int width
+, unsigned int height
+, PixelsMap*   pmap
+)
+#else
 static int
 GetImagePixels8(image, width, height, pmap)
     XImage *image;
     unsigned int width;
     unsigned int height;
     PixelsMap *pmap;
+#endif
 {
     unsigned int *iptr;
     unsigned char *data;
@@ -839,6 +932,17 @@ GetImagePixels8(image, width, height, pmap)
  * scan pixels of a 1-bit depth Z image data structure
  */
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int
+GetImagePixels1(
+  XImage*      image
+, unsigned int width
+, unsigned int height
+, PixelsMap*   pmap
+, int          (*storeFunc) ()
+)
+#else
 static int
 GetImagePixels1(image, width, height, pmap, storeFunc)
     XImage *image;
@@ -846,6 +950,7 @@ GetImagePixels1(image, width, height, pmap, storeFunc)
     unsigned int height;
     PixelsMap *pmap;
     int (*storeFunc) ();
+#endif
 {
     unsigned int *iptr;
     int x, y;
@@ -902,15 +1007,15 @@ AGetImagePixels (
     unsigned int    x, y;
     unsigned char  *pixels;
     XImage         *tmp_img;
-    
+
     pixels = XpmMalloc ((((width+15)>>4)<<4)*sizeof (*pixels));
     if (pixels == NULL)
        return XpmNoMemory;
-    
+
     tmp_img = AllocXImage ((((width+15)>>4)<<4), 1, image->rp->BitMap->Depth);
     if (tmp_img == NULL)
        CLEAN_UP (XpmNoMemory)
-    
+
     iptr = pmap->pixelindex;
     for (y = 0; y < height; ++y)
     {
@@ -921,7 +1026,7 @@ AGetImagePixels (
                CLEAN_UP (XpmNoMemory)
        }
     }
-    
+
     CLEAN_UP (XpmSuccess)
 }
 
@@ -929,6 +1034,18 @@ AGetImagePixels (
 
 # endif/* AMIGA */
 #else  /* ndef FOR_MSW */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int
+MSWGetImagePixels(
+  Display*     display
+, XImage*      image
+, unsigned int width
+, unsigned int height
+, PixelsMap*   pmap
+, int          (*storeFunc) ()
+)
+#else
 static int
 MSWGetImagePixels(display, image, width, height, pmap, storeFunc)
     Display *display;
@@ -937,19 +1054,42 @@ MSWGetImagePixels(display, image, width, height, pmap, storeFunc)
     unsigned int height;
     PixelsMap *pmap;
     int (*storeFunc) ();
+#endif
 {
     unsigned int *iptr;
     unsigned int x, y;
     Pixel pixel;
+#ifdef __OS2__
+     HAB          hab;
+     HPS          hps;
+     DEVOPENSTRUC dop = {NULL, "DISPLAY", NULL, NULL, NULL, NULL, NULL, NULL, NULL};
+     SIZEL        sizl = {0, 0};
+     POINTL       point;
+#endif
 
     iptr = pmap->pixelindex;
 
+#ifdef __OS2__
+    hps = GpiCreatePS(hab, *display, &sizl, GPIA_ASSOC | PU_PELS);
+    GpiSetBitmap(hps, image->bitmap);
+#else
     SelectObject(*display, image->bitmap);
+#endif
+
     for (y = 0; y < height; y++) {
        for (x = 0; x < width; x++, iptr++) {
+#ifdef __OS2__
+     point.x = x;
+     point.y = y;
+     pixel = GpiQueryPel(hps, &point);
+#else
            pixel = GetPixel(*display, x, y);
+#endif
+#ifndef __OS2__
+/* calling convention all messed up under OS/2 */
            if ((*storeFunc) (pixel, pmap, iptr))
                return (XpmNoMemory);
+#endif
        }
     }
     return (XpmSuccess);
index f873c9a04c9096d102c0800fc1d0ccb22894d24b..04714849bf5deab09f211d85f039fa576aa398b9 100644 (file)
@@ -121,13 +121,26 @@ XDefaultScreen(Display *d)
 
 /* I get only 1 plane but 8 bits per pixel,
    so I think BITSPIXEL should be depth */
-int 
+int
 XDefaultDepth(Display *display, Screen *screen)
 {
     int d, b;
+#ifdef __OS2__
+    HPS                             hpsScreen;
+    HDC                             hdcScreen;
+    LONG                            lPlanes;
+    LONG                            lBitsPerPixel;
+    LONG                            nDepth;
 
+    hpsScreen = WinGetScreenPS(HWND_DESKTOP);
+    hdcScreen = GpiQueryDevice(hpsScreen);
+    DevQueryCaps(hdcScreen, CAPS_COLOR_PLANES, 1L, &lPlanes);
+    DevQueryCaps(hdcScreen, CAPS_COLOR_BITCOUNT, 1L, &lBitsPerPixel);
+    b = (int)lBitsPerPixel;
+#else
     b = GetDeviceCaps(*display, BITSPIXEL);
     d = GetDeviceCaps(*display, PLANES);
+#endif
     return (b);
 }
 
@@ -139,8 +152,8 @@ XDefaultColormap(Display *display, Screen *screen)
 
 /* convert hex color names,
    wrong digits (not a-f,A-F,0-9) are treated as zero */
-static int 
-hexCharToInt(c)
+static int
+hexCharToInt(char c)
 {
     int r;
 
@@ -156,7 +169,7 @@ hexCharToInt(c)
     return (r);
 }
 
-static int 
+static int
 rgbFromHex(char *hex, int *r, int *g, int *b)
 {
     int len;
@@ -186,7 +199,7 @@ rgbFromHex(char *hex, int *r, int *g, int *b)
 }
 
 /* Color related functions */
-int 
+int
 XParseColor(Display *d, Colormap *cmap, char *name, XColor *color)
 {
     int r, g, b;                       /* only 8 bit values used */
@@ -204,7 +217,11 @@ XParseColor(Display *d, Colormap *cmap, char *name, XColor *color)
     }
 
     if (okay) {
+#ifdef __OS2__
+       color->pixel = OS2RGB(r, g, b);
+#else
        color->pixel = RGB(r, g, b);
+#endif
        color->red = (BYTE) r;
        color->green = (BYTE) g;
        color->blue = (BYTE) b;
@@ -216,14 +233,14 @@ XParseColor(Display *d, Colormap *cmap, char *name, XColor *color)
 
 /* GRG: 2nd arg is Colormap*, not Colormap */
 
-int 
+int
 XAllocColor(Display *d, Colormap *cmap, XColor *color)
 {
 /* colormap not used yet so color->pixel is the real COLORREF (RBG) and not an
    index in some colormap as in X */
     return (1);
 }
-void 
+void
 XQueryColors(Display *display, Colormap *colormap,
             XColor *xcolors, int ncolors)
 {
@@ -239,7 +256,7 @@ XQueryColors(Display *display, Colormap *colormap,
     }
     return;
 }
-int 
+int
 XFreeColors(Display *d, Colormap cmap,
            unsigned long pixels[], int npixels, unsigned long planes)
 {
@@ -255,6 +272,18 @@ XCreateImage(Display *d, Visual *v,
             int pad, int foo)
 {
     XImage *img = (XImage *) XpmMalloc(sizeof(XImage));
+#ifdef __OS2__
+    HPS                  hps;
+    BITMAPINFOHEADER2    bmih;
+
+    hps = WinGetScreenPS(HWND_DESKTOP);
+    memset(&bmih, 0, sizeof(BITMAPINFOHEADER2));
+    bmih.cbFix = sizeof(BITMAPINFOHEADER2);
+    bmih.cx = width;
+    bmih.cy = height;
+    bmih.cPlanes = 1;
+    bmih.cBitCount = depth;
+#endif
 
     if (img) {
        /*JW: This is what it should be, but the picture comes out
@@ -264,8 +293,12 @@ XCreateImage(Display *d, Visual *v,
          if ( depth == GetDeviceCaps(*d, BITSPIXEL) ) {
            img->bitmap = CreateCompatibleBitmap(*d, width, height);
         } else*/ {
+#ifdef __OS2__
+     img->bitmap = GpiCreateBitmap(hps, &bmih, 0L, NULL, NULL);
+#else
            img->bitmap = CreateBitmap(width, height, 1 /* plane */ ,
                                       depth /* bits per pixel */ , NULL);
+#endif
        }
        img->width = width;
        img->height = height;
@@ -275,18 +308,22 @@ XCreateImage(Display *d, Visual *v,
 
 }
 
-void 
+void
 XImageFree(XImage *img)
 {
     if (img) {
        XpmFree(img);
     }
 }
-void 
+void
 XDestroyImage(XImage *img)
 {
     if (img) {
+#ifdef __OS2__
+     GpiDeleteBitmap(img->bitmap);
+#else
        DeleteObject(img->bitmap);      /* check return ??? */
+#endif
        XImageFree(img);
     }
 }
index 001cfdb4eb83832efd1a9b2b8d13e47c289a1f00..1e2d09ff54853ab4398de75db30c1cf6a5bdd48f 100644 (file)
 
 #ifdef FOR_MSW
 
+#if !defined(__OS2__)
 #include "windows.h"                   /* MS windows GDI types */
+#else
+#define INCL_PM
+#define INCL_GPI
+#include<os2.h>
+typedef unsigned long COLORREF;
+// RGB under OS2 is more like a PALETTEENTRY struct under Windows so we need a real RGB def
+#define OS2RGB(r,g,b) ((ULONG ((BYTE) (r) | ((UINT) (g) << 8)) | (((ULONG)(BYTE)(b)) << 16)))
+#define GetBValue(rgb) ((BYTE)((rgb) >> 16))
+#define GetGValue(rgb) ((BYTE)(((WORD)(rgb)) >> 8))
+#define GetRValue(rgb) ((BYTE)(rgb))
+typedef UINT    WORD;
+#endif
+
 
 /*
  * minimal portability layer between ansi and KR C
 /* these defines get undefed at the end of this file */
 #if __STDC__ || defined(__cplusplus) || defined(c_plusplus)
  /* ANSI || C++ */
-#define FUNC(f, t, p) extern t f p
-#define LFUNC(f, t, p) static t f p
+#  define FUNC(f, t, p) extern t f p
+#  define LFUNC(f, t, p) static t f p
 #else /* k&R */
-#define FUNC(f, t, p) extern t f()
-#define LFUNC(f, t, p) static t f()
+#  define FUNC(f, t, p) extern t f()
+#  define LFUNC(f, t, p) static t f()
 #endif
 
 
index bfaa9097daaa1b38881649e7b82fde2b35d3bb23..f47cba15ede3fd8f3bd413b54a048fe56243ba0d 100644 (file)
 
 #include "XpmI.h"
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int XpmWriteFileFromData(char* filename, char** data)
+#else
 int
 XpmWriteFileFromData(filename, data)
     char *filename;
     char **data;
+#endif
 {
     XpmImage image;
     XpmInfo info;
index 2b1e156cc7898c3737272db5680b69b94e0a6a8b..a81174c768eba214ab99d3f7f3deb2fd1860d72f 100644 (file)
@@ -59,6 +59,16 @@ LFUNC(WriteExtensions, void, (FILE *file, XpmExtension *ext,
 LFUNC(OpenWriteFile, int, (char *filename, xpmData *mdata));
 LFUNC(xpmDataClose, void, (xpmData *mdata));
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int XpmWriteFileFromImage(
+  Display*       display
+, char*          filename
+, XImage*        image
+, XImage*        shapeimage
+, XpmAttributes* attributes
+)
+#else
 int
 XpmWriteFileFromImage(display, filename, image, shapeimage, attributes)
     Display *display;
@@ -66,6 +76,7 @@ XpmWriteFileFromImage(display, filename, image, shapeimage, attributes)
     XImage *image;
     XImage *shapeimage;
     XpmAttributes *attributes;
+#endif
 {
     XpmImage xpmimage;
     XpmInfo info;
@@ -90,11 +101,20 @@ XpmWriteFileFromImage(display, filename, image, shapeimage, attributes)
     return (ErrorStatus);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+int XpmWriteFileFromXpmImage(
+  char*     filename
+, XpmImage* image
+, XpmInfo*  info
+)
+#else
 int
 XpmWriteFileFromXpmImage(filename, image, info)
     char *filename;
     XpmImage *image;
     XpmInfo *info;
+#endif
 {
     xpmData mdata;
     char *name, *dot, *s, new_name[BUFSIZ];
@@ -152,12 +172,23 @@ XpmWriteFileFromXpmImage(filename, image, info)
     return (ErrorStatus);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int
+xpmWriteFile(
+  FILE*     file
+, XpmImage* image
+, char*     name
+, XpmInfo*  info
+)
+#else
 static int
 xpmWriteFile(file, image, name, info)
     FILE *file;
     XpmImage *image;
     char *name;
     XpmInfo *info;
+#endif
 {
     /* calculation variables */
     unsigned int cmts, extensions;
@@ -210,11 +241,21 @@ xpmWriteFile(file, image, name, info)
     return (XpmSuccess);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void
+WriteColors(
+  FILE*        file
+, XpmColor*    colors
+, unsigned int ncolors
+)
+#else
 static void
 WriteColors(file, colors, ncolors)
     FILE *file;
     XpmColor *colors;
     unsigned int ncolors;
+#endif
 {
     unsigned int a, key;
     char *s;
@@ -233,7 +274,17 @@ WriteColors(file, colors, ncolors)
     }
 }
 
-
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static int WritePixels(
+  FILE*         file
+, unsigned int  width
+, unsigned int  height
+, unsigned int  cpp
+, unsigned int* pixels
+, XpmColor*     colors
+)
+#else
 static int
 WritePixels(file, width, height, cpp, pixels, colors)
     FILE *file;
@@ -242,6 +293,7 @@ WritePixels(file, width, height, cpp, pixels, colors)
     unsigned int cpp;
     unsigned int *pixels;
     XpmColor *colors;
+#endif
 {
     char *s, *p, *buf;
     unsigned int x, y, h;
@@ -276,11 +328,20 @@ WritePixels(file, width, height, cpp, pixels, colors)
     return (XpmSuccess);
 }
 
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void WriteExtensions(
+  FILE*         file
+, XpmExtension* ext
+, unsigned int  num
+)
+#else
 static void
 WriteExtensions(file, ext, num)
     FILE *file;
     XpmExtension *ext;
     unsigned int num;
+#endif
 {
     unsigned int x, y, n;
     char **line;
@@ -297,10 +358,20 @@ WriteExtensions(file, ext, num)
 /*
  * open the given file to be written as an xpmData which is returned
  */
+#ifdef __OS2__
+#define popen fopen
+#define pclose fclose
+/* Visual Age cannot deal with old, non-ansi, code */
+static int OpenWriteFile(
+  char*    filename
+, xpmData* mdata
+)
+#else
 static int
 OpenWriteFile(filename, mdata)
     char *filename;
     xpmData *mdata;
+#endif
 {
 #ifndef NO_ZPIPE
     char buf[BUFSIZ];
@@ -341,9 +412,14 @@ OpenWriteFile(filename, mdata)
 /*
  * close the file related to the xpmData if any
  */
+#ifdef __OS2__
+/* Visual Age cannot deal with old, non-ansi, code */
+static void xpmDataClose(xpmData* mdata)
+#else
 static void
 xpmDataClose(mdata)
     xpmData *mdata;
+#endif
 {
     switch (mdata->type) {
     case XPMFILE:
index f53ff82ec37ba16016fef103df0fa12d50ba6d50..9544875c58d660d626ce70b3521986a57414676e 100644 (file)
@@ -298,11 +298,8 @@ typedef struct {
 
 /* macros for forward declarations of functions with prototypes */
 #if NeedFunctionPrototypes
-#define FUNC(f, t, p) extern t f p
-#define LFUNC(f, t, p) static t f p
-#else
-#define FUNC(f, t, p) extern t f()
-#define LFUNC(f, t, p) static t f()
+#  define FUNC(f, t, p) extern t f p
+#  define LFUNC(f, t, p) static t f p
 #endif