Dillo v3.1.1-98-g318d1f14
|
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 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.
The structures mentioned above can be found in the following header files:
Anything from the Dw core in core.hh. Do not include the single files.
The single widgets can be found in the respective header files, e.g. image.hh for dw::Image.
The core of the FLTK implementation is defined in fltkcore.hh. This includes dw::fltk::FltkPlatform, dw::fltk::FltkView, but not the concrete view implementations.
A complete map can be found at Dillo Widget Documentation Map.