Rayerd/dfl


This unofficial project for D2.x is a migration of D Forms Library (DFL) that is managed on SVN. DFL is a Win32 windowing library for the D programming language.

http://wiki.dprogramming.com/Dfl/HomePage

License: Other

Language: D


DFL

This unofficial project is a migration of D Forms Library (DFL) that is managed on SVN. DFL is a Win32 windowing library for the D language.

import dfl;

void main()
{
	Form form = new Form;
	form.text = "Welcome to DFL";
	form.size = Size(300, 300);

	Button button = new Button;
	button.text = "OK";
	button.location = Point(20, 20);
	button.size = Size(100, 50);
	button.click ~= (Control c, EventArgs e) => msgBox("OK button is clicked.");
	button.parent = form;

	Application.run(form);
}

screen shot

Recent major features

  • Windows OMF support has been removed (for DMD v2.109.0).
  • Registered DFL to DUB.
  • Supported multiple screens.
  • Module "dfl.chart" is now comming.
    • TableRenderer (with example)
    • LineGraphRenderer (with example)
    • TimeChartRenderer (with example)
  • Module "dfl.printing" is now comming.
    • PrintDialog
    • PrintSetupDialog
    • PrintPreviewDialog
  • Remove dflexe.
  • Remove GTK-based DFL.
  • Remove some bundled libraries such as user32_dfl.lib etc... (From now on, use dmd-bundled libraries such as the MinGW platform library and so on.)

Screen shots

screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot screen shot

Usage

First, you make new DUB project:

> cd examples\new_project
> dub init

Add DFL to local DUB registry:

> dub add dfl
> dub list
Packages present in the system and known to dub:
  dfl 0.10.0: c:\your\path\dfl\0.10.0\dfl\
  silly 1.2.0-dev.2: c:\your\path\silly\1.2.0-dev.2\silly\
  undead 1.1.8: c:\your\path\undead\1.1.8\undead\

Build and run your GUI applications with DUB as below:

> dub build -a=x86_64
> dub run

IMPORTANT: DUB is building dfl_dub.lib that is not containing undead.lib and WINSDK libraries.

APPENDIX: Build and Install dfl.lib and dfl_debug.lib

1. Set environment variables

Fix the paths below:

set dmd_path=c:\d\dmd2\windows
set dmc_path=c:\dmc\dm

2. Install the undeaD library

DFL is required the undeaD library (undead.lib). Download a ZIP file from https://github.com/dlang/undead. Extract undeaD-master.zip and run the below with either option -a=x86_mscoff or -a=x86_64:

> cd undeaD-master
> dub build -a=x86_64
    Starting Performing "debug" build using C:\D\dmd2\windows\bin\dmd.exe for x86_64.
  Up-to-date undead ~master: target for configuration [library] is up to date.
> dir bin /b
undead.lib

Copy the undead.lib to your/lib/dir.

3. Make dfl.lib and dfl_debug.lib

Run makelib.bat (MSVC required):

> cd dfl/win32/dfl
> makelib.bat           # 32-bit mscoff

or (MSVC required)

> makelib.bat 32mscoff  # ditto

or (MSVC required)

> makelib.bat 64        # 64-bit mscoff

Also copy dfl.lib and dfl_debug.lib in dfl/source to your/lib/dir.

IMPORTANT: Both library files are containing the undead.lib and WINSDK libraries such as user32.lib, gdi32.lib and so on.

In order to make and move *.lib to paths below:

  • go.bat (MSVC required) : Make and move *.lib to %dmd_path%\lib32mscoff
  • go.bat 32mscoff (MSVC required) : ditto
  • go64.bat (MSVC required) : Make and move *.lib to %dmd_path%\lib64

License

DFL is under the boost and/or zlib/libpng license.

However, trackbar.d is covered by the MIT license.

Project Statistics

Sourcerank 8
Repository Size 3.39 MB
Stars 42
Forks 16
Watchers 9
Open issues 0
Dependencies 0
Contributors 4
Tags 8
Created
Last updated
Last pushed

Top Contributors See all

haru-s SHOO Jesse Phillips qchikara

Packages Referencing this Repo

dfl
D Forms Library, or DFL, is a Win32 windowing library for the D language.
Latest release 0.10.7 - Updated - 42 stars

Recent Tags See all

v0.10.7 August 31, 2024
v0.10.6 July 15, 2024
v0.10.5 June 29, 2024
v0.10.4 June 23, 2024
v0.10.3 June 16, 2024
v0.10.2 May 29, 2024
v0.10.1 May 17, 2024
v0.10.0 May 15, 2024

Something wrong with this page? Make a suggestion

Last synced: 2024-09-01 01:09:58 UTC

Login to resync this repository