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§
Sourcefn char_bold(&self, _id: CharShapeIndex) -> Option<bool>
fn char_bold(&self, _id: CharShapeIndex) -> Option<bool>
Returns whether the character shape at id is bold.
Sourcefn char_italic(&self, _id: CharShapeIndex) -> Option<bool>
fn char_italic(&self, _id: CharShapeIndex) -> Option<bool>
Returns whether the character shape at id is italic.
Sourcefn char_underline(&self, _id: CharShapeIndex) -> Option<UnderlineType>
fn char_underline(&self, _id: CharShapeIndex) -> Option<UnderlineType>
Returns the underline type of the character shape at id.
Sourcefn char_strikeout(&self, _id: CharShapeIndex) -> Option<bool>
fn char_strikeout(&self, _id: CharShapeIndex) -> Option<bool>
Returns whether the character shape at id has strikeout.
Sourcefn char_superscript(&self, _id: CharShapeIndex) -> Option<bool>
fn char_superscript(&self, _id: CharShapeIndex) -> Option<bool>
Returns whether the character shape at id is superscript.
Sourcefn char_subscript(&self, _id: CharShapeIndex) -> Option<bool>
fn char_subscript(&self, _id: CharShapeIndex) -> Option<bool>
Returns whether the character shape at id is subscript.
Sourcefn char_font_name(&self, _id: CharShapeIndex) -> Option<&str>
fn char_font_name(&self, _id: CharShapeIndex) -> Option<&str>
Returns the font name of the character shape at id.
Sourcefn char_font_size(&self, _id: CharShapeIndex) -> Option<HwpUnit>
fn char_font_size(&self, _id: CharShapeIndex) -> Option<HwpUnit>
Returns the font size (in HwpUnit) of the character shape at id.
Sourcefn char_text_color(&self, _id: CharShapeIndex) -> Option<Color>
fn char_text_color(&self, _id: CharShapeIndex) -> Option<Color>
Returns the text color of the character shape at id.
Sourcefn para_alignment(&self, _id: ParaShapeIndex) -> Option<Alignment>
fn para_alignment(&self, _id: ParaShapeIndex) -> Option<Alignment>
Returns the horizontal alignment of the paragraph shape at id.
Sourcefn para_indent_left(&self, _id: ParaShapeIndex) -> Option<HwpUnit>
fn para_indent_left(&self, _id: ParaShapeIndex) -> Option<HwpUnit>
Returns the left indent of the paragraph shape at id.
Sourcefn para_indent_first_line(&self, _id: ParaShapeIndex) -> Option<HwpUnit>
fn para_indent_first_line(&self, _id: ParaShapeIndex) -> Option<HwpUnit>
Returns the first-line indent of the paragraph shape at id.
Sourcefn para_list_type(&self, _id: ParaShapeIndex) -> Option<&str>
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.
Sourcefn para_list_level(&self, _id: ParaShapeIndex) -> Option<u8>
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.
Sourcefn para_checked_state(&self, _id: ParaShapeIndex) -> Option<bool>
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.
Sourcefn para_style_name(&self, _id: ParaShapeIndex) -> Option<&str>
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.
Sourcefn para_heading_level(&self, _id: ParaShapeIndex) -> Option<u8>
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.
Sourcefn style_name(&self, _id: StyleIndex) -> Option<&str>
fn style_name(&self, _id: StyleIndex) -> Option<&str>
Returns the Korean name of the style at id.
Sourcefn style_heading_level(&self, _id: StyleIndex) -> Option<u8>
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.
Sourcefn image_resolve_filename(&self, _key: &str) -> Option<&str>
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.
Sourcefn image_data(&self, _key: &str) -> Option<&[u8]>
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.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".