Summary
THIS LIBRARY WILL SWALLOW ALL MOUSE AND KEYBOARD INPUTThis library is a work-in-progress partial implementation of the features provided by Dear ImGui.
The aim of this project is to provide a faithful recreation of the functionality of Dear ImGui. Thus, any inconsistencies with the behavior of the original library should be regarded as a bug/oversight on my part.
Feel free to submit a bug report or feature request as an issue on the GitHub page for this project.
Source Code:
https://github.com/chrisspieler/sbox-imgui Known Issues
- Windows may not be collapsed, and users may not close or resize windows themselves
- Countless ImGui functions are not yet implemented
- Switching between game and UI input is not yet implemented
- Various slider features such as text input are not yet implemented
- Mouse inputs on multicomponent sliders may fall through to windows behind
- GetContentRegionAvail() and IsWindowCollapsed() throw NotImplementedException
Supported Widgets
- Text
- Button
- Checkbox
- SliderFloat, SliderFloat2, SliderFloat3, SliderFloat4
- DragInt
- Image
Example Usage
private void DrawWindow1()
{
ImGui.SetNextWindowPos( new Vector2( 300, 200 ) * ImGuiStyle.UIScale );
ImGui.Begin( "Window 1" );
if ( ImGui.Button( "Click me!" ) )
{
_clickCounter++;
}
ImGui.Text( "Clicked {0} times.", _clickCounter );
if ( ImGui.Button( "Focus Floating Window" ) )
{
_shouldFocusFloatingWindow = true;
}
ImGui.SliderFloat( "My Float", ref _myFloatValue, -128f, 256f );
ImGui.Button( "1" ); ImGui.SameLine();
ImGui.Button( "2" ); ImGui.SameLine();
ImGui.Button( "3" ); ImGui.SameLine();
ImGui.Button( "4" );
ImGui.Image( ExampleTexture, new Vector2( 128 ) * ImGuiStyle.UIScale, Color.White, ImGui.GetColorU32( ImGuiCol.Border ) );
ImGui.End();
}