kodi
xbmc
windowing
X11
WinSystemX11GLESContext.h
1
/*
2
* Copyright (C) 2005-2018 Team Kodi
3
* This file is part of Kodi - https://kodi.tv
4
*
5
* SPDX-License-Identifier: GPL-2.0-or-later
6
* See LICENSES/README.md for more information.
7
*/
8
9
#pragma once
10
11
#include "EGL/egl.h"
12
#include "WinSystemX11.h"
13
#include "rendering/gles/RenderSystemGLES.h"
14
15
class
CGLContextEGL
;
16
17
namespace
KODI
18
{
19
namespace
WINDOWING
20
{
21
namespace
X11
22
{
23
24
class
CWinSystemX11GLESContext
:
public
CWinSystemX11
,
public
CRenderSystemGLES
25
{
26
public
:
27
CWinSystemX11GLESContext
() =
default
;
28
virtual
~
CWinSystemX11GLESContext
()
override
;
29
30
static
void
Register();
31
static
std::unique_ptr<CWinSystemBase> CreateWinSystem();
32
33
// Implementation of CWinSystem via CWinSystemX11
34
CRenderSystemBase
* GetRenderSystem()
override
{
return
this
; }
35
bool
CreateNewWindow(
const
std::string& name,
bool
fullScreen,
RESOLUTION_INFO
& res)
override
;
36
bool
ResizeWindow(
int
newWidth,
int
newHeight,
int
newLeft,
int
newTop)
override
;
37
void
FinishWindowResize(
int
newWidth,
int
newHeight)
override
;
38
bool
SetFullScreen(
bool
fullScreen,
RESOLUTION_INFO
& res,
bool
blankOtherDisplays)
override
;
39
bool
DestroyWindowSystem()
override
;
40
bool
DestroyWindow()
override
;
41
42
bool
IsExtSupported(
const
char
* extension)
const override
;
43
44
EGLDisplay GetEGLDisplay()
const
;
45
EGLSurface GetEGLSurface()
const
;
46
EGLContext GetEGLContext()
const
;
47
EGLConfig GetEGLConfig()
const
;
48
49
protected
:
50
bool
SetWindow(
int
width,
int
height,
bool
fullscreen,
const
std::string& output,
int
* winstate =
nullptr
)
override
;
51
void
PresentRenderImpl(
bool
rendered)
override
;
52
void
SetVSyncImpl(
bool
enable)
override
;
53
bool
RefreshGLContext(
bool
force);
54
XVisualInfo* GetVisual()
override
;
55
56
CGLContextEGL
* m_pGLContext =
nullptr
;
57
bool
m_newGlContext;
58
};
59
60
}
// namespace X11
61
}
// namespace WINDOWING
62
}
// namespace KODI
CGLContextEGL
Definition:
GLContextEGL.h:25
CRenderSystemGLES
Definition:
RenderSystemGLES.h:73
WINDOWING
CRenderSystemBase
Definition:
RenderSystem.h:27
RESOLUTION_INFO
Provide info of a resolution.
Definition:
Resolution.h:66
KODI::WINDOWING::X11::CWinSystemX11GLESContext
Definition:
WinSystemX11GLESContext.h:24
KODI
Definition:
AudioDecoder.h:18
KODI::WINDOWING::X11::CWinSystemX11
Definition:
WinSystemX11.h:34
Generated by
1.8.13