A typical Power Engine document consists of one or more pages. The term page is very generic and, depending on the application, can have different meanings: a page in a book, a layer, a worksheet, a computer screen or any other 2D surface.
Each page consists of one or more PowerDoc images. By definition, images are visual representations of PowerDoc objects. Typical PowerDoc objects include characters, text lines, text areas, rectangles, circles, custom shapes, gradients, tables and other primitives. Before a PowerDoc object can be drawn, an image specifying its position on the page must be created. Later, images can be moved, copied to another page, multiplied etc. However, not all PowerDoc objects have images. For example, some objects simply hold data and have no visual representation.
Every PowerDoc object has one or more properties. For example, color and transparency (pdRGBT) are the properties of the Surface object, while font (pdFontIndex) and font size (pdFontDw and pdFontDh) are the properties of the Typography object.
More complex objects are built on simpler ones. This is achieved by linking. For example, the Shadow object is built by linking to the Surface object and supplying two additional properties: pdShadowDx and pdShadowDy. Similarly, the Character object is built by linking to the Typography object and supplying an additional pdID property. In this way, an object hierarchy is established.
Once all the properties are set and the object hierarchy established, a Power Engine document can be drawn or stored on disk for later use. This is achieved by a single call to the appropriate function.
D-Type Power Engine API also allows applications to create and embed custom objects into Power Engine documents. Since these documents can be permanently saved on disk, an application can use the Power Engine file format to store its own data.