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