Skip to main content

DeckSession

Struct DeckSession 

Source
pub struct DeckSession { /* private fields */ }

Implementations§

Source§

impl DeckSession

Source

pub fn add_comment( &self, context: &EditCtx, slide_id: &str, author: &str, initials: &str, text: &str, created: &str, x_emu: i64, y_emu: i64, ) -> EditResult<CommentReceipt>

Source

pub fn reply_to_comment( &self, context: &EditCtx, comment_id: &str, author: &str, initials: &str, text: &str, created: &str, ) -> EditResult<CommentReceipt>

Source

pub fn set_comment_status( &self, context: &EditCtx, comment_id: &str, resolved: bool, ) -> EditResult<CommentReceipt>

Source

pub fn remove_comment( &self, context: &EditCtx, comment_id: &str, ) -> EditResult<CommentReceipt>

Source

pub fn set_comment_flavor( &self, context: &EditCtx, flavor: CommentFlavor, ) -> EditResult<CommentFlavor>

Source

pub fn comments(&self) -> EditResult<Vec<CommentSnapshot>>

Source

pub fn comment_flavor(&self) -> EditResult<CommentFlavor>

Source§

impl DeckSession

Source

pub fn snapshot(&self) -> EditResult<DeckSnapshot>

Source

pub fn insert_slide( &self, context: &EditCtx, index: u32, layout_part_path: Option<&str>, ) -> EditResult<SlideReceipt>

Source

pub fn set_slide_notes( &self, context: &EditCtx, slide_id: &str, text: &str, ) -> EditResult<()>

Source

pub fn delete_slide( &self, context: &EditCtx, slide_id: &str, ) -> EditResult<SlideReceipt>

Source

pub fn move_slide( &self, context: &EditCtx, slide_id: &str, to_index: u32, ) -> EditResult<SlideReceipt>

Source

pub fn add_text_box( &self, context: &EditCtx, slide_id: &str, draft: &ShapeDraft, ) -> EditResult<ShapeReceipt>

Source

pub fn add_shape( &self, context: &EditCtx, slide_id: &str, draft: &PresetShapeDraft, ) -> EditResult<ShapeReceipt>

Source

pub fn set_shape_fill( &self, context: &EditCtx, slide_id: &str, shape_id: &str, color: Option<&str>, ) -> EditResult<ShapeFillReceipt>

Source

pub fn set_shape_stroke( &self, context: &EditCtx, slide_id: &str, shape_id: &str, stroke: &ShapeStroke, ) -> EditResult<ShapeStrokeReceipt>

Source

pub fn set_shape_adjust( &self, context: &EditCtx, slide_id: &str, shape_id: &str, adjustments: &BTreeMap<String, f64>, ) -> EditResult<ShapeAdjustReceipt>

Source

pub fn remove_shape( &self, context: &EditCtx, slide_id: &str, shape_id: &str, ) -> EditResult<ShapeReceipt>

Source

pub fn move_shape( &self, context: &EditCtx, slide_id: &str, shape_id: &str, x: i64, y: i64, ) -> EditResult<TransformReceipt>

Source

pub fn resize_shape( &self, context: &EditCtx, slide_id: &str, shape_id: &str, width: i64, height: i64, ) -> EditResult<TransformReceipt>

Source

pub fn set_shape_rect( &self, context: &EditCtx, slide_id: &str, shape_id: &str, rect: ShapeRect, ) -> EditResult<TransformReceipt>

Source§

impl DeckSession

Source

pub fn preview_proposal_diff( &self, id: &str, ) -> ProposalResult<ProposalDiffPreview>

Builds a render-only snapshot whose offsets are not editable.

Source§

impl DeckSession

Source§

impl DeckSession

Source

pub fn save(&self) -> EditResult<Vec<u8>>

Serializes the deck with all edits applied. Untouched slides keep their exact source part bytes; edited slides are patched at the XML level.

Source§

impl DeckSession

Source

pub fn story(&self, story_id: &str) -> EditResult<StorySnapshot>

Source

pub fn anchor_caret( &self, story_id: &str, index: u32, ) -> EditResult<CaretAnchor>

Source

pub fn resolve_caret_anchor(&self, anchor: &CaretAnchor) -> Option<u32>

Source

pub fn insert_text( &self, context: &EditCtx, story_id: &str, index: u32, text: &str, style: &TextStyle, ) -> EditResult<TextReceipt>

Source

pub fn delete_text( &self, context: &EditCtx, story_id: &str, start: u32, end: u32, ) -> EditResult<TextReceipt>

Source

pub fn format_text( &self, context: &EditCtx, story_id: &str, start: u32, end: u32, patch: &TextStylePatch, ) -> EditResult<TextReceipt>

Source

pub fn set_paragraph_alignment( &self, context: &EditCtx, story_id: &str, start: u32, end: u32, alignment: Option<&str>, ) -> EditResult<TextReceipt>

Sets a:pPr@algn on every paragraph the range touches; None clears the value so the placeholder cascade applies again.

Source

pub fn insert_paragraph_break( &self, context: &EditCtx, story_id: &str, index: u32, ) -> EditResult<TextReceipt>

Source

pub fn delete_paragraph_break( &self, context: &EditCtx, story_id: &str, index: u32, ) -> EditResult<TextReceipt>

Source§

impl DeckSession

Source

pub fn open(bytes: &[u8], client_id: u64) -> EditResult<Self>

Source

pub fn from_package(package: PptxPackage, client_id: u64) -> EditResult<Self>

Opens an edit session from an already parsed package. The fingerprint is taken from a re-zip of the package; prefer Self::from_package_with_source when the file bytes are at hand, so peers can match them against the update.

Source

pub fn from_package_with_source( package: PptxPackage, source: &[u8], client_id: u64, ) -> EditResult<Self>

Opens an edit session from a parsed package, fingerprinting the file bytes it was parsed from.

Source

pub fn open_from_update(update: &[u8], client_id: u64) -> EditResult<Self>

Source

pub fn open_from_update_with_source( update: &[u8], source: &[u8], client_id: u64, ) -> EditResult<Self>

Like Self::open_from_update, but re-attaches the source file the update was seeded from, so the session can save. The bytes must hash to the fingerprint recorded in the update.

Source

pub fn client_id(&self) -> u64

Source

pub fn package(&self) -> &PptxPackage

Source

pub fn yrs_doc(&self) -> &Doc

Source

pub fn encode_state_vector_v1(&self) -> Vec<u8> ⓘ

Source

pub fn encode_state_as_update_v1(&self) -> Vec<u8> ⓘ

Source

pub fn encode_diff_v1(&self, remote_state_vector: &[u8]) -> EditResult<Vec<u8>>

Source

pub fn apply_update_v1(&self, bytes: &[u8]) -> EditResult<DeckSnapshot>

Source

pub fn observe_update_v1<F>(&self, callback: F) -> EditResult<Subscription>
where F: Fn(UpdateEvent) + 'static,

Source

pub fn undo(&self) -> bool

Source

pub fn redo(&self) -> bool

Source

pub fn can_undo(&self) -> bool

Source

pub fn can_redo(&self) -> bool

Source

pub fn add_undo_barrier(&self)

Auto Trait Implementations§

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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.