6#ifndef INCLUDE_VULKANENGINE_WINDOW_H_
7#define INCLUDE_VULKANENGINE_WINDOW_H_
9#include <VulkanEngine/KeyboardInput.h>
10#include <VulkanEngine/MouseInput.h>
15#include <vulkan/vulkan.hpp>
27 Window(uint32_t _width, uint32_t _height,
const std::string& _title,
61 virtual void setWidth(uint32_t _width);
69 virtual void setTitle(
const std::string& new_title);
105 bool middle_pressed);
107 void keyboardButtonPressedCallback(
int scancode,
Provides an abstract interface for window implementations.
Definition: Window.h:20
virtual std::shared_ptr< KeyboardInput > getKeyboardInput() const
Get keyboard input instance for this window.
Definition: Window.cpp:45
std::shared_ptr< MouseInput > mouse_input
The MouseInput instance connected to this Window.
Definition: Window.h:133
virtual std::shared_ptr< MouseInput > getMouseInput() const
Get a MouseInfo instance which retrieves values from this Window instance.
Definition: Window.cpp:39
uint32_t framebuffer_height
The height of the window's framebuffer.
Definition: Window.h:120
virtual void update()=0
Do anything needed to update the window.
virtual const std::vector< const char * > getRequiredVulkanInstanceExtensions() const =0
bool isFullScreen() const
Definition: Window.cpp:71
std::string title
The title of the window.
Definition: Window.h:123
virtual vk::SurfaceKHR getVkSurface()=0
virtual void setWidth(uint32_t _width)
Definition: Window.cpp:49
~Window()
Desctructor.
Definition: Window.cpp:37
uint32_t getHeight() const
Definition: Window.cpp:59
uint32_t getFramebufferWidth() const
Definition: Window.cpp:61
uint32_t width
The current width of the window.
Definition: Window.h:111
void mouseButtonPressedCallback(bool left_pressed, bool right_pressed, bool middle_pressed)
Callback which gets the current status of mouse buttons.
Definition: Window.cpp:87
virtual bool shouldClose()=0
const std::string & getTitle() const
Definition: Window.cpp:69
uint32_t getWidth() const
Definition: Window.cpp:57
std::shared_ptr< KeyboardInput > keyboard_input
The KeyboardInput instance connect to this Window.
Definition: Window.h:136
virtual void setTitle(const std::string &new_title)
Definition: Window.cpp:53
bool full_screen
Whether or not the window is set to full screen.
Definition: Window.h:126
uint32_t framebuffer_width
The width of the window's framebuffer.
Definition: Window.h:117
bool sizeHasChanged() const
Definition: Window.cpp:73
virtual void setHeight(uint32_t _height)
Definition: Window.cpp:51
uint32_t height
The current height of the window.
Definition: Window.h:114
bool size_changed
Definition: Window.h:130
uint32_t getFramebufferHeight() const
Definition: Window.cpp:65
void mousePositionCallback(double xpos, double ypos)
Definition: Window.cpp:75
void mouseScrollCallback(double xoffset, double yoffset)
Definition: Window.cpp:81
virtual bool initialize(bool invisible=false)=0
TODO development of this class is in progress.
Definition: Attribute.h:13