- Timestamp:
- Sep 15, 2008 8:16:14 AM (16 years ago)
- svn:sync-xref-src-repo-rev:
- 36526
- Location:
- trunk
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/log.h
r11502 r12449 268 268 /** SELM group. */ 269 269 LOG_GROUP_SELM, 270 /** Chromium OpenGL host service group. */ 271 LOG_GROUP_SHARED_CROPENGL, 270 272 /** Shared folders host service group. */ 271 273 LOG_GROUP_SHARED_FOLDERS, … … 431 433 "REM_RUN", \ 432 434 "SELM", \ 435 "SHARED_CROPENGL",\ 433 436 "SHARED_FOLDERS",\ 434 437 "SHARED_OPENGL",\ -
trunk/src/VBox/Additions/WINNT/Graphics/OpenGL/VBoxOGL.cpp
r11642 r12449 43 43 Assert(ret); 44 44 } 45 46 45 47 46 /** -
trunk/src/VBox/Frontends/VBoxSDL/Framebuffer.cpp
r11419 r12449 379 379 380 380 /** 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 */ 386 STDMETHODIMP VBoxSDLFB::COMGETTER(WinId)(uint64_t *winId) 387 { 388 if (!winId) 389 return E_POINTER; 390 *winId = mWinId; 391 return S_OK; 392 } 393 394 /** 381 395 * Notify framebuffer of an update. 382 396 * … … 1403 1417 1404 1418 /** 1419 * Returns associated window handle. We return NULL here. 1420 * 1421 * @returns COM status code 1422 * @param winId Address of result buffer. 1423 */ 1424 STDMETHODIMP 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 /** 1405 1435 * Lock the overlay. This should not be used - lock the parent IFramebuffer instead. 1406 1436 * -
trunk/src/VBox/Frontends/VBoxSDL/Framebuffer.h
r11400 r12449 99 99 STDMETHOD(COMGETTER(HeightReduction)) (ULONG *heightReduction); 100 100 STDMETHOD(COMGETTER(Overlay)) (IFramebufferOverlay **aOverlay); 101 STDMETHOD(COMGETTER(WinId)) (uint64_t *winId); 101 102 102 103 STDMETHOD(NotifyUpdate)(ULONG x, ULONG y, … … 135 136 #endif 136 137 void uninit(); 138 void setWinId(uint64_t winId) { mWinId = winId; } 137 139 138 140 private: … … 176 178 /** flag whether we print out SDL information */ 177 179 bool mfShowSDLConfig; 180 /** handle to window where framebuffer context is being drawn*/ 181 uint64_t mWinId; 178 182 #ifdef VBOX_SECURELABEL 179 183 /** current secure label text */ … … 263 267 STDMETHOD(COMGETTER(HeightReduction)) (ULONG *heightReduction); 264 268 STDMETHOD(COMGETTER(Overlay)) (IFramebufferOverlay **aOverlay); 269 STDMETHOD(COMGETTER(WinId)) (ULONG64 *winId); 265 270 266 271 STDMETHOD(Lock)(); -
trunk/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
r12320 r12449 1057 1057 #endif 1058 1058 #ifdef VBOX_WIN32_UI 1059 bool fWin32UI = false; 1059 bool fWin32UI = true; 1060 uint64_t winId = 0; 1060 1061 #endif 1061 1062 bool fShowSDLConfig = false; … … 1920 1921 { 1921 1922 /* initialize the Win32 user interface inside which SDL will be embedded */ 1922 if (initUI(fResizable ))1923 if (initUI(fResizable, winId)) 1923 1924 return 1; 1924 1925 } … … 1934 1935 goto leave; 1935 1936 } 1937 1938 #ifdef VBOX_WIN32_UI 1939 gpFrameBuffer->setWinId(winId); 1940 #endif 1941 1936 1942 if (!gpFrameBuffer->initialized()) 1937 1943 goto leave; -
trunk/src/VBox/Frontends/VBoxSDL/VBoxSDL.h
r11576 r12449 66 66 67 67 #ifdef VBOX_WIN32_UI 68 int initUI(bool fResizable );68 int initUI(bool fResizable, uint64_t &winId); 69 69 int uninitUI(void); 70 70 int resizeUI(uint16_t width, uint16_t height); -
trunk/src/VBox/Frontends/VirtualBox/include/VBoxFrameBuffer.h
r8155 r12449 205 205 STDMETHOD(COMGETTER(HeightReduction)) (ULONG *aHeightReduction); 206 206 STDMETHOD(COMGETTER(Overlay)) (IFramebufferOverlay **aOverlay); 207 STDMETHOD(COMGETTER(WinId)) (ULONG64 *winId); 207 208 208 209 STDMETHOD(Lock)(); -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxFrameBuffer.cpp
r8902 r12449 134 134 /* not yet implemented */ 135 135 *aOverlay = 0; 136 return S_OK; 137 } 138 139 STDMETHODIMP VBoxFrameBuffer::COMGETTER(WinId) (ULONG64 *winId) 140 { 141 if (!winId) 142 return E_POINTER; 143 *winId = (mView && mView->viewport()) ? (ULONG64) mView->viewport()->winId() : 0; 136 144 return S_OK; 137 145 } -
trunk/src/VBox/Frontends/VirtualBox4/include/VBoxFrameBuffer.h
r8155 r12449 205 205 STDMETHOD(COMGETTER(HeightReduction)) (ULONG *aHeightReduction); 206 206 STDMETHOD(COMGETTER(Overlay)) (IFramebufferOverlay **aOverlay); 207 STDMETHOD(COMGETTER(WinId)) (ULONG64 *winId); 207 208 208 209 STDMETHOD(Lock)(); -
trunk/src/VBox/Frontends/VirtualBox4/src/VBoxFrameBuffer.cpp
r11418 r12449 135 135 /* not yet implemented */ 136 136 *aOverlay = 0; 137 return S_OK; 138 } 139 140 STDMETHODIMP VBoxFrameBuffer::COMGETTER(WinId) (ULONG64 *winId) 141 { 142 if (!winId) 143 return E_POINTER; 144 *winId = (mView && mView->viewport()) ? (ULONG64) mView->viewport()->winId() : 0; 137 145 return S_OK; 138 146 } -
trunk/src/VBox/Main/FramebufferImpl.cpp
r8155 r12449 131 131 } 132 132 133 STDMETHODIMP InternalFramebuffer::COMGETTER(WinId) (ULONG64 *winId) 134 { 135 if (!winId) 136 return E_POINTER; 137 *winId = 0; 138 return S_OK; 139 } 133 140 134 141 // IFramebuffer methods -
trunk/src/VBox/Main/VMMDevInterface.cpp
r11844 r12449 36 36 #include "hgcm/HGCM.h" 37 37 #include "hgcm/HGCMObjects.h" 38 #include <VBox/HostServices/VBoxCrOpenGLSvc.h> 38 39 #endif 39 40 … … 695 696 * Validate configuration. 696 697 */ 697 if (!CFGMR3AreValuesValid(pCfgHandle, "Object\0OpenGLEnabled\0 "))698 if (!CFGMR3AreValuesValid(pCfgHandle, "Object\0OpenGLEnabled\0crOpenGLEnabled\0")) 698 699 return VERR_PDM_DRVINS_UNKNOWN_CFG_VALUES; 699 700 PPDMIBASE pBaseIgnore; … … 814 815 { 815 816 LogRel(("Failed to load Shared OpenGL service %Vrc\n", rc)); 817 } 818 } 819 820 rc = CFGMR3QueryBool(pCfgHandle, "crOpenGLEnabled", &fEnabled); 821 if ( VBOX_SUCCESS(rc) && fEnabled) 822 { 823 rc = pData->pVMMDev->hgcmLoadService ("VBoxSharedCrOpenGL", "VBoxSharedCrOpenGL"); 824 if (VBOX_SUCCESS(rc)) 825 { 826 LogRel(("Shared Chromium OpenGL service loaded.\n")); 827 828 /* Setup the service. */ 829 VBOXHGCMSVCPARM parm; 830 parm.type = VBOX_HGCM_SVC_PARM_PTR; 831 832 //parm.u.pointer.addr = static_cast <IConsole *> (pData->pVMMDev->getParent()); 833 parm.u.pointer.addr = pData->pVMMDev->getParent()->getDisplay()->getFramebuffer(); 834 parm.u.pointer.size = sizeof(IFramebuffer *); 835 836 rc = HGCMHostCall("VBoxSharedCrOpenGL", VBOX_SHARED_CROPENGL_HOST_FN_SET_FRAMEBUFFER, 1, &parm); 837 if (!VBOX_SUCCESS(rc)) 838 AssertMsgFailed(("VBOX_SHARED_CROPENGL_HOST_FN_SET_FRAMEBUFFER failed with %Vrc\n", rc)); 839 } 840 else 841 { 842 LogRel(("Failed to load Shared Chromium OpenGL service %Vrc\n", rc)); 816 843 } 817 844 } -
trunk/src/VBox/Main/idl/VirtualBox.xidl
r12284 r12449 8001 8001 </attribute> 8002 8002 8003 <attribute name="winId" type="unsigned long long" readonly="yes"> 8004 <desc> 8005 Platform-dependent identifier of the window where context of this 8006 framebuffer is drawn, or zero if there's no such window. 8007 </desc> 8008 </attribute> 8009 8003 8010 <method name="lock"> 8004 8011 <desc> -
trunk/src/VBox/Main/include/FramebufferImpl.h
r8155 r12449 57 57 STDMETHOD(COMGETTER(HeightReduction)) (ULONG *heightReduction); 58 58 STDMETHOD(COMGETTER(Overlay)) (IFramebufferOverlay **aOverlay); 59 STDMETHOD(COMGETTER(WinId)) (ULONG64 *winId); 59 60 60 61 // IFramebuffer methods
Note:
See TracChangeset
for help on using the changeset viewer.