xbmc
GameSettings.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 #include "utils/Observer.h"
13 
14 #include <string>
15 
16 class CGameSettings : public Observable
17 {
18 public:
19  CGameSettings() { Reset(); }
20  CGameSettings(const CGameSettings &other) { *this = other; }
21 
22  CGameSettings &operator=(const CGameSettings &rhs);
23 
24  // Restore game settings to default
25  void Reset();
26 
27  bool operator==(const CGameSettings &rhs) const;
28  bool operator!=(const CGameSettings &rhs) const { return !(*this == rhs); }
29 
30  const std::string &VideoFilter() const { return m_videoFilter; }
31  void SetVideoFilter(const std::string &videoFilter);
32 
33  KODI::RETRO::STRETCHMODE StretchMode() const { return m_stretchMode; }
34  void SetStretchMode(KODI::RETRO::STRETCHMODE stretchMode);
35 
36  unsigned int RotationDegCCW() const { return m_rotationDegCCW; }
37  void SetRotationDegCCW(unsigned int rotation);
38 
39 private:
40  // Video settings
41  std::string m_videoFilter;
42  KODI::RETRO::STRETCHMODE m_stretchMode;
43  unsigned int m_rotationDegCCW;
44 };
Definition: GameSettings.h:16
STRETCHMODE
Methods for stretching the game to the viewing area.
Definition: GameSettings.h:29
Definition: Observer.h:44