Skip to main content

EmuExt

Trait EmuExt 

Source
pub trait EmuExt: Copy {
    // Required method
    fn emu(self) -> Emu;
}
Expand description

单位转换 trait,封装“任意类型 → Emu“的语义。

通过 EmuExt,任意实现了该 trait 的类型都能 .emu() 转为 Emu。 这样 Inches(1.0).emu() + Pt(72.0).emu() 这类混合表达式可以一行写完, 而不必每次手写 Emu::new(...)

各类实现的隐含语义:

  • Emu / i64 / i32 / u32:原值就是 EMU;
  • f64 / f32:解释为“英寸“(最常用的隐含单位);
  • Pt:磅(1 pt = 12 700 EMU);
  • Inches:英寸(1 in = 914 400 EMU);
  • Cm:厘米(1 cm = 360 000 EMU)。

Required Methods§

Source

fn emu(self) -> Emu

转为 Emu。具体换算由实现决定。

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl EmuExt for f32

Source§

fn emu(self) -> Emu

f32 当作英寸处理。

Source§

impl EmuExt for f64

Source§

fn emu(self) -> Emu

f64 当作英寸处理。

Source§

impl EmuExt for i32

Source§

fn emu(self) -> Emu

原值视为 EMU(提升到 i64)。

Source§

impl EmuExt for i64

Source§

fn emu(self) -> Emu

原值视为 EMU。

Source§

impl EmuExt for u32

Source§

fn emu(self) -> Emu

原值视为 EMU(提升到 i64)。

Implementors§