changeset 54345:06427e5d9c76

Image consolidation.
author Kim F. Storm <storm@cua.dk>
date Thu, 11 Mar 2004 00:31:31 +0000
parents 2f2226cb24b3
children 0d2cbb6d6ad1
files src/ChangeLog
diffstat 1 files changed, 174 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Thu Mar 11 00:29:25 2004 +0000
+++ b/src/ChangeLog	Thu Mar 11 00:31:31 2004 +0000
@@ -1,3 +1,177 @@
+2004-03-11  Kim F. Storm  <storm@cua.dk>
+
+	The following changes consolidates the identical/similar image
+	support code previously found in xfns.c, w32fns.c, and macfns.c
+	into a new file image.c.
+
+	* makefile.w32-in (OBJ1): Add image.o.
+	($(BLD)/image.$(O)): Add dependencies.
+
+	* Makefile.in (XOBJ, MAC_OBJ): Add image.o.
+	(image.o): Add dependencies.
+	
+	* image.c: New file with consolidated image support code.
+	(COLOR_TABLE_SUPPORT): New define to control whether
+	color table support is available (X only).
+	(Bitmap_Record): Common name for x_bitmap_record,
+	w32_bitmap_record, and mac_bitmap_record.
+	(XImagePtr): Common name for pointer to XImage or equivalent.
+	(XImagePtr_or_DC): New type to simplify code sharing; equivalent
+	to XImagePtr on X+MAC, and to HDC on W32.
+	(GET_PIXEL): Wrapper for XGetPixel or equivalent.
+	(NO_PIXMAP): Common name for "None" or equivalent.
+	(PNG_BG_COLOR_SHIFT): Bits to shift PNG background colors.
+	(RGB_PIXEL_COLOR): Common type for an integer "pixel color" value.
+	(PIX_MASK_RETAIN, PIX_MASK_DRAW): Portability macros (from macfns.c).
+	(FRAME_X_VISUAL, x_defined_color, DefaultDepthOfScreen): Define
+	with suitable equivalents on W32 and MAC for code sharing.
+	(XDrawLine): Define on MAC for code sharing.
+	(Destroy_Image, Free_Pixmap): Wrappers for code sharing.
+	(IF_LIB_AVAILABLE): Macro to simplify code sharing.
+	(Vx_bitmap_file_path, Vimage_cache_eviction_delay)
+	(x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
+	(x_reference_bitmap, x_create_bitmap_from_data)
+	(x_create_bitmap_from_file, x_destroy_bitmap)
+	(x_destroy_all_bitmaps, x_create_bitmap_mask)
+	(XGetImage, XPutPixel, XGetPixel, XDestroyImage)
+	(QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
+	(QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
+	(Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
+	(define_image_type, lookup_image_type, valid_image_p)
+	(image_error, enum image_value_type, struct image_keyword)
+	(parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
+	(make_image, free_image, prepare_image_for_display, image_ascent)
+	(four_corners_best, image_background, image_background_transparent)
+	(x_clear_image_1,  x_clear_image, x_alloc_image_color)
+	(make_image_cache, free_image_cache, clear_image_cache)
+	(Fclear_image_cache, postprocess_image, lookup_image, cache_image)
+	(forall_images_in_image_cache, x_create_x_image_and_pixmap)
+	(x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
+	(find_image_fsspec, image_load_qt_1, image_load_quicktime)
+	(init_image_func_pointer, image_load_quartz2d)
+	(struct ct_color, init_color_table, free_color_table)
+	(lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
+	(cross_disabled_images, x_to_xcolors, x_from_xcolors)
+	(x_detect_edges, x_emboss, x_laplace, x_edge_detection)
+	(x_disable_image, x_build_heuristic_mask)
+	(XBM support, XPM support, PBM support, PNG support, JPEG support)
+	(TIFF support, GIF support, Ghostscript support): Consolidate image
+	code from xfns.c, w32fns.c, and macfns.c.
+	(syms_of_image): Consolidate image related symbol setup here.
+	(init_image): Consolidate image related initializations here.
+	
+	* emacs.c (main) [HAVE_WINDOW_SYSTEM]: Add calls to syms_of_image
+	and init_image.  Remove call to init_xfns.
+
+	* macterm.h (struct mac_bitmap_record): Add file member.  Not
+	currently used, but simplifies code sharing.
+
+	* macfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
+	(x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
+	(x_reference_bitmap, x_create_bitmap_from_data)
+	(x_create_bitmap_from_file, x_destroy_bitmap)
+	(x_destroy_all_bitmaps, x_create_bitmap_mask)
+	(XGetImage, XPutPixel, XGetPixel, XDestroyImage)
+	(QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
+	(QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
+	(Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
+	(define_image_type, lookup_image_type, valid_image_p)
+	(image_error, enum image_value_type, struct image_keyword)
+	(parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
+	(make_image, free_image, prepare_image_for_display, image_ascent)
+	(four_corners_best, image_background, image_background_transparent)
+	(x_clear_image_1,  x_clear_image, x_alloc_image_color)
+	(make_image_cache, free_image_cache, clear_image_cache)
+	(Fclear_image_cache, postprocess_image, lookup_image, cache_image)
+	(forall_images_in_image_cache, x_create_x_image_and_pixmap)
+	(x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
+	(find_image_fsspec, image_load_qt_1, image_load_quicktime)
+	(init_image_func_pointer, image_load_quartz2d)
+	(struct ct_color, init_color_table, free_color_table)
+	(lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
+	(cross_disabled_images, x_to_xcolors, x_from_xcolors)
+	(x_detect_edges, x_emboss, x_laplace, x_edge_detection)
+	(x_disable_image, x_build_heuristic_mask)
+	(XBM support, XPM support, PBM support, PNG support, JPEG support)
+	(TIFF support, GIF support, Ghostscript support): Merge with image
+	code from xfns.c and macfns.c into image.c.
+	(syms_of_xfns): Move image related symbols to image.c.
+	(init_external_image_libraries, init_xfns): Remove; initialization
+	moved to init_image in image.c.
+
+	* w32fns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
+	(x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
+	(x_reference_bitmap, x_create_bitmap_from_data)
+	(x_create_bitmap_from_file, x_destroy_bitmap)
+	(x_destroy_all_bitmaps, x_create_bitmap_mask)
+	(QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
+	(QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
+	(Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
+	(define_image_type, lookup_image_type, valid_image_p)
+	(image_error, enum image_value_type, struct image_keyword)
+	(parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
+	(make_image, free_image, prepare_image_for_display, image_ascent)
+	(four_corners_best, image_background, image_background_transparent)
+	(x_clear_image_1,  x_clear_image, x_alloc_image_color)
+	(make_image_cache, free_image_cache, clear_image_cache)
+	(Fclear_image_cache, postprocess_image, lookup_image, cache_image)
+	(forall_images_in_image_cache, x_create_x_image_and_pixmap)
+	(x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
+	(struct ct_color, init_color_table, free_color_table)
+	(lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
+	(cross_disabled_images, x_to_xcolors, x_from_xcolors)
+	(x_detect_edges, x_emboss, x_laplace, x_edge_detection)
+	(x_disable_image, x_build_heuristic_mask)
+	(XBM support, XPM support, PBM support, PNG support, JPEG support)
+	(TIFF support, GIF support, Ghostscript support): Merge with image
+	code from xfns.c and macfns.c into image.c.
+	(syms_of_xfns): Move image related symbols to image.c.
+	(init_external_image_libraries, init_xfns): Remove; initialization
+	moved to init_image in image.c.
+
+	* xfns.c (Vx_bitmap_file_path, Vimage_cache_eviction_delay)
+	(x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
+	(x_reference_bitmap, x_create_bitmap_from_data)
+	(x_create_bitmap_from_file, x_destroy_bitmap)
+	(x_destroy_all_bitmaps, x_create_bitmap_mask)
+	(QCascent, QCmargin, QCrelief, QCconversion, QCcolor_symbols)
+	(QCheuristic_mask, QCindex, QCmatrix, QCcolor_adjustment, QCmask)
+	(Qlaplace, Qemboss, Qedge_detection, Qheuristic, Qcenter)
+	(define_image_type, lookup_image_type, valid_image_p)
+	(image_error, enum image_value_type, struct image_keyword)
+	(parse_image_spec, image_spec_value, Fimage_size, Fimage_mask_p)
+	(make_image, free_image, prepare_image_for_display, image_ascent)
+	(four_corners_best, image_background, image_background_transparent)
+	(x_clear_image_1,  x_clear_image, x_alloc_image_color)
+	(make_image_cache, free_image_cache, clear_image_cache)
+	(Fclear_image_cache, postprocess_image, lookup_image, cache_image)
+	(forall_images_in_image_cache, x_create_x_image_and_pixmap)
+	(x_destroy_x_image, x_put_x_image, x_find_image_file, slurp_file)
+	(struct ct_color, init_color_table, free_color_table)
+	(lookup_rgb_color, lookup_pixel_color, colors_in_color_table)
+	(cross_disabled_images, x_to_xcolors, x_from_xcolors)
+	(x_detect_edges, x_emboss, x_laplace, x_edge_detection)
+	(x_disable_image, x_build_heuristic_mask)
+	(XBM support, XPM support, PBM support, PNG support, JPEG support)
+	(TIFF support, GIF support, Ghostscript support): Merge with
+	w32fns.c and macfns.c image code into image.c.
+	(syms_of_xfns): Move image related symbols to image.c.
+	(init_xfns): Remove; initialization moved to init_image in image.c.
+
+	* lisp.h (syms_of_image, init_image): Add protoypes.
+	(init_xfns): Remove prototype.
+
+	* dispextern.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
+	(x_reference_bitmap, x_create_bitmap_from_data)
+	(x_create_bitmap_from_file, x_destroy_bitmap)
+	(x_create_bitmap_mask): Move prototypes from dispextern.h.
+	(gamma_correct) [MAC_OS]: Add prototype.
+
+	* xterm.h (x_bitmap_height, x_bitmap_width, x_bitmap_pixmap)
+	(x_reference_bitmap, x_create_bitmap_from_data)
+	(x_create_bitmap_from_file, x_destroy_bitmap)
+	(x_create_bitmap_mask): Move prototypes to dispextern.h.
+
 2004-03-09  Kenichi Handa  <handa@etlken2>
 
 	* coding.c (decode_coding_emacs_mule): Handle insufficent source