Commit Graph
100 Commits
Author SHA1 Message Date
Martín Lucas Golini d2a90dfb28 Fixed layout invalidation when the invalidated layout does not have a inmediate parent layout. 2020-05-09 00:18:49 -03:00
Martín Lucas Golini 86053153b3 Refactorized ResourceManager.
Fixes for dirty layouts updates.
Fixed CSS animations issues.
Minor layouts refactor and fixes (WIP).
2020-05-08 04:11:41 -03:00
Martín Lucas Golini e35efc7012 Fixed base container class. 2020-05-04 05:37:15 -03:00
Martín Lucas Golini 909088b46d Layout improvements WIP. 2020-05-04 04:52:36 -03:00
Martín Lucas Golini 87e3d64b63 Added renamed Display::getPixelDensity() to Display::getPixelDensitySize() and now Display::getPixelDensity() returns the float value of the pixel density.
Moved the global test to tests/test_all.
Added a ui_perf_test used to test specific performance issues in the UI.
Fixed the element/widget inline style (now respects the specificity).
Some optimizations in UIListBox.
2020-05-03 03:39:31 -03:00
Martín Lucas Golini 16db174e48 API changes:
LayoutSizeRule is now SizePolicy.
LayoutPositionRule is now PositionPolicy.
get/setLayoutSizeRules is now get/setLayoutSizePolicy.
get/setLayoutPositionRule is now get/setLayoutPositionPolicy.
Added Engine::isThreaded().

