]> code.delx.au - gnu-emacs/blobdiff - src/macgui.h
(syms_of_buffer) <cursor-type>: Doc fix.
[gnu-emacs] / src / macgui.h
index 1e1447dfaa8b5252c9f84c79cf23a4b0cf14e4de..ca55bad7a8c07142b2b1bef18d8ad3d0daf76427 100644 (file)
@@ -15,8 +15,8 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.  */
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.  */
 
 /* Contributed by Andrew Choi (akochoi@mac.com).  */
 
@@ -25,14 +25,17 @@ Boston, MA 02111-1307, USA.  */
 
 typedef int Display;  /* fix later */
 
-typedef char * XrmDatabase;  /* fix later */
+typedef Lisp_Object XrmDatabase;
 
 typedef unsigned long Time;
 
-#if MAC_OSX
+#ifdef HAVE_CARBON
+#undef Z
+#ifdef MAC_OSX
+#if ! HAVE_MKTIME || BROKEN_MKTIME
 #undef mktime
+#endif
 #undef DEBUG
-#undef Z
 #undef free
 #undef malloc
 #undef realloc
@@ -42,10 +45,10 @@ typedef unsigned long Time;
 #undef min
 #undef init_process
 #include <Carbon/Carbon.h>
+#if ! HAVE_MKTIME || BROKEN_MKTIME
 #undef mktime
 #define mktime emacs_mktime
-#undef Z
-#define Z (current_buffer->text->z)
+#endif
 #undef free
 #define free unexec_free
 #undef malloc
@@ -59,25 +62,27 @@ typedef unsigned long Time;
 #undef init_process
 #define init_process emacs_init_process
 #undef INFINITY
-#else
+#else  /* not MAC_OSX */
+#undef SIGHUP
+#define OLDP2C 1
+#include <Carbon.h>
+#endif  /* not MAC_OSX */
+#undef Z
+#define Z (current_buffer->text->z)
+#else /* not HAVE_CARBON */
 #include <QuickDraw.h>         /* for WindowPtr */
 #include <QDOffscreen.h>       /* for GWorldPtr */
+#include <Appearance.h>                /* for ThemeCursor */
 #include <Windows.h>
+#include <Controls.h>
 #include <Gestalt.h>
-#endif
+#endif /* not HAVE_CARBON */
 
 typedef WindowPtr Window;
 typedef GWorldPtr Pixmap;
 
-#if TARGET_API_MAC_CARBON
 #define Cursor ThemeCursor
 #define No_Cursor (-1)
-#else
-#define SetPortWindowPort(w) SetPort(w)
-#define Cursor CursHandle
-#define No_Cursor (0)
-extern CursPtr arrow_cursor;
-#endif
 
 #define FACE_DEFAULT (~0)
 
@@ -92,13 +97,24 @@ typedef struct _XCharStruct
   int descent;
 } XCharStruct;
 
+#define STORE_XCHARSTRUCT(xcs, w, bds)                 \
+  ((xcs).width = (w),                                  \
+   (xcs).lbearing = (bds).left,                                \
+   (xcs).rbearing = (bds).right,                       \
+   (xcs).ascent = -(bds).top,                          \
+   (xcs).descent = (bds).bottom)
+
 struct MacFontStruct {
-  char *fontname;
+  char *full_name;
 
   short mac_fontnum;  /* font number of font used in this window */
   int mac_fontsize;  /* size of font */
   short mac_fontface;  /* plain, bold, italics, etc. */
+#if TARGET_API_MAC_CARBON
+  int mac_scriptcode;  /* Mac OS script code for font used */
+#else
   short mac_scriptcode;  /* Mac OS script code for font used */
+#endif
 
 #if 0
   SInt16 mFontNum;  /* font number of font used in this window */
@@ -164,15 +180,24 @@ typedef struct _XGCValues
   XFontStruct *font;
 } XGCValues;
 
-typedef XGCValues *GC;
+typedef struct _XGC
+{
+  /* Original value.  */
+  XGCValues xgcv;
+
+  /* Cached data members follow.  */
 
-extern XGCValues *
-XCreateGC (void *, Window, unsigned long, XGCValues *);
+  /* QuickDraw foreground color.  */
+  RGBColor fore_color;
 
-#define GCForeground 0x01
-#define GCBackground 0x02
-#define GCFont 0x03
-#define GCGraphicsExposures 0
+  /* QuickDraw background color.  */
+  RGBColor back_color;
+} *GC;
+
+#define GCForeground            (1L<<2)
+#define GCBackground            (1L<<3)
+#define GCFont                         (1L<<14)
+#define GCGraphicsExposures    0
 
 /* Bit Gravity */
 
@@ -232,8 +257,6 @@ typedef struct {
 #define PBaseSize      (1L << 8) /* program specified base for incrementing */
 #define PWinGravity    (1L << 9) /* program specified window gravity */
 
-extern int XParseGeometry ();
-
 typedef struct {
     int x, y;
     unsigned width, height;