Working on Window

This commit is contained in:
2026-01-28 00:32:41 +01:00
parent e4eeedda7b
commit b072bba651
6 changed files with 97 additions and 47 deletions

View File

@@ -1,26 +1,27 @@
#include "Engine.hpp"
#include "raylib.h"
void Engine::init() {
namespace DREAM {
void Engine::init() {
InitWindow(screenWidth, screenHeight, "DREAM Engine 0.0.1");
SetTargetFPS(165);
}
}
void Engine::update(float deltaTime) {
void Engine::update(float deltaTime) {
deltaTime = GetFrameTime();
}
}
void Engine::draw() {
void Engine::draw() {
BeginDrawing();
ClearBackground(BLACK);
DrawText("fsdf", 10, 10, 16, WHITE);
EndDrawing();
}
}
void Engine::run() {
void Engine::run() {
init();
while (!WindowShouldClose()) {
update(deltaTime);
@@ -28,4 +29,5 @@ void Engine::run() {
}
CloseWindow();
}
}

View File

@@ -2,9 +2,10 @@
#include "../Game/src/Game.hpp"
class Engine {
private:
Game m_game;
namespace DREAM {
class Engine {
private:
GamePlaceholder::Game m_game;
const int screenWidth = 1280;
const int screenHeight = 720;
@@ -15,9 +16,10 @@ private:
void update(float deltaTime);
void draw();
public:
public:
Engine() = default;
~Engine() = default;
void run();
};
};
}

View File

@@ -0,0 +1,3 @@
namespace DREAM {
// TODO: Implement Window functions
}

View File

@@ -0,0 +1,41 @@
#pragma once
#include <string>
namespace DREAM {
struct WindowConfig {
int m_width { 1280 };
int m_height { 720 };
bool m_Fullscreen { false };
bool m_vsync { false };
bool m_resizable { false } ;
};
namespace Window {
void init(WindowConfig& config);
void setWidth(int width);
void setHeight(int height);
void setSize(int width, int height);
void setFullscreen(bool enabled);
void toggleFullscreen();
void setTitle(const std::string& title);
void setPosition(int x, int y);
int getWidth();
int getHeight();
float getAspectRatio();
bool isFullscreen();
bool isVSyncEnabled();
bool isResizable();
int getMonitorIndex();
int getMonitorRefreshRate();
int getMonitorWidth();
int getMonitorHeight();
}
}

View File

@@ -1,12 +1,14 @@
#pragma once
class Game {
private:
namespace GamePlaceholder {
class Game {
private:
public:
public:
Game() = default;
~Game() = default;
void update();
void draw();
};
};
}

View File

@@ -1,6 +1,6 @@
#include "Engine/Engine.hpp"
int main() {
Engine engine;
DREAM::Engine engine;
engine.run();
}