38 lines
665 B
C++
38 lines
665 B
C++
//
|
|
// Created by sebastian on 23.12.25.
|
|
//
|
|
|
|
#ifndef DICEWARS_SIEDLER_WINDOW_H
|
|
#define DICEWARS_SIEDLER_WINDOW_H
|
|
#include <cstdint>
|
|
#include "glad/glad.h"
|
|
#include <memory>
|
|
#include <string>
|
|
|
|
struct WindowProps
|
|
{
|
|
std::string Title;
|
|
uint32_t Width;
|
|
uint32_t Height;
|
|
bool VSync = true;
|
|
};
|
|
|
|
class Window
|
|
{
|
|
public:
|
|
virtual ~Window() = default;
|
|
|
|
virtual void OnUpdate() = 0;
|
|
|
|
virtual uint32_t GetWidth() const = 0;
|
|
virtual uint32_t GetHeight() const = 0;
|
|
|
|
virtual void* GetNativeWindow() const = 0;
|
|
|
|
static Window* Create(const WindowProps& props);
|
|
virtual bool shouldClose() const = 0;
|
|
|
|
};
|
|
|
|
|
|
#endif //DICEWARS_SIEDLER_WINDOW_H
|