mirror of
https://github.com/servo/servo.git
synced 2025-07-05 22:43:40 +01:00
Pass repeating gradients to webrender.
This commit is contained in:
parent
803bc0395c
commit
1c4ae53a88
1 changed files with 12 additions and 2 deletions
|
@ -370,10 +370,15 @@ impl WebRenderDisplayItemConverter for DisplayItem {
|
||||||
let start_point = item.gradient.start_point.to_pointf();
|
let start_point = item.gradient.start_point.to_pointf();
|
||||||
let end_point = item.gradient.end_point.to_pointf();
|
let end_point = item.gradient.end_point.to_pointf();
|
||||||
let clip = item.base.clip.to_clip_region(builder);
|
let clip = item.base.clip.to_clip_region(builder);
|
||||||
|
let extend_mode = if item.gradient.repeating {
|
||||||
|
ExtendMode::Repeat
|
||||||
|
} else {
|
||||||
|
ExtendMode::Clamp
|
||||||
|
};
|
||||||
let gradient = builder.create_gradient(start_point,
|
let gradient = builder.create_gradient(start_point,
|
||||||
end_point,
|
end_point,
|
||||||
item.gradient.stops.clone(),
|
item.gradient.stops.clone(),
|
||||||
ExtendMode::Clamp);
|
extend_mode);
|
||||||
builder.push_gradient(rect,
|
builder.push_gradient(rect,
|
||||||
clip,
|
clip,
|
||||||
gradient,
|
gradient,
|
||||||
|
@ -385,10 +390,15 @@ impl WebRenderDisplayItemConverter for DisplayItem {
|
||||||
let center = item.gradient.center.to_pointf();
|
let center = item.gradient.center.to_pointf();
|
||||||
let radius = item.gradient.radius.to_sizef();
|
let radius = item.gradient.radius.to_sizef();
|
||||||
let clip = item.base.clip.to_clip_region(builder);
|
let clip = item.base.clip.to_clip_region(builder);
|
||||||
|
let extend_mode = if item.gradient.repeating {
|
||||||
|
ExtendMode::Repeat
|
||||||
|
} else {
|
||||||
|
ExtendMode::Clamp
|
||||||
|
};
|
||||||
let gradient = builder.create_radial_gradient(center,
|
let gradient = builder.create_radial_gradient(center,
|
||||||
radius,
|
radius,
|
||||||
item.gradient.stops.clone(),
|
item.gradient.stops.clone(),
|
||||||
ExtendMode::Clamp);
|
extend_mode);
|
||||||
builder.push_radial_gradient(rect,
|
builder.push_radial_gradient(rect,
|
||||||
clip,
|
clip,
|
||||||
gradient,
|
gradient,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue