You.i Engine
YiImageDecoderPNG.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_DECODER_PNG_H_
3 #define _YI_DECODER_PNG_H_
4 
5 #include "asset/YiImageDecoder.h"
6 
12 class CYIBitmap;
13 class CYIBitmapPriv;
14 class CYIImageDecoderPNGPriv;
15 
20 {
21  friend class CYIImageDecoderPNGPriv;
22 
23 public:
25  virtual ~CYIImageDecoderPNG();
26 
27  virtual bool GetImageDimensions(const CYIString &path, uint32_t *pnWidth, uint32_t *pnHeight) override;
28 
29 protected:
30  virtual std::unique_ptr<CYIBitmap> DecodeImpl(const CYIString &path, YI_DECODER_BITMAP_PARAMS *pParams) override;
31  virtual std::unique_ptr<CYIBitmap> DecodeImpl(const uint8_t *fileData, uint32_t nDataSize, YI_DECODER_BITMAP_PARAMS *pParams) override;
32 
33 private:
34 
35  CYIImageDecoderPNGPriv *m_pPriv;
36 
38 };
39 
42 #endif // _YI_DECODER_PNG_H_
#define YI_DISALLOW_COPY_AND_ASSIGN(TypeName)
Delete the copy constructor and assignment operator (and consequently the move constructor as well) ...
Definition: YiPredef.h:114
virtual std::unique_ptr< CYIBitmap > DecodeImpl(const CYIString &path, YI_DECODER_BITMAP_PARAMS *pParams) override
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
The core bitmap container class used by You.i Engine.
Definition: YiBitmap.h:20
virtual ~CYIImageDecoderPNG()
Image decoder for the PNG file format.
Definition: YiImageDecoderPNG.h:19
General container for passing parameters to an image decoder.
Definition: YiImageDecoder.h:18
virtual bool GetImageDimensions(const CYIString &path, uint32_t *pnWidth, uint32_t *pnHeight) override
Raster image decoder base class; all raster image decoders should sub-type this class.
Definition: YiImageDecoder.h:41
friend class CYIImageDecoderPNGPriv
Definition: YiImageDecoderPNG.h:21