public static bool TryCreate(bool isIcon, ResourceLang lang, byte[] rawData, out IconCursorImageResourceData typed) { // rawData is an ICONIMAGE structure OR a PNG image // if it's a PNG image it's easy enough: if (PngImageResourceData.HasPngSignature(rawData)) { if (!TryCreateImage(rawData, out var image)) { typed = null; return(false); } typed = new IconCursorImageResourceData(image, lang, rawData) { IsIcon = isIcon }; return(true); } typed = new IconCursorImageResourceData(lang, rawData) { IsIcon = isIcon }; return(true); }
public override ResourceData FromResource(ResourceLang lang, byte[] data) { if (lang == null) { throw new ArgumentNullException(nameof(lang)); } var isIcon = lang.Name.Type.Identifier.KnownType == Win32ResourceType.IconImage; return(IconCursorImageResourceData.TryCreate(isIcon, lang, data, out var rd) ? rd : null); }
public IconCursorImageResourceData FromFileData(ResourceLang lang, byte[] data, bool isIcon) { return(IconCursorImageResourceData.TryCreate(isIcon, lang, data, out var rd) ? rd : null); }