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 #include "GUIRenderTarget.h"
10 
11 #include "cores/RetroPlayer/guicontrols/GUIGameControl.h"
12 #include "cores/RetroPlayer/guiwindows/GameWindowFullScreen.h"
13 #include "cores/RetroPlayer/rendering/IRenderManager.h"
14 
15 using namespace KODI;
16 using namespace RETRO;
17 
18 // --- CGUIRenderTarget --------------------------------------------------------
19 
CGUIRenderTarget(IRenderManager * renderManager)20 CGUIRenderTarget::CGUIRenderTarget(IRenderManager* renderManager) : m_renderManager(renderManager)
21 {
22 }
23 
24 // --- CGUIRenderControl -------------------------------------------------------
25 
CGUIRenderControl(IRenderManager * renderManager,CGUIGameControl & gameControl)26 CGUIRenderControl::CGUIRenderControl(IRenderManager* renderManager, CGUIGameControl& gameControl)
27   : CGUIRenderTarget(renderManager), m_gameControl(gameControl)
28 {
29 }
30 
Render()31 void CGUIRenderControl::Render()
32 {
33   m_renderManager->RenderControl(true, true, m_gameControl.GetRenderRegion(),
34                                  m_gameControl.GetRenderSettings());
35 }
36 
RenderEx()37 void CGUIRenderControl::RenderEx()
38 {
39   //! @todo
40   // m_renderManager->RenderControl(false, false, m_gameControl.GetRenderRegion(),
41   // m_gameControl.GetRenderSettings());
42 }
43 
44 // --- CGUIRenderFullScreen ----------------------------------------------------
45 
CGUIRenderFullScreen(IRenderManager * renderManager,CGameWindowFullScreen & window)46 CGUIRenderFullScreen::CGUIRenderFullScreen(IRenderManager* renderManager,
47                                            CGameWindowFullScreen& window)
48   : CGUIRenderTarget(renderManager), m_window(window)
49 {
50 }
51 
Render()52 void CGUIRenderFullScreen::Render()
53 {
54   m_renderManager->RenderWindow(true, m_window.GetCoordsRes());
55 }
56 
RenderEx()57 void CGUIRenderFullScreen::RenderEx()
58 {
59   //! @todo
60   // m_renderManager->RenderWindow(false, m_window.GetCoordsRes());
61 }
62 
ClearBackground()63 void CGUIRenderFullScreen::ClearBackground()
64 {
65   m_renderManager->ClearBackground();
66 }
67