| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #pragma once
- #include "CmPrerequisitesUtil.h"
- #include "CmTextureData.h"
- #include "CmRTTIType.h"
- #include "CmManagedDataBlock.h"
- namespace CamelotEngine
- {
- class CM_UTILITY_EXPORT TextureDataST : public RTTIType<TextureData, IReflectable, TextureDataST>
- {
- CM_SETGET_MEMBER(mNumMipmaps, UINT32, TextureData)
- CM_SETGET_MEMBER(mWidth, UINT32, TextureData)
- CM_SETGET_MEMBER(mHeight, UINT32, TextureData)
- CM_SETGET_MEMBER(mSize, UINT32, TextureData)
- CM_SETGET_MEMBER(mDepth, UINT32, TextureData)
- CM_SETGET_MEMBER(mFlags, INT32, TextureData)
- CM_SETGET_MEMBER(mBPP, UINT8, TextureData)
- CM_SETGET_MEMBER(mFormat, PixelFormat, TextureData)
-
- ManagedDataBlock getData(TextureData* obj)
- {
- return ManagedDataBlock(obj->mData, obj->mSize, false);
- }
- void setData(TextureData* obj, ManagedDataBlock val)
- {
- obj->mData = val.getData();
- obj->mSize = val.getSize();
- }
- public:
- TextureDataST()
- {
- CM_ADD_PLAINFIELD(mNumMipmaps, 0, TextureDataST);
- CM_ADD_PLAINFIELD(mWidth, 1, TextureDataST);
- CM_ADD_PLAINFIELD(mHeight, 2, TextureDataST);
- CM_ADD_PLAINFIELD(mSize, 3, TextureDataST);
- CM_ADD_PLAINFIELD(mDepth, 4, TextureDataST);
- CM_ADD_PLAINFIELD(mFlags, 5, TextureDataST);
- CM_ADD_PLAINFIELD(mBPP, 6, TextureDataST);
- CM_ADD_PLAINFIELD(mFormat, 7, TextureDataST);
- addDataBlockField("Data", 8, &TextureDataST::getData, &TextureDataST::setData);
- }
- virtual const String& getRTTIName()
- {
- static String name = "TextureData";
- return name;
- }
- virtual UINT32 getRTTIId()
- {
- return 102;
- }
- virtual std::shared_ptr<IReflectable> newRTTIObject()
- {
- return std::shared_ptr<TextureData>(new TextureData());
- }
- };
- }
|