Struct pdf_canvas::TextObject
source · [−]pub struct TextObject<'a> { /* private fields */ }
Expand description
A text object is where text is put on the canvas.
A TextObject should never be created directly by the user. Instead, the Canvas.text method should be called. It will create a TextObject and call a callback, before terminating the text object properly.
Example
let serif = canvas.get_font(BuiltinFont::Times_Roman);
// t will be a TextObject
canvas.text(|t| {
t.set_font(&serif, 14.0)?;
t.set_leading(18.0)?;
t.pos(10.0, 300.0)?;
t.show("Some lines of text in what might look like a")?;
t.show_line("paragraph of three lines. Lorem ipsum dolor")?;
t.show_line("sit amet. Blahonga.")?;
Ok(())
})?;
Implementations
sourceimpl<'a> TextObject<'a>
impl<'a> TextObject<'a>
sourcepub fn set_font(&mut self, font: &FontRef, size: f32) -> Result<()>
pub fn set_font(&mut self, font: &FontRef, size: f32) -> Result<()>
Set the font and font-size to be used by the following text operations.
sourcepub fn set_leading(&mut self, leading: f32) -> Result<()>
pub fn set_leading(&mut self, leading: f32) -> Result<()>
Set leading, the vertical distance from a line of text to the next. This is important for the show_line method.
sourcepub fn set_rise(&mut self, rise: f32) -> Result<()>
pub fn set_rise(&mut self, rise: f32) -> Result<()>
Set the rise above the baseline for coming text. Calling set_rise again with a zero argument will get back to the old baseline.
sourcepub fn set_char_spacing(&mut self, a_c: f32) -> Result<()>
pub fn set_char_spacing(&mut self, a_c: f32) -> Result<()>
Set the amount of extra space between characters, in 1/1000 text unit.
sourcepub fn set_word_spacing(&mut self, a_w: f32) -> Result<()>
pub fn set_word_spacing(&mut self, a_w: f32) -> Result<()>
Set the amount of extra space between words, in 1/1000 text unit.
sourcepub fn set_stroke_color(&mut self, color: Color) -> Result<()>
pub fn set_stroke_color(&mut self, color: Color) -> Result<()>
Set color for stroking operations.
sourcepub fn set_fill_color(&mut self, color: Color) -> Result<()>
pub fn set_fill_color(&mut self, color: Color) -> Result<()>
Set color for non-stroking operations.
sourcepub fn pos(&mut self, x: f32, y: f32) -> Result<()>
pub fn pos(&mut self, x: f32, y: f32) -> Result<()>
Move text position.
The first time pos
is called in a
TextObject, (x, y) refers to the same point as for
Canvas::move_to, after that,
the point is relative to the earlier pos.
sourcepub fn show_adjusted(&mut self, param: &[(&str, i32)]) -> Result<()>
pub fn show_adjusted(&mut self, param: &[(&str, i32)]) -> Result<()>
Show one or more text strings, allowing individual glyph positioning.
Each item in param should contain a string to show and a number to adjust the position. The adjustment is measured in thousands of unit of text space. Positive adjustment brings letters closer, negative widens the gap.
Example
t.show_adjusted(&[("W", 130), ("AN", -40), ("D", 0)])
Auto Trait Implementations
impl<'a> !RefUnwindSafe for TextObject<'a>
impl<'a> !Send for TextObject<'a>
impl<'a> !Sync for TextObject<'a>
impl<'a> Unpin for TextObject<'a>
impl<'a> !UnwindSafe for TextObject<'a>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more