Commit 0075b05a authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

shell32: Move SHGetImageList() to related source file.

parent 09389c4b
...@@ -1022,3 +1022,30 @@ HRESULT WINAPI SHGetStockIconInfo(SHSTOCKICONID id, UINT flags, SHSTOCKICONINFO ...@@ -1022,3 +1022,30 @@ HRESULT WINAPI SHGetStockIconInfo(SHSTOCKICONID id, UINT flags, SHSTOCKICONINFO
return S_OK; return S_OK;
} }
/*************************************************************************
* SHGetImageList (SHELL32.727)
*
* Returns a copy of a shell image list.
*
* NOTES
* Windows XP features 4 sizes of image list, and Vista 5. Wine currently
* only supports the traditional small and large image lists, so requests
* for the others will currently fail.
*/
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
{
/* Wine currently only maintains large and small image lists */
if ((iImageList != SHIL_LARGE) && (iImageList != SHIL_SMALL) && (iImageList != SHIL_SYSSMALL))
{
FIXME("Unsupported image list %i requested\n", iImageList);
return E_FAIL;
}
InitOnceExecuteOnce( &sic_init_once, SIC_Initialize, NULL, NULL );
if (iImageList == SHIL_SYSSMALL)
iImageList = SHIL_SMALL;
return HIMAGELIST_QueryInterface(shell_imagelists[iImageList], riid, ppv);
}
...@@ -2133,31 +2133,3 @@ BOOL WINAPI LinkWindow_UnregisterClass(void) ...@@ -2133,31 +2133,3 @@ BOOL WINAPI LinkWindow_UnregisterClass(void)
void WINAPI SHFlushSFCache(void) void WINAPI SHFlushSFCache(void)
{ {
} }
/*************************************************************************
* SHGetImageList (SHELL32.727)
*
* Returns a copy of a shell image list.
*
* NOTES
* Windows XP features 4 sizes of image list, and Vista 5. Wine currently
* only supports the traditional small and large image lists, so requests
* for the others will currently fail.
*/
HRESULT WINAPI SHGetImageList(int iImageList, REFIID riid, void **ppv)
{
HIMAGELIST hLarge, hSmall;
HIMAGELIST hNew;
/* Wine currently only maintains large and small image lists */
if ((iImageList != SHIL_LARGE) && (iImageList != SHIL_SMALL) && (iImageList != SHIL_SYSSMALL))
{
FIXME("Unsupported image list %i requested\n", iImageList);
return E_FAIL;
}
Shell_GetImageLists(&hLarge, &hSmall);
hNew = (iImageList == SHIL_LARGE) ? hLarge : hSmall;
return HIMAGELIST_QueryInterface(hNew, riid, ppv);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment