Changeset 52978 in vbox
- Timestamp:
- Oct 8, 2014 7:09:11 AM (10 years ago)
- Location:
- trunk/src/VBox
- Files:
-
- 20 edited
-
Frontends/VBoxManage/VBoxManageControlVM.cpp (modified) (1 diff)
-
Frontends/VBoxManage/VBoxManageInfo.cpp (modified) (2 diffs)
-
Frontends/VBoxSDL/VBoxSDL.cpp (modified) (3 diffs)
-
Frontends/VBoxShell/vboxshell.py (modified) (2 diffs)
-
Frontends/VirtualBox/src/UIVMInfoDialog.cpp (modified) (1 diff)
-
Frontends/VirtualBox/src/runtime/UIFrameBuffer.cpp (modified) (1 diff)
-
Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp (modified) (1 diff)
-
Frontends/VirtualBox/src/runtime/UIMouseHandler.cpp (modified) (2 diffs)
-
Frontends/VirtualBox/src/runtime/UIMultiScreenLayout.cpp (modified) (1 diff)
-
Frontends/VirtualBox/src/runtime/normal/UIMachineLogicNormal.cpp (modified) (1 diff)
-
Frontends/VirtualBox/src/selector/graphics/details/UIGMachinePreview.cpp (modified) (1 diff)
-
HostServices/SharedOpenGL/crserver/crservice.cpp (modified) (2 diffs)
-
Main/idl/VirtualBox.xidl (modified) (2 diffs)
-
Main/include/DisplayImpl.h (modified) (2 diffs)
-
Main/src-client/ConsoleVRDPServer.cpp (modified) (1 diff)
-
Main/src-client/DisplayImpl.cpp (modified) (4 diffs)
-
Main/src-client/GuestDnDPrivate.cpp (modified) (1 diff)
-
Main/webservice/samples/php/clienttest.php (modified) (1 diff)
-
Main/webservice/samples/python/clienttest.py (modified) (1 diff)
-
ValidationKit/testdriver/vboxwrappers.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VBoxManage/VBoxManageControlVM.cpp
r52200 r52978 1332 1332 ULONG width, height, bpp; 1333 1333 LONG xOrigin, yOrigin; 1334 CHECK_ERROR_BREAK(pDisplay, GetScreenResolution(iScreen, &width, &height, &bpp, &xOrigin, &yOrigin)); 1334 GuestMonitorStatus_T monitorStatus; 1335 CHECK_ERROR_BREAK(pDisplay, GetScreenResolution(iScreen, &width, &height, &bpp, &xOrigin, &yOrigin, &monitorStatus)); 1335 1336 com::SafeArray<BYTE> saScreenshot; 1336 1337 CHECK_ERROR_BREAK(pDisplay, TakeScreenShotToArray(iScreen, width, height, BitmapFormat_PNG, ComSafeArrayAsOutParam(saScreenshot))); -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageInfo.cpp
r52037 r52978 1682 1682 ULONG xRes, yRes, bpp; 1683 1683 LONG xOrigin, yOrigin; 1684 rc = display->GetScreenResolution(0, &xRes, &yRes, &bpp, &xOrigin, &yOrigin); 1684 GuestMonitorStatus_T monitorStatus; 1685 rc = display->GetScreenResolution(0, &xRes, &yRes, &bpp, &xOrigin, &yOrigin, &monitorStatus); 1685 1686 if (rc == E_ACCESSDENIED) 1686 1687 break; /* VM not powered up */ … … 1692 1693 } 1693 1694 if (details == VMINFO_MACHINEREADABLE) 1694 RTPrintf("VideoMode=\"%d,%d,%d\"@%d,%d\n", xRes, yRes, bpp, xOrigin, yOrigin); 1695 else 1696 RTPrintf("Video mode: %dx%dx%d at %d,%d\n", xRes, yRes, bpp, xOrigin, yOrigin); 1695 RTPrintf("VideoMode=\"%d,%d,%d\"@%d,%d %d\n", xRes, yRes, bpp, xOrigin, yOrigin, monitorStatus); 1696 else 1697 { 1698 const char *pszMonitorStatus = "unknown status"; 1699 switch (monitorStatus) 1700 { 1701 case GuestMonitorStatus_Enabled: pszMonitorStatus = "enabled"; break; 1702 case GuestMonitorStatus_Disabled: pszMonitorStatus = "disabled"; break; 1703 default: break; 1704 } 1705 RTPrintf("Video mode: %dx%dx%d at %d,%d %s\n", xRes, yRes, bpp, xOrigin, yOrigin, pszMonitorStatus); 1706 } 1697 1707 } 1698 1708 while (0); -
trunk/src/VBox/Frontends/VBoxSDL/VBoxSDL.cpp
r52922 r52978 2016 2016 ULONG dummy; 2017 2017 LONG xOrigin, yOrigin; 2018 rc = gpDisplay->GetScreenResolution(i, &dummy, &dummy, &dummy, &xOrigin, &yOrigin); 2018 GuestMonitorStatus_T monitorStatus; 2019 rc = gpDisplay->GetScreenResolution(i, &dummy, &dummy, &dummy, &xOrigin, &yOrigin, &monitorStatus); 2019 2020 gpFramebuffer[i]->setOrigin(xOrigin, yOrigin); 2020 2021 } … … 2295 2296 /* update xOrigin, yOrigin -> mouse */ 2296 2297 ULONG dummy; 2297 rc = gpDisplay->GetScreenResolution(event.user.code, &dummy, &dummy, &dummy, &xOrigin, &yOrigin); 2298 GuestMonitorStatus_T monitorStatus; 2299 rc = gpDisplay->GetScreenResolution(event.user.code, &dummy, &dummy, &dummy, &xOrigin, &yOrigin, &monitorStatus); 2298 2300 gpFramebuffer[event.user.code]->setOrigin(xOrigin, yOrigin); 2299 2301 break; … … 2814 2816 /* update xOrigin, yOrigin -> mouse */ 2815 2817 ULONG dummy; 2816 rc = gpDisplay->GetScreenResolution(event.user.code, &dummy, &dummy, &dummy, &xOrigin, &yOrigin); 2818 GuestMonitorStatus_T monitorStatus; 2819 rc = gpDisplay->GetScreenResolution(event.user.code, &dummy, &dummy, &dummy, &xOrigin, &yOrigin, &monitorStatus); 2817 2820 gpFramebuffer[event.user.code]->setOrigin(xOrigin, yOrigin); 2818 2821 break; -
trunk/src/VBox/Frontends/VBoxShell/vboxshell.py
r52200 r52978 545 545 else: 546 546 screen = 0 547 (fbw, fbh, _fbbpp, fbx, fby ) = display.getScreenResolution(screen)547 (fbw, fbh, _fbbpp, fbx, fby, _) = display.getScreenResolution(screen) 548 548 if len(args) > 1: 549 549 w = int(args[1]) … … 572 572 else: 573 573 screen = 0 574 (fbw, fbh, _fbbpp, fbx, fby ) = display.getScreenResolution(screen)574 (fbw, fbh, _fbbpp, fbx, fby, _) = display.getScreenResolution(screen) 575 575 if len(args) > 1: 576 576 w = int(args[1]) -
trunk/src/VBox/Frontends/VirtualBox/src/UIVMInfoDialog.cpp
r52733 r52978 575 575 LONG xOrigin = 0; 576 576 LONG yOrigin = 0; 577 console.GetDisplay().GetScreenResolution(0, uWidth, uHeight, uBpp, xOrigin, yOrigin); 577 KGuestMonitorStatus monitorStatus = KGuestMonitorStatus_Enabled; 578 console.GetDisplay().GetScreenResolution(0, uWidth, uHeight, uBpp, xOrigin, yOrigin, monitorStatus); 578 579 QString strResolution = QString("%1x%2").arg(uWidth).arg(uHeight); 579 580 if (uBpp) -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIFrameBuffer.cpp
r52904 r52978 643 643 LONG xOrigin = 0; 644 644 LONG yOrigin = 0; 645 KGuestMonitorStatus monitorStatus = KGuestMonitorStatus_Enabled; 645 646 CDisplay display = m_pMachineView->uisession()->session().GetConsole().GetDisplay(); 646 647 display.GetScreenResolution(m_pMachineView->screenId(), 647 ulWidth, ulHeight, ulGuestBitsPerPixel, xOrigin, yOrigin );648 ulWidth, ulHeight, ulGuestBitsPerPixel, xOrigin, yOrigin, monitorStatus); 648 649 649 650 /* Remind user if necessary, ignore text and VGA modes: */ -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineLogic.cpp
r52937 r52978 2342 2342 LONG xOrigin = 0; 2343 2343 LONG yOrigin = 0; 2344 display.GetScreenResolution(i, width, height, bpp, xOrigin, yOrigin); 2344 KGuestMonitorStatus monitorStatus = KGuestMonitorStatus_Enabled; 2345 display.GetScreenResolution(i, width, height, bpp, xOrigin, yOrigin, monitorStatus); 2345 2346 uMaxWidth += width; 2346 2347 uMaxHeight = RT_MAX(uMaxHeight, height); -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMouseHandler.cpp
r52733 r52978 962 962 LONG xShift = 0, yShift = 0; 963 963 ULONG dummy; 964 session().GetConsole().GetDisplay().GetScreenResolution(uScreenId, dummy, dummy, dummy, xShift, yShift); 964 KGuestMonitorStatus monitorStatus = KGuestMonitorStatus_Enabled; 965 session().GetConsole().GetDisplay().GetScreenResolution(uScreenId, dummy, dummy, dummy, xShift, yShift, monitorStatus); 965 966 /* Set shifting: */ 966 967 cpnt.setX(cpnt.x() + xShift); … … 1027 1028 LONG xShift = 0, yShift = 0; 1028 1029 ULONG dummy; 1029 session().GetConsole().GetDisplay().GetScreenResolution(uScreenId, dummy, dummy, dummy, xShift, yShift); 1030 KGuestMonitorStatus monitorStatus = KGuestMonitorStatus_Enabled; 1031 session().GetConsole().GetDisplay().GetScreenResolution(uScreenId, dummy, dummy, dummy, xShift, yShift, monitorStatus); 1030 1032 1031 1033 /* Pass all multi-touch events into guest: */ -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMultiScreenLayout.cpp
r52730 r52978 317 317 else 318 318 screen = QApplication::desktop()->screenGeometry(screenLayout.value(iGuestScreen, 0)); 319 display.GetScreenResolution(iGuestScreen, width, height, guestBpp, xOrigin, yOrigin); 319 KGuestMonitorStatus monitorStatus = KGuestMonitorStatus_Enabled; 320 display.GetScreenResolution(iGuestScreen, width, height, guestBpp, xOrigin, yOrigin, monitorStatus); 320 321 usedBits += screen.width() * /* display width */ 321 322 screen.height() * /* display height */ -
trunk/src/VBox/Frontends/VirtualBox/src/runtime/normal/UIMachineLogicNormal.cpp
r52730 r52978 205 205 ULONG uWidth, uHeight, uBitsPerPixel; 206 206 LONG uOriginX, uOriginY; 207 KGuestMonitorStatus monitorStatus = KGuestMonitorStatus_Enabled; 207 208 CDisplay display = session().GetConsole().GetDisplay(); 208 display.GetScreenResolution(iIndex, uWidth, uHeight, uBitsPerPixel, uOriginX, uOriginY );209 display.GetScreenResolution(iIndex, uWidth, uHeight, uBitsPerPixel, uOriginX, uOriginY, monitorStatus); 209 210 if (!fEnabled) 210 211 display.SetVideoModeHint(iIndex, false, false, 0, 0, 0, 0, 0); -
trunk/src/VBox/Frontends/VirtualBox/src/selector/graphics/details/UIGMachinePreview.cpp
r52952 r52978 241 241 LONG iOriginX, iOriginY; 242 242 ULONG uGuestWidth, uGuestHeight, uBpp; 243 display.GetScreenResolution(0, uGuestWidth, uGuestHeight, uBpp, iOriginX, iOriginY); 243 KGuestMonitorStatus monitorStatus = KGuestMonitorStatus_Enabled; 244 display.GetScreenResolution(0, uGuestWidth, uGuestHeight, uBpp, iOriginX, iOriginY, monitorStatus); 244 245 double dAspectRatio = (double)uGuestWidth / uGuestHeight; 245 246 /* Look for the best aspect-ratio preset preset: */ -
trunk/src/VBox/HostServices/SharedOpenGL/crserver/crservice.cpp
r52429 r52978 1125 1125 CHECK_ERROR_RET(pFramebuffer, COMGETTER(Height)(&h), rc); 1126 1126 ULONG dummy; 1127 CHECK_ERROR_RET(pDisplay, GetScreenResolution(i, &dummy, &dummy, &dummy, &xo, &yo), rc); 1127 GuestMonitorStatus_T monitorStatus; 1128 CHECK_ERROR_RET(pDisplay, GetScreenResolution(i, &dummy, &dummy, &dummy, &xo, &yo, &monitorStatus), rc); 1128 1129 1129 1130 rc = crVBoxServerMapScreen(i, xo, yo, w, h, winId); … … 1252 1253 CHECK_ERROR_BREAK(pFramebuffer, COMGETTER(Height)(&h)); 1253 1254 ULONG dummy; 1254 CHECK_ERROR_BREAK(pDisplay, GetScreenResolution(screenId, &dummy, &dummy, &dummy, &xo, &yo)); 1255 GuestMonitorStatus_T monitorStatus; 1256 CHECK_ERROR_BREAK(pDisplay, GetScreenResolution(screenId, &dummy, &dummy, &dummy, &xo, &yo, &monitorStatus)); 1255 1257 1256 1258 rc = crVBoxServerMapScreen(screenId, xo, yo, w, h, winId); -
trunk/src/VBox/Main/idl/VirtualBox.xidl
r52958 r52978 15700 15700 </interface> 15701 15701 15702 <enum 15703 name="GuestMonitorStatus" 15704 uuid="a0001cb1-97c9-496d-82bc-616c19a9e212" 15705 > 15706 <desc> 15707 The current status of the guest display. 15708 </desc> 15709 15710 <const name="Disabled" value="0"> 15711 <desc> 15712 The guest monitor is disabled in the guest. 15713 </desc> 15714 </const> 15715 15716 <const name="Enabled" value="1"> 15717 <desc> 15718 The guest monitor is enabled in the guest. 15719 </desc> 15720 </const> 15721 </enum> 15722 15702 15723 <interface 15703 15724 name="IDisplay" extends="$unknown" 15704 uuid=" fb51010f-eefd-430d-8cd7-3c1bc14740eb"15725 uuid="dc19253d-e6b8-4b2c-8923-c8ecf80d1909" 15705 15726 wsmap="managed" 15706 15727 wrap-hint-server-addinterfaces="IEventListener" … … 15733 15754 <param name="xOrigin" type="long" dir="out"/> 15734 15755 <param name="yOrigin" type="long" dir="out"/> 15756 <param name="guestMonitorStatus" type="GuestMonitorStatus" dir="out"/> 15735 15757 </method> 15736 15758 -
trunk/src/VBox/Main/include/DisplayImpl.h
r52901 r52978 194 194 ULONG *pcy, ULONG *pcBPP, LONG *pXOrigin, LONG *pYOrigin) 195 195 { 196 return getScreenResolution(cScreen, pcx, pcy, pcBPP, pXOrigin, pYOrigin );196 return getScreenResolution(cScreen, pcx, pcy, pcBPP, pXOrigin, pYOrigin, NULL); 197 197 } 198 198 virtual void i_getFramebufferDimensions(int32_t *px1, int32_t *py1, … … 210 210 ULONG *aBitsPerPixel, 211 211 LONG *aXOrigin, 212 LONG *aYOrigin); 212 LONG *aYOrigin, 213 GuestMonitorStatus_T *aGuestMonitorStatus); 213 214 virtual HRESULT attachFramebuffer(ULONG aScreenId, 214 215 const ComPtr<IFramebuffer> &aFramebuffer); -
trunk/src/VBox/Main/src-client/ConsoleVRDPServer.cpp
r52923 r52978 1104 1104 { 1105 1105 ULONG dummy; 1106 GuestMonitorStatus_T monitorStatus; 1106 1107 hr = server->mConsole->i_getDisplay()->GetScreenResolution(uScreenId, &dummy, &dummy, &dummy, 1107 &xOrigin, &yOrigin);1108 &xOrigin, &yOrigin, &monitorStatus); 1108 1109 1109 1110 if (SUCCEEDED(hr)) -
trunk/src/VBox/Main/src-client/DisplayImpl.cpp
r52934 r52978 1448 1448 ///////////////////////////////////////////////////////////////////////////// 1449 1449 HRESULT Display::getScreenResolution(ULONG aScreenId, ULONG *aWidth, ULONG *aHeight, ULONG *aBitsPerPixel, 1450 LONG *aXOrigin, LONG *aYOrigin )1450 LONG *aXOrigin, LONG *aYOrigin, GuestMonitorStatus_T *aGuestMonitorStatus) 1451 1451 { 1452 1452 LogRelFlowFunc(("aScreenId=%RU32\n", aScreenId)); … … 1459 1459 int32_t xOrigin = 0; 1460 1460 int32_t yOrigin = 0; 1461 bool fEnabled = true; 1461 1462 1462 1463 if (aScreenId == VBOX_VIDEO_PRIMARY_SCREEN) … … 1483 1484 xOrigin = pFBInfo->xOrigin; 1484 1485 yOrigin = pFBInfo->yOrigin; 1486 fEnabled = !RT_BOOL(pFBInfo->flags & VBVA_SCREEN_F_DISABLED); 1485 1487 } 1486 1488 else … … 1499 1501 if (aYOrigin) 1500 1502 *aYOrigin = yOrigin; 1503 if (aGuestMonitorStatus) 1504 *aGuestMonitorStatus = fEnabled? GuestMonitorStatus_Enabled: GuestMonitorStatus_Disabled; 1501 1505 1502 1506 return S_OK; -
trunk/src/VBox/Main/src-client/GuestDnDPrivate.cpp
r52082 r52978 478 478 ULONG dummy; 479 479 LONG xShift, yShift; 480 GuestMonitorStatus_T monitorStatus; 480 481 hr = pDisplay->GetScreenResolution(uScreenId, &dummy, &dummy, &dummy, 481 &xShift, &yShift );482 &xShift, &yShift, &monitorStatus); 482 483 if (FAILED(hr)) 483 484 return hr; -
trunk/src/VBox/Main/webservice/samples/php/clienttest.php
r52200 r52978 58 58 $console = $session->console; 59 59 $display = $console->display; 60 list($screenWidth, $screenHeight, $screenBpp, $screenX, $screenY ) = $display->getScreenResolution(0 /* First screen */);60 list($screenWidth, $screenHeight, $screenBpp, $screenX, $screenY, $screenStatus) = $display->getScreenResolution(0 /* First screen */); 61 61 62 62 $imageraw = $display->takeScreenShotToArray(0 /* First screen */, $screenWidth, $screenHeight, "RGBA"); 63 63 echo "Screenshot size: " . sizeof($imageraw) . "\n"; 64 64 65 65 $filename = 'screenshot.png'; 66 66 echo "Saving screenshot of " . $machine->name . " (${screenWidth}x${screenHeight}, ${screenBpp}BPP) to $filename\n"; -
trunk/src/VBox/Main/webservice/samples/python/clienttest.py
r47774 r52978 101 101 # Get the VM's current display resolution + bit depth + position 102 102 screenNum = 0 # From first screen 103 (screenW, screenH, screenBPP, screenX, screenY ) = display.getScreenResolution(screenNum)103 (screenW, screenH, screenBPP, screenX, screenY, _) = display.getScreenResolution(screenNum) 104 104 print " Display (%d): %dx%d, %d BPP at %d,%d" %(screenNum, screenW, screenH, screenBPP, screenX, screenY) 105 105 -
trunk/src/VBox/ValidationKit/testdriver/vboxwrappers.py
r52776 r52978 2220 2220 """ 2221 2221 try: 2222 iWidth, iHeight, _, _, _ = self.o.console.display.getScreenResolution(iScreenId)2222 iWidth, iHeight, _, _, _, _ = self.o.console.display.getScreenResolution(iScreenId) 2223 2223 if self.fpApiVer >= 4.4: 2224 2224 aPngData = self.o.console.display.takeScreenShotToArray(iScreenId, iWidth, iHeight,
Note:
See TracChangeset
for help on using the changeset viewer.

