Commit graph

237 commits

Author SHA1 Message Date
Leon Styhre b288bd172c Removed a temporary member variable in Font and replaced it with proper argument passing 2024-08-04 11:52:25 +02:00
Leon Styhre 14c4e00bf2 Changed Font::shapeText() to pass the segments vector by reference 2024-08-04 11:31:03 +02:00
Leon Styhre 2e01613e41 Removed the offensive wrapText hacks and added some optimizations
Also changed the three dots to an actual ellipsis Unicode character when abbreviating text
2024-08-03 20:50:59 +02:00
Leon Styhre c873441851 Made accurate text layout work correctly using HarfBuzz 2024-08-03 19:04:45 +02:00
Leon Styhre 7a8bd97226 Added a precaution to prevent crashes in case of broken fonts being used 2024-08-03 14:54:49 +02:00
Leon Styhre 75b93794b0 Fixed another failure mode for the wrapText shaped text hack 2024-08-03 14:22:36 +02:00
Leon Styhre 4931ea9749 Changed to having HarfBuzz set the horizontal glyph advance 2024-08-03 14:09:51 +02:00
Leon Styhre 908788da25 Fixed an issue where text was not correctly centered after line breaks 2024-08-03 00:18:41 +02:00
Leon Styhre c87d2e7584 RTL text segments are now flagged as such 2024-08-02 23:36:06 +02:00
Leon Styhre 09d16e9c16 Text shaping segments are no longer created by space characters 2024-08-02 23:34:44 +02:00
Leon Styhre b3ac8b6320 Changed the text shaping function to return the segment vector 2024-08-02 23:31:47 +02:00
Leon Styhre 9e7b02291b Added a hack to make shaped text wrap somehow correctly 2024-08-02 15:58:26 +02:00
Leon Styhre 45091547b7 Changed two font calculation functions to use shaped text
Also consolidated the HarfBuzz segment creation and shaping into a single function
2024-08-02 12:43:26 +02:00
Leon Styhre 81bc30cc26 Fixed a text shaping issue when there was a font change for the last character of a string 2024-08-01 14:36:29 +02:00
Leon Styhre 84e850a507 Moved the text shaping to a separate function 2024-08-01 14:34:34 +02:00
Leon Styhre 412e74738a Moved the HarfBuzz segment building to a separate function
Also implemented segment caching and fixed an issue where missing glyphs were not handled correctly
2024-08-01 12:20:39 +02:00
Leon Styhre 82f6686cbf Changed the font VRAM usage calculation to actually only include texture data 2024-08-01 10:58:15 +02:00
Leon Styhre 539cdd8146 Added initial text shaping support 2024-07-31 18:44:26 +02:00
Leon Styhre 076709b239 Moved the Ubuntu Condensed font higher in the loading order 2024-07-24 11:47:12 +02:00
Leon Styhre a5b1b17c2c Changed the application name in all header files 2024-07-10 18:04:40 +02:00
Leon Styhre 7cc901bb7f Fixed an issue where updating font textures caused random glyph artifacts 2024-05-19 18:39:26 +02:00
Leon Styhre 116d73c62a Removed some std::filesystem code
Also fixed an issue with launching emulators not defined via find rules
2023-12-19 17:35:58 +01:00
Leon Styhre a0d636ffb8 Changed the application name to ES-DE in all source file headers 2023-12-16 19:48:25 +01:00
Leon Styhre 361bf832e1 Changed the application name from EmulationStation Desktop Edition to ES-DE 2023-12-16 12:30:13 +01:00
Leon Styhre 56ccba81d1 Removed all instances of hardcoded application directory entries
Also changed some source file headers
2023-12-15 18:33:02 +01:00
Leon Styhre b72e2a20a8 Changed a number of FileSystemUtil functions to use std::filesystem facilities 2023-12-13 22:04:14 +01:00
Leon Styhre 8571dfe7bf (Android) Implemented a cleaner way of handling the private data directory 2023-12-12 23:21:27 +01:00
Leon Styhre a83763c2c3 (Android) Added preliminary support for copying assets to the internal data directory 2023-12-07 18:28:55 +01:00
Leon Styhre 498bdbd119 Fixed an additional issue where font textures were sometimes updated with empty glyhps 2023-12-07 17:58:10 +01:00
Leon Styhre 8fe027e9ad Fixed an issue where font textures were sometimes updated with empty glyhps 2023-12-07 17:55:40 +01:00
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