Open 3D Engine AzFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzFramework::ExclusiveFullScreenRequests Class Reference

#include <WindowBus.h>

Inherits AZ::EBusTraits.

Public Types

using BusIdType = NativeWindowHandle
 

Public Member Functions

virtual bool IsExclusiveFullScreenPreferred () const
 
virtual bool GetExclusiveFullScreenState () const
 
virtual bool SetExclusiveFullScreenState (bool fullScreenState)
 

Static Public Attributes

static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById
 
static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single
 

Detailed Description

Bus used by the NativeWindow class to send exclusive full screen related requests to the renderer.

This is currently only needed if the Windows DX12 renderer does not support tearing, in which case the renderer will connect to this bus and assume responsibility for maintaining and transitioning the full screen state of the corresponding NativeWindowHandle. On platforms where full screen state is handled exclusively by AzFramework::NativeWindow (eg. Mac) this will never be used, and nor will it ever be used for platforms that cannot perform full screen transitions at all (eg. iOS/Android).

Do not call these directly, use the WindowRequests bus instead to get or set the full screen state.

Member Function Documentation

◆ GetExclusiveFullScreenState()

virtual bool AzFramework::ExclusiveFullScreenRequests::GetExclusiveFullScreenState ( ) const
inlinevirtual

This will be called when the full screen state of a NativeWindow is requested using WindowRequests::GetFullScreenState, but only if the renderer prefers to use their exclusive full screen mode (ie. IsExclusiveFullScreenPreferred() == true).

Do not call directly, use WindowRequests::GetFullScreenState instead to get the current full screen state of a window.

Returns
True if the renderer prefers to use their exclusive full screen mode and it is currently true, false otherwise.

◆ IsExclusiveFullScreenPreferred()

virtual bool AzFramework::ExclusiveFullScreenRequests::IsExclusiveFullScreenPreferred ( ) const
inlinevirtual

This will be called when the NativeWindow needs to know whether the renderer prefers to use exclusive full screen mode.

Do not call directly, use WindowRequests::GetFullScreenState instead to get the current full screen state of a window.

Returns
True if the renderer prefers to use their exclusive full screen mode, false otherwise.

◆ SetExclusiveFullScreenState()

virtual bool AzFramework::ExclusiveFullScreenRequests::SetExclusiveFullScreenState ( bool  fullScreenState)
inlinevirtual

This will be called when the full screen state of a NativeWindow is set using WindowRequests::SetFullScreenState, but only if the renderer prefers to use exclusive full screen mode (ie. IsExclusiveFullScreenPreferred() == true).

Do not call directly, use WindowRequests::GetFullScreenState instead to set the full screen state of a window.

Parameters
[in]fullScreenStateThe full screen state that was passed to WindowRequests::SetFullScreenState.
Returns
True if the renderer prefers to use exclusive full screen mode and a transition happened, false otherwise.

The documentation for this class was generated from the following file: