]> code.delx.au - gnu-emacs/blobdiff - src/nsgui.h
* lisp/emacs-lisp/autoload.el (make-autoload): Preload the macros's
[gnu-emacs] / src / nsgui.h
index 90dbef6a06a087113ddf5c7bb1d7109f4fa8f6d5..c8fe06a82e9a99e611624d659c8bcbbd241ce544 100644 (file)
@@ -1,5 +1,5 @@
 /* Definitions and headers for communication on the NeXT/Open/GNUstep API.
-   Copyright (C) 1995, 2005, 2008 Free Software Foundation, Inc.
+   Copyright (C) 1995, 2005, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -30,16 +30,8 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #undef init_process
 #endif  /* NS_IMPL_COCOA */
 
-#ifdef NS_IMPL_GNUSTEP
-#undef hash_remove
-#endif
-
 #import <AppKit/AppKit.h>
 
-#ifdef NS_IMPL_GNUSTEP
-#define hash_remove emacs_hash_remove
-#endif
-
 #ifdef NS_IMPL_COCOA
 #undef Cursor
 #define init_process emacs_init_process
@@ -68,7 +60,7 @@ typedef struct _XCharStruct
   int descent;
 } XCharStruct;
 
-/* 23: Fake tructure from Xlib.h to represent two-byte characters.  */
+/* Fake tructure from Xlib.h to represent two-byte characters.  */
 #ifndef __OBJC__
 typedef unsigned short unichar;
 #endif
@@ -83,20 +75,16 @@ typedef unichar XChar2b;
 #define XCHAR2B_BYTE2(chp) \
  ((*chp) & 0x00ff)
 
-#define FACE_DEFAULT (~0)
 
-
-/* PENDING: xfaces requires these structures, but the question is are we
-            forced to use them? */
+/* XXX: xfaces requires these structures, but the question is are we
+        forced to use them? */
 typedef struct _XGCValues
 {
+  unsigned long foreground;
+  unsigned long background;
 #ifdef __OBJC__
-  NSColor *foreground;
-  NSColor *background;
   struct ns_font *font;
 #else
-  void *foreground;
-  void *background;
   void *font;
 #endif
 } XGCValues;
@@ -133,20 +121,25 @@ typedef int Display;
 typedef Lisp_Object XrmDatabase;
 
 
-/* 23: some sort of attempt to normalize rectangle handling.. seems a bit much
-       for what is accomplished */
+/* 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;
+#if defined(__LP64__) && __LP64__
+typedef double CGFloat;
+#else
+typedef float CGFloat;
 #endif
+typedef struct _NSPoint { CGFloat x, y; } NSPoint;
+typedef struct _NSSize  { CGFloat width, height; } NSSize;
+typedef struct _NSRect  { NSPoint origin; NSSize size; } NSRect;
+#endif  /* NOT OBJC */
 
-#define NativeRectangle struct _NSRect
+#define NativeRectangle NSRect
 
 #define CONVERT_TO_XRECT(xr, nr)               \
   ((xr).x     = (nr).origin.x,                 \