Dillo Widget Overview

Note: If you are already familiar with the Gtk+-based version of Dw, read Changes to the GTK+-based Release Version.

The module Dw (Dillo Widget) is responsible for the low-level rendering of all resources, e.g. images, plain text, and HTML pages (this is the most complex type). Dw is not responsible for parsing HTML, or decoding image data. Furthermore, the document tree, which is planned for CSS, is neither a part of Dw, instead, it is a new module on top of Dw.

The rendering, as done by Dw, is split into two phases:

  • the layouting, this means calculating the exact positions of words, lines, etc. (in pixel position), and
  • the drawing, i.e. making the result of the layouting visible on the screen.

The result of the layouting allocates an area, which is called canvas.


The whole Dw module can be split into the following parts:



Platform means in most cases the underlying UI toolkit (e.g. FLTK). A layout is bound to a specific platform, but multiple platforms may be handled in one program.

A short overview:

  • dw::core::Layout is the central class, it manages the widgets and the view, and provides delegation methods for the platform.

  • The layouting is done by a tree of widgets (details are described in Layout and Widgets), also the drawing, which is finally delegated to the view.

  • The view (implementation of dw::core::View) provides primitive methods for drawing, but also have an influence on the canvas size (via size hints). See Layout and Views for details.

  • Some platform dependencies are handled by implementations of dw::core::Platform.

Header Files

The structures mentioned above can be found in the following header files:

Further Documentations

A complete map can be found at Dillo Widget Documentation Map.