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). */
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
#undef min
#undef init_process
#include <Carbon/Carbon.h>
-#undef Z
-#define Z (current_buffer->text->z)
+#if ! HAVE_MKTIME || BROKEN_MKTIME
+#undef mktime
+#define mktime emacs_mktime
+#endif
#undef free
#define free unexec_free
#undef malloc
#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 <Controls.h> /* for ControlHandle in xdisp.c */
+#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
-typedef struct OpaqueWindowPtr *Window;
#define Cursor ThemeCursor
#define No_Cursor (-1)
-#else
-typedef WindowPtr Window;
-#define SetPortWindowPort(w) SetPort(w)
-#define Cursor CursHandle
-#define No_Cursor (0)
-extern CursPtr arrow_cursor;
-#endif
#define FACE_DEFAULT (~0)
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 */
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 */
#define XNegative 0x0010
#define YNegative 0x0020
+typedef struct {
+ long flags; /* marks which fields in this structure are defined */
+#if 0
+ int x, y; /* obsolete for new window mgrs, but clients */
+ int width, height; /* should set so old wm's don't mess up */
+#endif
+ int min_width, min_height;
+#if 0
+ int max_width, max_height;
+#endif
+ int width_inc, height_inc;
+#if 0
+ struct {
+ int x; /* numerator */
+ int y; /* denominator */
+ } min_aspect, max_aspect;
+#endif
+ int base_width, base_height; /* added by ICCCM version 1 */
+#if 0
+ int win_gravity; /* added by ICCCM version 1 */
+#endif
+} XSizeHints;
+
#define USPosition (1L << 0) /* user specified x, y */
#define USSize (1L << 1) /* user specified width, height */
#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;