#include "third_party/blink/renderer/core/paint/background_image_geometry.h"
#include "third_party/blink/renderer/core/paint/paint_info.h"
#include "third_party/blink/renderer/core/paint/svg_background_paint_context.h"
namespace blink {
namespace {
inline LayoutUnit GetSpaceBetweenImageTiles(LayoutUnit area_size,
LayoutUnit tile_size) { … }
LayoutUnit ComputeRoundedTileSize(LayoutUnit area_size, LayoutUnit tile_size) { … }
LayoutUnit ComputeTilePhase(LayoutUnit position, LayoutUnit tile_extent) { … }
LayoutUnit ResolveWidthForRatio(LayoutUnit height,
const PhysicalSize& natural_ratio) { … }
LayoutUnit ResolveHeightForRatio(LayoutUnit width,
const PhysicalSize& natural_ratio) { … }
LayoutUnit ResolveXPosition(const FillLayer& fill_layer,
LayoutUnit available_width,
LayoutUnit offset) { … }
LayoutUnit ResolveYPosition(const FillLayer& fill_layer,
LayoutUnit available_height,
LayoutUnit offset) { … }
}
bool NeedsFullSizeDestination(const FillLayer& fill_layer) { … }
void BackgroundImageGeometry::SetNoRepeatX(const FillLayer& fill_layer,
LayoutUnit x_offset,
LayoutUnit snapped_x_offset) { … }
void BackgroundImageGeometry::SetNoRepeatY(const FillLayer& fill_layer,
LayoutUnit y_offset,
LayoutUnit snapped_y_offset) { … }
void BackgroundImageGeometry::SetRepeatX(LayoutUnit x_offset) { … }
void BackgroundImageGeometry::SetRepeatY(LayoutUnit y_offset) { … }
void BackgroundImageGeometry::SetSpaceX(LayoutUnit space,
LayoutUnit extra_offset) { … }
void BackgroundImageGeometry::SetSpaceY(LayoutUnit space,
LayoutUnit extra_offset) { … }
SnappedAndUnsnappedOutsets BackgroundImageGeometry::ComputeDestRectAdjustments(
const FillLayer& fill_layer,
const BoxBackgroundPaintContext& paint_context,
const PhysicalRect& unsnapped_positioning_area,
bool disallow_border_derived_adjustment) const { … }
SnappedAndUnsnappedOutsets
BackgroundImageGeometry::ComputePositioningAreaAdjustments(
const FillLayer& fill_layer,
const BoxBackgroundPaintContext& paint_context,
const PhysicalRect& unsnapped_positioning_area,
bool disallow_border_derived_adjustment) const { … }
void BackgroundImageGeometry::AdjustPositioningArea(
const FillLayer& fill_layer,
const BoxBackgroundPaintContext& paint_context,
const PaintInfo& paint_info,
PhysicalRect& unsnapped_positioning_area,
PhysicalRect& snapped_positioning_area,
PhysicalOffset& unsnapped_box_offset,
PhysicalOffset& snapped_box_offset) { … }
void BackgroundImageGeometry::CalculateFillTileSize(
const FillLayer& fill_layer,
const ComputedStyle& style,
const PhysicalSize& unsnapped_positioning_area_size,
const PhysicalSize& snapped_positioning_area_size) { … }
void BackgroundImageGeometry::CalculateRepeatAndPosition(
const FillLayer& fill_layer,
const PhysicalOffset& offset_in_background,
const PhysicalSize& unsnapped_positioning_area_size,
const PhysicalSize& snapped_positioning_area_size,
const PhysicalOffset& unsnapped_box_offset,
const PhysicalOffset& snapped_box_offset) { … }
void BackgroundImageGeometry::Calculate(
const FillLayer& fill_layer,
const BoxBackgroundPaintContext& paint_context,
const PhysicalRect& paint_rect,
const PaintInfo& paint_info) { … }
gfx::RectF BackgroundImageGeometry::ComputePositioningArea(
const FillLayer& layer,
const SVGBackgroundPaintContext& paint_context) const { … }
gfx::RectF BackgroundImageGeometry::ComputePaintingArea(
const FillLayer& layer,
const SVGBackgroundPaintContext& paint_context,
const gfx::RectF& positioning_area) const { … }
void BackgroundImageGeometry::Calculate(
const FillLayer& fill_layer,
const SVGBackgroundPaintContext& paint_context) { … }
PhysicalOffset BackgroundImageGeometry::ComputePhase() const { … }
}