#include "third_party/blink/renderer/core/layout/shapes/shape_outside_info.h"
#include <memory>
#include "base/auto_reset.h"
#include "third_party/blink/renderer/core/frame/web_feature.h"
#include "third_party/blink/renderer/core/inspector/console_message.h"
#include "third_party/blink/renderer/core/layout/geometry/logical_rect.h"
#include "third_party/blink/renderer/core/layout/geometry/writing_mode_converter.h"
#include "third_party/blink/renderer/core/layout/layout_block_flow.h"
#include "third_party/blink/renderer/core/layout/layout_box.h"
#include "third_party/blink/renderer/core/layout/layout_image.h"
#include "third_party/blink/renderer/core/paint/rounded_border_geometry.h"
#include "third_party/blink/renderer/platform/geometry/length_functions.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"
namespace blink {
namespace {
gfx::Rect ToPixelSnappedLogicalRect(const LogicalRect& rect) { … }
PhysicalToLogicalGetter<LayoutUnit, LayoutBox> LogicalBorder(
const LayoutBox& layout_box,
const ComputedStyle& container_style) { … }
PhysicalToLogicalGetter<LayoutUnit, LayoutBox> LogicalPadding(
const LayoutBox& layout_box,
const ComputedStyle& container_style) { … }
}
CSSBoxType ReferenceBox(const ShapeValue& shape_value) { … }
void ShapeOutsideInfo::SetReferenceBoxLogicalSize(
LogicalSize new_reference_box_logical_size,
LogicalSize margin_size) { … }
void ShapeOutsideInfo::SetPercentageResolutionInlineSize(
LayoutUnit percentage_resolution_inline_size) { … }
static bool CheckShapeImageOrigin(Document& document,
const StyleImage& style_image) { … }
static PhysicalRect GetShapeImagePhysicalMarginRect(
const LayoutBox& layout_box,
const PhysicalSize& reference_physical_size) { … }
static LogicalRect GetShapeImageMarginRect(
const LayoutBox& layout_box,
const LogicalSize& reference_box_logical_size) { … }
PhysicalSize ShapeOutsideInfo::ReferenceBoxPhysicalSize() const { … }
std::unique_ptr<Shape> ShapeOutsideInfo::CreateShapeForImage(
StyleImage* style_image,
float shape_image_threshold,
WritingMode writing_mode,
float margin) const { … }
const Shape& ShapeOutsideInfo::ComputedShape() const { … }
LayoutUnit ShapeOutsideInfo::BlockStartOffset() const { … }
LayoutUnit ShapeOutsideInfo::InlineStartOffset() const { … }
bool ShapeOutsideInfo::IsEnabledFor(const LayoutBox& box) { … }
PhysicalRect ShapeOutsideInfo::ComputedShapePhysicalBoundingBox() const { … }
gfx::PointF ShapeOutsideInfo::ShapeToLayoutObjectPoint(
gfx::PointF point) const { … }
ShapeOutsideInfo::InfoMap& ShapeOutsideInfo::GetInfoMap() { … }
void ShapeOutsideInfo::Trace(Visitor* visitor) const { … }
}