27#include <freerdp/settings_types.h>
32 [[nodiscard]]
static SdlWindow create(SDL_DisplayID
id,
const std::string& title, Uint32 flags,
33 Uint32 width = 0, Uint32 height = 0);
42 [[nodiscard]] SDL_WindowID id()
const;
43 [[nodiscard]] SDL_DisplayID displayIndex()
const;
44 [[nodiscard]] SDL_Rect rect()
const;
45 [[nodiscard]] SDL_Rect bounds()
const;
46 [[nodiscard]] SDL_Window* window()
const;
48 [[nodiscard]] Sint32 offsetX()
const;
49 void setOffsetX(Sint32 x);
51 void setOffsetY(Sint32 y);
52 [[nodiscard]] Sint32 offsetY()
const;
54 [[nodiscard]]
rdpMonitor monitor(
bool isPrimary)
const;
56 [[nodiscard]]
float scale()
const;
57 [[nodiscard]] SDL_DisplayOrientation orientation()
const;
59 [[nodiscard]]
bool grabKeyboard(
bool enable);
60 [[nodiscard]]
bool grabMouse(
bool enable);
61 void setBordered(
bool bordered);
63 void resizeable(
bool use);
64 void fullscreen(
bool enter);
67 [[nodiscard]]
bool resize(
const SDL_Point& size);
69 [[nodiscard]]
bool drawRect(SDL_Surface* surface, SDL_Point offset,
const SDL_Rect& srcRect);
70 [[nodiscard]]
bool drawRects(SDL_Surface* surface, SDL_Point offset,
71 const std::vector<SDL_Rect>& rects = {});
72 [[nodiscard]]
bool drawScaledRect(SDL_Surface* surface,
const SDL_FPoint& scale,
73 const SDL_Rect& srcRect);
75 [[nodiscard]]
bool drawScaledRects(SDL_Surface* surface,
const SDL_FPoint& scale,
76 const std::vector<SDL_Rect>& rects = {});
78 [[nodiscard]]
bool fill(Uint8 r = 0x00, Uint8 g = 0x00, Uint8 b = 0x00, Uint8 a = 0xff);
79 [[nodiscard]]
bool blit(SDL_Surface* surface,
const SDL_Rect& src, SDL_Rect& dst);
83 SdlWindow(
const std::string& title,
const SDL_Rect& rect, Uint32 flags);
86 SDL_Window* _window =
nullptr;