]> git.eshelyaron.com Git - emacs.git/commitdiff
Image consolidation.
authorKim F. Storm <storm@cua.dk>
Thu, 11 Mar 2004 00:31:31 +0000 (00:31 +0000)
committerKim F. Storm <storm@cua.dk>
Thu, 11 Mar 2004 00:31:31 +0000 (00:31 +0000)
src/ChangeLog

index 95cec4f1f14d030884b77514b89fa22fbf6d4cf3..bcda2d459581d15346d53d0d9c1657445c2f30d2 100644 (file)
@@ -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