// "old" GNUWIN32 is the one without Norlander's headers: it lacks the standard
// Win32 headers and we define the used stuff ourselves for it in
// wx/msw/gnuwin32/extra.h
-#if defined(__GNUWIN32__) && !wxUSE_NORLANDER_HEADERS
+#if defined(__GNUC__) && !wxUSE_NORLANDER_HEADERS
#define __GNUWIN32_OLD__
#endif
#endif
#ifdef __WXMSW__
-// wxWindows checks for WIN32, not __WIN32__
-#if ((defined(WIN32) || defined(__NT__)) && !defined(__WIN32__) && !defined(__WXSTUBS__))
-#define __WIN32__
+
+#if defined(_WIN32) || defined(WIN32) || defined(__NT__)
+ #ifndef __WIN32__
+ #define __WIN32__
+ #endif
#endif
#ifdef __WXWINE__
typedef float wxFloat32 ;
#if defined( __WXMAC__ ) && defined (__MWERKS__)
- typedef short double wxFloat64;
+ typedef short double wxFloat64;
#else
- typedef double wxFloat64;
+ typedef double wxFloat64;
#endif
#if defined( __WXMAC__ ) && !defined( __POWERPC__ )
#if defined (__MWERKS__) && ( (__MWERKS__ < 0x0900) || macintosh )
// assembler versions for these
#ifdef __POWERPC__
- inline wxUint16 wxUINT16_SWAP_ALWAYS( wxUint16 i )
- {return (__lhbrx( &i , 0 ) ) ;}
- inline wxInt16 wxINT16_SWAP_ALWAYS( wxInt16 i )
- {return (__lhbrx( &i , 0 ) ) ;}
- inline wxUint32 wxUINT32_SWAP_ALWAYS( wxUint32 i )
- {return (__lwbrx( &i , 0 ) ) ;}
- inline wxInt32 wxINT32_SWAP_ALWAYS( wxInt32 i )
- {return (__lwbrx( &i , 0 ) ) ;}
+ inline wxUint16 wxUINT16_SWAP_ALWAYS( wxUint16 i )
+ {return (__lhbrx( &i , 0 ) ) ;}
+ inline wxInt16 wxINT16_SWAP_ALWAYS( wxInt16 i )
+ {return (__lhbrx( &i , 0 ) ) ;}
+ inline wxUint32 wxUINT32_SWAP_ALWAYS( wxUint32 i )
+ {return (__lwbrx( &i , 0 ) ) ;}
+ inline wxInt32 wxINT32_SWAP_ALWAYS( wxInt32 i )
+ {return (__lwbrx( &i , 0 ) ) ;}
#else
- #pragma parameter __D0 wxUINT16_SWAP_ALWAYS(__D0)
- pascal wxUint16 wxUINT16_SWAP_ALWAYS(wxUint16 value)
- = { 0xE158 };
-
- #pragma parameter __D0 wxINT16_SWAP_ALWAYS(__D0)
- pascal wxInt16 wxUINT16_SWAP_ALWAYS(wxInt16 value)
- = { 0xE158 };
-
- #pragma parameter __D0 wxUINT32_SWAP_ALWAYS (__D0)
- pascal wxUint32 wxUINT32_SWAP_ALWAYS(wxUint32 value)
- = { 0xE158, 0x4840, 0xE158 };
-
- #pragma parameter __D0 wxINT32_SWAP_ALWAYS (__D0)
- pascal wxInt32 wxUINT32_SWAP_ALWAYS(wxInt32 value)
- = { 0xE158, 0x4840, 0xE158 };
+ #pragma parameter __D0 wxUINT16_SWAP_ALWAYS(__D0)
+ pascal wxUint16 wxUINT16_SWAP_ALWAYS(wxUint16 value)
+ = { 0xE158 };
+
+ #pragma parameter __D0 wxINT16_SWAP_ALWAYS(__D0)
+ pascal wxInt16 wxUINT16_SWAP_ALWAYS(wxInt16 value)
+ = { 0xE158 };
+
+ #pragma parameter __D0 wxUINT32_SWAP_ALWAYS (__D0)
+ pascal wxUint32 wxUINT32_SWAP_ALWAYS(wxUint32 value)
+ = { 0xE158, 0x4840, 0xE158 };
+
+ #pragma parameter __D0 wxINT32_SWAP_ALWAYS (__D0)
+ pascal wxInt32 wxUINT32_SWAP_ALWAYS(wxInt32 value)
+ = { 0xE158, 0x4840, 0xE158 };
#endif
#else // !MWERKS
#define wxTRANSPARENT_WINDOW 0x00100000
#define wxNO_BORDER 0x00200000
+// Override CTL3D etc. control colour processing to allow own background
+// colour.
+// OBSOLETE - use wxNO_3D instead
#define wxUSER_COLOURS 0x00800000
- // Override CTL3D etc. control colour processing to
- // allow own background colour
- // OBSOLETE - use wxNO_3D instead
+// Override CTL3D or native 3D styles for children
#define wxNO_3D 0x00800000
- // Override CTL3D or native 3D styles for children
+
+// Clip children when painting, which reduces flicker in e.g. frames and
+// splitter windows, but can't be used in a panel where a static box must be
+// 'transparent' (panel paints the background for it)
#define wxCLIP_CHILDREN 0x00400000
- // Clip children when painting, which reduces flicker in
- // e.g. frames and splitter windows, but can't be used in
- // a panel where a static box must be 'transparent' (panel
- // paints the background for it)
-// Add this style to a panel to get tab traversal working
-// outside of dialogs.
+// Add this style to a panel to get tab traversal working outside of dialogs
+// (on by default for wxPanel, wxDialog, wxScrolledWindow)
#define wxTAB_TRAVERSAL 0x00080000
// Add this style if the control wants to get all keyboard messages (under
// don't invalidate the whole window (resulting in a PAINT event) when the
// window is resized (currently, makes sense for wxMSW only)
#define wxNO_FULL_REPAINT_ON_RESIZE 0x00010000
+
+/*
+ * Extra window style flags (use wxWS_EX prefix to make it clear that they
+ * should be passed to wxWindow::SetExtraStyle(), not SetWindowStyle())
+ */
+
+// by default, TransferDataTo/FromWindow() only work on direct children of the
+// window (compatible behaviour), set this flag to make them recursively
+// descend into all subwindows
+#define wxWS_EX_VALIDATE_RECURSIVELY 0x00000001
+
/*
* wxFrame/wxDialog style flags
*/
// Add for normal Windows frame behaviour
#define wxFRAME_FLOAT_ON_PARENT 0x0020
+/*
+ * MDI parent frame style flags
+ * Can overlap with some of the above.
+ */
+
+#define wxFRAME_NO_WINDOW_MENU 0x0100
#if WXWIN_COMPATIBILITY
#define wxDEFAULT_FRAME wxDEFAULT_FRAME_STYLE
/*
* wxTextCtrl style flags
*/
-#define wxPROCESS_ENTER 0x0004
-#define wxPASSWORD 0x0008
-#define wxTE_PROCESS_ENTER wxPROCESS_ENTER
-#define wxTE_PASSWORD wxPASSWORD
+// the flag bits 0x0001, 2, 4 and 8 are free but should be used only for the
+// things which don't make sense for a text control used by wxTextEntryDialog
+// because they would otherwise conflict with wxOK, wxCANCEL, wxCENTRE
#define wxTE_READONLY 0x0010
#define wxTE_MULTILINE 0x0020
#define wxTE_PROCESS_TAB 0x0040
#define wxTE_RICH 0x0080
#define wxTE_NO_VSCROLL 0x0100
#define wxTE_AUTO_SCROLL 0x0200
+#define wxPROCESS_ENTER 0x0400
+#define wxPASSWORD 0x0800
+#define wxTE_PROCESS_ENTER wxPROCESS_ENTER
+#define wxTE_PASSWORD wxPASSWORD
/*
* wxComboBox style flags
#define wxPD_AUTO_HIDE 0x0004
#define wxPD_ELAPSED_TIME 0x0008
#define wxPD_ESTIMATED_TIME 0x0010
-#define wxPD_REMAINING_TIME 0x0020
+// wxGA_SMOOTH = 0x0020 may also be used with wxProgressDialog
+#define wxPD_REMAINING_TIME 0x0040
/*
* wxHtmlWindow flags
// Brush & Pen Stippling. Note that a stippled pen cannot be dashed!!
// Note also that stippling a Pen IS meaningfull, because a Line is
+ wxSTIPPLE_MASK_OPAQUE, //mask is used for blitting monochrome using text fore and back ground colors
+ wxSTIPPLE_MASK, //mask is used for masking areas in the stipple bitmap (TO DO)
// drawn with a Pen, and without any Brush -- and it can be stippled.
wxSTIPPLE = 110,
wxBDIAGONAL_HATCH,
// Logical ops
typedef enum
{
- wxCLEAR, // 0
- wxXOR, // src XOR dst
- wxINVERT, // NOT dst
- wxOR_REVERSE, // src OR (NOT dst)
- wxAND_REVERSE,// src AND (NOT dst)
- wxCOPY, // src
- wxAND, // src AND dst
- wxAND_INVERT, // (NOT src) AND dst
- wxNO_OP, // dst
- wxNOR, // (NOT src) AND (NOT dst)
- wxEQUIV, // (NOT src) XOR dst
- wxSRC_INVERT, // (NOT src)
- wxOR_INVERT, // (NOT src) OR dst
- wxNAND, // (NOT src) OR (NOT dst)
- wxOR, // src OR dst
- wxSET, // 1
- wxSRC_OR, // source _bitmap_ OR destination
- wxSRC_AND // source _bitmap_ AND destination
+ wxCLEAR, wxROP_BLACK = wxCLEAR, wxBLIT_BLACKNESS = wxCLEAR, // 0
+ wxXOR, wxROP_XORPEN = wxXOR, wxBLIT_SRCINVERT = wxXOR, // src XOR dst
+ wxINVERT, wxROP_NOT = wxINVERT, wxBLIT_DSTINVERT = wxINVERT, // NOT dst
+ wxOR_REVERSE, wxROP_MERGEPENNOT = wxOR_REVERSE, wxBLIT_00DD0228 = wxOR_REVERSE, // src OR (NOT dst)
+ wxAND_REVERSE, wxROP_MASKPENNOT = wxAND_REVERSE, wxBLIT_SRCERASE = wxAND_REVERSE, // src AND (NOT dst)
+ wxCOPY, wxROP_COPYPEN = wxCOPY, wxBLIT_SRCCOPY = wxCOPY, // src
+ wxAND, wxROP_MASKPEN = wxAND, wxBLIT_SRCAND = wxAND, // src AND dst
+ wxAND_INVERT, wxROP_MASKNOTPEN = wxAND_INVERT, wxBLIT_00220326 = wxAND_INVERT, // (NOT src) AND dst
+ wxNO_OP, wxROP_NOP = wxNO_OP, wxBLIT_00AA0029 = wxNO_OP, // dst
+ wxNOR, wxROP_NOTMERGEPEN = wxNOR, wxBLIT_NOTSRCERASE = wxNOR, // (NOT src) AND (NOT dst)
+ wxEQUIV, wxROP_NOTXORPEN = wxEQUIV, wxBLIT_00990066 = wxEQUIV, // (NOT src) XOR dst
+ wxSRC_INVERT, wxROP_NOTCOPYPEN = wxSRC_INVERT, wxBLIT_NOTSCRCOPY = wxSRC_INVERT, // (NOT src)
+ wxOR_INVERT, wxROP_MERGENOTPEN = wxOR_INVERT, wxBLIT_MERGEPAINT = wxOR_INVERT, // (NOT src) OR dst
+ wxNAND, wxROP_NOTMASKPEN = wxNAND, wxBLIT_007700E6 = wxNAND, // (NOT src) OR (NOT dst)
+ wxOR, wxROP_MERGEPEN = wxOR, wxBLIT_SRCPAINT = wxOR, // src OR dst
+ wxSET, wxROP_WHITE = wxSET, wxBLIT_WHITENESS = wxSET // 1
} form_ops_t;
/* Flood styles */
#ifdef __WXMAC__
-typedef WindowPtr WXHWND;
-typedef Handle WXHANDLE;
-typedef CIconHandle WXHICON;
+typedef WindowPtr WXHWND;
+typedef Handle WXHANDLE;
+typedef CIconHandle WXHICON;
//typedef unsigned long WXHFONT;
-typedef MenuHandle WXHMENU;
+typedef MenuHandle WXHMENU;
//typedef unsigned long WXHPEN;
//typedef unsigned long WXHBRUSH;
//typedef unsigned long WXHPALETTE;
-typedef CursHandle WXHCURSOR;
-typedef RgnHandle WXHRGN;
+typedef CursHandle WXHCURSOR;
+typedef RgnHandle WXHRGN;
//typedef unsigned long WXHACCEL;
//typedef unsigned long WXHINSTANCE;
typedef GWorldPtr WXHBITMAP;
//typedef unsigned long WXHIMAGELIST;
//typedef unsigned long WXHGLOBAL;
-typedef GrafPtr WXHDC;
+typedef GrafPtr WXHDC;
typedef unsigned int WXUINT;
typedef unsigned long WXDWORD;
typedef unsigned short WXWORD;
//typedef unsigned int WXWPARAM;
//typedef long WXLPARAM;
-typedef RGBColor WXCOLORREF;
+typedef RGBColor WXCOLORREF;
//typedef void * WXRGNDATA;
//typedef void * WXMSG;
//typedef unsigned long WXHCONV;
#endif
// the keywords needed for WinMain() declaration
+
#ifdef __WIN16__
- #ifndef FAR
#ifdef __VISUALC__
- #define FAR __far
+ #define WXFAR __far
#else // !VC++
- #define FAR _far
+ #define WXFAR _far
#endif
- #endif // no FAR
#else // Win32
- #define FAR
+ #ifndef WXFAR
+ #define WXFAR
+ #endif
#endif // Win16/32
#endif // MSW
typedef struct _GtkNotebook GtkNotebook;
typedef struct _GtkNotebookPage GtkNotebookPage;
typedef struct _GtkAccelGroup GtkAccelGroup;
-typedef struct _GtkItemFactory GtkItemFactory;
-typedef struct _GtkSelectionData GtkSelectionData;
+typedef struct _GtkItemFactory GtkItemFactory;
+typedef struct _GtkSelectionData GtkSelectionData;
typedef GtkWidget *WXWidget;
#endif // GTK