Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

74 lines
1.9 KiB

/*
Enhanced NCSA Mosaic from Spyglass
"Guitar"
Copyright 1994 Spyglass, Inc.
All Rights Reserved
Author(s):
Jeff Hostetler [email protected]
*/
/* effect3d.c -- 3d visual effects. */
/* TODO Convert to a real window class. */
#include "all.h"
/* E3D_RecessedFieldText() -- draw text inside working area of a 3d-effect
recessed field. */
VOID E3D_RecessedFieldText(HDC hdc, PE3DINSTANCE pe3di, LPCTSTR szText, int len)
{
SetTextColor(hdc, GetSysColor(COLOR_BTNTEXT));
SetBkColor(hdc, GetSysColor(COLOR_BTNFACE));
ExtTextOut(hdc,
pe3di->textrect.left + pe3di->textmargin.x,
pe3di->textrect.top + pe3di->textmargin.y,
ETO_OPAQUE | ETO_CLIPPED,
&pe3di->textrect,
szText, len,
NULL);
return;
}
/* E3D_RecessedField() -- draw shadowing/highlighing around border of a
3d-effect recessed field. */
VOID E3D_RecessedField(HDC hdc, PE3DINSTANCE pe3di)
{
RECT r;
HBRUSH hBrush;
XX_Assert((pe3di->thickness),
("E3D_RecessedField: thickness not set."));
/* paint top,left shadow (usually dark gray) */
hBrush = CreateSolidBrush(GetSysColor(COLOR_BTNSHADOW));
r.left = pe3di->rect.left; /* top */
r.right = pe3di->rect.right;
r.top = pe3di->rect.top;
r.bottom = r.top + pe3di->thickness;
(void) FillRect(hdc, &r, hBrush);
r.right = r.left + pe3di->thickness; /* left */
r.bottom = pe3di->rect.bottom;
(void) FillRect(hdc, &r, hBrush);
(void) DeleteObject(hBrush);
/* paint bottom,right highlight (usually light gray or white) */
hBrush = CreateSolidBrush(GetSysColor(COLOR_BTNHIGHLIGHT));
r.right = pe3di->rect.right; /* right */
r.left = r.right - pe3di->thickness;
r.top = pe3di->rect.top + pe3di->thickness;
(void) FillRect(hdc, &r, hBrush);
r.top = r.bottom - pe3di->thickness; /* bottom */
r.left = pe3di->rect.left + pe3di->thickness;
(void) FillRect(hdc, &r, hBrush);
(void) DeleteObject(hBrush);
return;
}