VirtualBox

Changeset 71665 in vbox


Ignore:
Timestamp:
Apr 4, 2018 3:46:55 PM (6 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9049: VBoxGlobal library fixed for macOS.

Location:
trunk/src/VBox/Frontends/VirtualBox
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk

    r71664 r71665  
    183183VBoxGlobal_DEFS.win     = VBOX_WS_WIN
    184184VBoxGlobal_DEFS.debug   = VBOX_CHECK_STATE # QT_FATAL_ASSERT
     185VBoxGlobal_DEFS.darwin  += VBOX_DARWIN_USE_NATIVE_CONTROLS
    185186#VBoxGlobal_DEFS.win     += UNICODE QT_DLL
    186187VBoxGlobal_DEFS         += \
     
    325326if defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_GUI_USE_QGL)
    326327 VirtualBox_LDFLAGS.darwin += -framework OpenGL
     328endif
     329
     330
     331#
     332# VirtualBox - GUI Global Shared Library.
     333# Compiling/linking flags.
     334#
     335
     336## @todo we're using a number of deprecated APIs, please fix and remove these!
     337ifdef VBOX_WITH_NEW_XCODE
     338 VBoxGlobal_CXXFLAGS.darwin    += -Wno-error=deprecated-declarations
     339 VBoxGlobal_OBJCFLAGS.darwin   += -Wno-error=deprecated-declarations
     340 VBoxGlobal_OBJCXXFLAGS.darwin += -Wno-error=deprecated-declarations
     341else
     342 VBoxGlobal_CXXFLAGS.darwin    += -Wno-deprecated-declarations
     343 VBoxGlobal_OBJCFLAGS.darwin   += -Wno-deprecated-declarations
     344 VBoxGlobal_OBJCXXFLAGS.darwin += -Wno-deprecated-declarations
     345endif
     346
     347VBoxGlobal_LDFLAGS.darwin = \
     348        -framework AppKit -framework Carbon -framework IOKit
     349
     350if defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_GUI_USE_QGL)
     351 VBoxGlobal_LDFLAGS.darwin += -framework OpenGL
    327352endif
    328353
     
    681706        src/VBoxLicenseViewer.h \
    682707        src/extensions/QIArrowButtonPress.h \
     708        src/extensions/QIArrowButtonSwitch.h \
    683709        src/extensions/QIArrowSplitter.h \
    684710        src/extensions/QIDialog.h \
     
    739765        src/net/UIUpdateManager.h
    740766endif
     767
     768VBoxGlobal_QT_MOCHDRS.darwin += \
     769        src/platform/darwin/UICocoaSpecialControls.h
    741770
    742771
     
    10681097
    10691098VirtualBox_SOURCES.darwin += \
    1070         src/platform/darwin/CocoaEventHelper.mm \
    1071         src/platform/darwin/DarwinKeyboard.cpp \
    1072         src/platform/darwin/UICocoaApplication.mm \
    1073         src/platform/darwin/UICocoaSpecialControls.mm \
    10741099        src/platform/darwin/UIDesktopServices_darwin.cpp \
    1075         src/platform/darwin/UIDesktopServices_darwin_cocoa.mm \
    1076         src/platform/darwin/VBoxUtils-darwin-cocoa.mm \
    1077         src/platform/darwin/VBoxUtils-darwin.cpp
     1100        src/platform/darwin/UIDesktopServices_darwin_cocoa.mm
    10781101
    10791102ifdef VBOX_WITH_ICHAT_THEATER
     
    11841207 VirtualBox_SOURCES.win += \
    11851208        src/platform/win/VBoxUtils-win.cpp
     1209
     1210 VirtualBox_SOURCES.darwin += \
     1211        src/platform/darwin/CocoaEventHelper.mm \
     1212        src/platform/darwin/DarwinKeyboard.cpp \
     1213        src/platform/darwin/UICocoaApplication.mm \
     1214        src/platform/darwin/UICocoaSpecialControls.mm \
     1215        src/platform/darwin/VBoxUtils-darwin-cocoa.mm \
     1216        src/platform/darwin/VBoxUtils-darwin.cpp
     1217
    11861218endif
    11871219
     
    12741306        src/platform/win/VBoxUtils-win.cpp
    12751307
     1308VBoxGlobal_SOURCES.darwin += \
     1309        src/platform/darwin/CocoaEventHelper.mm \
     1310        src/platform/darwin/DarwinKeyboard.cpp \
     1311        src/platform/darwin/UICocoaApplication.mm \
     1312        src/platform/darwin/UICocoaSpecialControls.mm \
     1313        src/platform/darwin/VBoxUtils-darwin-cocoa.mm \
     1314        src/platform/darwin/VBoxUtils-darwin.cpp
     1315
    12761316
    12771317#
     
    16401680 tstDarwinKeyboard_TEMPLATE = VBOXR3TSTEXE
    16411681 tstDarwinKeyboard_DEFS.x86 = USE_HID_FOR_MODIFIERS
    1642  tstDarwinKeyboard_INCS = include
     1682 tstDarwinKeyboard_INCS = \
     1683        $(VBOX_GUI_INC_DIRS)
    16431684 tstDarwinKeyboard_SOURCES = \
    16441685        src/platform/darwin/tstDarwinKeyboard.cpp \
     
    16491690 tstDarwinKeyboard_LIBS = \
    16501691        $(LIB_RUNTIME)
     1692 ifdef VBOX_GUI_WITH_SHARED_LIBRARY
     1693  tstDarwinKeyboard_LIBS += $(PATH_STAGE_DLL)/VBoxGlobal$(VBOX_SUFF_DLL)
     1694 endif
    16511695endif
    16521696
  • trunk/src/VBox/Frontends/VirtualBox/src/platform/darwin/CocoaEventHelper.h

    r71655 r71665  
    1818#ifndef ___CocoaEventHelper_h
    1919#define ___CocoaEventHelper_h
     20
     21/* GUI includes: */
     22#include "UILibraryDefs.h"
    2023
    2124/* Other VBox includes: */
     
    4144
    4245/** Posts stripped mouse event based on passed @a pEvent. */
    43 void darwinPostStrippedMouseEvent(ConstNativeNSEventRef pEvent);
     46SHARED_LIBRARY_STUFF void darwinPostStrippedMouseEvent(ConstNativeNSEventRef pEvent);
    4447
    4548RT_C_DECLS_END
  • trunk/src/VBox/Frontends/VirtualBox/src/platform/darwin/DarwinKeyboard.h

    r71659 r71665  
    1818#ifndef ___DarwinKeyboard_h___
    1919#define ___DarwinKeyboard_h___
     20
     21/* GUI includes: */
     22#include "UILibraryDefs.h"
    2023
    2124/* Other VBox includes: */
     
    4144
    4245/** Converts a darwin (virtual) key code to a set 1 scan code. */
    43 unsigned DarwinKeycodeToSet1Scancode(unsigned uKeyCode);
     46SHARED_LIBRARY_STUFF unsigned DarwinKeycodeToSet1Scancode(unsigned uKeyCode);
    4447/** Adjusts the modifier mask left / right using the current keyboard state. */
    45 UInt32   DarwinAdjustModifierMask(UInt32 fModifiers, const void *pvCocoaEvent);
     48SHARED_LIBRARY_STUFF UInt32   DarwinAdjustModifierMask(UInt32 fModifiers, const void *pvCocoaEvent);
    4649/** Converts a single modifier to a set 1 scan code. */
    47 unsigned DarwinModifierMaskToSet1Scancode(UInt32 fModifiers);
     50SHARED_LIBRARY_STUFF unsigned DarwinModifierMaskToSet1Scancode(UInt32 fModifiers);
    4851/** Converts a single modifier to a darwin keycode. */
    49 unsigned DarwinModifierMaskToDarwinKeycode(UInt32 fModifiers);
     52SHARED_LIBRARY_STUFF unsigned DarwinModifierMaskToDarwinKeycode(UInt32 fModifiers);
    5053/** Converts a darwin keycode to a modifier mask. */
    51 UInt32   DarwinKeyCodeToDarwinModifierMask(unsigned uKeyCode);
     54SHARED_LIBRARY_STUFF UInt32   DarwinKeyCodeToDarwinModifierMask(unsigned uKeyCode);
    5255
    5356/** Disables or enabled global hot keys. */
    54 void     DarwinDisableGlobalHotKeys(bool fDisable);
     57SHARED_LIBRARY_STUFF void     DarwinDisableGlobalHotKeys(bool fDisable);
    5558
    5659/** Start grabbing keyboard events.
    5760  * @param   fGlobalHotkeys  Brings whether to disable global hotkeys or not. */
    58 void     DarwinGrabKeyboard(bool fGlobalHotkeys);
     61SHARED_LIBRARY_STUFF void     DarwinGrabKeyboard(bool fGlobalHotkeys);
    5962/** Reverses the actions taken by DarwinGrabKeyboard. */
    60 void     DarwinReleaseKeyboard();
     63SHARED_LIBRARY_STUFF void     DarwinReleaseKeyboard();
    6164
    6265/** Saves the states of leds for all HID devices attached to the system and return it. */
    63 void    *DarwinHidDevicesKeepLedsState();
     66SHARED_LIBRARY_STUFF void    *DarwinHidDevicesKeepLedsState();
    6467
    6568/** Applies LEDs @a pState release its resources afterwards. */
    66 int      DarwinHidDevicesApplyAndReleaseLedsState(void *pState);
     69SHARED_LIBRARY_STUFF int      DarwinHidDevicesApplyAndReleaseLedsState(void *pState);
    6770/** Set states for host keyboard LEDs.
    6871  * @note This function will set led values for all
     
    7275  * @param fCapsLockOn    Turns on CapsLock led if TRUE, off otherwise
    7376  * @param fScrollLockOn  Turns on ScrollLock led if TRUE, off otherwise */
    74 void     DarwinHidDevicesBroadcastLeds(void *pState, bool fNumLockOn, bool fCapsLockOn, bool fScrollLockOn);
     77SHARED_LIBRARY_STUFF void     DarwinHidDevicesBroadcastLeds(void *pState, bool fNumLockOn, bool fCapsLockOn, bool fScrollLockOn);
    7578
    7679RT_C_DECLS_END
  • trunk/src/VBox/Frontends/VirtualBox/src/platform/darwin/UICocoaApplication.h

    r71661 r71665  
    2525#include "VBoxCocoaHelper.h"
    2626#include "VBoxUtils-darwin.h"
     27#include "UILibraryDefs.h"
    2728
    2829/* Forward declarations: */
     
    5051
    5152/** Singleton prototype for our private NSApplication object. */
    52 class UICocoaApplication
     53class SHARED_LIBRARY_STUFF UICocoaApplication
    5354{
    5455public:
  • trunk/src/VBox/Frontends/VirtualBox/src/platform/darwin/UICocoaSpecialControls.h

    r71577 r71665  
    2525/* GUI includes: */
    2626#include "VBoxCocoaHelper.h"
     27#include "UILibraryDefs.h"
    2728
    2829/* Add typedefs for Cocoa types: */
     
    3132/** QMacCocoaViewContainer extension,
    3233  * used as cocoa button container. */
    33 class UICocoaButton : public QMacCocoaViewContainer
     34class SHARED_LIBRARY_STUFF UICocoaButton : public QMacCocoaViewContainer
    3435{
    3536    Q_OBJECT
  • trunk/src/VBox/Frontends/VirtualBox/src/platform/darwin/VBoxUtils-darwin.h

    r71662 r71665  
    2121/* Qt includes: */
    2222#include <QRect>
     23
     24/* GUI includes: */
     25#include "UILibraryDefs.h"
    2326
    2427/* Other VBox includes: */
     
    7174NativeNSViewRef darwinToNativeViewImpl(NativeNSWindowRef pWindow);
    7275NativeNSButtonRef darwinNativeButtonOfWindowImpl(NativeNSWindowRef pWindow, StandardWindowButtonType enmButtonType);
    73 NativeNSStringRef darwinToNativeString(const char* pcszString);
     76SHARED_LIBRARY_STUFF NativeNSStringRef darwinToNativeString(const char* pcszString);
    7477QString darwinFromNativeString(NativeNSStringRef pString);
    7578
     
    8285void darwinSetShowsResizeIndicatorImpl(NativeNSWindowRef pWindow, bool fEnabled);
    8386void darwinSetHidesAllTitleButtonsImpl(NativeNSWindowRef pWindow);
    84 void darwinLabelWindow(NativeNSWindowRef pWindow, NativeNSImageRef pImage, bool fCenter);
     87SHARED_LIBRARY_STUFF void darwinLabelWindow(NativeNSWindowRef pWindow, NativeNSImageRef pImage, bool fCenter);
    8588void darwinSetShowsWindowTransparentImpl(NativeNSWindowRef pWindow, bool fEnabled);
    86 void darwinSetWindowHasShadow(NativeNSWindowRef pWindow, bool fEnabled);
    87 void darwinSetMouseCoalescingEnabled(bool fEnabled);
     89SHARED_LIBRARY_STUFF void darwinSetWindowHasShadow(NativeNSWindowRef pWindow, bool fEnabled);
     90SHARED_LIBRARY_STUFF void darwinSetMouseCoalescingEnabled(bool fEnabled);
    8891
    8992void darwintest(NativeNSWindowRef pWindow);
     
    100103int  darwinWindowToolBarHeight(NativeNSWindowRef pWindow);
    101104bool darwinIsToolbarVisible(NativeNSWindowRef pWindow);
    102 bool darwinIsWindowMaximized(NativeNSWindowRef pWindow);
     105SHARED_LIBRARY_STUFF bool darwinIsWindowMaximized(NativeNSWindowRef pWindow);
    103106void darwinMinaturizeWindow(NativeNSWindowRef pWindow);
    104 void darwinEnableFullscreenSupport(NativeNSWindowRef pWindow);
    105 void darwinEnableTransienceSupport(NativeNSWindowRef pWindow);
    106 void darwinToggleFullscreenMode(NativeNSWindowRef pWindow);
    107 void darwinToggleWindowZoom(NativeNSWindowRef pWindow);
    108 bool darwinIsInFullscreenMode(NativeNSWindowRef pWindow);
    109 bool darwinIsOnActiveSpace(NativeNSWindowRef pWindow);
    110 bool darwinScreensHaveSeparateSpaces();
     107SHARED_LIBRARY_STUFF void darwinEnableFullscreenSupport(NativeNSWindowRef pWindow);
     108SHARED_LIBRARY_STUFF void darwinEnableTransienceSupport(NativeNSWindowRef pWindow);
     109SHARED_LIBRARY_STUFF void darwinToggleFullscreenMode(NativeNSWindowRef pWindow);
     110SHARED_LIBRARY_STUFF void darwinToggleWindowZoom(NativeNSWindowRef pWindow);
     111SHARED_LIBRARY_STUFF bool darwinIsInFullscreenMode(NativeNSWindowRef pWindow);
     112SHARED_LIBRARY_STUFF bool darwinIsOnActiveSpace(NativeNSWindowRef pWindow);
     113SHARED_LIBRARY_STUFF bool darwinScreensHaveSeparateSpaces();
    111114
    112115bool darwinOpenFile(NativeNSStringRef pstrFile);
    113116
    114 float darwinSmallFontSize();
    115 bool darwinSetFrontMostProcess();
    116 uint64_t darwinGetCurrentProcessId();
     117SHARED_LIBRARY_STUFF float darwinSmallFontSize();
     118SHARED_LIBRARY_STUFF bool darwinSetFrontMostProcess();
     119SHARED_LIBRARY_STUFF uint64_t darwinGetCurrentProcessId();
    117120
    118121void darwinInstallResizeDelegate(NativeNSWindowRef pWindow);
     
    123126void darwinCreateContextMenuEvent(void *pvWin, int x, int y);
    124127
    125 bool darwinIsApplicationCommand(ConstNativeNSEventRef pEvent);
     128SHARED_LIBRARY_STUFF bool darwinIsApplicationCommand(ConstNativeNSEventRef pEvent);
    126129
    127130void darwinRetranslateAppMenu();
     
    129132void darwinSendMouseGrabEvents(QWidget *pWidget, int type, int button, int buttons, int x, int y);
    130133
    131 QString darwinResolveAlias(const QString &strFile);
     134SHARED_LIBRARY_STUFF QString darwinResolveAlias(const QString &strFile);
    132135
    133136RT_C_DECLS_END
     
    204207 * @param   pWidget      Pointer to the QWidget
    205208 */
    206 CGImageRef darwinToCGImageRef(const QImage *pImage);
    207 CGImageRef darwinToCGImageRef(const QPixmap *pPixmap);
    208 CGImageRef darwinToCGImageRef(const char *pczSource);
    209 
    210 NativeNSImageRef darwinToNSImageRef(const CGImageRef pImage);
    211 NativeNSImageRef darwinToNSImageRef(const QImage *pImage);
    212 NativeNSImageRef darwinToNSImageRef(const QPixmap *pPixmap);
    213 NativeNSImageRef darwinToNSImageRef(const char *pczSource);
     209SHARED_LIBRARY_STUFF CGImageRef darwinToCGImageRef(const QImage *pImage);
     210SHARED_LIBRARY_STUFF CGImageRef darwinToCGImageRef(const QPixmap *pPixmap);
     211SHARED_LIBRARY_STUFF CGImageRef darwinToCGImageRef(const char *pczSource);
     212
     213SHARED_LIBRARY_STUFF NativeNSImageRef darwinToNSImageRef(const CGImageRef pImage);
     214SHARED_LIBRARY_STUFF NativeNSImageRef darwinToNSImageRef(const QImage *pImage);
     215SHARED_LIBRARY_STUFF NativeNSImageRef darwinToNSImageRef(const QPixmap *pPixmap);
     216SHARED_LIBRARY_STUFF NativeNSImageRef darwinToNSImageRef(const char *pczSource);
    214217
    215218#include <QEvent>
     
    254257 ********************************************************************************/
    255258void darwinSetShowsToolbarButton(QToolBar *aToolBar, bool fEnabled);
    256 void darwinLabelWindow(QWidget *pWidget, QPixmap *pPixmap, bool fCenter);
     259SHARED_LIBRARY_STUFF void darwinLabelWindow(QWidget *pWidget, QPixmap *pPixmap, bool fCenter);
    257260void darwinSetShowsResizeIndicator(QWidget *pWidget, bool fEnabled);
    258 void darwinSetHidesAllTitleButtons(QWidget *pWidget);
     261SHARED_LIBRARY_STUFF void darwinSetHidesAllTitleButtons(QWidget *pWidget);
    259262void darwinSetShowsWindowTransparent(QWidget *pWidget, bool fEnabled);
    260 void darwinSetWindowHasShadow(QWidget *pWidget, bool fEnabled);
    261 void darwinDisableIconsInMenus(void);
     263SHARED_LIBRARY_STUFF void darwinSetWindowHasShadow(QWidget *pWidget, bool fEnabled);
     264SHARED_LIBRARY_STUFF void darwinDisableIconsInMenus(void);
    262265
    263266void darwinTest(QWidget *pWidget1, QWidget *pWidget2, int h);
     
    268271 *
    269272 ********************************************************************************/
    270 void darwinWindowAnimateResize(QWidget *pWidget, const QRect &aTarget);
     273SHARED_LIBRARY_STUFF void darwinWindowAnimateResize(QWidget *pWidget, const QRect &aTarget);
    271274void darwinWindowAnimateResizeNew(QWidget *pWidget, int h, bool fAnimate);
    272275void darwinWindowInvalidateShape(QWidget *pWidget);
     
    274277int  darwinWindowToolBarHeight(QWidget *pWidget);
    275278bool darwinIsToolbarVisible(QToolBar *pToolBar);
    276 bool darwinIsWindowMaximized(QWidget *pWidget);
     279SHARED_LIBRARY_STUFF bool darwinIsWindowMaximized(QWidget *pWidget);
    277280void darwinMinaturizeWindow(QWidget *pWidget);
    278 void darwinEnableFullscreenSupport(QWidget *pWidget);
    279 void darwinEnableTransienceSupport(QWidget *pWidget);
    280 void darwinToggleFullscreenMode(QWidget *pWidget);
    281 void darwinToggleWindowZoom(QWidget *pWidget);
    282 bool darwinIsInFullscreenMode(QWidget *pWidget);
    283 bool darwinIsOnActiveSpace(QWidget *pWidget);
     281SHARED_LIBRARY_STUFF void darwinEnableFullscreenSupport(QWidget *pWidget);
     282SHARED_LIBRARY_STUFF void darwinEnableTransienceSupport(QWidget *pWidget);
     283SHARED_LIBRARY_STUFF void darwinToggleFullscreenMode(QWidget *pWidget);
     284SHARED_LIBRARY_STUFF void darwinToggleWindowZoom(QWidget *pWidget);
     285SHARED_LIBRARY_STUFF bool darwinIsInFullscreenMode(QWidget *pWidget);
     286SHARED_LIBRARY_STUFF bool darwinIsOnActiveSpace(QWidget *pWidget);
    284287bool darwinOpenFile(const QString &strFile);
    285288
     
    290293void darwinUninstallResizeDelegate(QWidget *pWidget);
    291294
    292 void darwinRegisterForUnifiedToolbarContextMenuEvents(QMainWindow *pWindow);
    293 void darwinUnregisterForUnifiedToolbarContextMenuEvents(QMainWindow *pWindow);
    294 
    295 void darwinMouseGrab(QWidget *pWidget);
    296 void darwinMouseRelease(QWidget *pWidget);
    297 
    298 void *darwinCocoaToCarbonEvent(void *pvCocoaEvent);
     295SHARED_LIBRARY_STUFF void darwinRegisterForUnifiedToolbarContextMenuEvents(QMainWindow *pWindow);
     296SHARED_LIBRARY_STUFF void darwinUnregisterForUnifiedToolbarContextMenuEvents(QMainWindow *pWindow);
     297
     298SHARED_LIBRARY_STUFF void darwinMouseGrab(QWidget *pWidget);
     299SHARED_LIBRARY_STUFF void darwinMouseRelease(QWidget *pWidget);
     300
     301SHARED_LIBRARY_STUFF void *darwinCocoaToCarbonEvent(void *pvCocoaEvent);
    299302
    300303#endif /* !___VBoxUtils_darwin_h___ */
Note: See TracChangeset for help on using the changeset viewer.

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