VirtualBox

source: vbox/trunk/src/VBox/Frontends/VirtualBox/include/VBoxDefs.h@ 20242

Last change on this file since 20242 was 20242, checked in by vboxsync, 16 years ago

View HW Accel: OpenGL framebuffer

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.1 KB
Line 
1/** @file
2 *
3 * VBox frontends: Qt GUI ("VirtualBox"):
4 * Header with common definitions and global functions
5 */
6
7/*
8 * Copyright (C) 2006-2008 Sun Microsystems, Inc.
9 *
10 * This file is part of VirtualBox Open Source Edition (OSE), as
11 * available from http://www.virtualbox.org. This file is free software;
12 * you can redistribute it and/or modify it under the terms of the GNU
13 * General Public License (GPL) as published by the Free Software
14 * Foundation, in version 2 as it comes in the "COPYING" file of the
15 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
16 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
17 *
18 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
19 * Clara, CA 95054 USA or visit http://www.sun.com if you need
20 * additional information or have any questions.
21 */
22
23#ifndef __VBoxDefs_h__
24#define __VBoxDefs_h__
25
26/* Qt includes */
27#include <QEvent>
28#include <QUuid>
29
30#define LOG_GROUP LOG_GROUP_GUI
31#include <VBox/log.h>
32#include <iprt/assert.h>
33#include <iprt/alloc.h>
34
35#ifdef DEBUG
36
37#define AssertWrapperOk(w) \
38 AssertMsg (w.isOk(), (#w " is not okay (RC=0x%08X)", w.lastRC()))
39#define AssertWrapperOkMsg(w, m) \
40 AssertMsg (w.isOk(), (#w ": " m " (RC=0x%08X)", w.lastRC()))
41
42#else /* #ifdef DEBUG */
43
44#define AssertWrapperOk(w) do {} while (0)
45#define AssertWrapperOkMsg(w, m) do {} while (0)
46
47#endif /* #ifdef DEBUG */
48
49#ifndef SIZEOF_ARRAY
50#define SIZEOF_ARRAY(a) (sizeof(a) / sizeof(a[0]))
51#endif
52
53#if defined (VBOX_GUI_USE_QIMAGE) || \
54 defined (VBOX_GUI_USE_SDL) || \
55 defined (VBOX_GUI_USE_DDRAW)
56 #if !defined (VBOX_GUI_USE_EXT_FRAMEBUFFER)
57 #define VBOX_GUI_USE_EXT_FRAMEBUFFER
58 #endif
59#else
60 #if defined (VBOX_GUI_USE_EXT_FRAMEBUFFER)
61 #undef VBOX_GUI_USE_EXT_FRAMEBUFFER
62 #endif
63#endif
64
65/** Null UUID constant to be used as a default value for reference parameters */
66extern const QUuid QUuid_null;
67
68/** Common namespace for all enums */
69struct VBoxDefs
70{
71 /** Media type. */
72 enum MediaType
73 {
74 MediaType_Invalid,
75 MediaType_HardDisk,
76 MediaType_DVD,
77 MediaType_Floppy,
78 MediaType_All
79 };
80
81 /** VM display rendering mode. */
82 enum RenderMode
83 {
84 InvalidRenderMode, TimerMode, QImageMode, SDLMode, DDRAWMode, Quartz2DMode
85#ifdef VBOX_WITH_VIDEOHWACCEL
86 , QGLMode
87#endif
88 };
89
90 /** Additional Qt event types. */
91 enum
92 {
93 AsyncEventType = QEvent::User + 100,
94 ResizeEventType,
95 RepaintEventType,
96 SetRegionEventType,
97 MouseCapabilityEventType,
98 MousePointerChangeEventType,
99 MachineStateChangeEventType,
100 AdditionsStateChangeEventType,
101 MediaDriveChangeEventType,
102 MachineDataChangeEventType,
103 MachineRegisteredEventType,
104 SessionStateChangeEventType,
105 SnapshotEventType,
106 CanShowRegDlgEventType,
107 CanShowUpdDlgEventType,
108 NetworkAdapterChangeEventType,
109 USBCtlStateChangeEventType,
110 USBDeviceStateChangeEventType,
111 SharedFolderChangeEventType,
112 RuntimeErrorEventType,
113 ModifierKeyChangeEventType,
114 MediaEnumEventType,
115#if defined (Q_WS_WIN)
116 ShellExecuteEventType,
117#endif
118 ActivateMenuEventType,
119#if defined (Q_WS_MAC)
120 ShowWindowEventType,
121#endif
122 ChangeGUILanguageEventType,
123#if defined (VBOX_GUI_WITH_SYSTRAY)
124 CanShowTrayIconEventType,
125 ShowTrayIconEventType,
126 TrayIconChangeEventType,
127 MainWindowCountChangeEventType,
128#endif
129 AddVDMUrlsEventType,
130 ChangeDockIconUpdateEventType
131#ifdef VBOX_WITH_VIDEOHWACCEL
132 ,
133 VHWACommandProcessType
134#endif
135 };
136
137 /** Size formatting types. */
138 enum FormatSize
139 {
140 FormatSize_Round,
141 FormatSize_RoundDown,
142 FormatSize_RoundUp
143 };
144
145 static const char* GUI_LastWindowPosition;
146 static const char* GUI_LastWindowPosition_Max;
147 static const char* GUI_Fullscreen;
148 static const char* GUI_Seamless;
149 static const char* GUI_AutoresizeGuest;
150 static const char* GUI_FirstRun;
151 static const char* GUI_SaveMountedAtRuntime;
152 static const char* GUI_LastCloseAction;
153 static const char* GUI_SuppressMessages;
154 static const char* GUI_PermanentSharedFoldersAtRuntime;
155#ifdef Q_WS_X11
156 static const char* GUI_LicenseKey;
157#endif
158 static const char* GUI_RegistrationDlgWinID;
159 static const char* GUI_RegistrationData;
160 static const char* GUI_UpdateDlgWinID;
161 static const char* GUI_UpdateDate;
162 static const char* GUI_UpdateCheckCount;
163 static const char* GUI_LastVMSelected;
164 static const char* GUI_InfoDlgState;
165 static const char* GUI_RenderMode;
166#ifdef VBOX_GUI_WITH_SYSTRAY
167 static const char* GUI_TrayIconWinID;
168 static const char* GUI_MainWindowCount;
169#endif
170#ifdef Q_WS_MAC
171 static const char* GUI_RealtimeDockIconUpdateEnabled;
172#endif /* Q_WS_MAC */
173 static const char* GUI_PassCAD;
174 static const char* GUI_Export_StorageType;
175 static const char* GUI_Export_Username;
176 static const char* GUI_Export_Hostname;
177 static const char* GUI_Export_Bucket;
178};
179
180#define MAC_LEOPARD_STYLE defined(Q_WS_MAC) && (QT_VERSION >= 0x040300)
181
182#endif // __VBoxDefs_h__
183
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette