48 lines
1.3 KiB
C++
48 lines
1.3 KiB
C++
#include <cstdint>
|
|
#include <cstdlib>
|
|
#include <exception>
|
|
#include "GLFW/glfw3.h"
|
|
#include "shared/logger.h"
|
|
|
|
#include "ctx.h"
|
|
|
|
int main() {
|
|
OatmealUtils::initLogging();
|
|
OatmealUtils::createLogger("window", nullptr);
|
|
OatmealUtils::createLogger("context", nullptr);
|
|
|
|
OatmealUtils::get("window")->info("Initializing GLFW");
|
|
glfwInit();
|
|
|
|
OatmealUtils::get("window")->info("Setting window hints");
|
|
glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
|
|
glfwWindowHint(GLFW_RESIZABLE, GLFW_FALSE);
|
|
|
|
OatmealUtils::get("window")->info("Create window");
|
|
GLFWwindow *window = glfwCreateWindow(800, 600, "Oatmeal - Basic GLFW window", nullptr, nullptr);
|
|
if (window == nullptr) {
|
|
const char *desc;
|
|
uint32_t code = glfwGetError(&desc);
|
|
OatmealUtils::get("window")->critical("Failed to create window: ({}) {}", code, desc);
|
|
exit(EXIT_FAILURE);
|
|
}
|
|
|
|
try {
|
|
Oatmeal::ctx ctx(window);
|
|
} catch (const std::exception &e) {
|
|
OatmealUtils::get("context")->critical("{}", e.what());
|
|
return EXIT_FAILURE;
|
|
}
|
|
|
|
|
|
while (!glfwWindowShouldClose(window)) {
|
|
glfwPollEvents();
|
|
}
|
|
|
|
OatmealUtils::get("window")->info("Cleaning up");
|
|
glfwDestroyWindow(window);
|
|
glfwTerminate();
|
|
|
|
return 0;
|
|
}
|