示例#1
0
/*
** Draws a bevel inside the given area
*/
void Meter::DrawBevel(Gfx::Canvas& canvas, const D2D1_RECT_F& rect, const D2D1_COLOR_F& light, const D2D1_COLOR_F& dark)
{
	const FLOAT l = rect.left;
	const FLOAT r = rect.right - 1.0f;
	const FLOAT t = rect.top;
	const FLOAT b = rect.bottom - 1.0f;

	canvas.DrawLine(light, l,        t,        l,        b,        2.0f);
	canvas.DrawLine(light, l,        t,        r,        t,        2.0f);
	canvas.DrawLine(light, l + 1.0f, t + 1.0f, l + 1.0f, b - 1.0f, 2.0f);
	canvas.DrawLine(light, l + 1.0f, t + 1.0f, r - 1.0f, t + 1.0f, 2.0f);
	canvas.DrawLine(dark,  l,        b,        r,        b,        2.0f);
	canvas.DrawLine(dark,  r,        t,        r,        b,        2.0f);
	canvas.DrawLine(dark,  l + 1.0f, b - 1.0f, r - 1.0f, b - 1.0f, 2.0f);
	canvas.DrawLine(dark,  r - 1.0f, t + 1.0f, r - 1.0f, b - 1.0f, 2.0f);
}