Enum BaselineShift
pub enum BaselineShift {
None,
Super,
Sub,
}Expand description
Per-run baseline shift, for superscript / subscript runs.
Super/Sub cause the run’s glyphs to be shaped at a reduced size
(BaselineShift::SCALE) and drawn with a vertical offset
(BaselineShift::offset) — up for super, down for sub — relative to the
surrounding text’s baseline. None leaves the run on the normal baseline.
Variants§
Implementations§
§impl BaselineShift
impl BaselineShift
pub fn is_shifted(self) -> bool
pub fn offset(self, font_size: f32) -> f32
pub fn offset(self, font_size: f32) -> f32
Vertical draw-time offset (in px) for a run shaped at font_size.
Returns the signed delta to add to the glyph baseline: negative
(upward) for Super, positive (downward) for Sub, 0.0 for
None. Tuned to ~0.33× / ~0.18× of the surrounding size so the shifted
run reads clearly above/below the baseline without leaving the line box.
Trait Implementations§
§impl Clone for BaselineShift
impl Clone for BaselineShift
§fn clone(&self) -> BaselineShift
fn clone(&self) -> BaselineShift
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read more§impl Debug for BaselineShift
impl Debug for BaselineShift
§impl Default for BaselineShift
impl Default for BaselineShift
§fn default() -> BaselineShift
fn default() -> BaselineShift
Returns the “default value” for a type. Read more
§impl Hash for BaselineShift
impl Hash for BaselineShift
§impl PartialEq for BaselineShift
impl PartialEq for BaselineShift
impl Copy for BaselineShift
impl Eq for BaselineShift
impl StructuralPartialEq for BaselineShift
Auto Trait Implementations§
impl Freeze for BaselineShift
impl RefUnwindSafe for BaselineShift
impl Send for BaselineShift
impl Sync for BaselineShift
impl Unpin for BaselineShift
impl UnsafeUnpin for BaselineShift
impl UnwindSafe for BaselineShift
Blanket Implementations§
§impl<T> AnyEq for T
impl<T> AnyEq for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
The none-equivalent value.