VirtualBox

Changeset 12449 in vbox for trunk/src/VBox/Frontends/VBoxSDL


Ignore:
Timestamp:
Sep 15, 2008 8:16:14 AM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
36526
Message:

+changed IFramebuffer interface to report id of associated window if there's one
+changed sdl/qt3/qt4 frontends's interface implementations to report this id
+added VBoxSharedCrOpenGL hgcm service
(VBoxManage.exe setextradata lvm_winxp_sp2 VBoxInternal/Devices/VMMDev/0/LUN#0/Config/crOpenGLEnabled 1)
+changed crserver to be launched from vmmdev by guest request
+added hgcm call to supply desired window id to render spu
+changed guest icd driver to initialize hgcm and cause tcpip listener startup on host
+fixed spu finalization
+fixed q3 startup, again :)

Location:
trunk/src/VBox/Frontends/VBoxSDL
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VBoxSDL/Framebuffer.cpp

    r11419 r12449  
    379379
    380380/**
     381 * Returns handle of window where framebuffer context is being drawn
     382 *
     383 * @returns COM status code.
     384 * @param   winId Handle of associated window.
     385 */
     386STDMETHODIMP VBoxSDLFB::COMGETTER(WinId)(uint64_t *winId)
     387{
     388    if (!winId)
     389        return E_POINTER;
     390    *winId = mWinId;
     391    return S_OK;
     392}
     393
     394/**
    381395 * Notify framebuffer of an update.
    382396 *
     
    14031417
    14041418/**
     1419 * Returns associated window handle. We return NULL here.
     1420 *
     1421 * @returns COM status code
     1422 * @param   winId Address of result buffer.
     1423 */
     1424STDMETHODIMP VBoxSDLFBOverlay::COMGETTER(WinId)(ULONG64 *winId)
     1425{
     1426    LogFlow(("VBoxSDLFBOverlay::GetWinId\n"));
     1427    if (!winId)
     1428        return E_INVALIDARG;
     1429    *winId = 0;
     1430    return S_OK;
     1431}
     1432
     1433
     1434/**
    14051435 * Lock the overlay.  This should not be used - lock the parent IFramebuffer instead.
    14061436 *
  • trunk/src/VBox/Frontends/VBoxSDL/Framebuffer.h

    r11400 r12449  
    9999    STDMETHOD(COMGETTER(HeightReduction)) (ULONG *heightReduction);
    100100    STDMETHOD(COMGETTER(Overlay)) (IFramebufferOverlay **aOverlay);
     101    STDMETHOD(COMGETTER(WinId)) (uint64_t *winId);
    101102
    102103    STDMETHOD(NotifyUpdate)(ULONG x, ULONG y,
     
    135136#endif
    136137    void uninit();
     138    void setWinId(uint64_t winId) { mWinId = winId; }
    137139
    138140private:
     
    176178    /** flag whether we print out SDL information */
    177179    bool mfShowSDLConfig;
     180    /** handle to window where framebuffer context is being drawn*/
     181    uint64_t mWinId;
    178182#ifdef VBOX_SECURELABEL
    179183    /** current secure label text */
     
    263267    STDMETHOD(COMGETTER(HeightReduction)) (ULONG *heightReduction);
    264268    STDMETHOD(COMGETTER(Overlay)) (IFramebufferOverlay **aOverlay);
     269    STDMETHOD(COMGETTER(WinId)) (ULONG64 *winId);
    265270
    266271    STDMETHOD(Lock)();
  • trunk/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp

    r12320 r12449  
    10571057#endif
    10581058#ifdef VBOX_WIN32_UI
    1059     bool fWin32UI = false;
     1059    bool fWin32UI = true;
     1060    uint64_t winId = 0;
    10601061#endif
    10611062    bool fShowSDLConfig    = false;
     
    19201921    {
    19211922        /* initialize the Win32 user interface inside which SDL will be embedded */
    1922         if (initUI(fResizable))
     1923        if (initUI(fResizable, winId))
    19231924            return 1;
    19241925    }
     
    19341935        goto leave;
    19351936    }
     1937
     1938#ifdef VBOX_WIN32_UI
     1939    gpFrameBuffer->setWinId(winId);
     1940#endif
     1941
    19361942    if (!gpFrameBuffer->initialized())
    19371943        goto leave;
  • trunk/src/VBox/Frontends/VBoxSDL/VBoxSDL.h

    r11576 r12449  
    6666
    6767#ifdef VBOX_WIN32_UI
    68 int initUI(bool fResizable);
     68int initUI(bool fResizable, uint64_t &winId);
    6969int uninitUI(void);
    7070int resizeUI(uint16_t width, uint16_t height);
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