Top Banner
Slides and a whole bunch more …
52
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PresentationML Subject: Slides

Slides

and a whole bunch more …

Page 2: PresentationML Subject: Slides

Sample Slide

Page 3: PresentationML Subject: Slides

Sample Slide

1

2

3

4

5

Page 4: PresentationML Subject: Slides

Sample Slide

1

2

3

4

5

spTree

nvGrpSpPr grpSpPr

sp sp

sp sp

sp

Page 5: PresentationML Subject: Slides

Sample Slide

1

2

3

4

5

spTree

nvGrpSpPr grpSpPr

sp sp

pic pic

sp

Page 6: PresentationML Subject: Slides

Sample Slide

1

2

3

4

5

spTree

nvGrpSpPr grpSpPr

sp sp

pic pic

sp

nvSpPr spPr

style txBody

nvSpPr spPr

style txBody

nvPicPr blipFill

spPr style

nvPicPr blipFill

spPr style

nvSpPr spPr

style txBody

xfrm geo

fillPr linePr

effectPr scene3D

sp3D bwMode

xfrm geo

fillPr linePr

effectPr scene3D

sp3D bwMode

xfrm geo

fillPr linePr

effectPr scene3D

sp#3D bwMode

xfrm geo

fillPr linePr

effectPr scene3D

sp3D bwMode

xfrm geo

fillPr linePr

effectPr scene3D

sp3D bwMode

Page 7: PresentationML Subject: Slides

Presentation

Handout Master Slide Master Notes Master

Slide Layout

Slide Notes Slide

Different “flavors” of slides

Page 8: PresentationML Subject: Slides

Comparisons of Slide “Flavors”Common

DataTransitio

nTiming Headers

& Footers

Matching Name

Layout Type

Preserve Layout List

Text Style

Slide X X X XSlide Layout X X X X X X XSlide Master X X X X X X XHandout Master X XNotes Master X XNotes Slide X X

Page 9: PresentationML Subject: Slides

Common Slide Data

• Background• Shape Tree

• Tag List• Controls• Name

Page 10: PresentationML Subject: Slides

Masters

Page 11: PresentationML Subject: Slides

Masters

• Stored as separate parts ( one part per master ) in the package

• Serve to create consistency and expedite editing

Page 12: PresentationML Subject: Slides

Visual Walkthrough ofMaster “Flavors”

Slide Master

Handout Master

Notes Master

Page 13: PresentationML Subject: Slides

Slide Master

Page 14: PresentationML Subject: Slides

Notes MasterHandout Master

Page 15: PresentationML Subject: Slides

Master Text Styles

• Title• Body• Notes• Other

Page 16: PresentationML Subject: Slides

Masters and Layouts

• Masters contain layouts– Each master is “primed” with a set of default

layouts– Layouts “contained” by relationship IDs

Page 17: PresentationML Subject: Slides

Layouts

Page 18: PresentationML Subject: Slides

Layouts ( pre-12 )

• Originally hard-coded mappings of placeholders on a slide surface– Determine location and types

of placeholders per slide– Approx 3 dozen in shipped

PPT versions

Page 19: PresentationML Subject: Slides

• Title• Text• Two Column Text• Table• Text and Chart• Chart and Text• Diagram• Chart• Text and ClipArt• ClipArt and Text• Title Only• Blank• Text and Object• Object and Text• Object Only• Object

• Text and Media• Media and Text• Object over Text• Text over Object• Text and Two Objects• Two Objects and Text• Two Objects over Text• Four Objects• Vertical Text• ClipArt and Vertical Text• Vertical Title and Text• Vertical Title and Text over Chart• Two Objects• Object and Two Objects• Two Objects and Object

Layout Types

Page 20: PresentationML Subject: Slides

Layouts and Masters

• Title Placeholder information inherited from Slide Master

• Other “content” placeholders projected into Body Placeholder

Page 21: PresentationML Subject: Slides

True Layouts ( 12 )

• Now they are full-blown slides– Authors can create completely custom layouts– Smaller set is hard-coded for defaulting but

everything is editable– Stored as separate parts ( one part per

layout ) in the package• Title Masters now are Title Layouts

Page 22: PresentationML Subject: Slides

Layout Inheritance

• Continue to sit between slide master and slide• Each placeholder is a shape and can be edited

as such• Each placeholder now inherits from the slide

master by default– Title Placeholders inherit from Master Title

Placeholder– “Content” Placeholder inherit from Master Body

Placeholder ( excluding transforms )

Page 23: PresentationML Subject: Slides

Placeholders

Page 24: PresentationML Subject: Slides

Placeholders

• Serve four purposes– Prime slide surface– Encourage consistent formatting and

positioning– Act as entry points to functionality– Facilitate layout changes and template

applications• Primary means to opt-into cross-surface

inheritance

Page 25: PresentationML Subject: Slides

Placeholders

• Specialized instances of shapes done in client data– They are actual shapes on the slide surface– Placeholders cannot be grouped

Page 26: PresentationML Subject: Slides

Placeholder Types

Title Body Center Title

Sub-Title

Date / Time

Slide Num.

