/* Definitions and headers for communication on the Mac OS.
Copyright (C) 2000, 2001, 2002, 2003, 2004,
- 2005, 2006 Free Software Foundation, Inc.
+ 2005, 2006, 2007 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 2, or (at your option)
+the Free Software Foundation; either version 3, or (at your option)
any later version.
GNU Emacs is distributed in the hope that it will be useful,
#ifndef EMACS_MACGUI_H
#define EMACS_MACGUI_H
-typedef int Display; /* fix later */
+typedef struct _XDisplay Display; /* opaque */
typedef Lisp_Object XrmDatabase;
#undef Z
#define Z (current_buffer->text->z)
#else /* not HAVE_CARBON */
-#include <QuickDraw.h> /* for WindowPtr */
+#include <QuickDraw.h> /* for WindowRef */
#include <QDOffscreen.h> /* for GWorldPtr */
#include <Appearance.h> /* for ThemeCursor */
#include <Windows.h>
/* Whether to use Quartz 2D routines for drawing operations other than
texts. */
#ifndef USE_CG_DRAWING
-#if USE_ATSUI && MAC_OS_X_VERSION_MAX_ALLOWED >= 1020
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020
#define USE_CG_DRAWING 1
#endif
#endif
#endif
#endif
-typedef WindowPtr Window;
+/* Whether to use HIToolbar. */
+#ifndef USE_MAC_TOOLBAR
+#if USE_CG_DRAWING && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 && MAC_OS_X_VERSION_MIN_REQUIRED != 1020
+#define USE_MAC_TOOLBAR 1
+#endif
+#endif
+
+typedef WindowRef Window;
typedef GWorldPtr Pixmap;
#define Cursor ThemeCursor
/* QuickDraw background color. */
RGBColor back_color;
+#if USE_CG_DRAWING && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
+ /* Quartz 2D foreground color. */
+ CGColorRef cg_fore_color;
+
+ /* Quartz 2D background color. */
+ CGColorRef cg_back_color;
+#endif
+
#define MAX_CLIP_RECTS 2
/* Number of clipping rectangles. */
int n_clip_rects;