This document provides technical information about D-Type Power Engine and describes its Application Programming Interface (API).
This section outlines the key concepts and features of D-Type Power Engine.
D-Type Power Engine is a powerful, portable, high-quality and high-performance resolution independent document construction and rendering engine. Its primary purpose is to create and render entire pages and documents in a device, resolution and platform independent manner. This includes e-books, large amounts of text, forms, charts, maps, CD and multi-media presentations, splash pages, user interface and all types of similar electronic "documents".
D-Type Power Engine is a high-level scalable graphics library featuring a rich set of 2D graphics primitives. The term scalable means that all graphics primitives (e.g. text, shapes, bitmap images) are interpreted as vectors rather than bitmaps. This allows applications to scale the output to virtually any desired size without compromising the quality. Additionally, this approach makes it possible to apply various mathematical transformations to any rendered objects, including compression, expansion, rotation, skew, perspective or any combination. Finally, the term high-level indicates that D-Type Power Engine is not just a collection of routines for drawing graphics primitives, but a technology for creating and rendering entire pages and documents in an object oriented manner.
Documents created by D-Type Power Engine can be stored on disk for later use or appended to another Power Engine document in order to create more complex documents. Documents stored on disk in D-Type Power Engine format are device, resolution and platform independent and fully portable across applications and different platforms (e.g. Windows, macOS, Linux). D-Type Power Engine API is also fully cross platform which means that applications that utilize D-Type Power Engine are usually cross platform too — they are typically written once and compiled on many different platforms without any modifications. Therefore, D-Type Power Engine is a portable document and rendering technology.
D-Type Power Engine is not a vector based drawing application or a desktop publishing application. However, D-Type Power Engine is very useful as the rendering engine in these types of applications. This is because D-Type Power Engine provides all the infrastructure necessary to build complex text and graphical objects that are typically used in vector based drawing programs and desktop publishing applications.
Also, D-Type Power Engine is not a language or technology for describing the logical structure of documents. In other words, D-Type Power Engine is not designed to directly process structural content in documents (e.g. chapters, headings, subheadings, paragraphs, lists, data tables, table of contents etc). The representation and handling of structural content, when desired, is the responsibility of your application. But once again, D-Type Power Engine provides all the infrastructure necessary to render complex structured documents quickly and efficiently and can be very suitable as the primary rendering engine in applications that process and manipulate structured documents.
D-Type Power Engine unifies text, vector and bitmap graphics in its clean, intuitive and advanced object oriented rendering model. With D-Type Power Engine documents are constructed using PowerDoc objects. PowerDoc objects are the building blocks of any document, regardless of how complex it is.
D-Type Power Engine provides applications with advanced graphics capabilities, including high quality, true color 24-bpp anti-aliased rendering with 8-bpp alpha channels, alpha-masking and blending and high quality bitmap resampling filters. D-Type Power Engine renders vector and bitmap graphics equally well.
D-Type Power Engine provides text layout and text rendering capabilities that few other products can offer. Bidirectional text with arbitrary nesting depths, support for complex scripts such as Arabic, Indic or Thai, horizontal and vertical writing direction, inline objects that can be anchored anywhere in text, advanced typographical properties and incredible text processing and rendering speed are just some of the features that D-Type Power Engine is known for.
D-Type Power Engine provides built-in infrastructure for "live" text editing. This means that D-Type Power Engine applications can easily get precise information about the position and extent of each glyph rendered on the screen, obtain an index that maps that glyph back into the input text and get some other useful information about the result of text layout operations. This then allows Power Engine applications to very easily support highlighting blocks of selected text, implement cursor movement, hit testing etc. All this functionality is made possible through the use of Frames, which are special Power Engine objects representing arbitrary quadrilaterals (i.e. 4-point polygons) enclosing every glyph rendered on the screen. Frames are described more thoroughly later in this document. The great thing about Frames is that they work reliably regardless of how complex the text is, whether it is unidirectional or bidirectional, whether it is rendered horizontally, vertically, transformed, in perspective etc.
Affine and 2D perspective transformations (i.e. a full 3x3 transform matrix) can be applied to any PowerDoc object, whether text, bitmap or vector based. This allows D-Type Power Engine applications to easily transform objects (e.g. stretch, rotate, skew) and even render them in perspective, much like 2D objects are rendered in 3D space. Of course, the text remains fully editable (via Frames) even when rendered in perspective.