xbmc
RPWinOutputShader.h
1 /*
2  * Copyright (C) 2017-2020 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 "cores/GameSettings.h"
12 #include "cores/VideoPlayer/VideoRenderers/VideoShaders/WinVideoFilter.h"
13 
14 namespace KODI
15 {
16 namespace SHADER
17 {
18 
20 {
21 public:
22  ~CRPWinOutputShader() = default;
23 
24  bool Create(RETRO::SCALINGMETHOD scalingMethod);
25  void Render(CD3DTexture& sourceTexture,
26  CRect sourceRect,
27  const CPoint points[4],
28  CRect& viewPort,
29  CD3DTexture* target,
30  unsigned range = 0);
31 
32 private:
33  void PrepareParameters(unsigned sourceWidth,
34  unsigned sourceHeight,
35  CRect sourceRect,
36  const CPoint points[4]);
37  void SetShaderParameters(CD3DTexture& sourceTexture, unsigned range, CRect& viewPort);
38 
39  unsigned m_sourceWidth{0};
40  unsigned m_sourceHeight{0};
41  CRect m_sourceRect{0.f, 0.f, 0.f, 0.f};
42  CPoint m_destPoints[4] = {
43  {0.f, 0.f},
44  {0.f, 0.f},
45  {0.f, 0.f},
46  {0.f, 0.f},
47  };
48 };
49 
50 } // namespace SHADER
51 } // namespace KODI
Definition: D3DResource.h:92
Definition: WinVideoFilter.h:30
Definition: AudioDecoder.h:18
Definition: RPWinOutputShader.h:19