FreeRDP
Loading...
Searching...
No Matches
sdl_widget_list.hpp
1#pragma once
2
3#include <memory>
4
5#include <SDL3/SDL.h>
6#include <winpr/assert.h>
7
8#include "sdl_buttons.hpp"
9
11{
12 public:
13 SdlWidgetList() = default;
14
15 SdlWidgetList(const SdlWidgetList& other) = delete;
16 SdlWidgetList(SdlWidgetList&& other) = delete;
17 SdlWidgetList& operator=(const SdlWidgetList& other) = delete;
18 SdlWidgetList& operator=(SdlWidgetList&& other) = delete;
19 virtual ~SdlWidgetList();
20
21 virtual bool reset(const std::string& title, size_t width, size_t height);
22
23 virtual bool visible() const;
24
25 protected:
26 bool update();
27 virtual bool clearWindow();
28 virtual bool updateInternal() = 0;
29
30 protected:
31 std::shared_ptr<SDL_Window> _window{};
32 std::shared_ptr<SDL_Renderer> _renderer{};
33 SdlButtonList _buttons;
34 SDL_Color _backgroundcolor{ 0x38, 0x36, 0x35, 0xff };
35};