pub mod hairline;
pub mod hairline_aa;
pub mod path;
pub mod path_aa;
use crate::{IntRect, Rect};
use crate::blitter::Blitter;
use crate::geom::{IntRectExt, ScreenIntRect};
pub fn fill_rect(rect: &Rect, clip: &ScreenIntRect, blitter: &mut dyn Blitter) {
if let Some(rect) = rect.round() {
fill_int_rect(&rect, clip, blitter);
}
}
fn fill_int_rect(rect: &IntRect, clip: &ScreenIntRect, blitter: &mut dyn Blitter) {
let rect = match rect.intersect(&clip.to_int_rect()) {
Some(v) => v,
None => return, };
let rect = match rect.to_screen_int_rect() {
Some(v) => v,
None => return,
};
blitter.blit_rect(&rect);
}
pub fn fill_rect_aa(rect: &Rect, clip: &ScreenIntRect, blitter: &mut dyn Blitter) {
hairline_aa::fill_rect(rect, clip, blitter);
}