Added a text test to rosperf, and build as unicode.

svn path=/trunk/; revision=17855
This commit is contained in:
Andrew Munger 2005-09-15 04:57:51 +00:00
parent a88a9fff19
commit ddaabb16b4
4 changed files with 51 additions and 2 deletions

View file

@ -59,6 +59,8 @@ void LinesHorizontalProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
void LinesVerticalProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
void LinesProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
void TextProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
#endif /* ROSPERF_H_INCLUDED */
/* EOF */

View file

@ -1,6 +1,7 @@
<module name="rosperf" type="win32cui" installbase="system32" installname="rosperf.exe">
<include base="rosperf">.</include>
<define name="__USE_W32API" />
<define name="UNICODE" />
<library>version</library>
<library>gdi32</library>
<library>user32</library>
@ -9,6 +10,7 @@
<file>rosperf.c</file>
<file>lines.c</file>
<file>fill.c</file>
<file>text.c</file>
<file>testlist.c</file>
<file>rosperf.rc</file>
</module>
</module>

View file

@ -25,7 +25,8 @@ static TEST TestList[] =
{ L"smallfill", L"Small Fill", NullInit, FillSmallProc, NullCleanup, NullCleanup },
{ L"hlines", L"Horizontal Lines", NullInit, LinesHorizontalProc, NullCleanup, NullCleanup },
{ L"vlines", L"Vertical Lines", NullInit, LinesVerticalProc, NullCleanup, NullCleanup },
{ L"lines", L"Lines", NullInit, LinesProc, NullCleanup, NullCleanup }
{ L"lines", L"Lines", NullInit, LinesProc, NullCleanup, NullCleanup },
{ L"text", L"Text", NullInit, TextProc, NullCleanup, NullCleanup }
};

View file

@ -0,0 +1,44 @@
/*
* ReactOS RosPerf - ReactOS GUI performance test program
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <windows.h>
#include "rosperf.h"
void
TextProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps)
{
unsigned Rep;
int y;
HDC Dc = NULL;
HFONT hfFont = GetStockObject(DEFAULT_GUI_FONT);
for (Rep = 0; Rep < Reps; )
{
Dc = (Rep & 0x10000) ? PerfInfo->BackgroundDc : PerfInfo->ForegroundDc;
SelectObject(Dc, hfFont);
for (y = 0; y < PerfInfo->WndHeight && Rep < Reps; Rep++, y += 15)
{
TextOut(Dc, 0, y, L"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz:?<>0123456789", 66);
}
InvalidateRect(PerfInfo->Wnd, NULL, TRUE);
UpdateWindow(PerfInfo->Wnd);
}
}
/* EOF */