1/****************************************************************************
2**
3** Copyright (C) 2016 The Qt Company Ltd.
4** Contact: https://www.qt.io/licensing/
5**
6** This file is part of the QtCore module of the Qt Toolkit.
7**
8** $QT_BEGIN_LICENSE:LGPL$
9** Commercial License Usage
10** Licensees holding valid commercial Qt licenses may use this file in
11** accordance with the commercial license agreement provided with the
12** Software or, alternatively, in accordance with the terms contained in
13** a written agreement between you and The Qt Company. For licensing terms
14** and conditions see https://www.qt.io/terms-conditions. For further
15** information use the contact form at https://www.qt.io/contact-us.
16**
17** GNU Lesser General Public License Usage
18** Alternatively, this file may be used under the terms of the GNU Lesser
19** General Public License version 3 as published by the Free Software
20** Foundation and appearing in the file LICENSE.LGPL3 included in the
21** packaging of this file. Please review the following information to
22** ensure the GNU Lesser General Public License version 3 requirements
23** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
24**
25** GNU General Public License Usage
26** Alternatively, this file may be used under the terms of the GNU
27** General Public License version 2.0 or (at your option) the GNU General
28** Public license version 3 or any later version approved by the KDE Free
29** Qt Foundation. The licenses are as published by the Free Software
30** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
31** included in the packaging of this file. Please review the following
32** information to ensure the GNU General Public License requirements will
33** be met: https://www.gnu.org/licenses/gpl-2.0.html and
34** https://www.gnu.org/licenses/gpl-3.0.html.
35**
36** $QT_END_LICENSE$
37**
38****************************************************************************/
39
40#ifndef QNAMESPACE_H
41#define QNAMESPACE_H
42
43#include <QtCore/qglobal.h>
44
45#if defined(__OBJC__) && !defined(__cplusplus)
46# warning "File built in Objective-C mode (.m), but using Qt requires Objective-C++ (.mm)"
47#endif
48
49QT_BEGIN_NAMESPACE
50
51#if !defined(Q_QDOC) && !defined(Q_MOC_RUN)
52struct QMetaObject;
53const QMetaObject *qt_getQtMetaObject() noexcept; // defined in qobject.h (which can't be included here)
54#define QT_Q_ENUM(ENUM) \
55 inline const QMetaObject *qt_getEnumMetaObject(ENUM) noexcept { return qt_getQtMetaObject(); } \
56 inline Q_DECL_CONSTEXPR const char *qt_getEnumName(ENUM) noexcept { return #ENUM; }
57#define QT_Q_FLAG(ENUM) QT_Q_ENUM(ENUM)
58#else
59#define QT_Q_ENUM Q_ENUM
60#define QT_Q_FLAG Q_FLAG
61#endif
62
63#ifndef Q_MOC_RUN
64namespace
65#else
66class Q_CORE_EXPORT
67#endif
68Qt {
69
70#if defined(Q_MOC_RUN)
71 Q_OBJECT
72public:
73#endif
74
75 enum GlobalColor {
76 color0,
77 color1,
78 black,
79 white,
80 darkGray,
81 gray,
82 lightGray,
83 red,
84 green,
85 blue,
86 cyan,
87 magenta,
88 yellow,
89 darkRed,
90 darkGreen,
91 darkBlue,
92 darkCyan,
93 darkMagenta,
94 darkYellow,
95 transparent
96 };
97
98 enum KeyboardModifier {
99 NoModifier = 0x00000000,
100 ShiftModifier = 0x02000000,
101 ControlModifier = 0x04000000,
102 AltModifier = 0x08000000,
103 MetaModifier = 0x10000000,
104 KeypadModifier = 0x20000000,
105 GroupSwitchModifier = 0x40000000,
106 // Do not extend the mask to include 0x01000000
107 KeyboardModifierMask = 0xfe000000
108 };
109 Q_DECLARE_FLAGS(KeyboardModifiers, KeyboardModifier)
110 Q_DECLARE_OPERATORS_FOR_FLAGS(KeyboardModifiers)
111
112 //shorter names for shortcuts
113 // The use of all-caps identifiers has the potential for clashing with
114 // user-defined or third-party macros. More so when the identifiers are not
115 // "namespace"-prefixed. This is considered bad practice and is why
116 // KeypadModifier was not added to the Modifier enum.
117 enum Modifier {
118 META = Qt::MetaModifier,
119 SHIFT = Qt::ShiftModifier,
120 CTRL = Qt::ControlModifier,
121 ALT = Qt::AltModifier,
122 MODIFIER_MASK = KeyboardModifierMask,
123 UNICODE_ACCEL = 0x00000000
124 };
125
126 enum MouseButton {
127 NoButton = 0x00000000,
128 LeftButton = 0x00000001,
129 RightButton = 0x00000002,
130 MidButton = 0x00000004, // ### Qt 6: remove me
131 MiddleButton = MidButton,
132 BackButton = 0x00000008,
133 XButton1 = BackButton,
134 ExtraButton1 = XButton1,
135 ForwardButton = 0x00000010,
136 XButton2 = ForwardButton,
137 ExtraButton2 = ForwardButton,
138 TaskButton = 0x00000020,
139 ExtraButton3 = TaskButton,
140 ExtraButton4 = 0x00000040,
141 ExtraButton5 = 0x00000080,
142 ExtraButton6 = 0x00000100,
143 ExtraButton7 = 0x00000200,
144 ExtraButton8 = 0x00000400,
145 ExtraButton9 = 0x00000800,
146 ExtraButton10 = 0x00001000,
147 ExtraButton11 = 0x00002000,
148 ExtraButton12 = 0x00004000,
149 ExtraButton13 = 0x00008000,
150 ExtraButton14 = 0x00010000,
151 ExtraButton15 = 0x00020000,
152 ExtraButton16 = 0x00040000,
153 ExtraButton17 = 0x00080000,
154 ExtraButton18 = 0x00100000,
155 ExtraButton19 = 0x00200000,
156 ExtraButton20 = 0x00400000,
157 ExtraButton21 = 0x00800000,
158 ExtraButton22 = 0x01000000,
159 ExtraButton23 = 0x02000000,
160 ExtraButton24 = 0x04000000,
161 AllButtons = 0x07ffffff,
162 MaxMouseButton = ExtraButton24,
163 // 4 high-order bits remain available for future use (0x08000000 through 0x40000000).
164 MouseButtonMask = 0xffffffff
165 };
166 Q_DECLARE_FLAGS(MouseButtons, MouseButton)
167 Q_DECLARE_OPERATORS_FOR_FLAGS(MouseButtons)
168
169 enum Orientation {
170 Horizontal = 0x1,
171 Vertical = 0x2
172 };
173
174 Q_DECLARE_FLAGS(Orientations, Orientation)
175 Q_DECLARE_OPERATORS_FOR_FLAGS(Orientations)
176
177 enum FocusPolicy {
178 NoFocus = 0,
179 TabFocus = 0x1,
180 ClickFocus = 0x2,
181 StrongFocus = TabFocus | ClickFocus | 0x8,
182 WheelFocus = StrongFocus | 0x4
183 };
184
185 enum TabFocusBehavior {
186 NoTabFocus = 0x00,
187 TabFocusTextControls = 0x01,
188 TabFocusListControls = 0x02,
189 TabFocusAllControls = 0xff
190 };
191
192 enum SortOrder {
193 AscendingOrder,
194 DescendingOrder
195 };
196
197 enum SplitBehaviorFlags {
198 KeepEmptyParts = 0,
199 SkipEmptyParts = 0x1,
200 };
201 Q_DECLARE_FLAGS(SplitBehavior, SplitBehaviorFlags)
202 Q_DECLARE_OPERATORS_FOR_FLAGS(SplitBehavior)
203
204 enum TileRule {
205 StretchTile,
206 RepeatTile,
207 RoundTile
208 };
209
210 // Text formatting flags for QPainter::drawText and QLabel.
211 // The following two enums can be combined to one integer which
212 // is passed as 'flags' to QPainter::drawText, QFontMetrics::boundingRect and qt_format_text.
213
214 enum AlignmentFlag {
215 AlignLeft = 0x0001,
216 AlignLeading = AlignLeft,
217 AlignRight = 0x0002,
218 AlignTrailing = AlignRight,
219 AlignHCenter = 0x0004,
220 AlignJustify = 0x0008,
221 AlignAbsolute = 0x0010,
222 AlignHorizontal_Mask = AlignLeft | AlignRight | AlignHCenter | AlignJustify | AlignAbsolute,
223
224 AlignTop = 0x0020,
225 AlignBottom = 0x0040,
226 AlignVCenter = 0x0080,
227 AlignBaseline = 0x0100,
228 // Note that 0x100 will clash with Qt::TextSingleLine = 0x100 due to what the comment above
229 // this enum declaration states. However, since Qt::AlignBaseline is only used by layouts,
230 // it doesn't make sense to pass Qt::AlignBaseline to QPainter::drawText(), so there
231 // shouldn't really be any ambiguity between the two overlapping enum values.
232 AlignVertical_Mask = AlignTop | AlignBottom | AlignVCenter | AlignBaseline,
233
234 AlignCenter = AlignVCenter | AlignHCenter
235 };
236
237 Q_DECLARE_FLAGS(Alignment, AlignmentFlag)
238 Q_DECLARE_OPERATORS_FOR_FLAGS(Alignment)
239
240 enum TextFlag {
241 TextSingleLine = 0x0100,
242 TextDontClip = 0x0200,
243 TextExpandTabs = 0x0400,
244 TextShowMnemonic = 0x0800,
245 TextWordWrap = 0x1000,
246 TextWrapAnywhere = 0x2000,
247 TextDontPrint = 0x4000,
248 TextIncludeTrailingSpaces = 0x08000000,
249 TextHideMnemonic = 0x8000,
250 TextJustificationForced = 0x10000,
251 TextForceLeftToRight = 0x20000,
252 TextForceRightToLeft = 0x40000,
253 // Ensures that the longest variant is always used when computing the
254 // size of a multi-variant string.
255 TextLongestVariant = 0x80000
256
257#if QT_DEPRECATED_SINCE(5, 11) && QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
258 , TextBypassShaping = 0x100000
259#endif
260 };
261
262 enum TextElideMode {
263 ElideLeft,
264 ElideRight,
265 ElideMiddle,
266 ElideNone
267 };
268
269 enum WhiteSpaceMode {
270 WhiteSpaceNormal,
271 WhiteSpacePre,
272 WhiteSpaceNoWrap,
273 WhiteSpaceModeUndefined = -1
274 };
275
276 enum HitTestAccuracy { ExactHit, FuzzyHit };
277
278 enum WindowType {
279 Widget = 0x00000000,
280 Window = 0x00000001,
281 Dialog = 0x00000002 | Window,
282 Sheet = 0x00000004 | Window,
283 Drawer = Sheet | Dialog,
284 Popup = 0x00000008 | Window,
285 Tool = Popup | Dialog,
286 ToolTip = Popup | Sheet,
287 SplashScreen = ToolTip | Dialog,
288 Desktop = 0x00000010 | Window,
289 SubWindow = 0x00000012,
290 ForeignWindow = 0x00000020 | Window,
291 CoverWindow = 0x00000040 | Window,
292
293 WindowType_Mask = 0x000000ff,
294 MSWindowsFixedSizeDialogHint = 0x00000100,
295 MSWindowsOwnDC = 0x00000200,
296 BypassWindowManagerHint = 0x00000400,
297 X11BypassWindowManagerHint = BypassWindowManagerHint,
298 FramelessWindowHint = 0x00000800,
299 WindowTitleHint = 0x00001000,
300 WindowSystemMenuHint = 0x00002000,
301 WindowMinimizeButtonHint = 0x00004000,
302 WindowMaximizeButtonHint = 0x00008000,
303 WindowMinMaxButtonsHint = WindowMinimizeButtonHint | WindowMaximizeButtonHint,
304 WindowContextHelpButtonHint = 0x00010000,
305 WindowShadeButtonHint = 0x00020000,
306 WindowStaysOnTopHint = 0x00040000,
307 WindowTransparentForInput = 0x00080000,
308 WindowOverridesSystemGestures = 0x00100000,
309 WindowDoesNotAcceptFocus = 0x00200000,
310 MaximizeUsingFullscreenGeometryHint = 0x00400000,
311
312 CustomizeWindowHint = 0x02000000,
313 WindowStaysOnBottomHint = 0x04000000,
314 WindowCloseButtonHint = 0x08000000,
315 MacWindowToolBarButtonHint = 0x10000000,
316 BypassGraphicsProxyWidget = 0x20000000,
317 NoDropShadowWindowHint = 0x40000000,
318 WindowFullscreenButtonHint = 0x80000000
319 };
320
321 Q_DECLARE_FLAGS(WindowFlags, WindowType)
322 Q_DECLARE_OPERATORS_FOR_FLAGS(WindowFlags)
323
324 enum WindowState {
325 WindowNoState = 0x00000000,
326 WindowMinimized = 0x00000001,
327 WindowMaximized = 0x00000002,
328 WindowFullScreen = 0x00000004,
329 WindowActive = 0x00000008
330 };
331
332 Q_DECLARE_FLAGS(WindowStates, WindowState)
333 Q_DECLARE_OPERATORS_FOR_FLAGS(WindowStates)
334
335 enum ApplicationState {
336 ApplicationSuspended = 0x00000000,
337 ApplicationHidden = 0x00000001,
338 ApplicationInactive = 0x00000002,
339 ApplicationActive = 0x00000004
340 };
341
342 Q_DECLARE_FLAGS(ApplicationStates, ApplicationState)
343
344 enum ScreenOrientation {
345 PrimaryOrientation = 0x00000000,
346 PortraitOrientation = 0x00000001,
347 LandscapeOrientation = 0x00000002,
348 InvertedPortraitOrientation = 0x00000004,
349 InvertedLandscapeOrientation = 0x00000008
350 };
351
352 Q_DECLARE_FLAGS(ScreenOrientations, ScreenOrientation)
353 Q_DECLARE_OPERATORS_FOR_FLAGS(ScreenOrientations)
354
355 enum WidgetAttribute {
356 WA_Disabled = 0,
357 WA_UnderMouse = 1,
358 WA_MouseTracking = 2,
359 WA_ContentsPropagated = 3, // ## deprecated
360 WA_OpaquePaintEvent = 4,
361#if QT_DEPRECATED_SINCE(5, 14)
362 WA_NoBackground Q_DECL_ENUMERATOR_DEPRECATED = WA_OpaquePaintEvent,
363#endif
364 WA_StaticContents = 5,
365 WA_LaidOut = 7,
366 WA_PaintOnScreen = 8,
367 WA_NoSystemBackground = 9,
368 WA_UpdatesDisabled = 10,
369 WA_Mapped = 11,
370#if QT_DEPRECATED_SINCE(5, 14)
371 WA_MacNoClickThrough Q_DECL_ENUMERATOR_DEPRECATED = 12,
372#endif
373 WA_InputMethodEnabled = 14,
374 WA_WState_Visible = 15,
375 WA_WState_Hidden = 16,
376
377 WA_ForceDisabled = 32,
378 WA_KeyCompression = 33,
379 WA_PendingMoveEvent = 34,
380 WA_PendingResizeEvent = 35,
381 WA_SetPalette = 36,
382 WA_SetFont = 37,
383 WA_SetCursor = 38,
384 WA_NoChildEventsFromChildren = 39,
385 WA_WindowModified = 41,
386 WA_Resized = 42,
387 WA_Moved = 43,
388 WA_PendingUpdate = 44,
389 WA_InvalidSize = 45,
390#if QT_DEPRECATED_SINCE(5, 14)
391 WA_MacBrushedMetal Q_DECL_ENUMERATOR_DEPRECATED = 46,
392 WA_MacMetalStyle Q_DECL_ENUMERATOR_DEPRECATED = 46,
393#endif
394 WA_CustomWhatsThis = 47,
395 WA_LayoutOnEntireRect = 48,
396 WA_OutsideWSRange = 49,
397 WA_GrabbedShortcut = 50,
398 WA_TransparentForMouseEvents = 51,
399 WA_PaintUnclipped = 52,
400 WA_SetWindowIcon = 53,
401 WA_NoMouseReplay = 54,
402 WA_DeleteOnClose = 55,
403 WA_RightToLeft = 56,
404 WA_SetLayoutDirection = 57,
405 WA_NoChildEventsForParent = 58,
406 WA_ForceUpdatesDisabled = 59,
407
408 WA_WState_Created = 60,
409 WA_WState_CompressKeys = 61,
410 WA_WState_InPaintEvent = 62,
411 WA_WState_Reparented = 63,
412 WA_WState_ConfigPending = 64,
413 WA_WState_Polished = 66,
414 WA_WState_DND = 67, // ## deprecated
415 WA_WState_OwnSizePolicy = 68,
416 WA_WState_ExplicitShowHide = 69,
417
418 WA_ShowModal = 70, // ## deprecated
419 WA_MouseNoMask = 71,
420 WA_GroupLeader = 72, // ## deprecated
421 WA_NoMousePropagation = 73, // ## for now, might go away.
422 WA_Hover = 74,
423 WA_InputMethodTransparent = 75, // Don't reset IM when user clicks on this (for virtual keyboards on embedded)
424 WA_QuitOnClose = 76,
425
426 WA_KeyboardFocusChange = 77,
427
428 WA_AcceptDrops = 78,
429 WA_DropSiteRegistered = 79, // internal
430 WA_ForceAcceptDrops = WA_DropSiteRegistered, // ## deprecated
431
432 WA_WindowPropagation = 80,
433
434 WA_NoX11EventCompression = 81,
435 WA_TintedBackground = 82,
436 WA_X11OpenGLOverlay = 83,
437 WA_AlwaysShowToolTips = 84,
438 WA_MacOpaqueSizeGrip = 85,
439 WA_SetStyle = 86,
440
441 WA_SetLocale = 87,
442 WA_MacShowFocusRect = 88,
443
444 WA_MacNormalSize = 89, // Mac only
445 WA_MacSmallSize = 90, // Mac only
446 WA_MacMiniSize = 91, // Mac only
447
448 WA_LayoutUsesWidgetRect = 92,
449 WA_StyledBackground = 93, // internal
450#if QT_DEPRECATED_SINCE(5, 14)
451 WA_MSWindowsUseDirect3D Q_DECL_ENUMERATOR_DEPRECATED = 94,
452#endif
453 WA_CanHostQMdiSubWindowTitleBar = 95, // Internal
454
455 WA_MacAlwaysShowToolWindow = 96, // Mac only
456
457 WA_StyleSheet = 97, // internal
458
459 WA_ShowWithoutActivating = 98,
460
461 WA_X11BypassTransientForHint = 99,
462
463 WA_NativeWindow = 100,
464 WA_DontCreateNativeAncestors = 101,
465
466 WA_MacVariableSize = 102, // Mac only
467
468 WA_DontShowOnScreen = 103,
469
470 // window types from http://standards.freedesktop.org/wm-spec/
471 WA_X11NetWmWindowTypeDesktop = 104,
472 WA_X11NetWmWindowTypeDock = 105,
473 WA_X11NetWmWindowTypeToolBar = 106,
474 WA_X11NetWmWindowTypeMenu = 107,
475 WA_X11NetWmWindowTypeUtility = 108,
476 WA_X11NetWmWindowTypeSplash = 109,
477 WA_X11NetWmWindowTypeDialog = 110,
478 WA_X11NetWmWindowTypeDropDownMenu = 111,
479 WA_X11NetWmWindowTypePopupMenu = 112,
480 WA_X11NetWmWindowTypeToolTip = 113,
481 WA_X11NetWmWindowTypeNotification = 114,
482 WA_X11NetWmWindowTypeCombo = 115,
483 WA_X11NetWmWindowTypeDND = 116,
484#if QT_DEPRECATED_SINCE(5, 14)
485 WA_MacFrameworkScaled Q_DECL_ENUMERATOR_DEPRECATED = 117,
486#endif
487 WA_SetWindowModality = 118,
488 WA_WState_WindowOpacitySet = 119, // internal
489 WA_TranslucentBackground = 120,
490
491 WA_AcceptTouchEvents = 121,
492 WA_WState_AcceptedTouchBeginEvent = 122,
493 WA_TouchPadAcceptSingleTouchEvents = 123,
494
495 WA_X11DoNotAcceptFocus = 126,
496 WA_MacNoShadow = 127,
497
498 WA_AlwaysStackOnTop = 128,
499
500 WA_TabletTracking = 129,
501
502 WA_ContentsMarginsRespectsSafeArea = 130,
503
504 WA_StyleSheetTarget = 131,
505
506 // Add new attributes before this line
507 WA_AttributeCount
508 };
509
510 enum ApplicationAttribute
511 {
512 AA_ImmediateWidgetCreation = 0,
513#if QT_DEPRECATED_SINCE(5, 14)
514 AA_MSWindowsUseDirect3DByDefault Q_DECL_ENUMERATOR_DEPRECATED = 1,
515#endif
516 AA_DontShowIconsInMenus = 2,
517 AA_NativeWindows = 3,
518 AA_DontCreateNativeWidgetSiblings = 4,
519 AA_PluginApplication = 5,
520#if QT_DEPRECATED_SINCE(5, 13) // ### Qt 6: remove me
521 AA_MacPluginApplication Q_DECL_ENUMERATOR_DEPRECATED = AA_PluginApplication,
522#endif
523 AA_DontUseNativeMenuBar = 6,
524 AA_MacDontSwapCtrlAndMeta = 7,
525 AA_Use96Dpi = 8,
526#if QT_DEPRECATED_SINCE(5, 14)
527 AA_X11InitThreads Q_DECL_ENUMERATOR_DEPRECATED = 10,
528#endif
529 AA_SynthesizeTouchForUnhandledMouseEvents = 11,
530 AA_SynthesizeMouseForUnhandledTouchEvents = 12,
531 AA_UseHighDpiPixmaps = 13,
532 AA_ForceRasterWidgets = 14,
533 AA_UseDesktopOpenGL = 15,
534 AA_UseOpenGLES = 16,
535 AA_UseSoftwareOpenGL = 17,
536 AA_ShareOpenGLContexts = 18,
537 AA_SetPalette = 19,
538 AA_EnableHighDpiScaling = 20,
539 AA_DisableHighDpiScaling = 21,
540 AA_UseStyleSheetPropagationInWidgetStyles = 22,
541 AA_DontUseNativeDialogs = 23,
542 AA_SynthesizeMouseForUnhandledTabletEvents = 24,
543 AA_CompressHighFrequencyEvents = 25,
544 AA_DontCheckOpenGLContextThreadAffinity = 26,
545 AA_DisableShaderDiskCache = 27,
546 AA_DontShowShortcutsInContextMenus = 28,
547 AA_CompressTabletEvents = 29,
548 AA_DisableWindowContextHelpButton = 30, // ### Qt 6: remove me
549 AA_DisableSessionManager = 31,
550
551 // Add new attributes before this line
552 AA_AttributeCount
553 };
554
555
556 // Image conversion flags. The unusual ordering is caused by
557 // compatibility and default requirements.
558
559 enum ImageConversionFlag {
560 ColorMode_Mask = 0x00000003,
561 AutoColor = 0x00000000,
562 ColorOnly = 0x00000003,
563 MonoOnly = 0x00000002,
564 // Reserved = 0x00000001,
565
566 AlphaDither_Mask = 0x0000000c,
567 ThresholdAlphaDither = 0x00000000,
568 OrderedAlphaDither = 0x00000004,
569 DiffuseAlphaDither = 0x00000008,
570 NoAlpha = 0x0000000c, // Not supported
571
572 Dither_Mask = 0x00000030,
573 DiffuseDither = 0x00000000,
574 OrderedDither = 0x00000010,
575 ThresholdDither = 0x00000020,
576 // ReservedDither = 0x00000030,
577
578 DitherMode_Mask = 0x000000c0,
579 AutoDither = 0x00000000,
580 PreferDither = 0x00000040,
581 AvoidDither = 0x00000080,
582
583 NoOpaqueDetection = 0x00000100,
584 NoFormatConversion = 0x00000200
585 };
586 Q_DECLARE_FLAGS(ImageConversionFlags, ImageConversionFlag)
587 Q_DECLARE_OPERATORS_FOR_FLAGS(ImageConversionFlags)
588
589 enum BGMode {
590 TransparentMode,
591 OpaqueMode
592 };
593
594 enum Key {
595 Key_Escape = 0x01000000, // misc keys
596 Key_Tab = 0x01000001,
597 Key_Backtab = 0x01000002,
598 Key_Backspace = 0x01000003,
599 Key_Return = 0x01000004,
600 Key_Enter = 0x01000005,
601 Key_Insert = 0x01000006,
602 Key_Delete = 0x01000007,
603 Key_Pause = 0x01000008,
604 Key_Print = 0x01000009, // print screen
605 Key_SysReq = 0x0100000a,
606 Key_Clear = 0x0100000b,
607 Key_Home = 0x01000010, // cursor movement
608 Key_End = 0x01000011,
609 Key_Left = 0x01000012,
610 Key_Up = 0x01000013,
611 Key_Right = 0x01000014,
612 Key_Down = 0x01000015,
613 Key_PageUp = 0x01000016,
614 Key_PageDown = 0x01000017,
615 Key_Shift = 0x01000020, // modifiers
616 Key_Control = 0x01000021,
617 Key_Meta = 0x01000022,
618 Key_Alt = 0x01000023,
619 Key_CapsLock = 0x01000024,
620 Key_NumLock = 0x01000025,
621 Key_ScrollLock = 0x01000026,
622 Key_F1 = 0x01000030, // function keys
623 Key_F2 = 0x01000031,
624 Key_F3 = 0x01000032,
625 Key_F4 = 0x01000033,
626 Key_F5 = 0x01000034,
627 Key_F6 = 0x01000035,
628 Key_F7 = 0x01000036,
629 Key_F8 = 0x01000037,
630 Key_F9 = 0x01000038,
631 Key_F10 = 0x01000039,
632 Key_F11 = 0x0100003a,
633 Key_F12 = 0x0100003b,
634 Key_F13 = 0x0100003c,
635 Key_F14 = 0x0100003d,
636 Key_F15 = 0x0100003e,
637 Key_F16 = 0x0100003f,
638 Key_F17 = 0x01000040,
639 Key_F18 = 0x01000041,
640 Key_F19 = 0x01000042,
641 Key_F20 = 0x01000043,
642 Key_F21 = 0x01000044,
643 Key_F22 = 0x01000045,
644 Key_F23 = 0x01000046,
645 Key_F24 = 0x01000047,
646 Key_F25 = 0x01000048, // F25 .. F35 only on X11
647 Key_F26 = 0x01000049,
648 Key_F27 = 0x0100004a,
649 Key_F28 = 0x0100004b,
650 Key_F29 = 0x0100004c,
651 Key_F30 = 0x0100004d,
652 Key_F31 = 0x0100004e,
653 Key_F32 = 0x0100004f,
654 Key_F33 = 0x01000050,
655 Key_F34 = 0x01000051,
656 Key_F35 = 0x01000052,
657 Key_Super_L = 0x01000053, // extra keys
658 Key_Super_R = 0x01000054,
659 Key_Menu = 0x01000055,
660 Key_Hyper_L = 0x01000056,
661 Key_Hyper_R = 0x01000057,
662 Key_Help = 0x01000058,
663 Key_Direction_L = 0x01000059,
664 Key_Direction_R = 0x01000060,
665 Key_Space = 0x20, // 7 bit printable ASCII
666 Key_Any = Key_Space,
667 Key_Exclam = 0x21,
668 Key_QuoteDbl = 0x22,
669 Key_NumberSign = 0x23,
670 Key_Dollar = 0x24,
671 Key_Percent = 0x25,
672 Key_Ampersand = 0x26,
673 Key_Apostrophe = 0x27,
674 Key_ParenLeft = 0x28,
675 Key_ParenRight = 0x29,
676 Key_Asterisk = 0x2a,
677 Key_Plus = 0x2b,
678 Key_Comma = 0x2c,
679 Key_Minus = 0x2d,
680 Key_Period = 0x2e,
681 Key_Slash = 0x2f,
682 Key_0 = 0x30,
683 Key_1 = 0x31,
684 Key_2 = 0x32,
685 Key_3 = 0x33,
686 Key_4 = 0x34,
687 Key_5 = 0x35,
688 Key_6 = 0x36,
689 Key_7 = 0x37,
690 Key_8 = 0x38,
691 Key_9 = 0x39,
692 Key_Colon = 0x3a,
693 Key_Semicolon = 0x3b,
694 Key_Less = 0x3c,
695 Key_Equal = 0x3d,
696 Key_Greater = 0x3e,
697 Key_Question = 0x3f,
698 Key_At = 0x40,
699 Key_A = 0x41,
700 Key_B = 0x42,
701 Key_C = 0x43,
702 Key_D = 0x44,
703 Key_E = 0x45,
704 Key_F = 0x46,
705 Key_G = 0x47,
706 Key_H = 0x48,
707 Key_I = 0x49,
708 Key_J = 0x4a,
709 Key_K = 0x4b,
710 Key_L = 0x4c,
711 Key_M = 0x4d,
712 Key_N = 0x4e,
713 Key_O = 0x4f,
714 Key_P = 0x50,
715 Key_Q = 0x51,
716 Key_R = 0x52,
717 Key_S = 0x53,
718 Key_T = 0x54,
719 Key_U = 0x55,
720 Key_V = 0x56,
721 Key_W = 0x57,
722 Key_X = 0x58,
723 Key_Y = 0x59,
724 Key_Z = 0x5a,
725 Key_BracketLeft = 0x5b,
726 Key_Backslash = 0x5c,
727 Key_BracketRight = 0x5d,
728 Key_AsciiCircum = 0x5e,
729 Key_Underscore = 0x5f,
730 Key_QuoteLeft = 0x60,
731 Key_BraceLeft = 0x7b,
732 Key_Bar = 0x7c,
733 Key_BraceRight = 0x7d,
734 Key_AsciiTilde = 0x7e,
735
736 Key_nobreakspace = 0x0a0,
737 Key_exclamdown = 0x0a1,
738 Key_cent = 0x0a2,
739 Key_sterling = 0x0a3,
740 Key_currency = 0x0a4,
741 Key_yen = 0x0a5,
742 Key_brokenbar = 0x0a6,
743 Key_section = 0x0a7,
744 Key_diaeresis = 0x0a8,
745 Key_copyright = 0x0a9,
746 Key_ordfeminine = 0x0aa,
747 Key_guillemotleft = 0x0ab, // left angle quotation mark
748 Key_notsign = 0x0ac,
749 Key_hyphen = 0x0ad,
750 Key_registered = 0x0ae,
751 Key_macron = 0x0af,
752 Key_degree = 0x0b0,
753 Key_plusminus = 0x0b1,
754 Key_twosuperior = 0x0b2,
755 Key_threesuperior = 0x0b3,
756 Key_acute = 0x0b4,
757 Key_mu = 0x0b5,
758 Key_paragraph = 0x0b6,
759 Key_periodcentered = 0x0b7,
760 Key_cedilla = 0x0b8,
761 Key_onesuperior = 0x0b9,
762 Key_masculine = 0x0ba,
763 Key_guillemotright = 0x0bb, // right angle quotation mark
764 Key_onequarter = 0x0bc,
765 Key_onehalf = 0x0bd,
766 Key_threequarters = 0x0be,
767 Key_questiondown = 0x0bf,
768 Key_Agrave = 0x0c0,
769 Key_Aacute = 0x0c1,
770 Key_Acircumflex = 0x0c2,
771 Key_Atilde = 0x0c3,
772 Key_Adiaeresis = 0x0c4,
773 Key_Aring = 0x0c5,
774 Key_AE = 0x0c6,
775 Key_Ccedilla = 0x0c7,
776 Key_Egrave = 0x0c8,
777 Key_Eacute = 0x0c9,
778 Key_Ecircumflex = 0x0ca,
779 Key_Ediaeresis = 0x0cb,
780 Key_Igrave = 0x0cc,
781 Key_Iacute = 0x0cd,
782 Key_Icircumflex = 0x0ce,
783 Key_Idiaeresis = 0x0cf,
784 Key_ETH = 0x0d0,
785 Key_Ntilde = 0x0d1,
786 Key_Ograve = 0x0d2,
787 Key_Oacute = 0x0d3,
788 Key_Ocircumflex = 0x0d4,
789 Key_Otilde = 0x0d5,
790 Key_Odiaeresis = 0x0d6,
791 Key_multiply = 0x0d7,
792 Key_Ooblique = 0x0d8,
793 Key_Ugrave = 0x0d9,
794 Key_Uacute = 0x0da,
795 Key_Ucircumflex = 0x0db,
796 Key_Udiaeresis = 0x0dc,
797 Key_Yacute = 0x0dd,
798 Key_THORN = 0x0de,
799 Key_ssharp = 0x0df,
800 Key_division = 0x0f7,
801 Key_ydiaeresis = 0x0ff,
802
803 // International input method support (X keycode - 0xEE00, the
804 // definition follows Qt/Embedded 2.3.7) Only interesting if
805 // you are writing your own input method
806
807 // International & multi-key character composition
808 Key_AltGr = 0x01001103,
809 Key_Multi_key = 0x01001120, // Multi-key character compose
810 Key_Codeinput = 0x01001137,
811 Key_SingleCandidate = 0x0100113c,
812 Key_MultipleCandidate = 0x0100113d,
813 Key_PreviousCandidate = 0x0100113e,
814
815 // Misc Functions
816 Key_Mode_switch = 0x0100117e, // Character set switch
817 //Key_script_switch = 0x0100117e, // Alias for mode_switch
818
819 // Japanese keyboard support
820 Key_Kanji = 0x01001121, // Kanji, Kanji convert
821 Key_Muhenkan = 0x01001122, // Cancel Conversion
822 //Key_Henkan_Mode = 0x01001123, // Start/Stop Conversion
823 Key_Henkan = 0x01001123, // Alias for Henkan_Mode
824 Key_Romaji = 0x01001124, // to Romaji
825 Key_Hiragana = 0x01001125, // to Hiragana
826 Key_Katakana = 0x01001126, // to Katakana
827 Key_Hiragana_Katakana = 0x01001127, // Hiragana/Katakana toggle
828 Key_Zenkaku = 0x01001128, // to Zenkaku
829 Key_Hankaku = 0x01001129, // to Hankaku
830 Key_Zenkaku_Hankaku = 0x0100112a, // Zenkaku/Hankaku toggle
831 Key_Touroku = 0x0100112b, // Add to Dictionary
832 Key_Massyo = 0x0100112c, // Delete from Dictionary
833 Key_Kana_Lock = 0x0100112d, // Kana Lock
834 Key_Kana_Shift = 0x0100112e, // Kana Shift
835 Key_Eisu_Shift = 0x0100112f, // Alphanumeric Shift
836 Key_Eisu_toggle = 0x01001130, // Alphanumeric toggle
837 //Key_Kanji_Bangou = 0x01001137, // Codeinput
838 //Key_Zen_Koho = 0x0100113d, // Multiple/All Candidate(s)
839 //Key_Mae_Koho = 0x0100113e, // Previous Candidate
840
841 // Korean keyboard support
842 //
843 // In fact, many Korean users need only 2 keys, Key_Hangul and
844 // Key_Hangul_Hanja. But rest of the keys are good for future.
845
846 Key_Hangul = 0x01001131, // Hangul start/stop(toggle)
847 Key_Hangul_Start = 0x01001132, // Hangul start
848 Key_Hangul_End = 0x01001133, // Hangul end, English start
849 Key_Hangul_Hanja = 0x01001134, // Start Hangul->Hanja Conversion
850 Key_Hangul_Jamo = 0x01001135, // Hangul Jamo mode
851 Key_Hangul_Romaja = 0x01001136, // Hangul Romaja mode
852 //Key_Hangul_Codeinput = 0x01001137, // Hangul code input mode
853 Key_Hangul_Jeonja = 0x01001138, // Jeonja mode
854 Key_Hangul_Banja = 0x01001139, // Banja mode
855 Key_Hangul_PreHanja = 0x0100113a, // Pre Hanja conversion
856 Key_Hangul_PostHanja = 0x0100113b, // Post Hanja conversion
857 //Key_Hangul_SingleCandidate = 0x0100113c, // Single candidate
858 //Key_Hangul_MultipleCandidate = 0x0100113d, // Multiple candidate
859 //Key_Hangul_PreviousCandidate = 0x0100113e, // Previous candidate
860 Key_Hangul_Special = 0x0100113f, // Special symbols
861 //Key_Hangul_switch = 0x0100117e, // Alias for mode_switch
862
863 // dead keys (X keycode - 0xED00 to avoid the conflict)
864 Key_Dead_Grave = 0x01001250,
865 Key_Dead_Acute = 0x01001251,
866 Key_Dead_Circumflex = 0x01001252,
867 Key_Dead_Tilde = 0x01001253,
868 Key_Dead_Macron = 0x01001254,
869 Key_Dead_Breve = 0x01001255,
870 Key_Dead_Abovedot = 0x01001256,
871 Key_Dead_Diaeresis = 0x01001257,
872 Key_Dead_Abovering = 0x01001258,
873 Key_Dead_Doubleacute = 0x01001259,
874 Key_Dead_Caron = 0x0100125a,
875 Key_Dead_Cedilla = 0x0100125b,
876 Key_Dead_Ogonek = 0x0100125c,
877 Key_Dead_Iota = 0x0100125d,
878 Key_Dead_Voiced_Sound = 0x0100125e,
879 Key_Dead_Semivoiced_Sound = 0x0100125f,
880 Key_Dead_Belowdot = 0x01001260,
881 Key_Dead_Hook = 0x01001261,
882 Key_Dead_Horn = 0x01001262,
883 Key_Dead_Stroke = 0x01001263,
884 Key_Dead_Abovecomma = 0x01001264,
885 Key_Dead_Abovereversedcomma = 0x01001265,
886 Key_Dead_Doublegrave = 0x01001266,
887 Key_Dead_Belowring = 0x01001267,
888 Key_Dead_Belowmacron = 0x01001268,
889 Key_Dead_Belowcircumflex = 0x01001269,
890 Key_Dead_Belowtilde = 0x0100126a,
891 Key_Dead_Belowbreve = 0x0100126b,
892 Key_Dead_Belowdiaeresis = 0x0100126c,
893 Key_Dead_Invertedbreve = 0x0100126d,
894 Key_Dead_Belowcomma = 0x0100126e,
895 Key_Dead_Currency = 0x0100126f,
896 Key_Dead_a = 0x01001280,
897 Key_Dead_A = 0x01001281,
898 Key_Dead_e = 0x01001282,
899 Key_Dead_E = 0x01001283,
900 Key_Dead_i = 0x01001284,
901 Key_Dead_I = 0x01001285,
902 Key_Dead_o = 0x01001286,
903 Key_Dead_O = 0x01001287,
904 Key_Dead_u = 0x01001288,
905 Key_Dead_U = 0x01001289,
906 Key_Dead_Small_Schwa = 0x0100128a,
907 Key_Dead_Capital_Schwa = 0x0100128b,
908 Key_Dead_Greek = 0x0100128c,
909 Key_Dead_Lowline = 0x01001290,
910 Key_Dead_Aboveverticalline = 0x01001291,
911 Key_Dead_Belowverticalline = 0x01001292,
912 Key_Dead_Longsolidusoverlay = 0x01001293,
913
914 // multimedia/internet keys - ignored by default - see QKeyEvent c'tor
915 Key_Back = 0x01000061,
916 Key_Forward = 0x01000062,
917 Key_Stop = 0x01000063,
918 Key_Refresh = 0x01000064,
919 Key_VolumeDown = 0x01000070,
920 Key_VolumeMute = 0x01000071,
921 Key_VolumeUp = 0x01000072,
922 Key_BassBoost = 0x01000073,
923 Key_BassUp = 0x01000074,
924 Key_BassDown = 0x01000075,
925 Key_TrebleUp = 0x01000076,
926 Key_TrebleDown = 0x01000077,
927 Key_MediaPlay = 0x01000080,
928 Key_MediaStop = 0x01000081,
929 Key_MediaPrevious = 0x01000082,
930 Key_MediaNext = 0x01000083,
931 Key_MediaRecord = 0x01000084,
932 Key_MediaPause = 0x1000085,
933 Key_MediaTogglePlayPause = 0x1000086,
934 Key_HomePage = 0x01000090,
935 Key_Favorites = 0x01000091,
936 Key_Search = 0x01000092,
937 Key_Standby = 0x01000093,
938 Key_OpenUrl = 0x01000094,
939 Key_LaunchMail = 0x010000a0,
940 Key_LaunchMedia = 0x010000a1,
941 Key_Launch0 = 0x010000a2,
942 Key_Launch1 = 0x010000a3,
943 Key_Launch2 = 0x010000a4,
944 Key_Launch3 = 0x010000a5,
945 Key_Launch4 = 0x010000a6,
946 Key_Launch5 = 0x010000a7,
947 Key_Launch6 = 0x010000a8,
948 Key_Launch7 = 0x010000a9,
949 Key_Launch8 = 0x010000aa,
950 Key_Launch9 = 0x010000ab,
951 Key_LaunchA = 0x010000ac,
952 Key_LaunchB = 0x010000ad,
953 Key_LaunchC = 0x010000ae,
954 Key_LaunchD = 0x010000af,
955 Key_LaunchE = 0x010000b0,
956 Key_LaunchF = 0x010000b1,
957 Key_MonBrightnessUp = 0x010000b2,
958 Key_MonBrightnessDown = 0x010000b3,
959 Key_KeyboardLightOnOff = 0x010000b4,
960 Key_KeyboardBrightnessUp = 0x010000b5,
961 Key_KeyboardBrightnessDown = 0x010000b6,
962 Key_PowerOff = 0x010000b7,
963 Key_WakeUp = 0x010000b8,
964 Key_Eject = 0x010000b9,
965 Key_ScreenSaver = 0x010000ba,
966 Key_WWW = 0x010000bb,
967 Key_Memo = 0x010000bc,
968 Key_LightBulb = 0x010000bd,
969 Key_Shop = 0x010000be,
970 Key_History = 0x010000bf,
971 Key_AddFavorite = 0x010000c0,
972 Key_HotLinks = 0x010000c1,
973 Key_BrightnessAdjust = 0x010000c2,
974 Key_Finance = 0x010000c3,
975 Key_Community = 0x010000c4,
976 Key_AudioRewind = 0x010000c5, // Media rewind
977 Key_BackForward = 0x010000c6,
978 Key_ApplicationLeft = 0x010000c7,
979 Key_ApplicationRight = 0x010000c8,
980 Key_Book = 0x010000c9,
981 Key_CD = 0x010000ca,
982 Key_Calculator = 0x010000cb,
983 Key_ToDoList = 0x010000cc,
984 Key_ClearGrab = 0x010000cd,
985 Key_Close = 0x010000ce,
986 Key_Copy = 0x010000cf,
987 Key_Cut = 0x010000d0,
988 Key_Display = 0x010000d1, // Output switch key
989 Key_DOS = 0x010000d2,
990 Key_Documents = 0x010000d3,
991 Key_Excel = 0x010000d4,
992 Key_Explorer = 0x010000d5,
993 Key_Game = 0x010000d6,
994 Key_Go = 0x010000d7,
995 Key_iTouch = 0x010000d8,
996 Key_LogOff = 0x010000d9,
997 Key_Market = 0x010000da,
998 Key_Meeting = 0x010000db,
999 Key_MenuKB = 0x010000dc,
1000 Key_MenuPB = 0x010000dd,
1001 Key_MySites = 0x010000de,
1002 Key_News = 0x010000df,
1003 Key_OfficeHome = 0x010000e0,
1004 Key_Option = 0x010000e1,
1005 Key_Paste = 0x010000e2,
1006 Key_Phone = 0x010000e3,
1007 Key_Calendar = 0x010000e4,
1008 Key_Reply = 0x010000e5,
1009 Key_Reload = 0x010000e6,
1010 Key_RotateWindows = 0x010000e7,
1011 Key_RotationPB = 0x010000e8,
1012 Key_RotationKB = 0x010000e9,
1013 Key_Save = 0x010000ea,
1014 Key_Send = 0x010000eb,
1015 Key_Spell = 0x010000ec,
1016 Key_SplitScreen = 0x010000ed,
1017 Key_Support = 0x010000ee,
1018 Key_TaskPane = 0x010000ef,
1019 Key_Terminal = 0x010000f0,
1020 Key_Tools = 0x010000f1,
1021 Key_Travel = 0x010000f2,
1022 Key_Video = 0x010000f3,
1023 Key_Word = 0x010000f4,
1024 Key_Xfer = 0x010000f5,
1025 Key_ZoomIn = 0x010000f6,
1026 Key_ZoomOut = 0x010000f7,
1027 Key_Away = 0x010000f8,
1028 Key_Messenger = 0x010000f9,
1029 Key_WebCam = 0x010000fa,
1030 Key_MailForward = 0x010000fb,
1031 Key_Pictures = 0x010000fc,
1032 Key_Music = 0x010000fd,
1033 Key_Battery = 0x010000fe,
1034 Key_Bluetooth = 0x010000ff,
1035 Key_WLAN = 0x01000100,
1036 Key_UWB = 0x01000101,
1037 Key_AudioForward = 0x01000102, // Media fast-forward
1038 Key_AudioRepeat = 0x01000103, // Toggle repeat mode
1039 Key_AudioRandomPlay = 0x01000104, // Toggle shuffle mode
1040 Key_Subtitle = 0x01000105,
1041 Key_AudioCycleTrack = 0x01000106,
1042 Key_Time = 0x01000107,
1043 Key_Hibernate = 0x01000108,
1044 Key_View = 0x01000109,
1045 Key_TopMenu = 0x0100010a,
1046 Key_PowerDown = 0x0100010b,
1047 Key_Suspend = 0x0100010c,
1048 Key_ContrastAdjust = 0x0100010d,
1049
1050 Key_LaunchG = 0x0100010e,
1051 Key_LaunchH = 0x0100010f,
1052
1053 Key_TouchpadToggle = 0x01000110,
1054 Key_TouchpadOn = 0x01000111,
1055 Key_TouchpadOff = 0x01000112,
1056
1057 Key_MicMute = 0x01000113,
1058
1059 Key_Red = 0x01000114,
1060 Key_Green = 0x01000115,
1061 Key_Yellow = 0x01000116,
1062 Key_Blue = 0x01000117,
1063
1064 Key_ChannelUp = 0x01000118,
1065 Key_ChannelDown = 0x01000119,
1066
1067 Key_Guide = 0x0100011a,
1068 Key_Info = 0x0100011b,
1069 Key_Settings = 0x0100011c,
1070
1071 Key_MicVolumeUp = 0x0100011d,
1072 Key_MicVolumeDown = 0x0100011e,
1073
1074 Key_New = 0x01000120,
1075 Key_Open = 0x01000121,
1076 Key_Find = 0x01000122,
1077 Key_Undo = 0x01000123,
1078 Key_Redo = 0x01000124,
1079
1080 Key_MediaLast = 0x0100ffff,
1081
1082 // Keypad navigation keys
1083 Key_Select = 0x01010000,
1084 Key_Yes = 0x01010001,
1085 Key_No = 0x01010002,
1086
1087 // Newer misc keys
1088 Key_Cancel = 0x01020001,
1089 Key_Printer = 0x01020002,
1090 Key_Execute = 0x01020003,
1091 Key_Sleep = 0x01020004,
1092 Key_Play = 0x01020005, // Not the same as Key_MediaPlay
1093 Key_Zoom = 0x01020006,
1094 //Key_Jisho = 0x01020007, // IME: Dictionary key
1095 //Key_Oyayubi_Left = 0x01020008, // IME: Left Oyayubi key
1096 //Key_Oyayubi_Right = 0x01020009, // IME: Right Oyayubi key
1097 Key_Exit = 0x0102000a,
1098
1099 // Device keys
1100 Key_Context1 = 0x01100000,
1101 Key_Context2 = 0x01100001,
1102 Key_Context3 = 0x01100002,
1103 Key_Context4 = 0x01100003,
1104 Key_Call = 0x01100004, // set absolute state to in a call (do not toggle state)
1105 Key_Hangup = 0x01100005, // set absolute state to hang up (do not toggle state)
1106 Key_Flip = 0x01100006,
1107 Key_ToggleCallHangup = 0x01100007, // a toggle key for answering, or hanging up, based on current call state
1108 Key_VoiceDial = 0x01100008,
1109 Key_LastNumberRedial = 0x01100009,
1110
1111 Key_Camera = 0x01100020,
1112 Key_CameraFocus = 0x01100021,
1113
1114 Key_unknown = 0x01ffffff
1115 };
1116
1117 enum ArrowType {
1118 NoArrow,
1119 UpArrow,
1120 DownArrow,
1121 LeftArrow,
1122 RightArrow
1123 };
1124
1125 enum PenStyle { // pen style
1126 NoPen,
1127 SolidLine,
1128 DashLine,
1129 DotLine,
1130 DashDotLine,
1131 DashDotDotLine,
1132 CustomDashLine
1133#ifndef Q_MOC_RUN
1134 , MPenStyle = 0x0f
1135#endif
1136 };
1137
1138 enum PenCapStyle { // line endcap style
1139 FlatCap = 0x00,
1140 SquareCap = 0x10,
1141 RoundCap = 0x20,
1142 MPenCapStyle = 0x30
1143 };
1144
1145 enum PenJoinStyle { // line join style
1146 MiterJoin = 0x00,
1147 BevelJoin = 0x40,
1148 RoundJoin = 0x80,
1149 SvgMiterJoin = 0x100,
1150 MPenJoinStyle = 0x1c0
1151 };
1152
1153 enum BrushStyle { // brush style
1154 NoBrush,
1155 SolidPattern,
1156 Dense1Pattern,
1157 Dense2Pattern,
1158 Dense3Pattern,
1159 Dense4Pattern,
1160 Dense5Pattern,
1161 Dense6Pattern,
1162 Dense7Pattern,
1163 HorPattern,
1164 VerPattern,
1165 CrossPattern,
1166 BDiagPattern,
1167 FDiagPattern,
1168 DiagCrossPattern,
1169 LinearGradientPattern,
1170 RadialGradientPattern,
1171 ConicalGradientPattern,
1172 TexturePattern = 24
1173 };
1174
1175 enum SizeMode {
1176 AbsoluteSize,
1177 RelativeSize
1178 };
1179
1180 enum UIEffect {
1181 UI_General,
1182 UI_AnimateMenu,
1183 UI_FadeMenu,
1184 UI_AnimateCombo,
1185 UI_AnimateTooltip,
1186 UI_FadeTooltip,
1187 UI_AnimateToolBox
1188 };
1189
1190 enum CursorShape {
1191 ArrowCursor,
1192 UpArrowCursor,
1193 CrossCursor,
1194 WaitCursor,
1195 IBeamCursor,
1196 SizeVerCursor,
1197 SizeHorCursor,
1198 SizeBDiagCursor,
1199 SizeFDiagCursor,
1200 SizeAllCursor,
1201 BlankCursor,
1202 SplitVCursor,
1203 SplitHCursor,
1204 PointingHandCursor,
1205 ForbiddenCursor,
1206 WhatsThisCursor,
1207 BusyCursor,
1208 OpenHandCursor,
1209 ClosedHandCursor,
1210 DragCopyCursor,
1211 DragMoveCursor,
1212 DragLinkCursor,
1213 LastCursor = DragLinkCursor,
1214 BitmapCursor = 24,
1215 CustomCursor = 25
1216 };
1217
1218 enum TextFormat {
1219 PlainText,
1220 RichText,
1221 AutoText,
1222 MarkdownText
1223 };
1224
1225 enum AspectRatioMode {
1226 IgnoreAspectRatio,
1227 KeepAspectRatio,
1228 KeepAspectRatioByExpanding
1229 };
1230
1231 enum DockWidgetArea {
1232 LeftDockWidgetArea = 0x1,
1233 RightDockWidgetArea = 0x2,
1234 TopDockWidgetArea = 0x4,
1235 BottomDockWidgetArea = 0x8,
1236
1237 DockWidgetArea_Mask = 0xf,
1238 AllDockWidgetAreas = DockWidgetArea_Mask,
1239 NoDockWidgetArea = 0
1240 };
1241 enum DockWidgetAreaSizes {
1242 NDockWidgetAreas = 4
1243 };
1244
1245 Q_DECLARE_FLAGS(DockWidgetAreas, DockWidgetArea)
1246 Q_DECLARE_OPERATORS_FOR_FLAGS(DockWidgetAreas)
1247
1248 enum ToolBarArea {
1249 LeftToolBarArea = 0x1,
1250 RightToolBarArea = 0x2,
1251 TopToolBarArea = 0x4,
1252 BottomToolBarArea = 0x8,
1253
1254 ToolBarArea_Mask = 0xf,
1255 AllToolBarAreas = ToolBarArea_Mask,
1256 NoToolBarArea = 0
1257 };
1258
1259 enum ToolBarAreaSizes {
1260 NToolBarAreas = 4
1261 };
1262
1263 Q_DECLARE_FLAGS(ToolBarAreas, ToolBarArea)
1264 Q_DECLARE_OPERATORS_FOR_FLAGS(ToolBarAreas)
1265
1266 enum DateFormat {
1267 TextDate, // default Qt
1268 ISODate, // ISO 8601
1269 SystemLocaleDate, // deprecated
1270 LocalDate = SystemLocaleDate, // deprecated
1271 LocaleDate, // deprecated
1272 SystemLocaleShortDate,
1273 SystemLocaleLongDate,
1274 DefaultLocaleShortDate,
1275 DefaultLocaleLongDate,
1276 RFC2822Date, // RFC 2822 (+ 850 and 1036 during parsing)
1277 ISODateWithMs
1278 };
1279
1280 enum TimeSpec {
1281 LocalTime,
1282 UTC,
1283 OffsetFromUTC,
1284 TimeZone
1285 };
1286
1287 enum DayOfWeek {
1288 Monday = 1,
1289 Tuesday = 2,
1290 Wednesday = 3,
1291 Thursday = 4,
1292 Friday = 5,
1293 Saturday = 6,
1294 Sunday = 7
1295 };
1296
1297 enum ScrollBarPolicy {
1298 ScrollBarAsNeeded,
1299 ScrollBarAlwaysOff,
1300 ScrollBarAlwaysOn
1301 };
1302
1303 enum CaseSensitivity {
1304 CaseInsensitive,
1305 CaseSensitive
1306 };
1307
1308 enum Corner {
1309 TopLeftCorner = 0x00000,
1310 TopRightCorner = 0x00001,
1311 BottomLeftCorner = 0x00002,
1312 BottomRightCorner = 0x00003
1313 };
1314
1315 enum Edge {
1316 TopEdge = 0x00001,
1317 LeftEdge = 0x00002,
1318 RightEdge = 0x00004,
1319 BottomEdge = 0x00008
1320 };
1321
1322 Q_DECLARE_FLAGS(Edges, Edge)
1323 Q_DECLARE_OPERATORS_FOR_FLAGS(Edges)
1324
1325 enum ConnectionType {
1326 AutoConnection,
1327 DirectConnection,
1328 QueuedConnection,
1329 BlockingQueuedConnection,
1330 UniqueConnection = 0x80
1331 };
1332
1333 enum ShortcutContext {
1334 WidgetShortcut,
1335 WindowShortcut,
1336 ApplicationShortcut,
1337 WidgetWithChildrenShortcut
1338 };
1339
1340 enum FillRule {
1341 OddEvenFill,
1342 WindingFill
1343 };
1344
1345 enum MaskMode {
1346 MaskInColor,
1347 MaskOutColor
1348 };
1349
1350 enum ClipOperation {
1351 NoClip,
1352 ReplaceClip,
1353 IntersectClip
1354 };
1355
1356 // Shape = 0x1, BoundingRect = 0x2
1357 enum ItemSelectionMode {
1358 ContainsItemShape = 0x0,
1359 IntersectsItemShape = 0x1,
1360 ContainsItemBoundingRect = 0x2,
1361 IntersectsItemBoundingRect = 0x3
1362 };
1363
1364 enum ItemSelectionOperation {
1365 ReplaceSelection,
1366 AddToSelection
1367 };
1368
1369 enum TransformationMode {
1370 FastTransformation,
1371 SmoothTransformation
1372 };
1373
1374 enum Axis {
1375 XAxis,
1376 YAxis,
1377 ZAxis
1378 };
1379
1380 enum FocusReason {
1381 MouseFocusReason,
1382 TabFocusReason,
1383 BacktabFocusReason,
1384 ActiveWindowFocusReason,
1385 PopupFocusReason,
1386 ShortcutFocusReason,
1387 MenuBarFocusReason,
1388 OtherFocusReason,
1389 NoFocusReason
1390 };
1391
1392 enum ContextMenuPolicy {
1393 NoContextMenu,
1394 DefaultContextMenu,
1395 ActionsContextMenu,
1396 CustomContextMenu,
1397 PreventContextMenu
1398 };
1399
1400 enum InputMethodQuery {
1401 ImEnabled = 0x1,
1402 ImCursorRectangle = 0x2,
1403#if QT_DEPRECATED_SINCE(5, 14)
1404 ImMicroFocus Q_DECL_ENUMERATOR_DEPRECATED = 0x2,
1405#endif
1406 ImFont = 0x4,
1407 ImCursorPosition = 0x8,
1408 ImSurroundingText = 0x10,
1409 ImCurrentSelection = 0x20,
1410 ImMaximumTextLength = 0x40,
1411 ImAnchorPosition = 0x80,
1412 ImHints = 0x100,
1413 ImPreferredLanguage = 0x200,
1414
1415 ImAbsolutePosition = 0x400,
1416 ImTextBeforeCursor = 0x800,
1417 ImTextAfterCursor = 0x1000,
1418 ImEnterKeyType = 0x2000,
1419 ImAnchorRectangle = 0x4000,
1420 ImInputItemClipRectangle = 0x8000,
1421
1422 ImPlatformData = 0x80000000,
1423 ImQueryInput = ImCursorRectangle | ImCursorPosition | ImSurroundingText |
1424 ImCurrentSelection | ImAnchorRectangle | ImAnchorPosition,
1425 ImQueryAll = 0xffffffff
1426 };
1427 Q_DECLARE_FLAGS(InputMethodQueries, InputMethodQuery)
1428 Q_DECLARE_OPERATORS_FOR_FLAGS(InputMethodQueries)
1429
1430 enum InputMethodHint {
1431 ImhNone = 0x0,
1432
1433 ImhHiddenText = 0x1,
1434 ImhSensitiveData = 0x2,
1435 ImhNoAutoUppercase = 0x4,
1436 ImhPreferNumbers = 0x8,
1437 ImhPreferUppercase = 0x10,
1438 ImhPreferLowercase = 0x20,
1439 ImhNoPredictiveText = 0x40,
1440
1441 ImhDate = 0x80,
1442 ImhTime = 0x100,
1443
1444 ImhPreferLatin = 0x200,
1445
1446 ImhMultiLine = 0x400,
1447
1448 ImhNoEditMenu = 0x800,
1449 ImhNoTextHandles = 0x1000,
1450
1451 ImhDigitsOnly = 0x10000,
1452 ImhFormattedNumbersOnly = 0x20000,
1453 ImhUppercaseOnly = 0x40000,
1454 ImhLowercaseOnly = 0x80000,
1455 ImhDialableCharactersOnly = 0x100000,
1456 ImhEmailCharactersOnly = 0x200000,
1457 ImhUrlCharactersOnly = 0x400000,
1458 ImhLatinOnly = 0x800000,
1459
1460 ImhExclusiveInputMask = 0xffff0000
1461 };
1462 Q_DECLARE_FLAGS(InputMethodHints, InputMethodHint)
1463 Q_DECLARE_OPERATORS_FOR_FLAGS(InputMethodHints)
1464
1465 enum EnterKeyType {
1466 EnterKeyDefault,
1467 EnterKeyReturn,
1468 EnterKeyDone,
1469 EnterKeyGo,
1470 EnterKeySend,
1471 EnterKeySearch,
1472 EnterKeyNext,
1473 EnterKeyPrevious
1474 };
1475
1476 enum ToolButtonStyle {
1477 ToolButtonIconOnly,
1478 ToolButtonTextOnly,
1479 ToolButtonTextBesideIcon,
1480 ToolButtonTextUnderIcon,
1481 ToolButtonFollowStyle
1482 };
1483
1484 enum LayoutDirection {
1485 LeftToRight,
1486 RightToLeft,
1487 LayoutDirectionAuto
1488 };
1489
1490 enum AnchorPoint {
1491 AnchorLeft = 0,
1492 AnchorHorizontalCenter,
1493 AnchorRight,
1494 AnchorTop,
1495 AnchorVerticalCenter,
1496 AnchorBottom
1497 };
1498
1499 enum FindChildOption {
1500 FindDirectChildrenOnly = 0x0,
1501 FindChildrenRecursively = 0x1
1502 };
1503 Q_DECLARE_FLAGS(FindChildOptions, FindChildOption)
1504
1505 enum DropAction {
1506 CopyAction = 0x1,
1507 MoveAction = 0x2,
1508 LinkAction = 0x4,
1509 ActionMask = 0xff,
1510 TargetMoveAction = 0x8002,
1511 IgnoreAction = 0x0
1512 };
1513 Q_DECLARE_FLAGS(DropActions, DropAction)
1514 Q_DECLARE_OPERATORS_FOR_FLAGS(DropActions)
1515
1516 enum CheckState {
1517 Unchecked,
1518 PartiallyChecked,
1519 Checked
1520 };
1521
1522 enum ItemDataRole {
1523 DisplayRole = 0,
1524 DecorationRole = 1,
1525 EditRole = 2,
1526 ToolTipRole = 3,
1527 StatusTipRole = 4,
1528 WhatsThisRole = 5,
1529 // Metadata
1530 FontRole = 6,
1531 TextAlignmentRole = 7,
1532 BackgroundRole = 8,
1533 ForegroundRole = 9,
1534#if QT_DEPRECATED_SINCE(5, 13) // ### Qt 6: remove me
1535 BackgroundColorRole Q_DECL_ENUMERATOR_DEPRECATED = BackgroundRole,
1536 TextColorRole Q_DECL_ENUMERATOR_DEPRECATED = ForegroundRole,
1537#endif
1538 CheckStateRole = 10,
1539 // Accessibility
1540 AccessibleTextRole = 11,
1541 AccessibleDescriptionRole = 12,
1542 // More general purpose
1543 SizeHintRole = 13,
1544 InitialSortOrderRole = 14,
1545 // Internal UiLib roles. Start worrying when public roles go that high.
1546 DisplayPropertyRole = 27,
1547 DecorationPropertyRole = 28,
1548 ToolTipPropertyRole = 29,
1549 StatusTipPropertyRole = 30,
1550 WhatsThisPropertyRole = 31,
1551 // Reserved
1552 UserRole = 0x0100
1553 };
1554
1555 enum ItemFlag {
1556 NoItemFlags = 0,
1557 ItemIsSelectable = 1,
1558 ItemIsEditable = 2,
1559 ItemIsDragEnabled = 4,
1560 ItemIsDropEnabled = 8,
1561 ItemIsUserCheckable = 16,
1562 ItemIsEnabled = 32,
1563 ItemIsAutoTristate = 64,
1564#if QT_DEPRECATED_SINCE(5, 6)
1565 ItemIsTristate = ItemIsAutoTristate,
1566#endif
1567 ItemNeverHasChildren = 128,
1568 ItemIsUserTristate = 256
1569 };
1570 Q_DECLARE_FLAGS(ItemFlags, ItemFlag)
1571 Q_DECLARE_OPERATORS_FOR_FLAGS(ItemFlags)
1572
1573 enum MatchFlag {
1574 MatchExactly = 0,
1575 MatchContains = 1,
1576 MatchStartsWith = 2,
1577 MatchEndsWith = 3,
1578 MatchRegExp = 4,
1579 MatchWildcard = 5,
1580 MatchFixedString = 8,
1581 MatchCaseSensitive = 16,
1582 MatchWrap = 32,
1583 MatchRecursive = 64
1584 };
1585 Q_DECLARE_FLAGS(MatchFlags, MatchFlag)
1586 Q_DECLARE_OPERATORS_FOR_FLAGS(MatchFlags)
1587
1588 typedef void * HANDLE;
1589#if QT_DEPRECATED_SINCE(5, 0)
1590 typedef WindowFlags WFlags;
1591#endif
1592
1593 enum WindowModality {
1594 NonModal,
1595 WindowModal,
1596 ApplicationModal
1597 };
1598
1599 enum TextInteractionFlag {
1600 NoTextInteraction = 0,
1601 TextSelectableByMouse = 1,
1602 TextSelectableByKeyboard = 2,
1603 LinksAccessibleByMouse = 4,
1604 LinksAccessibleByKeyboard = 8,
1605 TextEditable = 16,
1606
1607 TextEditorInteraction = TextSelectableByMouse | TextSelectableByKeyboard | TextEditable,
1608 TextBrowserInteraction = TextSelectableByMouse | LinksAccessibleByMouse | LinksAccessibleByKeyboard
1609 };
1610 Q_DECLARE_FLAGS(TextInteractionFlags, TextInteractionFlag)
1611 Q_DECLARE_OPERATORS_FOR_FLAGS(TextInteractionFlags)
1612
1613 enum EventPriority {
1614 HighEventPriority = 1,
1615 NormalEventPriority = 0,
1616 LowEventPriority = -1
1617 };
1618
1619 enum SizeHint {
1620 MinimumSize,
1621 PreferredSize,
1622 MaximumSize,
1623 MinimumDescent,
1624 NSizeHints
1625 };
1626
1627 enum WindowFrameSection {
1628 NoSection,
1629 LeftSection, // For resize
1630 TopLeftSection,
1631 TopSection,
1632 TopRightSection,
1633 RightSection,
1634 BottomRightSection,
1635 BottomSection,
1636 BottomLeftSection,
1637 TitleBarArea // For move
1638 };
1639
1640#if defined(Q_COMPILER_CONSTEXPR)
1641 enum class Initialization {
1642 Uninitialized
1643 };
1644 static constexpr Q_DECL_UNUSED Initialization Uninitialized = Initialization::Uninitialized;
1645#else
1646 enum Initialization {
1647 Uninitialized
1648 };
1649#endif
1650
1651 enum CoordinateSystem {
1652 DeviceCoordinates,
1653 LogicalCoordinates
1654 };
1655
1656 enum TouchPointState {
1657 TouchPointPressed = 0x01,
1658 TouchPointMoved = 0x02,
1659 TouchPointStationary = 0x04,
1660 TouchPointReleased = 0x08
1661 };
1662 Q_DECLARE_FLAGS(TouchPointStates, TouchPointState)
1663 Q_DECLARE_OPERATORS_FOR_FLAGS(TouchPointStates)
1664
1665#ifndef QT_NO_GESTURES
1666 enum GestureState
1667 {
1668 NoGesture,
1669 GestureStarted = 1,
1670 GestureUpdated = 2,
1671 GestureFinished = 3,
1672 GestureCanceled = 4
1673 };
1674
1675 enum GestureType
1676 {
1677 TapGesture = 1,
1678 TapAndHoldGesture = 2,
1679 PanGesture = 3,
1680 PinchGesture = 4,
1681 SwipeGesture = 5,
1682
1683 CustomGesture = 0x0100,
1684
1685 LastGestureType = ~0u
1686 };
1687
1688 enum GestureFlag
1689 {
1690 DontStartGestureOnChildren = 0x01,
1691 ReceivePartialGestures = 0x02,
1692 IgnoredGesturesPropagateToParent = 0x04
1693 };
1694 Q_DECLARE_FLAGS(GestureFlags, GestureFlag)
1695 Q_DECLARE_OPERATORS_FOR_FLAGS(GestureFlags)
1696
1697 enum NativeGestureType
1698 {
1699 BeginNativeGesture,
1700 EndNativeGesture,
1701 PanNativeGesture,
1702 ZoomNativeGesture,
1703 SmartZoomNativeGesture,
1704 RotateNativeGesture,
1705 SwipeNativeGesture
1706 };
1707
1708#endif // QT_NO_GESTURES
1709
1710 enum NavigationMode
1711 {
1712 NavigationModeNone,
1713 NavigationModeKeypadTabOrder,
1714 NavigationModeKeypadDirectional,
1715 NavigationModeCursorAuto,
1716 NavigationModeCursorForceVisible
1717 };
1718
1719 enum CursorMoveStyle {
1720 LogicalMoveStyle,
1721 VisualMoveStyle
1722 };
1723
1724 enum TimerType {
1725 PreciseTimer,
1726 CoarseTimer,
1727 VeryCoarseTimer
1728 };
1729
1730 enum ScrollPhase {
1731 NoScrollPhase = 0,
1732 ScrollBegin,
1733 ScrollUpdate,
1734 ScrollEnd,
1735 ScrollMomentum
1736 };
1737
1738 enum MouseEventSource {
1739 MouseEventNotSynthesized,
1740 MouseEventSynthesizedBySystem,
1741 MouseEventSynthesizedByQt,
1742 MouseEventSynthesizedByApplication
1743 };
1744
1745 enum MouseEventFlag {
1746 MouseEventCreatedDoubleClick = 0x01,
1747 MouseEventFlagMask = 0xFF
1748 };
1749 Q_DECLARE_FLAGS(MouseEventFlags, MouseEventFlag)
1750 Q_DECLARE_OPERATORS_FOR_FLAGS(MouseEventFlags)
1751
1752 enum ChecksumType {
1753 ChecksumIso3309,
1754 ChecksumItuV41
1755 };
1756
1757#ifndef Q_QDOC
1758 // NOTE: Generally, do not add QT_Q_ENUM if a corresponding Q_Q_FLAG exists.
1759 QT_Q_ENUM(ScrollBarPolicy)
1760 QT_Q_ENUM(FocusPolicy)
1761 QT_Q_ENUM(ContextMenuPolicy)
1762 QT_Q_ENUM(ArrowType)
1763 QT_Q_ENUM(ToolButtonStyle)
1764 QT_Q_ENUM(PenStyle)
1765 QT_Q_ENUM(PenCapStyle)
1766 QT_Q_ENUM(PenJoinStyle)
1767 QT_Q_ENUM(BrushStyle)
1768 QT_Q_ENUM(FillRule)
1769 QT_Q_ENUM(MaskMode)
1770 QT_Q_ENUM(BGMode)
1771 QT_Q_ENUM(ClipOperation)
1772 QT_Q_ENUM(SizeMode)
1773 QT_Q_ENUM(Axis)
1774 QT_Q_ENUM(Corner)
1775 QT_Q_ENUM(Edge)
1776 QT_Q_ENUM(LayoutDirection)
1777 QT_Q_ENUM(SizeHint)
1778 QT_Q_ENUM(Orientation)
1779 QT_Q_ENUM(DropAction)
1780 QT_Q_FLAG(Alignment)
1781 QT_Q_ENUM(TextFlag)
1782 QT_Q_FLAG(Orientations)
1783 QT_Q_FLAG(SplitBehavior)
1784 QT_Q_FLAG(DropActions)
1785 QT_Q_FLAG(Edges)
1786 QT_Q_FLAG(DockWidgetAreas)
1787 QT_Q_FLAG(ToolBarAreas)
1788 QT_Q_ENUM(DockWidgetArea)
1789 QT_Q_ENUM(ToolBarArea)
1790 QT_Q_ENUM(TextFormat)
1791 QT_Q_ENUM(TextElideMode)
1792 QT_Q_ENUM(DateFormat)
1793 QT_Q_ENUM(TimeSpec)
1794 QT_Q_ENUM(DayOfWeek)
1795 QT_Q_ENUM(CursorShape)
1796 QT_Q_ENUM(GlobalColor)
1797 QT_Q_ENUM(AspectRatioMode)
1798 QT_Q_ENUM(TransformationMode)
1799 QT_Q_FLAG(ImageConversionFlags)
1800 QT_Q_ENUM(Key)
1801 QT_Q_ENUM(ShortcutContext)
1802 QT_Q_ENUM(TextInteractionFlag)
1803 QT_Q_FLAG(TextInteractionFlags)
1804 QT_Q_ENUM(ItemSelectionMode)
1805 QT_Q_ENUM(ItemSelectionOperation)
1806 QT_Q_FLAG(ItemFlags)
1807 QT_Q_ENUM(CheckState)
1808 QT_Q_ENUM(ItemDataRole)
1809 QT_Q_ENUM(SortOrder)
1810 QT_Q_ENUM(CaseSensitivity)
1811 QT_Q_FLAG(MatchFlags)
1812 QT_Q_FLAG(KeyboardModifiers)
1813 QT_Q_FLAG(MouseButtons)
1814 QT_Q_ENUM(WindowType)
1815 QT_Q_ENUM(WindowState)
1816 QT_Q_ENUM(WindowModality)
1817 QT_Q_ENUM(WidgetAttribute)
1818 QT_Q_ENUM(ApplicationAttribute)
1819 QT_Q_FLAG(WindowFlags)
1820 QT_Q_FLAG(WindowStates)
1821 QT_Q_ENUM(FocusReason)
1822 QT_Q_ENUM(InputMethodHint)
1823 QT_Q_ENUM(InputMethodQuery)
1824 QT_Q_FLAG(InputMethodHints)
1825 QT_Q_ENUM(EnterKeyType)
1826 QT_Q_FLAG(InputMethodQueries)
1827 QT_Q_FLAG(TouchPointStates)
1828 QT_Q_ENUM(ScreenOrientation)
1829 QT_Q_FLAG(ScreenOrientations)
1830 QT_Q_ENUM(ConnectionType)
1831 QT_Q_ENUM(ApplicationState)
1832#ifndef QT_NO_GESTURES
1833 QT_Q_ENUM(GestureState)
1834 QT_Q_ENUM(GestureType)
1835 QT_Q_ENUM(NativeGestureType)
1836#endif
1837 QT_Q_ENUM(CursorMoveStyle)
1838 QT_Q_ENUM(TimerType)
1839 QT_Q_ENUM(ScrollPhase)
1840 QT_Q_ENUM(MouseEventSource)
1841 QT_Q_FLAG(MouseEventFlag)
1842 QT_Q_ENUM(ChecksumType)
1843 QT_Q_ENUM(TabFocusBehavior)
1844#endif // Q_DOC
1845
1846}
1847#ifdef Q_MOC_RUN
1848 ;
1849#endif
1850
1851#undef QT_Q_ENUM
1852#undef QT_Q_FLAG
1853
1854typedef bool (*qInternalCallback)(void **);
1855
1856class Q_CORE_EXPORT QInternal {
1857public:
1858 enum PaintDeviceFlags {
1859 UnknownDevice = 0x00,
1860 Widget = 0x01,
1861 Pixmap = 0x02,
1862 Image = 0x03,
1863 Printer = 0x04,
1864 Picture = 0x05,
1865 Pbuffer = 0x06, // GL pbuffer
1866 FramebufferObject = 0x07, // GL framebuffer object
1867 CustomRaster = 0x08,
1868 MacQuartz = 0x09,
1869 PaintBuffer = 0x0a,
1870 OpenGL = 0x0b
1871 };
1872 enum RelayoutType {
1873 RelayoutNormal,
1874 RelayoutDragging,
1875 RelayoutDropped
1876 };
1877
1878 enum DockPosition {
1879 LeftDock,
1880 RightDock,
1881 TopDock,
1882 BottomDock,
1883 DockCount
1884 };
1885
1886 enum Callback {
1887 EventNotifyCallback,
1888 LastCallback
1889 };
1890 static bool registerCallback(Callback, qInternalCallback);
1891 static bool unregisterCallback(Callback, qInternalCallback);
1892 static bool activateCallbacks(Callback, void **);
1893};
1894
1895QT_END_NAMESPACE
1896
1897#endif // QNAMESPACE_H
1898