소스 검색

LibWeb: Implement FillEllipse command for GPU executor

Aliaksandr Kalenik 1 년 전
부모
커밋
7320fdc1f5
1개의 변경된 파일9개의 추가작업 그리고 2개의 파일을 삭제
  1. 9 2
      Userland/Libraries/LibWeb/Painting/PaintingCommandExecutorGPU.cpp

+ 9 - 2
Userland/Libraries/LibWeb/Painting/PaintingCommandExecutorGPU.cpp

@@ -152,9 +152,16 @@ CommandResult PaintingCommandExecutorGPU::draw_ellipse(Gfx::IntRect const&, Colo
     return CommandResult::Continue;
 }
 
-CommandResult PaintingCommandExecutorGPU::fill_ellipse(Gfx::IntRect const&, Color const&, Gfx::AntiAliasingPainter::BlendMode)
+CommandResult PaintingCommandExecutorGPU::fill_ellipse(Gfx::IntRect const& rect, Color const& color, Gfx::AntiAliasingPainter::BlendMode)
 {
-    // FIXME
+    auto horizontal_radius = static_cast<float>(rect.width() / 2);
+    auto vertical_radius = static_cast<float>(rect.height() / 2);
+    painter().fill_rect_with_rounded_corners(
+        rect, color,
+        { horizontal_radius, vertical_radius },
+        { horizontal_radius, vertical_radius },
+        { horizontal_radius, vertical_radius },
+        { horizontal_radius, vertical_radius });
     return CommandResult::Continue;
 }