Commit Graph

  • 7df161dead Update README with more TO-DOs master Kevin Poretti 2024-11-26 20:37:50 -0500
  • 03f5d09ab4 Change display name of docking enable in settings menu Kevin Poretti 2024-11-24 00:08:45 -0500
  • c8e465ce2d Add configurable docking flag Kevin Poretti 2024-11-23 18:27:50 -0500
  • b58d17177e Update UnrealImGui to version 1.91.5-docking Kevin Poretti 2024-11-23 17:43:08 -0500
  • ba26c95c94 Update README Kevin Poretti 2024-11-23 13:37:28 -0500
  • b7f9cb9e5a
    Update README.md benui 2024-07-21 19:11:15 -0700
  • 487cd08df9
    Merge pull request #1 from sinbad/master benui 2023-11-01 13:16:03 -0700
  • f662f8b504
    Merge pull request #3 from Edstub207/patch-1 benui 2023-11-01 13:15:40 -0700
  • 59645dbf9a
    Fixing compile error on Unreal 5.3 Eddie Stubbington 2023-09-22 00:33:16 +0100
  • 25846675cd Fix warning about plugin not referencing plugin Steve Streeting 2023-07-11 18:14:53 +0100
  • 5dc3b1f222 Remove "Handler Down" debug message Steve Streeting 2023-07-11 16:30:58 +0100
  • 8f6180969e UE 5.2 fixes Steve Streeting 2023-07-11 15:08:14 +0100
  • 097719426a UE5.1 Warning fix: C++ class refs must include module Steve Streeting 2023-02-20 17:36:08 +0000
  • cff6ff6f66 Fix compilation error on UE 5.1 Steve Streeting 2023-02-16 17:05:16 +0000
  • 9496087f9c Cleaned up unused input processor ben 2022-04-14 09:09:10 -0700
  • cb89223375 Merged changes from WiggleWizard ben 2022-04-01 11:41:38 -0700
  • b346fa894d Custom font support WiggleWizard 2022-04-01 01:33:38 +0100
  • 91825ac883 Messing around trying to get input sharing to work ben 2022-03-26 07:45:04 -0700
  • 48b1abd1e1 Added some useful info into the readme about render textures. Also updated it to reflect new change from OP WiggleWizard 2022-03-25 23:55:29 +0000
  • 2b8f3e55c3 Support for general UTexture instead of being limited to Texture2D for ImGui interop WiggleWizard 2022-03-25 22:53:05 +0000
  • 14749e50bb Fixed warnings from Unreal 5.0 Preview 1 benui 2022-03-01 10:46:21 -0800
  • 7b055e4040 Fixes to get compiling with Unreal 5.0 Preview 1 benui 2022-03-01 10:40:09 -0800
  • fa7134f553 Updated readme with new changes WiggleWizard 2022-02-25 21:53:34 +0000
  • 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. WiggleWizard 2022-02-25 21:40:13 +0000
  • 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 WiggleWizard 2022-02-25 11:59:49 +0000
  • ea84ccf468
    Updated readme with info about NetImGui branch The wiggliest of wizards 2022-02-19 18:43:43 +0000
  • 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. WiggleWizard 2022-02-19 18:31:15 +0000
  • e00a133617 Fixed cached resource handles getting invalid after reloading texture resources. Sebastian 2021-04-15 21:30:53 -0400
  • 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. Sebastian 2021-04-14 23:11:49 -0400
  • 39c3eced41 Updated copyright date. Sebastian 2021-04-14 22:10:59 -0400
  • 47473c3eeb
    Fix deprecation warnings in IsBindable (#45) Brandon Grimshaw 2021-03-05 06:27:29 +1300
  • ea74c3c872 Fixed Linux crash caused by wrong mapping of key codes. Sebastian 2020-09-20 23:31:45 +0100
  • 860b922206 Status update with information about NetImgui. Sebastian 2020-09-19 00:17:02 +0100
  • db77175e66 Changed context index mapping to fix issues with multi-PIE debugging in 4.25. Sebastian 2020-09-15 20:48:35 +0100
  • 16056820e9 Fixed Linux and standalone compile errors. Sebastian 2020-08-26 22:31:30 +0100
  • 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. Sebastian 2020-07-31 10:24:53 +0100
  • 9eed8f93b9 Fixed a crash in the input handler caused by invalidated by hot-reload instance trying to unregister a delegate. Sebastian 2020-07-31 09:54:05 +0100
  • bbc3101a58 Updated change-list. Sebastian 2020-06-28 19:44:19 +0100
  • a18e2e8dfb Removed old code moving data from depreciated SwitchInputModeKey to ToggleInput. Sebastian 2020-06-28 19:18:35 +0100
  • 5b737e111e Removed custom scope guard and replaced it with TGuardValue defined in the engine. Sebastian 2020-06-28 18:59:01 +0100
  • 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. Sebastian 2020-06-28 18:13:29 +0100
  • 5d5bd8a284 Cleaned widget's debug code and fixed it for platforms using other than char or wchar_t characters. Sebastian 2020-06-28 17:36:59 +0100
  • b94bb7b5ef Fixed bug squaring the non-curved base factor in the DPI scale. Sebastian 2020-06-28 17:35:41 +0100
  • 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. Sebastian 2020-06-28 17:02:56 +0100
  • 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. Sebastian 2020-06-25 10:52:46 +0100
  • ac2b80bd63 Replaced a few recently added function calls with backward compatible implementations. Sebastian 2020-06-14 22:01:57 +0100
  • 04e6f9d844 Removed dependency on headers included in the PCH and fixed any non-unity issues. Sebastian 2020-06-14 21:50:26 +0100
  • bbd2c01071 Replaced includes of monolithic headers. Sebastian 2020-06-14 20:21:49 +0100
  • f8d8704a67 Fixed standalone compilation errors after bad refactoring @9d4eb74b. Sebastian 2020-06-11 01:42:18 +0100
  • 48be56de64 Added support for curve-based DPI scaling. Sebastian 2020-06-07 23:18:14 +0100
  • 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. Sebastian 2020-06-07 21:58:48 +0100
  • 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. Sebastian 2020-05-11 11:24:59 +0100
  • 253eff0525 Added functionality allowing to apply changes in canvas size settings while playing. Sebastian 2020-05-10 21:20:51 +0100
  • 26f8729604 Cleaned-up FImGuiKeyInfoCustomization and fixed padding. Sebastian 2020-05-10 21:07:38 +0100
  • 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. Sebastian 2020-05-10 21:05:27 +0100
  • 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. Sebastian 2020-04-16 15:35:19 +0100
  • 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. Sebastian 2020-04-16 14:49:54 +0100
  • 5a7c81b4e3 Updated plug-in version and history. Sebastian 2020-04-16 14:02:47 +0100
  • 174e38cfc6
    Acquire size of ImGUI canvas from game viewport (#27) kkawachi 2020-04-16 21:08:32 +0900
  • 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) yash3ahuja 2020-03-24 18:26:14 -0700
  • a35585f26a Updated to ImGui 1.74 IMGUI_1.74 Sebastian 2020-02-03 20:11:04 +0000
  • 91080c3988 Fixed crash in editor-preview worlds, introduced in the last commit. UE_4.24 Sebastian 2020-01-28 20:59:50 +0000
  • 848e7294c8 Updated to engine version 4.24. Sebastian 2020-01-27 21:51:42 +0000
  • 05d7c5c48b Updated project status and documentation. Sebastian 2019-08-08 19:05:00 +0100
  • 9e5975c9bb Making sure that mouse sharing options don't interfere with touch input. Sebastian 2019-08-08 18:20:18 +0100
  • 95d27334fe Updated input handler to ignore fake mouse events potentially raised when touch input is unhandled. Sebastian 2019-08-08 18:06:07 +0100
  • 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. Sebastian 2019-08-03 17:45:53 +0100
  • 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. Sebastian 2019-08-01 21:41:12 +0100
  • e651b0f88f Fixed resizing of ImGui windows with shared mouse input. Sebastian 2019-07-28 20:20:28 +0100
  • 5e4b7084de Fixed build errors when the plugin is placed in the engine directory. (#19) kkawachi 2019-07-28 02:06:29 +0900
  • 10ce6386d4 Added support for shared mouse input: - With the mouse sharing enabled, SImGuiWidget can update mouse position without enabling hit-tests. Actual input mode depends whether mouse cursor is hovering any ImGui window or not. - Added to context proxy interface to read whether that context has mouse hovering any window. - Added boilerplate code to support mouse sharing settings, properties and commands. Sebastian 2019-07-08 20:46:28 +0100
  • 979903722a Moved the whole input handling from SImGuiWidget to UImGuiInputHandler: - Moved responsibility for updating input state from the widget to the input handler. - Changed the widget to fully delegate input events to the input handler and only manage its own input state. - Changed the input handler interface to allow handling of all the necessary input events. - Changed the input handler interface to use FReply as a response type and removed obsolete FImGuiInputResponse. Sebastian 2019-06-30 18:25:58 +0100
  • 852a501022 Moved input state from SImGuiWidget to FImGuiContextProxy and modified implementation of FImGuiInputState reset functionality. Moving input state to context proxy decouples it a bit from a particular input source and although not used right now, it allows multiple sources to send input in parallel. Sebastian 2019-06-23 20:29:25 +0100
  • 22c5b42387 Cleanup in SImGuiWidget: - Removed mouse status update. - Removed mouse notifications. - Removed unused function to copy modifier keys on mouse events (key down/up versions are still in use). Sebastian 2019-06-23 15:21:43 +0100
  • 2d728f1f26 Removed from FImGuiModuleManager custom check for a game thread as both reasons to have it are not relevant any more. Current implementation of the IsInGameThread() doesn't make exceptions for a loading thread and lazy initialization of the Unreal resources ensures that plugin doesn't do any work before the game starts. Sebastian 2019-06-15 13:37:11 +0100
  • 505eb166d5 Updated and improved readme documentation. Sebastian 2019-06-01 10:47:42 +0100
  • 59dc8decf8 Fixed issue with SImGuiLayout blocking mouse input for other Slate widgets, which was introduced by refactorization of widgets (version 1.14, commit c144658f): - Changed visibility of widgets in ImGui layout from 'Visible' to 'SelfHitTestInvisible'. Sebastian 2019-05-31 19:58:00 +0100
  • 4668d5efad Updated information about supported engine version to 4.22. UE_4.22 Sebastian 2019-05-31 19:27:20 +0100
  • 15658fa917
    Merge pull request #17 from Mantisis/master segross 2019-05-05 20:01:40 +0100
  • ca4001343e
    Merge branch 'master' into master segross 2019-05-05 19:59:19 +0100
  • 4a9d66889b Added ImGui early debug events: - Added to FImGuiDelegates interface early debug delegates called during world tick start. - Delegates are called in fixed order: multi-context early debug, world early debug (called during world tick start), world debug, multi-context debug (called during world post actor tick or if not available, during world tick start). - Removed from build script configuration of debug delegates. Sebastian 2019-04-14 12:16:15 +0100
  • dc516f052e Fix Name initialized after DrawEven in ImGuiContextProxy Mantisis 2019-04-11 21:06:41 +0200
  • 867a34e640 Changed interface to register ImGui debug delegates: - Added new FImGuiDelegates interface for ImGui debug delegates. - Added FImGuiDelegatesContainer for ImGui delegates. - Added code preserving delegates during hot-reloading and moving them to a new module. - Depreciated old FImGuiModule delegates interface and FImGuiDelegateHandle. - Delegates registered with depreciated interface are redirected and get benefit of being preserved during hot-reloading. This can be controlled with IMGUI_REDIRECT_OBSOLETE_DELEGATES. - Added IMGUI_WITH_OBSOLETE_DELEGATES allowing to strip depreciated interface from builds. - Modified context manager and context proxy to work with FImGuiDelegatesContainer. Sebastian 2019-04-10 20:19:11 +0100
  • 2b5d871609 Introduced official version of the plugin: - Set plugin version to 1.14 - Added CHANGES.md file with overview of changes. Sebastian 2019-04-07 18:49:04 +0100
  • c144658f37 Refactored ImGui widget and removed dependency on ImGui internal cursor data: - Added SImGuiLayout to resets layout and house SImGuiWidget. - Module manager creates SImGuiLayout instead of SImGuiWidget (eventually it should be replaced with a higher level object, like AHUD). - Reworked ImGui canvas dragging and scaling and moved to SImGuiCanvasControl. - Removed dependency on ImGui internal cursor data. New presentation is cleaner and doesn't use cursor data. - Rendering code could be simplified after layout reset provided by SImGuiLayout. - SImGuiWidget still handles input, rendering of ImGui draw data and activation of SImGuiCanvasControl. - All widgets are in own subfolder. Sebastian 2019-03-13 20:40:13 +0000
  • 6c6e766a20 Fixed mapping from FKey to ImGui key index to gracefully handle unsupported keys and work on platforms that does not support all the keys defined in ImGui key map. Instead of throwing assertion unsupported keys are mapped to 0, what guarantees that ImGui key map is always initialized and unsupported keys mapped to index that cannot be reached from key input events that have non-zero key codes. Sebastian 2019-03-11 19:39:11 +0000
  • 6643958586 Fixed non-unity compile errors and warnings. Sebastian 2019-03-11 19:19:32 +0000
  • eba312e20b Fixed UBT warning in UE 4.21. From 4.21 onward modules must specify an explicit precompiled header in build script file. UE_4.21 Sebastian 2019-02-05 21:01:05 +0000
  • ffe532f6b3 Fixed restoring of the user focus to game viewport in UE 4.20+ Sebastian 2019-02-05 20:48:19 +0000
  • dcbf229263 Updated copyright date. Sebastian 2019-02-05 20:47:15 +0000
  • 6eb66bf021 Renamed ImGuiSettings.h/cpp to ImGuiModuleSettings.h/cpp to keep it more consistent with conventions used in module. Sebastian 2018-12-08 21:15:20 +0000
  • 09572a8ef9 Refactorization of ImGui settings: - Divided ImGui settings into UImGuiSettings persistent object and FImGuiModuleSettings proxy that provides interface for other classes and handles delayed loading of UImGuiSettings. - Removed from FImGuiModuleProperties and FImGuiModuleCommands direct dependencies on UImGuiSettings. - Simplified FImGuiModuleProperties making it more robust when moving data after hot-reloading. - Inverted binding logic by injecting FImGuiModuleProperties and FImGuiModuleCommands into FImGuiModuleSettings and letting it take care of synchronization. Dependencies are setup by module manager. - Added to module manager FImGuiModuleSettings and interface to access it. - Cleaned interface of FImGuiInputHandlerFactory and removed direct dependency on settings. Sebastian 2018-12-08 21:03:18 +0000
  • 0bf940de81 Modified UImGuiInputHandler::OnKeyDown to only handle command bindings if keyboard input is not shared and to leave it for DebugExec if it is. Sebastian 2018-12-04 19:41:22 +0000
  • 51031d7d86 Changed input sharing properties to be initialized and updated from ImGui settings. Sebastian 2018-12-02 20:32:42 +0000
  • f4718e404a Introduced input sharing properties: - Added properties defining whether keyboard or gamepad input should be shared between ImGui and game. - Added interface and commands to dynamically change introduced properties. - Updated ImGui Input Handler to base default input responses on sharing properties. Sebastian 2018-12-02 18:42:28 +0000
  • 0c69e6ddfc Changed how module properties are passed to lambda executed during hot-reloading as lambdas with mutable captures seems to be not always supported. Sebastian 2018-11-27 21:17:06 +0000
  • c662869820 Fixed duplicated registrations of ImGui Demo that were introduced in recent changes. Sebastian 2018-11-27 20:56:02 +0000
  • e05cea2789 Added to ImGui Context Manager an event raised when a new context proxy is created. Sebastian 2018-11-27 20:54:26 +0000
  • b1d000f696 Updated information about console functionality. Sebastian 2018-11-26 20:45:58 +0000
  • 62d26f4ee5 Moved ImGui Module Properties to public directory and added to ImGui Module interface allowing access their instance. Sebastian 2018-11-26 20:20:53 +0000