Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::cSurfaceDC2 Class Reference

#include <cSurfaceDC.h>

Inheritance diagram for GrayLib::cSurfaceDC2:
GrayLib::cSurfaceDC

Public Member Functions

 cSurfaceDC2 ()
 
 cSurfaceDC2 (COLOR16_t *pDataDest, PIXELS_t cx, PIXELS_t cy, size_t iPitchBytes)
 
 cSurfaceDC2 (cSurfaceBase *pSurfDest)
 
 cSurfaceDC2 (PIXELS_t x, PIXELS_t y)
 
 ~cSurfaceDC2 ()
 
THIS_toperator= (const THIS_t &SurfDC)
 
void DrawXLine (COLOR16_t *pDst, const COLOR16_t *pSrc, int iWidth)
 
void DrawXLine (PIXELS_t x, PIXELS_t y, const COLOR16_t *pSrc, int iWidth)
 
void DrawXClip (PIXELS_t x, COLOR16_t *pDstLine, const COLOR16_t *pSrc, int iWidth=1)
 
void DrawXYClip (PIXELS_t x, PIXELS_t y, const COLOR16_t *pSrc, int iWidth)
 
bool DrawSurf (PIXELS_t x, PIXELS_t y, const cSurfaceBase &SrcSurf, PIXELS_t iWidth, PIXELS_t iHeight)
 
bool DrawSurf (PIXELS_t x, PIXELS_t y, const cSurfaceBase &SrcSurf)
 
bool DrawTexture (const cSurfaceBase &SrcSurf, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4)
 
void CopyBase (const THIS_t &SurfDC)
 
void DrawColorSpaceToRGB565 ()
 
bool SetClipSrc (PIXELS_t x, PIXELS_t y, PIXELS_t iWidth, PIXELS_t iHeight)
 
HUE16_t GetFilterHue () const noexcept
 
SURF_FILTER_TYPE get_Filter () const noexcept
 
COLOR_ELEM_t get_FilterLight () const noexcept
 
void UpdateFilters ()
 
void put_Filter (SURF_FILTER_TYPE filter)
 
void put_FilterLight (COLOR_ELEM_t lightlevel=0)
 
void SetFilterHue (HUE16_t wHue=0)
 
void SetFilter565Color (bool b565Color)
 
void SetFilterCloth (bool bClothGray)
 
void SetFilterGrayCount (signed char iVal)
 
- Public Member Functions inherited from GrayLib::cSurfaceDC
 cSurfaceDC () noexcept
 
 cSurfaceDC (COLOR16_t *pDataDest, PIXELS_t cx, PIXELS_t cy, size_t iPitchBytes)
 
 cSurfaceDC (cSurfaceBase *pSurfDest)
 
 cSurfaceDC (PIXELS_t x, PIXELS_t y)
 
virtual ~cSurfaceDC ()
 
virtual void OnParamsChanged ()
 
bool IsInsideClipX (PIXELS_t x) const noexcept
 
bool IsInsideClipY (PIXELS_t y) const noexcept
 
void SetClipDestEmpty ()
 
void SetClipDestAll ()
 
void SetClipDest (const cRectI &rect)
 
virtual void DrawEraseClip ()
 
virtual void DrawBlt (PIXELS_t x, PIXELS_t y, cSurfaceBase *pSrc, const cRectI &srcRect, DWORD rop)
 
 UNITTEST_FRIEND (cSurfaceDC)
 

Static Public Member Functions

static COLOR16_t GRAYCALL CvtHueToColor_Stub (HUE16_t iHue, WORD iGamma) noexcept
 

Public Attributes

cRectI m_rClipSrc
 Source Surface/Raster Filter Params. More...
 
SURF_FILTER_TYPE m_eFilterType
 SURF_FILTER_NONE filter operation. similar to BitBlt ROP. More...
 
HUE16_t m_wHueColor
 colorize/palletized this ? 0 = none. More...
 
signed char m_nGreyScaleCount
 
COLOR_ELEM_t m_Light
 light level filter. 0 = none. More...
 
bool m_bClothGrey
 only colorize the Grey scale parts. More...
 
bool m_b565Color
 
- Public Attributes inherited from GrayLib::cSurfaceDC
cSurfaceBase m_SurfDest
 The destination surface. NOT freed on destruct. "Unlink" this when done. More...
 
cRectI m_rClipDest
 clip to this rectangle for draws to m_Dest. (m_Dest surface coordinate system) More...
 
cColorRef m_ColorFore
 Foreground pen. More...
 
cColorRef m_ColorBack
 Background color (if any) Use Alpha channel. isValidColor() More...
 

Protected Member Functions

void InitFilter ()
 

Detailed Description

like cSurfaceDC but also can Perform raster type operations on a COLOR16_t cSurfaceBase. Filtering data/params for drawing onto an arbitrary surface. (in system memory)

Constructor & Destructor Documentation

◆ cSurfaceDC2() [1/4]

GrayLib::cSurfaceDC2::cSurfaceDC2 ( )

◆ cSurfaceDC2() [2/4]

GrayLib::cSurfaceDC2::cSurfaceDC2 ( COLOR16_t pDataDest,
PIXELS_t  cx,
PIXELS_t  cy,
size_t  iPitchBytes 
)

◆ cSurfaceDC2() [3/4]

GrayLib::cSurfaceDC2::cSurfaceDC2 ( cSurfaceBase pSurfDest)

◆ cSurfaceDC2() [4/4]

GrayLib::cSurfaceDC2::cSurfaceDC2 ( PIXELS_t  x,
PIXELS_t  y 
)

◆ ~cSurfaceDC2()

GrayLib::cSurfaceDC2::~cSurfaceDC2 ( )

