From 4001c519a1fccd81e75fa9182b61f797fe500521 Mon Sep 17 00:00:00 2001 From: Martin Date: Tue, 16 Jul 2024 11:50:35 +0200 Subject: [PATCH] [GLFW] Switch to binary application icon file Can be loaded without any image loading library. --- .../Aardvark.Application.Slim.fsproj | 2 +- .../Aardvark.Application.Slim/GLFW.fs | 70 +++++++++--------- .../resources/aardvark-icon.bin | Bin 0 -> 262144 bytes .../resources/aardvark.png | Bin 20225 -> 0 bytes 4 files changed, 35 insertions(+), 37 deletions(-) create mode 100644 src/Application/Aardvark.Application.Slim/resources/aardvark-icon.bin delete mode 100644 src/Application/Aardvark.Application.Slim/resources/aardvark.png diff --git a/src/Application/Aardvark.Application.Slim/Aardvark.Application.Slim.fsproj b/src/Application/Aardvark.Application.Slim/Aardvark.Application.Slim.fsproj index c5e7d5469..7d772d70e 100644 --- a/src/Application/Aardvark.Application.Slim/Aardvark.Application.Slim.fsproj +++ b/src/Application/Aardvark.Application.Slim/Aardvark.Application.Slim.fsproj @@ -14,7 +14,7 @@ ..\..\..\bin\Release\ - + diff --git a/src/Application/Aardvark.Application.Slim/GLFW.fs b/src/Application/Aardvark.Application.Slim/GLFW.fs index 935b79227..9fedb7f4c 100644 --- a/src/Application/Aardvark.Application.Slim/GLFW.fs +++ b/src/Application/Aardvark.Application.Slim/GLFW.fs @@ -383,44 +383,42 @@ type WindowConfig = WindowConfig.transparent = false WindowConfig.samples = 1 } -module IconLoader = - - type private Self = Self - let private getIcon'() = - let sizes = Array.sortDescending [| 16; 24; 32; 48; 64; 128; 256 |] - let ass = typeof.Assembly - let name = ass.GetManifestResourceNames() |> Array.find (fun n -> n.EndsWith "aardvark.png") - - let img = - use src = ass.GetManifestResourceStream name - PixImage.Load(src).ToPixImage(Col.Format.RGBA) - - let levels = - let mutable last = img - sizes |> Array.map (fun s -> - if s = last.Size.X && s = last.Size.Y then - last :> PixImage - else - let dst = PixImage(Col.Format.RGBA, V2i(s,s)) - NativeVolume.using last.Volume (fun src -> - NativeVolume.using dst.Volume (fun dst -> - NativeVolume.blit src dst - ) - ) - - last <- dst - dst :> PixImage - ) - - PixImageMipMap levels +module internal IconLoader = + open System.IO + + let private tryLoad (name: string) = + try + let asm = typeof.Assembly + let resourceName = asm.GetManifestResourceNames() |> Array.tryFind (String.endsWith name) + + match resourceName with + | Some rn -> + let pix = + use rs = asm.GetManifestResourceStream(rn) + use ms = new MemoryStream() + rs.CopyTo(ms) + let volume = Volume(ms.ToArray(), 0L, V3l(256L, 256L, 4L), V3l(4L, 1024L, 1L)) + PixImage(Col.Format.RGBA, volume) + + Success <| PixImageMipMap.Create(pix, ImageInterpolation.Linear) + + | _ -> + Error $"Could not find resource with name '{name}'." + + with e -> + Error e.Message + + let private icon = + lazy ( + match tryLoad "aardvark-icon.bin" with + | Success icon -> Some icon + | Error err -> + Log.warn "[GLFW] Failed to load icon: %s" err + None + ) let getIcon() = - try - getIcon'() |> Some - with e -> - Log.warn "could not load icon. %A" e.Message - None - + icon.Value type GlfwGamepad() = let a = cval false diff --git a/src/Application/Aardvark.Application.Slim/resources/aardvark-icon.bin b/src/Application/Aardvark.Application.Slim/resources/aardvark-icon.bin new file mode 100644 index 0000000000000000000000000000000000000000..2dc2601bc702ecb3b16c05bb1f8de4958098b15c GIT binary patch literal 262144 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 K3xUBv;Qs@p>Tsd} literal 0 HcmV?d00001 diff --git a/src/Application/Aardvark.Application.Slim/resources/aardvark.png b/src/Application/Aardvark.Application.Slim/resources/aardvark.png deleted file mode 100644 index 09617339d8d093fe946b523659dbc7fa4acdd7ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20225 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

