Engine made as a "windowless" component. This means that it works without any window (HWND) structure. Host application can create any number of instances of the engine - "virtual" HTML views. In order to "activate" HTML host may (or may not) delegate handling of user interface events to the Engine. For example host can call hsmile_handle_mouse API fucntion to allow activations of hyperlinks. Another example - painting: host can call hsmile_handle_paint to render HTML on any type of graphical surface (HDC) and at any place, e.g. host can create a "virtual list view" consisting of different HTML items - different instances of the Engine - views.

Other major feature of the Engine is its set of <INPUT> widgets. As the Engine itself is windowless as all its input controls are also windowless. All controls in the Engine are styleable through CSS. For example scrollbars defined in the "master style sheet" on per component basis as a system of CSS definitions:

scrollbar[type="vertical"] { ... }

scrollbar[type="vertical"] > .prev { ... }

scrollbar[type="vertical"] > .prev:hover { ... }

scrollbar[type="vertical"] > .prev-page { ... }

scrollbar[type="vertical"] > .thumb { ... }

scrollbar[type="vertical"] > .thumb:hover { ... }

scrollbar[type="vertical"] > .next-page { ... }

scrollbar[type="vertical"] > .next { ... }

scrollbar[type="vertical"] > .next:hover { ... }

This means that host application can tune appearance of UI in wide margins.

H-SMILE SDK contains C++ wrappers and integration samples for C++, WTL and MFC. WinForms.NET wrapper is also available as a part of the SDK. H-SMILE SDK is available here. Please pay attention that H-SMILE is in experimental phase currently.