kodi
TextureBundle.h
1 /*
2  * Copyright (C) 2005-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 "TextureBundleXBT.h"
12 
13 #include <memory>
14 #include <string>
15 #include <utility>
16 #include <vector>
17 
18 class CTexture;
19 
21 {
22 public:
24  explicit CTextureBundle(bool useXBT);
25  ~CTextureBundle() = default;
26 
27  void SetThemeBundle(bool themeBundle);
28  bool HasFile(const std::string& Filename);
29  std::vector<std::string> GetTexturesFromPath(const std::string& path);
30  static std::string Normalize(std::string name);
31 
38  std::optional<CTextureBundleXBT::Texture> LoadTexture(const std::string& filename);
39 
46  std::optional<CTextureBundleXBT::Animation> LoadAnim(const std::string& filename);
47 
48  void Close();
49 private:
50  CTextureBundleXBT m_tbXBT;
51 
52  bool m_useXBT;
53 };
54 
55 
std::optional< CTextureBundleXBT::Animation > LoadAnim(const std::string &filename)
Load animation from bundle.
Definition: TextureBundle.cpp:55
Definition: TextureBundleXBT.h:24
Base texture class, subclasses of which depend on the render spec (DX, GL etc.)
Definition: Texture.h:34
std::optional< CTextureBundleXBT::Texture > LoadTexture(const std::string &filename)
Load texture from bundle.
Definition: TextureBundle.cpp:47
Definition: TextureBundle.h:20