HTMLayout

A D wrapper for Andrew Fedoniouk's excellent HTMLayout library. This is an extremely fast, easy to use and extend, embeddable HTML component. It supports most HTML 4 and CSS 2.1 plus some very useful extensions and can be extended further through custom controls and behaviors. It can also be used to create beautiful GUIs with mark up, browsers or whatever.

Note that the wrapper is not 100% complete. See todo list and changelog

Before using the wrapper, you will need to familarise yourself with HTMLayout. Be sure to check the official page and SDK. It contains documentation, specifications, examples and all other necessary things. You can also toy around with the official demo applications.

Examples

Available examples below: basic example, custom controls example, behavior example, skin example

Basic examples

http://svn.dsource.org/projects/flowerd/trunk/examples/htmlayout/msvs_start_page.png

Explanations here

Binaries here (you will need the msvs_start_page folder too)

The beautiful thing about HTMLayout when used as a GUI, is that you can completely revamp the layout and looks without changing a single line of code (HTML and CSS are not considered code).

Custom control examples

http://svn.dsource.org/projects/flowerd/trunk/examples/sumatrapdf/pdfviewer.png

An example of windowless custom control, but native windows (HWND) are possible too. This is using the excellent SumatraPDF. I have modified it a bit to add some DLL features. If you need the source, here is a patch for revision 623 with the changes I've made (the sumatrapdf.dll provided is more updated than this revision, but I can't create a new patch because of conflicts. Request the source if you need it.)

Binaries and source here (you will need the pdfviewer folder too)

Behavior example

http://svn.dsource.org/projects/flowerd/trunk/examples/behavior/behavior.png

This example demonstrates how to:

1) Use behaviors to
2) Create translatable interface
3) Load resources from binary file
4) Make typos in Bulgarian

Binaries and source here

Skin example

http://svn.dsource.org/projects/flowerd/trunk/examples/skin/skinned.png

This example shows how simple it is to create a skinned application with HTMLayout. This screenshot shows a window with many transparent areas over the Tango web page...

Binaries and source here