mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-01 21:59:07 +00:00
LibWeb: Clip underlying Painter in CRC2D::clip()
This commit is contained in:
parent
57128f489a
commit
5aeb8ebebc
Notes:
github-actions[bot]
2024-08-20 07:37:46 +00:00
Author: https://github.com/awesomekling
Commit: 5aeb8ebebc
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1024
5 changed files with 15 additions and 14 deletions
|
@ -543,15 +543,12 @@ CanvasRenderingContext2D::PreparedText CanvasRenderingContext2D::prepare_text(By
|
|||
|
||||
void CanvasRenderingContext2D::clip_internal(Gfx::Path& path, Gfx::WindingRule winding_rule)
|
||||
{
|
||||
// FIXME: This should calculate the new clip path by intersecting the given path with the current one.
|
||||
// See: https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-clip-dev
|
||||
path.close_all_subpaths();
|
||||
if (drawing_state().clip.has_value()) {
|
||||
auto& current_clip = drawing_state().clip->path;
|
||||
current_clip.intersect(path);
|
||||
auto* painter = this->painter();
|
||||
if (!painter)
|
||||
return;
|
||||
}
|
||||
drawing_state().clip = CanvasState::ClipPath { path, winding_rule };
|
||||
|
||||
path.close_all_subpaths();
|
||||
painter->clip(path, winding_rule);
|
||||
}
|
||||
|
||||
void CanvasRenderingContext2D::clip(StringView fill_rule)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue