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 #include <windows.h>
20 #include "rosperf.h"
21 
22 void
23 FillProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps)
24 {
25   unsigned Rep;
26 
27   for (Rep = 0; Rep < Reps; Rep++)
28     {
29       PatBlt((Rep & 0x100) ? PerfInfo->BackgroundDc : PerfInfo->ForegroundDc, 0, 0,
30              PerfInfo->WndWidth, PerfInfo->WndHeight, PATCOPY);
31     }
32 }
33 
34 void
35 FillSmallProc(void *Context, PPERF_INFO PerfInfo, unsigned Reps)
36 {
37 #define SMALL_SIZE 16
38   unsigned Rep;
39   int x, y;
40 
41   x = 0;
42   y = 0;
43 
44   for (Rep = 0; Rep < Reps; Rep++)
45     {
46       PatBlt((Rep & 0x10000) ? PerfInfo->BackgroundDc : PerfInfo->ForegroundDc, x, y,
47              SMALL_SIZE, SMALL_SIZE, PATCOPY);
48       x += SMALL_SIZE + 1;
49       if (PerfInfo->WndWidth < x + SMALL_SIZE)
50         {
51           x = 0;
52           y += SMALL_SIZE + 1;
53           if (PerfInfo->WndHeight < y + SMALL_SIZE)
54             {
55               y = 0;
56             }
57         }
58     }
59 }
60 /* EOF */
61