Etterna 0.75.1
Loading...
Searching...
No Matches
LowLevelWindowVK_X11.h
1#ifndef LOW_LEVEL_WINDOW_VK_X11_H
2#define LOW_LEVEL_WINDOW_VK_X11_H
3
4#include "LowLevelWindowVK.h"
5#include <X11/extensions/Xrandr.h>
6#include <memory>
7
9{
10 public:
13
14 // Return "" if mode change was successful, otherwise an error message.
15 // bNewDeviceOut is set true if a new device was created and textures
16 // need to be reloaded.
17 std::string TryVideoMode(const VideoModeParams& p,
18 bool& bNewDeviceOut) override;
19 void GetDisplaySpecs(DisplaySpecs& out) const override;
20 void Update() override;
21
22 const ActualVideoModeParams* GetActualVideoModeParams() const override;
23 bool SupportsFullscreenBorderlessWindow() const override;
24
25 private:
26 bool NetWMSupported(Display* Dpy, Atom feature) const;
27 void RestoreOutputConfig();
28
29 Atom wmDeleteMessage = None;
30 std::unique_ptr<ActualVideoModeParams> CurrentParams;
31 bool m_bWasWindowed = true;
32
33 bool m_bUseXRandR12 = false;
34 int m_iRandRVerMajor = 0;
35 int m_iRandRVerMinor = 0;
36 RROutput m_usedCrtc = None;
37 RRMode m_originalRandRMode = None;
38 bool m_bChangedScreenSize = false;
39 SizeID m_iOldSize = None;
40 Rotation m_OldRotation = RR_Rotate_0;
41 XRRScreenConfiguration* m_pScreenConfig = nullptr;
42};
43
44#endif
The actual VideoModeParams determined by the LowLevelWindow implementation. Contains all the attribut...
Definition RageDisplay.h:208
Definition LowLevelWindowVK_X11.h:9
Definition LowLevelWindowVK.h:14
The parameters used for the present Video Mode.
Definition RageDisplay.h:102