diff --git a/reactos/apps/utils/rosperf/rosperf.h b/reactos/apps/utils/rosperf/rosperf.h
index 5ce0aa29996..8d486d4b541 100644
--- a/reactos/apps/utils/rosperf/rosperf.h
+++ b/reactos/apps/utils/rosperf/rosperf.h
@@ -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 */
diff --git a/reactos/apps/utils/rosperf/rosperf.xml b/reactos/apps/utils/rosperf/rosperf.xml
index d3b6666f881..d9d6042b4bd 100644
--- a/reactos/apps/utils/rosperf/rosperf.xml
+++ b/reactos/apps/utils/rosperf/rosperf.xml
@@ -1,6 +1,7 @@
.
+
version
gdi32
user32
@@ -9,6 +10,7 @@
rosperf.c
lines.c
fill.c
+ text.c
testlist.c
rosperf.rc
-
\ No newline at end of file
+
diff --git a/reactos/apps/utils/rosperf/testlist.c b/reactos/apps/utils/rosperf/testlist.c
index 6b86e7d7ea1..73317daf704 100644
--- a/reactos/apps/utils/rosperf/testlist.c
+++ b/reactos/apps/utils/rosperf/testlist.c
@@ -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
index 00000000000..4c0bed416d0
--- /dev/null
+++ b/reactos/apps/utils/rosperf/text.c
@@ -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
+#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 */