extern char *progname;
+static Bool
+bigendian (void)
+{
+ union { int i; char c[sizeof(int)]; } u;
+ u.i = 1;
+ return !u.c[0];
+}
+
+
#if defined(HAVE_GDK_PIXBUF)
# include <gdk-pixbuf/gdk-pixbuf.h>
image = XCreateImage (dpy, visual, 32, ZPixmap, 0, 0, w, h, 32, 0);
image->data = (char *) malloc(h * image->bytes_per_line);
+
+ /* Set the bit order in the XImage structure to whatever the
+ local host's native bit order is.
+ */
+ image->bitmap_bit_order =
+ image->byte_order =
+ (bigendian() ? MSBFirst : LSBFirst);
+
+
if (!image->data)
{
fprintf (stderr, "%s: out of memory (%d x %d)\n", progname, w, h);
#undef countof
#define countof(x) (sizeof((x))/sizeof((*x)))
-#if 0
-static Bool
-bigendian (void)
-{
- union { int i; char c[sizeof(int)]; } u;
- u.i = 1;
- return !u.c[0];
-}
-#endif
/* The libxpm version of this function...
things as necessary) OpenGL pretends everything is client-side, so
we need to pack things in the right order for the client machine.
*/
+
+ ximage->bitmap_bit_order =
+ ximage->byte_order =
+ (bigendian() ? MSBFirst : LSBFirst);
+
#if 0
/* #### Cherub says that the little-endian case must be taken on MacOSX,
or else the colors/alpha are the wrong way around. How can