Added a text test to rosperf, and build as unicode.
authorAndrew Munger <waxdragon@gmail.com>
Thu, 15 Sep 2005 04:57:51 +0000 (04:57 +0000)
committerAndrew Munger <waxdragon@gmail.com>
Thu, 15 Sep 2005 04:57:51 +0000 (04:57 +0000)
svn path=/trunk/; revision=17855

reactos/apps/utils/rosperf/rosperf.h
reactos/apps/utils/rosperf/rosperf.xml
reactos/apps/utils/rosperf/testlist.c
reactos/apps/utils/rosperf/text.c [new file with mode: 0644]

index 5ce0aa2..8d486d4 100644 (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 */
index d3b6666..d9d6042 100644 (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>
\ No newline at end of file
+</module>
index 6b86e7d..73317da 100644 (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 }
   };
 
 
diff --git a/reactos/apps/utils/rosperf/text.c b/reactos/apps/utils/rosperf/text.c
new file mode 100644 (file)
index 0000000..4c0bed4
--- /dev/null
@@ -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 */