6 #ifndef _INC_cSurfaceConv_H
7 #define _INC_cSurfaceConv_H
29 static const int k_MaxLineWidth = 4096;
32 typedef void (
_LOCCALL CONVF_t)(
const void* pvSrc,
void* pvDst,
int nDstWidth);
35 CONVF_t Conv_BGR888_RGB888;
36 CONVF_t Conv_BGR888_XBGR8888;
37 CONVF_t Conv_BGR888_ABGR8888;
38 CONVF_t Conv_BGR888_XRGB8888;
39 CONVF_t Conv_BGR888_ARGB8888;
40 CONVF_t Conv_BGR888_RGB565;
41 CONVF_t Conv_BGR888_XRGB1555;
42 CONVF_t Conv_BGR888_ARGB1555;
43 CONVF_t Conv_BGR888_A8;
44 CONVF_t Conv_ABGR8888_ARGB8888;
45 CONVF_t Conv_XBGR8888_ARGB8888;
46 CONVF_t Conv_XBGR8888_RGB565;
47 CONVF_t Conv_RGB888_BGR888;
48 CONVF_t Conv_RGB888_XBGR8888;
49 CONVF_t Conv_RGB888_ABGR8888;
50 CONVF_t Conv_RGB888_XRGB8888;
51 CONVF_t Conv_RGB888_ARGB8888;
52 CONVF_t Conv_RGB888_RGB565;
53 CONVF_t Conv_RGB888_XRGB1555;
54 CONVF_t Conv_RGB888_ARGB1555;
55 CONVF_t Conv_RGB888_A8;
56 CONVF_t Conv_XRGB8888_BGR888;
57 CONVF_t Conv_XRGB8888_XBGR8888;
58 CONVF_t Conv_XRGB8888_ABGR8888;
59 CONVF_t Conv_XRGB8888_RGB888;
60 CONVF_t Conv_XRGB8888_ARGB8888;
61 CONVF_t Conv_XRGB8888_RGB565;
62 CONVF_t Conv_XRGB8888_XRGB1555;
63 CONVF_t Conv_XRGB8888_ARGB1555;
64 CONVF_t Conv_XRGB8888_A8;
65 CONVF_t Conv_ARGB8888_BGR888;
66 CONVF_t Conv_ARGB8888_XBGR8888;
67 CONVF_t Conv_ARGB8888_ABGR8888;
68 CONVF_t Conv_ARGB8888_RGB888;
69 CONVF_t Conv_ARGB8888_XRGB8888;
70 CONVF_t Conv_ARGB8888_RGB565;
71 CONVF_t Conv_ARGB8888_XRGB1555;
72 CONVF_t Conv_ARGB8888_ARGB1555;
73 CONVF_t Conv_ARGB8888_A8;
74 CONVF_t Conv_RGB565_BGR888;
75 CONVF_t Conv_RGB565_XBGR8888;
76 CONVF_t Conv_RGB565_ABGR8888;
77 CONVF_t Conv_RGB565_RGB888;
78 CONVF_t Conv_RGB565_XRGB8888;
79 CONVF_t Conv_RGB565_ARGB8888;
80 CONVF_t Conv_RGB565_XRGB1555;
81 CONVF_t Conv_RGB565_ARGB1555;
82 CONVF_t Conv_XRGB1555_BGR888;
83 CONVF_t Conv_XRGB1555_XBGR8888;
84 CONVF_t Conv_XRGB1555_ABGR8888;
85 CONVF_t Conv_XRGB1555_RGB888;
86 CONVF_t Conv_XRGB1555_XRGB8888;
87 CONVF_t Conv_XRGB1555_ARGB8888;
88 CONVF_t Conv_A8_RGB888;
89 CONVF_t Conv_A8_XRGB8888;
90 CONVF_t Conv_A8_ARGB8888;
91 CONVF_t Conv_A8_RGB565;
92 CONVF_t Conv_A8_XRGB1555;
93 CONVF_t Conv_A8_ARGB1555;
94 CONVF_t Conv_ARGB1555_RGB888;
95 CONVF_t Conv_ARGB1555_XRGB8888;
96 CONVF_t Conv_ARGB1555_ARGB8888;
109 static const CConvDef k_aConvDef[];
111 CONVFP_t m_ConvertLine;
112 CONVFP_t m_ConvertLine1;
113 CONVFP_t m_ConvertLine2;
117 static const DWORD k_nScaleMult = 0x10000;
124 int Conv_Scale(
const void* pvSrc,
void* pvDst,
int nDstWidth);
133 return m_ConvertLine !=
nullptr;
138 return m_nScaleWStep != k_nScaleMult || m_nScaleHStep != k_nScaleMult;
145 void ConvertLines(
const void* pvSrc,
size_t nSrcPitchBytes,
void* pvDst,
size_t nDstPitchBytes,
int nDstWidth,
int iDstHeight,
bool bTopDownFlip);
#define _LOCCALL
Definition: GrayCore.h:52
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
Using X files without the sources and the makefile How to use you just create a debug directory e g
Definition: Readme.txt:21
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
Definition: cColorRef.h:483
Definition: cSurfaceConv.h:22
bool isScaling() const noexcept
Definition: cSurfaceConv.h:135
bool isInitForm() const noexcept
Definition: cSurfaceConv.h:130
UNITTEST_FRIEND(cSurfaceConv)
UNITTEST2_PREDEF(cQuadtree)
SURF_FORM_TYPE
Definition: cSurfaceInfo.h:24
@ SURF_FORM_UNKNOWN
AKA D3DFMT_UNKNOWN.
Definition: cSurfaceInfo.h:32
BYTE COLOR_ELEM_t
A single 8 bit color element. alpha, red, green, or blue intensity as 0-255.
Definition: cColorRef.h:34
int PIXELS_t
Count of pixels in a dimension of some image/surface.
Definition: cSurfaceInfo.h:20
unsigned short BIT_SIZE_t
number of bits in some intrinsic type. <= 256 ?
Definition: cBits.h:17