1.3 Structure Overview (Synopsis)
Certain applications use the Office Drawing Binary File Format Structure to represent drawing elements and their associated formatting. Typically, these elements are represented as shapes that are contained within drawings or diagrams, but the elements can also include form controls and tables. This file format is also known as OfficeArt.
The host application stores the OfficeArt data as a series of records, many of which contain additional records. The host application, which determines where to store the OfficeArt data, can also define and store additional records—to provide the details that are needed to position the drawing elements in the host document or to render any associated text. To allow the OfficeArt records to be parsed without detailed knowledge of each record type, each record has a common header that contains the record type and additional data.
OfficeArt uses an object container hierarchy, which is illustrated by the following figure.
At the root of the hierarchy is a drawing group object. Each client document has one drawing group. A drawing group contains drawings. A drawing contains shapes, which are the objects that populate a page. Adjacent to the drawings in a drawing group is a collection that contains the binary large images or pictures (BLIPs) that are used by the drawings. OfficeArt stores pictures in a separate collection so that they can be incrementally loaded and saved and so that the duplication of picture data will be reduced.
Associated with each shape is a piece of client data that stores the anchor, text, and Object Linking and Embedding (OLE) data of the shape as well as host-specific properties. The host application specifies the format of this structure. A separate structure, called a property table, stores the properties of the shape. A property table consists of a list of identifier-value pairs, where each identifier represents a property.
Each drawing group has a shape property table that stores the defaults for new shapes.
Each drawing has a collection of rules (1) that govern the shapes in the drawing.
Note that drawings are not saved inside drawing groups but in separate, top-level containers. This scheme enables host applications to save drawing group information with per-document information and to save drawing information with per-sheet, per-slide, or per-page information.
The remainder of this section describes the Office Drawing Binary File Format Structure in more detail.