www.pudn.com > CDX.rar > GradientRender.h
// GradientRender.h: interface for the CGradientRender class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_GRADIENTRENDER_H__9B3090DB_F7D0_4D23_8BDA_9CFAC9A64ABE__INCLUDED_)
#define AFX_GRADIENTRENDER_H__9B3090DB_F7D0_4D23_8BDA_9CFAC9A64ABE__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
enum GradientType {GRADIENT_HORIZONTAL, GRADIENT_VERTICAL, GRADIENT_RADIAL, GRADIENT_DIAGONAL, GRADIENT_FDIAGONAL, GRADIENT_BDIAGONAL};
enum TransformationType {TRANSFORMATION_NONE, TRANSFORMATION_CHARICATURE, TRANSFORMATION_FISHEYE, TRANSFORMATION_SWIRLED, TRANSFORMATION_CYLINDER, TRANSFORMATION_SHIFT};
class CGradientRender
{
private:
unsigned char* m_Data;
GradientType m_Type;
void ApplyTransformation(int width, int height,TransformationType transformationType);
public:
void DrawGradient( HDC hDC, RECT& rect, COLORREF startColor, COLORREF endColor, GradientType gradientType, TransformationType transformationType);
CGradientRender();
virtual ~CGradientRender();
};
#endif // !defined(AFX_GRADIENTRENDER_H__9B3090DB_F7D0_4D23_8BDA_9CFAC9A64ABE__INCLUDED_)