Commit graph

114 commits

Author SHA1 Message Date
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
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
d9f38dab3e Added support for changing the saturation for font textures. 2023-03-03 22:37:39 +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
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
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
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
f048d06b95 Fixed a text abbreviation issue. 2022-09-28 17:21:02 +02:00
Leon Styhre
0736192417 Fixed a text abbreviation issue. 2022-09-24 16:45:18 +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
Leon Styhre
b079421205 Changed it so that only fonts of a certain minimum size gets linear texture magnification applied. 2022-09-05 22:36:33 +02:00
Leon Styhre
e8c74450a0 Enabled linear interpolation for all font rendering regardless of resolution. 2022-09-05 00:11:53 +02:00
Leon Styhre
ce50c1121b Enabled linear interpolation for font texture magnification when running on display resolutions at or above approximately 1920x1080. 2022-09-02 21:30:16 +02:00
Leon Styhre
9b1fb95865 Enabled linear interpolation for font texture minifications. 2022-09-02 21:03:19 +02:00
Leon Styhre
6126016289 Cleaned up some font-related code. 2022-08-30 19:31:57 +02:00
Leon Styhre
047d080346 Fixed a small text abbreviation issue. 2022-08-21 21:24:46 +02:00
Leon Styhre
ce217c48a4 Added support for vertical abbreviations of multiline text entries. 2022-08-21 16:33:29 +02:00
Leon Styhre
53ad5a3152 Fixed an issue where the texture buffer sometimes couldn't fit Chinese characters. 2022-05-09 20:12:08 +02:00
Leon Styhre
f990d91841 Reverted the previous commit. 2022-05-04 00:42:28 +02:00
Leon Styhre
f86ab2ea89 Increased the font texture size slightly. 2022-05-03 23:35:47 +02:00
Leon Styhre
91460495be Added size restrictions to fonts and textures to avoid crashes caused by invalid theme configuration. 2022-04-10 11:53:44 +02:00
Leon Styhre
c4cae406e9 Fixed a font loading crash caused by an insufficient font texture size.
Also added a preventive measure for similar crashes in the future and made some general cleanup of the font code.
2022-04-02 11:59:52 +02:00
Leon Styhre
06a037d8cf Shader flags are now sent as bit masks instead of via discreet values.
Also changed the shader flags to enums.
2022-03-14 22:30:24 +01:00
Leon Styhre
f0c35d8509 Refactored the rendering code into proper classes. 2022-03-14 19:51:48 +01:00
Leon Styhre
a7db474a64 Unified the OpenGL and OpenGL ES renderers and removed the fixed function pipeline.
Also made some other rendering optimizations and cleaned up some code.
2022-03-13 23:52:32 +01:00
Leon Styhre
32251e0264 Fixed multiple issues with the shader post-processing.
Also removed an unnecessary parameter for the createTexture() function.
2022-03-12 14:22:27 +01:00
Leon Styhre
755b2c9f50 Changed some render variables to more verbose names.
Also fixed an issue with fade transitions for legacy themes.
2022-03-11 23:51:41 +01:00
Leon Styhre
63af859618 Modernized the OpenGL renderer and replaced most fixed function pipeline code with shaders.
Also greatly improved the shader post processing performance and added component dimming support.
2022-03-11 23:17:04 +01:00