Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
onepiecefreak3 authored Oct 27, 2024
1 parent fff0eeb commit dec4302
Showing 1 changed file with 13 additions and 25 deletions.
38 changes: 13 additions & 25 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,29 @@
# ImGui.Forms

A WinForms-inspired object-oriented framework around Dear ImGui.

## Get started
You only need to install the ``imGui.Forms`` nuget package in your project.

To create your own GUI, you have to add those two lines to your main method:
```
var form = new MainForm();
new Application().Execute(form);
```

``MainForm`` is your own derivation of the abstract class ``Form``, in which you set your components for your design. ``MainForm`` is used as an example name, and you can freely choose the name of your derivative class.<br>
You set your components to the property ``Content`` iny your derived class.

The constructor of ``Application`` takes an ``ILocalizer`` as well, which can be called via ``Application.Localizer.Localize()`` to localize a string used in the application. Currently localizations get only set, when they are set explicitly. A system is planned, where you can set up automatic re-setting of application strings, after the locale of the ``ILocalizer`` was changed.
The [wiki](https://github.com/FanTranslatorsInternational/ImGui.Forms/wiki) describes all this project has to offer.

## Namespaces
Refer to [Quickstart](https://github.com/FanTranslatorsInternational/ImGui.Forms/wiki/Quickstart) to get a quick example to start with.

### ImGui.Forms
## Credits

Containing the ``Application`` and ``Form`` classes, which act as the main entry point into the library.
This and all credited projects under the MIT license.

### ImGui.Forms.Controls
### Dear ImGui

Containing all controls usable on a form.
Copyright (c) 2014-2024 Omar Cornut

You can create your own controls by deriving from ``ImGui.Forms.Controls.Base.Component`` and using ``ImGuiNET`` to emit Dear ImGui commands in the ``UpdateInternal`` method. The ``UpdateInternal`` method of the control will retrieve the absolute coordinates and size of itself as a parameter, as they would be needed in ImGui DrawList calls. Those information are derived from parent layouts and the ``Size`` value returned from ``GetSize`` in the same control.
### ImGui.NET

### ImGui.Forms.Modals
Copyright (c) 2017 Eric Mellino and ImGui.NET contributors

Containing various modals and dialogs, such as ``MessageBox``, ``OpenFileDialog``, and ``SaveFileDialog``.
### Veldrid

Use ``MessageBox.ShowErrorAsync``, ``MessageBox.ShowInformationAsync``, or ``MessageBox.ShowYesNoAsync`` to show a blocking messagebox over the remaining form content.
Copyright (c) 2017 Eric Mellino and Veldrid contributors

``OpenFileDialog`` and ``SaveFileDialog`` were designed to look and feel like the equally named dialogs in WinForms. Consult their Microsoft documentation for further information.
### TextEditor

## Credits
ocurnut - For creating Dear ImGui
mellinoe - For creating ImGui.NET (bindings for Dear ImGui)
Veldrid Team - For creating the Veldrid rendering pipeline
Copyright (c) 2017 BalazsJako

0 comments on commit dec4302

Please sign in to comment.