|
|
1.1.1.3 ! root 1: /* The source code contained in this file has been derived from the source code ! 2: of Encryption for the Masses 2.02a by Paul Le Roux. Modifications and ! 3: additions to that source code contained in this file are Copyright (c) 2004 ! 4: TrueCrypt Team and Copyright (c) 2004 TrueCrypt Foundation. Unmodified ! 5: parts are Copyright (c) 1998-99 Paul Le Roux. This is a TrueCrypt Foundation ! 6: release. Please see the file license.txt for full license details. */ 1.1 root 7: 8: #include "TCdefs.h" 9: #include "redtick.h" 10: 11: LRESULT CALLBACK 12: RedTick (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 13: { 14: if (uMsg == WM_CREATE) 15: { 16: } 17: else if (uMsg == WM_DESTROY) 18: { 19: } 20: else if (uMsg == WM_TIMER) 21: { 22: } 23: else if (uMsg == WM_PAINT) 24: { 25: PAINTSTRUCT tmp; 26: HPEN hPen; 27: HDC hDC; 28: BOOL bEndPaint; 29: RECT Rect; 30: 31: if (GetUpdateRect (hwnd, NULL, FALSE)) 32: { 33: hDC = BeginPaint (hwnd, &tmp); 34: bEndPaint = TRUE; 35: if (hDC == NULL) 36: return DefWindowProc (hwnd, uMsg, wParam, lParam); 37: } 38: else 39: { 40: hDC = GetDC (hwnd); 41: bEndPaint = FALSE; 42: } 43: 44: GetClientRect (hwnd, &Rect); 45: 46: hPen = CreatePen (PS_SOLID, 2, RGB (0, 255, 0)); 47: if (hPen != NULL) 48: { 49: HGDIOBJ hObj = SelectObject (hDC, hPen); 50: WORD bx = LOWORD (GetDialogBaseUnits ()); 51: WORD by = HIWORD (GetDialogBaseUnits ()); 52: 53: MoveToEx (hDC, (Rect.right - Rect.left) / 2, Rect.bottom, NULL); 54: LineTo (hDC, Rect.right, Rect.top); 55: MoveToEx (hDC, (Rect.right - Rect.left) / 2, Rect.bottom, NULL); 56: 57: LineTo (hDC, (3 * bx) / 4, (2 * by) / 8); 58: 59: SelectObject (hDC, hObj); 60: DeleteObject (hPen); 61: } 62: 63: if (bEndPaint == TRUE) 64: EndPaint (hwnd, &tmp); 65: else 66: ReleaseDC (hwnd, hDC); 67: 68: return TRUE; 69: } 70: 71: return DefWindowProc (hwnd, uMsg, wParam, lParam); 72: } 73: 74: BOOL 75: RegisterRedTick (HINSTANCE hInstance) 76: { 77: WNDCLASS wc; 78: ULONG rc; 79: 80: memset(&wc, 0 , sizeof wc); 81: 82: wc.style = CS_HREDRAW | CS_VREDRAW; 83: wc.cbClsExtra = 0; 84: wc.cbWndExtra = 4; 85: wc.hInstance = hInstance; 86: wc.hIcon = LoadIcon (NULL, IDI_APPLICATION); 87: wc.hCursor = NULL; 88: wc.hbrBackground = GetStockObject (LTGRAY_BRUSH); 89: wc.lpszClassName = "REDTICK"; 90: wc.lpfnWndProc = &RedTick; 91: 92: rc = (ULONG) RegisterClass (&wc); 93: 94: return rc == 0 ? FALSE : TRUE; 95: } 96: 97: BOOL 98: UnregisterRedTick (HINSTANCE hInstance) 99: { 100: return UnregisterClass ("REDTICK", hInstance); 101: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.