Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cImageJPG.h
Go to the documentation of this file.
1 //
4 //
5 
6 #ifndef _INC_cImageJPG_H
7 #define _INC_cImageJPG_H
8 #if _MSC_VER >= 1000
9 #pragma once
10 #endif // _MSC_VER >= 1000
11 
12 #include "GrayCodec.h"
13 
14 #ifdef USE_JPEGLIB
17 
18 namespace GrayCodec
19 {
21 
23  : public cImageBase
24  {
31 
32  typedef cImageBase SUPER_t;
33 
34  public:
36 
37  public:
38  cImageJPG(void) noexcept;
39  virtual ~cImageJPG(void);
40 
41  HRESULT CreateSurfaceJPG(PIXELS_t cx, PIXELS_t cy, size_t nPitchBytes);
42 
43  virtual void SetEmpty() override;
44  virtual HRESULT ReadStream(cStreamInput& stmIn) override;
45  virtual HRESULT WriteStream(cStreamOutput* pFile) const override;
46 
48  };
49 
51  : public IImageCreator
52  , public cSingleton<cImageJPGType>
53  {
57  public:
59  : cSingleton<cImageJPGType>(this, typeid(cImageJPGType))
60  {
61  }
62  virtual bool IsFileExt(const FILECHAR_t* pszFileExt) const
63  {
64  return cFilePath::IsFileNameExt(pszFileExt, _FN(".jpg")) || cFilePath::IsFileNameExt(pszFileExt, _FN(".jpeg"));
65  }
66  virtual cImageBasePtr CreateObject() const override
67  {
68  return new cImageJPG;
69  }
70  };
71 };
72 #endif
73 #endif
#define _FN(x)
like _T(x) macro for static text file names.
Definition: FileName.h:23
#define GRAYCODEC_LINK
Definition: GrayCodec.h:15
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
Definition: cImageJPG.h:53
virtual cImageBasePtr CreateObject() const override
Definition: cImageJPG.h:66
virtual bool IsFileExt(const FILECHAR_t *pszFileExt) const
Definition: cImageJPG.h:62
cImageJPGType()
Definition: cImageJPG.h:58
Definition: cImageJPG.h:24
UNITTEST_FRIEND(cImageJPG)
virtual ~cImageJPG(void)
cImageJPG(void) noexcept
virtual HRESULT ReadStream(cStreamInput &stmIn) override
virtual HRESULT WriteStream(cStreamOutput *pFile) const override
cHeapBlock m_Pixels
Allocated memory for the surface pixels.
Definition: cImageJPG.h:35
HRESULT CreateSurfaceJPG(PIXELS_t cx, PIXELS_t cy, size_t nPitchBytes)
virtual void SetEmpty() override
Definition: cImageBase.h:21
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
lib jp2 opaque internal structure.
Definition: GrayCodec.cpp:26
UNITTEST2_PREDEF(cAudioAAC)
int PIXELS_t
Count of pixels in a dimension of some image/surface.
Definition: cSurfaceInfo.h:20
char FILECHAR_t
a UTF8 char in a file name. like TCHAR
Definition: FileName.h:22