Recent

Author Topic: ImGui FreePascal Binding with the latest version with docking  (Read 5600 times)

Coldzer0

  • Jr. Member
  • **
  • Posts: 53
ImGui FreePascal Binding with the latest version with docking
« on: November 12, 2023, 08:17:47 am »
Hello All,

I just finished the first version of Pascal ImGui binding, and It looks perfect.  8)

Check out the source code for testing, etc...
https://github.com/Coldzer0/ImGui-Pascal

I have a TODO list in the readme so any contribution would be great.  8-)
« Last Edit: November 12, 2023, 08:23:41 am by Coldzer0 »

nouzi

  • Sr. Member
  • ****
  • Posts: 306
Re: ImGui FreePascal Binding with the latest version with docking
« Reply #1 on: November 12, 2023, 10:21:31 am »
Hi @Coldzer0
Welcome to back after long time .
After run demo , show this err

My English is  bad
Lazarus last version free pascal last version
Lazarus trunk  free pascal trunk 
System : Linux mint  64bit  Windows 7 64bit

PierceNg

  • Sr. Member
  • ****
  • Posts: 394
    • SamadhiWeb
Re: ImGui FreePascal Binding with the latest version with docking
« Reply #2 on: November 12, 2023, 11:27:03 am »
Hello All,

I just finished the first version of Pascal ImGui binding, and It looks perfect.  8)

Check out the source code for testing, etc...
https://github.com/Coldzer0/ImGui-Pascal

I have a TODO list in the readme so any contribution would be great.  8-)

Nice!

As a programming library which source files will be compiled together with application source files into the final executable, kindly consider licensing it under LGPL.

PierceNg

  • Sr. Member
  • ****
  • Posts: 394
    • SamadhiWeb
Re: ImGui FreePascal Binding with the latest version with docking
« Reply #3 on: November 12, 2023, 11:29:21 am »
After run demo , show this err

Try this:

Code: Text  [Select][+][-]
  1. LD_LIBRARY_PATH=<directory where libcimgui.so is> ./ImGuiDemo

Coldzer0

  • Jr. Member
  • **
  • Posts: 53
Re: ImGui FreePascal Binding with the latest version with docking
« Reply #4 on: November 12, 2023, 01:57:25 pm »
Hi @Coldzer0
Welcome to back after long time .
After run demo , show this err

Thanks ^_^
As @PierceNg says, you can use
Code: Pascal  [Select][+][-]
  1. LD_LIBRARY_PATH=.
for current dir
I'll change the code to make it load the cimgui dynamically


Nice!

As a programming library which source files will be compiled together with application source files into the final executable, kindly consider licensing it under LGPL.

What do you mean by which source files will be compiled?
I did license it with AGPL-3, so if anyone makes changes or improvements to the library, they should make these changes open-source.

nouzi

  • Sr. Member
  • ****
  • Posts: 306
Re: ImGui FreePascal Binding with the latest version with docking
« Reply #5 on: November 12, 2023, 03:11:57 pm »
Thanks  PierceNg , Thanks Coldzer0
My English is  bad
Lazarus last version free pascal last version
Lazarus trunk  free pascal trunk 
System : Linux mint  64bit  Windows 7 64bit

PierceNg

  • Sr. Member
  • ****
  • Posts: 394
    • SamadhiWeb
Re: ImGui FreePascal Binding with the latest version with docking
« Reply #6 on: November 13, 2023, 02:07:07 am »
As a programming library which source files will be compiled together with application source files into the final executable, kindly consider licensing it under LGPL.

What do you mean by which source files will be compiled?
I did license it with AGPL-3, so if anyone makes changes or improvements to the library, they should make these changes open-source.

By the nature of ImGui, any application program will look like ImGuiDemo.pas:
- uses PasImGui.impl.pas and CImGui.impl.OpenGL3.pas, which are compiled into the application executable
- make the same SDL_XXX and ImGui_Impl_XXX startup and shutdown calls

