Commit graph

95 commits

Author SHA1 Message Date
Leon Styhre 3591c0f1ba Changed TextComponent to convert newlines to spaces instad of nulls when using horizontally scrolling containers 2023-08-07 23:48:02 +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 23749f16eb Fixed an issue where some theme loading warning messages for the gamelistinfo element were not formatted correctly 2023-08-07 22:04:29 +02:00
Leon Styhre a4ba7de722 Added a 'stationary' property to all secondary elements to set them as stationary during slide transitions
Also changed the view mode enum to an enum class
2023-08-06 23:51:53 +02:00
Leon Styhre ed1e11418b Completely removed support for legacy EmulationStation theme sets 2023-07-30 18:17:27 +02:00
Leon Styhre b6d17810be Added support for changing between light and dark color schemes for the menu system 2023-05-07 22:56:24 +02:00
Leon Styhre d9f38dab3e Added support for changing the saturation for font textures. 2023-03-03 22:37:39 +01:00
Leon Styhre 0fdb0500fe Removed support for the deprecated text element systemdata property values gamecount_games and gamecount_favorites. 2023-01-29 12:44:24 +01:00
Leon Styhre 558e13d0c9 Added support for displaying system name information per-game. 2023-01-15 12:51:59 +01:00
Leon Styhre fb1caaf879 Standardized some theme loading log messages in TextComponent. 2023-01-15 09:44:40 +01:00
Leon Styhre 3bbc761c8f Added the ability to control the system name suffix from the theme configuration.
Also removed the corresponding 'Show system names in collections' menu option.
2023-01-14 14:05:24 +01:00
Leon Styhre e560ab0f58 Added support for overriding the default 'unknown' values when a game has no metadata available. 2023-01-10 22:20:00 +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 246fd307b6 Changed a number of theme properties to be read by reference instead of via copy. 2022-11-03 16:03:21 +01:00
Leon Styhre b426473ec0 The text cache is now always reset on text changes. 2022-11-03 12:09:19 +01:00
Leon Styhre e1d911f401 Fixed an issue where text caches would not get cleared if the text was set to a blank value. 2022-10-28 21:31:40 +02:00
Leon Styhre 84f019680d Greatly improved text sizing and rendering. 2022-10-25 00:39:40 +02:00
Leon Styhre 5f6bd48022 One more try to fix a rounding issue in TextComponent. 2022-10-14 18:12:23 +02:00
Leon Styhre 8bbaec229f Fixed a rounding issue in TextComponent. 2022-10-11 19:37:35 +02:00
Leon Styhre 11b035affa Fixed a rounding issue in TextComponent. 2022-10-11 18:08:57 +02:00
Leon Styhre 1c82228a9c Fixed two small logical errors. 2022-10-10 20:52:55 +02:00
Leon Styhre 39c9bd2cbc Added font size overflow restrictions to TextComponent and DateTimeComponent.
Also fixed a crash that could occur in TextComponent when blank/dummy fonts were used.
2022-10-10 20:37:04 +02:00
Leon Styhre 50832a5b64 Some code cleanup. 2022-10-09 17:59:27 +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 fcbe612a0b Fixed an issue where the text background opacity was not calculated correctly. 2022-09-25 10:02:24 +02:00
Leon Styhre 9d0b3b911f Changed the argument order for the TextComponent constructor. 2022-09-24 21:37:00 +02:00
Leon Styhre 369cc7684b Eliminated a lot of unnecessary text rasterization when populating the gamelist carousel. 2022-09-24 16:47:14 +02:00
Leon Styhre 00b71c7b27 Fixed an issue where text element vertical auto-sizing did not work correctly. 2022-09-23 19:40:39 +02:00
Leon Styhre a2eedde8d3 Fixed a small rounding error in TextComponent. 2022-09-10 20:05:58 +02:00
Leon Styhre 311595ff62 Removed an unnecessary rounding in TextComponent. 2022-09-05 23:03:04 +02:00
Leon Styhre dda63403fa Improved the renderer scaling accuracy. 2022-09-04 22:01:59 +02:00
Leon Styhre a1027c2580 Removed some projection matrix and vertices roundings which caused multiple pixel alignment issues. 2022-09-02 21:01:31 +02:00
Leon Styhre 08d5e4eff0 Enabled vertical abbreviations of multiline text entries in TextComponent.
Also fixed an issue where the debug overlay would not get rendered correctly for scrollable containers.
2022-08-21 16:51:21 +02:00
Leon Styhre fa81853127 Changed some theme loading issues log output from warning to error for DateTimeComponent and TextComponent. 2022-08-19 17:11:16 +02:00
Leon Styhre d24102db0e TextComponent now only accepts valid metadata and systemdata property values. 2022-08-18 23:44:22 +02:00
Leon Styhre de5a642cf6 Added a metadataElement theme property to the image, video, animation and text element types to control fading and hiding of arbitrary elements. 2022-08-18 22:51:21 +02:00
Leon Styhre 97da2df0a4 Found a better solution to the single-pixel alignment rendering issue. 2022-04-27 18:40:28 +02:00
Leon Styhre 79c61b2d8a Fixed a text artifact issue caused by a missing rounding in TextComponent.
Also forced vertical center alignment if the text field is smaller than the font height.
2022-04-18 13:47:22 +02:00
Leon Styhre 44fe2f8fe7 Standardized some theme warning log output. 2022-03-18 20:31:04 +01:00
Leon Styhre f0c35d8509 Refactored the rendering code into proper classes. 2022-03-14 19:51:48 +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
Leon Styhre 1bca9e185e Changed to the more specific imageType and systemdata theme properties.
Also made it possible to set the image interpolation method from the theme, and added clamping to the lineSpacing property.
2022-02-13 11:45:06 +01:00
Leon Styhre f585f87497 Added support for setting component opacity from the theme configuration. 2022-02-12 17:38:55 +01:00
Leon Styhre 2c2e624160 Changed the opacity data type and functions from unsigned char to float. 2022-02-11 22:10:25 +01:00
Leon Styhre 4eb763d816 Replaced the ambiguous alignment properties with specific horizontal and vertical properties. 2022-02-11 00:19:08 +01:00
Leon Styhre 09bc9770f2 Changed the theme property forceUppercase to the more versatile letterCase property. 2022-02-09 22:06:34 +01:00
Leon Styhre 6db671de3d Added support to TextComponent for lowercase and capitalized text conversions.
Also changed camelCase to capitalized and textStyle to letterCase in various places.
2022-02-09 20:44:22 +01:00
Leon Styhre 0e9e47e090 Fixed an issue where text transparencies would not work. 2022-01-31 22:37:10 +01:00