Commit Graph

151 Commits

Author SHA1 Message Date
WiggleWizard
b346fa894d Custom font support 2022-04-01 01:33:38 +01:00
WiggleWizard
48b1abd1e1 Added some useful info into the readme about render textures. Also updated it to reflect new change from OP 2022-03-25 23:55:29 +00:00
WiggleWizard
2b8f3e55c3 Support for general UTexture instead of being limited to Texture2D for ImGui interop 2022-03-25 22:53:05 +00:00
WiggleWizard
fa7134f553 Updated readme with new changes 2022-02-25 21:53:34 +00:00
WiggleWizard
e96a11abcf Updated the way keys are handled to the new way ImGui now deals with input even though old input API works and is somewhat functional I'd rather be inline with latest standards. Also added all known keys to proxy for passing to ImGui for IsKeyDown/IsKeyPressed/IsKeyReleased routines. Code's a ugly and architecture not exactly perfect but works for the most part, will revisit when I get some time. 2022-02-25 21:40:13 +00:00
WiggleWizard
d0034be488 Added the ability to latch specific world's debug frame. Also moved ImGui's internal headers (with required supporting headers) to be public facing so devs have access to ImGui vec math and other luxuries to make their own widgets under the ImGui namespace 2022-02-25 11:59:49 +00:00
The wiggliest of wizards
ea84ccf468
Updated readme with info about NetImGui branch 2022-02-19 18:43:43 +00:00
WiggleWizard
56987d244f Updated ImGui to 1.87, added ImPlot v0.13 WIP and updated core plugin sources to work with UE5, updated ImGui and ImPlot. Also changed readme.md to reflect this fork's state. 2022-02-19 18:31:15 +00:00
Sebastian
e00a133617 Fixed cached resource handles getting invalid after reloading texture resources. 2021-04-15 21:30:53 -04:00
Sebastian
9f41d0906e Fixed potential for initialization fiasco when using delegates container. Fixed bug in code protecting redirecting handles from self-referencing. Updated project version and status. 2021-04-14 23:11:49 -04:00
Sebastian
39c3eced41 Updated copyright date. 2021-04-14 22:10:59 -04:00
Brandon Grimshaw
47473c3eeb
Fix deprecation warnings in IsBindable (#45)
Merging PR #45: Fix deprecation warnings in IsBindable.
Replaced FKey::IsFloatAxis and FKey::IsVectorAxis calls with the corresponding FKey::IsAxis[1|2|3]D method calls.
Background: FKey::IsFloatAxis and FKey::IsVectorAxis are marked as deprecated as of UE4.26, replaced with FKey::IsAxis[1|2|3]D methods.
2021-03-04 12:27:29 -05:00
Sebastian
ea74c3c872 Fixed Linux crash caused by wrong mapping of key codes. 2020-09-20 23:31:45 +01:00
Sebastian
860b922206 Status update with information about NetImgui. 2020-09-19 00:17:02 +01:00
Sebastian
db77175e66 Changed context index mapping to fix issues with multi-PIE debugging in 4.25. 2020-09-15 20:48:35 +01:00
Sebastian
16056820e9 Fixed Linux and standalone compile errors. 2020-08-26 22:31:30 +01:00
Sebastian
a76f4bc451 Improved hot-reload stability and support for reloading after recompiling outside of the editor:
- Hot-reloading from inside of the editor and after recompiling from the outside should be equally supported and work together.
- Improved robustness of the delegates redirections. There should be no lost delegates when reloading (either after in-editor or outside recompilation).
- Refactored code to use the same redirection template for context and delegates container.
2020-07-31 10:24:53 +01:00
Sebastian
9eed8f93b9 Fixed a crash in the input handler caused by invalidated by hot-reload instance trying to unregister a delegate. 2020-07-31 09:54:05 +01:00
Sebastian
bbc3101a58 Updated change-list. 2020-06-28 19:44:19 +01:00
Sebastian
a18e2e8dfb Removed old code moving data from depreciated SwitchInputModeKey to ToggleInput. 2020-06-28 19:18:35 +01:00
Sebastian
5b737e111e Removed custom scope guard and replaced it with TGuardValue defined in the engine. 2020-06-28 18:59:01 +01:00
Sebastian
c7d36a802b Cleaned unused delegates code:
- Removed code allowing to register game delegates outside of the delegates container.
- Removed unused multi-context delegate that is not part of the container.
2020-06-28 18:13:29 +01:00
Sebastian
5d5bd8a284 Cleaned widget's debug code and fixed it for platforms using other than char or wchar_t characters. 2020-06-28 17:36:59 +01:00
Sebastian
b94bb7b5ef Fixed bug squaring the non-curved base factor in the DPI scale. 2020-06-28 17:35:41 +01:00
Sebastian
d55af9db11 Making sure that the DPI scale is set new contexts:
- Moved implementation of the DPI scale from context manager to context proxy.
- Passing the DPI scale to the context proxy constructor for the initial setup.
2020-06-28 17:02:56 +01:00
Sebastian
d4ffe9443f Enforced IWYU-style PCH model:
- Removed explicit PCH.
- Fixed includes to compile for all supported engine versions, including non-unity builds.
- Configured build.cs to treat ImGui as an engine module and added stricter compilation rules.
2020-06-25 10:52:46 +01:00
Sebastian
ac2b80bd63 Replaced a few recently added function calls with backward compatible implementations. 2020-06-14 22:01:57 +01:00
Sebastian
04e6f9d844 Removed dependency on headers included in the PCH and fixed any non-unity issues. 2020-06-14 21:50:26 +01:00
Sebastian
bbd2c01071 Replaced includes of monolithic headers. 2020-06-14 20:21:49 +01:00
Sebastian
f8d8704a67 Fixed standalone compilation errors after bad refactoring @9d4eb74b. 2020-06-11 01:42:18 +01:00
Sebastian
48be56de64 Added support for curve-based DPI scaling. 2020-06-07 23:18:14 +01:00
Sebastian
9d4eb74bf0 Added support for DPI scaling in ImGui, with scaling in Slate remaining as an alternative:
- The old DPI Scale setting was replaced by DPI Scaling Info, which contains information about scale and method of scaling.
- ImGui Context Manager handles scaling in ImGui by scaling all styles, rebuilding fonts using a different size, and raising OnFontAtlasBuilt event.
- ImGui Module Manager uses OnFontAtlasBuilt event to rebuild font textures.
- The update policy in Texture Manager was loosened to update existing resources rather than throwing an exception. This is less strict but it is now more useful since our main texture can now change. The throwing behavior used in the public interface is now handled before calling to the Texture Manager.
2020-06-07 21:58:48 +01:00
Sebastian
8de65f3d34 Added option for DPI scaling. Current implementation scales the widget in Slate and invert-scales the ImGui canvas size to maintain consistent size on the screen. 2020-05-11 11:24:59 +01:00
Sebastian
253eff0525 Added functionality allowing to apply changes in canvas size settings while playing. 2020-05-10 21:20:51 +01:00
Sebastian
26f8729604 Cleaned-up FImGuiKeyInfoCustomization and fixed padding. 2020-05-10 21:07:38 +01:00
Sebastian
4c3905b348 Added more options to control the canvas size:
- Canvas size can be set to custom width and height, desktop size or viewport size.
- The old Adaptive Canvas Size is replaced by the viewport size type.
- Custom and desktop size types can be also extended to the viewport size but they will never be smaller than their base sizes.
2020-05-10 21:05:27 +01:00
Sebastian
003eed34d7 Added multi-PIE support to adaptive canvas size:
- Adaptive size is controlled by the ImGui Widget, which passes it from the view-port to the context proxy.
- Context only copies display size that is set from the outside.
- Removed feature dependency from the manager.
2020-04-16 15:36:29 +01:00
Sebastian
62a739ac9f Removed from the context proxy unused IsMouseHoveringAnyWindow property and moved code for WantsMouseCapture to be updated in the same scope as other context information. 2020-04-16 14:50:13 +01:00
Sebastian
5a7c81b4e3 Updated plug-in version and history. 2020-04-16 14:03:47 +01:00
kkawachi
174e38cfc6
Acquire size of ImGUI canvas from game viewport (#27)
- WIP: Does not support multi-PIE. All instances get the same size.
- Setting to enable/disable adaptive size.
2020-04-16 13:08:32 +01:00
yash3ahuja
73cdfe8d83
Fix issue with ImGui popup/modal windows not being able to be closed in transparent mouse input mode. The issue was caused by relying on ImGui::IsWindowHovered to determine whether an ImGui window was being hovered over, which doesn't work as expected with popups and modals. The ImGui documentation instead recommends using ImGuiIO::WantCaptureMouse to determine mouse input forwarding, so now SImGuiWidget relies on this value to update it's transparent mouse input state. (#25) 2020-03-25 01:26:14 +00:00
Sebastian
a35585f26a Updated to ImGui 1.74 2020-02-03 20:11:04 +00:00
Sebastian
91080c3988 Fixed crash in editor-preview worlds, introduced in the last commit. 2020-01-28 20:59:50 +00:00
Sebastian
848e7294c8 Updated to engine version 4.24. 2020-01-27 21:51:42 +00:00
Sebastian
05d7c5c48b Updated project status and documentation. 2019-08-08 19:05:00 +01:00
Sebastian
9e5975c9bb Making sure that mouse sharing options don't interfere with touch input. 2019-08-08 18:20:18 +01:00
Sebastian
95d27334fe Updated input handler to ignore fake mouse events potentially raised when touch input is unhandled. 2019-08-08 18:06:07 +01:00
Sebastian
71dd082f69 Changed FImGuiContextManager to prevent moving created context proxies and to allow other objects with the same or shorter lifespan safely use cached pointers to those resources.
- Disabled move semantics in FImGuiContextProxy and removed code related to moving ImGui context.
- Changed FImGuiContextManager to store proxies as unique pointers.
2019-08-03 17:45:53 +01:00
Sebastian
5f1dc964cf Added support for touch input (experimental and right now only non-shared):
- Added to SImGuiWidget and FImGuiInputHandler handling of touch started, move and ended events.
- Events are passed to FImGuiInputState to be copied to ImGui IO as a mouse move and left button down.
- Added one frame lag between touch ending event and ending processing, to allow ImGui handle mouse-up event.
2019-08-01 21:41:12 +01:00
Sebastian
e651b0f88f Fixed resizing of ImGui windows with shared mouse input. 2019-07-28 20:20:28 +01:00