38 lines
798 B
C++
38 lines
798 B
C++
#ifndef Display_h_
|
|
#define Display_h_
|
|
|
|
#define GLM_ENABLE_EXPERIMENTAL
|
|
#include "glm/vec2.hpp"
|
|
|
|
#define GL_GLEXT_PROTOTYPES
|
|
#define GLEW_STATIC
|
|
#include "glew/glew.h"
|
|
|
|
#include "SDL.h"
|
|
|
|
#include <SDL_image.h>
|
|
#include "sdl2-gfx/SDL2_gfxPrimitives.h"
|
|
#include "sdl2-gfx/SDL2_rotozoom.h"
|
|
|
|
#include "Node.hpp"
|
|
#include "Box.hpp"
|
|
|
|
struct Display : Node
|
|
{
|
|
|
|
const static int bpp = 32;
|
|
|
|
Display(Node*);
|
|
glm::ivec2 get_window_size() const;
|
|
Uint32 get_pixel_format(int = 0) const;
|
|
Box get_window_box() const;
|
|
void get_screen_pixels(unsigned char*, int, int, int = 0, int = 0) const;
|
|
SDL_Surface* get_screen_surface() const;
|
|
SDL_Surface* get_screen_surface_from_pixels(unsigned char*, bool) const;
|
|
void respond(SDL_Event&);
|
|
void toggle_fullscreen() const;
|
|
|
|
};
|
|
|
|
#endif
|