kodi
WinSystemWaylandEGLContextGLES.h
1 /*
2  * Copyright (C) 2017-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 "WinSystemWaylandEGLContext.h"
12 #include "rendering/gles/RenderSystemGLES.h"
13 
14 namespace KODI
15 {
16 namespace WINDOWING
17 {
18 namespace WAYLAND
19 {
20 
21 class CVaapiProxy;
22 
24 {
25 public:
26  static void Register();
27  static std::unique_ptr<CWinSystemBase> CreateWinSystem();
28 
29  // Implementation of CWinSystemBase via CWinSystemWaylandEGLContext
30  CRenderSystemBase *GetRenderSystem() override { return this; }
31  bool InitWindowSystem() override;
32 
33 protected:
34  bool CreateContext() override;
35  void SetContextSize(CSizeInt size) override;
36  void SetVSyncImpl(bool enable) override;
37  void PresentRenderImpl(bool rendered) override;
39  {
40  void operator()(CVaapiProxy *p) const;
41  };
42  std::unique_ptr<CVaapiProxy, delete_CVaapiProxy> m_vaapiProxy;
43 };
44 
45 }
46 }
47 }
Definition: RenderSystemGLES.h:73
Definition: RenderSystem.h:27
Definition: OptionalsReg.cpp:95
Definition: AudioDecoder.h:18
Definition: WinSystemWaylandEGLContext.h:33
Definition: WinSystemWaylandEGLContextGLES.h:23