4 START_TEST(LookupIconIdFromDirectoryEx
)
15 /* This tests assumes that default icon size is 32x32 */
32 {8, 1, 0, 0, LR_MONOCHROME
},
33 {8, 1, 48, 48, LR_MONOCHROME
},
34 {8, 2, 32, 32, LR_MONOCHROME
},
35 {8, 3, 24, 24, LR_MONOCHROME
},
36 {8, 4, 16, 16, LR_MONOCHROME
},
37 {8, 2, 0, 0, LR_DEFAULTSIZE
},
38 {8, 1, 48, 48, LR_DEFAULTSIZE
},
42 /* Non square sizes */
49 {16, 1, 0, 0, LR_MONOCHROME
},
50 {16, 1, 48, 48, LR_MONOCHROME
},
51 {16, 2, 32, 32, LR_MONOCHROME
},
52 {16, 3, 24, 24, LR_MONOCHROME
},
53 {16, 4, 16, 16, LR_MONOCHROME
},
54 {16, 6, 0, 0, LR_DEFAULTSIZE
},
55 {16, 5, 48, 48, LR_DEFAULTSIZE
},
62 {24, 1, 0, 0, LR_MONOCHROME
},
63 {24, 1, 48, 48, LR_MONOCHROME
},
64 {24, 2, 32, 32, LR_MONOCHROME
},
65 {24, 3, 24, 24, LR_MONOCHROME
},
66 {24, 4, 16, 16, LR_MONOCHROME
},
67 {24, 6, 0, 0, LR_DEFAULTSIZE
},
68 {24, 5, 48, 48, LR_DEFAULTSIZE
},
74 {32, 1, 0, 0, LR_MONOCHROME
},
75 {32, 1, 48, 48, LR_MONOCHROME
},
76 {32, 2, 32, 32, LR_MONOCHROME
},
77 {32, 3, 24, 24, LR_MONOCHROME
},
78 {32, 4, 16, 16, LR_MONOCHROME
},
79 {32, 10, 0, 0, LR_DEFAULTSIZE
},
80 {32, 9, 48, 48, LR_DEFAULTSIZE
},
83 hMod
= GetModuleHandle(NULL
);
84 ok(hMod
!= NULL
, "\n");
85 /* Find our cursor directory resource */
86 hResource
= FindResourceA(hMod
,
87 MAKEINTRESOURCE(IDI_TEST
),
89 ok(hResource
!= NULL
, "\n");
91 hMem
= LoadResource(hMod
, hResource
);
92 ok(hMem
!= NULL
, "\n");
94 lpResource
= LockResource(hMem
);
95 ok(lpResource
!= NULL
, "\n");
97 dm
.dmSize
= sizeof(dm
);
100 ok(EnumDisplaySettingsW(NULL
, ENUM_CURRENT_SETTINGS
, &dm
), "\n");
102 dwOrigBpp
= dm
.dmBitsPerPel
;
104 for (i
= 0; i
< sizeof(TestData
)/sizeof(TestData
[0]); i
++)
106 dm
.dmBitsPerPel
= TestData
[i
].bpp
;
107 if (ChangeDisplaySettingsExW(NULL
, &dm
, NULL
, 0, NULL
) != DISP_CHANGE_SUCCESSFUL
)
109 skip("Unable to change bpp to %lu.\n", dm
.dmBitsPerPel
);
112 wResId
= LookupIconIdFromDirectoryEx(lpResource
, TRUE
, TestData
[i
].cxDesired
, TestData
[i
].cyDesired
, TestData
[i
].flags
);
113 ok(wResId
== TestData
[i
].wResId
, "Got %d, expected %d for %dx%dx%lu, flags %x.\n",
116 TestData
[i
].cxDesired
,
117 TestData
[i
].cyDesired
,
123 dm
.dmBitsPerPel
= dwOrigBpp
;
124 ok(ChangeDisplaySettingsExW(NULL
, &dm
, NULL
, 0, NULL
) == DISP_CHANGE_SUCCESSFUL
, "\n");