Within their container (parent object or document body), render objects by default are placed according to the stacking rules, determined by the value of the Stacking property of the container (document for top-level objects). This value can be one of the following  StackingRulesEnum enumeration members:

      BlockTopToBottom

Objects are placed one beneath the other within the container. When the bottom edge of the current page is reached, a new page is added. This is the default.

      BlockLeftToRight

Objects are placed one next to another, from left to right. When the right edge of the current page is reached, a new "horizontal" page is added (a horizontal page logically extends the preceding page to the right; C1PreviewPane respects this location by default, showing such pages arranged in a row).

      InlineLeftToRight

Objects are placed inline, one next to another, from left to right. When the right edge of the current page is reached, the sequence wraps to the next line. A new page is added when the bottom of the current page is reached.

Stacking rules do not propagate down into the contained objects (children). In other words, if you define a render area and set its stacking to the (non-default) value BlockLeftToRight, and then add another render area inside the first one – its stacking will be the default (BlockTopToBottom) unless you explicitly change it.

You may also use the X and Y properties of a render object to set its position explicitly (see the next section for details). In this case that render object does not participate in the stacking order at all – that is, its position neither affects the positioning of its siblings nor is affected by their positions.


Send comments about this topic to ComponentOne.
Copyright © ComponentOne LLC. All rights reserved.