/* Functions for image support on window system.
Copyright (C) 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* Clear image cache of frame F. FORCE_P non-zero means free all
images. FORCE_P zero means clear only images that haven't been
displayed for some time. Should be called from time to time to
- reduce the number of loaded images. If image-eviction-seconds is
- non-nil, this frees images in the cache which weren't displayed for
- at least that many seconds. */
+ reduce the number of loaded images. If image-cache-eviction-delay
+ is non-nil, this frees images in the cache which weren't displayed
+ for at least that many seconds. */
void
clear_image_cache (f, force_p)
3. a vector of strings or bool-vectors, one for each line of the
bitmap.
- 4. A string containing an in-memory XBM file. WIDTH and HEIGHT
+ 4. a string containing an in-memory XBM file. WIDTH and HEIGHT
may not be specified in this case because they are defined in the
XBM file.
release_frame_dc (f, hdc);
old_prev = SelectObject (old_img_dc, img->pixmap);
new_prev = SelectObject (new_img_dc, new_pixmap);
+ /* Windows convention for mono bitmaps is black = background,
+ white = foreground. */
SetTextColor (new_img_dc, background);
SetBkColor (new_img_dc, foreground);
else
bits = XBOOL_VECTOR (data)->data;
+#ifdef WINDOWSNT
+ {
+ char *invertedBits;
+ int nbytes, i;
+ /* Windows mono bitmaps are reversed compared with X. */
+ invertedBits = bits;
+ nbytes = (img->width + BITS_PER_CHAR - 1) / BITS_PER_CHAR
+ * img->height;
+ bits = (char *) alloca(nbytes);
+ for (i = 0; i < nbytes; i++)
+ bits[i] = XBM_BIT_SHUFFLE (invertedBits[i]);
+ }
+#endif
/* Create the pixmap. */
Create_Pixmap_From_Bitmap_Data (f, img, bits,
return XPM_TK_EOF;
}
-/* Functions for color table lookup in XPM data. A Key is a string
+/* Functions for color table lookup in XPM data. A key is a string
specifying the color of each pixel in XPM data. A value is either
an integer that specifies a pixel color, Qt that specifies
transparency, or Qnil for the unspecified color. If the length of
whenever more data is needed. We read the whole image in one step,
so this only adds a fake end of input marker at the end. */
-static JOCTET omfib_buffer[2];
+static JOCTET our_memory_buffer[2];
static boolean
our_memory_fill_input_buffer (cinfo)
/* Insert a fake EOI marker. */
struct jpeg_source_mgr *src = cinfo->src;
- omfib_buffer[0] = (JOCTET) 0xFF;
- omfib_buffer[1] = (JOCTET) JPEG_EOI;
+ our_memory_buffer[0] = (JOCTET) 0xFF;
+ our_memory_buffer[1] = (JOCTET) JPEG_EOI;
- src->next_input_byte = omfib_buffer;
+ src->next_input_byte = our_memory_buffer;
src->bytes_in_buffer = 2;
return 1;
}
defining the supported image types. */
DEFVAR_LISP ("image-types", &Vimage_types,
doc: /* List of potentially supported image types.
-Each element of the list is a symbol for a image type, like 'jpeg or 'png.
+Each element of the list is a symbol for an image type, like 'jpeg or 'png.
To check whether it is really supported, use `image-type-available-p'. */);
Vimage_types = Qnil;