/*
- * Copyright (C) 1989-94 GROUPE BULL
+ * Copyright (C) 1989-95 GROUPE BULL
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* Developed by HeDu 3/94 (hedu@cul-ipn.uni-kiel.de) *
\*****************************************************************************/
-#include "xpm34.h"
+/* Moved here so that FOR_MSW gets defined if we are using wxWindows (GRG) */
+#include "xpm.h"
#ifdef FOR_MSW
-#include "xpm34p.h" /* for XpmMalloc */
+#include "xpmi.h" /* for XpmMalloc */
/*
* On DOS size_t is only 2 bytes, thus malloc(size_t s) can only malloc
/* convert hex color names,
wrong digits (not a-f,A-F,0-9) are treated as zero */
static int
-hexCharToInt(char c)
+hexCharToInt(c)
{
int r;
}
+/* GRG: 2nd arg is Colormap*, not Colormap */
+
int
XAllocColor(Display *d, Colormap *cmap, XColor *color)
{
XImage *img = (XImage *) XpmMalloc(sizeof(XImage));
if (img) {
- /* *img = CreateCompatibleBitmap(*d, width, height); */
- img->bitmap = CreateBitmap(width, height, 1 /* plane */ ,
- depth /* bits per pixel */ , NULL);
+ /*JW: This is what it should be, but the picture comes out
+ just black!? It appears to be doing monochrome reduction,
+ but I've got no clue why. Using CreateBitmap() is supposed
+ to be slower, but otherwise ok
+ if ( depth == GetDeviceCaps(*d, BITSPIXEL) ) {
+ img->bitmap = CreateCompatibleBitmap(*d, width, height);
+ } else*/ {
+ img->bitmap = CreateBitmap(width, height, 1 /* plane */ ,
+ depth /* bits per pixel */ , NULL);
+ }
img->width = width;
img->height = height;
img->depth = depth;