VirtualBox

Ignore:
Timestamp:
Mar 4, 2009 12:11:33 PM (16 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
43720
Message:

FE/Qt4-OSX: Make the dock icon preview work in Cocoa.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/include/VBoxDockIconPreview.h

    r17175 r17340  
    2424#define ___VBoxDockIconPreview_h___
    2525
    26 #include <QObject> /* drag in QT_MAC_USE_COCOA */
     26#include "VBoxUtils-darwin.h"
    2727
    28 #ifdef QT_MAC_USE_COCOA
    29 # include <ApplicationServices/ApplicationServices.h>
    30 /** @todo include chocolatey headers... */
    31 #else
    32 # include <Carbon/Carbon.h>
    33 #endif
     28__BEGIN_DECLS
     29void darwinCreateVBoxDockIconTileView (void);
     30void darwinDestroyVBoxDockIconTileView (void);
    3431
     32CGContextRef darwinBeginCGContextForApplicationDockTile (void);
     33void darwinEndCGContextForApplicationDockTile (CGContextRef aContext);
     34
     35void darwinOverlayApplicationDockTileImage (CGImageRef pImage);
     36void darwinRestoreApplicationDockTileImage (void);
     37__END_DECLS
     38
     39#ifndef __OBJC__
    3540class VBoxConsoleWnd;
    3641class VBoxFrameBuffer;
     
    4550
    4651    void updateDockOverlay();
    47 //#ifndef QT_MAC_USE_COCOA
    4852    void updateDockPreview (CGImageRef aVMImage);
    49 //#endif
    5053    void updateDockPreview (VBoxFrameBuffer *aFrameBuffer);
    5154
    5255private:
    53 //#ifdef QT_MAC_USE_COCOA
    54     /** @todo Carbon -> Cocoa */
    55 //#else
    5656    inline void initPreviewImages();
    5757    inline void initOverlayData (int aBitmapByteCount);
     
    6060
    6161    /* Flipping is necessary cause the drawing context in Carbon is flipped by 180 degree */
    62     inline CGRect flipRect (CGRect aRect) const { aRect.origin.y = mDockIconRect.size.height - aRect.origin.y - aRect.size.height; return aRect; }
    63     inline CGRect centerRect (CGRect aRect) const { return centerRectTo (aRect, mDockIconRect); }
    64     inline CGRect centerRectTo (CGRect aRect, const CGRect& aToRect) const
    65     {
    66         aRect.origin.x = aToRect.origin.x + (aToRect.size.width  - aRect.size.width)  / 2.0;
    67         aRect.origin.y = aToRect.origin.y + (aToRect.size.height - aRect.size.height) / 2.0;
    68         return aRect;
    69     }
    70 //#endif /* !QT_MAC_USE_COCOA */
     62    inline CGRect flipRect (CGRect aRect) const { return ::darwinFlipCGRect (aRect, mDockIconRect); }
     63    inline CGRect centerRect (CGRect aRect) const { return ::darwinCenterRectTo (aRect, mDockIconRect); }
     64    inline CGRect centerRectTo (CGRect aRect, const CGRect& aToRect) const { return ::darwinCenterRectTo (aRect, aToRect); }
     65
     66    void updateDockPreviewImpl (CGContextRef aContext, CGImageRef aVMImage);
    7167
    7268    /* Private member vars */
    7369    VBoxConsoleWnd *mMainWnd;
    74 //#ifdef QT_MAC_USE_COCOA
    75     /** @todo Carbon -> Cocoa */
    76 //#else
    7770    const CGRect mDockIconRect;
    7871
     
    8982    CGRect mUpdateRect;
    9083    CGRect mMonitorRect;
    91 //#endif
    9284};
     85#endif /* !__OBJC__ */
    9386
    9487#endif /* !___VBoxDockIconPreview_h___ */
Note: See TracChangeset for help on using the changeset viewer.

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