| 1 | pub use variation::Axis as VariationAxis; |
| 2 | |
| 3 | pub mod variation { |
| 4 | use crate::{prelude::*, FourByteTag}; |
| 5 | use skia_bindings::{self as sb, SkFontParameters_Variation_Axis}; |
| 6 | |
| 7 | #[repr (C)] |
| 8 | #[derive (Clone, PartialEq, Default, Debug)] |
| 9 | pub struct Axis { |
| 10 | pub tag: FourByteTag, |
| 11 | pub min: f32, |
| 12 | pub def: f32, |
| 13 | pub max: f32, |
| 14 | flags: u16, |
| 15 | } |
| 16 | |
| 17 | native_transmutable!(SkFontParameters_Variation_Axis, Axis, axis_layout); |
| 18 | |
| 19 | impl Axis { |
| 20 | pub const fn new(tag: FourByteTag, min: f32, def: f32, max: f32, hidden: bool) -> Self { |
| 21 | #[allow (clippy::bool_to_int_with_if)] |
| 22 | Axis { |
| 23 | tag, |
| 24 | min, |
| 25 | def, |
| 26 | max, |
| 27 | flags: if hidden { 1 } else { 0 }, |
| 28 | } |
| 29 | } |
| 30 | |
| 31 | pub fn is_hidden(&self) -> bool { |
| 32 | unsafe { sb::C_SkFontParameters_Variation_Axis_isHidden(self.native()) } |
| 33 | } |
| 34 | |
| 35 | pub fn set_hidden(&mut self, hidden: bool) -> &mut Self { |
| 36 | unsafe { |
| 37 | sb::C_SkFontParameters_Variation_Axis_setHidden(self.native_mut(), hidden); |
| 38 | } |
| 39 | self |
| 40 | } |
| 41 | } |
| 42 | } |
| 43 | |