123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- #pragma once
- #include "../Common.h"
- NS_BF_BEGIN;
- enum
- {
- HWBITS_UNKNOWN,
- HWBITS_PVRTC_2BPPV1,
- HWBITS_PVRTC_4BPPV1,
- HWBITS_PVRTC_2X4BPPV1
- };
- class ImageData
- {
- public:
- int mRefCount;
- int mX;
- int mY;
- int mWidth;
- int mHeight;
- int mStride;
- void* mHWBits;
- int mHWBitsLength;
- int mHWBitsType;
- uint32* mBits;
- uint8* mSrcData;
- int mSrcDataLen;
- bool mKeepSrcDataValid;
- bool mOwnsSrcData;
- bool mWantsAlphaPremultiplied;
- bool mAlphaPremultiplied;
- bool mIsAdditive;
- public:
- ImageData();
- virtual ~ImageData();
- void AddRef();
- void Deref();
- void SwapRAndB();
- void CreateNew(int x, int y, int width, int height, bool clear = true);
- void CreateNew(int width, int height, bool clear = true);
- void CopyFrom(ImageData* img, int x, int y);
- void Fill(uint32 color);
- virtual ImageData* Duplicate();
- void SetSrcData(uint8* data, int dataLen);
- virtual bool LoadFromMemory(void* ptr, int size);
- virtual bool LoadFromFile(const StringImpl& path);
- virtual bool ReadData() { return false; }
- virtual void PremultiplyAlpha();
- virtual void UnPremultiplyAlpha();
- };
- NS_BF_END;
|