X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/58a8ab88685a72ac030d5e2ade62b4d796f11bed..69418a8e475a23318b21ef06bc9f3c69e1ddbb58:/include/wx/defs.h diff --git a/include/wx/defs.h b/include/wx/defs.h index d0d54f441a..a67a754a5a 100644 --- a/include/wx/defs.h +++ b/include/wx/defs.h @@ -28,7 +28,7 @@ // OS #if defined(__unix) || defined(__unix__) || defined(____SVR4____) || \ defined(__LINUX__) || defined(__sgi ) || \ - defined(__hpux) || defined(sun) || defined(__SUN__) + defined(__hpux) || defined(sun) || defined(__SUN__) || defined(_AIX) #ifndef __UNIX__ #define __UNIX__ @@ -185,6 +185,9 @@ #elif defined(__WATCOMC__) && (__WATCOMC__ >= 1100) // Watcom 11+ supports bool #define HAVE_BOOL + #elif defined(__GNUWIN32__) + // Cygwin supports bool + #define HAVE_BOOL #endif // compilers #endif // HAVE_BOOL @@ -388,7 +391,7 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); #define wxMINIMIZE wxICONIZE #define wxMAXIMIZE 0x2000 #define wxTHICK_FRAME 0x1000 -#define wxSYSTEM_MENU 0x0800 +#define wxSYSTEM_MENU 0x0800 #define wxMINIMIZE_BOX 0x0400 #define wxMAXIMIZE_BOX 0x0200 #define wxTINY_CAPTION_HORIZ 0x0100 @@ -397,14 +400,24 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); #define wxRESIZE_BORDER 0x0040 #define wxDIALOG_MODAL 0x0020 #define wxDIALOG_MODELESS 0x0000 +/* Add for normal Windows frame behaviour */ +#define wxFRAME_FLOAT_ON_PARENT 0x0020 -#define wxDEFAULT_FRAME_STYLE (wxRESIZE_BORDER | wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxTHICK_FRAME | wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN) #if WXWIN_COMPATIBILITY #define wxDEFAULT_FRAME wxDEFAULT_FRAME_STYLE #endif -#define wxDEFAULT_DIALOG_STYLE (wxSYSTEM_MENU|wxCAPTION|wxTHICK_FRAME) +#define wxDEFAULT_FRAME_STYLE (wxSYSTEM_MENU|wxRESIZE_BORDER | wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxTHICK_FRAME | wxSYSTEM_MENU | wxCAPTION | wxCLIP_CHILDREN) + +#ifdef __WXMSW__ +# define wxDEFAULT_DIALOG_STYLE (wxSYSTEM_MENU|wxCAPTION|wxTHICK_FRAME) +#else +// Under Unix, the dialogs don't have a system menu. Specifying +// wxSYSTEM_MENU here, will make a close button appear. +# define wxDEFAULT_DIALOG_STYLE (wxCAPTION) +#endif + /* * Subwindow style flags @@ -420,9 +433,9 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); #define wxTB_3DBUTTONS 0x8000 #define wxTB_HORIZONTAL 0x0002 #define wxTB_VERTICAL 0x0004 -// Flatbar/Coolbar under Win98 +// Flatbar/Coolbar under Win98/ GTK 1.2 #define wxTB_FLAT 0x0008 -// use native docking +// use native docking under GTK #define wxTB_DOCKABLE 0x0010 /* @@ -498,6 +511,8 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); #define wxGA_PROGRESSBAR 0x0004 #define wxGA_HORIZONTAL wxHORIZONTAL #define wxGA_VERTICAL wxVERTICAL +/* Windows only */ +#define wxGA_SMOOTH 0x0008 /* * wxSlider flags @@ -523,7 +538,7 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); #define wxSB_VERTICAL wxVERTICAL /* - * wxButton flags + * wxButton flags (Win32 only) */ #define wxBU_AUTODRAW 0x0004 #define wxBU_NOAUTODRAW 0x0000 @@ -607,6 +622,14 @@ typedef void (*wxFunction) (wxObject&, wxEvent&); #define wxST_SIZEGRIP 0x0002 +/* + * wxStaticLine flags + */ +#define wxLI_HORIZONTAL wxHORIZONTAL +#define wxLI_VERTICAL wxVERTICAL + + + /* * GDI descriptions */ @@ -868,12 +891,6 @@ enum wxWIN386 // Watcom 32-bit supervisor modus }; -/* Printing */ -#ifndef wxPORTRAIT -#define wxPORTRAIT 1 -#define wxLANDSCAPE 2 -#endif - /* Standard menu identifiers */ #define wxID_LOWEST 4999 @@ -939,6 +956,115 @@ enum /* 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 */ @@ -980,7 +1106,8 @@ typedef int (__stdcall *WXFARPROC)(); typedef int (*WXFARPROC)(); #endif -#endif +typedef WXHWND WXWidget; +#endif // MSW #ifdef __WXMOTIF__ /* Stand-ins for X/Xt/Motif types */ @@ -999,7 +1126,7 @@ typedef void* WXFont; typedef void* WXImage; typedef void* WXCursor; typedef void* WXFontList; -#endif +#endif // Motif #ifdef __WXGTK__ /* Stand-ins for GLIB types */ @@ -1019,18 +1146,23 @@ typedef struct _GdkWindow GdkBitmap; typedef struct _GdkWindow GdkPixmap; typedef struct _GdkCursor GdkCursor; typedef struct _GdkRegion GdkRegion; +typedef struct _GdkDragContext GdkDragContext; /* Stand-ins for GTK types */ -typedef struct _GtkWidget GtkWidget; -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; - -#endif +typedef struct _GtkWidget GtkWidget; +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; +typedef struct _GtkAccelGroup GtkAccelGroup; +typedef struct _GtkItemFactory GtkItemFactory; +typedef struct _GtkSelectionData GtkSelectionData; + +typedef GtkWidget *WXWidget; +#endif // GTK // This is required because of clashing macros in windows.h, which may be // included before or after wxWindows classes, and therefore must be