// @lint-ignore-every LICENSELINT // Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "OculusXRHMDPrivate.h" #if OCULUS_HMD_SUPPORTED_PLATFORMS #include "OculusXRHMD_Settings.h" #include "DynamicResolutionState.h" namespace OculusXRHMD { //------------------------------------------------------------------------------------------------- // FDynamicResolutionState //------------------------------------------------------------------------------------------------- class FDynamicResolutionState : public IDynamicResolutionState { public: FDynamicResolutionState(const OculusXRHMD::FSettingsPtr InSettings); // ISceneViewFamilyScreenPercentage virtual void ResetHistory() override; virtual bool IsSupported() const override; virtual void SetupMainViewFamily(class FSceneViewFamily& ViewFamily) override; protected: virtual DynamicRenderScaling::TMap GetResolutionFractionsApproximation() const override; virtual DynamicRenderScaling::TMap GetResolutionFractionsUpperBound() const override; virtual void SetEnabled(bool bEnable) override; virtual bool IsEnabled() const override; virtual void ProcessEvent(EDynamicResolutionStateEvent Event) override; private: const OculusXRHMD::FSettingsPtr Settings; float ResolutionFraction; float ResolutionFractionUpperBound; }; } // namespace OculusXRHMD #endif //OCULUS_HMD_SUPPORTED_PLATFORMS