You.i Engine
YiAssetTexture.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_ASSET_TEXTURE_H_
3 #define _YI_ASSET_TEXTURE_H_
4 
12 #include "framework/YiPredef.h"
13 #include "graphics/YiBitmap.h"
14 #include "utility/YiRtti.h"
15 
24 {
25 public:
27  CYIAssetTexture(const CYIString &path, PATH_TYPE ePathType = PATH_RELATIVE, USAGE usage = USAGE_STATIC);
28 
29  virtual ~CYIAssetTexture();
30 
36  virtual int32_t GetWidth() const override;
37 
43  virtual int32_t GetHeight() const override;
44 
51  const std::shared_ptr<CYIBitmap> &GetBitmap();
52 
56  void SetBitmap(const std::shared_ptr<CYIBitmap> &pBitmap);
57 
61  void SetBitmap(std::unique_ptr<CYIBitmap> pBitmap);
62 
63  virtual std::pair<uint32_t, uint32_t> GetApproximateSize() const override;
64 
65 protected:
66  virtual std::shared_ptr<IYIGPUObject> CreateGPUObject() const override;
67 
68  virtual void OnUnload() override;
69 
70 private:
71  void UpdateCachedInfo(const std::shared_ptr<CYIBitmap> &pBitmap);
72  void UpdateEstimatedSize(bool bHardwareLoadRequested);
73 
74  std::shared_ptr<CYIBitmap> m_pBitmap;
75 
77 };
78 
82 #endif // _YI_ASSET_TEXTURE_H_
USAGE
Definition: YiAssetTextureBase.h:49
virtual int32_t GetHeight() const override
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
CYIAssetTexture(USAGE usage=USAGE_STATIC)
A texture asset representing an image which will be loaded into the GPU.
Definition: YiAssetTexture.h:23
virtual std::pair< uint32_t, uint32_t > GetApproximateSize() const override
#define YI_TYPE_BASES(...)
Definition: YiRtti.h:350
virtual ~CYIAssetTexture()
virtual void OnUnload() override
virtual int32_t GetWidth() const override
PATH_TYPE
Definition: YiAsset.h:44
Definition: YiAssetTextureBase.h:51
virtual std::shared_ptr< IYIGPUObject > CreateGPUObject() const override
This asset represents the base class for POT (Power Of Two) and NPOT (Non-Power Of Two) textures...
Definition: YiAssetTextureBase.h:24
const std::shared_ptr< CYIBitmap > & GetBitmap()
void SetBitmap(const std::shared_ptr< CYIBitmap > &pBitmap)
Definition: YiAsset.h:47
This file contains the classes and macros used to implement RTTI in You.i Engine. ...