1 /////////////////////////////////////////////////////////////////////////////
 
   3 // Purpose:     Definitions and stuff
 
   9 // Copyright:   (c) 1998 by Total Control Software
 
  10 // Licence:     wxWindows license
 
  11 /////////////////////////////////////////////////////////////////////////////
 
  14 //---------------------------------------------------------------------------
 
  16 // Globally turn on the autodoc feature
 
  17 %feature("autodoc", "1");  // 0 == no param types, 1 == show param types
 
  19 // Turn on kwargs by default
 
  20 %feature("kwargs", "1");
 
  22 // Don't generate separate wrappers for each default args combination
 
  23 %feature("compactdefaultargs");
 
  25 #if SWIG_VERSION < 0x010328
 
  26 // Don't generate default ctors or dtors if the C++ doesn't have them
 
  27 %feature("nodefault");
 
  29 // This is the SWIG 1.3.28 way to do the above...
 
  30 %feature("nodefaultctor");
 
  31 %feature("nodefaultdtor");
 
  34 // For all items that don't have a %rename already, give them a %rename that
 
  35 // removes the leading 'wx' (except for wxEVT_* items.)
 
  36 %rename("%(wxpy)s") "";
 
  38 // For now, just supress the warning about using Python keywords as parameter
 
  39 // names.  Will need to come back later and correct these rather than just
 
  41 #pragma SWIG nowarn=314
 
  43 //---------------------------------------------------------------------------
 
  45 // Tell SWIG to wrap all the wrappers with our thread protection
 
  46 %define %threadWrapperOn
 
  48     PyThreadState* __tstate = wxPyBeginAllowThreads();
 
  50     wxPyEndAllowThreads(__tstate);
 
  51     if (PyErr_Occurred()) SWIG_fail;
 
  55 // This one will turn off the generation of the thread wrapper code
 
  56 %define %threadWrapperOff
 
  59     if (PyErr_Occurred()) SWIG_fail;
 
  63 // Turn it on by default
 
  66 // This one can be used to add a check for an existing wxApp before the real
 
  67 // work is done.  An exception is raised if there isn't one.
 
  68 %define MustHaveApp(name)
 
  70     if (!wxPyCheckForApp()) SWIG_fail;
 
  71     PyThreadState* __tstate = wxPyBeginAllowThreads();
 
  73     wxPyEndAllowThreads(__tstate);
 
  74     if (PyErr_Occurred()) SWIG_fail;
 
  79 // This macro can be used to disable the releasing of the GIL when calling the
 
  80 // C++ function.  This is like using threadWrapperOff for just this function.
 
  84     if (PyErr_Occurred()) SWIG_fail;
 
  88 //---------------------------------------------------------------------------
 
  89 // some type definitions to simplify things for SWIG
 
  91 typedef int             wxEventType;
 
  92 typedef unsigned int    size_t;
 
  93 typedef unsigned int    time_t;
 
  94 typedef unsigned char   byte;
 
  95 typedef unsigned long   wxUIntPtr;
 
  97 #define wxWindowID      int
 
 100 #define wxUint32        unsigned int
 
 103 //----------------------------------------------------------------------
 
 104 // Various SWIG macros and such
 
 106 #define %pythonAppend   %feature("pythonappend")
 
 107 #define %pythonPrepend  %feature("pythonprepend")
 
 108 #define %noautodoc      %feature("noautodoc")
 
 110 #if SWIG_VERSION >= 0x010327
 
 112 #define %kwargs         %feature("kwargs", "1")
 
 113 #define %nokwargs       %feature("kwargs", "0")
 
 115 #define %kwargs         %feature("kwargs")
 
 116 #define %nokwargs       %feature("nokwargs")
 
 119 #define %disownarg(typespec)   %typemap(in) typespec = SWIGTYPE* DISOWN
 
 120 #define %cleardisown(typespec) %typemap(in) typespec
 
 122 #define %ref   %feature("ref")
 
 123 #define %unref %feature("unref")
 
 127 #define %pythoncode     %insert("python")
 
 130 #define WXUNUSED(x)     x
 
 133 // Given the name of a wxChar (or wxString) constant in C++, make
 
 134 // a static wxString for wxPython, and also let SWIG wrap it.
 
 135 %define MAKE_CONST_WXSTRING(strname)
 
 136     %{ static const wxString wxPy##strname(wx##strname); %}
 
 138     %rename(strname) wxPy##strname;
 
 139     const wxString wxPy##strname;
 
 143 %define MAKE_CONST_WXSTRING2(strname, val)
 
 144     %{ static const wxString wxPy##strname(val); %}
 
 146     %rename(strname) wxPy##strname;
 
 147     const wxString wxPy##strname;
 
 151 %define MAKE_CONST_WXSTRING_NOSWIG(strname)
 
 152     %{ static const wxString wxPy##strname(wx##strname); %}
 
 155 // Generate code in the module init for the event types, since they may not be
 
 156 // initialized yet when they are used in the static swig_const_table.
 
 157 %typemap(consttab) wxEventType; // TODO: how to prevent code inserted into the consttab?
 
 158 %typemap(constcode) wxEventType "PyDict_SetItemString(d, \"$symname\", PyInt_FromLong($value));";
 
 161 %define %property(NAME, STUFF...)
 
 162     %pythoncode { NAME = property(STUFF) }
 
 166 %define setCallbackInfo(klass)
 
 167     "klass._setCallbackInfo(self, self, klass)"
 
 171 //----------------------------------------------------------------------
 
 172 // Macros for the docstring and autodoc features of SWIG.  These will
 
 173 // help make the code look more readable, and pretty, as well as help
 
 174 // reduce typing in some cases.
 
 176 // Set the docsring for the given full or partial declaration
 
 178     %define DocStr(decl, docstr, details)
 
 179         %feature("docstring") decl docstr details;
 
 182     %define DocStr(decl, docstr, details)
 
 183         %feature("docstring") decl docstr;
 
 188 // Set the autodoc string for a full or partial declaration
 
 189 %define DocA(decl, astr)
 
 190     %feature("autodoc") decl astr;
 
 194 // Set both the autodoc and docstring for a full or partial declaration
 
 196     %define DocAStr(decl, astr, docstr, details)
 
 197         %feature("autodoc") decl astr;
 
 198         %feature("docstring") decl docstr details
 
 201     %define DocAStr(decl, astr, docstr, details)
 
 202         %feature("autodoc") decl astr;
 
 203         %feature("docstring") decl docstr
 
 210 // Set the docstring for a decl and then define the decl too.  Must use the
 
 211 // full declaration of the item.
 
 213     %define DocDeclStr(type, decl, docstr, details)
 
 214         %feature("docstring") decl docstr details;
 
 218     %define DocDeclStr(type, decl, docstr, details)
 
 219         %feature("docstring") decl docstr;
 
 226 // As above, but also give the decl a new %name    
 
 228     %define DocDeclStrName(type, decl, docstr, details, newname)
 
 229         %feature("docstring") decl docstr details;
 
 230         %rename(newname) decl;
 
 234     %define DocDeclStrName(type, decl, docstr, details, newname)
 
 235         %feature("docstring") decl docstr;
 
 236         %rename(newname) decl;
 
 242 // Set the autodoc string for a decl and then define the decl too.  Must use the
 
 243 // full declaration of the item.
 
 244 %define DocDeclA(type, decl, astr)
 
 245     %feature("autodoc") decl astr;
 
 249 // As above, but also give the decl a new %name    
 
 250 %define DocDeclAName(type, decl, astr, newname)
 
 251     %feature("autodoc") decl astr;
 
 252     %rename(newname) decl;
 
 258 // Set the autodoc and the docstring for a decl and then define the decl too.
 
 259 // Must use the full declaration of the item.
 
 261     %define DocDeclAStr(type, decl, astr, docstr, details)
 
 262         %feature("autodoc") decl astr;
 
 263         %feature("docstring") decl docstr details;
 
 267     %define DocDeclAStr(type, decl, astr, docstr, details)
 
 268         %feature("autodoc") decl astr;
 
 269         %feature("docstring") decl docstr;
 
 275 // As above, but also give the decl a new %name    
 
 277     %define DocDeclAStrName(type, decl, astr, docstr, details, newname)
 
 278         %feature("autodoc") decl astr;
 
 279         %feature("docstring") decl docstr details;
 
 280         %rename(newname) decl;
 
 284     %define DocDeclAStrName(type, decl, astr, docstr, details, newname)
 
 285         %feature("autodoc") decl astr;
 
 286         %feature("docstring") decl docstr;
 
 287         %rename(newname) decl;
 
 294 // Set the docstring for a constructor decl and then define the decl too.
 
 295 // Must use the full declaration of the item.
 
 297     %define DocCtorStr(decl, docstr, details)
 
 298         %feature("docstring") decl docstr details;
 
 302     %define DocCtorStr(decl, docstr, details)
 
 303         %feature("docstring") decl docstr;
 
 309 // As above, but also give the decl a new %name    
 
 311     %define DocCtorStrName(decl, docstr, details, newname)
 
 312         %feature("docstring") decl docstr details;
 
 313         %rename(newname) decl;
 
 317     %define DocCtorStrName(decl, docstr, details, newname)
 
 318         %feature("docstring") decl docstr;
 
 319         %rename(newname) decl;
 
 325 // Set the autodoc string for a constructor decl and then define the decl too.
 
 326 // Must use the full declaration of the item.
 
 327 %define DocCtorA(decl, astr)
 
 328     %feature("autodoc") decl astr;
 
 332 // As above, but also give the decl a new %name    
 
 333 %define DocCtorAName(decl, astr, newname)
 
 334     %feature("autodoc") decl astr;
 
 335     %rename(newname) decl;
 
 341 // Set the autodoc and the docstring for a constructor decl and then define
 
 342 // the decl too.  Must use the full declaration of the item.
 
 344     %define DocCtorAStr(decl, astr, docstr, details)
 
 345         %feature("autodoc") decl astr;
 
 346         %feature("docstring") decl docstr details;
 
 350     %define DocCtorAStr(decl, astr, docstr, details)
 
 351         %feature("autodoc") decl astr;
 
 352         %feature("docstring") decl docstr;
 
 359 // As above, but also give the decl a new %name    
 
 361     %define DocCtorAStrName(decl, astr, docstr, details, newname)
 
 362         %feature("autodoc") decl astr;
 
 363         %feature("docstring") decl docstr details;
 
 364         %rename(newname) decl;
 
 368     %define DocCtorAStrName(decl, astr, docstr, details, newname)
 
 369         %feature("autodoc") decl astr;
 
 370         %feature("docstring") decl docstr;
 
 371         %rename(newname) decl;
 
 380 %#---------------------------------------------------------------------------
 
 385 // A set of macros to make using %rename easier, since %name has been
 
 387 %define %Rename(newname, type, decl)
 
 388     %rename(newname) decl;
 
 392 %define %RenameCtor(newname, decl)
 
 393     %rename(newname) decl;
 
 398     %define %RenameDocCtor(newname, docstr, details, decl)
 
 399         %feature("docstring") decl docstr details;
 
 400         %rename(newname) decl;
 
 404     %define %RenameDocCtor(newname, docstr, details, decl)
 
 405         %feature("docstring") decl docstr;
 
 406         %rename(newname) decl;
 
 412 //---------------------------------------------------------------------------
 
 413 // Generates a base_On* method that just wraps a call to the On*, and mark it
 
 414 // deprecated.  We need this because there is no longer any need for a
 
 415 // base_On* method to be able to call the C++ base class method, since our
 
 416 // virtualization code can now sense when an attempt is being made to call
 
 417 // the base class version from the derived class override.
 
 419 %define %MAKE_BASE_FUNC(Class, Method)
 
 421         def base_##Method(*args, **kw):
 
 422             return Class.Method(*args, **kw)
 
 423         base_##Method = wx._deprecated(base_##Method,
 
 424                                        "Please use Class.Method instead.")
 
 428 //---------------------------------------------------------------------------
 
 429 // Forward declarations and %renames for some classes, so the autodoc strings
 
 430 // will be able to use the right types even when the real class declaration is
 
 431 // not in the module being processed or seen by %import's.
 
 433 #ifdef BUILDING_RENAMERS
 
 434     #define FORWARD_DECLARE(wxName, Name)
 
 436     %define FORWARD_DECLARE(wxName, Name)
 
 437         %rename(Name) wxName;
 
 442 FORWARD_DECLARE(wxString,         String);
 
 443 FORWARD_DECLARE(wxBitmap,         Bitmap);
 
 444 FORWARD_DECLARE(wxDateTime,       DateTime);
 
 445 FORWARD_DECLARE(wxInputStream,    InputStream);
 
 446 FORWARD_DECLARE(wxDC,             DC);
 
 447 FORWARD_DECLARE(wxCursor,         Cursor);
 
 448 FORWARD_DECLARE(wxRegion,         Region);
 
 449 FORWARD_DECLARE(wxColour,         Colour);
 
 450 FORWARD_DECLARE(wxFont,           Font);
 
 451 FORWARD_DECLARE(wxCaret,          Caret);
 
 452 FORWARD_DECLARE(wxToolTip,        ToolTip);
 
 453 FORWARD_DECLARE(wxPyDropTarget,   DropTarget);
 
 454 FORWARD_DECLARE(wxImageList,      ImageList);
 
 455 FORWARD_DECLARE(wxMemoryDC,       MemoryDC);
 
 456 FORWARD_DECLARE(wxHtmlTagHandler, HtmlTagHandler);
 
 457 FORWARD_DECLARE(wxConfigBase,     ConfigBase);
 
 458 FORWARD_DECLARE(wxIcon,           Icon);
 
 459 FORWARD_DECLARE(wxStaticBox,      StaticBox);
 
 462 //---------------------------------------------------------------------------
 
 465 #if !WXWIN_COMPATIBILITY_2_4
 
 466     #define wxHIDE_READONLY  0
 
 471 // General numeric #define's and etc.  Making them all enums makes SWIG use the
 
 472 // real macro when making the Python Int
 
 490     wxTRANSPARENT_WINDOW,
 
 492     wxDEFAULT_CONTROL_BORDER,
 
 493     wxDEFAULT_STATUSBAR_STYLE,
 
 580     wxSIZE_ALLOW_MINUS_ONE,
 
 584     wxPRINT_QUALITY_HIGH,
 
 585     wxPRINT_QUALITY_MEDIUM,
 
 587     wxPRINT_QUALITY_DRAFT,
 
 611     wxID_HELP_PROCEDURES,
 
 633     wxID_VIEW_LARGEICONS,
 
 634     wxID_VIEW_SMALLICONS,
 
 695     wxID_REVERT_TO_SAVED,
 
 701     wxNO_FULL_REPAINT_ON_RESIZE,
 
 702     wxFULL_REPAINT_ON_RESIZE,
 
 707     wxWS_EX_VALIDATE_RECURSIVELY,
 
 708     wxWS_EX_BLOCK_EVENTS,
 
 711     wxWS_EX_THEMED_BACKGROUND,
 
 712     wxWS_EX_PROCESS_IDLE,
 
 713     wxWS_EX_PROCESS_UI_UPDATES,
 
 716     // Mapping modes (as per Windows)
 
 729     // It looks like wxTabCtrl may rise from the dead.  Uncomment these if
 
 730     // it gets an implementation for all platforms...
 
 731 //     wxTC_RIGHTJUSTIFY,
 
 744 enum wxGeometryCentre
 
 779     wxALIGN_CENTER_HORIZONTAL,
 
 780     wxALIGN_CENTRE_HORIZONTAL,
 
 785     wxALIGN_CENTER_VERTICAL,
 
 786     wxALIGN_CENTRE_VERTICAL,
 
 804 %pythoncode { ADJUST_MINSIZE = 0 }
 
 819 enum wxBackgroundStyle
 
 851   wxSTIPPLE_MASK_OPAQUE,
 
 868   wxXOR,        // src XOR dst
 
 870   wxOR_REVERSE, // src OR (NOT dst)
 
 871   wxAND_REVERSE,// src AND (NOT dst)
 
 873   wxAND,        // src AND dst
 
 874   wxAND_INVERT, // (NOT src) AND dst
 
 876   wxNOR,        // (NOT src) AND (NOT dst)
 
 877   wxEQUIV,      // (NOT src) XOR dst
 
 878   wxSRC_INVERT, // (NOT src)
 
 879   wxOR_INVERT,  // (NOT src) OR dst
 
 880   wxNAND,       // (NOT src) OR (NOT dst)
 
 883 //  wxSRC_OR,     // source _bitmap_ OR destination
 
 884 //  wxSRC_AND     // source _bitmap_ AND destination
 
 985     WXK_NUMPAD_SEPARATOR,
 
 996     // Hardware-specific buttons
 
1019 // deprecated synonymns
 
1021     WXK_PRIOR = WXK_PAGEUP
 
1022     WXK_NEXT  = WXK_PAGEDOWN
 
1023     WXK_NUMPAD_PRIOR = WXK_NUMPAD_PAGEUP
 
1024     WXK_NUMPAD_NEXT  = WXK_NUMPAD_PAGEDOWN    
 
1028     wxPAPER_NONE,               // Use specific dimensions
 
1029     wxPAPER_LETTER,             // Letter, 8 1/2 by 11 inches
 
1030     wxPAPER_LEGAL,              // Legal, 8 1/2 by 14 inches
 
1031     wxPAPER_A4,                 // A4 Sheet, 210 by 297 millimeters
 
1032     wxPAPER_CSHEET,             // C Sheet, 17 by 22 inches
 
1033     wxPAPER_DSHEET,             // D Sheet, 22 by 34 inches
 
1034     wxPAPER_ESHEET,             // E Sheet, 34 by 44 inches
 
1035     wxPAPER_LETTERSMALL,        // Letter Small, 8 1/2 by 11 inches
 
1036     wxPAPER_TABLOID,            // Tabloid, 11 by 17 inches
 
1037     wxPAPER_LEDGER,             // Ledger, 17 by 11 inches
 
1038     wxPAPER_STATEMENT,          // Statement, 5 1/2 by 8 1/2 inches
 
1039     wxPAPER_EXECUTIVE,          // Executive, 7 1/4 by 10 1/2 inches
 
1040     wxPAPER_A3,                 // A3 sheet, 297 by 420 millimeters
 
1041     wxPAPER_A4SMALL,            // A4 small sheet, 210 by 297 millimeters
 
1042     wxPAPER_A5,                 // A5 sheet, 148 by 210 millimeters
 
1043     wxPAPER_B4,                 // B4 sheet, 250 by 354 millimeters
 
1044     wxPAPER_B5,                 // B5 sheet, 182-by-257-millimeter paper
 
1045     wxPAPER_FOLIO,              // Folio, 8-1/2-by-13-inch paper
 
1046     wxPAPER_QUARTO,             // Quarto, 215-by-275-millimeter paper
 
1047     wxPAPER_10X14,              // 10-by-14-inch sheet
 
1048     wxPAPER_11X17,              // 11-by-17-inch sheet
 
1049     wxPAPER_NOTE,               // Note, 8 1/2 by 11 inches
 
1050     wxPAPER_ENV_9,              // #9 Envelope, 3 7/8 by 8 7/8 inches
 
1051     wxPAPER_ENV_10,             // #10 Envelope, 4 1/8 by 9 1/2 inches
 
1052     wxPAPER_ENV_11,             // #11 Envelope, 4 1/2 by 10 3/8 inches
 
1053     wxPAPER_ENV_12,             // #12 Envelope, 4 3/4 by 11 inches
 
1054     wxPAPER_ENV_14,             // #14 Envelope, 5 by 11 1/2 inches
 
1055     wxPAPER_ENV_DL,             // DL Envelope, 110 by 220 millimeters
 
1056     wxPAPER_ENV_C5,             // C5 Envelope, 162 by 229 millimeters
 
1057     wxPAPER_ENV_C3,             // C3 Envelope, 324 by 458 millimeters
 
1058     wxPAPER_ENV_C4,             // C4 Envelope, 229 by 324 millimeters
 
1059     wxPAPER_ENV_C6,             // C6 Envelope, 114 by 162 millimeters
 
1060     wxPAPER_ENV_C65,            // C65 Envelope, 114 by 229 millimeters
 
1061     wxPAPER_ENV_B4,             // B4 Envelope, 250 by 353 millimeters
 
1062     wxPAPER_ENV_B5,             // B5 Envelope, 176 by 250 millimeters
 
1063     wxPAPER_ENV_B6,             // B6 Envelope, 176 by 125 millimeters
 
1064     wxPAPER_ENV_ITALY,          // Italy Envelope, 110 by 230 millimeters
 
1065     wxPAPER_ENV_MONARCH,        // Monarch Envelope, 3 7/8 by 7 1/2 inches
 
1066     wxPAPER_ENV_PERSONAL,       // 6 3/4 Envelope, 3 5/8 by 6 1/2 inches
 
1067     wxPAPER_FANFOLD_US,         // US Std Fanfold, 14 7/8 by 11 inches
 
1068     wxPAPER_FANFOLD_STD_GERMAN, // German Std Fanfold, 8 1/2 by 12 inches
 
1069     wxPAPER_FANFOLD_LGL_GERMAN, // German Legal Fanfold, 8 1/2 by 13 inches
 
1071     wxPAPER_ISO_B4,             // B4 (ISO) 250 x 353 mm
 
1072     wxPAPER_JAPANESE_POSTCARD,  // Japanese Postcard 100 x 148 mm
 
1073     wxPAPER_9X11,               // 9 x 11 in
 
1074     wxPAPER_10X11,              // 10 x 11 in
 
1075     wxPAPER_15X11,              // 15 x 11 in
 
1076     wxPAPER_ENV_INVITE,         // Envelope Invite 220 x 220 mm
 
1077     wxPAPER_LETTER_EXTRA,       // Letter Extra 9 \275 x 12 in
 
1078     wxPAPER_LEGAL_EXTRA,        // Legal Extra 9 \275 x 15 in
 
1079     wxPAPER_TABLOID_EXTRA,      // Tabloid Extra 11.69 x 18 in
 
1080     wxPAPER_A4_EXTRA,           // A4 Extra 9.27 x 12.69 in
 
1081     wxPAPER_LETTER_TRANSVERSE,  // Letter Transverse 8 \275 x 11 in
 
1082     wxPAPER_A4_TRANSVERSE,      // A4 Transverse 210 x 297 mm
 
1083     wxPAPER_LETTER_EXTRA_TRANSVERSE, // Letter Extra Transverse 9\275 x 12 in
 
1084     wxPAPER_A_PLUS,             // SuperA/SuperA/A4 227 x 356 mm
 
1085     wxPAPER_B_PLUS,             // SuperB/SuperB/A3 305 x 487 mm
 
1086     wxPAPER_LETTER_PLUS,        // Letter Plus 8.5 x 12.69 in
 
1087     wxPAPER_A4_PLUS,            // A4 Plus 210 x 330 mm
 
1088     wxPAPER_A5_TRANSVERSE,      // A5 Transverse 148 x 210 mm
 
1089     wxPAPER_B5_TRANSVERSE,      // B5 (JIS) Transverse 182 x 257 mm
 
1090     wxPAPER_A3_EXTRA,           // A3 Extra 322 x 445 mm
 
1091     wxPAPER_A5_EXTRA,           // A5 Extra 174 x 235 mm
 
1092     wxPAPER_B5_EXTRA,           // B5 (ISO) Extra 201 x 276 mm
 
1093     wxPAPER_A2,                 // A2 420 x 594 mm
 
1094     wxPAPER_A3_TRANSVERSE,      // A3 Transverse 297 x 420 mm
 
1095     wxPAPER_A3_EXTRA_TRANSVERSE, // A3 Extra Transverse 322 x 445 mm
 
1097     wxPAPER_DBL_JAPANESE_POSTCARD,/* Japanese Double Postcard 200 x 148 mm */
 
1098     wxPAPER_A6,                 /* A6 105 x 148 mm */
 
1099     wxPAPER_JENV_KAKU2,         /* Japanese Envelope Kaku #2 */
 
1100     wxPAPER_JENV_KAKU3,         /* Japanese Envelope Kaku #3 */
 
1101     wxPAPER_JENV_CHOU3,         /* Japanese Envelope Chou #3 */
 
1102     wxPAPER_JENV_CHOU4,         /* Japanese Envelope Chou #4 */
 
1103     wxPAPER_LETTER_ROTATED,     /* Letter Rotated 11 x 8 1/2 in */
 
1104     wxPAPER_A3_ROTATED,         /* A3 Rotated 420 x 297 mm */
 
1105     wxPAPER_A4_ROTATED,         /* A4 Rotated 297 x 210 mm */
 
1106     wxPAPER_A5_ROTATED,         /* A5 Rotated 210 x 148 mm */
 
1107     wxPAPER_B4_JIS_ROTATED,     /* B4 (JIS) Rotated 364 x 257 mm */
 
1108     wxPAPER_B5_JIS_ROTATED,     /* B5 (JIS) Rotated 257 x 182 mm */
 
1109     wxPAPER_JAPANESE_POSTCARD_ROTATED,/* Japanese Postcard Rotated 148 x 100 mm */
 
1110     wxPAPER_DBL_JAPANESE_POSTCARD_ROTATED,/* Double Japanese Postcard Rotated 148 x 200 mm */
 
1111     wxPAPER_A6_ROTATED,         /* A6 Rotated 148 x 105 mm */
 
1112     wxPAPER_JENV_KAKU2_ROTATED, /* Japanese Envelope Kaku #2 Rotated */
 
1113     wxPAPER_JENV_KAKU3_ROTATED, /* Japanese Envelope Kaku #3 Rotated */
 
1114     wxPAPER_JENV_CHOU3_ROTATED, /* Japanese Envelope Chou #3 Rotated */
 
1115     wxPAPER_JENV_CHOU4_ROTATED, /* Japanese Envelope Chou #4 Rotated */
 
1116     wxPAPER_B6_JIS,             /* B6 (JIS) 128 x 182 mm */
 
1117     wxPAPER_B6_JIS_ROTATED,     /* B6 (JIS) Rotated 182 x 128 mm */
 
1118     wxPAPER_12X11,              /* 12 x 11 in */
 
1119     wxPAPER_JENV_YOU4,          /* Japanese Envelope You #4 */
 
1120     wxPAPER_JENV_YOU4_ROTATED,  /* Japanese Envelope You #4 Rotated */
 
1121     wxPAPER_P16K,               /* PRC 16K 146 x 215 mm */
 
1122     wxPAPER_P32K,               /* PRC 32K 97 x 151 mm */
 
1123     wxPAPER_P32KBIG,            /* PRC 32K(Big) 97 x 151 mm */
 
1124     wxPAPER_PENV_1,             /* PRC Envelope #1 102 x 165 mm */
 
1125     wxPAPER_PENV_2,             /* PRC Envelope #2 102 x 176 mm */
 
1126     wxPAPER_PENV_3,             /* PRC Envelope #3 125 x 176 mm */
 
1127     wxPAPER_PENV_4,             /* PRC Envelope #4 110 x 208 mm */
 
1128     wxPAPER_PENV_5,             /* PRC Envelope #5 110 x 220 mm */
 
1129     wxPAPER_PENV_6,             /* PRC Envelope #6 120 x 230 mm */
 
1130     wxPAPER_PENV_7,             /* PRC Envelope #7 160 x 230 mm */
 
1131     wxPAPER_PENV_8,             /* PRC Envelope #8 120 x 309 mm */
 
1132     wxPAPER_PENV_9,             /* PRC Envelope #9 229 x 324 mm */
 
1133     wxPAPER_PENV_10,            /* PRC Envelope #10 324 x 458 mm */
 
1134     wxPAPER_P16K_ROTATED,       /* PRC 16K Rotated */
 
1135     wxPAPER_P32K_ROTATED,       /* PRC 32K Rotated */
 
1136     wxPAPER_P32KBIG_ROTATED,    /* PRC 32K(Big) Rotated */
 
1137     wxPAPER_PENV_1_ROTATED,     /* PRC Envelope #1 Rotated 165 x 102 mm */
 
1138     wxPAPER_PENV_2_ROTATED,     /* PRC Envelope #2 Rotated 176 x 102 mm */
 
1139     wxPAPER_PENV_3_ROTATED,     /* PRC Envelope #3 Rotated 176 x 125 mm */
 
1140     wxPAPER_PENV_4_ROTATED,     /* PRC Envelope #4 Rotated 208 x 110 mm */
 
1141     wxPAPER_PENV_5_ROTATED,     /* PRC Envelope #5 Rotated 220 x 110 mm */
 
1142     wxPAPER_PENV_6_ROTATED,     /* PRC Envelope #6 Rotated 230 x 120 mm */
 
1143     wxPAPER_PENV_7_ROTATED,     /* PRC Envelope #7 Rotated 230 x 160 mm */
 
1144     wxPAPER_PENV_8_ROTATED,     /* PRC Envelope #8 Rotated 309 x 120 mm */
 
1145     wxPAPER_PENV_9_ROTATED,     /* PRC Envelope #9 Rotated 324 x 229 mm */
 
1146     wxPAPER_PENV_10_ROTATED    /* PRC Envelope #10 Rotated 458 x 324 m */
 
1151     wxDUPLEX_SIMPLEX, // Non-duplex
 
1152     wxDUPLEX_HORIZONTAL,
 
1158 // menu and toolbar item kinds
 
1174     wxHT_SCROLLBAR_FIRST = wxHT_NOWHERE,
 
1175     wxHT_SCROLLBAR_ARROW_LINE_1,    // left or upper arrow to scroll by line
 
1176     wxHT_SCROLLBAR_ARROW_LINE_2,    // right or down
 
1177     wxHT_SCROLLBAR_ARROW_PAGE_1,    // left or upper arrow to scroll by page
 
1178     wxHT_SCROLLBAR_ARROW_PAGE_2,    // right or down
 
1179     wxHT_SCROLLBAR_THUMB,           // on the thumb
 
1180     wxHT_SCROLLBAR_BAR_1,           // bar to the left/above the thumb
 
1181     wxHT_SCROLLBAR_BAR_2,           // bar to the right/below the thumb
 
1182     wxHT_SCROLLBAR_LAST,
 
1185     wxHT_WINDOW_OUTSIDE,            // not in this window at all
 
1186     wxHT_WINDOW_INSIDE,             // in the client area
 
1187     wxHT_WINDOW_VERT_SCROLLBAR,     // on the vertical scrollbar
 
1188     wxHT_WINDOW_HORZ_SCROLLBAR,     // on the horizontal scrollbar
 
1189     wxHT_WINDOW_CORNER,             // on the corner between 2 scrollbars
 
1212     wxUPDATE_UI_NONE          = 0x0000,
 
1213     wxUPDATE_UI_RECURSE       = 0x0001,
 
1214     wxUPDATE_UI_FROMIDLE      = 0x0002 // Invoked from On(Internal)Idle
 
1218 enum wxLayoutDirection
 
1221     wxLayout_LeftToRight,
 
1222     wxLayout_RightToLeft
 
1227 //---------------------------------------------------------------------------