What are functions?
Certain properties of elements within the document can be defined as a function or formula. This function can refer to other elements properties and variable values.
...
Properties (to reference of)
The following These properties can be referenced on frame and page level:used from the page, frame, inline frame or tagged paragraph which is referenced by the tag of the frame.
X | The X position of the referenced rotated frame (note reference point) (or 0 for page) |
Y | The Y position of the referenced rotated frame (note reference point) (or 0 for page) |
Top | The Y value of the top of the referenced rotated frame (or 0 for page) |
Bottom | The Y value of the bottom of the referenced rotated frame or page height |
Left | The X value of the left of the referenced rotated frame (or 0 for page) |
Right | The X value of the right of the referenced rotated frame or page widthCenterX |
CenterY | The Y value of the center of the referenced rotated frame or page | CenterY
CenterX | The X value of the center of the referenced rotated frame or page |
Width | The width of the referenced frame or page (note value is scaled) |
NonScaledWidth | The non scaled width of the referenced frame |
Height | The height of the referenced frame or page (note value is scaled) |
NonScaledHeight | The non scaled height of the referenced frame |
Rotation | Rotation of the frame (note doesn't exist on inline frames) |
ScaleX | X Scale of the frame |
ScaleY | Y Scale of the frame |
Examples
- page.width
- frametag.height
...
- frametag.paragraphtag.centerX
Variables
It is possible to use variables in the calculation, but only variables of type number or coordinate. For now, only the value of the variable can be referenced. No other meta information.
"variable.value" or "variable" will both resolve to the actual value of the variable.
In case a variable has the same name as a frame tag, this property being used will indicate if the user intends to use the variable value or the frame property. (there is no "value" property on frames and no width, height, etc on a variable)
If page.property is used in a calculated value, it will always refer to the page in the document, never to a frame with tag "page".
Functions within the calculation
Following additional functions are available for application in the calculations
MinMax(min, max, input) | Clamps a given value between a minimum and maximum value. E.g. MinMax(300,700, addwidth) When the width of the add is lower than 300, the function will return 300. |
ClampMin(min, input) | If the input value is less than the minimum, return the minimum value otherwise return the input value |
ClampMax(max, input) | If the input value is greater than the maximum, return the maximum value otherwise return the input value |
...
Units (millimeters, inches, points, pixels) can be used within a function.
If no unit is are specified the Dynamic layout engine will assume the value is in points. Multiple units can be used within a single function.
...