Martín Lucas Golini
9c4f24c3cb
Added Window::hasFocus(), Window::hasInputFocus() and Window::hasMouseFocus().
...
Fixed an issue when widgets were created during an layout update.
Some minor improvements to the Code Editor.
2020-06-10 04:12:08 -03:00
Martín Lucas Golini
bd9170baee
Added color picking capability in the UICodeEditor.
...
Some minor improvements to the code editor.
Some minor fixes.
2020-06-08 05:25:57 -03:00
Martín Lucas Golini
3c218237e1
Code Editor fixes.
2020-06-07 18:17:07 -03:00
Martín Lucas Golini
0f2b726662
Added find/replace to the code editor.
...
General clean up on Scene::Node.
Several minor fixes related to the keyboard navigation.
2020-06-07 06:06:32 -03:00
Martín Lucas Golini
b953c7d3c1
Added switch between splits (prev/next) in Code Editor.
...
Added highlight to matching brackets in UICodeEditor.
Added selection match highlight in UICodeEditor.
Improved text selection when selecting tabs (\t) in UICodeEditor.
Added load color schemes from config files.
Added loadFromMemory and loadFromPack to TextDocument.
Added color schemes to the Code Editor.
2020-06-06 05:41:23 -03:00
Martín Lucas Golini
7cf61df709
Added DisplayManager::disableBypassCompositor and DisplayManager::enableBypassCompositor() (by default SDL bypass the compositor, it's great for games, but not for applications).
...
Tabs now can optionally not destroy the contained node.
2020-06-05 23:54:53 -03:00
Martín Lucas Golini
30ed5bfe40
Fixed tab click focus to focus on the owned widget.
...
Improved tab dragging.
2020-06-05 15:45:58 -03:00
Martín Lucas Golini
c408491633
Minor refactor and UISplitter improvements.
...
Improved dragging.
UITab now supports close button and proper close control (user can deny the close request).
UITabWidget now allows to rearrange the tabs in the tab bar.
2020-06-05 04:52:33 -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
601354f3b3
Minor improvements in the code editor.
2020-06-03 03:06:26 -03:00
Martín Lucas Golini
aeedc65db6
Improved the Code Editor, now supports tabs and split views (WIP).
...
Several general fixes.
2020-06-02 22:21:07 -03:00
Martín Lucas Golini
56f79a6dfd
UISplitter WIP.
2020-06-01 05:30:16 -03:00
Martín Lucas Golini
98b879422b
Added ini / conf file format syntax definition.
2020-05-31 05:21:24 -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
3ea6ab392c
Reimplemented TextDocument::load* and save*, now uses IOStream (also fixes some issues with line endings).
...
String class now uses char32_t as base type, to be compatible with std::u32string.
Some minor refactor: replaced Uint32 type in hashes in favor of String::HashType. Replaced Uint32 type in keycodes in favor of Keycode.
Changed String::hash(String) from CRC32 to std::hash<std::u32string> (many times faster).
And more random refactors and small features in the code editor.
2020-05-30 05:57:27 -03:00
Martín Lucas Golini
597125bf0a
Minor clean up and improvements for UICodeEditor and TextDocument.
2020-05-29 00:11:59 -03:00
Martín Lucas Golini
f876de6d53
Include <string> in the new class (MSVC is complaining).
2020-05-28 19:07:44 -03:00
Martín Lucas Golini
d6861d117b
Include <string> in the new class (MSVC is complaining).
2020-05-28 19:07:00 -03:00
Martín Lucas Golini
2550e6a52f
Added KeyBindings class.
...
UICodeEditor now uses the KeyBindings class.
2020-05-28 18:52:19 -03:00
Martín Lucas Golini
85aa2a3a32
Modernized the Input class, added support for scancodes (still need to test a little bit more).
...
Improved SyntaxColorScheme.
Some minor improvements here and there.
2020-05-28 06:00:49 -03:00
Martín Lucas Golini
3304fb5f31
Improved the SyntaxColorScheme configuration.
...
Also a minor fix in the breeze theme.
2020-05-28 02:32:47 -03:00
Martín Lucas Golini
ed289b5ec6
More improvements to the text document and code editor.
...
The current working directory is not forced anymore (except for Android), since it can cause some troubles in certain situations.
2020-05-27 05:28:35 -03:00
Martín Lucas Golini
2de37d3a45
More improvements to the UICodeEditor and TextDocument.
...
Improved the SyntaxHighligther.
2020-05-26 05:48:22 -03:00
Martín Lucas Golini
c79cae664a
Fixed a huge memory leak in VertexBufferVBO provoked by and error in UIBorderDrawable.
...
Improved cursor up/down movement.
Minor clean up in TextDocument.
2020-05-26 02:20:56 -03:00
Martín Lucas Golini
cd4684a148
Minor fixes.
...
Bumped SDL version for VC build.
2020-05-25 19:15:06 -03:00
Martín Lucas Golini
71e9775824
Windows build fixes.
2020-05-25 16:52:11 -03:00
Martín Lucas Golini
84c40649c8
Removed rx-cpp since it's problematic. Added System::LuaPatternMatcher in replacement. This should fix the Windows and macOS builds.
...
Fixed UISceneNode size, now it's set in pixels instead of dp to allow to always be the same size as the window.
Fixed styles and layouts not updating in time before calling draw.
Fixed a double delete crash when using UIDropDownList and UIWinMenu.
Now UI elements can be dragged even if the mouse cursor goes out of the window limits.
UIScrollBar slider now can be dragged also from the horizontal edges that are not part of the button slider (this allows to scroll from the edge for example in maximized windows).
Fixed TextDocument on emscripten.
Disabled fullscreen window minimizing on focus loss (SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS).
2020-05-25 05:18:38 -03:00
Martín Lucas Golini
04e59e0042
Merge branch 'dev-textdocument' into develop
2020-05-24 06:16:49 -03:00
Martín Lucas Golini
472edd7e41
Added vertical scrollbar to the UICodeEditor.
...
Some minor fixes.
2020-05-24 06:14:54 -03:00
Martín Lucas Golini
2c05f3f579
Added CodeEditor project to be able to test comfortably the UICodeEditor and the TextDocument.
...
Renamed Window::setCaption to Window::setTitle.
Several fixes in TextDocument.
2020-05-24 04:14:52 -03:00
Martín Lucas Golini
94a2e4a0c3
Syntax Highlighting working.
...
Some minor refactor.
2020-05-23 23:41:06 -03:00
Martín Lucas Golini
d95f2d8944
Syntax Highlighting WIP.
2020-05-23 06:17:56 -03:00
Martín Lucas Golini
67b163d515
More fixes and improvements to the UICodeEditor. Added optional display of line numbers.
2020-05-22 17:25:24 -03:00
Martín Lucas Golini
3e4d9bb67f
UICodeEditor minor improvements.
2020-05-22 05:53:30 -03:00
Martín Lucas Golini
825626a9d2
Several fixes and improvements in TextDocument and UICodeEditor.
...
TextDocument now supports undo/redo (still testing, may have some bugs).
2020-05-22 04:36:17 -03:00
Martín Lucas Golini
c462e9e7c9
Some fixes and improvements to the TextDocument and UICodeEditor classes.
2020-05-21 20:41:41 -03:00
Martín Lucas Golini
1f91f612de
More editor improvements. Also changed the editor name, now is UICodeEditor.
2020-05-21 02:31:34 -03:00
Martín Lucas Golini
18847a5974
More WIP on the code editor.
2020-05-20 19:37:21 -03:00
Martín Lucas Golini
098c882a8d
Added UICodeEditor, currently is a WIP.
...
Improvements in TextDocument.
2020-05-20 05:59:46 -03:00
Martín Lucas Golini
67a5e25cf2
TextDocument WIP.
2020-05-18 04:01: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
0b1fdab9e6
String class fixes.
2020-05-11 03:06:52 -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
9a093fc775
This should fix windows build.
2020-05-10 03:30:44 -03:00
Martín Lucas Golini
fe78c75e04
Merge pull request #3 from SpartanJ/dev-layouts-fixes
...
Layouts fixes and performance improvements. Plus some general fixes.
2020-05-10 01:31:57 -03:00
Martín Lucas Golini
9b7ab4e891
Some minor fixes in URI and http_request demo.
...
Fixed a crash in UIDropDownList.
Some fixes in all UILayouts.
2020-05-10 01:00:50 -03:00
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