Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cSurface.h
Go to the documentation of this file.
1 //
4 //
5 
6 #ifndef _INC_cSurface_H
7 #define _INC_cSurface_H
8 #ifndef NO_PRAGMA_ONCE
9 #pragma once
10 #endif
11 
12 #include "cSurfaceBase.h"
13 #include "GrayCore/include/cHeap.h"
14 #include "GrayCore/include/cFile.h"
15 
16 namespace GrayLib
17 {
19 
21  {
26 
27  typedef cSurfaceBase SUPER_t;
28 
29  public:
31 
32  public:
33  cSurface() noexcept;
34  virtual ~cSurface();
35 
36  HRESULT LoadRawGrey(cStreamInput& stmIn, PIXELS_t cx, PIXELS_t cy, SURF_FORM_TYPE ePixelFormat = SURF_FORM_D16);
37  HRESULT LoadRawGrey(const FILECHAR_t* pszFilename, PIXELS_t cx, PIXELS_t cy, SURF_FORM_TYPE ePixelFormat = SURF_FORM_D16);
38 
39  HRESULT CreateSurface(const cSurfaceInfo& rInfo);
40  HRESULT CreateSurfaceAlign(PIXELS_t cx, PIXELS_t cy, size_t nAlignBytes, SURF_FORM_TYPE ePixelFormat);
41 
42  virtual void SetEmpty();
43  virtual HRESULT SetCopySurface(const cSurfaceBase& Surf);
44  HRESULT InitTestPattern(SURF_FORM_TYPE ePixelFormat);
45 
46 #if defined(_WIN32) && ! defined(UNDER_CE)
47  HRESULT SetCopyBitmap(HBITMAP hBitmap);
48 #endif
49 
51  };
52 }
53 #endif // _INC_cSurface_H
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
Definition: cSurfaceBase.h:26
Definition: cSurfaceInfo.h:109
Definition: cSurface.h:21
cHeapBlock m_Pixels
Allocated memory for the surface pixels. m_pPixelData.
Definition: cSurface.h:30
UNITTEST_FRIEND(cSurface)
Definition: cHeap.h:156
Definition: cStream.h:306
Definition: cMesh.h:22
UNITTEST2_PREDEF(cQuadtree)
SURF_FORM_TYPE
Definition: cSurfaceInfo.h:24
@ SURF_FORM_D16
grey scale 16 bit unsigned. D3DFMT_D16
Definition: cSurfaceInfo.h:49
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