// We use the bottom-left corner of the caret rect to represent the // location of a VisiblePosition. This way locations corresponding to // VisiblePositions on the same line will all have the same y coordinate // unless the text is transformed. static IntPoint positionLocation(const VisiblePosition& vp) { return vp.absoluteCaretBounds().minXMaxYCorner(); }