1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
#![deny(rust_2018_idioms, missing_debug_implementations)] #![allow(clippy::cast_lossless)] #[macro_use] mod macros; pub(in crate) mod util; pub(in crate) mod variant; pub use self::variant::DeepClone; pub mod array; pub mod codec; pub mod context; pub mod error; pub mod font; pub mod font_defs; pub mod geometry; pub mod glyph_buffer; pub mod gradient; pub mod image; pub mod matrix; pub mod path; pub mod pattern; pub mod prelude; pub mod region; pub mod runtime; use bitflags::bitflags; #[repr(transparent)] #[derive(Debug, Copy, Clone, PartialEq)] pub struct Tag(u32); use ffi::BLBooleanOp::*; bl_enum! { pub enum BooleanOp { Copy = BL_BOOLEAN_OP_COPY, And = BL_BOOLEAN_OP_AND, Or = BL_BOOLEAN_OP_OR, Xor = BL_BOOLEAN_OP_XOR, Sub = BL_BOOLEAN_OP_SUB, } Default => Copy } use ffi::BLExtendMode::*; bl_enum! { pub enum ExtendMode { PadXPadY = BL_EXTEND_MODE_PAD_X_PAD_Y, RepeatXRepeatY = BL_EXTEND_MODE_REPEAT_X_REPEAT_Y, ReflectXReflectY = BL_EXTEND_MODE_REFLECT_X_REFLECT_Y, PadXRepeatY = BL_EXTEND_MODE_PAD_X_REPEAT_Y, PadXReflectY = BL_EXTEND_MODE_PAD_X_REFLECT_Y, RepeatXPadY = BL_EXTEND_MODE_REPEAT_X_PAD_Y, RepeatXReflectY = BL_EXTEND_MODE_REPEAT_X_REFLECT_Y, ReflectXPadY = BL_EXTEND_MODE_REFLECT_X_PAD_Y, ReflectXRepeatY = BL_EXTEND_MODE_REFLECT_X_REPEAT_Y, } Default => PadXPadY } use ffi::BLStyleType::*; bl_enum! { pub enum StyleType { None = BL_STYLE_TYPE_NONE, Solid = BL_STYLE_TYPE_SOLID, Pattern = BL_STYLE_TYPE_PATTERN, Gradient = BL_STYLE_TYPE_GRADIENT, } Default => None } use ffi::BLDataAccessFlags::*; bitflags! { pub struct DataAccessFlags: u32 { const READ = BL_DATA_ACCESS_READ as u32; const WRITE = BL_DATA_ACCESS_READ as u32; const READ_WRITE = BL_DATA_ACCESS_READ as u32; } }