Minor emscripten fix.
Added emscripten-fs.html, a simple script loader to test the build emscripten demos.
2020-05-02 23:15:47 -03:00
Martín Lucas Golini 0207180e0e Fixes in UITextEdit.
Some minor performance improvements in the PropertyDefinition class.
Breeze theme improvements.
And some other minor changes.
2020-04-29 03:37:05 -03:00
Martín Lucas Golini 21d952c18b min-width, min-height, max-width and max-height fixes.
UITooltip in debug mode fixes.
Improved breeze theme.
2020-04-27 04:45:49 -03:00
Martín Lucas Golini e066eb510e Some minor optimizations. 2020-04-26 20:39:42 -03:00
Martín Lucas Golini 45b4f0d208 This should fix the build on Windows and macOS. 2020-04-26 13:50:48 -03:00
Martín Lucas Golini 59f07ac3d8 Implemented element definition and style sheet styles cache. These improve the performance of the CSS style reload and states changes.
Several fixes:
UITextInput hint fixes.
UITextInputPassword aligment fixes.
UISlider fixes.
2020-04-26 05:24:43 -03:00
Martín Lucas Golini c893e05cde Several fixes. 2020-04-26 04:56:50 -03:00
Martín Lucas Golini 3ff44da4af Minor changes. 2020-04-26 01:04:39 -03:00
Martín Lucas Golini 397d96d7d7 Fixed input hints and input password text alignment. 2020-04-26 00:03:15 -03:00
Martín Lucas Golini 54783714f1 Change default theme in eetest 2020-04-25 00:34:32 -03:00
Martín Lucas Golini f9053c0d61 Several fixes. 2020-04-25 00:31:02 -03:00
Martín Lucas Golini 85d71836bb Fixed apply vars in UIStyle. 2020-04-23 09:39:02 -03:00
Martín Lucas Golini a8b38a371a ElementDefinition cache WIP. 2020-04-23 02:06:20 -03:00
Martín Lucas Golini 0c2e7e1c62 Fixed InputTextBuffer. 2020-04-22 22:20:56 -03:00
Martín Lucas Golini 51b290f776 More fixes. 2020-04-22 03:06:06 -03:00
Martín Lucas Golini 5f1d776750 CSS optimizations WIP. 2020-04-22 01:42:44 -03:00
Martín Lucas Golini ac628c255b CSS vars minor performance improvements. 2020-04-21 04:56:16 -03:00
Martín Lucas Golini 8a92173c6a WinMenu minor fix. 2020-04-21 04:51:34 -03:00
Martín Lucas Golini 8c5b76f5c9 Fix 2020-04-21 04:47:16 -03:00
Martín Lucas Golini b757f0c9ea Optimizing CSS vars 2020-04-21 03:59:23 -03:00
Martín Lucas Golini def943835e Some minor optimizations on UISceneNode. 2020-04-21 03:40:46 -03:00
Martín Lucas Golini 02433b13d3 Some minor fixes and improvements.
Added verbose layout loading to get more info about the performance when loading layouts.
2020-04-18 19:45:29 -03:00
Martín Lucas Golini fa20d393cd Several performance improvements.
Added events: Node::onIdChange, UIWidget::onClassChange, UIWidget::onTagChange.
UIItemContainer is now a widget (required for CSS).
Fixes in UIListBox and UITable.
CSS::StyleSheetStyle is now stored as a shared pointer.
Fixes in UICheckBox, UIRadioButton, UISlider, UIScrollBar, UITab, UIWinMenu, and more.
Better debug tooltips (now shows padding and margin).
Fix in UISceneNode::loadLayoutNodes, ensures that the current SceneNode is the one that it's loading.
2020-04-16 05:31:43 -03:00
Martín Lucas Golini 9c457f4f21 Pure CSS themes support improvements.
Improvementes for dp sizes, now are being rounded to the closest int in several locations.
2020-04-14 02:02:08 -03:00
Martín Lucas Golini aa9202e8b7 More work into supporting pure CSS themes.
Fixed a bug where dirty polygons were unreported.
UISceneNodes now are updated forcing the current UISceneNode as the one that it's being updated.
Added "poly" function for background/foreground images.
Added "tab-height" and "window-title" CSS properties.
2020-04-11 05:42:49 -03:00
Martín Lucas Golini e48b77ddfc Several fixes to allow Widgets to work without skins and enable pure CSS themes.
Added String::contains.
Improved Vector2.
Improved Text::findCharacterFromPos.
Improved set minimum widget size.
Improved var() parsing.
2020-04-09 05:20:55 -03:00
Martín Lucas Golini 887d2f331d Improved access to the inner widgets from CSS.
Minor fix in docs Makefile.
Minor fix in keyboard shortcuts.
2020-04-06 03:07:56 -03:00
Martín Lucas Golini 75d940da8f More documentation fixes. 2020-04-05 20:24:37 -03:00
Martín Lucas Golini ffc8fd3953 More code clean up and continued with the CSS Specification documentation. 2020-04-05 04:22:34 -03:00
Martín Lucas Golini 9a43551b6b More CSS specification clean up and improvements.
UIPushButton refactorization.
Fixed crash on tooltip close.
And several minor changes to adapt the CSS specification changes into the widgets.
2020-04-04 02:43:19 -03:00
Martín Lucas Golini 94019a7658 Some UIWidget improvements. 2020-04-03 00:29:09 -03:00
Martín Lucas Golini 6259ca5fb8 More clean up and documentation, this time for: UITabWidget, UITab, UISpinBox and UIPushButton. 2020-04-02 04:18:11 -03:00
Martín Lucas Golini cd306cc2e6 More general UI code clean up and documentation. 2020-03-31 22:49:09 -03:00
Martín Lucas Golini b13793e99c More work on the CSS Specification. Some specification changes were made. 2020-03-30 04:33:51 -03:00
Martín Lucas Golini 7677435de5 Minor refactor.
More work on the CSS specification doc.
2020-03-29 04:47:11 -03:00
Martín Lucas Golini c1904dd01d CSS Specification doc WIP. 2020-03-28 05:37:53 -03:00
Martín Lucas Golini a3afe7a8e2 Added em and rem units support.
Fixed a bug in tooltips.
2020-03-25 03:19:56 -03:00
Martín Lucas Golini 162a7efde9 Updated SDL 2 to version 2.0.12 (used for the Android build).
Minor optimization in UIBackgroundDrawable.
2020-03-18 01:17:33 -03:00
Martín Lucas Golini e593430cd0 Added properties rotation-origin-point-x/y and scale-origin-point-x/y.
Added shorthand rotation-origin-point and scale-origin-point.
2020-03-16 22:59:56 -03:00
Martín Lucas Golini c6c7928a82 Improved background/foreground shorthand parser. 2020-03-16 02:57:02 -03:00
Martín Lucas Golini f9ab6d0137 Added DrawableImageParser, this class parses the background-image and foreground-image functions and allow to register more functions. 2020-03-16 02:11:08 -03:00
Martín Lucas Golini be0845fe57 Merge pull request #2 from SpartanJ/dev-css-borders
Dev css borders
2020-03-15 01:51:34 -03:00
Martín Lucas Golini 816b2b3f34 Shorthand parsers are now a std::function and can be customized. 2020-03-15 01:38:16 -03:00
Martín Lucas Golini 3921f81ced Added border-radius support.
Added alias support for shorthands.
Added BorderType::Outline.
Added support for background/foreground masks.
Fixes to the border rendering.
Several fixes and clean up.
2020-03-13 05:10:53 -03:00
Martín Lucas Golini 359685cb6f Added UIBackgroundDrawable. WIP CSS Borders. 2020-03-10 03:57:49 -03:00
Martín Lucas Golini 259dbebc17 Working borders. 2020-03-09 20:26:31 -03:00
Martín Lucas Golini 312f02105f CSS Borders WIP (not working yet). 2020-03-09 15:12:43 -03:00
Martín Lucas Golini 922e247695 UIViewPager now can be locked and emits OnPageChange event.
OpenSSLSocket can load CA Certificate from a Pack.
2020-03-02 22:19:54 -03:00
Martín Lucas Golini 5d17e42d03 Texture packer fixes and new version (this breaks older ETA files). Now the MD5 hash is saved into the texture region info, in order to verify on the texture atlas update if the file changed (instead of relying on the file modification date that's local).
UIViewPager now takes into account the amount of displacement when starting a page change animation, shortening the animation when it's closer to the objective.
TexturePacker now accepts any pixel density instead of the fixed PixelDensitySizes.
2020-03-02 13:31:00 -03:00
Martín Lucas Golini e530e38895 Fixed UITooltip not showing correctly.
Fixed UITabWidget draw invalidation.
Fixed software keyboard backspace and return key on Android.
Fixed performance issue on onChildCountChange.
2020-03-02 01:34:26 -03:00
Martín Lucas Golini 1920909678 Added UIViewPager::setCurrentPage. 2020-03-01 16:06:22 -03:00
Martín Lucas Golini d4cf1efc7f UIViewPager fixes.
Fixed structural pseudo-classes states in some specific scenario.
2020-02-28 23:58:00 -03:00
Martín Lucas Golini cd34f7f4e4 Several fixes for UIViewPager.
Added min-width and max-width CSS properties (still needs testing).
Fixed CSS animations with multiple steps.
Fixed menu sub-menues not appearing.
2020-02-28 04:40:32 -03:00
Martín Lucas Golini 8c108c5ed9 Added UIViewPager.
Node::onChildCountChange reports the child that's being added or removed.
Added Ease::toString.
Added UIWidget::lengthFromValueAsDp.
2020-02-27 14:16:11 -03:00
Martín Lucas Golini 5bec7077c2 Update README.md 2020-02-26 02:00:08 -03:00
Martín Lucas Golini 199628ca7e Merge pull request #1 from SpartanJ/dev-ios
iOS support updated.
2020-02-26 01:38:36 -03:00
Martín Lucas Golini 5e4562b3ec Minor fixes and clean up. 2020-02-26 01:25:49 -03:00
Martín Lucas Golini 4a3b21c938 Improved iOS support. Added and modified a couple of scripts to generate the library and the projects. Updated the premake files. Removed old cross compiling projects. 2020-02-26 00:45:55 -03:00
Martín Lucas Golini 04c407077f Several improvements in the CSS Animations.
UITabWidget now acts as a draw invalidator, skipping the draw invalidation if the element invalidating is not visible in the current tab.
premake5 file now supports different architectures.
Updated README.md and docs.
Minor fixes in UIColorPicker.
Updated SOIL2 and efsw.
Added LICENSE file.
2020-02-25 01:15:27 -03:00
Martín Lucas Golini f8c21880d1 Replaced StyleSheetPropertyTransition in favor of StyleSheetPropertyAnimation.
This class allows to animate CSS "animation" and "transition". Some CSS animations are working, pending fill-mode implementation, tests and surely many fixes.
Fixed a critical bug in windows resize introduced in the latest Input improvements.
2020-02-24 03:01:32 -03:00
Martín Lucas Golini e2668d03dd Fixed delay in CSS transitions. 2020-02-22 21:43:38 -03:00
Martín Lucas Golini e302310973 More work has been done to support the CSS animation property.
Now the "animation*" properties are parsed and converted into an AnimationDefinition.
Added a new obligatory method to Action, Action::getTotalTime, in order to have more precise information about the current execution point in time of the actions.
Added String::isNumber(std::string, bool).
Added Time::fromString and Time::isValid.
2020-02-22 03:43:26 -03:00
Martín Lucas Golini e788b66543 Updated freetype, zlib, dr_flac and dr_mp3.
Removed openal-soft sources.
2020-02-21 03:23:43 -03:00
Martín Lucas Golini eba9de768b Minor UIColorPicker fixes. 2020-02-20 19:19:29 -03:00
Martín Lucas Golini 73e9489f81 InputEvents improvements and some minor fixes and optimizations. 2020-02-19 02:07:03 -03:00
Martín Lucas Golini 48d0f06b2b Started implementation of CSS Animations, WIP. 2020-02-18 03:58:58 -03:00
Martín Lucas Golini c2e0d867fd Added support for multiple background-image and foreground-image.
Added support for structural pseudo class :not().
2020-02-17 04:06:47 -03:00
Martín Lucas Golini 0c58db3652 Transitions fixes (still testing).
Added support for CSS structural pseudo classes (also still testing).
2020-02-15 21:29:52 -03:00
Martín Lucas Golini d371365adf Fixed a regression in TextureAtlasLoder.
Fixed color alpha in UIWidget background and foreground elements.
Updated efsw.
2020-02-11 18:29:48 -03:00
Martín Lucas Golini 022a04e5f3 Several UI related fixes ( wrong updates, bad rendering, a segfault, and more ). 2020-02-11 03:32:26 -03:00
Martín Lucas Golini 4320841ade Removed StyleSheetElement interface in favor of using UIWidget directly. Thanks to this all dynamic_casts has been removed at the cost of a little less readable code. 2020-02-10 03:19:07 -03:00
Martín Lucas Golini 1a6884aa06 Fixed emscripten build on chrome/ium. 2020-02-08 18:25:15 -03:00
Martín Lucas Golini 1819aa3d64 Fixed text selection when any tab character was involved.
Also optimized the text selection.
2020-01-29 00:50:13 -03:00
Martín Lucas Golini 16e6e1f8d1 Improvements in emscripten build.
Added support in emscripten for Http:getAsync and Http::postAsync.
Fixes with modal dialogs.
Fixes in texture atlas editor.
Fixes in UIColorPicker.
Fix in UITextView text selection.
Improvements in WindowSDL2.
UICheckBox not uses setChecked and isChecked instead of setActive and isActive.
2020-01-20 05:15:18 -03:00
Martín Lucas Golini 502a5f4ca9 Fixed Windows build (for real). 2020-01-19 18:45:59 -03:00
Martín Lucas Golini 65cd9915dc Should fix windows build. 2020-01-19 17:56:04 -03:00
Martín Lucas Golini b71b935e38 Build fix. 2020-01-19 17:30:18 -03:00
Martín Lucas Golini 9d32e29ffb Added TexturePacker console tool and updated to a new version of the Texture Atlas format.
More premake5 project refactor.
Fixed some Stysheet Properties types and fixed some StyleSheetProperty transitions.
2020-01-19 17:17:09 -03:00
Martín Lucas Golini 57c31ffcb4 Code clean up and some minor fixes.
premake5 is being reworked, might fail in some situations.
2020-01-18 19:40:27 -03:00
Martín Lucas Golini 89df736630 premake5.lua: replaced includedirs with sysincludedirs that should work better in some cases.
Reformated README.md.
Docs improvements.
2020-01-18 05:37:52 -03:00
Martín Lucas Golini e686320e1f Create eepp-windows-build-check.yml 2020-01-17 23:44:20 -03:00
Martín Lucas Golini 1567708633 Added "windows-vc-build" argument to premake5. 2020-01-17 23:43:25 -03:00
Martín Lucas Golini f8f9be68b0 Rename eepp-macos-buikd-check.yml to eepp-macos-build-check.yml 2020-01-17 21:29:39 -03:00
Martín Lucas Golini f5bb43009d Update eepp-macos-buikd-check.yml 2020-01-17 21:22:00 -03:00
Martín Lucas Golini 59a12eedbe Update eepp-macos-buikd-check.yml 2020-01-17 21:18:11 -03:00
Martín Lucas Golini ce84ac2c86 Create eepp-macos-buikd-check.yml 2020-01-17 21:11:25 -03:00
Martín Lucas Golini 6aebbaa06e Minor changes in Linux build test. 2020-01-17 21:11:09 -03:00
Martín Lucas Golini 3e3bcb2190 Renamed linux build check. 2020-01-17 20:57:07 -03:00
Martín Lucas Golini 6eccb23a73 Android build now uses mojoAL.
Updated SOIL2 and efsw.
2020-01-17 18:44:44 -03:00
Martín Lucas Golini be890aa142 Minor fix in premake5. 2020-01-17 16:42:11 -03:00
Martín Lucas Golini a9edcf7e04 iOS build fixes. 2020-01-17 16:32:25 -03:00
Martín Lucas Golini 0f2ceab767 Fixed VS build.
Fixed mojoAL build in Windows.
Fixed some errors on the premake files.
Fixed an error parsing CSS files in Windows.
2020-01-17 03:53:36 -03:00
Martín Lucas Golini 8812029608 Added mojoAL support. 2020-01-16 13:28:46 -03:00
Martín Lucas Golini f4ef9283e5 Update eepp-build-check.yml
More tests.
2020-01-16 02:08:51 -03:00
Martín Lucas Golini e41e2abed2 Update eepp-build-check.yml
Another test.
2020-01-16 02:07:12 -03:00