ReactOS 0.4.16-dev-338-g34e76ad
rosperf.h
Go to the documentation of this file.
1/*
2 * ReactOS RosPerf - ReactOS GUI performance test program
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17 */
18
19#ifndef ROSPERF_H_INCLUDED
20#define ROSPERF_H_INCLUDED
21
22typedef struct tagPERF_INFO
23{
25 unsigned Seconds;
26 unsigned Repeats;
34
35typedef unsigned (*INITTESTPROC)(void **Context, PPERF_INFO PerfInfo, unsigned Reps);
36typedef void (*TESTPROC)(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
37typedef void (*CLEANUPTESTPROC)(void *Context, PPERF_INFO PerfInfo);
38
39typedef struct tagTEST
40{
48
49void GetTests(unsigned *TestCount, PTEST *Tests);
50
51/* Tests */
52unsigned NullInit(void **Context, PPERF_INFO PerfInfo, unsigned Reps);
53void NullCleanup(void *Context, PPERF_INFO PerfInfo);
54
55void FillProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
56void FillSmallProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
57
58void LinesHorizontalProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
59void LinesVerticalProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
60void LinesProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
61
62void TextProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
63
64unsigned AlphaBlendInit(void **Context, PPERF_INFO PerfInfo, unsigned Reps);
65void AlphaBlendCleanup(void *Context, PPERF_INFO PerfInfo);
66void AlphaBlendProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
67
68void GradientHorizontalProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
69void GradientVerticalProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
70void GradientProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
71
72void ScrollProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps);
73
74#endif /* ROSPERF_H_INCLUDED */
75
76/* EOF */
struct test_data Tests[]
BOOL(* TESTPROC)(INT *, INT *)
Definition: ddrawtest.h:23
static HDC
Definition: imagelist.c:88
static unsigned(__cdecl *hash_bstr)(bstr_t s)
void GradientHorizontalProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps)
Definition: gradient.c:97
unsigned AlphaBlendInit(void **Context, PPERF_INFO PerfInfo, unsigned Reps)
Definition: alphablend.c:29
struct tagTEST TEST
void LinesVerticalProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps)
Definition: lines.c:79
void(* CLEANUPTESTPROC)(void *Context, PPERF_INFO PerfInfo)
Definition: rosperf.h:37
void AlphaBlendCleanup(void *Context, PPERF_INFO PerfInfo)
Definition: alphablend.c:52
struct tagTEST * PTEST
void GradientVerticalProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps)
Definition: gradient.c:126
void(* TESTPROC)(void *Context, PPERF_INFO PerfInfo, unsigned Reps)
Definition: rosperf.h:36
unsigned(* INITTESTPROC)(void **Context, PPERF_INFO PerfInfo, unsigned Reps)
Definition: rosperf.h:35
void AlphaBlendProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps)
Definition: alphablend.c:67
struct tagPERF_INFO PERF_INFO
void NullCleanup(void *Context, PPERF_INFO PerfInfo)
Definition: rosperf.c:64
void GradientProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps)
Definition: gradient.c:25
struct tagPERF_INFO * PPERF_INFO
void GetTests(unsigned *TestCount, PTEST *Tests)
Definition: testlist.c:39
unsigned NullInit(void **Context, PPERF_INFO PerfInfo, unsigned Reps)
Definition: rosperf.c:56
void TextProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps)
Definition: text.c:23
void FillSmallProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps)
Definition: fill.c:35
void LinesHorizontalProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps)
Definition: lines.c:60
void FillProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps)
Definition: fill.c:23
void LinesProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps)
Definition: lines.c:23
void ScrollProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps)
Definition: scroll.c:23
unsigned Seconds
Definition: rosperf.h:25
INT WndHeight
Definition: rosperf.h:32
COLORREF ForegroundColor
Definition: rosperf.h:27
HDC BackgroundDc
Definition: rosperf.h:30
HWND Wnd
Definition: rosperf.h:24
COLORREF BackgroundColor
Definition: rosperf.h:28
HDC ForegroundDc
Definition: rosperf.h:29
INT WndWidth
Definition: rosperf.h:31
unsigned Repeats
Definition: rosperf.h:26
CLEANUPTESTPROC PassCleanup
Definition: rosperf.h:45
LPCWSTR Label
Definition: rosperf.h:42
TESTPROC Proc
Definition: rosperf.h:44
LPCWSTR Option
Definition: rosperf.h:41
CLEANUPTESTPROC Cleanup
Definition: rosperf.h:46
INITTESTPROC Init
Definition: rosperf.h:43
int32_t INT
Definition: typedefs.h:58
DWORD COLORREF
Definition: windef.h:300
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185