// Do not edit. This file is generated.
// MoonBit type: CanvasTextBaseline
// Specifications: html.idl
///|
pub(all) enum CanvasTextBaseline {
Top
Hanging
Middle
Alphabetic
Ideographic
Bottom
} derive(Eq)
///|
pub impl Show for CanvasTextBaseline with output(
self : CanvasTextBaseline,
logger : &Logger,
) -> Unit {
match self {
CanvasTextBaseline::Top => logger.write_string("Top")
CanvasTextBaseline::Hanging => logger.write_string("Hanging")
CanvasTextBaseline::Middle => logger.write_string("Middle")
CanvasTextBaseline::Alphabetic => logger.write_string("Alphabetic")
CanvasTextBaseline::Ideographic => logger.write_string("Ideographic")
CanvasTextBaseline::Bottom => logger.write_string("Bottom")
}
}
///|
pub impl TJsValue for CanvasTextBaseline with to_js(self : CanvasTextBaseline) -> JsValue {
match self {
CanvasTextBaseline::Top => TJsValue::to_js("top")
CanvasTextBaseline::Hanging => TJsValue::to_js("hanging")
CanvasTextBaseline::Middle => TJsValue::to_js("middle")
CanvasTextBaseline::Alphabetic => TJsValue::to_js("alphabetic")
CanvasTextBaseline::Ideographic => TJsValue::to_js("ideographic")
CanvasTextBaseline::Bottom => TJsValue::to_js("bottom")
}
}
///|
pub fn CanvasTextBaseline::from(value : String) -> CanvasTextBaseline? {
match value {
"top" => Some(CanvasTextBaseline::Top)
"hanging" => Some(CanvasTextBaseline::Hanging)
"middle" => Some(CanvasTextBaseline::Middle)
"alphabetic" => Some(CanvasTextBaseline::Alphabetic)
"ideographic" => Some(CanvasTextBaseline::Ideographic)
"bottom" => Some(CanvasTextBaseline::Bottom)
_ => None
}
}
///|
fn CanvasTextBaseline::from_unchecked(value : String) -> CanvasTextBaseline {
match value {
"top" => CanvasTextBaseline::Top
"hanging" => CanvasTextBaseline::Hanging
"middle" => CanvasTextBaseline::Middle
"alphabetic" => CanvasTextBaseline::Alphabetic
"ideographic" => CanvasTextBaseline::Ideographic
"bottom" => CanvasTextBaseline::Bottom
_ => CanvasTextBaseline::Top
}
}
///|
pub fn CanvasTextBaseline::value(self : CanvasTextBaseline) -> String {
match self {
CanvasTextBaseline::Top => "top"
CanvasTextBaseline::Hanging => "hanging"
CanvasTextBaseline::Middle => "middle"
CanvasTextBaseline::Alphabetic => "alphabetic"
CanvasTextBaseline::Ideographic => "ideographic"
CanvasTextBaseline::Bottom => "bottom"
}
}
///|
pub impl FromJsAny for CanvasTextBaseline with from_js_any(value : JsAny) -> CanvasTextBaseline {
CanvasTextBaseline::from_unchecked(value)
}