Skip to main content

StyleLookup

Trait StyleLookup 

Source
pub trait StyleLookup {
Show 21 methods // Provided methods fn char_bold(&self, _id: CharShapeIndex) -> Option<bool> { ... } fn char_italic(&self, _id: CharShapeIndex) -> Option<bool> { ... } fn char_underline(&self, _id: CharShapeIndex) -> Option<UnderlineType> { ... } fn char_strikeout(&self, _id: CharShapeIndex) -> Option<bool> { ... } fn char_superscript(&self, _id: CharShapeIndex) -> Option<bool> { ... } fn char_subscript(&self, _id: CharShapeIndex) -> Option<bool> { ... } fn char_font_name(&self, _id: CharShapeIndex) -> Option<&str> { ... } fn char_font_size(&self, _id: CharShapeIndex) -> Option<HwpUnit> { ... } fn char_text_color(&self, _id: CharShapeIndex) -> Option<Color> { ... } fn para_alignment(&self, _id: ParaShapeIndex) -> Option<Alignment> { ... } fn para_indent_left(&self, _id: ParaShapeIndex) -> Option<HwpUnit> { ... } fn para_indent_first_line(&self, _id: ParaShapeIndex) -> Option<HwpUnit> { ... } fn para_list_type(&self, _id: ParaShapeIndex) -> Option<&str> { ... } fn para_list_level(&self, _id: ParaShapeIndex) -> Option<u8> { ... } fn para_checked_state(&self, _id: ParaShapeIndex) -> Option<bool> { ... } fn para_style_name(&self, _id: ParaShapeIndex) -> Option<&str> { ... } fn para_heading_level(&self, _id: ParaShapeIndex) -> Option<u8> { ... } fn style_name(&self, _id: StyleIndex) -> Option<&str> { ... } fn style_heading_level(&self, _id: StyleIndex) -> Option<u8> { ... } fn image_resolve_filename(&self, _key: &str) -> Option<&str> { ... } fn image_data(&self, _key: &str) -> Option<&[u8]> { ... }
}
Expand description

Trait for querying resolved style properties by index.

This is the bridge between format-specific style stores and format-independent consumers (like the Markdown encoder). Each method takes a branded index and returns Option<T>, where None means the property is unavailable or unsupported.

§Default Implementations

Every method defaults to None, so an empty implementation is valid:

use hwpforge_core::StyleLookup;
use hwpforge_foundation::CharShapeIndex;

struct NoopStore;
impl StyleLookup for NoopStore {}

let store = NoopStore;
assert!(store.char_bold(CharShapeIndex::new(0)).is_none());

Provided Methods§

Source

fn char_bold(&self, _id: CharShapeIndex) -> Option<bool>

Returns whether the character shape at id is bold.

Source

fn char_italic(&self, _id: CharShapeIndex) -> Option<bool>

Returns whether the character shape at id is italic.

Source

fn char_underline(&self, _id: CharShapeIndex) -> Option<UnderlineType>

Returns the underline type of the character shape at id.

Source

fn char_strikeout(&self, _id: CharShapeIndex) -> Option<bool>

Returns whether the character shape at id has strikeout.

Source

fn char_superscript(&self, _id: CharShapeIndex) -> Option<bool>

Returns whether the character shape at id is superscript.

Source

fn char_subscript(&self, _id: CharShapeIndex) -> Option<bool>

Returns whether the character shape at id is subscript.

Source

fn char_font_name(&self, _id: CharShapeIndex) -> Option<&str>

Returns the font name of the character shape at id.

Source

fn char_font_size(&self, _id: CharShapeIndex) -> Option<HwpUnit>

Returns the font size (in HwpUnit) of the character shape at id.

Source

fn char_text_color(&self, _id: CharShapeIndex) -> Option<Color>

Returns the text color of the character shape at id.

Source

fn para_alignment(&self, _id: ParaShapeIndex) -> Option<Alignment>

Returns the horizontal alignment of the paragraph shape at id.

Source

fn para_indent_left(&self, _id: ParaShapeIndex) -> Option<HwpUnit>

Returns the left indent of the paragraph shape at id.

Source

fn para_indent_first_line(&self, _id: ParaShapeIndex) -> Option<HwpUnit>

Returns the first-line indent of the paragraph shape at id.

Source

fn para_list_type(&self, _id: ParaShapeIndex) -> Option<&str>

Returns the list type for a paragraph shape: "BULLET", "NUMBER", or None.

Returns None if the paragraph has no list heading or if the heading type is NONE / OUTLINE.

Source

fn para_list_level(&self, _id: ParaShapeIndex) -> Option<u8>

Returns the zero-based list nesting level for a paragraph shape.

This is only meaningful for numbered/bulleted list semantics. Outline headings should use para_heading_level instead.

Source

fn para_checked_state(&self, _id: ParaShapeIndex) -> Option<bool>

Returns the checkbox state for a paragraph shape when it is a checkable bullet.

Some(true) means a checked checkbox item, Some(false) means an unchecked checkbox item, and None means the paragraph is not a checkable bullet.

Source

fn para_style_name(&self, _id: ParaShapeIndex) -> Option<&str>

Returns the preferred style name associated with the paragraph shape.

This is useful for encoders that need to recover semantics carried by a dedicated paragraph shape even when the paragraph itself has no explicit style_id.

Source

fn para_heading_level(&self, _id: ParaShapeIndex) -> Option<u8>

Returns the heading level (1–6) implied by the paragraph shape at id.

This is the format-agnostic truth source for paragraph-level outline semantics. Implementors that can inspect real paragraph-shape outline metadata should override this method; downstream styled export paths use it before style-name heuristics whenever both are available.

Source

fn style_name(&self, _id: StyleIndex) -> Option<&str>

Returns the Korean name of the style at id.

Source

fn style_heading_level(&self, _id: StyleIndex) -> Option<u8>

Returns the heading level (1–6) of the style at id, if it is a heading style. Returns None for non-heading styles.

Source

fn image_resolve_filename(&self, _key: &str) -> Option<&str>

Resolves a binaryItemIDRef (e.g. "BinData/image1") to the actual filename with extension (e.g. "image1.png").

Returns None if no matching image is found.

Source

fn image_data(&self, _key: &str) -> Option<&[u8]>

Returns the raw binary data for the image identified by key.

key is typically a path like "image1.jpg". Returns None if the image is not available or if the implementor does not store image data.

Implementors§