#include "third_party/blink/renderer/core/layout/inline/caret_rect.h"
#include "third_party/blink/renderer/core/editing/local_caret_rect.h"
#include "third_party/blink/renderer/core/frame/local_frame_view.h"
#include "third_party/blink/renderer/core/layout/geometry/physical_rect.h"
#include "third_party/blink/renderer/core/layout/inline/inline_caret_position.h"
#include "third_party/blink/renderer/core/layout/layout_block_flow.h"
#include "third_party/blink/renderer/core/layout/layout_text_combine.h"
#include "third_party/blink/renderer/core/layout/physical_box_fragment.h"
#include "third_party/blink/renderer/platform/wtf/math_extras.h"
namespace blink {
namespace {
TextDirection ResolvedDirection(const InlineCursor& cursor) { … }
PhysicalRect ComputeLocalCaretRectByBoxSide(
const InlineCursor& cursor,
InlineCaretPositionType position_type) { … }
bool ShouldAlignCaretRight(ETextAlign text_align, TextDirection direction) { … }
LayoutUnit ClampAndRound(LayoutUnit value, LayoutUnit min, LayoutUnit max) { … }
PhysicalRect ComputeLocalCaretRectAtTextOffset(const InlineCursor& cursor,
unsigned offset) { … }
}
LocalCaretRect ComputeLocalCaretRect(
const InlineCaretPosition& caret_position) { … }
LocalCaretRect ComputeLocalSelectionRect(
const InlineCaretPosition& caret_position) { … }
}