1 /*! # The built-in rasterizers. 2 3 Plotters make a minimal backend ability assumption - which is drawing a pixel on 4 backend. And this is the rasterizer that utilize this minimal ability to build a 5 fully functioning backend. 6 7 */ 8 9 // TODO: We need to revisit this. It has been a long time since last time we figured out 10 // the question mark operator has a huge performance impact due to LLVM unable to handle it. 11 // So the question is if this trick is still useful, or LLVM is smart enough to handle it since 12 // then. 13 // 14 // -- 15 // Original comment: 16 // 17 // ? operator is very slow. See issue #58 for details 18 macro_rules! check_result { 19 ($e:expr) => { 20 let result = $e; 21 #[allow(clippy::question_mark)] 22 if result.is_err() { 23 return result; 24 } 25 }; 26 } 27 28 mod line; 29 pub use line::draw_line; 30 31 mod rect; 32 pub use rect::draw_rect; 33 34 mod circle; 35 pub use circle::draw_circle; 36 37 mod polygon; 38 pub use polygon::fill_polygon; 39 40 mod path; 41 pub use path::polygonize; 42