Reactos
at master 76 lines 2.6 kB view raw
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{ 24 HWND Wnd; 25 unsigned Seconds; 26 unsigned Repeats; 27 COLORREF ForegroundColor; 28 COLORREF BackgroundColor; 29 HDC ForegroundDc; 30 HDC BackgroundDc; 31 INT WndWidth; 32 INT WndHeight; 33} PERF_INFO, *PPERF_INFO; 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{ 41 LPCWSTR Option; 42 LPCWSTR Label; 43 INITTESTPROC Init; 44 TESTPROC Proc; 45 CLEANUPTESTPROC PassCleanup; 46 CLEANUPTESTPROC Cleanup; 47} TEST, *PTEST; 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 */