Commit graph

129 commits

Author SHA1 Message Date
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 f859fd828d Cleaned up the GLSL shader files and related code. 2022-03-15 00:14:06 +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 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 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 a42d63e567 Code cleanup by moving a lot of casts to the appropriate getter functions. 2022-02-11 23:38:23 +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 89efdef39c Fixed an issue where horizontal and vertical color gradients were mixed up.
Also added logging in case an invalid gradient type is used in a theme.
2022-02-11 18:44:24 +01:00
Leon Styhre 36fe3c871c Fixed an issue where corrupt textures could get rendered. 2022-02-01 17:51:00 +01:00
Leon Styhre e96aa82dd3 Fixed an issue where some images would not get rendered. 2022-01-30 20:48:31 +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 24f65a2560 Prevented ImageComponent from attempting to render an empty texture. 2022-01-25 18:18:16 +01:00
Leon Styhre a443f86235 Removed a huge amount of unnecessary Window* function arguments. 2022-01-19 18:01:54 +01:00
Leon Styhre 0c8efee8ad General refactoring and code cleanup. 2022-01-16 18:18:28 +01:00
Leon Styhre 8a6652552f Set the clang-format option SpaceBeforeCpp11BracedList to true. 2022-01-16 12:09:55 +01:00
Leon Styhre 5c07e29101 Fixed an issue where the cached background would sometimes miss some GUI elements. 2022-01-09 19:50:11 +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
Leon Styhre 3e12fcb420 General refactoring and minor optimizations throughout the codebase. 2021-11-09 22:40:08 +01:00
Leon Styhre 3d3d951842 Renamed alwaysRasterize to forceRasterization.
Also removed an unnecessary function call in ImageComponent.
2021-10-26 18:22:41 +02:00
Leon Styhre 89aefab54c Small simplification in ImageComponent. 2021-10-23 17:35:23 +02:00
Leon Styhre 6cee6d2732 Fixed multiple image scaling and rasterization issues. 2021-10-23 15:45:44 +02:00
Leon Styhre 1166539466 Fixed a general ImageComponent scaling issue caused by incorrect rounding. 2021-10-17 21:51:21 +02:00
Leon Styhre 87d6207c51 Removed lots of unnecessary help component texture resizing. 2021-09-27 21:03:53 +02:00
Leon Styhre 63767347f2 Fixed numerous compiler warnings reported by the -Wall and -Wpedantic flags. 2021-09-19 14:37:10 +02:00
Leon Styhre 0b6d987263 Fixed lots of compiler warnings reported by the -Wall and -Wpedantic flags. 2021-09-18 09:53:26 +02:00
Leon Styhre 6e882dd564 Added support for upscaling bitmap images using linear filtering. 2021-08-19 20:16:42 +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 722468129e Replaced all internal matrix data types and functions with the GLM library equivalents.
Also changed some vectors.
2021-08-15 19:30:31 +02:00
Leon Styhre 23fdc00044 Formatted the es-core source tree using clang-format. 2021-07-07 20:31:46 +02:00
Leon Styhre 651b7a4d02 Fixed an issue with an endless loop when attempting to load a corrupt image file. 2021-07-02 20:33:50 +02:00
Leon Styhre d1a30133d1 Fixed an issue where images were only scaled down but never up during cropping. 2021-06-14 19:56:21 +02:00
Leon Styhre aeb74055d0 Added a function to ImageComponent to crop fully transparent areas around an image. 2021-06-12 21:08:35 +02:00
Leon Styhre cf2b9534e8 Some code cleanup. 2021-03-23 22:01:47 +01:00
Leon Styhre acef76d791 Changed some debug overlay colors. 2021-03-22 17:56:38 +01:00
Leon Styhre 320f81ab4f Fixed a texture pop-in problem for some bundled graphic files. 2021-03-16 21:43:14 +01:00
Leon Styhre 8f32be00b4 Some general code cleanup. 2021-01-25 18:07:11 +01:00
Leon Styhre c95334756d Fixed a lot of MSVC compiler warnings. 2020-12-29 12:54:24 +01:00
Leon Styhre 963f93e0f8 Replaced the custom math functions with standard C++ functions. 2020-12-28 11:29:32 +01:00
Leon Styhre 51ab69b54c Fixed an issue where some SVG graphics would have their right side cut off slightly. 2020-12-23 20:32:12 +01:00
Leon Styhre 0cce86beca Created a common pixel conversion function for both renderers. 2020-12-18 16:49:11 +01:00
Leon Styhre 2c3b452401 Some cosmetic code cleanup and some small documentation updates. 2020-11-08 22:58:06 +01:00
Leon Styhre 2a852170a8 (Windows) Fixed some build issues and got the OpenGL shaders to work.
Also some additional code cleanup.
2020-09-16 22:14:35 +02:00
Leon Styhre 66829b4ffa Added multiple animations and effects (mostly using shaders). 2020-09-13 13:21:38 +02:00
Leon Styhre 79b5bfffef Some minor cosmetic changes. 2020-09-04 19:05:48 +02:00
Leon Styhre d512c2b11d Implemented OpenGL GLSL shader support. 2020-08-30 22:19:37 +02:00
Leon Styhre ad960b28ac Various updates to make the application compile on macOS. 2020-08-17 19:15:05 +02:00
Leon Styhre 70d0057295 Both user changes and scraper changes are now color marked in the metadata editor.
User changes are marked with blue and scraper changes with red.
2020-07-15 17:44:27 +02:00
Leon Styhre e4fdd1e20d Code cleanup and code documentation update.
As of this commit, the initial code cleanup and code documentation has been completed for the entire application.
2020-06-28 18:39:18 +02:00
John Rassa b43f1b43d3 clean up opacity handling for ImageComponent, RatingComponent 2019-09-08 09:24:25 -04:00
Tomas Jakobsson eda3fe9c3b
Merge pull request from jrassa/image-video-component-theme-cleanup
Image video component theme cleanup
2019-09-07 19:28:36 +02:00
Tomas Jakobsson 71ac016c3d Make sure all vertices are properly rounded 2019-08-31 18:19:43 +02:00
John Rassa 3b07bfeb93 cleanup duplicate theme code in Image/Video components 2019-08-31 09:50:57 -04:00
John Rassa fc58af98fd support for color gradients in drawRect and ImageComponent 2019-08-29 19:47:16 -04:00
Tomas Jakobsson 79cc5a7e8b
Merge pull request from jrassa/guicomponent-visible
support 'visible' theme element
2019-08-29 10:25:10 +02:00
Tomas Jakobsson 9de16045c9 whitespace cleanup
fix faulty line endings
silence warnings on windows
2019-08-25 17:23:02 +02:00
Tomas Jakobsson a02a747c50 Redid the entire Renderer
Made all components render using triangle strips
2019-08-25 15:45:22 +02:00
John Rassa 8de1fc8860 add 'visible' theme element 2019-07-21 23:13:48 -04:00
pjft 21f21d8268 Final Fix for resizing images 2018-06-09 18:38:18 +01:00
pjft 68dff607c8 Fix for image resize flicker when using MaxSize 2018-06-04 21:25:45 +01:00
Koerty d23d5dbc59 Add cropping and minSize to ImageComponent
- A call to cropTop(0.2) will crop 20% of the top of the image
- A call to minSIze(0.2, 0.2) will resize the image smallest side to 0.2 without breaking aspect ratio, but crop the extra lenght of the biggest side.
- Call minSize(0.2, 0.2) and then uncrop() to define an image size by its smallest side
2018-04-13 02:57:43 +02:00
Koerty 87a9c7318a Fix ImageComponent flipY 2018-04-01 17:18:12 +02:00
jrassa e9403b6b00 implement horizontal wheel for system carousel. fix image rotation bug in carousel 2018-01-22 19:34:30 -05:00
jrassa b41118fe92 implement debug rects for images similar to text components 2018-01-22 19:31:18 -05:00
Tomas Jakobsson bd0c6beed5 Silence warnings 2017-11-18 23:20:09 +01:00
Tomas Jakobsson 92b73bd847 Cleaning up a lot of math functions 2017-11-14 20:09:20 +01:00
Tomas Jakobsson a8fc560749 Header inclusion cleanup 2017-11-02 19:16:01 +01:00
Tomas Jakobsson 73a2f6b716 Replace Eigen with "inhouse" vector and matrix math 2017-10-28 22:25:01 +02:00
D. Polders fd40e84ba5 Fix build warnings (mostly adding explicit type casting) 2017-10-18 16:22:27 +02:00
jrassa 24f1b969bf add support for default image path in themes 2017-10-05 21:34:32 -04:00
jrassa 2377175a19 added origin and rotation support to guicomponent, exposed as theme options for several components 2017-08-09 22:15:57 -04:00
jrassa 354d3b9dec implement z-index support for themeing system view and gamelist views 2017-05-18 19:22:55 -04:00
fieldofcows 6872f47277 Fix WSOD by loading textures on demand in a separate thread when a user configurable texture memory threshold is reached 2017-01-29 22:46:22 +00:00
Aloshi dbdbcde6cd Renamed folders to match their projects properly. 2014-06-20 20:03:05 -05:00
Renamed from core/src/components/ImageComponent.cpp (Browse further)