mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 23:00:42 +00:00
24 lines
661 B
C++
24 lines
661 B
C++
#include "GpFontHandlerFactory.h"
|
|
#include "GpFontHandlerProperties.h"
|
|
|
|
#include <assert.h>
|
|
|
|
IGpFontHandler *GpFontHandlerFactory::CreateFontHandler(const GpFontHandlerProperties &properties)
|
|
{
|
|
assert(properties.m_type < EGpFontHandlerType_Count);
|
|
|
|
if (ms_registry[properties.m_type])
|
|
return ms_registry[properties.m_type](properties);
|
|
else
|
|
return nullptr;
|
|
}
|
|
|
|
void GpFontHandlerFactory::RegisterFontHandlerFactory(EGpFontHandlerType type, FactoryFunc_t func)
|
|
{
|
|
assert(type < EGpFontHandlerType_Count);
|
|
|
|
ms_registry[type] = func;
|
|
}
|
|
|
|
GpFontHandlerFactory::FactoryFunc_t GpFontHandlerFactory::ms_registry[EGpFontHandlerType_Count];
|