Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cImageDDS.h
Go to the documentation of this file.
1 //
4 //
5 
6 #ifndef _INC_cImageDDS_H
7 #define _INC_cImageDDS_H
8 #if _MSC_VER >= 1000
9 #pragma once
10 #endif // _MSC_VER >= 1000
11 
12 #include "cImageBase.h"
15 
16 namespace GrayLib
17 {
19 
21  : public cImageBase
22  , public cSurfaceFrames
23  {
28 
29  typedef cImageBase SUPER_t;
30 
31  public:
32  cHeapBlock m_Pixels; // allocate space for the pixel data.
33 
34  public:
35  cImageDDS(void) noexcept;
36  virtual ~cImageDDS(void);
37 
38  virtual void SetEmpty() override;
39  virtual HRESULT SetFrameCurrent(int iFrameNum) override;
40 
41  virtual HRESULT ReadStream(cStreamInput& strIn) override;
42  virtual HRESULT WriteStream(cStreamOutput* pFile) const override;
43 
45  };
46 
48  : public IImageCreator
49  , public cSingleton<cImageDDSType>
50  {
53  public:
55  : cSingleton<cImageDDSType>(this, typeid(cImageDDSType))
56  {
57  }
58  virtual bool IsFileExt(const FILECHAR_t* pszFileExt) const
59  {
60  return cFilePath::IsFileNameExt(pszFileExt, _FN(".dds"));
61  }
62  virtual cImageBasePtr CreateObject() const override
63  {
64  return new cImageDDS;
65  }
66  };
67 
68 };
69 #endif
#define _FN(x)
like _T(x) macro for static text file names.
Definition: FileName.h:23
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
Definition: cImageBase.h:21
Definition: cImageDDS.h:50
cImageDDSType()
Definition: cImageDDS.h:54
virtual bool IsFileExt(const FILECHAR_t *pszFileExt) const
Definition: cImageDDS.h:58
virtual cImageBasePtr CreateObject() const override
Definition: cImageDDS.h:62
Definition: cImageDDS.h:23
cHeapBlock m_Pixels
Definition: cImageDDS.h:32
UNITTEST2_PREDEF(cImageDDS)
Definition: cSurfaceBase.h:26
Definition: cSurfaceBase.h:366
static bool __stdcall IsFileNameExt(const FILECHAR_t *pszFileName, const FILECHAR_t *pszExt) noexcept
Definition: cFilePath.cpp:1006
Definition: cHeap.h:156
Definition: cRefPtr.h:225
Definition: cSingleton.h:127
Definition: cStream.h:306
Definition: cStream.h:126
Definition: cImageBase.h:66
Definition: cMesh.h:22
UNITTEST2_PREDEF(cQuadtree)
char FILECHAR_t
a UTF8 char in a file name. like TCHAR
Definition: FileName.h:22