1e7816232c6740f51b624fa5ab9a96cb5ba2cea3
[reactos.git] / rosapps / taskmgr / font.cpp
1 /*
2 * ReactOS Task Manager
3 *
4 * font.cpp
5 *
6 * Copyright (C) 1999 - 2001 Brian Palmer <brianp@reactos.org>
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 */
22
23 #include "stdafx.h"
24 #include "taskmgr.h"
25 #include "font.h"
26
27 void Font_DrawText(HDC hDC, LPCTSTR lpszText, int x, int y)
28 {
29 HDC hFontDC;
30 HBITMAP hFontBitmap;
31 HBITMAP hOldBitmap;
32 int i;
33
34 hFontDC = CreateCompatibleDC(hDC);
35
36 hFontBitmap = LoadBitmap(hInst, MAKEINTRESOURCE(IDB_FONT));
37
38 hOldBitmap = (HBITMAP)SelectObject(hFontDC, hFontBitmap);
39
40 for (i=0; i< (int) _tcslen(lpszText); i++)
41 {
42 if ((lpszText[i] >= '0') && (lpszText[i] <= '9'))
43 {
44 BitBlt(hDC, x + (i * 8), y, 8, 11, hFontDC, (lpszText[i] - '0') * 8, 0, SRCCOPY);
45 }
46 else if (lpszText[i] == 'K')
47 {
48 BitBlt(hDC, x + (i * 8), y, 8, 11, hFontDC, 80, 0, SRCCOPY);
49 }
50 else if (lpszText[i] == '%')
51 {
52 BitBlt(hDC, x + (i * 8), y, 8, 11, hFontDC, 88, 0, SRCCOPY);
53 }
54 }
55
56 SelectObject(hFontDC, hOldBitmap);
57 DeleteObject(hFontBitmap);
58 DeleteDC(hFontDC);
59 }
60