Commit graph

149 commits

Author SHA1 Message Date
Leon Styhre 6126016289 Cleaned up some font-related code. 2022-08-30 19:31:57 +02:00
Leon Styhre 2c86e4f99e Removed the deprecated SVG force rasterization flag from the cache manager. 2022-08-28 20:21:58 +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 047d080346 Fixed a small text abbreviation issue. 2022-08-21 21:24:46 +02:00
Leon Styhre e2fb03dbf3 Fixed an issue where the tile property for the image element did not work correctly with SVG images. 2022-08-21 19:06:51 +02:00
Leon Styhre ce217c48a4 Added support for vertical abbreviations of multiline text entries. 2022-08-21 16:33:29 +02:00
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 225a602a74 If the same raster image is used with different interpolation methods then these are now cached separately. 2022-08-16 22:37:36 +02:00
Leon Styhre 967b98008b Fixed an issue where raster graphic images could get scaled incorrectly. 2022-08-16 21:04:39 +02:00
Leon Styhre 899ace3eb6 Added a manualUnloadAll function to TextureResource.
Also converted some variables to static inline and cleand up some code.
2022-08-14 21:31:02 +02:00
Leon Styhre fdf63a9ad0 Fixed an issue where the 'quit' custom event would not trigger on application shutdown. 2022-05-18 22:57:03 +02:00
Leon Styhre 53ad5a3152 Fixed an issue where the texture buffer sometimes couldn't fit Chinese characters. 2022-05-09 20:12:08 +02:00
Leon Styhre f990d91841 Reverted the previous commit. 2022-05-04 00:42:28 +02:00
Leon Styhre f86ab2ea89 Increased the font texture size slightly. 2022-05-03 23:35:47 +02:00
Leon Styhre 91460495be Added size restrictions to fonts and textures to avoid crashes caused by invalid theme configuration. 2022-04-10 11:53:44 +02:00
Leon Styhre c4cae406e9 Fixed a font loading crash caused by an insufficient font texture size.
Also added a preventive measure for similar crashes in the future and made some general cleanup of the font code.
2022-04-02 11:59:52 +02:00
Leon Styhre 06a037d8cf Shader flags are now sent as bit masks instead of via discreet values.
Also changed the shader flags to enums.
2022-03-14 22:30:24 +01:00
Leon Styhre f0c35d8509 Refactored the rendering code into proper classes. 2022-03-14 19:51:48 +01:00
Leon Styhre a7db474a64 Unified the OpenGL and OpenGL ES renderers and removed the fixed function pipeline.
Also made some other rendering optimizations and cleaned up some code.
2022-03-13 23:52:32 +01:00
Leon Styhre 32251e0264 Fixed multiple issues with the shader post-processing.
Also removed an unnecessary parameter for the createTexture() function.
2022-03-12 14:22:27 +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 ed540359c5 Updated GIFAnimComponent to a fully working state. 2022-03-05 20:56:47 +01:00
Leon Styhre 35970dd95d (Windows) Fixed a few MSVC compiler warnings. 2022-02-11 23:45: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 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 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 2d149c5161 Moved all Platform functions to the utility namespace. 2022-01-10 18:43:17 +01:00
Leon Styhre 0c552dd8fb Added a GLSL shader to convert the color model BGRA to RGBA.
Also added support for specifying a separate format as compared to internalFormat when creating textures, although the shader should be used primarily as this is not really supported by the OpenGL standard.
2022-01-07 18:54:52 +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 fa993a0489 Fixed a texture corruption issue caused by too aggressive optimizations. 2021-12-27 21:24:34 +01:00
Leon Styhre ab92a4135a Fixed an issue where using fallback fonts at very low resolutions could lead to a crash. 2021-12-14 17:12:39 +01:00
Leon Styhre 0314b2d439 Fixed a performance regression caused by excessive mutex locks. 2021-11-18 17:20:59 +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 9937476e18 Replaced some mutex locks with atomic variables.
Also removed an SDL audio issue workaround from AudioManager.
2021-11-16 17:49:05 +01:00
Leon Styhre 999b9a6c04 Improved thread safety in TextureData and TextureDataManager. 2021-11-15 23:33:16 +01:00
Leon Styhre 14e1b800fa Made two optimizations in TextureData. 2021-11-07 18:18:41 +01:00
Leon Styhre 8b5386df79 Fixed an issue where corrupt SVG graphics could crash the application. 2021-11-03 17:26:19 +01:00
Leon Styhre 2f09c21d3f Reversed a previous change that caused multiple texturing issues. 2021-10-30 17:05:04 +02:00
Leon Styhre ee80792e0f (Windows) Fixed two MSVC compiler warnings. 2021-10-29 20:10:43 +02:00
Leon Styhre 0dc6f1e17a Removed the deprecated SVG scaleDuringLoad functionality. 2021-10-29 19:43:07 +02:00
Leon Styhre 58345863b3 Changed an RGBA vector getter from copy to reference to reduce CPU usage. 2021-10-26 18:23:52 +02: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 848e0a1a94 Fixed an SVG graphics corruption issue. 2021-10-26 18:13:31 +02:00
Leon Styhre 7ed0267f5b Made a large optimization to the SVG rasterization logic. 2021-10-25 18:39:58 +02:00
Leon Styhre dd94aeec96 Fixed two casting issues. 2021-10-23 15:53:31 +02:00