Programming in XPCE/Prolog: Section 1.5

## 1.5 Look-and-feel

XPCE is not implemented on top of a standard UI library such as Motif, OpenWindows, or Win32. Instead, it is built on top of its own VWS defining primitives to create and manipulate windows, draw primitives such as lines, circles, text and handle user-events.

As a consequence, XPCE programs are fully compatible over the available platforms, except that some (almost exclusively obscure) features may have a different or have no effect on some implementations.

The implementation of all of XPCE on top of its primitive graphicals guarantees there are no platform-specific limitations in the manipulation and semantics of certain controllers. XPCE defines the look-and-feel for each of the controllers. As a consequence, XPCE controllers may not behave exactly the same as controllers of other applications in the same windowing environment.

All good things come at a price-tag and portability based on a virtual environment is no exception to this rule. XPCE builds high-level controllers (called dialog-items in its jargon) on top of the virtual machine and therefore bypasses the graphical libraries of the hosting system. The same technique is used by many other portable GUI toolkits, among which Java.

The visual feedback (look) and to some extend the reactions to user actions (feel) of the XPCE controllers is determined by XPCE's defaults file, located in `<pcehome>/Defaults`. See section 8.