Mercurial > emacs
view src/nsgui.h @ 97043:9592c50233ab remove-carbon
Remove support for Mac Carbon.
* mactoolbox.c:
* macterm.h:
* macterm.c:
* macselect.c:
* macmenu.c:
* macgui.h:
* macfns.c:
* mac.c: Remove file.
* s/darwin.h:
* m/intel386.h:
* xfaces.c:
* xdisp.c:
* window.c:
* tparam.c:
* termhooks.h:
* termcap.c:
* term.c:
* syssignal.h:
* sysselect.h:
* sysdep.c:
* process.c:
* lread.c:
* lisp.h:
* keyboard.c:
* image.c:
* fringe.c:
* frame.h:
* frame.c:
* fontset.c:
* font.h:
* font.c:
* fns.c:
* fileio.c:
* emacs.c:
* dispnew.c:
* dispextern.h:
* config.in:
* atimer.c:
* Makefile.in: Remove code for Carbon
* erc.el: Remove code for Carbon.
Remove support for Mac Carbon.
* term/mac-win.el: Remove file
* international/mule-cmds.el:
* version.el:
* startup.el:
* simple.el:
* mwheel.el:
* mouse.el:
* loadup.el:
* isearch.el:
* info.el:
* frame.el:
* faces.el:
* disp-table.el:
* cus-start.el:
* cus-face.el:
* cus-edit.el:
* Makefile.in: Remove code for Carbon.
Remove support for Mac Carbon.
* makefile.w32-in:
* emacsclient.c: Remove code for Carbon.
* PROBLEMS:
* MACHINES: Remove mentions of Mac Carbon.
* ns-emacs.texi:
* faq.texi: Remove mentions of Mac Carbon.
* os.texi:
* frames.texi:
* display.texi: Remove mentions of Mac Carbon.
* xresources.texi: Remove mentions of Mac Carbon.
* make-tarball.txt:
* admin.el:
* FOR-RELEASE:
* CPP-DEFINES: Remove mentions of Mac Carbon.
Remove support for Mac Carbon.
* mac: Remove directory.
* make-dist:
* configure.in:
* README:
* Makefile.in:
* INSTALL: Remove code for Carbon.
* configure: Regenerate.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Sun, 27 Jul 2008 18:24:48 +0000 |
parents | 4aec559b9f05 |
children | cf43f4e3ecc8 |
line wrap: on
line source
/* Definitions and headers for communication on the NeXT/Open/GNUstep API. Copyright (C) 1995, 2005, 2008 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ #ifndef __NSGUI_H__ #define __NSGUI_H__ /* this gets included from a couple of the plain (non-NS) .c files */ #ifdef __OBJC__ #ifdef NS_IMPL_COCOA #ifdef Z #warning "Z is defined. If you get a later parse error in a header, check that buffer.h or other files #define-ing Z are not included." #endif /* Z */ #define Cursor FooFoo #undef init_process #endif /* NS_IMPL_COCOA */ #import <AppKit/AppKit.h> #ifdef NS_IMPL_COCOA #undef Cursor #define init_process emacs_init_process #endif /* NS_IMPL_COCOA */ #import <Foundation/NSDistantObject.h> #ifdef NS_IMPL_COCOA #include <AvailabilityMacros.h> #endif /* NS_IMPL_COCOA */ #endif /* __OBJC__ */ /* menu-related */ #define free_widget_value(wv) xfree (wv) #define malloc_widget_value() ((widget_value *) memset (xmalloc \ (sizeof (widget_value)), 0, sizeof (widget_value))) /* Emulate XCharStruct. */ typedef struct _XCharStruct { int rbearing; int lbearing; int width; int ascent; int descent; } XCharStruct; /* 23: Fake tructure from Xlib.h to represent two-byte characters. */ #ifndef __OBJC__ typedef unsigned short unichar; #endif typedef unichar XChar2b; #define STORE_XCHAR2B(chp, b1, b2) \ (*(chp) = ((XChar2b)((((b1) & 0x00ff) << 8) | ((b2) & 0x00ff)))) #define XCHAR2B_BYTE1(chp) \ (((*chp) & 0xff00) >> 8) #define XCHAR2B_BYTE2(chp) \ ((*chp) & 0x00ff) #define FACE_DEFAULT (~0) /* XXX: xfaces requires these structures, but the question is are we forced to use them? */ typedef struct _XGCValues { #ifdef __OBJC__ NSColor *foreground; NSColor *background; struct ns_font *font; #else void *foreground; void *background; void *font; #endif } XGCValues; typedef XGCValues * GC; #define GCForeground 0x01 #define GCBackground 0x02 #define GCFont 0x03 #ifdef __OBJC__ typedef id Pixmap; #else typedef void *Pixmap; #endif #ifdef __OBJC__ typedef NSCursor * Cursor; #else typedef void *Cursor; #endif #define No_Cursor (0) #ifdef __OBJC__ typedef NSColor * Color; #else typedef void * Color; #endif typedef int Window; typedef int Display; /* Xism */ typedef Lisp_Object XrmDatabase; /* 23: some sort of attempt to normalize rectangle handling.. seems a bit much for what is accomplished */ typedef struct { int x, y; unsigned width, height; } XRectangle; #ifndef __OBJC__ typedef struct _NSPoint { float x, y; } NSPoint; typedef struct _NSSize { float width, height; } NSSize; typedef struct _NSRect { NSPoint origin; NSSize size; } NSRect; #endif #define NativeRectangle struct _NSRect #define CONVERT_TO_XRECT(xr, nr) \ ((xr).x = (nr).origin.x, \ (xr).y = (nr).origin.y, \ (xr).width = (nr).size.width, \ (xr).height = (nr).size.height) #define CONVERT_FROM_XRECT(xr, nr) \ ((nr).origin.x = (xr).x, \ (nr).origin.y = (xr).y, \ (nr).size.width = (xr).width, \ (nr).size.height = (xr).height) #define STORE_NATIVE_RECT(nr, px, py, pwidth, pheight) \ ((nr).origin.x = (px), \ (nr).origin.y = (py), \ (nr).size.width = (pwidth), \ (nr).size.height = (pheight)) /* This stuff needed by frame.c. */ #define ForgetGravity 0 #define NorthWestGravity 1 #define NorthGravity 2 #define NorthEastGravity 3 #define WestGravity 4 #define CenterGravity 5 #define EastGravity 6 #define SouthWestGravity 7 #define SouthGravity 8 #define SouthEastGravity 9 #define StaticGravity 10 #define NoValue 0x0000 #define XValue 0x0001 #define YValue 0x0002 #define WidthValue 0x0004 #define HeightValue 0x0008 #define AllValues 0x000F #define XNegative 0x0010 #define YNegative 0x0020 #define USPosition (1L << 0) /* user specified x, y */ #define USSize (1L << 1) /* user specified width, height */ #define PPosition (1L << 2) /* program specified position */ #define PSize (1L << 3) /* program specified size */ #define PMinSize (1L << 4) /* program specified minimum size */ #define PMaxSize (1L << 5) /* program specified maximum size */ #define PResizeInc (1L << 6) /* program specified resize increments */ #define PAspect (1L << 7) /* program specified min, max aspect ratios */ #define PBaseSize (1L << 8) /* program specified base for incrementing */ #define PWinGravity (1L << 9) /* program specified window gravity */ #endif /* __NSGUI_H__ */ /* arch-tag: b2af3275-62c3-45b4-9335-4c9635c67e55 (do not change this comment) */