Files
fennec/test/tests/test_platform.h
Medusa Slockbower ecf1cfc29c - fleshing out event system and window manager
- added tests back in for window management
2025-12-27 07:19:53 -05:00

69 lines
1.9 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/>.
// =====================================================================================================================
#ifndef FENNEC_TEST_PLATFORM_H
#define FENNEC_TEST_PLATFORM_H
#include "../test.h"
#include <fennec/platform/interface/platform.h>
#include <fennec/platform/window_manager.h>
namespace fennec::test
{
inline void fennec_test_platform() {
platform* platform = platform::instance();
platform->initialize();
window_manager& wm = platform->get_window_manager();
window_id window = wm.create_window(window::config {
.title = string("fennec-test"),
.flags = { },
.mode = window::mode_windowed,
.rect = {
.position = { 0, 0 },
.size = { 720, 480 },
},
.fractional_scaling = 0,
.accessibility = { string("test window"), string("test window description") }
});
assertf(window != window_manager::nullid, "Failed to create test window.");
while (wm.is_running(window)) {
wm.begin(window);
wm.end(window);
wm.dispatch();
}
wm.close(window);
platform::instance()->shutdown();
}
}
#endif // FENNEC_TEST_PLATFORM_H