2D_Game_Engine
Loading...
Searching...
No Matches
window.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <renderer.hpp>
4#include <textrenderer.hpp>
5#include <input.hpp>
6#include <texturesmanager.hpp>
7#include <fontmanager.hpp>
8#include <textqueue.hpp>
9
10class Application;
11
12extern bool ISFULLSCREEN;
13extern Renderer *RENDERER;
15extern Input *INPUT;
18extern TextQueue *TEXT_QUEUE;
19
20namespace Window{
21 extern int InitGlfwWindow(const char *window_name,bool resizable);
22 extern void DeinitGlfwWindow();
23
24 extern void ToggleFullScreen();
25 extern void ToggleVSync();
26 extern void SetResizable(bool resizable);
27
28 extern bool GetKeyState(int key,int state);
29 extern bool GetMouseButtonState(int button,int state);
30 extern void GetMousePos(double *x,double *y);
31
32 extern void ShowMetrics();
33 extern void PrintDebugInfo();
34
35 extern void GLAPIENTRY MessageCallback(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar* message,const void* userParam);
36 extern void GLAPIENTRY FramebufferSizeCallback(GLFWwindow *window,int width,int height);
37 extern void GLAPIENTRY ErrorCallback(int error,const char *description);
38
40
41 extern GLFWwindow *Window;
42
43 extern float Width,Height;
44 extern float BaseWidth,BaseHeight;
46
47 extern float FPS;
48 extern float CurrentFrameTime;
49 extern float LastFrameTime;
50 extern float DeltaTime;
51 extern float Alpha; //for interpolation
52
53 extern bool IsFullscreen;
54 extern bool IsVSync;
55 extern bool ShowMetrics_;
56
57 extern bool FramebufferUpdate;
58 extern bool ProjUpdate;
59 extern bool TextProjUpdate;
60 #ifdef EDITOR
61 extern bool SceneFramebufferUpdate;
62
63 extern int DrawCalls;
64 extern int VertexCount;
65 #endif
66
67 extern const float MAX_WIDTH;
68 extern float MAX_HEIGHT;
69};
GLFWwindow * Window
Definition window.cpp:225
void GetMousePos(double *x, double *y)
Definition window.cpp:53
float FPS
Definition window.cpp:231
bool GetMouseButtonState(int button, int state)
Definition window.cpp:221
bool IsVSync
Definition window.cpp:238
float Height
Definition window.hpp:43
float BaseWidth
Definition window.cpp:228
void GLAPIENTRY FramebufferSizeCallback(GLFWwindow *window, int width, int height)
Definition window.cpp:25
void ShowMetrics()
Definition window.cpp:58
const float MAX_WIDTH
Definition window.cpp:251
void ToggleFullScreen()
Definition window.cpp:128
Application * CreateApplication()
bool GetKeyState(int key, int state)
Definition window.cpp:217
bool ProjUpdate
Definition window.cpp:242
bool ShowMetrics_
Definition window.cpp:239
void GLAPIENTRY ErrorCallback(int error, const char *description)
Definition window.cpp:49
bool TextProjUpdate
Definition window.cpp:243
int InitGlfwWindow(const char *window_name, bool resizable)
Definition window.cpp:71
float Width
Definition window.cpp:227
void SetResizable(bool resizable)
Definition window.cpp:149
float MAX_HEIGHT
Definition window.cpp:252
void PrintDebugInfo()
Definition window.cpp:204
float CurrentFrameTime
Definition window.cpp:232
void DeinitGlfwWindow()
Definition window.cpp:118
float LastFrameTime
Definition window.cpp:233
bool IsFullscreen
Definition window.cpp:237
float FullscreenWidth
Definition window.cpp:229
void GLAPIENTRY MessageCallback(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam)
Definition window.cpp:20
void ToggleVSync()
Definition window.cpp:144
float BaseHeight
Definition window.hpp:44
bool FramebufferUpdate
Definition window.cpp:241
float FullscreenHeight
Definition window.hpp:45
float DeltaTime
Definition window.cpp:234
float Alpha
Definition window.cpp:235
std::string key
TexturesManager * TEXTURES_MANAGER
The textures manager.
Definition window.cpp:15
FontManager * FONT_MANAGER
The font manager.
Definition window.cpp:16
Renderer * RENDERER
The main renderer.
Definition window.cpp:12
TextRenderer * TEXT_RENDERER
The text renderers.
Definition window.cpp:13
bool ISFULLSCREEN
Definition window.cpp:11
TextQueue * TEXT_QUEUE
The text queue.
Definition window.cpp:17
Input * INPUT
The input manager.
Definition window.cpp:14