X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/57c208c5759da71a637f0f0f5b7d3dc3eda09c02..7491d644e6103afc2a69b750ca255218181b63a3:/include/wx/defs.h?ds=sidebyside diff --git a/include/wx/defs.h b/include/wx/defs.h index 506b03ffec..baf3c4acca 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -6,7 +6,7 @@ // Created: 01/02/97 // RCS-ID: $Id$ // Copyright: (c) -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_DEFS_H_ @@ -21,30 +21,67 @@ #include "wx/setup.h" #include "wx/version.h" -// Helps SGI compilation, apparently -#if defined(__SGI__) -#if defined(__GNUG__) -#define __need_wchar_t -#else -/* Note I use the term __SGI_CC__ for both cc and CC, its not a good idea to - * mix gcc and cc/CC, the name mangling is different */ -#define __SGI_CC__ -#endif -#endif +// ---------------------------------------------------------------------------- +// compiler and OS identification +// ---------------------------------------------------------------------------- -#if defined(sun) || defined(__SUN__) -# if !defined(__GNUG__) -# ifndef __SUNCC__ -# define __SUNCC__ -# endif -# endif -#endif +// OS +#if defined(__unix) || defined(__unix__) || defined(____SVR4____) || \ + defined(__LINUX__) || defined(__sgi ) || \ + defined(__hpux) || defined(sun) || defined(__SUN__) || defined(_AIX) + + #ifndef __UNIX__ + #define __UNIX__ + #endif // Unix + + // Helps SGI compilation, apparently + #ifdef __SGI__ + #ifdef __GNUG__ + #define __need_wchar_t + #else // !gcc + // Note I use the term __SGI_CC__ for both cc and CC, its not a good + // idea to mix gcc and cc/CC, the name mangling is different + #define __SGI_CC__ + #endif // gcc/!gcc + #endif // SGI + + #if defined(sun) || defined(__SUN__) + #ifndef __GNUG__ + #ifndef __SUNCC__ + #define __SUNCC__ + #endif // Sun CC + #endif + #endif // Sun + + #ifdef __hpux + #define __HPUX__ + #endif // HP-UX + +#elif defined(applec) || defined(THINK_C) || ( defined( __MWERKS__ ) && !defined(__INTEL__) ) + // MacOS +#else // Windows + #ifndef __WINDOWS__ + #define __WINDOWS__ + #endif // Windows + + // define another standard symbol for Microsoft Visual C++: the standard one + // (_MSC_VER) is also defined by Metrowerks compiler + #if defined(_MSC_VER) && !defined(__MWERKS__) + #define __VISUALC__ _MSC_VER + #elif defined(__BCPLUSPLUS__) && !defined(__BORLANDC__) + #define __BORLANDC__ + #elif defined(__WATCOMC__) + //#define __WATCOMC__ + #elif defined(__SC__) + #define __SYMANTECC__ + #endif // compiler +#endif // OS // suppress some Visual C++ warnings -#ifdef _MSC_VER -# pragma warning(disable:4244) // cobversion from double to float +#ifdef __VISUALC__ +# pragma warning(disable:4244) // conversion from double to float # pragma warning(disable:4100) // unreferenced formal parameter -#endif +#endif // __VISUALC__ // suppress some Salford C++ warnings #ifdef __SALFORDC__ @@ -53,7 +90,18 @@ # pragma suppress 61 // enum has no name (doesn't suppress!) # pragma suppress 106 // unnamed, unused parameter # pragma suppress 571 // Virtual function hiding -#endif +#endif // __SALFORDC__ + +// Digital Unix C++ compiler only defines this symbol for .cxx and .hxx files, +// so define it ourselves +#ifdef __DECCXX + #define __cplusplus +#endif // __DECCXX + +// Resolves linking problems under HP-UX +#if defined(__HPUX__) && defined(__GNUG__) + #define va_list __gnuc_va_list +#endif // HP-UX ////////////////////////////////////////////////////////////////////////////////// // Currently Only MS-Windows/NT, XView and Motif are supported @@ -87,61 +135,65 @@ // Make sure the environment is set correctly #if defined(__WXMSW__) && defined(__X__) -# error "Target can't be both X and Windows" + #error "Target can't be both X and Windows" #elif !defined(__WXMOTIF__) && !defined(__WXMSW__) && !defined(__WXGTK__) && \ !defined(__WXMAC__) && !defined(__X__) && !defined(__WXQT__) && !defined(__WXSTUBS__) -#error "No Target! Use -D[__WXMOTIF__|__WXGTK__|__WXMSW__|__WXMAC__|__WXQT__|__WXSTUBS__]" + #error "No Target! Use -D[__WXMOTIF__|__WXGTK__|__WXMSW__|__WXMAC__|__WXQT__|__WXSTUBS__]" #endif -#if defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXQT__) || defined(__WXSTUBS__) +// ============================================================================ +// non portable C++ features +// ============================================================================ -// Bool is now obsolete, use bool instead -// typedef int Bool; +// ---------------------------------------------------------------------------- +// check for native bool type and TRUE/FALSE constants +// ---------------------------------------------------------------------------- -#ifndef TRUE -# define TRUE 1 -# define FALSE 0 -# define Bool_DEFINED -#endif +#if defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXQT__) || defined(__WXSTUBS__) + // Bool is now obsolete, use bool instead + // typedef int Bool; + #ifndef TRUE + #define TRUE 1 + #define FALSE 0 + #define Bool_DEFINED + #endif #elif defined(__WXMSW__) - -#ifndef TRUE -# define TRUE 1 -# define FALSE 0 -#endif - -#endif - -// VC++ 4.0 is 1000. - -// Add more tests here for compilers that don't already define bool. -#if defined( __MWERKS__ ) - #if (__MWERKS__ < 0x1000) || !__option(bool) - typedef unsigned int bool; + #ifndef TRUE + #define TRUE 1 + #define FALSE 0 #endif -#elif defined(__SC__) - typedef unsigned int bool; -#elif defined(__SALFORDC__) +#endif // TRUE/FALSE + +// Add more tests here for Windows compilers that already define bool +// (under Unix, configure tests for this) +#ifndef HAVE_BOOL + #if defined( __MWERKS__ ) + #if (__MWERKS__ >= 0x1000) && !__option(bool) + #define HAVE_BOOL + #endif + #elif defined(__VISUALC__) && (__VISUALC__ == 1020) + // in VC++ 4.2 the bool keyword is reserved (hence can't be typedefed) + // but not implemented, so we must #define it + #define bool unsigned int + #elif defined(__VISUALC__) && (__VISUALC__ > 1020) + // VC++ supports bool since 4.2 + #define HAVE_BOOL + #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x500) + // Borland 5.0+ supports bool + #define HAVE_BOOL + #elif defined(__WATCOMC__) && (__WATCOMC__ >= 1100) + // Watcom 11+ supports bool + #define HAVE_BOOL + #endif // compilers +#endif // HAVE_BOOL + +#if !defined(HAVE_BOOL) && !defined(bool) + // NB: of course, this doesn't replace the standard type, because, for + // example, overloading based on bool/int parameter doesn't work and + // so should be avoided in portable programs typedef unsigned int bool; -#elif defined(_MSC_VER) && (_MSC_VER <= 1000) - typedef unsigned int bool; -#elif defined(_MSC_VER) && (_MSC_VER == 1020) - #define bool unsigned int -#elif defined(__BORLANDC__) && (__BORLANDC__ < 0x500) - typedef unsigned int bool; -#elif defined(__WATCOMC__) - typedef unsigned int bool; -#elif defined(__SUNCC__) - // If we use int, we get identically overloaded functions in config.cpp - typedef unsigned char bool; -#endif - -#if ( defined(_MSC_VER) && (_MSC_VER <= 800) ) || defined(__GNUWIN32__) || (defined(__BORLANDC__) && defined(__WIN16__)) || defined(__SC__) || defined(__SALFORDC__) -// Not a good idea, because later system files (e.g. windows.h) -// may try to define it. Use wxByte instead. -// #define byte unsigned char -#endif +#endif // bool typedef unsigned char wxByte; typedef short int WXTYPE; @@ -149,9 +201,9 @@ typedef int wxWindowID; // Macro to cut down on compiler warnings. #if REMOVE_UNUSED_ARG -#define WXUNUSED(identifier) /* identifier */ + #define WXUNUSED(identifier) /* identifier */ #else // stupid, broken compiler -#define WXUNUSED(identifier) identifier + #define WXUNUSED(identifier) identifier #endif /* @@ -160,31 +212,16 @@ typedef int wxWindowID; #ifdef __WXMSW__ -#ifdef __BORLANDC__ +// _declspec works in BC++ 5 and later, as well as VC++ +#if defined(__VISUALC__) || defined(__BORLANDC__) # ifdef WXMAKINGDLL -# define WXDLLEXPORT __export -# define WXDLLEXPORT_DATA(type) type __export -# define WXDLLEXPORT_CTORFN __export -# elif defined(WXUSINGDLL) -# define WXDLLEXPORT __import -# define WXDLLEXPORT_DATA(type) type __import +# define WXDLLEXPORT _declspec( dllexport ) +# define WXDLLEXPORT_DATA(type) _declspec( dllexport ) type # define WXDLLEXPORT_CTORFN -# else -# define WXDLLEXPORT -# define WXDLLEXPORT_DATA(type) type -# define WXDLLEXPORT_CTORFN -# endif - -#else - -# ifdef WXMAKINGDLL -# define WXDLLEXPORT __declspec( dllexport ) -# define WXDLLEXPORT_DATA(type) __declspec( dllexport ) type -# define WXDLLEXPORT_CTORFN // __declspec( dllexport ) # elif defined(WXUSINGDLL) -# define WXDLLEXPORT __declspec( dllimport ) -# define WXDLLEXPORT_DATA(type) __declspec( dllimport ) type +# define WXDLLEXPORT _declspec( dllimport ) +# define WXDLLEXPORT_DATA(type) _declspec( dllimport ) type # define WXDLLEXPORT_CTORFN # else # define WXDLLEXPORT @@ -192,15 +229,18 @@ typedef int wxWindowID; # define WXDLLEXPORT_CTORFN # endif -#endif - #else -// Non-Windows # define WXDLLEXPORT # define WXDLLEXPORT_DATA(type) type # define WXDLLEXPORT_CTORFN #endif +#else // !Windows +# define WXDLLEXPORT +# define WXDLLEXPORT_DATA(type) type +# define WXDLLEXPORT_CTORFN +#endif // Win/!Win + // For ostream, istream ofstream #if defined(__BORLANDC__) && defined( _RTLDLL ) # define WXDLLIMPORT __import @@ -215,27 +255,6 @@ class WXDLLEXPORT wxEvent; integer on success as failure indicator */ #define wxNOT_FOUND (-1) -// ---------------------------------------------------------------------------- -// Error codes -// ---------------------------------------------------------------------------- - -#ifdef ERR_PARAM -#undef ERR_PARAM -#endif - -/// Standard error codes -enum ErrCode -{ - /// invalid parameter (in broad sense) - ERR_PARAM = (-4000), - /// no more data (iteration functions usually return this) - ERR_NODATA, - /// user cancelled the operation - ERR_CANCEL, - /// no error (the only non negative error code) - ERR_SUCCESS = 0 -}; - // ---------------------------------------------------------------------------- /** @name Very common macros */ // ---------------------------------------------------------------------------- @@ -274,30 +293,6 @@ enum ErrCode WXDLLEXPORT_DATA(extern const bool) wxTrue; WXDLLEXPORT_DATA(extern const bool) wxFalse; -// ---------------------------------------------------------------------------- -// compiler and OS identification -// ---------------------------------------------------------------------------- - -// OS -#if defined(__HPUX__) || defined(____SVR4____) || defined(__LINUX__) || defined(__sgi ) || defined(__unix__) - #ifndef __UNIX__ - #define __UNIX__ - #endif -#endif - -#ifndef __UNIX__ // Windows - #if defined(_MSC_VER) - #define __VISUALC__ - #elif defined(__BCPLUSPLUS__) && !defined(__BORLANDC__) - #define __BORLANDC__ - #elif defined(__WATCOMC__) - //#define __WATCOMC__ - #elif defined(__SC__) - #define __SYMANTECC__ - #endif // compiler - -#endif // OS - // ---------------------------------------------------------------------------- // compiler specific settings // ---------------------------------------------------------------------------- @@ -308,25 +303,18 @@ WXDLLEXPORT_DATA(extern const bool) wxFalse; #pragma warning(disable: 4514) // unreferenced inline func has been removed /* you might be tempted to disable this one also: triggered by CHECK and FAIL - macros in debug.h, but it's, overall, is a rather useful one, so I leave it - and will try to find some way to disable this warning just for CHECK/FAIL. - Anyone? + macros in debug.h, but it's, overall, a rather useful one, so I leave it and + will try to find some way to disable this warning just for CHECK/FAIL. Anyone? */ #pragma warning(disable: 4127) // conditional expression is constant - #endif // VC++ -#if _MSC_VER > 1010 -#undef try -#undef except -#undef finally -#define except(x) catch(...) -#elif defined(__MWERKS__) -#undef try -#undef except -#undef finally -#define except(x) catch(...) -#endif +#if defined(__MWERKS__) + #undef try + #undef except + #undef finally + #define except(x) catch(...) +#endif // Metrowerks // where should i put this? we need to make sure of this as it breaks // the code. @@ -395,20 +383,20 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); /* * Frame/dialog style flags */ -#define wxSTAY_ON_TOP 0x8000 -#define wxICONIZE 0x4000 -#define wxMINIMIZE wxICONIZE -#define wxMAXIMIZE 0x2000 -#define wxTHICK_FRAME 0x1000 -#define wxSYSTEM_MENU 0x0800 -#define wxMINIMIZE_BOX 0x0400 -#define wxMAXIMIZE_BOX 0x0200 -#define wxTINY_CAPTION_HORIZ 0x0100 -#define wxTINY_CAPTION_VERT 0x0080 -#define wxRESIZE_BOX wxMAXIMIZE_BOX -#define wxRESIZE_BORDER 0x0040 -#define wxDIALOG_MODAL 0x0020 -#define wxDIALOG_MODELESS 0x0000 +#define wxSTAY_ON_TOP 0x8000 +#define wxICONIZE 0x4000 +#define wxMINIMIZE wxICONIZE +#define wxMAXIMIZE 0x2000 +#define wxTHICK_FRAME 0x1000 +#define wxSYSTEM_MENU 0x0800 +#define wxMINIMIZE_BOX 0x0400 +#define wxMAXIMIZE_BOX 0x0200 +#define wxTINY_CAPTION_HORIZ 0x0100 +#define wxTINY_CAPTION_VERT 0x0080 +#define wxRESIZE_BOX wxMAXIMIZE_BOX +#define wxRESIZE_BORDER 0x0040 +#define wxDIALOG_MODAL 0x0020 +#define wxDIALOG_MODELESS 0x0000 #define wxDEFAULT_FRAME_STYLE (wxRESIZE_BORDER | wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxTHICK_FRAME | wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN) @@ -416,7 +404,7 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); #define wxDEFAULT_FRAME wxDEFAULT_FRAME_STYLE #endif -#define wxDEFAULT_DIALOG_STYLE (wxSYSTEM_MENU|wxCAPTION|wxTHICK_FRAME) +#define wxDEFAULT_DIALOG_STYLE (wxSYSTEM_MENU|wxCAPTION|wxTHICK_FRAME) /* * Subwindow style flags @@ -429,17 +417,24 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); /* * wxToolBar style flags */ - #define wxTB_3DBUTTONS 0x8000 #define wxTB_HORIZONTAL 0x0002 #define wxTB_VERTICAL 0x0004 // Flatbar/Coolbar under Win98 #define wxTB_FLAT 0x0008 +// use native docking +#define wxTB_DOCKABLE 0x0010 /* - * Apply to all panel items + * wxMenuBar style flags */ +// use native docking +#define wxMB_DOCKABLE 0x0001 + +/* + * Apply to all panel items + */ #define wxCOLOURED 0x0800 // Alignment for panel item labels: replaces characters with zeros // when creating label, so spaces can be included in string for alignment. @@ -452,7 +447,6 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); /* * Styles for wxListBox */ - #define wxLB_SORT 0x0010 #define wxLB_SINGLE 0x0020 #define wxLB_MULTIPLE 0x0040 @@ -508,7 +502,6 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); /* * wxSlider flags */ - #define wxSL_HORIZONTAL wxHORIZONTAL #define wxSL_VERTICAL wxVERTICAL // The next one is obsolete - use scroll events instead @@ -526,21 +519,18 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); /* * wxScrollBar flags */ - #define wxSB_HORIZONTAL wxHORIZONTAL #define wxSB_VERTICAL wxVERTICAL /* * wxButton flags */ - #define wxBU_AUTODRAW 0x0004 #define wxBU_NOAUTODRAW 0x0000 /* * wxTreeCtrl flags */ - #define wxTR_HAS_BUTTONS 0x0004 #define wxTR_EDIT_LABELS 0x0008 #define wxTR_LINES_AT_ROOT 0x0010 @@ -548,7 +538,6 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); /* * wxListCtrl flags */ - #define wxLC_ICON 0x0004 #define wxLC_SMALL_ICON 0x0008 #define wxLC_LIST 0x0010 @@ -602,17 +591,16 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); * wxTabCtrl flags */ -#define wxTAB_MULTILINE 0x0000 -#define wxTAB_RIGHTJUSTIFY 0x0004 -#define wxTAB_FIXEDWIDTH 0x0008 -#define wxTAB_OWNERDRAW 0x0010 - -// Sorry, I changed my mind about these names... #define wxTC_MULTILINE 0x0000 #define wxTC_RIGHTJUSTIFY 0x0004 #define wxTC_FIXEDWIDTH 0x0008 #define wxTC_OWNERDRAW 0x0010 +/* + * wxNotebook flags + */ +#define wxNB_FIXEDWIDTH 0x0008 + /* * wxStatusBar95 flags */ @@ -664,7 +652,7 @@ enum { wxCROSS_HATCH, wxHORIZONTAL_HATCH, wxVERTICAL_HATCH, -#define IS_HATCH(s) ((s)>=wxBDIAGONAL_HATCH && (s)<=wxVERTICAL_HATCH) +#define IS_HATCH(s) ((s)>=wxBDIAGONAL_HATCH && (s)<=wxVERTICAL_HATCH) wxJOIN_BEVEL = 120, wxJOIN_MITER, @@ -677,7 +665,7 @@ enum { // Logical ops -typedef enum +typedef enum { wxCLEAR, // 0 wxXOR, // src XOR dst @@ -708,10 +696,10 @@ typedef enum #define wxWINDING_RULE 2 // ToolPanel in wxFrame -#define wxTOOL_TOP 1 -#define wxTOOL_BOTTOM 2 -#define wxTOOL_LEFT 3 -#define wxTOOL_RIGHT 4 +#define wxTOOL_TOP 1 +#define wxTOOL_BOTTOM 2 +#define wxTOOL_LEFT 3 +#define wxTOOL_RIGHT 4 // Dialog specifiers/return values @@ -777,13 +765,13 @@ enum wxDataFormat /* Virtual keycodes */ -enum wxKeyCode +enum wxKeyCode { WXK_BACK = 8, WXK_TAB = 9, - WXK_RETURN = 13, - WXK_ESCAPE = 27, - WXK_SPACE = 32, + WXK_RETURN = 13, + WXK_ESCAPE = 27, + WXK_SPACE = 32, WXK_DELETE = 127, WXK_START = 300, @@ -859,34 +847,30 @@ enum wxKeyCode /* OS mnemonics -- Identify the running OS (useful for Windows) * [Not all platforms are currently available or supported] */ -enum +enum { wxUNKNOWN_PLATFORM, - wxCURSES, /* Text-only CURSES */ - wxXVIEW_X, /* Sun's XView OpenLOOK toolkit */ - wxMOTIF_X, /* OSF Motif 1.x.x */ - wxCOSE_X, /* OSF Common Desktop Environment */ - wxNEXTSTEP, /* NeXTStep */ - wxMACINTOSH, /* Apple System 7 */ - wxGTK, /* GTK */ - wxQT, /* Qt */ - wxGEOS, /* GEOS */ - wxOS2_PM, /* OS/2 Workplace */ - wxWINDOWS, /* Windows or WfW */ - wxPENWINDOWS, /* Windows for Pen Computing */ - wxWINDOWS_NT, /* Windows NT */ - wxWIN32S, /* Windows 32S API */ - wxWIN95, /* Windows 95 */ - wxWIN386 /* Watcom 32-bit supervisor modus */ + wxCURSES, // Text-only CURSES + wxXVIEW_X, // Sun's XView OpenLOOK toolkit + wxMOTIF_X, // OSF Motif 1.x.x + wxCOSE_X, // OSF Common Desktop Environment + wxNEXTSTEP, // NeXTStep + wxMACINTOSH, // Apple System 7 + wxGTK, // GTK + wxQT, // Qt + wxGEOS, // GEOS + wxOS2_PM, // OS/2 Workplace + wxWINDOWS, // Windows or WfW + wxPENWINDOWS, // Windows for Pen Computing + wxWINDOWS_NT, // Windows NT + wxWIN32S, // Windows 32S API + wxWIN95, // Windows 95 + wxWIN386 // Watcom 32-bit supervisor modus }; -/* Printing */ -#ifndef wxPORTRAIT -#define wxPORTRAIT 1 -#define wxLANDSCAPE 2 -#endif - /* Standard menu identifiers */ +#define wxID_LOWEST 4999 + #define wxID_OPEN 5000 #define wxID_CLOSE 5001 #define wxID_NEW 5002 @@ -933,9 +917,131 @@ enum #define wxID_HIGHEST 5999 +// Mapping modes (as per Windows) +#define wxMM_TEXT 1 +#define wxMM_LOMETRIC 2 +#define wxMM_HIMETRIC 3 +#define wxMM_LOENGLISH 4 +#define wxMM_HIENGLISH 5 +#define wxMM_TWIPS 6 +#define wxMM_ISOTROPIC 7 +#define wxMM_ANISOTROPIC 8 + +#define wxMM_POINTS 9 +#define wxMM_METRIC 10 + /* Shortcut for easier dialog-unit-to-pixel conversion */ #define wxDLG_UNIT(parent, pt) parent->ConvertDialogToPixels(pt) +/* Paper types */ +typedef enum { + wxPAPER_NONE, // Use specific dimensions + wxPAPER_LETTER, // Letter, 8 1/2 by 11 inches + wxPAPER_LEGAL, // Legal, 8 1/2 by 14 inches + wxPAPER_A4, // A4 Sheet, 210 by 297 millimeters + wxPAPER_CSHEET, // C Sheet, 17 by 22 inches + wxPAPER_DSHEET, // D Sheet, 22 by 34 inches + wxPAPER_ESHEET, // E Sheet, 34 by 44 inches + wxPAPER_LETTERSMALL, // Letter Small, 8 1/2 by 11 inches + wxPAPER_TABLOID, // Tabloid, 11 by 17 inches + wxPAPER_LEDGER, // Ledger, 17 by 11 inches + wxPAPER_STATEMENT, // Statement, 5 1/2 by 8 1/2 inches + wxPAPER_EXECUTIVE, // Executive, 7 1/4 by 10 1/2 inches + wxPAPER_A3, // A3 sheet, 297 by 420 millimeters + wxPAPER_A4SMALL, // A4 small sheet, 210 by 297 millimeters + wxPAPER_A5, // A5 sheet, 148 by 210 millimeters + wxPAPER_B4, // B4 sheet, 250 by 354 millimeters + wxPAPER_B5, // B5 sheet, 182-by-257-millimeter paper + wxPAPER_FOLIO, // Folio, 8-1/2-by-13-inch paper + wxPAPER_QUARTO, // Quarto, 215-by-275-millimeter paper + wxPAPER_10X14, // 10-by-14-inch sheet + wxPAPER_11X17, // 11-by-17-inch sheet + wxPAPER_NOTE, // Note, 8 1/2 by 11 inches + wxPAPER_ENV_9, // #9 Envelope, 3 7/8 by 8 7/8 inches + wxPAPER_ENV_10, // #10 Envelope, 4 1/8 by 9 1/2 inches + wxPAPER_ENV_11, // #11 Envelope, 4 1/2 by 10 3/8 inches + wxPAPER_ENV_12, // #12 Envelope, 4 3/4 by 11 inches + wxPAPER_ENV_14, // #14 Envelope, 5 by 11 1/2 inches + wxPAPER_ENV_DL, // DL Envelope, 110 by 220 millimeters + wxPAPER_ENV_C5, // C5 Envelope, 162 by 229 millimeters + wxPAPER_ENV_C3, // C3 Envelope, 324 by 458 millimeters + wxPAPER_ENV_C4, // C4 Envelope, 229 by 324 millimeters + wxPAPER_ENV_C6, // C6 Envelope, 114 by 162 millimeters + wxPAPER_ENV_C65, // C65 Envelope, 114 by 229 millimeters + wxPAPER_ENV_B4, // B4 Envelope, 250 by 353 millimeters + wxPAPER_ENV_B5, // B5 Envelope, 176 by 250 millimeters + wxPAPER_ENV_B6, // B6 Envelope, 176 by 125 millimeters + wxPAPER_ENV_ITALY, // Italy Envelope, 110 by 230 millimeters + wxPAPER_ENV_MONARCH, // Monarch Envelope, 3 7/8 by 7 1/2 inches + wxPAPER_ENV_PERSONAL, // 6 3/4 Envelope, 3 5/8 by 6 1/2 inches + wxPAPER_FANFOLD_US, // US Std Fanfold, 14 7/8 by 11 inches + wxPAPER_FANFOLD_STD_GERMAN, // German Std Fanfold, 8 1/2 by 12 inches + wxPAPER_FANFOLD_LGL_GERMAN, // German Legal Fanfold, 8 1/2 by 13 inches + + wxPAPER_ISO_B4, // B4 (ISO) 250 x 353 mm + wxPAPER_JAPANESE_POSTCARD, // Japanese Postcard 100 x 148 mm + wxPAPER_9X11, // 9 x 11 in + wxPAPER_10X11, // 10 x 11 in + wxPAPER_15X11, // 15 x 11 in + wxPAPER_ENV_INVITE, // Envelope Invite 220 x 220 mm + wxPAPER_LETTER_EXTRA, // Letter Extra 9 \275 x 12 in + wxPAPER_LEGAL_EXTRA, // Legal Extra 9 \275 x 15 in + wxPAPER_TABLOID_EXTRA, // Tabloid Extra 11.69 x 18 in + wxPAPER_A4_EXTRA, // A4 Extra 9.27 x 12.69 in + wxPAPER_LETTER_TRANSVERSE, // Letter Transverse 8 \275 x 11 in + wxPAPER_A4_TRANSVERSE, // A4 Transverse 210 x 297 mm + wxPAPER_LETTER_EXTRA_TRANSVERSE, // Letter Extra Transverse 9\275 x 12 in + wxPAPER_A_PLUS, // SuperA/SuperA/A4 227 x 356 mm + wxPAPER_B_PLUS, // SuperB/SuperB/A3 305 x 487 mm + wxPAPER_LETTER_PLUS, // Letter Plus 8.5 x 12.69 in + wxPAPER_A4_PLUS, // A4 Plus 210 x 330 mm + wxPAPER_A5_TRANSVERSE, // A5 Transverse 148 x 210 mm + wxPAPER_B5_TRANSVERSE, // B5 (JIS) Transverse 182 x 257 mm + wxPAPER_A3_EXTRA, // A3 Extra 322 x 445 mm + wxPAPER_A5_EXTRA, // A5 Extra 174 x 235 mm + wxPAPER_B5_EXTRA, // B5 (ISO) Extra 201 x 276 mm + wxPAPER_A2, // A2 420 x 594 mm + wxPAPER_A3_TRANSVERSE, // A3 Transverse 297 x 420 mm + wxPAPER_A3_EXTRA_TRANSVERSE // A3 Extra Transverse 322 x 445 mm + +} wxPaperSize ; + +/* Printing orientation */ +#ifndef wxPORTRAIT +#define wxPORTRAIT 1 +#define wxLANDSCAPE 2 +#endif + +/* Duplex printing modes + */ + +typedef enum { + wxDUPLEX_SIMPLEX, // Non-duplex + wxDUPLEX_HORIZONTAL, + wxDUPLEX_VERTICAL +} wxDuplexMode; + +/* 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) + */ + +typedef enum { + 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 +} wxPrintMode; + + #ifdef __WXMSW__ /* Stand-ins for Windows types, to avoid * #including all of windows.h */ @@ -1023,6 +1129,7 @@ typedef struct _GtkStyle GtkStyle; typedef struct _GtkAdjustment GtkAdjustment; typedef struct _GtkList GtkList; typedef struct _GtkToolbar GtkToolbar; +typedef struct _GtkTooltips GtkTooltips; typedef struct _GtkNotebook GtkNotebook; typedef struct _GtkNotebookPage GtkNotebookPage;