BOOL DDOffscreenBufferTest(HWND hWnd, BOOL Fullscreen);
VOID DDRedrawFrame(LPDIRECTDRAWSURFACE lpDDSurface);
VOID DDUpdateFrame(LPDIRECTDRAWSURFACE lpDDPrimarySurface ,LPDIRECTDRAWSURFACE lpDDBackBuffer, BOOL Fullscreen, INT *posX, INT *posY, INT *gainX, INT *gainY, RECT *rectDD);
-static LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);
#define TEST_DURATION 10000
-#define WIDTH 640
-#define HEIGHT 480
+#define DD_TEST_WIDTH 640
+#define DD_TEST_HEIGHT 480
#define DD_TEST_STEP 5
#define DD_SQUARE_SIZE 100
#define DD_SQUARE_STEP 2
WCHAR szError[256];
BOOL Result;
- LoadStringW(hInstance, IDS_DDTEST_TITLE, szCaption, sizeof(szCaption) / sizeof(WCHAR));
+ LoadStringW(hInstance, IDS_MAIN_DIALOG, szCaption, sizeof(szCaption) / sizeof(WCHAR));
LoadStringW(hInstance, IDS_DDTEST_ERROR, szError, sizeof(szError) / sizeof(WCHAR));
LoadStringW(hInstance, resTestDescription, szTestDescription, sizeof(szTestDescription) / sizeof(WCHAR));
LoadStringW(hInstance, resResult, szResult, sizeof(szResult) / sizeof(WCHAR));
winClass.cbSize = sizeof(WNDCLASSEX);
winClass.style = CS_DBLCLKS | CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
- winClass.lpfnWndProc = WindowProc;
+ winClass.lpfnWndProc = DefWindowProc;
winClass.cbClsExtra = 0;
winClass.cbWndExtra = 0;
winClass.hInstance = hInstance;
return;
hWnd = CreateWindowEx(0, winClass.lpszClassName, NULL,WS_POPUP,
- (GetSystemMetrics(SM_CXSCREEN) - WIDTH)/2,
- (GetSystemMetrics(SM_CYSCREEN) - HEIGHT)/2,
- WIDTH, HEIGHT, NULL, NULL, hInstance, NULL);
+ (GetSystemMetrics(SM_CXSCREEN) - DD_TEST_WIDTH)/2,
+ (GetSystemMetrics(SM_CYSCREEN) - DD_TEST_HEIGHT)/2,
+ DD_TEST_WIDTH, DD_TEST_HEIGHT, NULL, NULL, hInstance, NULL);
if (!hWnd){
return;
}
LoadStringW(hInstance, IDS_DDTEST_DESCRIPTION, szDescription, sizeof(szDescription) / sizeof(WCHAR));
- LoadStringW(hInstance, IDS_DDTEST_DESCRIPTION, szCaption, sizeof(szCaption) / sizeof(WCHAR));
+ LoadStringW(hInstance, IDS_MAIN_DIALOG, szCaption, sizeof(szCaption) / sizeof(WCHAR));
if(MessageBox(NULL, szDescription, szCaption, MB_YESNO | MB_ICONQUESTION) == IDNO)
return;
HBRUSH BlackBrush, WhiteBrush;
BOOL Colour = FALSE;
- rct.left = (GetSystemMetrics(SM_CXSCREEN) - WIDTH)/2;
- rct.right = (GetSystemMetrics(SM_CXSCREEN) - WIDTH)/2 + WIDTH;
- rct.top = (GetSystemMetrics(SM_CYSCREEN) - HEIGHT)/2;
- rct.bottom = (GetSystemMetrics(SM_CYSCREEN) - HEIGHT)/2 + HEIGHT;
+ rct.left = (GetSystemMetrics(SM_CXSCREEN) - DD_TEST_WIDTH)/2;
+ rct.right = (GetSystemMetrics(SM_CXSCREEN) - DD_TEST_WIDTH)/2 + DD_TEST_WIDTH;
+ rct.top = (GetSystemMetrics(SM_CYSCREEN) - DD_TEST_HEIGHT)/2;
+ rct.bottom = (GetSystemMetrics(SM_CYSCREEN) - DD_TEST_HEIGHT)/2 + DD_TEST_HEIGHT;
BlackBrush = CreateSolidBrush(RGB(0,0,0));
WhiteBrush = CreateSolidBrush(RGB(255,255,255));
lpDD->lpVtbl->Release(lpDD);
return FALSE;
}
- if(lpDD->lpVtbl->SetDisplayMode(lpDD, WIDTH, HEIGHT, 32) != DD_OK)
+ if(lpDD->lpVtbl->SetDisplayMode(lpDD, DD_TEST_WIDTH, DD_TEST_HEIGHT, 32) != DD_OK)
{
lpDD->lpVtbl->Release(lpDD);
return FALSE;
ZeroMemory(&DDBBSurfaceDesc,sizeof(DDBBSurfaceDesc));
DDBBSurfaceDesc.dwSize = sizeof(DDBBSurfaceDesc);
DDBBSurfaceDesc.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT;
- DDBBSurfaceDesc.dwHeight = HEIGHT;
- DDBBSurfaceDesc.dwWidth = WIDTH;
+ DDBBSurfaceDesc.dwHeight = DD_TEST_HEIGHT;
+ DDBBSurfaceDesc.dwWidth = DD_TEST_WIDTH;
DDBBSurfaceDesc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
if(lpDD->lpVtbl->CreateSurface(lpDD, &DDBBSurfaceDesc, &lpDDBackBuffer, NULL) != DD_OK)
WhiteBrush = CreateSolidBrush(RGB(255,255,255));
FillRect(hdc, &rct, WhiteBrush);
- if(*posX >= (WIDTH - DD_SQUARE_SIZE)) *gainX = -(*gainX);
- if(*posY >= (HEIGHT - DD_SQUARE_SIZE)) *gainY = -(*gainY);
+ if(*posX >= (DD_TEST_WIDTH - DD_SQUARE_SIZE)) *gainX = -(*gainX);
+ if(*posY >= (DD_TEST_HEIGHT - DD_SQUARE_SIZE)) *gainY = -(*gainY);
if(*posX < 0) *gainX = -1*(*gainX);
if(*posY < 0) *gainY = -1*(*gainY);
}
}
}
-
-static LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
-{
- return DefWindowProc(hWnd, msg, wParam, lParam);
-}