Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//---------------------------------------------------------------------------
// Gradient.h - gradient drawing support
//---------------------------------------------------------------------------
#pragma once
//---------------------------------------------------------------------------
#define SYSCOLOR(c) (c|0x80000000)
#define RGBA2WINCOLOR(color) (color.bBlue << 16) | (color.bGreen << 8) | (color.bRed);
#define FIXCOLORVAL(val) ((val > 255) ? 255 : ((val < 0) ? 0 : val))
//---------------------------------------------------------------------------
struct RGBA { BYTE bRed; BYTE bGreen; BYTE bBlue; BYTE bAlpha; // not currently supported
}; //---------------------------------------------------------------------------
struct GRADIENTPART { BYTE Ratio; // 0-255 ratio for this color (sum of ratios must be <= 255)
RGBA Color; }; //---------------------------------------------------------------------------
//---- public ----
HRESULT PaintGradientRadialRect(HDC hdc, RECT &rcBounds, int iPartCount, GRADIENTPART *pGradientParts);
HRESULT PaintHorzGradient(HDC hdc, RECT &rcBounds, int iPartCount, GRADIENTPART *pGradientParts);
HRESULT PaintVertGradient(HDC hdc, RECT &rcBounds, int iPartCount, GRADIENTPART *pGradientParts);
//---- helpers ----
void PaintGradientVertBand(HDC hdc, RECT &rcBand, COLORREF color1, COLORREF color2); void PaintGradientHorzBand(HDC hdc, RECT &rcBand, COLORREF color1, COLORREF color2); void PaintGradientRadialBand(HDC hdc, RECT &rcBand, int radiusOffset, int radius, COLORREF color1, COLORREF color2); //---------------------------------------------------------------------------
|