From c4089dc4def5958c49444a8e3b161b211e3d66fb Mon Sep 17 00:00:00 2001 From: Leon Styhre Date: Thu, 6 Oct 2022 23:02:58 +0200 Subject: [PATCH] Documentation update. --- CHANGELOG.md | 1 + CONTRIBUTING.md | 3 ++- CREDITS.md | 4 ++-- THEMES-DEV.md | 4 ++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9720be36c..3b21f6688 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ * Made gamelist theming much more flexible by allowing any number of elements of any types to be defined * Deprecated multiple older theming concepts like features, extras and hardcoded metadata attributes * Renamed the default theme set from rbsimple-DE to slate-DE +* Replaced the NanoSVG library with LunaSVG for greatly improved SVG rendering capabilities * Added support for caching of SVG images * Added support for sizing SVG images arbitrarily (overriding the image aspect ratio by stretching and squashing) * (Windows) Made game launching more seamless by making the application window one pixel wider instead of one pixel less in height diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 92794cb31..a2400d3dc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -71,6 +71,7 @@ The roadmap is under constant review so expect it to change from time to time. S * Lottie animation (vector graphics) and GIF animation support * OpenGL ES 3.0 renderer for use on the Raspberry Pi * Replace the OpenGL fixed function pipeline with a shader-based renderer +* Replace NanoSVG with a more capable SVG rendering library * Improve the performance of the GLSL shader post-processing #### v2.1 @@ -110,7 +111,7 @@ The roadmap is under constant review so expect it to change from time to time. S * Migration tools for importing game metadata and media from other frontend applications * Audit tools to clean up orphaned gamelist entries, media files etc. * Auto-import tools for Steam, Lutris etc. -* Replacements for the abandoned NanoSVG and FreeImage libraries +* Replace the abandoned FreeImage library To see which features have been implemented in previous versions, please refer to [CHANGELOG.md](CHANGELOG.md). diff --git a/CREDITS.md b/CREDITS.md index 84e8ca345..16c1b35f4 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -47,8 +47,8 @@ https://github.com/g-truc/glm libvpx \ https://github.com/webmproject/libvpx -nanosvg \ -https://github.com/memononen/nanosvg +LunaSVG \ +https://github.com/sammycage/lunasvg Ogg \ https://github.com/xiph/ogg diff --git a/THEMES-DEV.md b/THEMES-DEV.md index f11ceab09..690b9300c 100644 --- a/THEMES-DEV.md +++ b/THEMES-DEV.md @@ -776,7 +776,7 @@ Instances per view: Properties: * `pos` - type: NORMALIZED_PAIR * `size` - type: NORMALIZED_PAIR - - If only one axis is specified (and the other is zero), then the other axis will be automatically calculated in accordance with the image's aspect ratio. Setting both axes to 0 is an error and the size will be clamped to `0.001 0.001` in this case. If scaling SVG images to non-standard aspect ratios, be aware that rasterization is always done while maintaining aspect ratio and the stretching or squashing is done using the GPU. This means that the image quality will not be that good if excessive stretching is done to such images. + - If only one axis is specified (and the other is zero), then the other axis will be automatically calculated in accordance with the image's aspect ratio. Setting both axes to 0 is an error and the size will be clamped to `0.001 0.001` in this case. - Minimum value per axis is `0.001` and maximum value per axis is `3`. If specifying a value outside the allowed range then no attempt will be made to preserve the aspect ratio. * `maxSize` - type: NORMALIZED_PAIR - The image will be resized as large as possible so that it fits within this size while maintaining its aspect ratio. Use this instead of `size` when you don't know what kind of image you're using so it doesn't get grossly oversized on one axis (e.g. with a game's image metadata). Although this property is possible to combine with the `tile` property that does not make a whole lot of sense, instead use the `size` property for tiled images. @@ -818,7 +818,7 @@ Properties: - If true, the image will be tiled instead of stretched to fit its size. Useful for backgrounds. - Default is `false` * `tileSize` - type: NORMALIZED_PAIR - - Size of the individual images making up the tile as opposed to the overall size for the element which is defined by the `size` property. If only one axis is specified (and the other is zero), then the other axis will be automatically calculated in accordance with the image's aspect ratio. Setting both axes to 0 is an error and tiling will be disabled in this case. If scaling SVG images to non-standard aspect ratios, be aware that rasterization is always done while maintaining aspect ratio and the stretching or squashing is done using the GPU. This means that the image quality will not be that good if excessive stretching is done to such images. If this property is omitted, then the size will be set to the actual image dimensions. For SVG images this means whatever canvas size has been defined inside the file. + - Size of the individual images making up the tile as opposed to the overall size for the element which is defined by the `size` property. If only one axis is specified (and the other is zero), then the other axis will be automatically calculated in accordance with the image's aspect ratio. Setting both axes to 0 is an error and tiling will be disabled in this case. If this property is omitted, then the size will be set to the actual image dimensions. For SVG images this means whatever canvas size has been defined inside the file. - Minimum value per axis is `0` and maximum value per axis is `1`. * `tileHorizontalAlignment` - type: STRING - If the images making up the tiled texture do not match precisely with the edges of the overall element, then this property can be used to define the alignment on the horizontal axis.