xbmc
RenderVideoSettings.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 "cores/GameSettings.h"
12 
13 #include <string>
14 
15 namespace KODI
16 {
17 namespace RETRO
18 {
23 {
24 public:
25  CRenderVideoSettings() { Reset(); }
26 
27  void Reset();
28 
29  bool operator==(const CRenderVideoSettings& rhs) const;
30  bool operator!=(const CRenderVideoSettings& rhs) const { return !(*this == rhs); }
31  bool operator<(const CRenderVideoSettings& rhs) const;
32  bool operator>(const CRenderVideoSettings& rhs) const { return !(*this == rhs || *this < rhs); }
33 
37  std::string GetVideoFilter() const;
38  void SetVideoFilter(const std::string& videoFilter);
39 
40  SCALINGMETHOD GetScalingMethod() const { return m_scalingMethod; }
41  void SetScalingMethod(SCALINGMETHOD method) { m_scalingMethod = method; }
42 
43  STRETCHMODE GetRenderStretchMode() const { return m_stretchMode; }
44  void SetRenderStretchMode(STRETCHMODE mode) { m_stretchMode = mode; }
45 
46  unsigned int GetRenderRotation() const { return m_rotationDegCCW; }
47  void SetRenderRotation(unsigned int rotationDegCCW) { m_rotationDegCCW = rotationDegCCW; }
48 
49  std::string GetPixels() const { return m_pixelPath; }
50  void SetPixels(const std::string& pixelPath) { m_pixelPath = pixelPath; }
51  void ResetPixels();
52 
53 private:
54  SCALINGMETHOD m_scalingMethod;
55  STRETCHMODE m_stretchMode;
56  unsigned int m_rotationDegCCW;
57  std::string m_pixelPath;
58 };
59 } // namespace RETRO
60 } // namespace KODI
Controller configuration window.
Definition: AudioDecoder.h:18
STRETCHMODE
Methods for stretching the game to the viewing area.
Definition: GameSettings.h:29
std::string GetVideoFilter() const
Get a string representation of the video filter parameters.
Definition: RenderVideoSettings.cpp:56
Video settings provided by the rendering system.
Definition: RenderVideoSettings.h:22