Commit graph

54 commits

Author SHA1 Message Date
Leon Styhre 17597ab144 Renamed an incorrectly named static variable in ImageComponent. 2022-12-17 22:15:19 +01:00
Leon Styhre c6981084e0 Added cover fit cropping support to ImageComponent. 2022-12-10 20:20:45 +01:00
Leon Styhre b4338a3fb7 Refactored some image resizing functions. 2022-11-07 23:58:22 +01:00
Leon Styhre bf5cce31c6 Replaced the NanoSVG library with LunaSVG. 2022-10-03 18:43:30 +02:00
Leon Styhre 2742424ca2 Some general code cleanup. 2022-09-08 18:56:02 +02:00
Leon Styhre 406aecc6a9 Added two new properties tileHorizontalAlignment and tileVerticalAlignment to the image element. 2022-09-07 20:18:15 +02:00
Leon Styhre b4b709b589 Added a tileSize property to the image element so that the size of each individual image in tiled textures can be defined. 2022-09-06 21:33:50 +02:00
Leon Styhre 9d46625739 Added support for texture mipmapping with trilinear filtering. 2022-09-05 23:36:49 +02:00
Leon Styhre 039c27fa8e Added support for sizing SVG images arbitrarily (overriding the image aspect ratio by stretching and squashing). 2022-09-02 20:48:45 +02:00
Leon Styhre 496b60fa7d Added support for clipping to the core GLSL shader. 2022-08-30 19:42:37 +02:00
Leon Styhre 48a9571609 Refactored RatingComponent to improve rendering accuracy and performance. 2022-08-28 20:11:20 +02:00
Leon Styhre 5dae37f558 Added support for caching SVG images. 2022-08-23 22:24:24 +02:00
Leon Styhre 0b34bd8991 Added checks for valid imageType property values to ImageComponent and VideoComponent. 2022-08-19 17:07:45 +02:00
Leon Styhre 1798b96cf8 Added reflections support to CarouselComponent. 2022-04-18 21:37:58 +02: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 2c2e624160 Changed the opacity data type and functions from unsigned char to float. 2022-02-11 22:10:25 +01:00
Leon Styhre a443f86235 Removed a huge amount of unnecessary Window* function arguments. 2022-01-19 18:01:54 +01:00
Leon Styhre dfeddebc66 Removed a lot of unnecessary combinations of the virtual and override keywords. 2022-01-18 17:40:47 +01:00
Leon Styhre 3e12fcb420 General refactoring and minor optimizations throughout the codebase. 2021-11-09 22:40:08 +01:00
Leon Styhre fbb974de03 Removed an unnecessary force load setter from ImageComponent. 2021-10-26 18:28:21 +02:00
Leon Styhre 7ed0267f5b Made a large optimization to the SVG rasterization logic. 2021-10-25 18:39:58 +02:00
Leon Styhre edc11e6255 Added a setter to ImageComponent for mForceLoad. 2021-10-23 17:36:13 +02:00
Leon Styhre 87d6207c51 Removed lots of unnecessary help component texture resizing. 2021-09-27 21:03:53 +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 aeb74055d0 Added a function to ImageComponent to crop fully transparent areas around an image. 2021-06-12 21:08:35 +02:00
Leon Styhre ade0160ffe Made the switches slightly smaller in the metadata editor.
Also made the value 'unknown' be set for some entries when clearing them individually in the metadata editor.
2020-12-17 20:49:20 +01:00
Leon Styhre 2c3b452401 Some cosmetic code cleanup and some small documentation updates. 2020-11-08 22:58:06 +01:00
Leon Styhre 3336f50e04 Added a file that was missing in the last commit. 2020-11-08 13:23:50 +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 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 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
Leon Styhre 0387d515fb Update to fully support Clang/LLVM.
Also a general cleanup of CMakeLists.txt and many small code changes to satisfy Clang that complained quite a lot and actually wouldn't compile the binary at all at first.
2020-06-25 19:52:38 +02:00
John Rassa 961571655b Grid updates. Animate scrolling option, autoLayout option, center selection option, scroll loop option, image source option 2019-09-21 19:38:57 -04:00
John Rassa fc58af98fd support for color gradients in drawRect and ImageComponent 2019-08-29 19:47:16 -04:00
Tomas Jakobsson a02a747c50 Redid the entire Renderer
Made all components render using triangle strips
2019-08-25 15:45:22 +02: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
jrassa e9403b6b00 implement horizontal wheel for system carousel. fix image rotation bug in carousel 2018-01-22 19:34:30 -05:00
Tomas Jakobsson a8fc560749 Header inclusion cleanup 2017-11-02 19:16:01 +01:00
Tomas Jakobsson 44e3e39083 Add pragma once and ifndef header guards to all headers 2017-10-31 18:12:50 +01:00
Tomas Jakobsson 73a2f6b716 Replace Eigen with "inhouse" vector and matrix math 2017-10-28 22:25:01 +02:00