uL={dAPQ_Pf}# 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

$A`sC1&DXU5`_r#F ze|_R$@Di?{@vUmUN#X7f#$*=&;QFw@+GeZ(ke9A>&%X1W`ERe7Ccnw!5ejwNBS?F! z89x{>0X zUhJ6h#&;IJe(Fr+&0eoC9R$!dd-*VB5VH?IC4k@0TAJ&ke|_rluE!7T3SNM1_@lxW zfT4*M0tvk$06;1$6Q{iG1I4#gRXg6|%@LN%idji!_aI0Pl=fHe1^mX@nv3e6|MuIC zr!Tx5xrYAO-ZuPEU<<&=4D<*rArJxNz2k$$YnHBdy&=C?+~RW6T+Yn!!1fB_3n6AZ zE`b7}APaSO>3h$d4E^Po54Y{pG_=Dsb`AXkU>p7@umxcBSV9oHe5k+_2Isn)-Ltp6 zI`7u0)0I~_-E@)DMTwzv=mxiM!3ki+_NvMe3a|^!4bgwT_*~CFcRuAm2eWWThiUZI zI=*fAW55=Gv16?oSVCZV1yb+7^WXZO!lg@AyIxsTB5iiL=yXXU&<%hYwr4OJtfC#m z0K!3|sk7bKbM|ELpTGTC`w=bFH``l=Z_W00R(~AW0x*6EZd^i?&@TjXVVPKR=f4!J zs9NB7MSh{U-r=OvWQD>oI1D>X=!1}cqt`Sb5;B^7UB-dS=Of#n{&Ua4+DqXk^!MJg z-28#Fy?r&ufh_>>VW3xFZ9KC6t(29C#kapPZ%Nex=S>C0;yQe(*0&7Jf?^SQioxNzKXGK}LxYm;+ERtk8#o;uM>R<+7FrGCHO$o7@YnuO8qa3Qr zTSI>1OmmZV@Z8DJk!SzXbs-c&C;Df19oM_}u`a%C_;JD(fW$GF7+3-z#{Az=Ia4fJ zza?+>?D_JNl2Un@%T4D>3Mp3<>JS9$KR;~`z+?coTk^>-N;+gsFgmoG#v?%x%x?`YOLVbpG>>Sc1#>}prVlyYfWPQEbJ?GY*+4l+fQNr51cTtR?~3Pciw z|KHvj>@*C+VAxJsH$W?^-~bm8@Bb{EIUpg#CNznnb}g)AO&ku4&C9ZKgHH1&MQKzg zJyic+CkGcnEz@npO+)z29QgkN5!MPM0Yd!&#>wUN z(daylN5iuyJx!u?Fu){^aoFptVHCkJD(FWF`>4K+1|v`a0L}rSLvrMdCD4{glfl|F zu3BhY)!J2cMR_?hdGSWY%UBoVCtXe_<^$F>^7)CpFL;9O6MOl}cK|Vf?!gTqv~}PH zz{h^PKTmmU@aJ$bQlN!I+ZNA_z!$m*zC(xs><1X=+nQR&slXh*j*l-5z+uw%-bK)YAP9%R7wPJCz8XWnfdBvi07*qo IM6N<$f&qvwf&c&j