16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-19 00:59:18 +02:00

Merge remote-tracking branch 'tmj/master' into sim

This commit is contained in:
milek7
2020-10-18 23:35:14 +02:00
244 changed files with 54164 additions and 11636 deletions

43
renderer.cpp Normal file
View File

@@ -0,0 +1,43 @@
/*
This Source Code Form is subject to the
terms of the Mozilla Public License, v.
2.0. If a copy of the MPL was not
distributed with this file, You can
obtain one at
http://mozilla.org/MPL/2.0/.
*/
#include "stdafx.h"
#include "renderer.h"
#include "Logs.h"
std::unique_ptr<gfx_renderer> GfxRenderer;
bool gfx_renderer_factory::register_backend(const std::string &backend, gfx_renderer_factory::create_method func)
{
backends[backend] = func;
return true;
}
std::unique_ptr<gfx_renderer> gfx_renderer_factory::create(const std::string &backend)
{
auto it = backends.find(backend);
if (it != backends.end())
return it->second();
ErrorLog("renderer \"" + backend + "\" not found!");
return nullptr;
}
gfx_renderer_factory *gfx_renderer_factory::get_instance()
{
if (!instance)
instance = new gfx_renderer_factory();
return instance;
}
gfx_renderer_factory *gfx_renderer_factory::instance;
//---------------------------------------------------------------------------