|
@@ -388,22 +388,38 @@ RENDERER_HANDLER(path_fill_evenodd)
|
|
|
|
|
|
RENDERER_HANDLER(path_fill_stroke_nonzero)
|
|
|
{
|
|
|
+ begin_path_paint();
|
|
|
if (state().stroke_style.has<NonnullRefPtr<Gfx::PaintStyle>>()) {
|
|
|
m_anti_aliasing_painter.stroke_path(m_current_path, state().stroke_style.get<NonnullRefPtr<Gfx::PaintStyle>>(), line_width());
|
|
|
} else {
|
|
|
m_anti_aliasing_painter.stroke_path(m_current_path, state().stroke_style.get<Color>(), line_width());
|
|
|
}
|
|
|
- return handle_path_fill_nonzero(args);
|
|
|
+ m_current_path.close_all_subpaths();
|
|
|
+ if (state().paint_style.has<NonnullRefPtr<Gfx::PaintStyle>>()) {
|
|
|
+ m_anti_aliasing_painter.fill_path(m_current_path, state().paint_style.get<NonnullRefPtr<Gfx::PaintStyle>>(), 1.0, Gfx::Painter::WindingRule::Nonzero);
|
|
|
+ } else {
|
|
|
+ m_anti_aliasing_painter.fill_path(m_current_path, state().paint_style.get<Color>(), Gfx::Painter::WindingRule::Nonzero);
|
|
|
+ }
|
|
|
+ end_path_paint();
|
|
|
+ return {};
|
|
|
}
|
|
|
|
|
|
RENDERER_HANDLER(path_fill_stroke_evenodd)
|
|
|
{
|
|
|
+ begin_path_paint();
|
|
|
if (state().stroke_style.has<NonnullRefPtr<Gfx::PaintStyle>>()) {
|
|
|
m_anti_aliasing_painter.stroke_path(m_current_path, state().stroke_style.get<NonnullRefPtr<Gfx::PaintStyle>>(), line_width());
|
|
|
} else {
|
|
|
m_anti_aliasing_painter.stroke_path(m_current_path, state().stroke_style.get<Color>(), line_width());
|
|
|
}
|
|
|
- return handle_path_fill_evenodd(args);
|
|
|
+ m_current_path.close_all_subpaths();
|
|
|
+ if (state().paint_style.has<NonnullRefPtr<Gfx::PaintStyle>>()) {
|
|
|
+ m_anti_aliasing_painter.fill_path(m_current_path, state().paint_style.get<NonnullRefPtr<Gfx::PaintStyle>>(), 1.0, Gfx::Painter::WindingRule::EvenOdd);
|
|
|
+ } else {
|
|
|
+ m_anti_aliasing_painter.fill_path(m_current_path, state().paint_style.get<Color>(), Gfx::Painter::WindingRule::EvenOdd);
|
|
|
+ }
|
|
|
+ end_path_paint();
|
|
|
+ return {};
|
|
|
}
|
|
|
|
|
|
RENDERER_HANDLER(path_close_fill_stroke_nonzero)
|