-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
fff0eeb
commit dec4302
Showing
1 changed file
with
13 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |