Iup4D is a D binding library for IUP with OOP style. Its API is similar to WinForms.
Copyright © 2016-2017 BitWorld. All Rights Reserved.
This software is licensed under the Boost Software License, Version 1.0.
For more details, see the full text of the license in the file Boost.txt.
Tools | Version |
---|---|
DMD | 2.075 |
DUB | 1.4.0 |
Visual D | 0.45.0 |
IUP | 3.22 |
DerelictGL3 | 2.0 |
Platform | Building | Runing |
---|---|---|
Windows x86(mscoff) | succeeded | succeeded |
Windows x64 | succeeded | IupTest crashed |
Linux | Todo | Todo |
module main;
import std.stdio;
import core.stdc.stdlib;
import iup;
import toolkit;
version(Windows) {
pragma(lib, "iup.lib");
pragma(lib, "iupimglib.lib"); // required only if function IupImageLibOpen() is called
pragma(lib, "iupim.lib");
pragma(lib, "im.lib");
pragma(lib, "iupcontrols.lib");
pragma(lib, "iupgl.lib");
pragma(lib, "opengl32.lib");
pragma(lib, "iupglcontrols.lib");
pragma(lib, "iupcd.lib");
pragma(lib, "cd.lib");
pragma(lib, "cdgl.lib");
pragma(lib, "cdpdf.lib");
}
int main(string[] argv)
{
Application.open();
Application.useImageLib();
MainForm mainForm = new MainForm();
Application.run(mainForm);
return EXIT_SUCCESS;
}
class MainForm : IupDialog
{
this() { super(); }
protected override void initializeComponent()
{
IupLinkLabel linkButton = new IupLinkLabel("http://www.tecgraf.puc-rio.br/iup", "IUP Toolkit");
linkButton.linkClicked += &linkLabel_linkClicked;
IupVbox vbox = new IupVbox(linkButton);
vbox.alignment = HorizontalAlignment.Center;
this.child = vbox;
this.margin = Size(10, 10);
this.title = "Iup Demo";
this.rasterSize = Size(300, 200);
this.loaded += &dialog_loaded;
this.closing += &dialog_closing;
}
private void dialog_loaded(Object sender, CallbackEventArgs args)
{
// do something after the dialog is loaded
}
private void dialog_closing(Object sender, CallbackEventArgs e)
{
e.result = IupElementAction.Close;
}
private void linkLabel_linkClicked(Object sender, CallbackEventArgs e, string url)
{
writefln("url (%s)", url);
}
}
Name | Description |
---|---|
Iup4D | The core library |
DerelictOrg | OpenGL binding library |
IupTest | The test program for Iup4D |
Examples | Some simple demos for Iup4D |
Thirdparties | The import librares from IUP |
- Windows
- IUP libraries
Download the IUP develop libraries and extract all .lib
files to the Thirdparties
directory. See also, Readme.md.
- Resource compiler
It can be found in C:\Program Files (x86)\Windows Kits\10\bin\x86
on Windows 10. Make sure that it can be searched in environment variable PATH
.
You can use Visual D to build Iup4D on Windows.
- build core lib
dub build --arch=x86_mscoff --build=release --compiler=dmd
- build examples
dub build :simple-demo --arch=x86_mscoff --build=release --compiler=dmd
dub build :windows-demo --arch=x86_mscoff --build=release --compiler=dmd
dub build :simple-paint --arch=x86_mscoff --build=release --compiler=dmd
dub build :iup-test --arch=x86_mscoff --build=release --compiler=dmd
- Bind more APIs for more controls
- Port more test examples
- Check and fix memory leak bugs
- Stable API for wrapper librarys
Name | URL |
---|---|
Tecgraf | http://webserver2.tecgraf.puc-rio.br/iup/ |
DMD | https://dlang.org/ |
Visual D | https://github.com/dlang/visuald |
mogud/iupd | https://github.com/mogud/iupd |
carblue/iup | https://github.com/carblue/iup |
DerelictOrg | https://github.com/DerelictOrg |
DGui | https://bitbucket.org/dgui/dgui |