From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: YAMAMOTO Mitsuharu Newsgroups: gmane.emacs.devel Subject: Re: Consolidation of image support in new image.c file. Date: Fri, 12 Mar 2004 07:16:17 +0900 (JST) Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <20040312.071617.59462650.mituharu@math.s.chiba-u.ac.jp> References: <00109334-7321-11D8-80D6-00039390AB82@mac.com> NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1079178386 32551 80.91.224.253 (13 Mar 2004 11:46:26 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 13 Mar 2004 11:46:26 +0000 (UTC) Cc: emacs-devel@gnu.org, storm@cua.dk Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Sat Mar 13 12:46:06 2004 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1B27ag-0002uZ-00 for ; Sat, 13 Mar 2004 12:46:06 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1B27ag-0004ZD-00 for ; Sat, 13 Mar 2004 12:46:06 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.30) id 1B27Vp-0001B9-UQ for emacs-devel@quimby.gnus.org; Sat, 13 Mar 2004 06:41:05 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.30) id 1B26vS-0004NC-SF for emacs-devel@gnu.org; Sat, 13 Mar 2004 06:03:30 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.30) id 1B1wZp-0000GP-IK for emacs-devel@gnu.org; Fri, 12 Mar 2004 19:01:01 -0500 Original-Received: from [133.82.132.2] (helo=mathmail.math.s.chiba-u.ac.jp) by monty-python.gnu.org with esmtp (Exim 4.30) id 1B1YTp-0008I7-BU for emacs-devel@gnu.org; Thu, 11 Mar 2004 17:16:41 -0500 Original-Received: from localhost (church [133.82.132.36]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTP id 1888A1A62FF; Fri, 12 Mar 2004 07:16:32 +0900 (JST) Original-To: steventamm@mac.com In-Reply-To: <00109334-7321-11D8-80D6-00039390AB82@mac.com> X-Mailer: Mew version 3.3 on Emacs 21.3 / Mule 5.0 (SAKAKI) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.4 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:20385 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:20385 >>>>> On Wed, 10 Mar 2004 21:57:37 -0800, Steven Tamm said: > I also could not bootstrap (or make for that matter): Some code was > left lying around macfns.c that defines Qjpeg and the like and > sys/stat.h wasn't included in image.c for OSX. > I checked in the following changes that make it compile (don't know > if it works yet... still bootstrapping): With the following change, I could do make bootstrap in Mac OS X. YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp Index: src/dispextern.h =================================================================== RCS file: /cvsroot/emacs/emacs/src/dispextern.h,v retrieving revision 1.167 diff -c -r1.167 dispextern.h *** src/dispextern.h 11 Mar 2004 11:17:27 -0000 1.167 --- src/dispextern.h 11 Mar 2004 21:26:39 -0000 *************** *** 50,66 **** --- 50,73 ---- #ifdef HAVE_X_WINDOWS typedef struct x_display_info Display_Info; + typedef XImage * XImagePtr; + typedef XImagePtr XImagePtr_or_DC; #define NativeRectangle XRectangle #endif #ifdef HAVE_NTGUI #include "w32gui.h" typedef struct w32_display_info Display_Info; + typedef XImage *XImagePtr; + typedef HDC XImagePtr_or_DC; #endif #ifdef HAVE_CARBON #include "macgui.h" typedef struct mac_display_info Display_Info; + /* Mac equivalent of XImage. */ + typedef Pixmap XImagePtr; + typedef XImagePtr XImagePtr_or_DC; #endif #ifndef NativeRectangle *************** *** 2623,2631 **** int lookup_image P_ ((struct frame *, Lisp_Object)); unsigned long image_background P_ ((struct image *, struct frame *, ! XImage *ximg)); int image_background_transparent P_ ((struct image *, struct frame *, ! XImage *mask)); #endif --- 2630,2638 ---- int lookup_image P_ ((struct frame *, Lisp_Object)); unsigned long image_background P_ ((struct image *, struct frame *, ! XImagePtr_or_DC ximg)); int image_background_transparent P_ ((struct image *, struct frame *, ! XImagePtr_or_DC mask)); #endif Index: src/image.c =================================================================== RCS file: /cvsroot/emacs/emacs/src/image.c,v retrieving revision 1.3 diff -c -r1.3 image.c *** src/image.c 11 Mar 2004 05:56:41 -0000 1.3 --- src/image.c 11 Mar 2004 21:26:50 -0000 *************** *** 49,56 **** #define COLOR_TABLE_SUPPORT 1 typedef struct x_bitmap_record Bitmap_Record; - typedef XImage * XImagePtr; - typedef XImagePtr XImagePtr_or_DC; #define GET_PIXEL(ximg, x, y) XGetPixel(ximg, x, y) #define NO_PIXMAP None #define PNG_BG_COLOR_SHIFT 0 --- 49,54 ---- *************** *** 69,76 **** #undef COLOR_TABLE_SUPPORT typedef struct w32_bitmap_record Bitmap_Record; - typedef XImage *XImagePtr; - typedef HDC XImagePtr_or_DC; #define GET_PIXEL(ximg, x, y) GetPixel(ximg, x, y) #define NO_PIXMAP 0 #define PNG_BG_COLOR_SHIFT 0 --- 67,72 ---- *************** *** 103,114 **** /* MAC_TODO : Color tables on Mac. */ #undef COLOR_TABLE_SUPPORT - /* Mac equivalent of XImage. */ - typedef Pixmap XImagePtr; #define ZPixmap 0 /* arbitrary */ typedef struct mac_bitmap_record Bitmap_Record; - typedef XImagePtr XImagePtr_or_DC; #define GET_PIXEL(ximg, x, y) XGetPixel(ximg, x, y) #define NO_PIXMAP 0 #define PNG_BG_COLOR_SHIFT 8 --- 99,107 ---- Index: src/macfns.c =================================================================== RCS file: /cvsroot/emacs/emacs/src/macfns.c,v retrieving revision 1.30 diff -c -r1.30 macfns.c *** src/macfns.c 11 Mar 2004 05:56:41 -0000 1.30 --- src/macfns.c 11 Mar 2004 21:26:59 -0000 *************** *** 172,192 **** extern int mac_initialized; - /* Functions in macterm.c. */ - extern void x_set_window_size (struct frame *, int, int, int); - extern void x_make_frame_visible (struct frame *); - extern struct mac_display_info *mac_term_init (Lisp_Object, char *, char *); - extern struct font_info *x_get_font_info (FRAME_PTR, int); - extern struct font_info *x_load_font (struct frame *, char *, int); - extern void x_find_ccl_program (struct font_info *); - extern struct font_info *x_query_font (struct frame *, char *); - extern void mac_initialize (); - extern Pixmap XCreatePixmap (Display *, WindowPtr, unsigned int, unsigned int, unsigned int); - extern Pixmap XCreatePixmapFromBitmapData (Display *, WindowPtr, char *, unsigned int, unsigned int, unsigned long, unsigned long, unsigned int); - extern void XFreePixmap (Display *, Pixmap); - extern void XSetForeground (Display *, GC, unsigned long); - extern void mac_draw_line_to_pixmap (Display *, Pixmap, GC, int, int, int, int); - /* compare two strings ignoring case */ --- 172,177 ---- Index: src/macterm.c =================================================================== RCS file: /cvsroot/emacs/emacs/src/macterm.c,v retrieving revision 1.63 diff -c -r1.63 macterm.c *** src/macterm.c 27 Feb 2004 23:47:13 -0000 1.63 --- src/macterm.c 11 Mar 2004 21:27:15 -0000 *************** *** 8262,8268 **** { Lisp_Object window; - inev.kind = MOUSE_CLICK_EVENT; XSETFRAME (inev.frame_or_window, mwp->mFP); if (er.what == mouseDown) mouse_tracking_in_progress --- 8262,8267 ---- *************** *** 8285,8290 **** --- 8284,8291 ---- ); break; } + else + inev.kind = MOUSE_CLICK_EVENT; } #if USE_CARBON_EVENTS Index: src/macterm.h =================================================================== RCS file: /cvsroot/emacs/emacs/src/macterm.h,v retrieving revision 1.12 diff -c -r1.12 macterm.h *** src/macterm.h 11 Mar 2004 00:26:50 -0000 1.12 --- src/macterm.h 11 Mar 2004 21:27:17 -0000 *************** *** 240,245 **** --- 240,251 ---- extern struct mac_display_info *mac_term_init (); + extern Lisp_Object x_list_fonts P_ ((struct frame *, Lisp_Object, int, int)); + extern struct font_info *x_get_font_info P_ ((struct frame *f, int)); + extern struct font_info *x_load_font P_ ((struct frame *, char *, int)); + extern struct font_info *x_query_font P_ ((struct frame *, char *)); + extern void x_find_ccl_program P_ ((struct font_info *)); + /* When Emacs uses a tty window, tty_display in frame.c points to an x_output struct . */ struct x_output *************** *** 564,569 **** --- 570,591 ---- void activate_scroll_bars (FRAME_PTR); void deactivate_scroll_bars (FRAME_PTR); + + /* Defined in macterm.c. */ + + extern void x_set_window_size P_ ((struct frame *, int, int, int)); + extern void x_make_frame_visible P_ ((struct frame *)); + extern void mac_initialize P_ ((void)); + extern Pixmap XCreatePixmap P_ ((Display *, WindowPtr, unsigned int, + unsigned int, unsigned int)); + extern Pixmap XCreatePixmapFromBitmapData P_ ((Display *, WindowPtr, char *, + unsigned int, unsigned int, + unsigned long, unsigned long, + unsigned int)); + extern void XFreePixmap P_ ((Display *, Pixmap)); + extern void XSetForeground P_ ((Display *, GC, unsigned long)); + extern void mac_draw_line_to_pixmap P_ ((Display *, Pixmap, GC, int, int, + int, int)); #define FONT_TYPE_FOR_UNIBYTE(font, ch) 0 #define FONT_TYPE_FOR_MULTIBYTE(font, ch) 0