kodi
OverlayRendererGLES.h
1 /*
2  * Initial code sponsored by: Voddler Inc (voddler.com)
3  * Copyright (C) 2005-2018 Team Kodi
4  * This file is part of Kodi - https://kodi.tv
5  *
6  * SPDX-License-Identifier: GPL-2.0-or-later
7  * See LICENSES/README.md for more information.
8  */
9 
10 #pragma once
11 
12 #include "OverlayRenderer.h"
13 
14 #include "system_gl.h"
15 
16 class CDVDOverlay;
17 class CDVDOverlayImage;
18 class CDVDOverlaySpu;
19 class CDVDOverlaySSA;
20 
21 namespace OVERLAY
22 {
23 
25 {
26 public:
31  explicit COverlayTextureGLES(const CDVDOverlayImage& o, CRect& rSource);
32  explicit COverlayTextureGLES(const CDVDOverlaySpu& o);
33  ~COverlayTextureGLES() override;
34 
35  void Render(SRenderState& state) override;
36 
37  GLuint m_texture = 0;
38  float m_u;
39  float m_v;
40  bool m_pma; /*< is alpha in texture premultiplied in the values */
41 };
42 
44 {
45 public:
46  COverlayGlyphGLES(ASS_Image* images, float width, float height);
47 
48  ~COverlayGlyphGLES() override;
49 
50  void Render(SRenderState& state) override;
51 
52  struct VERTEX
53  {
54  GLfloat u, v;
55  GLubyte r, g, b, a;
56  GLfloat x, y, z;
57  };
58 
59  std::vector<VERTEX> m_vertex;
60 
61  GLuint m_texture = 0;
62  float m_u;
63  float m_v;
64 };
65 
66 } // namespace OVERLAY
Definition: OverlayRendererGLES.h:43
Definition: DVDOverlaySSA.h:16
Definition: OverlayRenderer.h:43
COverlayTextureGLES(const CDVDOverlayImage &o, CRect &rSource)
Create the overlay for rendering.
Definition: OverlayRendererGLES.cpp:145
Definition: OverlayRenderer.h:33
Definition: DVDOverlayImage.h:18
Definition: OverlayRendererGLES.h:52
Definition: OverlayRendererGLES.h:24
Definition: OverlayRenderer.h:35
Definition: DVDOverlaySpu.h:16
Definition: DVDOverlay.h:27