[PATCH] user32: Implement InternalGetWindowIcon().
Alexandre Julliard
julliard at winehq.org
Thu May 20 03:11:24 CDT 2021
Zebediah Figura <z.figura12 at gmail.com> writes:
> + switch (type)
> + {
> + case ICON_BIG:
> + ret = win->hIcon;
> + if (!ret) ret = (HICON)GetClassLongPtrW( hwnd, GCLP_HICON );
> + break;
> +
> + case ICON_SMALL:
> + ret = win->hIconSmall;
> + if (!ret) ret = (HICON)GetClassLongPtrW( hwnd, GCLP_HICONSM );
> + break;
> +
> + case ICON_SMALL2:
> + ret = win->hIconSmall ? win->hIconSmall : win->hIconSmall2;
> + if (!ret) ret = (HICON)GetClassLongPtrW( hwnd, GCLP_HICONSM );
> + break;
> +
> + default:
> + SetLastError( ERROR_INVALID_PARAMETER );
> + WIN_ReleasePtr( win );
> + return 0;
> + }
> +
> + if (!ret) ret = LoadIconW( 0, (const WCHAR *)IDI_WINLOGO );
For the small icon case, you may want to fall back to the big icon
instead, and/or return a smaller IDI_WINLOGO, cf. NC_IconForWindow().
Testing the resulting icon sizes would also be interesting.
--
Alexandre Julliard
julliard at winehq.org
More information about the wine-devel
mailing list