/ImGui-Pascal

ImGui Binding for FreePascal / Delphi with the latest version & docking

Primary LanguagePascalMIT LicenseMIT

ImGui-Pascal

License: MIT Discord Badge

FreePascal / Delphi bindings for dear ImGui with docking v1.90.0

The Binding is based on cimgui

cimgui is c-api for imgui (https://github.com/ocornut/imgui).

Screenshots

Running on Windows

ImPlot


FreePascal


Delphi


Running on Linux (FreePascal)

ImPlot

Building

  • Tested with FreePascal 3.2 and later.
  • Tested with Delphi 12.0

Usage

It should be almost 1 to 1 as if you are using C++ ImGui
Check the demo project for more info.

TODO

  • Add missing APIs to our ImGui Class
  • Add missing APIs to our ImPlot Class
  • Add record helpers for some records like ImGuiIO & all ImVector_xxx records
  • Add Support for cimnodes or cimnodes_r
  • Test on Mac

In Progress

Acknowledgements & Resources :

Inspired by the work of David Pethes imgui-pas

Used Projects :

Change log

29/11/2023
  • A Full rework for the APIs
  • Adding ImPlot Support ( APIs Still in progress )
  • Support windows 32bit
17/11/2023
  • Allow static linking on windows with FPC ( no static for Delphi :P )
  • And wrote the entire OpenGL3 renderer in Pure-Pascal
  • Fixing a bug if you try to compile on Linux
15/11/2023
  • Sync With Latest ImGui update v1.90.0
  • Disabling Floating-Point Exceptions for good
  • Updating the code to support Delphi & FreePascal
13/11/2023
  • Init Release
  • Added Fonts APIs in ImFontAtlas helper

With ❤️ From Home.