Changeset 54104 in vbox for trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp
- Timestamp:
- Feb 6, 2015 6:49:01 PM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 98075
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIMachineView.cpp
r54100 r54104 183 183 const bool fUseUnscaledHiDPIOutput = gEDataManager->useUnscaledHiDPIOutput(vboxGlobal().managedVMUuid()); 184 184 frameBuffer()->setUseUnscaledHiDPIOutput(fUseUnscaledHiDPIOutput); 185 186 /* Perform frame-buffer rescaling: */ 187 frameBuffer()->performRescale(); 185 188 } 186 189 … … 234 237 frameBuffer()->height() != (ulong)iHeight; 235 238 236 /* Adjust 'scale' mode to current machine-view size: */ 239 /* Perform frame-buffer mode-change: */ 240 frameBuffer()->handleNotifyChange(iWidth, iHeight); 241 242 /* For 'scale' mode: */ 237 243 if (visualStateType() == UIVisualStateType_Scale) 238 244 { … … 240 246 frameBuffer()->setScaledSize(size()); 241 247 } 242 243 /* Perform frame-buffer mode-change: */ 244 frameBuffer()->handleNotifyChange(iWidth, iHeight); 245 246 /* Scale-mode doesn't need this.. */ 247 if (visualStateType() != UIVisualStateType_Scale) 248 /* For other than 'scale' mode: */ 249 else 248 250 { 249 251 /* Adjust maximum-size restriction for machine-view: */ … … 267 269 machineWindow()->normalizeGeometry(true /* adjust position */); 268 270 } 271 272 /* Perform frame-buffer rescaling: */ 273 frameBuffer()->performRescale(); 269 274 270 275 #ifdef Q_WS_MAC … … 362 367 (uint32_t)(dScaleFactor * VBOX_OGL_SCALE_FACTOR_MULTIPLIER)); 363 368 364 /* Adjust frame-buffer, machine-window and guest-screen size if necessary: */ 365 sltHandleNotifyChange(frameBuffer()->width(), frameBuffer()->height()); 366 frameBuffer()->performResize(frameBuffer()->width(), frameBuffer()->height()); 367 machineWindow()->normalizeGeometry(true /* adjust position */); 369 /* Handle scale attributes change: */ 370 handleScaleChange(); 371 /* Adjust guest-screen size: */ 368 372 adjustGuestScreenSize(); 369 373 … … 383 387 frameBuffer()->setUseUnscaledHiDPIOutput(fUseUnscaledHiDPIOutput); 384 388 385 /* Adjust frame-buffer, machine-window and guest-screen size if necessary: */ 386 sltHandleNotifyChange(frameBuffer()->width(), frameBuffer()->height()); 387 frameBuffer()->performResize(frameBuffer()->width(), frameBuffer()->height()); 388 machineWindow()->normalizeGeometry(true /* adjust position */); 389 /* Handle scale attributes change: */ 390 handleScaleChange(); 391 /* Adjust guest-screen size: */ 389 392 adjustGuestScreenSize(); 390 393 … … 558 561 m_pFrameBuffer->setUseUnscaledHiDPIOutput(fUseUnscaledHiDPIOutput); 559 562 563 /* Perform frame-buffer rescaling: */ 564 m_pFrameBuffer->performRescale(); 565 560 566 /* Associate uisession with frame-buffer finally: */ 561 567 uisession()->setFrameBuffer(screenId(), m_pFrameBuffer); … … 598 604 } 599 605 600 /* If we have a valid size, resize the framebuffer. */606 /* If we have a valid size, resize/rescale the frame-buffer. */ 601 607 if (size.width() > 0 && size.height() > 0) 608 { 602 609 frameBuffer()->performResize(size.width(), size.height()); 610 frameBuffer()->performRescale(); 611 } 603 612 } 604 613 } … … 844 853 /* Return size: */ 845 854 return size; 855 } 856 857 void UIMachineView::handleScaleChange() 858 { 859 LogRel(("UIMachineView::handleScaleChange: Screen=%d.\n", 860 (unsigned long)m_uScreenId)); 861 862 /* If machine-window is visible: */ 863 if (uisession()->isScreenVisible(m_uScreenId)) 864 { 865 /* For 'scale' mode: */ 866 if (visualStateType() == UIVisualStateType_Scale) 867 { 868 /* Assign new frame-buffer logical-size: */ 869 frameBuffer()->setScaledSize(size()); 870 } 871 /* For other than 'scale' mode: */ 872 else 873 { 874 /* Adjust maximum-size restriction for machine-view: */ 875 setMaximumSize(sizeHint()); 876 877 /* Disable the resize hint override hack: */ 878 m_sizeHintOverride = QSize(-1, -1); 879 880 /* Force machine-window update own layout: */ 881 QCoreApplication::sendPostedEvents(0, QEvent::LayoutRequest); 882 883 /* Update machine-view sliders: */ 884 updateSliders(); 885 886 /* By some reason Win host forgets to update machine-window central-widget 887 * after main-layout was updated, let's do it for all the hosts: */ 888 machineWindow()->centralWidget()->update(); 889 890 /* Normalize 'normal' machine-window geometry: */ 891 if (visualStateType() == UIVisualStateType_Normal) 892 machineWindow()->normalizeGeometry(true /* adjust position */); 893 } 894 895 /* Perform frame-buffer rescaling: */ 896 frameBuffer()->performRescale(); 897 } 898 899 LogRelFlow(("UIMachineView::handleScaleChange: Complete for Screen=%d.\n", 900 (unsigned long)m_uScreenId)); 846 901 } 847 902 … … 1233 1288 case QEvent::Move: 1234 1289 { 1235 /* Update backing-scale-factor for underlying frame-buffer: */1236 1290 if (m_pFrameBuffer) 1291 { 1292 /* Update backing-scale-factor for underlying frame-buffer: */ 1237 1293 m_pFrameBuffer->setBackingScaleFactor(darwinBackingScaleFactor(machineWindow())); 1294 /* Perform frame-buffer rescaling: */ 1295 m_pFrameBuffer->performRescale(); 1296 } 1238 1297 break; 1239 1298 }
Note:
See TracChangeset
for help on using the changeset viewer.