Member Function Documentation

◆ CopyBase()

void GrayLib::cSurfaceDC2::CopyBase ( const THIS_t SurfDC)

◆ CvtHueToColor_Stub()

static COLOR16_t GRAYCALL GrayLib::cSurfaceDC2::CvtHueToColor_Stub ( HUE16_t  iHue,
WORD  iGamma 
)
inlinestaticnoexcept

SURF_CvtHueToColor_t stub. Does nothing.

◆ DrawColorSpaceToRGB565()

void GrayLib::cSurfaceDC2::DrawColorSpaceToRGB565 ( )

convert COLOR16_t RGB555 to RGB565 assume it is locked. RGB555 = 0x7c00, 0x03e0, 0x001f RGB565 = 0xf800, 0x07e0, 0x001f

◆ DrawSurf() [1/2]

bool GrayLib::cSurfaceDC2::DrawSurf ( PIXELS_t  x,
PIXELS_t  y,
const cSurfaceBase SrcSurf 
)

Put another surface on this surface.

◆ DrawSurf() [2/2]

bool GrayLib::cSurfaceDC2::DrawSurf ( PIXELS_t  x,
PIXELS_t  y,
const cSurfaceBase SrcSurf,
PIXELS_t  iWidth,
PIXELS_t  iHeight 
)

Draw a surface on another surface. allow transparency.

◆ DrawTexture()

bool GrayLib::cSurfaceDC2::DrawTexture ( const cSurfaceBase SrcSurf,
int  x1,
int  y1,
int  x2,
int  y2,
int  x3,
int  y3,
int  x4,
int  y4 
)

◆ DrawXClip()

void GrayLib::cSurfaceDC2::DrawXClip ( PIXELS_t  x,
COLOR16_t pDstLine,
const COLOR16_t pSrc,
int  iWidth = 1 
)

Draw X Line. assume y clip has already been checked. just clip for x

◆ DrawXLine() [1/2]

void GrayLib::cSurfaceDC2::DrawXLine ( COLOR16_t pDst,
const COLOR16_t pSrc,
int  iWidth 
)

Copy/Draw X Line. 16 bits per pixel. Draw with no clipping

◆ DrawXLine() [2/2]

void GrayLib::cSurfaceDC2::DrawXLine ( PIXELS_t  x,
PIXELS_t  y,
const COLOR16_t pSrc,
int  iWidth 
)

Draw X Line to m_SurfDest Draw with no clipping. assume already clipped.

◆ DrawXYClip()

void GrayLib::cSurfaceDC2::DrawXYClip ( PIXELS_t  x,
PIXELS_t  y,
const COLOR16_t pSrc,
int  iWidth 
)

Draw X Line.

◆ get_Filter()

SURF_FILTER_TYPE GrayLib::cSurfaceDC2::get_Filter ( ) const
inlinenoexcept

◆ get_FilterLight()

COLOR_ELEM_t GrayLib::cSurfaceDC2::get_FilterLight ( ) const
inlinenoexcept

◆ GetFilterHue()

HUE16_t GrayLib::cSurfaceDC2::GetFilterHue ( ) const
inlinenoexcept

◆ InitFilter()

void GrayLib::cSurfaceDC2::InitFilter ( )
protected

◆ operator=()

THIS_t& GrayLib::cSurfaceDC2::operator= ( const THIS_t SurfDC)
inline

◆ put_Filter()

void GrayLib::cSurfaceDC2::put_Filter ( SURF_FILTER_TYPE  filter)
inline

◆ put_FilterLight()

void GrayLib::cSurfaceDC2::put_FilterLight ( COLOR_ELEM_t  lightlevel = 0)

◆ SetClipSrc()

bool GrayLib::cSurfaceDC2::SetClipSrc ( PIXELS_t  x,
PIXELS_t  y,
PIXELS_t  iWidth,
PIXELS_t  iHeight 
)

Get a rectangle in the source image's coords to draw for calls to DrawSurf.

Returns
false = nothing to draw.

◆ SetFilter565Color()

void GrayLib::cSurfaceDC2::SetFilter565Color ( bool  b565Color)

◆ SetFilterCloth()

void GrayLib::cSurfaceDC2::SetFilterCloth ( bool  bClothGray)

◆ SetFilterGrayCount()

void GrayLib::cSurfaceDC2::SetFilterGrayCount ( signed char  iVal)

◆ SetFilterHue()

void GrayLib::cSurfaceDC2::SetFilterHue ( HUE16_t  wHue = 0)

◆ UpdateFilters()

void GrayLib::cSurfaceDC2::UpdateFilters ( )

Member Data Documentation

◆ m_b565Color

bool GrayLib::cSurfaceDC2::m_b565Color

◆ m_bClothGrey

bool GrayLib::cSurfaceDC2::m_bClothGrey

only colorize the Grey scale parts.

◆ m_eFilterType

SURF_FILTER_TYPE GrayLib::cSurfaceDC2::m_eFilterType

SURF_FILTER_NONE filter operation. similar to BitBlt ROP.

◆ m_Light

COLOR_ELEM_t GrayLib::cSurfaceDC2::m_Light

light level filter. 0 = none.

◆ m_nGreyScaleCount

signed char GrayLib::cSurfaceDC2::m_nGreyScaleCount

◆ m_rClipSrc

cRectI GrayLib::cSurfaceDC2::m_rClipSrc

Source Surface/Raster Filter Params.

clip to this rectangle for current source surface/image. (source image coordinate system) for calls to DrawSurf

◆ m_wHueColor

HUE16_t GrayLib::cSurfaceDC2::m_wHueColor

colorize/palletized this ? 0 = none.


The documentation for this class was generated from the following files: