Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/angle
Path: blob/main_old/util/x11/X11Window.h
1693 views
1
//
2
// Copyright 2015 The ANGLE Project Authors. All rights reserved.
3
// Use of this source code is governed by a BSD-style license that can be
4
// found in the LICENSE file.
5
//
6
7
// X11Window.h: Definition of the implementation of OSWindow for X11
8
9
#ifndef UTIL_X11_WINDOW_H
10
#define UTIL_X11_WINDOW_H
11
12
#include <X11/Xlib.h>
13
#include <X11/Xresource.h>
14
#include <X11/Xutil.h>
15
#include <string>
16
17
#include "util/OSWindow.h"
18
#include "util/util_export.h"
19
20
class ANGLE_UTIL_EXPORT X11Window : public OSWindow
21
{
22
public:
23
X11Window();
24
X11Window(int visualId);
25
~X11Window() override;
26
27
void disableErrorMessageDialog() override;
28
void destroy() override;
29
30
void resetNativeWindow() override;
31
EGLNativeWindowType getNativeWindow() const override;
32
EGLNativeDisplayType getNativeDisplay() const override;
33
34
void messageLoop() override;
35
36
void setMousePosition(int x, int y) override;
37
bool setOrientation(int width, int height) override;
38
bool setPosition(int x, int y) override;
39
bool resize(int width, int height) override;
40
void setVisible(bool isVisible) override;
41
42
void signalTestEvent() override;
43
44
private:
45
bool initializeImpl(const std::string &name, int width, int height) override;
46
void processEvent(const XEvent &event);
47
48
Atom WM_DELETE_WINDOW;
49
Atom WM_PROTOCOLS;
50
Atom TEST_EVENT;
51
52
Display *mDisplay;
53
Window mWindow;
54
int mRequestedVisualId;
55
bool mVisible;
56
};
57
58
#endif // UTIL_X11_WINDOW_H
59
60