Files
fennec/source/platform/interface/platform.cpp
2025-08-30 22:11:41 -04:00

53 lines
1.7 KiB
C++

// =====================================================================================================================
// fennec, a free and open source game engine
// Copyright © 2025 Medusa Slockbower
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
// =====================================================================================================================
#include <fennec/platform/interface/platform.h>
namespace fennec
{
template<typename CtorT>
static constexpr void insert_driver(list<platform::driver<CtorT>>& drvrs, CtorT ctor, int priority) {
using list_t = list<platform::driver<CtorT>>;
using iter_t = typename list_t::iterator;
iter_t it = drvrs.begin();
while (it != drvrs.end()) {
if (priority >= it->priority) {
break;
}
}
drvrs.insert(it, { priority, ctor });
}
void platform::initialize() {
}
void platform::shutdown() {
}
window* platform::create_window(const window::config&) {
return nullptr;
}
void platform::register_window_driver(window_driver&& driver) {
globals.windows.insert(fennec::forward<window_driver>(driver));
}
}