All formatting in an ODP file is held in styles. Shapes name a graphic or
presentation style, text names paragraph and text styles, and each slide names a
drawing-page style, which sets its background, its timing and the transition that
brings it on. Common styles are in office:styles in
styles.xml; automatic styles in office:automatic-styles of
content.xml or styles.xml; master slides in
office:master-styles. This page covers chapter 16 of OpenDocument 1.3
part 3 as it applies to presentations, and section 17.25 with its attributes in
chapter 20. The graphic properties of shapes are on the
graphic formatting page.
Style families in presentations
style:family | Used by | Property elements |
|---|---|---|
presentation | Presentation objects (shapes with a presentation:class), through presentation:style-name. Its paragraph and text properties apply to the shape’s paragraphs unless their own styles override them. | graphic, paragraph, text |
graphic | Other shapes and frames, through draw:style-name. | graphic, paragraph, text |
drawing-page | Slides (draw:page), master slides, notes pages and the handout master, through draw:style-name. Overrides the master slide’s background, but not its shapes. | drawing-page |
paragraph, text | Paragraphs and spans in shapes. | paragraph, text |
table, table-column, table-row, table-cell | Tables on slides. | the matching table properties |
chart | Charts (in embedded chart objects). | chart, graphic, paragraph, text |
style:style takes style:name, style:family,
style:display-name, style:parent-style-name (must exist and
not be automatic; without it the family’s default style is the parent),
style:class (a free grouping name) and style:auto-update.
A property is looked up in the named style, then its parents, then (for a paragraph
in a shape) the shape’s graphic or presentation style and its parents, then the
family’s style:default-style, then the standard’s default, else the
program decides.
Master slides
In drawings and presentations a style:master-page is the common
background of slides. Every slide names exactly one through
draw:master-page-name, and every document needs at least one.
| Attribute or child | Meaning |
|---|---|
style:name, style:display-name | Name (unique) and name shown to users. |
style:page-layout-name | A style:page-layout giving slide size, margins and orientation. |
draw:style-name | A drawing-page style with the master’s background. |
| shapes and frames | Shown on every slide using the master (unless the slide’s style turns background objects off); placeholders for title, outline, date, footer, page number and so on are shapes with a presentation:class. |
presentation:notes | The notes page layout for slides using this master. |
draw:layer-set, office:forms, anim:* | Layers, forms and animations of the master. |
The page layout’s style:page-layout-properties gives
fo:page-width, fo:page-height, the
fo:margin* attributes and style:print-orientation
(portrait or landscape), and may also carry borders,
background and a number format (style:num-format). Notes pages
(presentation:notes) name their own page layout. Presentation page layouts and placeholders are on the
slides page.
Drawing-page properties
style:drawing-page-properties applies to slides, master slides,
notes pages and the handout master. It may hold a presentation:sound
child (a sound played with the transition).
| Attribute | Values | Meaning |
|---|---|---|
draw:fill | none, solid, bitmap, gradient, hatch | Background fill. |
draw:fill-color, draw:secondary-fill-color | colour | Fill colour (also behind a hatch); second colour. |
draw:fill-gradient-name, draw:gradient-step-count | name; 0 or 3 and up | Gradient and its steps (0 automatic; 1 and 2 not allowed). |
draw:fill-hatch-name, draw:fill-hatch-solid | name; boolean | Hatch, and whether its background is filled. |
draw:fill-image-name, style:repeat, draw:fill-image-width, draw:fill-image-height, draw:fill-image-ref-point, draw:fill-image-ref-point-x, -y, draw:tile-repeat-offset | as for shapes | Background image, tiling, size and placement. |
draw:opacity, draw:opacity-name | 0%–100%; name | Background opacity or opacity gradient. |
svg:fill-rule | nonzero, evenodd | Fill rule. |
draw:background-size | full, border | Background over the whole page or only inside its borders. |
presentation:background-visible | true, false | Show the master slide’s background. |
presentation:background-objects-visible | true, false | Show the master slide’s shapes. |
presentation:display-header, presentation:display-footer, presentation:display-page-number, presentation:display-date-time | true, false | Show the master’s header, footer, slide number (class page-number) and date (class date-time) shapes. |
presentation:visibility | visible, hidden | A hidden slide is skipped in the slide show. |
presentation:duration | duration | How long the slide is shown (automatic advance). |
presentation:transition-type | manual, automatic, semi-automatic | Old style: transition and shape effects started by the user; both automatic; transition automatic, effects by the user. |
presentation:transition-style | see below | Old-style transition effect. |
presentation:transition-speed | slow, medium, fast | Speeds chosen by the program, in that order. |
smil:type, smil:subtype | see SMIL transitions | The transition, as SMIL 2.0 names it. If smil:type is present, presentation:transition-type and -style should be ignored; they are kept only for older programs. |
smil:direction | forward, reverse | Run the transition forwards or backwards. |
smil:fadeColor | colour | Colour for fade-to-colour and fade-from-colour. |
A transition may also be written as an anim:transitionFilter in the
slide’s own animation (begin id.begin, target the slide); that then
overrides the sound, speed, style and type properties here, which writers should
still give for older readers (standard, appendix F.1).
<style:style style:name="dp2" style:family="drawing-page">
<style:drawing-page-properties presentation:transition-type="automatic"
presentation:duration="PT00H00M05S" smil:type="barWipe" smil:subtype="topToBottom"
smil:direction="reverse" presentation:display-footer="true"
presentation:display-page-number="false" presentation:display-date-time="true"/>
</style:style>
Old transition styles
The 64 values of presentation:transition-style:
| Values | Effect |
|---|---|
none | No effect. |
random | An effect chosen at random. |
fade-from-left, -top, -right, -bottom, -upperleft, -upperright, -lowerleft, -lowerright | The page fades in or out towards that side or corner. |
fade-from-center, fade-to-center | Fades from or towards the centre. |
move-from-left, -top, -right, -bottom, -upperleft, -upperright, -lowerleft, -lowerright | The page moves in from that side or corner. |
uncover-to-left, -top, -right, -bottom, -upperleft, -upperright, -lowerleft, -lowerright | The page is uncovered from that side or corner. |
roll-from-left, -top, -right, -bottom | The page moves in, pushing the previous one out. |
stretch-from-left, -top, -right, -bottom | The page grows from that side. |
wavyline-from-left, -top, -right, -bottom | Small blocks drawn in a snake pattern from that side. |
vertical-stripes, horizontal-stripes | Stripes that change size. |
vertical-lines, horizontal-lines | Lines drawn in random order. |
vertical-checkerboard, horizontal-checkerboard | Checkerboard blocks growing in that direction. |
open-vertical, open-horizontal, open | Drawn line by line from the centre outwards (open: both). |
close-vertical, close-horizontal, close | Drawn line by line from the edges inwards (close: both). |
clockwise, counterclockwise | Uncovered by a sweeping clock hand. |
spiralin-left, spiralin-right | Blocks in a spiral starting at the left or right edge. |
spiralout-left, spiralout-right | Blocks in a spiral starting at the centre. |
dissolve | Small blocks at random. |
interlocking-horizontal-left, interlocking-horizontal-right | Four horizontal stripes from alternate sides, crossing in the middle. |
interlocking-vertical-top, interlocking-vertical-bottom | The same with vertical stripes. |
melt | Narrow vertical stripes slide down at random speeds. |
fly-away | The old page shrinks, turns and flies to the bottom right, revealing the new one. |
The standard’s description of stretch-from-top says “from the left”, a
slip.
SMIL transitions
ODF takes smil:type and smil:subtype from SMIL 2.0
§12.8. Each type has a default subtype (marked *); the SMPTE wipe code is in
brackets.
smil:type | smil:subtype values |
|---|---|
| Edge wipes | |
barWipe | leftToRight* (1), topToBottom (2) |
boxWipe | topLeft* (3), topRight (4), bottomRight (5), bottomLeft (6), topCenter (23), rightCenter (24), bottomCenter (25), leftCenter (26) |
fourBoxWipe | cornersIn* (7), cornersOut (8) |
barnDoorWipe | vertical* (21), horizontal (22), diagonalBottomLeft (45), diagonalTopLeft (46) |
diagonalWipe | topLeft* (41), topRight (42) |
bowTieWipe | vertical* (43), horizontal (44) |
miscDiagonalWipe | doubleBarnDoor* (47), doubleDiamond (48) |
veeWipe | down* (61), left (62), up (63), right (64) |
barnVeeWipe | down* (65), left (66), up (67), right (68) |
zigZagWipe | leftToRight* (71), topToBottom (72) |
barnZigZagWipe | vertical* (73), horizontal (74) |
| Iris wipes (shapes growing from the centre) | |
irisWipe | rectangle* (101), diamond (102) |
triangleWipe | up* (103), right (104), down (105), left (106) |
arrowHeadWipe | up* (107), right (108), down (109), left (110) |
pentagonWipe | up* (111), down (112) |
hexagonWipe | horizontal* (113), vertical (114) |
ellipseWipe | circle* (119), horizontal (120), vertical (121) |
eyeWipe | horizontal* (122), vertical (123) |
roundRectWipe | horizontal* (124), vertical (125) |
starWipe | fourPoint* (127), fivePoint (128), sixPoint (129) |
miscShapeWipe | heart* (130), keyhole (131) |
| Clock wipes (rotating about a centre) | |
clockWipe | clockwiseTwelve* (201), clockwiseThree (202), clockwiseSix (203), clockwiseNine (204) |
pinWheelWipe | twoBladeVertical* (205), twoBladeHorizontal (206), fourBlade (207) |
singleSweepWipe | clockwiseTop* (221), clockwiseRight (222), clockwiseBottom (223), clockwiseLeft (224), clockwiseTopLeft (241), counterClockwiseBottomLeft (242), clockwiseBottomRight (243), counterClockwiseTopRight (244) |
fanWipe | centerTop* (211), centerRight (212), top (231), right (232), bottom (233), left (234) |
doubleFanWipe | fanOutVertical* (213), fanOutHorizontal (214), fanInVertical (235), fanInHorizontal (236) |
doubleSweepWipe | parallelVertical* (225), parallelDiagonal (226), oppositeVertical (227), oppositeHorizontal (228), parallelDiagonalTopLeft (245), parallelDiagonalBottomLeft (246) |
saloonDoorWipe | top* (251), left (252), bottom (253), right (254) |
windshieldWipe | right* (261), up (262), vertical (263), horizontal (264) |
| Matrix wipes (squares revealed in a pattern) | |
snakeWipe | topLeftHorizontal* (301), topLeftVertical (302), topLeftDiagonal (303), topRightDiagonal (304), bottomRightDiagonal (305), bottomLeftDiagonal (306) |
spiralWipe | topLeftClockwise* (310), topRightClockwise (311), bottomRightClockwise (312), bottomLeftClockwise (313), topLeftCounterClockwise (314), topRightCounterClockwise (315), bottomRightCounterClockwise (316), bottomLeftCounterClockwise (317) |
parallelSnakesWipe | verticalTopSame* (320), verticalBottomSame (321), verticalTopLeftOpposite (322), verticalBottomLeftOpposite (323), horizontalLeftSame (324), horizontalRightSame (325), horizontalTopLeftOpposite (326), horizontalTopRightOpposite (327), diagonalBottomLeftOpposite (328), diagonalTopLeftOpposite (329) |
boxSnakesWipe | twoBoxTop* (340), twoBoxBottom (341), twoBoxLeft (342), twoBoxRight (343), fourBoxVertical (344), fourBoxHorizontal (345) |
waterfallWipe | verticalLeft* (350), verticalRight (351), horizontalLeft (352), horizontalRight (353) |
| Non-SMPTE | |
pushWipe | fromLeft*, fromTop, fromRight, fromBottom: the new slide pushes the old one away |
slideWipe | fromLeft*, fromTop, fromRight, fromBottom: the new slide slides in over the old one |
fade | crossfade*, fadeToColor, fadeFromColor (the last two are equivalent; direction comes from use): a pixel blend with the old slide or smil:fadeColor |
In ODF both attributes have the data type string; the standard points to this SMIL list for the supported values.
Gradients, hatches, images, markers and dashes
Fills and lines refer by name to elements in office:styles:
draw:gradient (draw:style = linear,
axial, radial, ellipsoid, square,
rectangular; start and end colour and intensity, angle, border, centre),
svg:linearGradient and svg:radialGradient (with
svg:stop), draw:hatch (single,
double, triple; colour, distance, rotation),
draw:fill-image, draw:opacity (a transparency gradient,
0% transparent to 100% opaque), draw:marker (an arrowhead path, drawn
pointing up and rotated to the line) and draw:stroke-dash
(rect or round dashes, two runs of dashes with lengths, and
the gap). Fill images, opacity gradients, markers and dashes cannot be automatic
styles. Their attributes are listed with the graphic properties on the
graphic
formatting page.
Source
OpenDocument Version 1.3, OASIS Standard, 27 April 2021, part 3 (schema): chapter 16, section 17.25 and attributes 20.100, 20.118–20.128, 20.137, 20.152–20.153, 20.157, 20.175, 20.231–20.245, 20.341 and 20.406, and appendix F.1. W3C SMIL 2.0 (Recommendation, 7 January 2005), chapter 12 “Transition effects”, §12.8 taxonomy tables, for the type and subtype names. All read for this page.