#pragma once #include "EGpDisplayDriverType.h" #include "GpDisplayDriverTickStatus.h" struct IGpDisplayDriver; struct IGpFiber; struct IGpVOSEventQueue; struct GpDisplayDriverProperties { typedef GpDisplayDriverTickStatus_t (*TickFunc_t)(void *context, IGpFiber *vosFiber); typedef void(*RenderFunc_t)(void *context); typedef void(*AdjustRequestedResolutionFunc_t)(void *context, unsigned int &width, unsigned int &height); EGpDisplayDriverType m_type; unsigned int m_frameTimeLockNumerator; unsigned int m_frameTimeLockDenominator; unsigned int m_frameTimeLockMinNumerator; unsigned int m_frameTimeLockMinDenominator; unsigned int m_frameTimeLockMaxNumerator; unsigned int m_frameTimeLockMaxDenominator; void *m_osGlobals; // Tick function and context to call when a frame needs to be served. TickFunc_t m_tickFunc; void *m_tickFuncContext; RenderFunc_t m_renderFunc; void *m_renderFuncContext; AdjustRequestedResolutionFunc_t m_adjustRequestedResolutionFunc; void *m_adjustRequestedResolutionFuncContext; IGpVOSEventQueue *m_eventQueue; };