2019-11-11 00:11:59 -05:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "EGpDisplayDriverType.h"
|
|
|
|
|
|
2019-12-21 18:40:17 -05:00
|
|
|
struct IGpDisplayDriver;
|
2019-11-11 00:11:59 -05:00
|
|
|
struct GpDisplayDriverProperties;
|
|
|
|
|
|
|
|
|
|
class GpDisplayDriverFactory
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
typedef IGpDisplayDriver *(*FactoryFunc_t)(const GpDisplayDriverProperties &properties);
|
|
|
|
|
|
|
|
|
|
static IGpDisplayDriver *CreateDisplayDriver(const GpDisplayDriverProperties &properties);
|
|
|
|
|
static void RegisterDisplayDriverFactory(EGpDisplayDriverType type, FactoryFunc_t func);
|
|
|
|
|
|
|
|
|
|
private:
|
2019-12-29 17:39:19 -05:00
|
|
|
static FactoryFunc_t ms_registry[EGpDisplayDriverType_Count];
|
2019-11-11 00:11:59 -05:00
|
|
|
};
|