ladybird/Userland/Libraries/LibWeb/Painting/ShadowPainting.h
Andi Gallo af1798dd04 LibWeb: Add support for inset shadows
Also move code for outer shadows to a helper.
2023-06-07 10:14:21 +02:00

39 lines
829 B
C++

/*
* Copyright (c) 2021-2022, Sam Atkins <atkinssj@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <LibGfx/Color.h>
#include <LibWeb/Forward.h>
#include <LibWeb/Painting/PaintContext.h>
namespace Web::Painting {
enum class ShadowPlacement {
Outer,
Inner,
};
struct ShadowData {
Gfx::Color color;
CSSPixels offset_x;
CSSPixels offset_y;
CSSPixels blur_radius;
CSSPixels spread_distance;
ShadowPlacement placement;
};
void paint_box_shadow(
PaintContext&,
CSSPixelRect const& bordered_content_rect,
CSSPixelRect const& borderless_content_rect,
BordersData const& borders_data,
BorderRadiiData const&,
Vector<ShadowData> const&);
void paint_text_shadow(PaintContext&, Layout::LineBoxFragment const&, Vector<ShadowData> const&);
}