Commit graph

207 commits

Author SHA1 Message Date
Leon Styhre
fed4dda4ac Fixed an issue where the application shutdown was not always clean 2023-11-10 20:42:14 +01:00
Leon Styhre
87a8d5a23a Fixed a few issues reported by scan-build 2023-11-02 12:38:19 +01:00
Leon Styhre
7d32aac99d Changed a Font comment related to the use of the FreeType auto-hinter 2023-09-27 22:08:42 +02:00
Leon Styhre
ee2573345f Improved font rendering quality and always enabled linear texture interpolation for both minification and magnification 2023-09-27 20:36:54 +02:00
Leon Styhre
848d19a80b Added support for binding multiple texture units for use in the shaders 2023-09-07 21:02:38 +02:00
Leon Styhre
8c9ebc2dcd Renamed the textureSize shader uniform to texSize to avoid collision with the GLSL keyword
Also some additional minor renderer code cleanup
2023-08-31 17:11:32 +02:00
Leon Styhre
6ae8c87864 Added a number of properties to allow horizontally scrolling text entries with CarouselComponent
Also added support for rotating horizontal scrollable containers
2023-08-09 18:57:23 +02:00
Leon Styhre
e7ada6111b Added a 'containerType' property to the text element to select between vertical and horizontal containers 2023-08-07 22:58:35 +02:00
Leon Styhre
ed1e11418b Completely removed support for legacy EmulationStation theme sets 2023-07-30 18:17:27 +02:00
Leon Styhre
5e64694e3c Added support for a lot more emoji characters by bundling the Google Noto Emoji font 2023-07-15 22:23:13 +02:00
Leon Styhre
47c321e434 Enabled linear interpolation support for ImageComponent::setRawImage() 2023-07-04 17:41:41 +02:00
Leon Styhre
3d5a8aa08f Fixed an issue where TextureResource::initFromPixels() was not setting the source size correctly 2023-06-21 23:06:55 +02:00
Leon Styhre
dfe7469101 Added six new theme properties for sizing and placement of the helpsystem when a menu is open 2023-04-09 12:47:44 +02:00
Leon Styhre
0f3db2fbf1 Fixed a line wrapping issue for text with blank lines that was not displayed in a scrollable container 2023-04-08 15:35:56 +02:00
Leon Styhre
deaa4e13b3 Fixed an issues where textlist entries would sometimes scroll horizontally even though they fit inside the element width. 2023-03-04 21:57:33 +01:00
Leon Styhre
d9f38dab3e Added support for changing the saturation for font textures. 2023-03-03 22:37:39 +01:00
Leon Styhre
c9848d694b Fixed an issue where SVG images would sometimes not get rasterized. 2023-02-16 00:00:45 +01:00
Leon Styhre
3d1261b6d2 Added support for changing the medium and large system font sizes automatically depending on screen orientation.
Also fixed an issue where the font size was not calculated correctly when using a vertical screen orientation.
2023-02-10 00:45:10 +01:00
Leon Styhre
304d304727 Added support for linear interpolation for font texture magnifications. 2022-12-07 18:24:00 +01:00
Leon Styhre
645b41afa4 Fixed multiple issues with text rendering for legacy themes. 2022-11-06 00:02:48 +01:00
Leon Styhre
486942c792 The cache manager now differentiates between mipmapped and non-mipmapped images. 2022-11-05 20:41:17 +01:00
Leon Styhre
bebb345936 Replaced the checkerboard pattern for the default blank texture with a truly blank texture. 2022-10-30 09:16:14 +01:00
Leon Styhre
b17c78bc42 Increased the default VRAM limit from 256 to 512 MiB and increased the maximum limit from 1024 to 2048 MiB.
Also increased the default VRAM limit for the Raspberry Pi from 184 to 192 MiB.
2022-10-30 09:11:59 +01:00
Leon Styhre
3c82bb4dfb Changed the renderer pixel format from RGBA to BGRA.
Also implemented premultiplied alpha for all images, animations and videos and improved the carousel reflection falloff logic.
2022-10-28 00:08:41 +02:00
Leon Styhre
e4f4f29198 Merged the master branch into new-svg-renderer. 2022-10-26 19:52:01 +02:00
Leon Styhre
2fd5580e13 Fixed a small font offset problem mostly seen at really low resolutions. 2022-10-26 18:42:42 +02:00
Leon Styhre
a8d1c4a2e1 Fixed an issue in CarouselComponent where setting itemScale to less than 1.0 did not work as expected.
Also fixed a problem where carousel text entries did not get multiplied by itemScale.
2022-10-25 20:33:12 +02:00
Leon Styhre
4513b20339 Some minor font sizing improvements.
Also fixed a few implicit casts.
2022-10-25 01:20:31 +02:00
Leon Styhre
84f019680d Greatly improved text sizing and rendering. 2022-10-25 00:39:40 +02:00
Leon Styhre
16c4fb6d17 Fixed some alignment issues in CarouselComponent. 2022-10-14 18:14:15 +02:00
Leon Styhre
7e923cb9b6 Some refactoring of the OpenGL renderer and TextureDataManager. 2022-10-11 18:11:36 +02:00
Leon Styhre
d74966a3c4 Fixed a heisenbug where letters would sometimes get rendered with ugly edge artifacts. 2022-10-11 18:07:56 +02:00
Leon Styhre
241a0119ef Fixed a crash in the Font::wrapText function. 2022-10-10 21:12:49 +02:00
Leon Styhre
610ac9adb3 Implemented dynamic texture allocation to the font handling. 2022-10-10 20:32:35 +02:00
Leon Styhre
0232635504 Refactoring/cleanup. 2022-10-09 19:13:54 +02:00
Leon Styhre
0757156caf Improved error handling for unloadable font files. 2022-10-09 18:01:30 +02:00
Leon Styhre
fdcd4a4a9d (Windows) Fixed an MSVC compiler warning. 2022-10-08 11:22:46 +02:00
Leon Styhre
d927135034 Fixed an issue where line breaks were included in single-line text entries. 2022-10-08 10:00:40 +02:00
Leon Styhre
508ea87963 Rewrite of the text wrapping code to work with languages which generally lack spaces, like Japanese.
Also implemented massive performance improvements to the text wrapping code.
2022-10-08 09:33:57 +02:00
Leon Styhre
d2ca019a75 Avoided unnecessary SVG file parsing for images previously found to be invalid. 2022-10-06 20:20:48 +02:00
Leon Styhre
bbe9666f69 Removed the use of a deprecated LunaSVG function that is no longer required. 2022-10-03 21:38:01 +02:00
Leon Styhre
bf5cce31c6 Replaced the NanoSVG library with LunaSVG. 2022-10-03 18:43:30 +02:00
Leon Styhre
f048d06b95 Fixed a text abbreviation issue. 2022-09-28 17:21:02 +02:00
Leon Styhre
15e30bc0ca Increased the minimum VRAM limit from 80 MiB to 128 MiB. 2022-09-27 17:43:27 +02:00
Leon Styhre
0736192417 Fixed a text abbreviation issue. 2022-09-24 16:45:18 +02:00
Leon Styhre
2742424ca2 Some general code cleanup. 2022-09-08 18:56:02 +02:00
Leon Styhre
b9303e5494 Mipmapping is now taken into consideration when calculating the VRAM usage. 2022-09-07 21:17:01 +02:00
Leon Styhre
8361c4f15c Moved the Alignment enumerator from Font to GuiComponent. 2022-09-07 19:54:55 +02:00
Leon Styhre
b4b709b589 Added a tileSize property to the image element so that the size of each individual image in tiled textures can be defined. 2022-09-06 21:33:50 +02:00
Leon Styhre
b6dc0bd72c Removed the font texture linear magnification support as it caused various rendering artifacts. 2022-09-06 00:51:16 +02:00