Footer Header Object Chart Table ClipArt Dgm Media Slide Image

Picture

Slide

X X X X X X X X X X X X X X

Slide Layout

X X X X X X X X X X X X X X

Slide Master

X X X X X

Notes Slide

X X X X X X

Notes Master

X X X X X X

Hand’t Master

X X X X

Page 27: PresentationML Subject: Slides

Placeholder Size

• Some Placeholders are projected into Body Placeholder of the previous surface

• Size is a function of Body Placeholder size:– Full– Half– Quarter

Full Half Quarter

Page 28: PresentationML Subject: Slides

Placeholders

• Placeholders generally contain properties not content ( except for text )– Text not rendered on slides but is rendered on

masters and layouts• Instantiation of Placeholders “replaces”

with a new shape ( except for pictures )

Page 29: PresentationML Subject: Slides

Inheritance

• In general– The absence of data

implies inheritance– The absence of a

piece of data all the way through the model uses internal defaults ( where possible )

Slide Master

Slide Layout

Slide

Page 30: PresentationML Subject: Slides

Inheritance Example #1

Consider the Body Placeholder defined at the Slide Master level

Page 31: PresentationML Subject: Slides

Slide Master Slide Layout SlideN

EW

STA

TE

OLD

STA

TE

Page 32: PresentationML Subject: Slides

Inheritance Example #1

Now let’s move and resize the Body Placeholder on the Slide

Layout …

Page 33: PresentationML Subject: Slides

Slide Master Slide Layout SlideN

EW

STA

TE

OLD

STA

TE

Page 34: PresentationML Subject: Slides

Inheritance Example #1

And now we will change the shape type of the Body Placeholder on the

Slide to an octagon

Page 35: PresentationML Subject: Slides

Slide Master Slide Layout SlideN

EW

STA

TE

OLD

STA

TE

Page 36: PresentationML Subject: Slides

Inheritance Example #2

Consider the Body Placeholder defined at the Slide Master level

Page 37: PresentationML Subject: Slides

Slide Master Slide Layout SlideN

EW

STA

TE

OLD

STA

TE

Page 38: PresentationML Subject: Slides

Inheritance Example #2

Let’s make the Body Placeholder on the Slide Layout have a red

line color

Page 39: PresentationML Subject: Slides

Slide Master Slide Layout SlideN

EW

STA

TE

OLD

STA

TE

Page 40: PresentationML Subject: Slides

Inheritance Example #2

Now we can delete the Body Placeholder on the Slide Layout

Page 41: PresentationML Subject: Slides

Slide Master Slide Layout SlideN

EW

STA

TE

OLD

STA

TE

Page 42: PresentationML Subject: Slides

Inheritance Example #2

Let’s add a new Body Placeholder to the Slide Layout

Page 43: PresentationML Subject: Slides

Slide Master Slide Layout Slide

Note. The shape ( and ID ) won’t be the same as it was before deletion … I just hit a

bug in the build …

NE

W S

TAT

EO

LD S

TAT

E

Page 44: PresentationML Subject: Slides

“Headers and Footers”

• Special set of placeholders– Header– Footer– Date / Time– Slide Number

• All implemented using placeholders as containing shape– Static variants resolve and flatten immediately– Dynamic variants use field codes to resolve

Page 45: PresentationML Subject: Slides

Fields

• Types specified by client• Referenced via GUID ( one GUID / field code )• No caching of last value• No intra-field editing

Page 46: PresentationML Subject: Slides

Field Types

• slidenum• datetime• datetime1• datetime2• datetime3• datetime4• datetime5• datetime6

• datetime7• datetime8• datetime9• datetime10• datetime11• datetime12• datetime13

Page 47: PresentationML Subject: Slides

Two Importance User Scenarios

Page 48: PresentationML Subject: Slides

Apply Layout

• Scenario: Switching layouts within a master

• Problem: Need to “match” placeholders

Page 49: PresentationML Subject: Slides

Apply Layout Algorithm

• Match on Placeholder function– For example, Title Title and Date/Time Date/Time– “Headers and Footers” will float if no match exists

here• Match on exact Placeholder type

– For example, Media Media and Body Body• Match on ability to consume

– For example, Text Object and SubTitle Text• Else, float ( idx = -1 )

Page 50: PresentationML Subject: Slides

Apply Design

• Scenario: Applying a new “design”• Problems

– Which layouts to bring in from new “design”– Which existing slides should be updated to

use the new layouts

Page 51: PresentationML Subject: Slides

Apply Design Algorithm

• Layout “equivalence” defined as– Layouts have the same number of

Placeholders ( not including “HF” Placeholders ), and

– Placeholders in both layouts are of the same type, and

– Layouts have the same name

Page 52: PresentationML Subject: Slides

Disclaimer

This presentation is for informational purposes only, and should not be relied upon as a substitute or replacement for Microsoft formal file format documentation, which is available at the following website: https://msdn.microsoft.com/en-us/library/cc313118(v=office.12).aspx. Any views or opinions presented in this material are solely those of the author and do not necessarily represent those of Microsoft. Microsoft disclaims all liability for mistakes or inaccuracies in this presentation.