Skip to main content

Theme

Struct Theme 

Source
pub struct Theme {
    pub name: String,
    pub colors: ColorScheme,
    pub fonts: FontScheme,
}
Expand description

A presentation’s customizable color/font theme (ppt/theme/theme1.xml’s own <a:clrScheme>/<a:fontScheme>).

Deliberately mirrors word_ooxml::Theme/ColorScheme/FontScheme by name and shape, not by crate dependency — this workspace’s established posture for a shared real-world concept with no shared crate backing it (see PictureFormat’s own doc comment for the same reasoning). Unlike word_ooxml::Theme (genuinely optional — word/theme/theme1.xml is only written when Document.theme is set), a PowerPoint theme part is mandatory: Presentation.theme: None still always produces a full theme1.xml, just with Theme::office_default’s colors/fonts rather than a caller-supplied palette — see Presentation’s own doc comment.

Real PowerPoint files can and do carry more than one distinct theme (a real fixture has both theme1.xml and theme2.xml, the latter the notes master’s own); this crate, like word-ooxml, still only exposes a single customizable theme for the slide master (the notes master’s own separate theme part stays fixed at Theme::office_default’s content regardless).

fmtScheme (CT_BaseStyles requires it alongside clrScheme/ fontScheme) stays a fixed, non-configurable copy of Office’s own built-in default, same scope limit as word_ooxml::Theme’s own fmtScheme — irrelevant to word-ooxml there, but genuinely relevant to a slide’s shapes here; still out of scope.

Fields§

§name: String

The theme’s name (<a:theme name="..">), also reused unchanged as the nested <a:clrScheme>/<a:fontScheme> elements’ own name attribute, same convention as word_ooxml::Theme.

§colors: ColorScheme§fonts: FontScheme

Implementations§

Source§

impl Theme

Source

pub fn office_default() -> Theme

Office’s own built-in default theme (“Office”: Calibri Light/ Calibri, the classic blue-accented palette) — byte-for-byte the same colors/fonts this crate’s writer has always produced as its fixed theme, now expressed as data instead of a hardcoded XML literal.

Trait Implementations§

Source§

impl Clone for Theme

Source§

fn clone(&self) -> Theme

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Theme

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Eq for Theme

Source§

impl PartialEq for Theme

Source§

fn eq(&self, other: &Theme) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Theme

Auto Trait Implementations§

§

impl Freeze for Theme

§

impl RefUnwindSafe for Theme

§

impl Send for Theme

§

impl Sync for Theme

§

impl Unpin for Theme

§

impl UnsafeUnpin for Theme

§

impl UnwindSafe for Theme

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.