Commit Graph

86 Commits

Author SHA1 Message Date
Sebastian
2ccd3252ec Updated information about recent changes. 2018-03-20 23:45:24 +00:00
Sebastian
8c1c710646 Moved ImGui Draw events, so they are called during World Tick Start. Old behaviour, where those events were called during Post-Tick, can be restored by setting console variable ImGui.DebugDrawOnWorldTick to zero. 2018-03-20 23:24:03 +00:00
Sebastian
052ae0a201 Reduced lag between producing ImGui output and rendering it:
- ImGui Context Proxy Tick function has been split for Tick and Draw. Both functions may now be called separately from different places but they will be processed only once per frame. This opens possibility to define own mechanisms to trigger draw events and to independently update contexts.
- Multi-context draw event delegate is passed to ImGui Context Proxy during construction rather than as an argument of Tick function.
- To minimise lag between ending ImGui frame and rendering its output, ImGui Widget updates its own context just before painting.
- Contexts without widget (editor, dedicated server) are updated by manager during post-tick event.
- Instead of setting global CurrentContextIndex by ImGui Context Manager, information about context is passed to ImGui Demo as part of a closure.
- Fixed bug in ImGui Demo where inactive contexts were triggering multi-PIE warning.
2018-03-18 19:45:08 +00:00
Sebastian
f18e1f0b68 Changed to hardware cursor as a default cursor in input mode and added ImGui.DrawMouseCursor console variable to allow to switch to ImGui cursor.
Using ImGui to draw cursor helps to reduce visual error between mouse cursor and position in ImGui. But it has been reported that this works really bad when frame-rate drops and becomes unusable below ~20 FPS. Taking that into account hardware cursor seems like a better default option. Old behaviour can be enabled with ImGui.DrawMouseCursor console variable.
2018-03-13 23:42:37 +00:00
segross
f3a5e8e6b9
Merge pull request #7 from NuLL3rr0r/master
Fix template unqualified lookup build errors on clang.
2018-03-13 22:59:51 +00:00
Mohammad S. Babaei
ab103ac65f
fix template unqualified lookup build errors on clang 2018-03-05 17:03:38 +03:30
Sebastian
2e994ac124 Fixed a few errors and warnings on PS4 and XBox platforms. 2018-02-02 23:14:17 +00:00
Sebastian
b2f4f43d7e Replaced static assert about TCHAR being not wider that ImWchar with a runtime check validating whether TCHAR values are in accepted range. Runtime check only happens on platforms where TCHAR is wider than ImWchar. 2018-02-02 22:50:55 +00:00
Sebastian
c260a3d824 Fixed missing inline keywords causing errors in non-unity or adaptive-unity builds. 2018-01-24 22:58:02 +00:00
Sebastian
f40efc265f Fixed input issues when application loses focus and added debug code for ImGui input state. 2018-01-15 23:48:51 +00:00
Sebastian
933b7f1b3b Added interface to modify from code console variables that control whether to enable ImGui Input Mode and show ImGui Demo. 2018-01-10 23:36:12 +00:00
Sebastian
19b9502e24 Updated copyright date. 2018-01-09 21:51:06 +00:00
Sebastian
f01cefc30f Changed ImGui Demo to allow selectively show demo window in chosen contexts and to fix problems with some of the examples. Added relevant warning message and description displayed when demo is opened in more than one context. 2018-01-09 19:36:52 +00:00
segross
068ac2ebd0
Merge pull request #2 from JoshEngebretson/master
Updating to ImGui 1.53
2018-01-07 14:52:13 +00:00
Josh Engebretson
c7d152cc22 Updating to ImGui 1.53 2018-01-01 21:13:15 -05:00
Sebastian
f0e3f7e82e Updated project status and information. 2017-11-05 22:49:32 +00:00
Sebastian
2b19b2108a Updated to Unreal Engine 4.18 (backward compatible). 2017-11-05 22:36:39 +00:00
Sebastian
9db4abcb0a Updated to Unreal Engine 4.17 (backward compatible):
- Removed usage of per-vertex ClipRect.
- Replaced usage of GSlateScissorRect with new FSlateWindowElementList::PushClip/PopClip functions.
- Defined WITH_OBSOLETE_CLIPPING_API to switch to old implementation for older engine versions.
2017-11-05 19:41:34 +00:00
Sebastian
865ade48c0 Updated to Unreal Engine 4.16 (backward compatible):
- Replaced obsolete module rules constructors with new versions forwarding read-only target rules to base constructors.
2017-11-05 16:10:03 +00:00
Sebastian
3f33545f8b Added automatic ImGui context switching when updating different editor and PIE worlds. Allows to use ImGui API during world update with controls being drawn in correct viewport. 2017-10-28 22:25:44 +01:00
Sebastian
126b59d2c6 Updated project information. 2017-10-10 23:16:51 +01:00
Sebastian
8c46591488 Added ImGui.ShowDemo console variable to show/hide ImGui demo. 2017-10-03 21:26:59 +01:00
Sebastian
00ad746267 Added interface to register ImGui debug delegates. 2017-10-03 21:16:17 +01:00
Sebastian
1a6aa98f51 Added support for session reloading and updated contexts and widgets management:
- Added to ImGui Context Proxy a name that is mapped to ini file set in ImGui context.
- ImGui Context Manager generates unique context names from world type and context index.
- Refactored ImGui Context Manager to have a cleaner separation between editor and non-editor bits.
- Fixed context update rules in ImGui Context Manager.
- Changed widgets management in ImGui Module Manager to allow automatic garbage collection after viewports are closed and manual removal when module is shutting down.
- ImGui Widgets are in full control of communication with context proxies.
- Added basic world context utilities.
- Refactored world context index utilities and replaced ambiguous 'default context index' with 'editor' and 'game' ones.
2017-09-27 21:16:54 +01:00
Sebastian
7e756c7cb5 Small clean-up with fixes for few warnings. 2017-09-22 20:23:42 +01:00
Sebastian
9c62196cbb Using ImGui to draw mouse cursor. 2017-09-21 22:09:03 +01:00
Sebastian
5625365310 Added handling of special input cases:
- Different handling of 'Esc' key. If ImGui has active items then it is used to exit edit mode, otherwise it is passed to editor to cancel session.
- Suppressing keyboard input when console is opened and retaking it when it is closed.
- Fixed issue with losing input when console is closed.
2017-09-16 21:52:14 +01:00
Sebastian
c47d911f22 Fixed issues with passing input focus between viewport and ImGui Widget. 2017-09-10 21:05:37 +01:00
Sebastian
f696393089 Added debug code to ImGui Widget:
- Added ImGui.Debug.Widget console variable to enable/disable widget state debugging.
- Added ImGui ImGui debug for widget state.
- Added logging for widget state transitions.
2017-09-09 11:40:44 +01:00
Sebastian
f7816ee1fd Added ImGui.InputEnabled console variable to control when ImGui should receive inputs. 2017-09-02 18:42:41 +01:00
Sebastian
77bb73dbce Added Multi-PIE support:
- Added ImGui Context Manager to create and manage ImGui Context Proxies.
- Changed ImGui Context Proxy to dynamically create context and allow pairing with input state.
- Changed ImGui Module Manager to create one widget per context.
- Changed ImGui Widget to work in different input modes.
- Changed ImGui Input State to allow partial reset (only mouse or keyboard).
2017-08-28 20:29:07 +01:00
Sebastian
53387cf88b Changed modifier keys handling and cleaned ImGui Input State:
- Separate modifier keys interface and data from generic keys.
- Cleaned interface to better differentiate between full reset and clearing update data.
- Fixed bug in code clearing characters.
2017-08-19 21:19:38 +01:00
Sebastian
393460f330 Added input support:
- Added ImGui Input State to collect and store input updates.
- Changed Slate ImGui Widget to handle Slate input events and store them in input state.
- Changed ImGui Context Proxy to copy input state to its context.
2017-04-22 16:38:04 +01:00
Sebastian
35f2d342a0 Added support for ImGui context update and rendering:
- Added ImGui Module Manager that that implements module logic and manages other module resources.
- Added Texture Manager to manage texture resources and maps them to index that can be passed to ImGui context.
- Added Context Proxy that represents and manages a single ImGui context.
- Added Slate ImGui Widget to render ImGui output.
2017-03-26 21:32:57 +01:00
Sebastian
e74e3475d9 Integrated ImGui framework:
- Added ImGui framework source directory.
- Added to ImGui module include paths pointing to ImGui source directory.
- Added to ImGui module implementation file that includes ImGui source code to be built as part of the module.
2017-03-18 11:33:14 +00:00
Sebastian
cd98f86005 Initial commit:
- License file and initial readme file.
- Plugin and module base configuration.
- Repository configuration.
2017-03-17 23:22:13 +00:00