#include "third_party/blink/renderer/core/paint/box_background_paint_context.h"
#include "third_party/blink/renderer/core/frame/local_frame_view.h"
#include "third_party/blink/renderer/core/frame/pagination_state.h"
#include "third_party/blink/renderer/core/layout/fragmentation_utils.h"
#include "third_party/blink/renderer/core/layout/layout_box.h"
#include "third_party/blink/renderer/core/layout/layout_box_model_object.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
#include "third_party/blink/renderer/core/layout/pagination_utils.h"
#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"
#include "third_party/blink/renderer/core/layout/table/layout_table_cell.h"
#include "third_party/blink/renderer/core/paint/paint_info.h"
#include "third_party/blink/renderer/core/paint/paint_layer.h"
#include "third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h"
#include "third_party/blink/renderer/core/paint/rounded_border_geometry.h"
#include "third_party/blink/renderer/core/style/border_edge.h"
#include "third_party/blink/renderer/platform/graphics/paint/geometry_mapper.h"
#include "third_party/blink/renderer/platform/graphics/paint/paint_controller.h"
namespace blink {
namespace {
PhysicalOffset OffsetInStitchedTableGrid(const PhysicalBoxFragment& fragment,
PhysicalSize* stitched_grid_size) { … }
}
BoxBackgroundPaintContext::BoxBackgroundPaintContext(
const LayoutView& view,
const PhysicalOffset& element_positioning_area_offset)
: … { … }
BoxBackgroundPaintContext::BoxBackgroundPaintContext(
const LayoutBoxModelObject& obj)
: … { … }
BoxBackgroundPaintContext::BoxBackgroundPaintContext(
const LayoutTableCell& cell,
PhysicalOffset cell_offset,
const LayoutBox& table_part,
PhysicalSize table_part_size)
: … { … }
BoxBackgroundPaintContext::BoxBackgroundPaintContext(
const PhysicalBoxFragment& fragment)
: … { … }
BoxBackgroundPaintContext::BoxBackgroundPaintContext(
const LayoutBoxModelObject* box,
const LayoutBoxModelObject* positioning_box)
: … { … }
PhysicalBoxStrut BoxBackgroundPaintContext::BorderOutsets() const { … }
PhysicalBoxStrut BoxBackgroundPaintContext::PaddingOutsets() const { … }
PhysicalBoxStrut BoxBackgroundPaintContext::VisualOverflowOutsets() const { … }
PhysicalBoxStrut BoxBackgroundPaintContext::InnerBorderOutsets(
const PhysicalRect& dest_rect,
const PhysicalRect& positioning_area) const { … }
SnappedAndUnsnappedOutsets BoxBackgroundPaintContext::ObscuredBorderOutsets(
const PhysicalRect& dest_rect,
const PhysicalRect& positioning_area) const { … }
PhysicalRect BoxBackgroundPaintContext::ComputePositioningArea(
const PaintInfo& paint_info,
const FillLayer& fill_layer,
const PhysicalRect& paint_rect) const { … }
PhysicalRect BoxBackgroundPaintContext::NormalPositioningArea(
const PhysicalRect& paint_rect) const { … }
bool BoxBackgroundPaintContext::DisallowBorderDerivedAdjustment() const { … }
bool BoxBackgroundPaintContext::CanCompositeBackgroundAttachmentFixed() const { … }
bool BoxBackgroundPaintContext::ShouldUseFixedAttachment(
const FillLayer& fill_layer) const { … }
bool BoxBackgroundPaintContext::HasBackgroundFixedToViewport(
const LayoutBoxModelObject& object) { … }
PhysicalRect BoxBackgroundPaintContext::FixedAttachmentPositioningArea(
const PaintInfo& paint_info) const { … }
const ComputedStyle& BoxBackgroundPaintContext::Style() const { … }
const ImageResourceObserver& BoxBackgroundPaintContext::ImageClient() const { … }
const ComputedStyle& BoxBackgroundPaintContext::ImageStyle(
const ComputedStyle& fragment_style) const { … }
bool BoxBackgroundPaintContext::ShouldSkipBackgroundIfWhite() const { … }
PhysicalOffset BoxBackgroundPaintContext::OffsetInBackground(
const FillLayer& fill_layer) const { … }
}