GameKit  0.0.1a
C++ gamedev tools
Public Member Functions | Private Types | Private Attributes | List of all members
gk::Window Class Reference

#include <Window.hpp>

Inheritance diagram for gk::Window:
gk::RenderTarget

Public Member Functions

void open (const std::string &caption, u16 width, u16 height)
 
void clear ()
 
void display ()
 
void setVerticalSyncEnabled (bool enabled)
 
Vector2u getSize () const override
 
void close ()
 
bool isOpen () const
 
SDL_Window * window () const
 
const ViewgetDefaultView () const override
 
- Public Member Functions inherited from gk::RenderTarget
void draw (const IDrawable &drawable, const RenderStates &states=RenderStates::Default)
 
void draw (const VertexBuffer &vertexBuffer, GLenum mode, std::size_t firstVertex, std::size_t vertexCount, const RenderStates &states=RenderStates::Default)
 
void drawElements (const VertexBuffer &vertexBuffer, GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, const RenderStates &states=RenderStates::Default)
 
const ViewgetView () const
 
void setView (const View &view)
 
void disableView ()
 

Private Types

using SDL_WindowPtr = std::unique_ptr< SDL_Window, decltype(&SDL_DestroyWindow)>
 
using SDL_GLContextPtr = std::unique_ptr< void, decltype(&SDL_GL_DeleteContext)>
 

Private Attributes

SDL_WindowPtr m_window {nullptr, SDL_DestroyWindow}
 
SDL_GLContextPtr m_context {nullptr, SDL_GL_DeleteContext}
 
Vector2u m_size
 
bool m_isOpen
 
View m_defaultView
 

Detailed Description

Definition at line 26 of file Window.hpp.

Member Typedef Documentation

§ SDL_GLContextPtr

using gk::Window::SDL_GLContextPtr = std::unique_ptr<void, decltype(&SDL_GL_DeleteContext)>
private

Definition at line 46 of file Window.hpp.

§ SDL_WindowPtr

using gk::Window::SDL_WindowPtr = std::unique_ptr<SDL_Window, decltype(&SDL_DestroyWindow)>
private

Definition at line 45 of file Window.hpp.

Member Function Documentation

§ clear()

void gk::Window::clear ( )

Definition at line 61 of file Window.cpp.

§ close()

void gk::Window::close ( )
inline

Definition at line 37 of file Window.hpp.

§ display()

void gk::Window::display ( )

Definition at line 65 of file Window.cpp.

§ getDefaultView()

const View& gk::Window::getDefaultView ( ) const
inlineoverridevirtual

Implements gk::RenderTarget.

Definition at line 42 of file Window.hpp.

§ getSize()

Vector2u gk::Window::getSize ( ) const
inlineoverridevirtual

Implements gk::RenderTarget.

Definition at line 35 of file Window.hpp.

§ isOpen()

bool gk::Window::isOpen ( ) const
inline

Definition at line 38 of file Window.hpp.

§ open()

void gk::Window::open ( const std::string &  caption,
u16  width,
u16  height 
)

Definition at line 21 of file Window.cpp.

§ setVerticalSyncEnabled()

void gk::Window::setVerticalSyncEnabled ( bool  enabled)

Definition at line 69 of file Window.cpp.

§ window()

SDL_Window* gk::Window::window ( ) const
inline

Definition at line 40 of file Window.hpp.

Member Data Documentation

§ m_context

SDL_GLContextPtr gk::Window::m_context {nullptr, SDL_GL_DeleteContext}
private

Definition at line 49 of file Window.hpp.

§ m_defaultView

View gk::Window::m_defaultView
private

Definition at line 55 of file Window.hpp.

§ m_isOpen

bool gk::Window::m_isOpen
private

Definition at line 53 of file Window.hpp.

§ m_size

Vector2u gk::Window::m_size
private

Definition at line 51 of file Window.hpp.

§ m_window

SDL_WindowPtr gk::Window::m_window {nullptr, SDL_DestroyWindow}
private

Definition at line 48 of file Window.hpp.


The documentation for this class was generated from the following files: