Commit graph

203 commits

Author SHA1 Message Date
Leon Styhre 67488467c3 (Linux) The data installation directory is now excluded for themes and resources when built as an AppImage. 2022-08-20 11:30:15 +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 e6ae806c31 Added an itemInterpolation theme property to control the interpolation method for carousel items. 2022-08-17 00:26:47 +02:00
Leon Styhre b69706fc35 The currently loaded theme set name is now logged to to es_log.txt on startup, reload and theme change. 2022-08-14 20:24:26 +02:00
Leon Styhre 5699988767 Added a workaround for legacy theme sets where the md_releasedate and md_lastplayed element types have incorrectly been defined as text instead of datetime. 2022-08-14 14:46:56 +02:00
Leon Styhre 81268fb11c (Windows) Changed many logging entries to use backslashes instead of forward slashes as directory separators. 2022-07-01 16:39:18 +02:00
Leon Styhre c9eb9022db A dummy theme set is now created if no theme sets were found on startup. 2022-06-11 18:35:44 +02:00
Leon Styhre 40bf018aaa Changed theme loading into a populateThemeSets function and created a separate getter function.
Also removed a deprecated theme check in the game directory.
2022-06-11 18:34:53 +02:00
Leon Styhre 269e2e8202 Added a wheelHorizontalAlignment property for aligning the carousel within the overall element area. 2022-06-03 20:53:15 +02:00
Leon Styhre 1798b96cf8 Added reflections support to CarouselComponent. 2022-04-18 21:37:58 +02:00
Leon Styhre fafca5c194 Added carousel theme support for setting the opacity for unfocused entries. 2022-04-17 13:08:28 +02:00
Leon Styhre f463766497 Generalized the carousel property names and added support for setting media types for gamelist carousels. 2022-04-16 21:54:58 +02:00
Leon Styhre 7daf69092f Added theme support for controlling the TextListComponent collection indicators. 2022-04-15 21:20:43 +02:00
Leon Styhre 254e271392 Added theme support for controlling the TextListComponent indicators. 2022-04-15 17:06:33 +02:00
Leon Styhre d62bc17400 Renamed the default theme set from rbsimple-DE to slate-DE 2022-04-14 22:46:30 +02:00
Leon Styhre 30b02456c0 Added a folder badge including support for a folder link overlay. 2022-04-13 16:53:28 +02:00
Leon Styhre cb8596ab8a Prevented themes using the <resolution> tag from loading altogether. 2022-04-10 11:32:55 +02:00
Leon Styhre 3a8d19bad5 Added support for nested theme variables. 2022-04-10 11:24:15 +02:00
Leon Styhre 16955e5318 Fixed an issue where the theme sets were not always sorted correctly. 2022-04-09 15:57:37 +02:00
Leon Styhre 3eacb27c3b Changed the helpsystem properties entrySpacing and iconTextSpacing to relative values.
Also reverted the helpsystem horizontal alignment functionality as it's not needed.
2022-03-20 19:07:52 +01:00
Leon Styhre 6f6f388257 Added RatingComponent support to the system view. 2022-03-18 22:16:53 +01:00
Leon Styhre a115b3f941 Added alignment support and separate dimming of gamelist and system views to the help system. 2022-03-18 20:14:51 +01:00
Leon Styhre 5de2855d60 Added theme support for defining color saturation for the image, video and animation components. 2022-03-17 19:33:09 +01:00
Leon Styhre b6e38dcf67 Fixed multiple issues in CarouselComponent. 2022-03-17 00:02:16 +01:00
Leon Styhre 978790956e Removed Lottie animation support for legacy themes. 2022-03-05 21:16:33 +01:00
Leon Styhre ed540359c5 Updated GIFAnimComponent to a fully working state. 2022-03-05 20:56:47 +01:00
Leon Styhre 32349dc9a6 Renamed LottieComponent to LottieAnimComponent. 2022-02-23 21:54:57 +01:00
Leon Styhre e92af0548c Added DateTimeComponent support to SystemView. 2022-02-20 15:49:32 +01:00
Leon Styhre 3795edb1b9 Removed the broken rotation support for video elements. 2022-02-20 15:03:31 +01:00
Leon Styhre f803e23fd2 Added theme support for disabling audio playback for each defined video. 2022-02-19 21:45:31 +01:00
Leon Styhre 29514d4db9 Added video support to SystemView. 2022-02-19 21:22:46 +01:00
Leon Styhre a9d1f6e307 Added support for setting the video fade-in time via the theme configuration. 2022-02-15 21:26:40 +01:00
Leon Styhre 4f019c3775 Added support for defining multiple imageType entries.
Also made some improvements to GameSelectorComponent and related logic.
2022-02-14 19:32:07 +01:00
Leon Styhre cc8123f5a6 Added a GameSelectorComponent for displaying game media in SystemView. 2022-02-13 20:03:34 +01:00
Leon Styhre 31c5b200d1 Added support for using unsigned integers for theme properties. 2022-02-13 15:01:55 +01:00
Leon Styhre 027265da67 Added themeable opacity support for the help system. 2022-02-13 12:18:33 +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 85cb10d71a Changed some string::compare functions to == operators.
Also removed an unused theme property.
2022-02-11 18:39:16 +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 28a3beb9ce ScrollableContainer parameters are now themeable. 2022-02-10 20:02:56 +01:00
Leon Styhre 70eb937f85 Fixed a potential crash for legacy themes with broken configuration. 2022-02-09 23:12:12 +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 9856a3da1b ThemeData now only prints debug messages for missing files set using variables. 2022-02-09 18:45:03 +01:00
Leon Styhre 69b9b587d6 Added support for text entries to CarouselComponent.
Also fixed some issues with the carousel wheels and removed an unused function in ThemeData.
2022-02-07 21:05:56 +01:00
Leon Styhre 061974eddf Added UI labels to the theme aspect ratios. 2022-01-31 23:22:42 +01:00
Leon Styhre d140804dad Adjusted a few log warning messages in ThemeData. 2022-01-30 21:35:39 +01:00
Leon Styhre 1dd5e52760 Updated ThemeData to more strictly enforce the new theme engine format. 2022-01-30 21:13:49 +01:00
Leon Styhre 3bf46c3fb0 Added support for two new 'scrollFadeIn' and 'defaultImage' properties.
Also fixed some issues with theming ScrollableContainer.
2022-01-30 19:30:38 +01:00
Leon Styhre c35a297d9a Large update to get the new theme engine up and running. 2022-01-29 18:41:22 +01:00
Leon Styhre dc20a9e21b Cleaned up ThemeData a bit. 2022-01-23 20:03:50 +01:00
Leon Styhre 644f79ebec Improved the theme loading error logging.
Also cleaned up the code a bit.
2022-01-23 17:50:51 +01:00
Leon Styhre 6229592c74 Added two new 'metadata' and 'scrollHide' elements to ThemeData. 2022-01-22 21:21:13 +01:00
Leon Styhre a443f86235 Removed a huge amount of unnecessary Window* function arguments. 2022-01-19 18:01:54 +01:00
Leon Styhre 8a6652552f Set the clang-format option SpaceBeforeCpp11BracedList to true. 2022-01-16 12:09:55 +01:00
Leon Styhre a233b96c2a Removed some unnecessary typedefs and replaced the remaining ones with the more modern 'using' keyword.
Also harmonized the names of some user defined types and made some other minor cleanup.
2022-01-11 21:57:00 +01:00
Leon Styhre b4e08ba92b Renamed Platform to utils/PlatformUtil 2022-01-10 18:56:04 +01:00
Leon Styhre cd7cfe36ce Added play direction support to LottieComponent.
Also fixed some bugs and cleaned up the code a bit.
2022-01-09 18:17:23 +01:00
Leon Styhre b16ea29088 Added theme support and proper application integration for LottieComponent. 2022-01-09 13:43:42 +01:00
Leon Styhre 87ace0b8cb Changed some shared_ptr return values to use values instead of references. 2022-01-04 22:36:15 +01:00
Leon Styhre 254b00a3d8 Large refactoring to improve thread safety and improve singleton pattern usage. 2022-01-04 21:21:26 +01:00
Leon Styhre af52d9b0ac Changed most increment and decrement operators from postfix to prefix for es-core. 2021-11-17 17:48:49 +01:00
Sophia Hadash ac84716273 Merge branch 'master' into 653-properly-apply-z-index-in-the-system-view 2021-10-26 21:56:45 +02:00
Leon Styhre f32c3dc6f4 Reintroduced column mode for BadgeComponent.
Also fixed an issue with direction in FlexboxComponent when using column mode.
2021-10-25 19:13:54 +02:00
Leon Styhre 84514f67d0 Added support for controller types. 2021-10-23 19:08:32 +02:00
shadash 3070a66e2c introduce 'legacyZIndexMode' tag in carousel
Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-23 17:34:20 +02:00
Leon Styhre 48db23691d Merged BadgeComponent code into master branch. 2021-10-12 23:13:38 +02:00
Leon Styhre ae96cb4c54 Further improvements to the badges code. 2021-10-12 22:53:02 +02:00
shadash 123e50cf17 change dimension constraints to use container size.
make margins proportional to screen size.

Signed-off-by: Sophia Hadash <sophiahadash@gmail.com>
2021-10-09 17:04:04 +02:00
Leon Styhre 8c9b664bb1 If the currently configured theme set is missing, attempt to load rbsimple-DE as fallback.
Also added a warning log entry when the selected theme set is missing.
2021-10-09 13:12:06 +02:00
Sophia Hadash aaf5d0209b Implement flexbox and badges. 2021-09-14 01:01:46 +02:00
Sophia Hadash fe413bb68f Initial implementation, including flexbox layout for badges. 2021-09-05 03:40:23 +02:00
Sophia Hadash 6b727e3883 add badges definition to theme interpreter 2021-09-04 21:15:14 +02:00
Sophia Hadash 41375c6f6e remove brackets. 2021-08-23 20:57:11 +02:00
Sophia Hadash b8ce3d95e8 rewrite custom button icon tags into customButtonIcon node with attribute. 2021-08-23 12:58:06 +02:00
Sophia Hadash 0826ebb2af Bump theme xml version from 6 to 7. 2021-08-23 12:58:06 +02:00
Sophia Hadash 76a25d2204 Implement theme customizable button icons. 2021-08-23 12:58:06 +02:00
Sophia Hadash c2042e66e2 Add help component theme options textColorDimmed and iconColorDimmed. 2021-08-23 12:58:06 +02:00
Sophia Hadash dfffd1057d Add help component theme options textStyle. 2021-08-23 12:58:06 +02:00
Sophia Hadash 6672fd1ec8 Add help component theme options entrySpacing and iconTextSpacing. 2021-08-23 12:58:06 +02:00
Leon Styhre 7b5d673050 Replaced the internal Vector2i data type and functions with the GLM library equivalent.
Also applied some code formatting changes for braced lists using clang-format.
2021-08-17 18:41:45 +02:00
Leon Styhre 1fb0ccef0d Replaced the internal Vector2f data type and functions with the GLM library equivalent. 2021-08-16 18:25:01 +02:00
Leon Styhre 64a7b8e54a Replaced the internal Vector3f and Vector4f data types and functions with the GLM library equivalents. 2021-08-15 22:03:17 +02:00
Leon Styhre 23fdc00044 Formatted the es-core source tree using clang-format. 2021-07-07 20:31:46 +02:00
Leon Styhre 3922fdd40a Improved the logging when there are issues with invalid theme XML files. 2021-02-08 20:53:39 +01:00
Leon Styhre 8f32be00b4 Some general code cleanup. 2021-01-25 18:07:11 +01:00
Leon Styhre 80d29978b8 Minor update to the ThemeData log output. 2021-01-17 22:33:02 +01:00
Leon Styhre 7b19b2cc6b Improved some log output in ThemeData. 2021-01-17 21:52:34 +01:00
Leon Styhre f4cfcbed65 Some improvements to the application logging. 2021-01-01 18:36:53 +01:00
Leon Styhre debf072a0e Rewrote some code from C to C++ 2020-12-16 23:59:00 +01:00
Leon Styhre 7f0aede274 Added gamelist info field which displays some useful information. 2020-10-30 14:19:21 +01:00
Leon Styhre 2eb5125d0e Some cosmetic code cleanup. 2020-10-18 19:45:26 +02:00
Leon Styhre 930bdce576 Fixed multiple issues reported by the Clang static analyzer. 2020-10-17 14:05:41 +02:00
Leon Styhre 8db04c5fcb Added SPDX license identifiers to all source files. 2020-09-21 19:17:34 +02:00
Leon Styhre 88a5962926 Changed '#ifdef' to '#if defined()' throughout the code. 2020-08-23 17:04:30 +02:00
Leon Styhre ffcb578fe7 (macOS) Updates to make ES find resources and themes within the application installation directory. 2020-08-21 21:49:45 +02:00
Leon Styhre 57d6dab2cc Some cosmetic code changes. 2020-07-13 20:58:25 +02:00
Leon Styhre 29c50ff5a1 Reintroduced the ES executable directory on Unix as a path to look for resources and themes. 2020-07-12 12:47:39 +02:00
Leon Styhre 31da561695 Complete UTF-16 (Unicode) support added for Windows.
ROM names with Unicode characters are supported, as well as running ES from a directory that has Unicode characters in its name.
2020-07-10 18:32:23 +02:00