44using Microsoft . MixedReality . Toolkit . CameraSystem ;
55using Microsoft . MixedReality . Toolkit . UI ;
66using UnityEngine ;
7+
8+ #if UNITY_2019_3_OR_NEWER
9+ using Microsoft . MixedReality . Toolkit . Utilities ;
10+ #endif // UNITY_2019_3_OR_NEWER
11+
12+ #if ! UNITY_2020_1_OR_NEWER
713using UnityEngine . XR ;
14+ #endif // !UNITY_2020_1_OR_NEWER
815
916namespace Microsoft . MixedReality . Toolkit . Examples . Demos . ReadingMode
1017{
@@ -16,12 +23,32 @@ public class ReadingModeSceneBehavior : MonoBehaviour
1623 [ SerializeField ]
1724 private PinchSlider renderViewportScaleSlider = null ;
1825
26+ private float previousSliderValue = - 1 ;
27+ private const float MinScale = 0.001f ;
28+
1929 private void Update ( )
2030 {
21- if ( renderViewportScaleSlider != null )
31+ if ( renderViewportScaleSlider == null || renderViewportScaleSlider . SliderValue == previousSliderValue )
32+ {
33+ return ;
34+ }
35+
36+ previousSliderValue = renderViewportScaleSlider . SliderValue ;
37+
38+ #if UNITY_2019_3_OR_NEWER
39+ if ( XRSubsystemHelpers . DisplaySubsystem != null )
40+ {
41+ XRSubsystemHelpers . DisplaySubsystem . scaleOfAllViewports = Mathf . Max ( renderViewportScaleSlider . SliderValue , MinScale ) ;
42+ return ;
43+ }
44+ #endif // UNITY_2019_3_OR_NEWER
45+
46+ #if ! UNITY_2020_1_OR_NEWER
47+ if ( XRDevice . isPresent )
2248 {
23- XRSettings . renderViewportScale = renderViewportScaleSlider . SliderValue ;
49+ XRSettings . renderViewportScale = Mathf . Max ( renderViewportScaleSlider . SliderValue , MinScale ) ;
2450 }
51+ #endif // !UNITY_2020_1_OR_NEWER
2552 }
2653
2754 public void EnableReadingMode ( )
0 commit comments