Haiku Vector Icon Format (HVIF) Support & Vertex Icon Editor #182
graemeg
announced in
Announcements
Replies: 1 comment 1 reply
-
|
It blows my mind some of the ambitious things you do. Very wow! I'm impressed. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi everyone,
I am excited to announce that fpGUI now officially supports the Haiku Vector Icon Format (HVIF). This addition brings high-quality, resolution-independent iconography to all fpGUI applications, ensuring they stay sharp at standard 96 DPI and on modern HiDPI displays.
Why HVIF?
While SVG is common, HVIF was designed specifically for icons, offering:
Extreme Efficiency: HVIF files are significantly smaller than equivalent SVGs (often by a factor of 10), keeping your binary footprints minimal.
AggPas Optimized Rendering: Our implementation takes full advantage of AggPas’s compound rasterizer. This allows icons to be rendered in a single scan, regardless of the number of shapes or transparent overlaps. No pixel is ever rendered twice, resulting in incredible performance.
Seamless Scaling: Use the same asset for every resolution without loss of detail.
The Toolset
To support this workflow, I’ve developed:
SVG-to-HVIF Converter: Quickly migrate your existing SVG library.
Vertex: A feature-complete HVIF vector icon editor. While I am still refining the UI "polish," it is fully functional and supports every feature of the HVIF specification. (Full documentation and a tutorial video for Vertex will be released soon!) You can find Vertex in the 'tools' directory.
Implementation & Integration
Transitioning is easy and supports a progressive migration:
Easy Resource Management: HVIF icons can be included via standard .res files or as byte arrays in fpGUI’s preferred .inc include files, keeping build complexity to a minimum.
Widget Support: The TfpgButton widget now features a new
ImageSizeproperty (defaulting to 16px). For larger toolbar buttons, simply adjust this property to your needs; the vector icons will scale automatically to fit, even in HiDPI environments.I'll be migrating over fpGUI's own built-in images over the next few days. A handful of them have already been done.
I've attached a screenshot of Vertex below. I’m looking forward to seeing how you all use these new vector capabilities in your projects!
Regards,
Graeme
Beta Was this translation helpful? Give feedback.
All reactions