mirror of
https://github.com/servo/servo.git
synced 2025-08-04 21:20:23 +01:00
Auto merge of #9080 - jdm:canvaspattern, r=Ms2ger
Enable Pattern variant of CanvasFillOrStrokeStyle This is a rebase of #8104, with a test added that exposes pre-existing problems in the canvas code for dealing with patterns. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9080) <!-- Reviewable:end -->
This commit is contained in:
commit
80135a70ce
4 changed files with 47 additions and 1 deletions
|
@ -50,10 +50,11 @@ use util::vec::byte_swap;
|
|||
|
||||
#[must_root]
|
||||
#[derive(JSTraceable, Clone, HeapSizeOf)]
|
||||
#[allow(dead_code)]
|
||||
enum CanvasFillOrStrokeStyle {
|
||||
Color(RGBA),
|
||||
Gradient(JS<CanvasGradient>),
|
||||
// Pattern(JS<CanvasPattern>), // https://github.com/servo/servo/pull/6157
|
||||
Pattern(JS<CanvasPattern>),
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#canvasrenderingcontext2d
|
||||
|
@ -922,6 +923,9 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingContext2D {
|
|||
CanvasFillOrStrokeStyle::Gradient(ref gradient) => {
|
||||
StringOrCanvasGradientOrCanvasPattern::eCanvasGradient(Root::from_ref(&*gradient))
|
||||
},
|
||||
CanvasFillOrStrokeStyle::Pattern(ref pattern) => {
|
||||
StringOrCanvasGradientOrCanvasPattern::eCanvasPattern(Root::from_ref(&*pattern))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -966,6 +970,9 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingContext2D {
|
|||
CanvasFillOrStrokeStyle::Gradient(ref gradient) => {
|
||||
StringOrCanvasGradientOrCanvasPattern::eCanvasGradient(Root::from_ref(&*gradient))
|
||||
},
|
||||
CanvasFillOrStrokeStyle::Pattern(ref pattern) => {
|
||||
StringOrCanvasGradientOrCanvasPattern::eCanvasPattern(Root::from_ref(&*pattern))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue