Index

PowerDoc Objects

Row Boundary

Overview

This object represents a row boundary.

Designated Rendering Function: NONE

pdBodyPtr (1013)

Also appears in: Typography (For Outline Fonts), Typographic Frame, Library Shape, Rectangle, Circle/Ellipse, True Circle/Ellipse, Slice, Pattern, Grid, Custom Shape or Polygon, Gradient, Gradient (As Fast Rectangle)

Link to the Surface Definition object.

This link supplies style attributes for the body of an object. Style attributes include color, transparency, pattern fills, special effects (e.g. blur, emboss, pattern fill) etc.

pdOutlinePtr (1014)

Also appears in: Typography (For Outline Fonts), Typographic Frame, Library Shape, Rectangle, Circle/Ellipse, True Circle/Ellipse, Slice, Grid, Custom Shape or Polygon

Link to the Outline Definition object.

This link supplies parameters necessary to render the outline of an object.

pdShadowPtr (1016)

Also appears in: Typography (For Outline Fonts), Baseline, Typographic Frame, Library Polyline, Library Shape, Line, Rectangle, Circle/Ellipse, True Circle/Ellipse, Slice, Arc, Grid, Custom Shape or Polygon, Polyline (also Bezier and B-Spline curve)

Link to the Shadow Definition object.

Used to render the shadow of a line, shape or some other object.

Properties

pdMarginTop (1174)   PD_LONG_SIGNED

Top margin, in document units. Positive values mean "inside", negative values mean "outside".

Sample values:

"100" = Top margin of 100 document units

pdMarginBottom (1175)   PD_LONG_SIGNED

Bottom margin, in document units. Positive values mean "inside", negative values mean "outside".

Sample values:

"100" = Bottom margin of 100 document units

pdMarginLeft (1159)   PD_LONG_SIGNED

Also appears in: Text Ruler (Horizontal), Baseline

Left margin, in document units. Positive values mean "inside", negative values mean "outside".

Sample values:

"100" = Left margin of 100 document units

pdMarginRight (1160)   PD_LONG_SIGNED

Also appears in: Text Ruler (Horizontal), Baseline

Right margin, in document units. Positive values mean "inside", negative values mean "outside".

Sample values:

"100" = Right margin of 100 document units

pdRoundX (1033)   PD_WORD_UNSIGNED

Also appears in: Rectangle

Roundness of rectangle's corners in percentages in X direction if pdRoundY is positive, otherwise in both X and Y directions.

This value of this property must be between 0 and 100. If zero, the corners will be flat.

Sample values:

50 = 50% roundness
35 = 35% roundness

pdRoundY (1180)   PD_WORD_UNSIGNED

Also appears in: Rectangle

Roundness of rectangle's corners in percentages in Y direction. This property has effect only when pdRoundX is positive.

This value of this property must be between 0 and 100. If zero, only pdRoundX will have effect in both X and Y directions.

Sample values:

50 = 50% roundness
35 = 35% roundness

pdMerge (1176)   PD_BYTE_UNSIGNED

A flag that specifies whether consecutive text row boundaries should merge.

Supported values:

0 = Don't merge
1 = Merge

Example

C/C++

DT_ID_SLONG obj[6];

obj[0] = pdObjAdd(pd, 0, "Row Boundary Outline Style");
obj[1] = pdObjAdd(pd, 0, "Row Boundary Body Style");
obj[2] = pdObjAdd(pd, 0, "Row Boundary Shadow Style");
obj[3] = pdObjAdd(pd, 0, "Row Boundary Outline");
obj[4] = pdObjAdd(pd, 0, "Row Boundary Shadow");
obj[5] = pdObjAdd(pd, 0, "Row Boundary");

/* Properties for object 0 */
pdPropAdd(pd, obj[0], pdRGBT, "50641400", PD_HEX);

/* Properties for object 1 */
pdPropAdd(pd, obj[1], pdRGBT, "B4961400", PD_HEX);

/* Properties for object 2 */
pdPropAdd(pd, obj[2], pdRGBT, "80808078", PD_HEX);

/* Properties for object 3 */
pdLinkAdd(pd, obj[3], pdStylePtr, obj[0]);
pdPropAdd(pd, obj[3], pdLineThickness, "240", PD_WORD_SIGNED);

/* Properties for object 4 */
pdLinkAdd(pd, obj[4], pdStylePtr, obj[2]);
pdPropAdd(pd, obj[4], pdShadowDx, "5", PD_WORD_SIGNED);
pdPropAdd(pd, obj[4], pdShadowDy, "5", PD_WORD_SIGNED);

/* Properties for object 5 */
pdLinkAdd(pd, obj[5], pdBodyPtr, obj[1]);
pdLinkAdd(pd, obj[5], pdOutlinePtr, obj[3]);
pdLinkAdd(pd, obj[5], pdShadowPtr, obj[4]);
pdPropAdd(pd, obj[5], pdMarginLeft, "-200", PD_LONG_SIGNED);
pdPropAdd(pd, obj[5], pdMarginRight, "-200", PD_LONG_SIGNED);
pdPropAdd(pd, obj[5], pdMarginTop, "-100", PD_LONG_SIGNED);
pdPropAdd(pd, obj[5], pdMarginBottom, "-100", PD_LONG_SIGNED);
pdPropAdd(pd, obj[5], pdRound, "50", PD_WORD_UNSIGNED);
pdPropAdd(pd, obj[5], pdMerge, "1", PD_BYTE_UNSIGNED);

INTEGRAL DSL

/* Lambda shortcuts */

local o = @(label = "") CDTObj(::my.doc, label); /* to make object */
local p = @(id, str, len = PD_DEFAULT) CDTProp(id, str, len); /* to add property - general */
local s = @(id, str) CDTPropStr(id, str); /* to add property - string */
local i = @(id, num) CDTPropInt(id, num); /* to add property - integer */
local l = @(id, obj) CDTLink(id, obj); /* to add link */

/* Objects */

local obj_0 = o("Row Boundary Outline Style");
local obj_1 = o("Row Boundary Body Style");
local obj_2 = o("Row Boundary Shadow Style");
local obj_3 = o("Row Boundary Outline");
local obj_4 = o("Row Boundary Shadow");
local obj_5 = o("Row Boundary");

/* Object Properties */

obj_0 + s(pdRGBT, "50641400");

obj_1 + s(pdRGBT, "B4961400");

obj_2 + s(pdRGBT, "80808078");

obj_3 + l(pdStylePtr, obj_0);
obj_3 + i(pdLineThickness, 240);

obj_4 + l(pdStylePtr, obj_2);
obj_4 + i(pdShadowDx, 5);
obj_4 + i(pdShadowDy, 5);

obj_5 + l(pdBodyPtr, obj_1);
obj_5 + l(pdOutlinePtr, obj_3);
obj_5 + l(pdShadowPtr, obj_4);
obj_5 + i(pdMarginLeft, -200);
obj_5 + i(pdMarginRight, -200);
obj_5 + i(pdMarginTop, -100);
obj_5 + i(pdMarginBottom, -100);
obj_5 + i(pdRound, 50);
obj_5 + i(pdMerge, 1);
 

Index