+/* Duplex printing modes
+ */
+
+enum wxDuplexMode
+{
+ wxDUPLEX_SIMPLEX, /* Non-duplex */
+ wxDUPLEX_HORIZONTAL,
+ wxDUPLEX_VERTICAL
+};
+
+/* Print quality.
+ */
+
+#define wxPRINT_QUALITY_HIGH -1
+#define wxPRINT_QUALITY_MEDIUM -2
+#define wxPRINT_QUALITY_LOW -3
+#define wxPRINT_QUALITY_DRAFT -4
+
+typedef int wxPrintQuality;
+
+/* Print mode (currently PostScript only)
+ */
+
+enum wxPrintMode
+{
+ wxPRINT_MODE_NONE = 0,
+ wxPRINT_MODE_PREVIEW = 1, /* Preview in external application */
+ wxPRINT_MODE_FILE = 2, /* Print to file */
+ wxPRINT_MODE_PRINTER = 3, /* Send to printer */
+ wxPRINT_MODE_STREAM = 4 /* Send postscript data into a stream */
+};
+
+/* ---------------------------------------------------------------------------- */
+/* UpdateWindowUI flags */
+/* ---------------------------------------------------------------------------- */
+
+enum wxUpdateUI
+{
+ wxUPDATE_UI_NONE = 0x0000,
+ wxUPDATE_UI_RECURSE = 0x0001,
+ wxUPDATE_UI_FROMIDLE = 0x0002 /* Invoked from On(Internal)Idle */
+};
+
+/* ---------------------------------------------------------------------------- */
+/* miscellaneous */
+/* ---------------------------------------------------------------------------- */
+
+/* define this macro if font handling is done using the X font names */
+#if (defined(__WXGTK__) && !defined(__WXGTK20__)) || defined(__X__)
+ #define _WX_X_FONTLIKE
+#endif
+
+/* macro to specify "All Files" on different platforms */
+#if defined(__WXMSW__) || defined(__WXPM__)
+# define wxALL_FILES_PATTERN wxT("*.*")
+# define wxALL_FILES gettext_noop("All files (*.*)|*.*")
+#else
+# define wxALL_FILES_PATTERN wxT("*")
+# define wxALL_FILES gettext_noop("All files (*)|*")
+#endif
+
+/* --------------------------------------------------------------------------- */
+/* macros that enable wxWidgets apps to be compiled in absence of the */
+/* sytem headers, although some platform specific types are used in the */
+/* platform specific (implementation) parts of the headers */
+/* --------------------------------------------------------------------------- */
+
+#ifdef __WXMAC__
+
+#define WX_OPAQUE_TYPE( name ) struct wxOpaque##name
+
+typedef unsigned char WXCOLORREF[6];
+typedef void* WXHBITMAP;
+typedef void* WXHMETAFILE;
+typedef void* WXHICON;
+typedef void* WXHCURSOR;
+typedef void* WXHRGN;
+typedef void* WXRECTPTR;
+typedef void* WXPOINTPTR;
+typedef void* WXHWND;
+typedef void* WXEVENTREF;
+typedef void* WXEVENTHANDLERREF;
+typedef void* WXEVENTHANDLERCALLREF;
+typedef void* WXAPPLEEVENTREF;
+typedef void* WXHDC;
+typedef void* WXHMENU;
+typedef unsigned int WXUINT;
+typedef unsigned long WXDWORD;
+typedef unsigned short WXWORD;
+
+
+//typedef void* WXWidget;
+//typedef void* WXWindow;
+typedef WX_OPAQUE_TYPE(ControlRef ) * WXWidget ;
+typedef WX_OPAQUE_TYPE(WindowRef) * WXWindow ;
+typedef void* WXDisplay;
+
+/* typedef WindowPtr WXHWND; */
+/* typedef Handle WXHANDLE; */
+/* typedef CIconHandle WXHICON; */
+/* typedef unsigned long WXHFONT; */
+/* typedef MenuHandle WXHMENU; */
+/* typedef unsigned long WXHPEN; */
+/* typedef unsigned long WXHBRUSH; */
+/* typedef unsigned long WXHPALETTE; */
+/* typedef CursHandle WXHCURSOR; */
+/* typedef RgnHandle WXHRGN; */
+/* typedef unsigned long WXHACCEL; */
+/* typedef unsigned long WXHINSTANCE; */
+/* typedef unsigned long WXHIMAGELIST; */
+/* typedef unsigned long WXHGLOBAL; */
+/* typedef GrafPtr WXHDC; */
+/* typedef unsigned int WXWPARAM; */
+/* typedef long WXLPARAM; */
+/* typedef void * WXRGNDATA; */
+/* typedef void * WXMSG; */
+/* typedef unsigned long WXHCONV; */
+/* typedef unsigned long WXHKEY; */
+/* typedef void * WXDRAWITEMSTRUCT; */
+/* typedef void * WXMEASUREITEMSTRUCT; */
+/* typedef void * WXLPCREATESTRUCT; */
+/* typedef int (*WXFARPROC)(); */
+
+/* typedef WindowPtr WXWindow; */
+/* typedef ControlHandle WXWidget; */
+
+#endif
+
+#ifdef __WXCOCOA__
+
+/* NOTE: This ought to work with other compilers too, but I'm being cautious */
+#if (defined(__GNUC__) && defined(__APPLE__)) || defined(__MWERKS__)
+/* It's desirable to have type safety for Objective-C(++) code as it does
+at least catch typos of method names among other things. However, it
+is not possible to declare an Objective-C class from plain old C or C++
+code. Furthermore, because of C++ name mangling, the type name must
+be the same for both C++ and Objective-C++ code. Therefore, we define
+what should be a pointer to an Objective-C class as a pointer to a plain
+old C struct with the same name. Unfortunately, because the compiler
+does not see a struct as an Objective-C class we cannot declare it
+as a struct in Objective-C(++) mode.
+*/
+#if defined(__OBJC__)
+#define DECLARE_WXCOCOA_OBJC_CLASS(klass) \
+@class klass; \
+typedef klass *WX_##klass
+#else /* not defined(__OBJC__) */
+#define DECLARE_WXCOCOA_OBJC_CLASS(klass) \
+typedef struct klass *WX_##klass
+#endif /* defined(__OBJC__) */
+
+#else /* not Apple's GNU or CodeWarrior */
+#warning "Objective-C types will not be checked by the compiler."
+/* NOTE: typedef struct objc_object *id; */
+/* IOW, we're declaring these using the id type without using that name, */
+/* since "id" is used extensively not only within wxWidgets itself, but */
+/* also in wxWidgets application code. The following works fine when */
+/* compiling C(++) code, and works without typesafety for Obj-C(++) code */
+#define DECLARE_WXCOCOA_OBJC_CLASS(klass) \
+typedef struct objc_object *WX_##klass
+
+#endif /* (defined(__GNUC__) && defined(__APPLE__)) || defined(__MWERKS__) */
+
+DECLARE_WXCOCOA_OBJC_CLASS(NSApplication);
+DECLARE_WXCOCOA_OBJC_CLASS(NSBitmapImageRep);
+DECLARE_WXCOCOA_OBJC_CLASS(NSBox);
+DECLARE_WXCOCOA_OBJC_CLASS(NSButton);
+DECLARE_WXCOCOA_OBJC_CLASS(NSColor);
+DECLARE_WXCOCOA_OBJC_CLASS(NSControl);
+DECLARE_WXCOCOA_OBJC_CLASS(NSEvent);
+DECLARE_WXCOCOA_OBJC_CLASS(NSImage);
+DECLARE_WXCOCOA_OBJC_CLASS(NSLayoutManager);
+DECLARE_WXCOCOA_OBJC_CLASS(NSMenu);
+DECLARE_WXCOCOA_OBJC_CLASS(NSMenuItem);
+DECLARE_WXCOCOA_OBJC_CLASS(NSMutableArray);
+DECLARE_WXCOCOA_OBJC_CLASS(NSNotification);
+DECLARE_WXCOCOA_OBJC_CLASS(NSPanel);
+DECLARE_WXCOCOA_OBJC_CLASS(NSScrollView);
+DECLARE_WXCOCOA_OBJC_CLASS(NSTableColumn);
+DECLARE_WXCOCOA_OBJC_CLASS(NSTableView);
+DECLARE_WXCOCOA_OBJC_CLASS(NSTextContainer);
+DECLARE_WXCOCOA_OBJC_CLASS(NSTextField);
+DECLARE_WXCOCOA_OBJC_CLASS(NSTextStorage);
+DECLARE_WXCOCOA_OBJC_CLASS(NSThread);
+DECLARE_WXCOCOA_OBJC_CLASS(NSWindow);
+DECLARE_WXCOCOA_OBJC_CLASS(NSView);
+typedef WX_NSView WXWidget; /* wxWidgets BASE definition */
+#endif /* __WXCOCOA__ */