The application main loop is different and specific to the application, of course.

Under (A)GPL, the source of the application program itself is required to be under (A)GPL too. In particular, to comply with AGPL, the application source files are required to be published.

In contrast, with LGPL (possibly with a static linking exception as with Free Pascal),
- the source files of the application program can be under another license, meaning, no requirement to publish source code
- improvements to the library, e.g. implementing a new widget, are under LGPL, meaning, source code needs to be published

See Free Pascal's home page:

Quote
The packages and runtime library come under a modified Library GNU Public License to allow the use of static libraries when creating applications. The compiler source itself comes under the GNU General Public License.

Coldzer0

  • Jr. Member
  • **
  • Posts: 53
Re: ImGui FreePascal Binding with the latest version with docking
« Reply #7 on: November 13, 2023, 03:26:03 am »
As a programming library which source files will be compiled together with application source files into the final executable, kindly consider licensing it under LGPL.

What do you mean by which source files will be compiled?
I did license it with AGPL-3, so if anyone makes changes or improvements to the library, they should make these changes open-source.

By the nature of ImGui, any application program will look like ImGuiDemo.pas:
- uses PasImGui.impl.pas and CImGui.impl.OpenGL3.pas, which are compiled into the application executable
- make the same SDL_XXX and ImGui_Impl_XXX startup and shutdown calls

The application main loop is different and specific to the application, of course.

Under (A)GPL, the source of the application program itself is required to be under (A)GPL too. In particular, to comply with AGPL, the application source files are required to be published.

In contrast, with LGPL (possibly with a static linking exception as with Free Pascal),
- the source files of the application program can be under another license, meaning, no requirement to publish source code
- improvements to the library, e.g. implementing a new widget, are under LGPL, meaning, source code needs to be published

See Free Pascal's home page:

Quote
The packages and runtime library come under a modified Library GNU Public License to allow the use of static libraries when creating applications. The compiler source itself comes under the GNU General Public License.


That's a fair point, I've changed the license to MIT.
« Last Edit: November 16, 2023, 03:36:56 am by Coldzer0 »

Coldzer0

  • Jr. Member
  • **
  • Posts: 53
Re: ImGui FreePascal Binding with the latest version with docking
« Reply #8 on: November 17, 2023, 10:45:24 am »
I updated the project (Big update)

- Allow static linking on Windows with FPC (no static for Delphi  :D )
- And wrote the entire OpenGL3 renderer in Pure-Pascal  8)
- Fixing a bug if you try to compile on Linux  %)

Now the license is MIT  8-)

Coldzer0

  • Jr. Member
  • **
  • Posts: 53
Re: ImGui FreePascal Binding with the latest version with docking
« Reply #9 on: November 29, 2023, 05:28:50 pm »
New update  8)

https://github.com/Coldzer0/ImGui-Pascal

Code: Pascal  [Select][+][-]
  1. - A Full rework for the APIs
  2. - Adding ImPlot Support ( APIs Still in progress )
  3. - Support windows 32bit


nouzi

  • Sr. Member
  • ****
  • Posts: 306
Re: ImGui FreePascal Binding with the latest version with docking
« Reply #10 on: November 30, 2023, 08:50:54 am »
Can't find demo for test compile on linux !
Is it done Deleted demo folder ?
My English is  bad
Lazarus last version free pascal last version
Lazarus trunk  free pascal trunk 
System : Linux mint  64bit  Windows 7 64bit

Coldzer0

  • Jr. Member
  • **
  • Posts: 53
Re: ImGui FreePascal Binding with the latest version with docking
« Reply #11 on: November 30, 2023, 12:44:00 pm »
Can't find demo for test compile on linux !
Is it done Deleted demo folder ?

It's still there under this folder ImGui_SDL2_OpenGL3_Demo

 

TinyPortal © 2005-2018