Change wxPrintData::SetOrientation() to take wxPrintOrientation instead of int. Closes #11393. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			1279 lines
		
	
	
		
			37 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			1279 lines
		
	
	
		
			37 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        wx/defs.h
 | 
						|
// Purpose:     interface of global functions
 | 
						|
// Author:      wxWidgets team
 | 
						|
// RCS-ID:      $Id$
 | 
						|
// Licence:     wxWindows license
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
// enumerations
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
 | 
						|
/**
 | 
						|
    Generic flags.
 | 
						|
*/
 | 
						|
enum wxGeometryCentre
 | 
						|
{
 | 
						|
    wxCENTRE                  = 0x0001,
 | 
						|
    wxCENTER                  = wxCENTRE
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    A generic orientation value.
 | 
						|
*/
 | 
						|
enum wxOrientation
 | 
						|
{
 | 
						|
    wxHORIZONTAL              = 0x0004,
 | 
						|
    wxVERTICAL                = 0x0008,
 | 
						|
 | 
						|
    /**
 | 
						|
        A mask value to indicate both vertical and horizontal orientations.
 | 
						|
    */
 | 
						|
    wxBOTH                    = wxVERTICAL | wxHORIZONTAL,
 | 
						|
 | 
						|
    /// A synonim for @c wxBOTH.
 | 
						|
    wxORIENTATION_MASK        = wxBOTH
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    A generic direction value.
 | 
						|
*/
 | 
						|
enum wxDirection
 | 
						|
{
 | 
						|
    wxLEFT                    = 0x0010,
 | 
						|
    wxRIGHT                   = 0x0020,
 | 
						|
    wxUP                      = 0x0040,
 | 
						|
    wxDOWN                    = 0x0080,
 | 
						|
 | 
						|
    wxTOP                     = wxUP,
 | 
						|
    wxBOTTOM                  = wxDOWN,
 | 
						|
 | 
						|
    wxNORTH                   = wxUP,
 | 
						|
    wxSOUTH                   = wxDOWN,
 | 
						|
    wxWEST                    = wxLEFT,
 | 
						|
    wxEAST                    = wxRIGHT,
 | 
						|
 | 
						|
    wxALL                     = (wxUP | wxDOWN | wxRIGHT | wxLEFT),
 | 
						|
 | 
						|
    /** A mask to extract direction from the combination of flags. */
 | 
						|
    wxDIRECTION_MASK           = wxALL
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    Generic alignment values. Can be combined together.
 | 
						|
*/
 | 
						|
enum wxAlignment
 | 
						|
{
 | 
						|
    /**
 | 
						|
        A value different from any valid alignment value.
 | 
						|
 | 
						|
        Note that you shouldn't use 0 for this as it's the value of (valid)
 | 
						|
        alignments wxALIGN_LEFT and wxALIGN_TOP.
 | 
						|
 | 
						|
        @since 2.9.1
 | 
						|
     */
 | 
						|
    wxALIGN_INVALID           = -1,
 | 
						|
 | 
						|
    wxALIGN_NOT               = 0x0000,
 | 
						|
    wxALIGN_CENTER_HORIZONTAL = 0x0100,
 | 
						|
    wxALIGN_CENTRE_HORIZONTAL = wxALIGN_CENTER_HORIZONTAL,
 | 
						|
    wxALIGN_LEFT              = wxALIGN_NOT,
 | 
						|
    wxALIGN_TOP               = wxALIGN_NOT,
 | 
						|
    wxALIGN_RIGHT             = 0x0200,
 | 
						|
    wxALIGN_BOTTOM            = 0x0400,
 | 
						|
    wxALIGN_CENTER_VERTICAL   = 0x0800,
 | 
						|
    wxALIGN_CENTRE_VERTICAL   = wxALIGN_CENTER_VERTICAL,
 | 
						|
 | 
						|
    wxALIGN_CENTER            = (wxALIGN_CENTER_HORIZONTAL | wxALIGN_CENTER_VERTICAL),
 | 
						|
    wxALIGN_CENTRE            = wxALIGN_CENTER,
 | 
						|
 | 
						|
    /** A mask to extract alignment from the combination of flags. */
 | 
						|
    wxALIGN_MASK              = 0x0f00
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    Miscellaneous flags for wxSizer items.
 | 
						|
*/
 | 
						|
enum wxSizerFlagBits
 | 
						|
{
 | 
						|
    wxFIXED_MINSIZE                = 0x8000,
 | 
						|
    wxRESERVE_SPACE_EVEN_IF_HIDDEN = 0x0002,
 | 
						|
 | 
						|
    /*  a mask to extract wxSizerFlagBits from combination of flags */
 | 
						|
    wxSIZER_FLAG_BITS_MASK         = 0x8002
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    Generic stretch values.
 | 
						|
*/
 | 
						|
enum wxStretch
 | 
						|
{
 | 
						|
    wxSTRETCH_NOT             = 0x0000,
 | 
						|
    wxSHRINK                  = 0x1000,
 | 
						|
    wxGROW                    = 0x2000,
 | 
						|
    wxEXPAND                  = wxGROW,
 | 
						|
    wxSHAPED                  = 0x4000,
 | 
						|
    wxTILE                    = wxSHAPED | wxFIXED_MINSIZE,
 | 
						|
 | 
						|
    /*  a mask to extract stretch from the combination of flags */
 | 
						|
    wxSTRETCH_MASK            = 0x7000 /* sans wxTILE */
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    Border flags for wxWindow.
 | 
						|
*/
 | 
						|
enum wxBorder
 | 
						|
{
 | 
						|
    /**
 | 
						|
        This is different from wxBORDER_NONE as by default the controls do have
 | 
						|
        a border.
 | 
						|
    */
 | 
						|
    wxBORDER_DEFAULT = 0,
 | 
						|
 | 
						|
    wxBORDER_NONE   = 0x00200000,
 | 
						|
    wxBORDER_STATIC = 0x01000000,
 | 
						|
    wxBORDER_SIMPLE = 0x02000000,
 | 
						|
    wxBORDER_RAISED = 0x04000000,
 | 
						|
    wxBORDER_SUNKEN = 0x08000000,
 | 
						|
    wxBORDER_DOUBLE = 0x10000000, /* deprecated */
 | 
						|
    wxBORDER_THEME  = wxBORDER_DOUBLE,
 | 
						|
 | 
						|
    /*  a mask to extract border style from the combination of flags */
 | 
						|
    wxBORDER_MASK   = 0x1f200000
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
    Background styles.
 | 
						|
 | 
						|
    @see wxWindow::SetBackgroundStyle()
 | 
						|
*/
 | 
						|
enum wxBackgroundStyle
 | 
						|
{
 | 
						|
    /**
 | 
						|
        Default background style value indicating that the background may be
 | 
						|
        erased in the user-defined EVT_ERASE_BACKGROUND handler.
 | 
						|
 | 
						|
        If no such handler is defined (or if it skips the event), the effect of
 | 
						|
        this style is the same as wxBG_STYLE_SYSTEM. If an empty handler (@em
 | 
						|
        not skipping the event) is defined, the effect is the same as
 | 
						|
        wxBG_STYLE_PAINT, i.e. the background is not erased at all until
 | 
						|
        EVT_PAINT handler is executed.
 | 
						|
 | 
						|
        This is the only background style value for which erase background
 | 
						|
        events are generated at all.
 | 
						|
     */
 | 
						|
    wxBG_STYLE_ERASE,
 | 
						|
 | 
						|
    /**
 | 
						|
        Use the default background, as determined by the system or the current
 | 
						|
        theme.
 | 
						|
 | 
						|
        If the window has been assigned a non-default background colour, it
 | 
						|
        will be used for erasing its background. Otherwise the default
 | 
						|
        background (which might be a gradient or a pattern) will be used.
 | 
						|
 | 
						|
        EVT_ERASE_BACKGROUND event will not be generated at all for windows
 | 
						|
        with this style.
 | 
						|
     */
 | 
						|
    wxBG_STYLE_SYSTEM,
 | 
						|
 | 
						|
    /**
 | 
						|
        Indicates that the background is only erased in the user-defined
 | 
						|
        EVT_PAINT handler.
 | 
						|
 | 
						|
        Using this style avoids flicker which would result from redrawing the
 | 
						|
        background twice if the EVT_PAINT handler entirely overwrites it. It
 | 
						|
        must not be used however if the paint handler leaves any parts of the
 | 
						|
        window unpainted as their contents is then undetermined. Only use it if
 | 
						|
        you repaint the whole window in your handler.
 | 
						|
 | 
						|
        EVT_ERASE_BACKGROUND event will not be generated at all for windows
 | 
						|
        with this style.
 | 
						|
     */
 | 
						|
    wxBG_STYLE_PAINT
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
    Standard menu IDs.
 | 
						|
*/
 | 
						|
enum wxStandardID
 | 
						|
{
 | 
						|
    /**
 | 
						|
       This id delimits the lower bound of the range used by automatically-generated ids
 | 
						|
       (i.e. those used when wxID_ANY is specified during construction).
 | 
						|
     */
 | 
						|
    wxID_AUTO_LOWEST,
 | 
						|
 | 
						|
    /**
 | 
						|
       This id delimits the upper bound of the range used by automatically-generated ids
 | 
						|
       (i.e. those used when wxID_ANY is specified during construction).
 | 
						|
     */
 | 
						|
    wxID_AUTO_HIGHEST,
 | 
						|
 | 
						|
    /**
 | 
						|
        No id matches this one when compared to it.
 | 
						|
    */
 | 
						|
    wxID_NONE = -3,
 | 
						|
 | 
						|
    /**
 | 
						|
        Id for a separator line in the menu (invalid for normal item).
 | 
						|
    */
 | 
						|
    wxID_SEPARATOR = -2,
 | 
						|
 | 
						|
    /**
 | 
						|
        Any id: means that we don't care about the id, whether when installing
 | 
						|
        an event handler or when creating a new window.
 | 
						|
    */
 | 
						|
    wxID_ANY = -1,
 | 
						|
 | 
						|
    wxID_LOWEST = 4999,
 | 
						|
 | 
						|
    wxID_OPEN,
 | 
						|
    wxID_CLOSE,
 | 
						|
    wxID_NEW,
 | 
						|
    wxID_SAVE,
 | 
						|
    wxID_SAVEAS,
 | 
						|
    wxID_REVERT,
 | 
						|
    wxID_EXIT,
 | 
						|
    wxID_UNDO,
 | 
						|
    wxID_REDO,
 | 
						|
    wxID_HELP,
 | 
						|
    wxID_PRINT,
 | 
						|
    wxID_PRINT_SETUP,
 | 
						|
    wxID_PAGE_SETUP,
 | 
						|
    wxID_PREVIEW,
 | 
						|
    wxID_ABOUT,
 | 
						|
    wxID_HELP_CONTENTS,
 | 
						|
    wxID_HELP_INDEX,
 | 
						|
    wxID_HELP_SEARCH,
 | 
						|
    wxID_HELP_COMMANDS,
 | 
						|
    wxID_HELP_PROCEDURES,
 | 
						|
    wxID_HELP_CONTEXT,
 | 
						|
    wxID_CLOSE_ALL,
 | 
						|
    wxID_PREFERENCES,
 | 
						|
 | 
						|
    wxID_EDIT = 5030,
 | 
						|
    wxID_CUT,
 | 
						|
    wxID_COPY,
 | 
						|
    wxID_PASTE,
 | 
						|
    wxID_CLEAR,
 | 
						|
    wxID_FIND,
 | 
						|
    wxID_DUPLICATE,
 | 
						|
    wxID_SELECTALL,
 | 
						|
    wxID_DELETE,
 | 
						|
    wxID_REPLACE,
 | 
						|
    wxID_REPLACE_ALL,
 | 
						|
    wxID_PROPERTIES,
 | 
						|
 | 
						|
    wxID_VIEW_DETAILS,
 | 
						|
    wxID_VIEW_LARGEICONS,
 | 
						|
    wxID_VIEW_SMALLICONS,
 | 
						|
    wxID_VIEW_LIST,
 | 
						|
    wxID_VIEW_SORTDATE,
 | 
						|
    wxID_VIEW_SORTNAME,
 | 
						|
    wxID_VIEW_SORTSIZE,
 | 
						|
    wxID_VIEW_SORTTYPE,
 | 
						|
 | 
						|
    wxID_FILE = 5050,
 | 
						|
    wxID_FILE1,
 | 
						|
    wxID_FILE2,
 | 
						|
    wxID_FILE3,
 | 
						|
    wxID_FILE4,
 | 
						|
    wxID_FILE5,
 | 
						|
    wxID_FILE6,
 | 
						|
    wxID_FILE7,
 | 
						|
    wxID_FILE8,
 | 
						|
    wxID_FILE9,
 | 
						|
 | 
						|
    /** Standard button and menu IDs */
 | 
						|
    wxID_OK = 5100,
 | 
						|
    wxID_CANCEL,
 | 
						|
    wxID_APPLY,
 | 
						|
    wxID_YES,
 | 
						|
    wxID_NO,
 | 
						|
    wxID_STATIC,
 | 
						|
    wxID_FORWARD,
 | 
						|
    wxID_BACKWARD,
 | 
						|
    wxID_DEFAULT,
 | 
						|
    wxID_MORE,
 | 
						|
    wxID_SETUP,
 | 
						|
    wxID_RESET,
 | 
						|
    wxID_CONTEXT_HELP,
 | 
						|
    wxID_YESTOALL,
 | 
						|
    wxID_NOTOALL,
 | 
						|
    wxID_ABORT,
 | 
						|
    wxID_RETRY,
 | 
						|
    wxID_IGNORE,
 | 
						|
    wxID_ADD,
 | 
						|
    wxID_REMOVE,
 | 
						|
 | 
						|
    wxID_UP,
 | 
						|
    wxID_DOWN,
 | 
						|
    wxID_HOME,
 | 
						|
    wxID_REFRESH,
 | 
						|
    wxID_STOP,
 | 
						|
    wxID_INDEX,
 | 
						|
 | 
						|
    wxID_BOLD,
 | 
						|
    wxID_ITALIC,
 | 
						|
    wxID_JUSTIFY_CENTER,
 | 
						|
    wxID_JUSTIFY_FILL,
 | 
						|
    wxID_JUSTIFY_RIGHT,
 | 
						|
    wxID_JUSTIFY_LEFT,
 | 
						|
    wxID_UNDERLINE,
 | 
						|
    wxID_INDENT,
 | 
						|
    wxID_UNINDENT,
 | 
						|
    wxID_ZOOM_100,
 | 
						|
    wxID_ZOOM_FIT,
 | 
						|
    wxID_ZOOM_IN,
 | 
						|
    wxID_ZOOM_OUT,
 | 
						|
    wxID_UNDELETE,
 | 
						|
    wxID_REVERT_TO_SAVED,
 | 
						|
    wxID_CDROM,
 | 
						|
    wxID_CONVERT,
 | 
						|
    wxID_EXECUTE,
 | 
						|
    wxID_FLOPPY,
 | 
						|
    wxID_HARDDISK,
 | 
						|
    wxID_BOTTOM,
 | 
						|
    wxID_FIRST,
 | 
						|
    wxID_LAST,
 | 
						|
    wxID_TOP,
 | 
						|
    wxID_INFO,
 | 
						|
    wxID_JUMP_TO,
 | 
						|
    wxID_NETWORK,
 | 
						|
    wxID_SELECT_COLOR,
 | 
						|
    wxID_SELECT_FONT,
 | 
						|
    wxID_SORT_ASCENDING,
 | 
						|
    wxID_SORT_DESCENDING,
 | 
						|
    wxID_SPELL_CHECK,
 | 
						|
    wxID_STRIKETHROUGH,
 | 
						|
 | 
						|
    /** System menu IDs (used by wxUniv): */
 | 
						|
    wxID_SYSTEM_MENU = 5200,
 | 
						|
    wxID_CLOSE_FRAME,
 | 
						|
    wxID_MOVE_FRAME,
 | 
						|
    wxID_RESIZE_FRAME,
 | 
						|
    wxID_MAXIMIZE_FRAME,
 | 
						|
    wxID_ICONIZE_FRAME,
 | 
						|
    wxID_RESTORE_FRAME,
 | 
						|
 | 
						|
    /** MDI window menu ids */
 | 
						|
    wxID_MDI_WINDOW_FIRST = 5230,
 | 
						|
    wxID_MDI_WINDOW_CASCADE = wxID_MDI_WINDOW_FIRST,
 | 
						|
    wxID_MDI_WINDOW_TILE_HORZ,
 | 
						|
    wxID_MDI_WINDOW_TILE_VERT,
 | 
						|
    wxID_MDI_WINDOW_ARRANGE_ICONS,
 | 
						|
    wxID_MDI_WINDOW_PREV,
 | 
						|
    wxID_MDI_WINDOW_NEXT,
 | 
						|
    wxID_MDI_WINDOW_LAST = wxID_MDI_WINDOW_NEXT,
 | 
						|
 | 
						|
    /** IDs used by generic file dialog (13 consecutive starting from this value) */
 | 
						|
    wxID_FILEDLGG = 5900,
 | 
						|
 | 
						|
    /** IDs used by generic file ctrl (4 consecutive starting from this value) */
 | 
						|
    wxID_FILECTRL = 5950,
 | 
						|
 | 
						|
    wxID_HIGHEST = 5999
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    Item kinds for use with wxMenu, wxMenuItem, and wxToolBar.
 | 
						|
 | 
						|
    @see wxMenu::Append(), wxMenuItem::wxMenuItem(), wxToolBar::AddTool()
 | 
						|
*/
 | 
						|
enum wxItemKind
 | 
						|
{
 | 
						|
    wxITEM_SEPARATOR = -1,
 | 
						|
 | 
						|
    /**
 | 
						|
        Normal tool button / menu item.
 | 
						|
 | 
						|
        @see wxToolBar::AddTool(), wxMenu::AppendItem().
 | 
						|
    */
 | 
						|
    wxITEM_NORMAL,
 | 
						|
 | 
						|
    /**
 | 
						|
        Check (or toggle) tool button / menu item.
 | 
						|
 | 
						|
        @see wxToolBar::AddCheckTool(), wxMenu::AppendCheckItem().
 | 
						|
    */
 | 
						|
    wxITEM_CHECK,
 | 
						|
 | 
						|
    /**
 | 
						|
        Radio tool button / menu item.
 | 
						|
 | 
						|
        @see wxToolBar::AddRadioTool(), wxMenu::AppendRadioItem().
 | 
						|
    */
 | 
						|
    wxITEM_RADIO,
 | 
						|
 | 
						|
    /**
 | 
						|
        Normal tool button with a dropdown arrow next to it. Clicking the
 | 
						|
        dropdown arrow sends a @c wxEVT_COMMAND_TOOL_DROPDOWN_CLICKED event and may
 | 
						|
        also display the menu previously associated with the item with
 | 
						|
        wxToolBar::SetDropdownMenu(). Currently this type of tools is supported
 | 
						|
        under MSW and GTK.
 | 
						|
    */
 | 
						|
    wxITEM_DROPDOWN,
 | 
						|
 | 
						|
    wxITEM_MAX
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    Generic hit test results.
 | 
						|
*/
 | 
						|
enum wxHitTest
 | 
						|
{
 | 
						|
    wxHT_NOWHERE,
 | 
						|
 | 
						|
    /*  scrollbar */
 | 
						|
    wxHT_SCROLLBAR_FIRST = wxHT_NOWHERE,
 | 
						|
    wxHT_SCROLLBAR_ARROW_LINE_1,    /**< left or upper arrow to scroll by line */
 | 
						|
    wxHT_SCROLLBAR_ARROW_LINE_2,    /**< right or down */
 | 
						|
    wxHT_SCROLLBAR_ARROW_PAGE_1,    /**< left or upper arrow to scroll by page */
 | 
						|
    wxHT_SCROLLBAR_ARROW_PAGE_2,    /**< right or down */
 | 
						|
    wxHT_SCROLLBAR_THUMB,           /**< on the thumb */
 | 
						|
    wxHT_SCROLLBAR_BAR_1,           /**< bar to the left/above the thumb */
 | 
						|
    wxHT_SCROLLBAR_BAR_2,           /**< bar to the right/below the thumb */
 | 
						|
    wxHT_SCROLLBAR_LAST,
 | 
						|
 | 
						|
    /*  window */
 | 
						|
    wxHT_WINDOW_OUTSIDE,            /**< not in this window at all */
 | 
						|
    wxHT_WINDOW_INSIDE,             /**< in the client area */
 | 
						|
    wxHT_WINDOW_VERT_SCROLLBAR,     /**< on the vertical scrollbar */
 | 
						|
    wxHT_WINDOW_HORZ_SCROLLBAR,     /**< on the horizontal scrollbar */
 | 
						|
    wxHT_WINDOW_CORNER,             /**< on the corner between 2 scrollbars */
 | 
						|
 | 
						|
    wxHT_MAX
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    Data format IDs used by wxDataFormat.
 | 
						|
*/
 | 
						|
enum wxDataFormatId
 | 
						|
{
 | 
						|
    wxDF_INVALID =          0,
 | 
						|
    wxDF_TEXT =             1,  /* CF_TEXT */
 | 
						|
    wxDF_BITMAP =           2,  /* CF_BITMAP */
 | 
						|
    wxDF_METAFILE =         3,  /* CF_METAFILEPICT */
 | 
						|
    wxDF_SYLK =             4,
 | 
						|
    wxDF_DIF =              5,
 | 
						|
    wxDF_TIFF =             6,
 | 
						|
    wxDF_OEMTEXT =          7,  /* CF_OEMTEXT */
 | 
						|
    wxDF_DIB =              8,  /* CF_DIB */
 | 
						|
    wxDF_PALETTE =          9,
 | 
						|
    wxDF_PENDATA =          10,
 | 
						|
    wxDF_RIFF =             11,
 | 
						|
    wxDF_WAVE =             12,
 | 
						|
    wxDF_UNICODETEXT =      13,
 | 
						|
    wxDF_ENHMETAFILE =      14,
 | 
						|
    wxDF_FILENAME =         15, /* CF_HDROP */
 | 
						|
    wxDF_LOCALE =           16,
 | 
						|
    wxDF_PRIVATE =          20,
 | 
						|
    wxDF_HTML =             30, /* Note: does not correspond to CF_ constant */
 | 
						|
    wxDF_MAX
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    Virtual keycodes used by wxKeyEvent and some other wxWidgets functions.
 | 
						|
 | 
						|
    Note that the range @c 33 - @c 126 is reserved for the standard ASCII
 | 
						|
    characters and that the range @c 128 - @c 255 is reserved for the
 | 
						|
    extended ASCII characters (which are not really standard and thus should
 | 
						|
    be avoid in portable apps!).
 | 
						|
*/
 | 
						|
enum wxKeyCode
 | 
						|
{
 | 
						|
    WXK_BACK    =    8,     //!< Backspace.
 | 
						|
    WXK_TAB     =    9,
 | 
						|
    WXK_RETURN  =    13,
 | 
						|
    WXK_ESCAPE  =    27,
 | 
						|
    WXK_SPACE   =    32,
 | 
						|
 | 
						|
    WXK_DELETE  =    127,
 | 
						|
 | 
						|
    /**
 | 
						|
        These are, by design, not compatible with unicode characters.
 | 
						|
        If you want to get a unicode character from a key event, use
 | 
						|
        wxKeyEvent::GetUnicodeKey instead.
 | 
						|
    */
 | 
						|
    WXK_START   = 300,
 | 
						|
    WXK_LBUTTON,
 | 
						|
    WXK_RBUTTON,
 | 
						|
    WXK_CANCEL,
 | 
						|
    WXK_MBUTTON,
 | 
						|
    WXK_CLEAR,
 | 
						|
    WXK_SHIFT,
 | 
						|
    WXK_ALT,
 | 
						|
    WXK_CONTROL,
 | 
						|
    WXK_MENU,
 | 
						|
    WXK_PAUSE,
 | 
						|
    WXK_CAPITAL,
 | 
						|
    WXK_END,
 | 
						|
    WXK_HOME,
 | 
						|
    WXK_LEFT,
 | 
						|
    WXK_UP,
 | 
						|
    WXK_RIGHT,
 | 
						|
    WXK_DOWN,
 | 
						|
    WXK_SELECT,
 | 
						|
    WXK_PRINT,
 | 
						|
    WXK_EXECUTE,
 | 
						|
    WXK_SNAPSHOT,
 | 
						|
    WXK_INSERT,
 | 
						|
    WXK_HELP,
 | 
						|
    WXK_NUMPAD0,
 | 
						|
    WXK_NUMPAD1,
 | 
						|
    WXK_NUMPAD2,
 | 
						|
    WXK_NUMPAD3,
 | 
						|
    WXK_NUMPAD4,
 | 
						|
    WXK_NUMPAD5,
 | 
						|
    WXK_NUMPAD6,
 | 
						|
    WXK_NUMPAD7,
 | 
						|
    WXK_NUMPAD8,
 | 
						|
    WXK_NUMPAD9,
 | 
						|
    WXK_MULTIPLY,
 | 
						|
    WXK_ADD,
 | 
						|
    WXK_SEPARATOR,
 | 
						|
    WXK_SUBTRACT,
 | 
						|
    WXK_DECIMAL,
 | 
						|
    WXK_DIVIDE,
 | 
						|
    WXK_F1,
 | 
						|
    WXK_F2,
 | 
						|
    WXK_F3,
 | 
						|
    WXK_F4,
 | 
						|
    WXK_F5,
 | 
						|
    WXK_F6,
 | 
						|
    WXK_F7,
 | 
						|
    WXK_F8,
 | 
						|
    WXK_F9,
 | 
						|
    WXK_F10,
 | 
						|
    WXK_F11,
 | 
						|
    WXK_F12,
 | 
						|
    WXK_F13,
 | 
						|
    WXK_F14,
 | 
						|
    WXK_F15,
 | 
						|
    WXK_F16,
 | 
						|
    WXK_F17,
 | 
						|
    WXK_F18,
 | 
						|
    WXK_F19,
 | 
						|
    WXK_F20,
 | 
						|
    WXK_F21,
 | 
						|
    WXK_F22,
 | 
						|
    WXK_F23,
 | 
						|
    WXK_F24,
 | 
						|
    WXK_NUMLOCK,
 | 
						|
    WXK_SCROLL,
 | 
						|
    WXK_PAGEUP,
 | 
						|
    WXK_PAGEDOWN,
 | 
						|
 | 
						|
    WXK_NUMPAD_SPACE,
 | 
						|
    WXK_NUMPAD_TAB,
 | 
						|
    WXK_NUMPAD_ENTER,
 | 
						|
    WXK_NUMPAD_F1,
 | 
						|
    WXK_NUMPAD_F2,
 | 
						|
    WXK_NUMPAD_F3,
 | 
						|
    WXK_NUMPAD_F4,
 | 
						|
    WXK_NUMPAD_HOME,
 | 
						|
    WXK_NUMPAD_LEFT,
 | 
						|
    WXK_NUMPAD_UP,
 | 
						|
    WXK_NUMPAD_RIGHT,
 | 
						|
    WXK_NUMPAD_DOWN,
 | 
						|
    WXK_NUMPAD_PAGEUP,
 | 
						|
    WXK_NUMPAD_PAGEDOWN,
 | 
						|
    WXK_NUMPAD_END,
 | 
						|
    WXK_NUMPAD_BEGIN,
 | 
						|
    WXK_NUMPAD_INSERT,
 | 
						|
    WXK_NUMPAD_DELETE,
 | 
						|
    WXK_NUMPAD_EQUAL,
 | 
						|
    WXK_NUMPAD_MULTIPLY,
 | 
						|
    WXK_NUMPAD_ADD,
 | 
						|
    WXK_NUMPAD_SEPARATOR,
 | 
						|
    WXK_NUMPAD_SUBTRACT,
 | 
						|
    WXK_NUMPAD_DECIMAL,
 | 
						|
    WXK_NUMPAD_DIVIDE,
 | 
						|
 | 
						|
    /** The following key codes are only generated under Windows currently */
 | 
						|
    WXK_WINDOWS_LEFT,
 | 
						|
    WXK_WINDOWS_RIGHT,
 | 
						|
    WXK_WINDOWS_MENU ,
 | 
						|
    WXK_COMMAND,
 | 
						|
 | 
						|
    /** Hardware-specific buttons */
 | 
						|
    WXK_SPECIAL1 = 193,
 | 
						|
    WXK_SPECIAL2,
 | 
						|
    WXK_SPECIAL3,
 | 
						|
    WXK_SPECIAL4,
 | 
						|
    WXK_SPECIAL5,
 | 
						|
    WXK_SPECIAL6,
 | 
						|
    WXK_SPECIAL7,
 | 
						|
    WXK_SPECIAL8,
 | 
						|
    WXK_SPECIAL9,
 | 
						|
    WXK_SPECIAL10,
 | 
						|
    WXK_SPECIAL11,
 | 
						|
    WXK_SPECIAL12,
 | 
						|
    WXK_SPECIAL13,
 | 
						|
    WXK_SPECIAL14,
 | 
						|
    WXK_SPECIAL15,
 | 
						|
    WXK_SPECIAL16,
 | 
						|
    WXK_SPECIAL17,
 | 
						|
    WXK_SPECIAL18,
 | 
						|
    WXK_SPECIAL19,
 | 
						|
    WXK_SPECIAL20
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    This enum contains bit mask constants used in wxKeyEvent.
 | 
						|
*/
 | 
						|
enum wxKeyModifier
 | 
						|
{
 | 
						|
    wxMOD_NONE      = 0x0000,
 | 
						|
    wxMOD_ALT       = 0x0001,
 | 
						|
    wxMOD_CONTROL   = 0x0002,
 | 
						|
    wxMOD_ALTGR     = wxMOD_ALT | wxMOD_CONTROL,
 | 
						|
    wxMOD_SHIFT     = 0x0004,
 | 
						|
    wxMOD_META      = 0x0008,
 | 
						|
    wxMOD_WIN       = wxMOD_META,
 | 
						|
 | 
						|
    /**
 | 
						|
        Notice that @c wxMOD_CMD should be used instead of @c wxMOD_CONTROL
 | 
						|
        in portable code to account for the fact that although
 | 
						|
        @c Control modifier exists under Mac OS, it is not used for the same
 | 
						|
        purpose as under Windows or Unix there while the special Mac-specific
 | 
						|
        @c Command modifier is used in exactly the same way.
 | 
						|
    */
 | 
						|
    wxMOD_CMD       = wxMOD_META,
 | 
						|
    wxMOD_ALL       = 0xffff
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    Paper size types for use with the printing framework.
 | 
						|
 | 
						|
    @see overview_printing, wxPrintData::SetPaperId()
 | 
						|
*/
 | 
						|
enum wxPaperSize
 | 
						|
{
 | 
						|
    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
 | 
						|
 | 
						|
    // wxMSW Only
 | 
						|
 | 
						|
    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.5 x 12 in
 | 
						|
    wxPAPER_LEGAL_EXTRA,        ///<  Legal Extra 9.5 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.5 x 11 in
 | 
						|
    wxPAPER_A4_TRANSVERSE,      ///<  A4 Transverse 210 x 297 mm
 | 
						|
    wxPAPER_LETTER_EXTRA_TRANSVERSE, ///<  Letter Extra Transverse 9.5 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
 | 
						|
 | 
						|
    wxPAPER_DBL_JAPANESE_POSTCARD, ///< Japanese Double Postcard 200 x 148 mm
 | 
						|
    wxPAPER_A6,                 ///< A6 105 x 148 mm
 | 
						|
    wxPAPER_JENV_KAKU2,         ///< Japanese Envelope Kaku #2
 | 
						|
    wxPAPER_JENV_KAKU3,         ///< Japanese Envelope Kaku #3
 | 
						|
    wxPAPER_JENV_CHOU3,         ///< Japanese Envelope Chou #3
 | 
						|
    wxPAPER_JENV_CHOU4,         ///< Japanese Envelope Chou #4
 | 
						|
    wxPAPER_LETTER_ROTATED,     ///< Letter Rotated 11 x 8 1/2 in
 | 
						|
    wxPAPER_A3_ROTATED,         ///< A3 Rotated 420 x 297 mm
 | 
						|
    wxPAPER_A4_ROTATED,         ///< A4 Rotated 297 x 210 mm
 | 
						|
    wxPAPER_A5_ROTATED,         ///< A5 Rotated 210 x 148 mm
 | 
						|
    wxPAPER_B4_JIS_ROTATED,     ///< B4 (JIS) Rotated 364 x 257 mm
 | 
						|
    wxPAPER_B5_JIS_ROTATED,     ///< B5 (JIS) Rotated 257 x 182 mm
 | 
						|
    wxPAPER_JAPANESE_POSTCARD_ROTATED, ///< Japanese Postcard Rotated 148 x 100 mm
 | 
						|
    wxPAPER_DBL_JAPANESE_POSTCARD_ROTATED, ///< Double Japanese Postcard Rotated 148 x 200 mm
 | 
						|
    wxPAPER_A6_ROTATED,         ///< A6 Rotated 148 x 105 mm
 | 
						|
    wxPAPER_JENV_KAKU2_ROTATED, ///< Japanese Envelope Kaku #2 Rotated
 | 
						|
    wxPAPER_JENV_KAKU3_ROTATED, ///< Japanese Envelope Kaku #3 Rotated
 | 
						|
    wxPAPER_JENV_CHOU3_ROTATED, ///< Japanese Envelope Chou #3 Rotated
 | 
						|
    wxPAPER_JENV_CHOU4_ROTATED, ///< Japanese Envelope Chou #4 Rotated
 | 
						|
    wxPAPER_B6_JIS,             ///< B6 (JIS) 128 x 182 mm
 | 
						|
    wxPAPER_B6_JIS_ROTATED,     ///< B6 (JIS) Rotated 182 x 128 mm
 | 
						|
    wxPAPER_12X11,              ///< 12 x 11 in
 | 
						|
    wxPAPER_JENV_YOU4,          ///< Japanese Envelope You #4
 | 
						|
    wxPAPER_JENV_YOU4_ROTATED,  ///< Japanese Envelope You #4 Rotated
 | 
						|
    wxPAPER_P16K,               ///< PRC 16K 146 x 215 mm
 | 
						|
    wxPAPER_P32K,               ///< PRC 32K 97 x 151 mm
 | 
						|
    wxPAPER_P32KBIG,            ///< PRC 32K(Big) 97 x 151 mm
 | 
						|
    wxPAPER_PENV_1,             ///< PRC Envelope #1 102 x 165 mm
 | 
						|
    wxPAPER_PENV_2,             ///< PRC Envelope #2 102 x 176 mm
 | 
						|
    wxPAPER_PENV_3,             ///< PRC Envelope #3 125 x 176 mm
 | 
						|
    wxPAPER_PENV_4,             ///< PRC Envelope #4 110 x 208 mm
 | 
						|
    wxPAPER_PENV_5,             ///< PRC Envelope #5 110 x 220 mm
 | 
						|
    wxPAPER_PENV_6,             ///< PRC Envelope #6 120 x 230 mm
 | 
						|
    wxPAPER_PENV_7,             ///< PRC Envelope #7 160 x 230 mm
 | 
						|
    wxPAPER_PENV_8,             ///< PRC Envelope #8 120 x 309 mm
 | 
						|
    wxPAPER_PENV_9,             ///< PRC Envelope #9 229 x 324 mm
 | 
						|
    wxPAPER_PENV_10,            ///< PRC Envelope #10 324 x 458 mm
 | 
						|
    wxPAPER_P16K_ROTATED,       ///< PRC 16K Rotated
 | 
						|
    wxPAPER_P32K_ROTATED,       ///< PRC 32K Rotated
 | 
						|
    wxPAPER_P32KBIG_ROTATED,    ///< PRC 32K(Big) Rotated
 | 
						|
    wxPAPER_PENV_1_ROTATED,     ///< PRC Envelope #1 Rotated 165 x 102 mm
 | 
						|
    wxPAPER_PENV_2_ROTATED,     ///< PRC Envelope #2 Rotated 176 x 102 mm
 | 
						|
    wxPAPER_PENV_3_ROTATED,     ///< PRC Envelope #3 Rotated 176 x 125 mm
 | 
						|
    wxPAPER_PENV_4_ROTATED,     ///< PRC Envelope #4 Rotated 208 x 110 mm
 | 
						|
    wxPAPER_PENV_5_ROTATED,     ///< PRC Envelope #5 Rotated 220 x 110 mm
 | 
						|
    wxPAPER_PENV_6_ROTATED,     ///< PRC Envelope #6 Rotated 230 x 120 mm
 | 
						|
    wxPAPER_PENV_7_ROTATED,     ///< PRC Envelope #7 Rotated 230 x 160 mm
 | 
						|
    wxPAPER_PENV_8_ROTATED,     ///< PRC Envelope #8 Rotated 309 x 120 mm
 | 
						|
    wxPAPER_PENV_9_ROTATED,     ///< PRC Envelope #9 Rotated 324 x 229 mm
 | 
						|
    wxPAPER_PENV_10_ROTATED     ///< PRC Envelope #10 Rotated 458 x 324 m
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    Printing orientation
 | 
						|
*/
 | 
						|
 | 
						|
enum wxPrintOrientation
 | 
						|
{
 | 
						|
   wxPORTRAIT,
 | 
						|
   wxLANDSCAPE
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    Duplex printing modes.
 | 
						|
*/
 | 
						|
enum wxDuplexMode
 | 
						|
{
 | 
						|
    wxDUPLEX_SIMPLEX, /**< Non-duplex */
 | 
						|
    wxDUPLEX_HORIZONTAL,
 | 
						|
    wxDUPLEX_VERTICAL
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    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 */
 | 
						|
};
 | 
						|
 | 
						|
/**
 | 
						|
    Flags which can be used in wxWindow::UpdateWindowUI().
 | 
						|
*/
 | 
						|
enum wxUpdateUI
 | 
						|
{
 | 
						|
    wxUPDATE_UI_NONE,
 | 
						|
    wxUPDATE_UI_RECURSE,
 | 
						|
    wxUPDATE_UI_FROMIDLE  /**<  Invoked from On(Internal)Idle */
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
// constants
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
 | 
						|
/**
 | 
						|
    C99-like sized MIN/MAX constants for all integer types.
 | 
						|
 | 
						|
    For each @c n in the set 8, 16, 32, 64 we define @c wxINTn_MIN, @c
 | 
						|
    wxINTn_MAX and @c wxUINTc_MAX (@c wxUINTc_MIN is always 0 and so is not
 | 
						|
    defined).
 | 
						|
 */
 | 
						|
//@{
 | 
						|
#define wxINT8_MIN CHAR_MIN
 | 
						|
#define wxINT8_MAX CHAR_MAX
 | 
						|
#define wxUINT8_MAX UCHAR_MAX
 | 
						|
 | 
						|
#define wxINT16_MIN SHRT_MIN
 | 
						|
#define wxINT16_MAX SHRT_MAX
 | 
						|
#define wxUINT16_MAX USHRT_MAX
 | 
						|
 | 
						|
#define wxINT32_MIN INT_MIN-or-LONG_MIN
 | 
						|
#define wxINT32_MAX INT_MAX-or-LONG_MAX
 | 
						|
#define wxUINT32_MAX UINT_MAX-or-LONG_MAX
 | 
						|
 | 
						|
#define wxINT64_MIN LLONG_MIN
 | 
						|
#define wxINT64_MAX LLONG_MAX
 | 
						|
#define wxUINT64_MAX ULLONG_MAX
 | 
						|
//@}
 | 
						|
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
// types
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
 | 
						|
/** The type for screen and DC coordinates. */
 | 
						|
typedef int wxCoord;
 | 
						|
 | 
						|
/** A special value meaning "use default coordinate". */
 | 
						|
wxCoord wxDefaultCoord = -1;
 | 
						|
 | 
						|
//@{
 | 
						|
/** 8 bit type (the mapping is more complex than a simple @c typedef and is not shown here). */
 | 
						|
typedef signed char wxInt8;
 | 
						|
typedef unsigned char wxUint8;
 | 
						|
typedef wxUint8 wxByte;
 | 
						|
//@}
 | 
						|
 | 
						|
//@{
 | 
						|
/** 16 bit type (the mapping is more complex than a simple @c typedef and is not shown here). */
 | 
						|
typedef signed short wxInt16;
 | 
						|
typedef unsigned short wxUint16;
 | 
						|
typedef wxUint16 wxWord;
 | 
						|
typedef wxUint16 wxChar16;
 | 
						|
//@}
 | 
						|
 | 
						|
//@{
 | 
						|
/** 32 bit type (the mapping is more complex than a simple @c typedef and is not shown here). */
 | 
						|
typedef int wxInt32;
 | 
						|
typedef unsigned int wxUint32;
 | 
						|
typedef wxUint32 wxDword;
 | 
						|
typedef wxUint32 wxChar32;
 | 
						|
//@}
 | 
						|
 | 
						|
//@{
 | 
						|
/** 64 bit type (the mapping is more complex than a simple @c typedef and is not shown here). */
 | 
						|
typedef wxLongLong_t wxInt64;
 | 
						|
typedef wxULongLong_t wxUint64;
 | 
						|
//@}
 | 
						|
 | 
						|
//@{
 | 
						|
/**
 | 
						|
    Signed and unsigned integral types big enough to contain all of @c long,
 | 
						|
    @c size_t and @c void*.
 | 
						|
    (The mapping is more complex than a simple @c typedef and is not shown here).
 | 
						|
*/
 | 
						|
typedef ssize_t wxIntPtr;
 | 
						|
typedef size_t wxUIntPtr;
 | 
						|
//@}
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
    32 bit IEEE float ( 1 sign, 8 exponent bits, 23 fraction bits ).
 | 
						|
    (The mapping is more complex than a simple @c typedef and is not shown here).
 | 
						|
*/
 | 
						|
typedef float wxFloat32;
 | 
						|
 | 
						|
 | 
						|
/**
 | 
						|
    64 bit IEEE float ( 1 sign, 11 exponent bits, 52 fraction bits ).
 | 
						|
    (The mapping is more complex than a simple @c typedef and is not shown here).
 | 
						|
*/
 | 
						|
typedef double wxFloat64;
 | 
						|
 | 
						|
/**
 | 
						|
    Native fastest representation that has at least wxFloat64 precision, so use
 | 
						|
    the IEEE types for storage, and this for calculations.
 | 
						|
    (The mapping is more complex than a simple @c typedef and is not shown here).
 | 
						|
*/
 | 
						|
typedef double wxDouble;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
// macros
 | 
						|
// ----------------------------------------------------------------------------
 | 
						|
 | 
						|
 | 
						|
/** @addtogroup group_funcmacro_byteorder */
 | 
						|
//@{
 | 
						|
 | 
						|
/**
 | 
						|
    This macro will swap the bytes of the @a value variable from little endian
 | 
						|
    to big endian or vice versa unconditionally, i.e. independently of the
 | 
						|
    current platform.
 | 
						|
 | 
						|
    @header{wx/defs.h}
 | 
						|
*/
 | 
						|
#define wxINT32_SWAP_ALWAYS( wxInt32_value )
 | 
						|
#define wxUINT32_SWAP_ALWAYS( wxUint32_value )
 | 
						|
#define wxINT16_SWAP_ALWAYS( wxInt16_value )
 | 
						|
#define wxUINT16_SWAP_ALWAYS( wxUint16_value )
 | 
						|
 | 
						|
//@}
 | 
						|
 | 
						|
/** @addtogroup group_funcmacro_byteorder */
 | 
						|
//@{
 | 
						|
 | 
						|
/**
 | 
						|
    This macro will swap the bytes of the @a value variable from little endian
 | 
						|
    to big endian or vice versa if the program is compiled on a big-endian
 | 
						|
    architecture (such as Sun work stations). If the program has been compiled
 | 
						|
    on a little-endian architecture, the value will be unchanged.
 | 
						|
 | 
						|
    Use these macros to read data from and write data to a file that stores
 | 
						|
    data in little-endian (for example Intel i386) format.
 | 
						|
 | 
						|
    @header{wx/defs.h}
 | 
						|
*/
 | 
						|
#define wxINT32_SWAP_ON_BE( wxInt32_value )
 | 
						|
#define wxUINT32_SWAP_ON_BE( wxUint32_value )
 | 
						|
#define wxINT16_SWAP_ON_BE( wxInt16_value )
 | 
						|
#define wxUINT16_SWAP_ON_BE( wxUint16_value )
 | 
						|
 | 
						|
//@}
 | 
						|
 | 
						|
/** @addtogroup group_funcmacro_byteorder */
 | 
						|
//@{
 | 
						|
 | 
						|
/**
 | 
						|
    This macro will swap the bytes of the @a value variable from little endian
 | 
						|
    to big endian or vice versa if the program is compiled on a little-endian
 | 
						|
    architecture (such as Intel PCs). If the program has been compiled on a
 | 
						|
    big-endian architecture, the value will be unchanged.
 | 
						|
 | 
						|
    Use these macros to read data from and write data to a file that stores
 | 
						|
    data in big-endian format.
 | 
						|
 | 
						|
    @header{wx/defs.h}
 | 
						|
*/
 | 
						|
#define wxINT32_SWAP_ON_LE( wxInt32_value )
 | 
						|
#define wxUINT32_SWAP_ON_LE( wxUint32_value )
 | 
						|
#define wxINT16_SWAP_ON_LE( wxInt16_value )
 | 
						|
#define wxUINT16_SWAP_ON_LE( wxUint16_value )
 | 
						|
 | 
						|
//@}
 | 
						|
 | 
						|
 | 
						|
 | 
						|
/** @addtogroup group_funcmacro_misc */
 | 
						|
//@{
 | 
						|
 | 
						|
/**
 | 
						|
    This macro can be used in a class declaration to disable the generation of
 | 
						|
    default assignment operator.
 | 
						|
 | 
						|
    Some classes have a well-defined copy constructor but cannot have an
 | 
						|
    assignment operator, typically because they can't be modified once created.
 | 
						|
    In such case, this macro can be used to disable the automatic assignment
 | 
						|
    operator generation.
 | 
						|
 | 
						|
    @see wxDECLARE_NO_COPY_CLASS()
 | 
						|
 */
 | 
						|
#define wxDECLARE_NO_ASSIGN_CLASS(classname)
 | 
						|
 | 
						|
/**
 | 
						|
    This macro can be used in a class declaration to disable the generation of
 | 
						|
    default copy ctor and assignment operator.
 | 
						|
 | 
						|
    Some classes don't have a well-defined copying semantics. In this case the
 | 
						|
    standard C++ convention is to not allow copying them. One way of achieving
 | 
						|
    it is to use this macro which simply defines a private copy constructor and
 | 
						|
    assignment operator.
 | 
						|
 | 
						|
    Beware that simply not defining copy constructor and assignment operator is
 | 
						|
    @em not enough as the compiler would provide its own automatically-generated
 | 
						|
    versions of them -- hence the usefulness of this macro.
 | 
						|
 | 
						|
    Example of use:
 | 
						|
    @code
 | 
						|
    class FooWidget
 | 
						|
    {
 | 
						|
    public:
 | 
						|
        FooWidget();
 | 
						|
        ...
 | 
						|
 | 
						|
    private:
 | 
						|
        // widgets can't be copied
 | 
						|
        wxDECLARE_NO_COPY_CLASS(FooWidget);
 | 
						|
    };
 | 
						|
    @endcode
 | 
						|
 | 
						|
    Notice that a semicolon must be used after this macro and that it changes
 | 
						|
    the access specifier to private internally so it is better to use it at the
 | 
						|
    end of the class declaration.
 | 
						|
 | 
						|
    @see wxDECLARE_NO_ASSIGN_CLASS(), wxDECLARE_NO_COPY_TEMPLATE_CLASS()
 | 
						|
 */
 | 
						|
#define wxDECLARE_NO_COPY_CLASS(classname)
 | 
						|
 | 
						|
/**
 | 
						|
    Analog of wxDECLARE_NO_COPY_CLASS() for template classes.
 | 
						|
 | 
						|
    This macro can be used for template classes (with a single template
 | 
						|
    parameter) for the same purpose as wxDECLARE_NO_COPY_CLASS() is used with the
 | 
						|
    non-template classes.
 | 
						|
 | 
						|
    @param classname The name of the template class.
 | 
						|
    @param arg The name of the template parameter.
 | 
						|
 | 
						|
    @see wxDECLARE_NO_COPY_TEMPLATE_CLASS_2
 | 
						|
 */
 | 
						|
#define wxDECLARE_NO_COPY_TEMPLATE_CLASS(classname, arg)
 | 
						|
 | 
						|
/**
 | 
						|
    Analog of wxDECLARE_NO_COPY_TEMPLATE_CLASS() for templates with 2
 | 
						|
    parameters.
 | 
						|
 | 
						|
    This macro can be used for template classes with two template
 | 
						|
    parameters for the same purpose as wxDECLARE_NO_COPY_CLASS() is used with
 | 
						|
    the non-template classes.
 | 
						|
 | 
						|
    @param classname The name of the template class.
 | 
						|
    @param arg1 The name of the first template parameter.
 | 
						|
    @param arg2 The name of the second template parameter.
 | 
						|
 | 
						|
    @see wxDECLARE_NO_COPY_TEMPLATE_CLASS
 | 
						|
 */
 | 
						|
#define wxDECLARE_NO_COPY_TEMPLATE_CLASS_2(classname, arg1, arg2)
 | 
						|
 | 
						|
/**
 | 
						|
    A function which deletes and nulls the pointer.
 | 
						|
 | 
						|
    This function uses operator delete to free the pointer and also sets it to
 | 
						|
    @NULL. Notice that this does @em not work for arrays, use wxDELETEA() for
 | 
						|
    them.
 | 
						|
 | 
						|
    @code
 | 
						|
        MyClass *ptr = new MyClass;
 | 
						|
        ...
 | 
						|
        wxDELETE(ptr);
 | 
						|
        wxASSERT(!ptr);
 | 
						|
    @endcode
 | 
						|
 | 
						|
    @header{wx/defs.h}
 | 
						|
*/
 | 
						|
template <typename T> wxDELETE(T*& ptr);
 | 
						|
 | 
						|
/**
 | 
						|
    A function which deletes and nulls the pointer.
 | 
						|
 | 
						|
    This function uses vector operator delete (@c delete[]) to free the array
 | 
						|
    pointer and also sets it to @NULL. Notice that this does @em not work for
 | 
						|
    non-array pointers, use wxDELETE() for them.
 | 
						|
 | 
						|
    @code
 | 
						|
        MyClass *array = new MyClass[17];
 | 
						|
        ...
 | 
						|
        wxDELETEA(array);
 | 
						|
        wxASSERT(!array);
 | 
						|
    @endcode
 | 
						|
 | 
						|
    @see wxDELETE()
 | 
						|
 | 
						|
    @header{wx/defs.h}
 | 
						|
*/
 | 
						|
template <typename T> wxDELETEA(T*& array);
 | 
						|
 | 
						|
/**
 | 
						|
    This macro can be used around a function declaration to generate warnings
 | 
						|
    indicating that this function is deprecated (i.e. obsolete and planned to
 | 
						|
    be removed in the future) when it is used. Only Visual C++ 7 and higher and
 | 
						|
    g++ compilers currently support this functionality.
 | 
						|
 | 
						|
    Example of use:
 | 
						|
 | 
						|
    @code
 | 
						|
    // old function, use wxString version instead
 | 
						|
    wxDEPRECATED( void wxGetSomething(char *buf, size_t len) );
 | 
						|
 | 
						|
    // ...
 | 
						|
    wxString wxGetSomething();
 | 
						|
    @endcode
 | 
						|
 | 
						|
    @header{wx/defs.h}
 | 
						|
*/
 | 
						|
#define wxDEPRECATED(function)
 | 
						|
 | 
						|
/**
 | 
						|
    This is a special version of wxDEPRECATED() macro which only does something
 | 
						|
    when the deprecated function is used from the code outside wxWidgets itself
 | 
						|
    but doesn't generate warnings when it is used from wxWidgets.
 | 
						|
 | 
						|
    It is used with the virtual functions which are called by the library
 | 
						|
    itself -- even if such function is deprecated the library still has to call
 | 
						|
    it to ensure that the existing code overriding it continues to work, but
 | 
						|
    the use of this macro ensures that a deprecation warning will be generated
 | 
						|
    if this function is used from the user code or, in case of Visual C++, even
 | 
						|
    when it is simply overridden.
 | 
						|
 | 
						|
    @header{wx/defs.h}
 | 
						|
*/
 | 
						|
#define wxDEPRECATED_BUT_USED_INTERNALLY(function)
 | 
						|
 | 
						|
/**
 | 
						|
    This macro is similar to wxDEPRECATED() but can be used to not only declare
 | 
						|
    the function @a function as deprecated but to also provide its (inline)
 | 
						|
    implementation @a body.
 | 
						|
 | 
						|
    It can be used as following:
 | 
						|
 | 
						|
    @code
 | 
						|
    class wxFoo
 | 
						|
    {
 | 
						|
    public:
 | 
						|
        // OldMethod() is deprecated, use NewMethod() instead
 | 
						|
        void NewMethod();
 | 
						|
        wxDEPRECATED_INLINE( void OldMethod(), NewMethod(); )
 | 
						|
    };
 | 
						|
    @endcode
 | 
						|
 | 
						|
    @header{wx/defs.h}
 | 
						|
*/
 | 
						|
#define wxDEPRECATED_INLINE(func, body)
 | 
						|
 | 
						|
/**
 | 
						|
    A helper macro allowing to easily define a simple deprecated accessor.
 | 
						|
 | 
						|
    Compared to wxDEPRECATED_INLINE() it saves a @c return statement and,
 | 
						|
    especially, a strangely looking semicolon inside a macro.
 | 
						|
 | 
						|
    Example of use
 | 
						|
    @code
 | 
						|
    class wxFoo
 | 
						|
    {
 | 
						|
    public:
 | 
						|
        int GetValue() const { return m_value; }
 | 
						|
 | 
						|
        // this one is deprecated because it was erroneously non-const
 | 
						|
        wxDEPRECATED_ACCESSOR( int GetValue(), m_value )
 | 
						|
 | 
						|
    private:
 | 
						|
        int m_value;
 | 
						|
    };
 | 
						|
    @endcode
 | 
						|
 */
 | 
						|
#define wxDEPRECATED_ACCESSOR(func, what)
 | 
						|
 | 
						|
/**
 | 
						|
    Combination of wxDEPRECATED_BUT_USED_INTERNALLY() and wxDEPRECATED_INLINE().
 | 
						|
 | 
						|
    This macro should be used for deprecated functions called by the library
 | 
						|
    itself (usually for backwards compatibility reasons) and which are defined
 | 
						|
    inline.
 | 
						|
 | 
						|
    @header{wx/defs.h}
 | 
						|
*/
 | 
						|
#define wxDEPRECATED_BUT_USED_INTERNALLY_INLINE(func, body)
 | 
						|
 | 
						|
/**
 | 
						|
    @c wxEXPLICIT is a macro which expands to the C++ @c explicit keyword if
 | 
						|
    the compiler supports it or nothing otherwise. Thus, it can be used even in
 | 
						|
    the code which might have to be compiled with an old compiler without
 | 
						|
    support for this language feature but still take advantage of it when it is
 | 
						|
    available.
 | 
						|
 | 
						|
    @header{wx/defs.h}
 | 
						|
*/
 | 
						|
#define wxEXPLICIT
 | 
						|
 | 
						|
/**
 | 
						|
    GNU C++ compiler gives a warning for any class whose destructor is private
 | 
						|
    unless it has a friend. This warning may sometimes be useful but it doesn't
 | 
						|
    make sense for reference counted class which always delete themselves
 | 
						|
    (hence destructor should be private) but don't necessarily have any
 | 
						|
    friends, so this macro is provided to disable the warning in such case. The
 | 
						|
    @a name parameter should be the name of the class but is only used to
 | 
						|
    construct a unique friend class name internally.
 | 
						|
 | 
						|
    Example of using the macro:
 | 
						|
 | 
						|
    @code
 | 
						|
    class RefCounted
 | 
						|
    {
 | 
						|
    public:
 | 
						|
        RefCounted() { m_nRef = 1; }
 | 
						|
        void IncRef() { m_nRef++ ; }
 | 
						|
        void DecRef() { if ( !--m_nRef ) delete this; }
 | 
						|
 | 
						|
    private:
 | 
						|
        ~RefCounted() { }
 | 
						|
 | 
						|
        wxSUPPRESS_GCC_PRIVATE_DTOR(RefCounted)
 | 
						|
    };
 | 
						|
    @endcode
 | 
						|
 | 
						|
    Notice that there should be no semicolon after this macro.
 | 
						|
 | 
						|
    @header{wx/defs.h}
 | 
						|
*/
 | 
						|
#define wxSUPPRESS_GCC_PRIVATE_DTOR_WARNING(name)
 | 
						|
 | 
						|
/**
 | 
						|
    Swaps the contents of two variables.
 | 
						|
 | 
						|
    This is similar to std::swap() but can be used even on the platforms where
 | 
						|
    the standard C++ library is not available (if you don't target such
 | 
						|
    platforms, please use std::swap() instead).
 | 
						|
 | 
						|
    The function relies on type T being copy constructible and assignable.
 | 
						|
 | 
						|
    Example of use:
 | 
						|
    @code
 | 
						|
        int x = 3,
 | 
						|
            y = 4;
 | 
						|
        wxSwap(x, y);
 | 
						|
        wxASSERT( x == 4 && y == 3 );
 | 
						|
    @endcode
 | 
						|
 */
 | 
						|
template <typename T> wxSwap(T& first, T& second);
 | 
						|
 | 
						|
/**
 | 
						|
    This macro is the same as the standard C99 @c va_copy for the compilers
 | 
						|
    which support it or its replacement for those that don't. It must be used
 | 
						|
    to preserve the value of a @c va_list object if you need to use it after
 | 
						|
    passing it to another function because it can be modified by the latter.
 | 
						|
 | 
						|
    As with @c va_start, each call to @c wxVaCopy must have a matching
 | 
						|
    @c va_end.
 | 
						|
 | 
						|
    @header{wx/defs.h}
 | 
						|
*/
 | 
						|
void wxVaCopy(va_list argptrDst, va_list argptrSrc);
 | 
						|
 | 
						|
//@}
 | 
						|
 | 
						|
 |