113 Commits
Author SHA1 Message Date
Martín Lucas Golini c3135e0b84 Deprecate TextInputPassword and its aliases. 2026-04-04 22:03:03 -03:00
Martín Lucas Golini 43a1dca16c Layouting improvements for UIImage and HTML elements.
Default StyleSheetUnit is now Dp when it's not specified (this is not used very often but in HTML mode we need to respect the DPI).
Fix MarkdownView fonts color when on Light theme.
2026-03-27 00:01:09 -03:00
Martín Lucas Golini d6f60354c1 Improve UIWindow default focusing behavior.
Adjust `window-flags` behavior when used from CSS.
Display a download progress window when download-file-web is used. Also support loading images and sounds from downloads.
Minor safety checks added for engine termination and window closing.
Minor changes in Http.
2026-01-10 01:49:20 -03:00
Martín Lucas Golini d74d460a5a Line Wrap fixes:
[x] Line clip

[x] Override commands
		"select-to-previous-line"
		"move-to-previous-"line"
		"select-to-next-line"
		"move-to-next-line"

[x] Draw underline for links

[x] Bugs
	- Delete line with shift+delete when the next line is wrapped
	- Delete line with shift+delete when the next line has a different offset than the current one

[x] Clean up UITextEdit
2024-05-17 01:58:15 -03:00
Martín Lucas Golini 517298ba34 Fix: Newly created file is not included in Recent Files (SpartanJ/ecode#260).
Fixes in UITextInputPassword.
2024-04-20 16:09:32 -03:00
Martín Lucas Golini 54a6fd63e9 eepp:
Implemented CSS properties: text-shadow-offset and hint-shadow-offset. Renamed shadow-color to text-shadow-color. Added shorthand text-shadow and hint-shadow.
Improved tooltip positioning.
ecode:
Closes SpartanJ/ecode#2 (Fixes fullscreen window on Windows).
Closes SpartanJ/ecode#14 (Fixes folder rename, allows deleting folders).
Closes SpartanJ/ecode#15 (Fixes folder doesn't automatically expand when creating a new file after being closed).
2023-01-17 23:13:08 -03:00
Martín Lucas Golini 220cf0f510 DrawableImageParser: now supports "icon" and "glyph" functions.
StyleSheetSpecification: Added "background-tint" and "foreground-tint" (tints the "background-image" and "foreground-image" respectively).
FunctionString: minor fix and now stores if the parameters was parsed as a string.
2022-08-07 02:09:52 -03:00
Martín Lucas Golini 46dad2ac63 Added support for data:image URIs.
StyleSheetPropertiesParser: fix quoted text reading.
ecode: ProjectDirectoryTree fix recursive directories scan.
2022-08-06 03:06:16 -03:00
Martín Lucas Golini 1a925bd082 UIEditor: reload base CSS when changes are detected. 2022-07-29 01:09:24 -03:00
Martín Lucas Golini 1678fd9b53 Fixed TextDocument::deleteCurrentLine().
Minor clean up in various apps and classes (nothing important).
2022-07-24 21:44:29 -03:00
Martín Lucas Golini c92e048021 Minor optimizations for the StyleSheetParser.
Added more menus for the Code Editor.
Code Editor now saves the basic configuration.
Renamed NodeMessage::Click to NodeMessage::MouseClick and NodeMessage::DoubleClick to NodeMessage::MouseDoubleClick to maintain consistency.
Optimized String::split.
And also some other minor improvements.
2020-06-24 16:42:19 -03:00
Martín Lucas Golini 651039b0e8 Redesigning UITextInput and all the derivatives to use TextDocument. 2020-06-15 01:44:29 -03:00
Martín Lucas Golini 951d7b2e7e Renamed UITabWidget "TabContainer" to "TabBar".
Added UITabWidget::set/getHideWhenNotNeeded to hide the TabBar if only 1 tab is available.
UIStyle now restricts the animations in the first onStateChange received (sin there's no previous state to animate from).
Added UISplitter::swap.
Critical fix in Node::setParent.
Added Node::findByType.
Fixed Code Editor splitting.
Minor improvements in Code Editor.
2020-06-04 19:00:58 -03:00
Martín Lucas Golini 4b2f431630 Minor clean up and fixes. 2020-05-30 23:21:11 -03:00
Martín Lucas Golini e45c813e53 Renamed UIWinMenu to UIMenuBar. 2020-05-30 21:03:25 -03:00
Martín Lucas Golini a9fb27f31d Minor fixes on Text and TextEdit. 2020-05-12 16:43:22 -03:00
Martín Lucas Golini 730d0ff30b Avoid creating a VertexBuffer for UIBackgroundDrawables with no radius.
EventDispatcher: Double click is only valid if the second click is near the first one.
Added Input events for file drop and text drop.
InputTextBuffer allows to paste over selected text.
2020-05-10 05:42:12 -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 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 397d96d7d7 Fixed input hints and input password text alignment. 2020-04-26 00:03:15 -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 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 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 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 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 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 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 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 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 7b6a3d2f66 Some minor fixes. 2020-01-14 05:13:43 -03:00
Martín Lucas Golini 94c05b95e7 Added @import support.
Fixes for @media support.
Improvements for @font-face.
Http::get, Http:post, Http::request, Http:getAsync, Http:postAsync, Http::requestAsync: changed parameter order, now timeout goes always after the uri parameter.

--HG--
branch : dev
2019-12-16 02:20:52 -03:00
Martín Lucas Golini 70978866ba Added CSS @font-face support.
Fixed a bug when unloading textures outside main thread.
Added Font::Event (events for load/unload font).

--HG--
branch : dev
2019-12-15 21:07:40 -03:00
Martín Lucas Golini 7361db7b41 Added root element to the UISceneNode, in order to support ":root" tag in CSS.
--HG--
branch : dev
2019-12-15 03:27:29 -03:00
Martín Lucas Golini 0705dad434 Added CSS media queries support (needs testing, basic support seems to be working).
--HG--
branch : dev
2019-12-15 00:32:31 -03:00