mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-09-07 01:09:54 +08:00
fix(editor): incorrect text position in turbo renderer (#10728)
Fixed incorrect text positioning regression across multiple lines (#10624) Before:  After: 
This commit is contained in:
@@ -53,13 +53,13 @@ function getParagraphs(host: EditorHost) {
|
|||||||
const sentences = segmentSentences(paragraphNode.textContent || '');
|
const sentences = segmentSentences(paragraphNode.textContent || '');
|
||||||
paragraph.sentences = sentences.map(sentence => {
|
paragraph.sentences = sentences.map(sentence => {
|
||||||
const sentenceRects = getSentenceRects(paragraphNode, sentence);
|
const sentenceRects = getSentenceRects(paragraphNode, sentence);
|
||||||
const rects = sentenceRects.map(({ rect }) => {
|
const rects = sentenceRects.map(({ text, rect }) => {
|
||||||
const [modelX, modelY] = clientToModelCoord(viewportRecord, [
|
const [modelX, modelY] = clientToModelCoord(viewportRecord, [
|
||||||
rect.x,
|
rect.x,
|
||||||
rect.y,
|
rect.y,
|
||||||
]);
|
]);
|
||||||
return {
|
return {
|
||||||
text: sentence,
|
text,
|
||||||
...rect,
|
...rect,
|
||||||
rect: {
|
rect: {
|
||||||
x: modelX,
|
x: modelX,
|
||||||
@@ -105,10 +105,7 @@ export function getViewportLayout(
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
const layoutModelCoord = clientToModelCoord(viewport, [
|
const layoutModelCoord = [layoutMinX, layoutMinY];
|
||||||
layoutMinX,
|
|
||||||
layoutMinY,
|
|
||||||
]);
|
|
||||||
const w = (layoutMaxX - layoutMinX) / zoom / viewport.viewScale;
|
const w = (layoutMaxX - layoutMinX) / zoom / viewport.viewScale;
|
||||||
const h = (layoutMaxY - layoutMinY) / zoom / viewport.viewScale;
|
const h = (layoutMaxY - layoutMinY) / zoom / viewport.viewScale;
|
||||||
const layout: ViewportLayout = {
|
const layout: ViewportLayout = {
|
||||||
|
|||||||
Reference in New Issue
Block a user