forked from opdenkamp/xbmc
/
OverlayRendererDX.h
71 lines (57 loc) · 1.72 KB
/
OverlayRendererDX.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
* Copyright (C) 2005-2013 Team XBMC
* http://xbmc.org
*
* This Program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This Program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with XBMC; see the file COPYING. If not, see
* <http://www.gnu.org/licenses/>.
*
*/
#pragma once
#include "OverlayRenderer.h"
#include "guilib/D3DResource.h"
#ifdef HAS_DX
class CDVDOverlay;
class CDVDOverlayImage;
class CDVDOverlaySpu;
class CDVDOverlaySSA;
typedef struct ass_image ASS_Image;
namespace OVERLAY {
class COverlayQuadsDX
: public COverlay
{
public:
COverlayQuadsDX(ASS_Image* images, int width, int height);
virtual ~COverlayQuadsDX();
void Render(SRenderState& state);
int m_count;
DWORD m_fvf;
CD3DTexture m_texture;
CD3DBuffer m_vertex;
};
class COverlayImageDX
: public COverlay
{
public:
COverlayImageDX(CDVDOverlayImage* o);
COverlayImageDX(CDVDOverlaySpu* o);
virtual ~COverlayImageDX();
void Load(uint32_t* rgba, int width, int height, int stride);
void Render(SRenderState& state);
DWORD m_fvf;
CD3DTexture m_texture;
CD3DBuffer m_vertex;
bool m_pma;
};
}
#endif