Shapes and frames on slides (see shapes,
frames and 3D) take their look from a style of family graphic, and
presentation objects from a style of family presentation; both hold
style:graphic-properties. Its children are
style:background-image, style:columns (columns in a text
box) and text:list-style (a list style for text in the shape). It also
takes the borders (fo:border, -top, -bottom,
-left, -right, with style:border-line-width*
for double lines: inner width, gap, outer width), padding (fo:padding*),
margins (fo:margin*), style:shadow and
fo:background-color attributes. This page lists every attribute, from
OpenDocument 1.3 part 3, section 17.21 and chapter 20. The position, anchoring and
wrap attributes matter only when the same style is used in a text document. Several
attributes may be used only in automatic styles; that is noted.
Position and anchoring
| Attribute | Values | Meaning |
|---|---|---|
text:anchor-type, text:anchor-page-number | as on the frame element | Default anchor; the element’s own attribute wins. |
style:horizontal-pos | left, center, right, from-left, inside, outside, from-inside | Horizontal alignment against the area named by style:horizontal-rel. from-left: svg:x from the area’s left edge; from-inside: from the left edge on odd pages and the right edge on even pages; inside: like left on odd pages and right on even; outside: the reverse. For other values svg:x is ignored in text documents. Any value may be used with every anchor except as-char. |
style:horizontal-rel | page, page-content, page-start-margin, page-end-margin, frame, frame-content, frame-start-margin, frame-end-margin, paragraph, paragraph-content, paragraph-start-margin, paragraph-end-margin, char | The area. A start margin is the left margin, except the right one on even pages with from-inside, inside or outside; an end margin is the opposite one. Allowed by anchor: page anchor: the four page values; frame: the four frame values; paragraph: page and paragraph values; char: page, paragraph and char values; as-char: none. |
style:vertical-pos | top, middle, bottom, from-top, below | Vertical alignment against the area named by style:vertical-rel; from-top uses svg:y (otherwise ignored in text documents); below puts the frame’s top just below the area. |
style:vertical-rel | page, page-content, frame, frame-content, paragraph, paragraph-content, char, line, baseline, text | The area. Allowed by anchor: page: page values; frame: frame values; paragraph: page and paragraph values; char: page, paragraph and char; as-char: baseline, char, line, text. |
svg:x, svg:y, svg:width, svg:height | coordinate, length | Default position and size for new frames made with this style. |
fo:min-width, fo:min-height, fo:max-width, fo:max-height | length or percent | Default minimum and maximum sizes for new frames. |
style:rel-width, style:rel-height | percent, scale, scale-min | Relative size, as on the frame. |
style:flow-with-text | true, false | true: the shape stays inside its layout area (body text, header, footer, footnote, endnote, table cell or frame, whichever most closely holds its anchor), moving on with the text to the next area when pushed forward, and pulled back to the area’s start if it would leave it backwards; in cells and frames it is also kept inside sideways, resized if needed. false: anywhere on the anchor’s page. Not used for as-char or page anchors. |
draw:wrap-influence-on-position | iterative, once-concurrent, once-successive | A hint for placing several wrapped frames that push each other’s anchors: place repeatedly until every offset is met; place all at once; or one after the other. |
style:protect | none or a list of content, position, size | What the user may not change. |
style:editable | true, false | A text box may be edited in a read-only document. |
style:print-content | true, false | Print the frame’s content. |
style:writing-mode | as for paragraphs, plus page | Column order in a text box; page takes it from the page (page anchors) or the containing paragraph (other anchors). |
Text wrap
| Attribute | Values | Meaning |
|---|---|---|
style:wrap | none, left, right, parallel, dynamic, run-through, biggest | No wrap; text on the left only; on the right only; on both sides; both sides, as far as style:wrap-dynamic-threshold allows; text runs through the frame; on the side with more room. |
style:wrap-dynamic-threshold | non-negative length | For dynamic: the least gap to the page or column edge at which text still wraps. |
style:run-through | foreground (default), background | With run-through: the frame is in front of or behind the text. |
style:wrap-contour | true, false | Wrap round the object’s contour rather than its box. |
style:wrap-contour-mode | full, outside | Contour wrap fills gaps in the shape, or keeps to its outer left and right edges. |
style:number-wrapped-paragraphs | no-limit or positive integer | How many paragraphs may wrap round a paragraph- or character-anchored frame (with left, right, parallel or dynamic wrap). |
Fill and transparency
These also apply to drawing pages (backgrounds in drawings and presentations). A
draw:fill in a style switches off fo:background-color and
the background image.
| Attribute | Values | Meaning |
|---|---|---|
draw:fill | none, solid, bitmap, gradient, hatch | Fill type. Open shapes are never filled. |
draw:fill-color | colour | For solid, and the background of a hatch. |
draw:secondary-fill-color | colour | A second fill colour, such as for extrusions. |
draw:fill-gradient-name | name | A draw:gradient or SVG gradient (see below). |
draw:gradient-step-count | 0, or 3 and up | 0: steps worked out from size and resolution; 1 and 2 not allowed; 3 or more: that many steps. |
draw:fill-hatch-name | name | A draw:hatch. |
draw:fill-hatch-solid | true, false | Hatch background filled with draw:fill-color, or transparent. |
draw:fill-image-name | name | A draw:fill-image. |
style:repeat | repeat, no-repeat, stretch | Tile, place once, or stretch the image. |
draw:fill-image-width, draw:fill-image-height | length or percent | Size of the image (ignored for stretch). |
draw:fill-image-ref-point | top-left, top, top-right, left, center, right, bottom-left, bottom, bottom-right | Where tiling starts (only for repeat). |
draw:fill-image-ref-point-x, -y | percent | Then shift by this percentage of the image width (the standard says width for both). |
draw:tile-repeat-offset | percent and horizontal or vertical | Offset of each row or column of tiles from the previous one. |
svg:fill-rule | nonzero, evenodd | Which areas of a self-crossing path are inside (SVG §11.3). |
draw:opacity | 0% to 100% | Opacity of the fill (0% transparent). |
draw:opacity-name | name | A draw:opacity gradient; overrides draw:opacity, applied after the fill. |
style:background-transparency | 0% to 100% | Transparency of the background colour. |
Line and markers
| Attribute | Values | Meaning |
|---|---|---|
draw:stroke | none, solid, dash | Line type; dash uses draw:stroke-dash. |
draw:stroke-dash | name | A draw:stroke-dash style. |
draw:stroke-dash-names | list of names | More dash styles, each drawn on top. |
svg:stroke-width | length | Line width. |
svg:stroke-color | colour | Line colour. |
svg:stroke-opacity | 0 to 1, or 0% to 100% | Line opacity. |
draw:stroke-linejoin | miter, round, bevel, middle (deprecated), none | Corner shape (SVG §11.4). |
svg:stroke-linecap | butt, square, round | End shape of open paths, and of each dash; when given, the dash style’s draw:style is ignored and dash lengths exclude the caps. |
draw:marker-start, draw:marker-end | name | A draw:marker at the start or end. |
draw:marker-start-width, draw:marker-end-width | length | Marker width. |
draw:marker-start-center, draw:marker-end-center | true, false | Centre the marker on the line’s end. |
Shadow
| Attribute | Values | Meaning |
|---|---|---|
draw:shadow | visible, hidden | Show a shadow: a copy of the shape in one colour behind it. |
draw:shadow-offset-x, draw:shadow-offset-y | length | Offset of the shadow. |
draw:shadow-color | colour | Shadow colour. |
draw:shadow-opacity | percent | Shadow opacity. |
Image adjustments
| Attribute | Values | Meaning |
|---|---|---|
draw:color-mode | standard, greyscale, mono, watermark | Unchanged; intensity only; black and white; faded. |
draw:luminance, draw:contrast | signed percent | Brightness and contrast. |
draw:gamma | percent | Output gamma. |
draw:red, draw:green, draw:blue | −100% to +100% | Offsets added to each channel, scaled to ±2bits and clamped: 50% on an 8-bit channel adds 128. |
draw:image-opacity | percent | Image opacity. |
draw:color-inversion | true, false | Invert colours (each channel becomes FF minus its value). |
style:mirror | none, vertical, horizontal, horizontal-on-odd, horizontal-on-even, or vertical with one horizontal value | Flip the image, horizontally on all, odd or even pages. |
fo:clip | auto or a clip shape | Crop (XSL §7.20.1; em and px not allowed). |
draw:draw-aspect | content, thumbnail, icon, print-view | How an embedded object is shown. draw:ole-draw-aspect is the deprecated OLE form. |
draw:visible-area-left, -top, -width, -height | length | The part of an object shown (0, 0 and its full size when all is shown); automatic styles only. Whether these or the object itself record it is up to the program. |
Text in shapes and text boxes
| Attribute | Values | Meaning |
|---|---|---|
draw:textarea-horizontal-align | left, center, right, justify | Where the text area sits across the shape. |
draw:textarea-vertical-align | top, middle, bottom, justify | Where it sits down the shape. |
draw:auto-grow-width, draw:auto-grow-height | true, false | Text boxes grow with their text; with both, grow along the text direction first. |
draw:fit-to-size | true, false | Stretch the text to fill the shape. |
draw:fit-to-contour | true, false | Stretch the text to fill the shape’s contour. |
style:overflow-behavior | clip, auto-create-new-frame | Text that does not fit is hidden, or flows into a new frame of the same size and place on the next page (after the box has grown as far as the page allows). |
fo:wrap-option | wrap, no-wrap | Wrap the text. |
style:shrink-to-fit | true, false | Reduce the font size so the text fits. |
draw:symbol-color | colour | Colour for symbols in the object. |
text:animation | none, scroll, alternate, slide | Moving text: scroll across; back and forth; scroll in and stop. |
text:animation-direction | left, right, up, down | Direction. |
text:animation-start-inside, text:animation-stop-inside | true, false | Start and stop inside the shape or just outside it. |
text:animation-delay | duration | Delay before starting. |
text:animation-repeat | non-negative integer | Repeats; 0 is for ever. |
text:animation-steps | length | Distance moved per step. |
Captions, measures and connectors
| Attribute | Values | Meaning |
|---|---|---|
draw:caption-type | straight-line, angled-line, angled-connector-line | Caption line shape: perpendicular to the leaving direction; straight to the point; a line in the leaving direction, then one to the point. |
draw:caption-angle-type, draw:caption-angle | fixed or free; angle | Leaving angle fixed to draw:caption-angle, or chosen by the program. |
draw:caption-escape-direction | horizontal, vertical, auto | Leaving direction. |
draw:caption-escape | length or percent | Where the line meets the text area, from its top left. |
draw:caption-gap | length | Gap between text area and line. |
draw:caption-fit-line-length, draw:caption-line-length | boolean; length | Let the program choose the first line’s length, or fix it. |
draw:line-distance | length | Measure: gap between the reference line and the dimension line. |
draw:guide-distance, draw:guide-overhang | length | Measure: where the extension lines start, and how far they pass the dimension line. |
draw:start-guide, draw:end-guide | length | Measure: lengthen each extension line towards its reference point. |
draw:placing | below, above | Measure line below or above the reference edge. |
draw:parallel | true, false | Measure text parallel or perpendicular to the line. |
draw:measure-align | automatic, left-outside, inside, right-outside | Measure text position along the line. |
draw:measure-vertical-align | automatic, above, below, center | Measure text position across the line. |
draw:unit | automatic, mm, cm, m, km, pt, pc, inch, ft, mi | Unit shown in the measure text. |
draw:show-unit | true, false | Show the unit. |
draw:decimal-places | integer | Decimals in the measure text. |
draw:start-line-spacing-horizontal, -vertical, draw:end-line-spacing-horizontal, -vertical | length | Connectors: lengthen the line leaving the start or end shape (standard connectors), or its absolute length (lines connectors); ignored for others. |
3D objects
| Attribute | Values | Meaning |
|---|---|---|
dr3d:ambient-color, dr3d:diffuse-color, dr3d:emissive-color, dr3d:specular-color | colour | The four colours of the material. |
dr3d:shininess | percent | Shine of the material. |
dr3d:shadow | visible, hidden | 3D shadow. |
dr3d:lighting-mode | standard, double-sided | Show one side of each plane (by dr3d:normals-direction) or both. |
dr3d:normals-direction | normal, inverse | Show front sides or back sides. |
dr3d:normals-kind | object, flat, sphere | Normals: the object’s own, one per flat part, or as if a sphere. |
dr3d:backface-culling | enabled, disabled | Back-face culling. |
dr3d:texture-kind | luminance, intensity, color | What the texture changes. |
dr3d:texture-mode | replace, modulate, blend | How the texture combines with the object colour. |
dr3d:texture-filter | enabled, disabled | Texture filtering. |
dr3d:texture-generation-mode-x, -y | object, parallel, sphere | Texture projection: the object’s standard one, flat parallel, or wrapped. |
dr3d:horizontal-segments, dr3d:vertical-segments | integer | Segments used to build generated geometry (programs typically support 2 to 256). |
dr3d:edge-rounding | percent | Size of the rounded edge area. |
dr3d:edge-rounding-mode | correct, attractive | How rounded edges are built: inner face scaled down from its centre; or points moved along the combined normals. |
dr3d:depth | length | Extrusion depth. |
dr3d:back-scale | percent | Size of the back relative to the front, for extrusions and rotations. |
dr3d:end-angle | angle, default 360° | Rotation objects: 360° is closed; less is an open segment; more is several turns (visible only when back-scale is not 100%). |
dr3d:close-front, dr3d:close-back | true, false | Build front and back faces of closed extrusions and rotations. |
Floating frames
Automatic styles only: draw:frame-display-border (true,
false), draw:frame-display-scrollbar (true,
false), and draw:frame-margin-horizontal,
draw:frame-margin-vertical (gap between border and content, in pixels;
default if missing).
Gradients, hatches, images, markers and dashes
The fill and line attributes above refer by draw:name to these
elements in office:styles; each also has draw:display-name.
Fill images, opacity gradients, markers and dash styles cannot be automatic
styles.
| Element | Attributes and values |
|---|---|
draw:gradient | draw:style = linear (colours blend along an axis at draw:angle, clockwise from vertical), axial (linear, mirrored about its axis), radial (circle round draw:cx, draw:cy), ellipsoid, square, rectangular (described as rectangle in the standard); draw:start-color, draw:end-color; draw:start-intensity, draw:end-intensity (0% to 100%, default 100%); draw:border (percentage filled with solid start colour, end colour for axial); draw:angle (ignored for radial). Outside a radial, ellipsoid, square or rectangular gradient the end colour is used. |
svg:linearGradient, svg:radialGradient | Must have draw:name; only svg:gradientTransform, svg:x1, svg:y1, svg:x2, svg:y2 (linear) or svg:cx, svg:cy, svg:r (default 50%), svg:fx, svg:fy (radial) and svg:spreadMethod (pad default, reflect, repeat) are used; svg:gradientUnits is always objectBoundingBox; children svg:stop with svg:offset, svg:stop-color, svg:stop-opacity. Not usable as opacity gradients. |
draw:hatch | draw:style = single, double (plus perpendicular lines), triple (plus lines at 45° clockwise); draw:color; draw:distance; draw:rotation (clockwise from vertical). |
draw:fill-image | xlink:href (or office:binary-data, only outside a package); svg:width, svg:height (estimates; the image’s own size wins). |
draw:opacity | draw:style (as for gradients), draw:start, draw:end (0% transparent to 100% opaque), draw:angle, draw:border, draw:cx, draw:cy. |
draw:marker | svg:viewBox and svg:d, the shape pointing up. Scaled to the marker width keeping proportions, centred, placed at offset 0.5 when draw:marker-start-center/-end-center is true and 0.3 when false, rotated to the line’s direction and drawn at its end. |
draw:stroke-dash | draw:style = rect or round (ignored when svg:stroke-linecap is set); draw:dots1, draw:dots1-length, draw:dots2, draw:dots2-length, draw:distance; lengths may be percentages of the line width. |
Source
OpenDocument Version 1.3, OASIS Standard, 27 April 2021, part 3 (schema), sections
16.42 and 17.21 and the draw:, dr3d:, style:,
svg:, fo: and text: attributes of
style:graphic-properties in chapter 20 (including Tables 19, 20 and 23,
position and relation values by anchor); read in full for this page. Chart properties
(style:chart-properties, 17.22 to 17.24) apply to charts, which are
separate embedded objects, and are not covered here.