VirtualBox

Ignore:
Timestamp:
May 26, 2018 12:37:50 PM (7 years ago)
Author:
vboxsync
Message:

Main, VMMDev: implemented IDisplay::SetScreenLayout, VMMDev multimonitor resize request and VBoxManage controlvm setscreenlayout. bugref:8393

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/include/DisplayImpl.h

    r72014 r72352  
    3838
    3939#include "DisplaySourceBitmapWrap.h"
     40#include "GuestScreenInfoWrap.h"
    4041
    4142
     
    298299                                    const std::vector<ComPtr<IGuestScreenInfo> > &aGuestScreenInfo);
    299300    virtual HRESULT detachScreens(const std::vector<LONG> &aScreenIds);
     301    virtual HRESULT createGuestScreenInfo(ULONG aDisplay,
     302                                          GuestMonitorStatus_T aStatus,
     303                                          BOOL aPrimary,
     304                                          BOOL aChangeOrigin,
     305                                          LONG aOriginX,
     306                                          LONG aOriginY,
     307                                          ULONG aWidth,
     308                                          ULONG aHeight,
     309                                          ULONG aBitsPerPixel,
     310                                          ComPtr<IGuestScreenInfo> &aGuestScreenInfo);
    300311
    301312    // Wrapped IEventListener properties
     
    596607};
    597608
     609class ATL_NO_VTABLE GuestScreenInfo:
     610    public GuestScreenInfoWrap
     611{
     612public:
     613
     614    DECLARE_EMPTY_CTOR_DTOR(GuestScreenInfo)
     615
     616    HRESULT FinalConstruct();
     617    void FinalRelease();
     618
     619    /* Public initializer/uninitializer for internal purposes only. */
     620    HRESULT init(ULONG aDisplay,
     621                 GuestMonitorStatus_T aGuestMonitorStatus,
     622                 BOOL aPrimary,
     623                 BOOL aChangeOrigin,
     624                 LONG aOriginX,
     625                 LONG aOriginY,
     626                 ULONG aWidth,
     627                 ULONG aHeight,
     628                 ULONG aBitsPerPixel);
     629    void uninit();
     630
     631private:
     632    // wrapped IGuestScreenInfo properties
     633    virtual HRESULT getScreenId(ULONG *aScreenId);
     634    virtual HRESULT getGuestMonitorStatus(GuestMonitorStatus_T *aGuestMonitorStatus);
     635    virtual HRESULT getPrimary(BOOL *aPrimary);
     636    virtual HRESULT getOrigin(BOOL *aOrigin);
     637    virtual HRESULT getOriginX(LONG *aOriginX);
     638    virtual HRESULT getOriginY(LONG *aOriginY);
     639    virtual HRESULT getWidth(ULONG *aWidth);
     640    virtual HRESULT getHeight(ULONG *aHeight);
     641    virtual HRESULT getBitsPerPixel(ULONG *aBitsPerPixel);
     642    virtual HRESULT getExtendedInfo(com::Utf8Str &aExtendedInfo);
     643
     644    ULONG mScreenId;
     645    GuestMonitorStatus_T mGuestMonitorStatus;
     646    BOOL  mPrimary;
     647    BOOL  mOrigin;
     648    LONG  mOriginX;
     649    LONG  mOriginY;
     650    ULONG mWidth;
     651    ULONG mHeight;
     652    ULONG mBitsPerPixel;
     653};
     654
    598655#endif // !____H_DISPLAYIMPL
    599656/* vi: set tabstop=4 shiftwidth=4 expandtab: */
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