DITConfiguration.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // Copyright 2019 Dolphin Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <map>
  5. #include <string>
  6. #include <vector>
  7. #include "Common/CommonTypes.h"
  8. #include "InputCommon/DynamicInputTextures/DITData.h"
  9. #include "InputCommon/ImageOperations.h"
  10. namespace Common
  11. {
  12. class IniFile;
  13. }
  14. namespace InputCommon::DynamicInputTextures
  15. {
  16. // Output folder name to image name to image data
  17. using OutputDetails = std::map<std::string, std::map<std::string, ImagePixelData>>;
  18. class Configuration
  19. {
  20. public:
  21. explicit Configuration(const std::string& json_path);
  22. ~Configuration();
  23. void GenerateTextures(const Common::IniFile& file,
  24. const std::vector<std::string>& controller_names,
  25. OutputDetails* output) const;
  26. private:
  27. void GenerateTexture(const Common::IniFile& file,
  28. const std::vector<std::string>& controller_names, const Data& texture_data,
  29. OutputDetails* output) const;
  30. std::vector<Data> m_dynamic_input_textures;
  31. std::string m_base_path;
  32. bool m_valid = true;
  33. };
  34. } // namespace InputCommon::DynamicInputTextures