mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-05 18:01:34 +00:00
comctl32/tests: Enable visual tests in interactive mode, fix build failure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
f9041da281
commit
eb6a872273
1 changed files with 24 additions and 31 deletions
|
@ -40,16 +40,6 @@
|
|||
#include "wine/test.h"
|
||||
#include "v6util.h"
|
||||
|
||||
#undef VISIBLE
|
||||
|
||||
#ifdef VISIBLE
|
||||
#define WAIT Sleep (1000)
|
||||
#define REDRAW(hwnd) RedrawWindow (hwnd, NULL, 0, RDW_UPDATENOW)
|
||||
#else
|
||||
#define WAIT
|
||||
#define REDRAW(hwnd)
|
||||
#endif
|
||||
|
||||
#define IMAGELIST_MAGIC (('L' << 8) | 'I')
|
||||
|
||||
#include "pshpack2.h"
|
||||
|
@ -79,6 +69,16 @@ static HRESULT (WINAPI *pHIMAGELIST_QueryInterface)(HIMAGELIST,REFIID,void **);
|
|||
|
||||
static HINSTANCE hinst;
|
||||
|
||||
/* only used in interactive mode */
|
||||
static void force_redraw(HWND hwnd)
|
||||
{
|
||||
if (!winetest_interactive)
|
||||
return;
|
||||
|
||||
RedrawWindow(hwnd, NULL, 0, RDW_UPDATENOW);
|
||||
Sleep(1000);
|
||||
}
|
||||
|
||||
/* These macros build cursor/bitmap data in 4x4 pixel blocks */
|
||||
#define B(x,y) ((x?0xf0:0)|(y?0xf:0))
|
||||
#define ROW1(a,b,c,d,e,f,g,h) B(a,b),B(c,d),B(e,f),B(g,h)
|
||||
|
@ -161,11 +161,11 @@ static HWND create_a_window(void)
|
|||
CW_USEDEFAULT, CW_USEDEFAULT, 300, 300, 0,
|
||||
0, hinst, 0);
|
||||
|
||||
#ifdef VISIBLE
|
||||
ShowWindow (hWnd, SW_SHOW);
|
||||
#endif
|
||||
REDRAW(hWnd);
|
||||
WAIT;
|
||||
if (winetest_interactive)
|
||||
{
|
||||
ShowWindow (hWnd, SW_SHOW);
|
||||
force_redraw (hWnd);
|
||||
}
|
||||
|
||||
return hWnd;
|
||||
}
|
||||
|
@ -173,16 +173,15 @@ static HWND create_a_window(void)
|
|||
static HDC show_image(HWND hwnd, HIMAGELIST himl, int idx, int size,
|
||||
LPCSTR loc, BOOL clear)
|
||||
{
|
||||
HDC hdc = NULL;
|
||||
#ifdef VISIBLE
|
||||
if (!himl) return NULL;
|
||||
HDC hdc;
|
||||
|
||||
SetWindowText(hwnd, loc);
|
||||
if (!winetest_interactive || !himl) return NULL;
|
||||
|
||||
SetWindowTextA(hwnd, loc);
|
||||
hdc = GetDC(hwnd);
|
||||
ImageList_Draw(himl, idx, hdc, 0, 0, ILD_TRANSPARENT);
|
||||
|
||||
REDRAW(hwnd);
|
||||
WAIT;
|
||||
force_redraw(hwnd);
|
||||
|
||||
if (clear)
|
||||
{
|
||||
|
@ -190,12 +189,11 @@ static HDC show_image(HWND hwnd, HIMAGELIST himl, int idx, int size,
|
|||
ReleaseDC(hwnd, hdc);
|
||||
hdc = NULL;
|
||||
}
|
||||
#endif /* VISIBLE */
|
||||
|
||||
return hdc;
|
||||
}
|
||||
|
||||
/* Useful for checking differences */
|
||||
#if 0
|
||||
static void dump_bits(const BYTE *p, const BYTE *q, int size)
|
||||
{
|
||||
int i, j;
|
||||
|
@ -216,18 +214,16 @@ static void dump_bits(const BYTE *p, const BYTE *q, int size)
|
|||
}
|
||||
printf("\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
static void check_bits(HWND hwnd, HIMAGELIST himl, int idx, int size,
|
||||
const BYTE *checkbits, LPCSTR loc)
|
||||
{
|
||||
#ifdef VISIBLE
|
||||
BYTE bits[100*100/8];
|
||||
COLORREF c;
|
||||
HDC hdc;
|
||||
int x, y, i = -1;
|
||||
|
||||
if (!himl) return;
|
||||
if (!winetest_interactive || !himl) return;
|
||||
|
||||
memset(bits, 0, sizeof(bits));
|
||||
hdc = show_image(hwnd, himl, idx, size, loc, FALSE);
|
||||
|
@ -250,7 +246,6 @@ static void check_bits(HWND hwnd, HIMAGELIST himl, int idx, int size,
|
|||
"%s: bits different\n", loc);
|
||||
if (memcmp(bits, checkbits, (size * size)/8))
|
||||
dump_bits(bits, checkbits, size);
|
||||
#endif /* VISIBLE */
|
||||
}
|
||||
|
||||
static void test_begindrag(void)
|
||||
|
@ -503,8 +498,7 @@ static void test_DrawIndirect(void)
|
|||
ok(!pImageList_DrawIndirect(&imldp),"bad himl succeeded!\n");
|
||||
imldp.himl = himl;
|
||||
|
||||
REDRAW(hwndfortest);
|
||||
WAIT;
|
||||
force_redraw(hwndfortest);
|
||||
|
||||
imldp.fStyle = SRCCOPY;
|
||||
imldp.rgbBk = CLR_DEFAULT;
|
||||
|
@ -1821,8 +1815,7 @@ if (0)
|
|||
imldp.hdcDst = hdc;
|
||||
imldp.himl = himl;
|
||||
|
||||
REDRAW(hwndfortest);
|
||||
WAIT;
|
||||
force_redraw(hwndfortest);
|
||||
|
||||
imldp.fStyle = SRCCOPY;
|
||||
imldp.rgbBk = CLR_DEFAULT;
|
||||
|
|
Loading…
Reference in a new issue