From: Rémi Bernon rbernon@codeweavers.com
--- dlls/user32/tests/input.c | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+)
diff --git a/dlls/user32/tests/input.c b/dlls/user32/tests/input.c index 5635aa593e7..2bc2ba2825d 100644 --- a/dlls/user32/tests/input.c +++ b/dlls/user32/tests/input.c @@ -85,6 +85,10 @@ static BOOL (WINAPI *pEnableMouseInPointer)( BOOL ); static BOOL (WINAPI *pIsMouseInPointerEnabled)(void); static BOOL (WINAPI *pGetCurrentInputMessageSource)( INPUT_MESSAGE_SOURCE *source ); static BOOL (WINAPI *pGetPointerType)(UINT32, POINTER_INPUT_TYPE*); +static BOOL (WINAPI *pGetPointerPenInfo)(UINT32, POINTER_PEN_INFO*); +static BOOL (WINAPI *pGetPointerPenInfoHistory)(UINT32, UINT32*, POINTER_PEN_INFO*); +static BOOL (WINAPI *pGetPointerFramePenInfo)(UINT32, UINT32*, POINTER_PEN_INFO*); +static BOOL (WINAPI *pGetPointerFramePenInfoHistory)(UINT32, UINT32*, UINT32*, POINTER_PEN_INFO*); static BOOL (WINAPI *pGetPointerInfo)(UINT32, POINTER_INFO*); static BOOL (WINAPI *pGetPointerInfoHistory)(UINT32, UINT32*, POINTER_INFO*); static BOOL (WINAPI *pGetPointerFrameInfo)(UINT32, UINT32*, POINTER_INFO*); @@ -162,6 +166,10 @@ static void init_function_pointers(void) GET_PROC(GetPointerInfoHistory); GET_PROC(GetPointerFrameInfo); GET_PROC(GetPointerFrameInfoHistory); + GET_PROC(GetPointerPenInfo); + GET_PROC(GetPointerPenInfoHistory); + GET_PROC(GetPointerFramePenInfo); + GET_PROC(GetPointerFramePenInfoHistory); GET_PROC(GetPointerType); GET_PROC(GetRawInputDeviceList); GET_PROC(GetRawInputDeviceInfoW); @@ -4592,6 +4600,7 @@ static void test_GetPointerInfo( BOOL mouse_in_pointer_enabled ) POINTER_INFO pointer_info[4], expect_pointer; void *invalid_ptr = (void *)0xdeadbeef; UINT32 entry_count, pointer_count; + POINTER_PEN_INFO pen_info[4]; POINTER_INPUT_TYPE type; WNDCLASSW cls = { @@ -4752,6 +4761,46 @@ static void test_GetPointerInfo( BOOL mouse_in_pointer_enabled ) todo_wine_if(!pGetPointerFrameInfoHistory) ok( !memcmp( &expect_pointer, pointer_info, sizeof(expect_pointer) ), "got unexpected pointer info\n" );
+ memset( pen_info, 0xa5, sizeof(pen_info) ); + if (!pGetPointerPenInfo) ret = FALSE; + else ret = pGetPointerPenInfo( 1, pen_info ); + todo_wine_if(!pGetPointerPenInfo) + ok( ret, "GetPointerPenInfo failed, error %lu\n", GetLastError() ); + todo_wine_if(!pGetPointerPenInfo) + ok( !memcmp( &expect_pointer, &pen_info[0].pointerInfo, sizeof(expect_pointer) ), "got unexpected pen info\n" ); + memset( pen_info, 0xa5, sizeof(pen_info) ); + entry_count = pointer_count = 2; + if (!pGetPointerFramePenInfo) ret = FALSE; + else ret = pGetPointerFramePenInfo( 1, &pointer_count, pen_info ); + todo_wine_if(!pGetPointerFramePenInfo) + ok( ret, "GetPointerFramePenInfo failed, error %lu\n", GetLastError() ); + todo_wine_if(!pGetPointerFramePenInfo) + ok( pointer_count == 1, "got pointer_count %u\n", pointer_count ); + todo_wine_if(!pGetPointerFramePenInfo) + ok( !memcmp( &expect_pointer, &pen_info[0].pointerInfo, sizeof(expect_pointer) ), "got unexpected pen info\n" ); + memset( pen_info, 0xa5, sizeof(pen_info) ); + entry_count = pointer_count = 2; + if (!pGetPointerPenInfoHistory) ret = FALSE; + else ret = pGetPointerPenInfoHistory( 1, &entry_count, pen_info ); + todo_wine_if(!pGetPointerPenInfoHistory) + ok( ret, "GetPointerPenInfoHistory failed, error %lu\n", GetLastError() ); + todo_wine_if(!pGetPointerPenInfoHistory) + ok( entry_count == 1, "got entry_count %u\n", entry_count ); + todo_wine_if(!pGetPointerPenInfoHistory) + ok( !memcmp( &expect_pointer, &pen_info[0].pointerInfo, sizeof(expect_pointer) ), "got unexpected pen info\n" ); + memset( pen_info, 0xa5, sizeof(pen_info) ); + entry_count = pointer_count = 2; + if (!pGetPointerFramePenInfoHistory) ret = FALSE; + else ret = pGetPointerFramePenInfoHistory( 1, &entry_count, &pointer_count, pen_info ); + todo_wine_if(!pGetPointerFramePenInfoHistory) + ok( ret, "GetPointerFramePenInfoHistory failed, error %lu\n", GetLastError() ); + todo_wine_if(!pGetPointerFramePenInfoHistory) + ok( entry_count == 1, "got pointer_count %u\n", pointer_count ); + todo_wine_if(!pGetPointerFramePenInfoHistory) + ok( pointer_count == 1, "got pointer_count %u\n", pointer_count ); + todo_wine_if(!pGetPointerFramePenInfoHistory) + ok( !memcmp( &expect_pointer, &pen_info[0].pointerInfo, sizeof(expect_pointer) ), "got unexpected pen info\n" ); + DestroyWindow( hwnd );
ret = UnregisterClassW( L"test", GetModuleHandleW( NULL ) );