mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 00:27:45 +00:00
LibWeb: Follow image-rendering
when painting image style values
This commit is contained in:
parent
22f7e800d2
commit
1473842b56
7 changed files with 13 additions and 13 deletions
|
@ -1457,10 +1457,10 @@ Optional<int> ImageStyleValue::natural_height() const
|
|||
return {};
|
||||
}
|
||||
|
||||
void ImageStyleValue::paint(PaintContext& context, Gfx::IntRect const& dest_rect) const
|
||||
void ImageStyleValue::paint(PaintContext& context, Gfx::IntRect const& dest_rect, CSS::ImageRendering image_rendering) const
|
||||
{
|
||||
if (m_bitmap)
|
||||
context.painter().draw_scaled_bitmap(dest_rect, *m_bitmap, m_bitmap->rect(), 1.0f, Gfx::Painter::ScalingMode::BilinearBlend);
|
||||
context.painter().draw_scaled_bitmap(dest_rect, *m_bitmap, m_bitmap->rect(), 1.0f, to_gfx_scaling_mode(image_rendering));
|
||||
}
|
||||
|
||||
String LinearGradientStyleValue::to_string() const
|
||||
|
@ -1608,7 +1608,7 @@ void LinearGradientStyleValue::resolve_for_size(Layout::Node const& node, Gfx::F
|
|||
m_resolved_data = Painting::resolve_linear_gradient_data(node, size, *this);
|
||||
}
|
||||
|
||||
void LinearGradientStyleValue::paint(PaintContext& context, Gfx::IntRect const& dest_rect) const
|
||||
void LinearGradientStyleValue::paint(PaintContext& context, Gfx::IntRect const& dest_rect, CSS::ImageRendering) const
|
||||
{
|
||||
VERIFY(m_resolved_data.has_value());
|
||||
Painting::paint_linear_gradient(context, dest_rect, *m_resolved_data);
|
||||
|
|
|
@ -935,7 +935,7 @@ public:
|
|||
virtual void resolve_for_size(Layout::Node const&, Gfx::FloatSize const&) const {};
|
||||
|
||||
virtual bool is_paintable() const = 0;
|
||||
virtual void paint(PaintContext& context, Gfx::IntRect const& dest_rect) const = 0;
|
||||
virtual void paint(PaintContext& context, Gfx::IntRect const& dest_rect, CSS::ImageRendering image_rendering) const = 0;
|
||||
};
|
||||
|
||||
class ImageStyleValue final
|
||||
|
@ -956,7 +956,7 @@ public:
|
|||
Optional<int> natural_height() const override;
|
||||
|
||||
bool is_paintable() const override { return !m_bitmap.is_null(); }
|
||||
void paint(PaintContext& context, Gfx::IntRect const& dest_rect) const override;
|
||||
void paint(PaintContext& context, Gfx::IntRect const& dest_rect, CSS::ImageRendering image_rendering) const override;
|
||||
|
||||
private:
|
||||
ImageStyleValue(AK::URL const&);
|
||||
|
@ -993,12 +993,12 @@ public:
|
|||
return m_color_stop_list;
|
||||
}
|
||||
|
||||
float angle_degrees(Gfx::FloatSize const& gradient_rect) const;
|
||||
float angle_degrees(Gfx::FloatSize const& gradient_size) const;
|
||||
|
||||
void resolve_for_size(Layout::Node const&, Gfx::FloatSize const&) const override;
|
||||
|
||||
bool is_paintable() const override { return true; }
|
||||
void paint(PaintContext& context, Gfx::IntRect const& dest_rect) const override;
|
||||
void paint(PaintContext& context, Gfx::IntRect const& dest_rect, CSS::ImageRendering image_rendering) const override;
|
||||
|
||||
private:
|
||||
LinearGradientStyleValue(GradientDirection direction, Vector<ColorStopListElement> color_stop_list, GradientType type)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue