6 #ifndef _INC_cSurfaceDC_H
7 #define _INC_cSurfaceDC_H
13 #include "../Geometry/cRectI.h"
73 virtual
void OnParamsChanged()
92 m_rClipDest =
cRectI(SHRT_MAX, SHRT_MAX, 0, 0);
103 virtual void DrawEraseClip();
113 return m_SurfDest.FlipToDC(hDC, XDest, YDest);
182 void CopyBase(
const THIS_t& SurfDC);
184 void DrawColorSpaceToRGB565();
194 return m_eFilterType;
201 void UpdateFilters();
204 m_eFilterType = filter;
208 void SetFilterHue(
HUE16_t wHue = 0);
210 void SetFilter565Color(
bool b565Color);
211 void SetFilterCloth(
bool bClothGray);
212 void SetFilterGrayCount(
signed char iVal);
#define GRAYCALL
declare calling convention for static functions so everyone knows the arg passing scheme....
Definition: GrayCore.h:36
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
#define UNREFERENCED_PARAMETER(P)
< _WIN32 type thing. get rid of stupid warning.
Definition: SysTypes.h:299
Definition: cColorRef.h:44
bool IsInsideX(DVALUE_t x) const noexcept
Definition: cRectI.h:63
bool IsInsideY(DVALUE_t y) const noexcept
Definition: cRectI.h:68
Definition: cSurfaceBase.h:26
PIXELS_t get_Height() const noexcept
Definition: cSurfaceBase.h:88
PIXELS_t get_Width() const noexcept
Definition: cSurfaceBase.h:83
Definition: cSurfaceDC.h:121
COLOR_ELEM_t m_Light
light level filter. 0 = none.
Definition: cSurfaceDC.h:135
bool m_b565Color
Definition: cSurfaceDC.h:137
COLOR_ELEM_t get_FilterLight() const noexcept
Definition: cSurfaceDC.h:196
void put_Filter(SURF_FILTER_TYPE filter)
Definition: cSurfaceDC.h:202
SURF_FILTER_TYPE get_Filter() const noexcept
Definition: cSurfaceDC.h:192
static COLOR16_t GRAYCALL CvtHueToColor_Stub(HUE16_t iHue, WORD iGamma) noexcept
Definition: cSurfaceDC.h:153
HUE16_t GetFilterHue() const noexcept
Definition: cSurfaceDC.h:188
bool m_bClothGrey
only colorize the Grey scale parts.
Definition: cSurfaceDC.h:136
HUE16_t m_wHueColor
colorize/palletized this ? 0 = none.
Definition: cSurfaceDC.h:133
signed char m_nGreyScaleCount
Definition: cSurfaceDC.h:134
cRectI m_rClipSrc
Source Surface/Raster Filter Params.
Definition: cSurfaceDC.h:131
SURF_FILTER_TYPE m_eFilterType
SURF_FILTER_NONE filter operation. similar to BitBlt ROP.
Definition: cSurfaceDC.h:132
Definition: cSurfaceDC.h:50
cSurfaceBase m_SurfDest
The destination surface. NOT freed on destruct. "Unlink" this when done.
Definition: cSurfaceDC.h:60
cColorRef m_ColorFore
Foreground pen.
Definition: cSurfaceDC.h:63
cRectI m_rClipDest
clip to this rectangle for draws to m_Dest. (m_Dest surface coordinate system)
Definition: cSurfaceDC.h:61
void SetClipDestEmpty()
Definition: cSurfaceDC.h:90
cColorRef m_ColorBack
Background color (if any) Use Alpha channel. isValidColor()
Definition: cSurfaceDC.h:64
bool IsInsideClipY(PIXELS_t y) const noexcept
Definition: cSurfaceDC.h:84
bool IsInsideClipX(PIXELS_t x) const noexcept
Definition: cSurfaceDC.h:79
UNITTEST_FRIEND(cSurfaceDC)
void SetClipDestAll()
Definition: cSurfaceDC.h:95
WORD COLOR16_t
A 16 bit greyscale color.
Definition: cColorRef.h:39
SURF_FILTER_TYPE
Definition: cSurfaceDC.h:20
@ SURF_FILTER_TRANSPARENT
Definition: cSurfaceDC.h:31
@ SURF_FILTER_SHADOW
Definition: cSurfaceDC.h:32
@ SURF_FILTER_BLACK
Definition: cSurfaceDC.h:33
@ SURF_FILTER_NONE
Definition: cSurfaceDC.h:23
@ SURF_FILTER_HUE_CLOTH_AND_LIGHT
Definition: cSurfaceDC.h:27
@ SURF_FILTER_HUE_CLOTH
Definition: cSurfaceDC.h:28
@ SURF_FILTER_HUE
Definition: cSurfaceDC.h:25
@ SURF_FILTER_HUE_AND_LIGHT
Definition: cSurfaceDC.h:26
@ SURF_FILTER_GREYSCALE
Definition: cSurfaceDC.h:30
@ SURF_FILTER_LIGHT
Definition: cSurfaceDC.h:24
UNITTEST2_PREDEF(cQuadtree)
COLOR16_t(GRAYCALL * SURF_CvtHueToColor_t)(HUE16_t iHue, int iGamma)
Definition: cSurfaceDC.h:47
COLOR16_t HUE16_t
Index into a hues table. (or palette) uses SURF_CvtHueToColor_t.
Definition: cSurfaceDC.h:46
BYTE COLOR_ELEM_t
A single 8 bit color element. alpha, red, green, or blue intensity as 0-255.
Definition: cColorRef.h:34
interface const RECTQ_t & rect
Definition: cQuadtree.h:44
int PIXELS_t
Count of pixels in a dimension of some image/surface.
Definition: cSurfaceInfo.h:20
Definition: cSurfaceDC.h:37
int m_u
source image. cPoint2
Definition: cSurfaceDC.h:40
int m_y
destination draw
Definition: cSurfaceDC.h:43
int m_v
source image.
Definition: cSurfaceDC.h:41
int m_x
destination draw
Definition: cSurfaceDC.h:42