| 612 | } // anonymous namespace |
| 613 | |
| 614 | void Bitmap::Blit(int x, int y, Bitmap const& src, Rect const& src_rect, Opacity const& opacity, Bitmap::BlendMode blend_mode) { |
| 615 | if (opacity.IsTransparent()) { |
| 616 | return; |
| 617 | } |
| 618 | |
| 619 | auto mask = CreateMask(opacity, src_rect); |
| 620 | |
| 621 | pixman_image_composite32(src.GetOperator(mask.get(), blend_mode), |
| 622 | src.bitmap.get(), |
| 623 | mask.get(), bitmap.get(), |
| 624 | src_rect.x, src_rect.y, |
| 625 | 0, 0, |
| 626 | x, y, |
| 627 | src_rect.width, src_rect.height); |
| 628 | } |
| 629 | |
| 630 | void Bitmap::BlitFast(int x, int y, Bitmap const & src, Rect const & src_rect, Opacity const & opacity) { |
| 631 | if (opacity.IsTransparent()) { |
no test coverage detected