Huw Davies : riched20: Use row and para ptrs in the ensure visible function.
Alexandre Julliard
julliard at winehq.org
Tue Oct 27 16:43:49 CDT 2020
Module: wine
Branch: master
Commit: 1abbb78a0949f238cca4b8e09aa0c7ee085d1389
URL: https://source.winehq.org/git/wine.git/?a=commit;h=1abbb78a0949f238cca4b8e09aa0c7ee085d1389
Author: Huw Davies <huw at codeweavers.com>
Date: Tue Oct 27 08:23:29 2020 +0000
riched20: Use row and para ptrs in the ensure visible function.
Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/riched20/caret.c | 10 ++++------
dlls/riched20/editor.c | 2 +-
dlls/riched20/editor.h | 2 +-
dlls/riched20/paint.c | 25 ++++++++++++-------------
4 files changed, 18 insertions(+), 21 deletions(-)
diff --git a/dlls/riched20/caret.c b/dlls/riched20/caret.c
index 6a8f1e1cd71..47fe77df922 100644
--- a/dlls/riched20/caret.c
+++ b/dlls/riched20/caret.c
@@ -1176,13 +1176,11 @@ void ME_MouseMove(ME_TextEditor *editor, int x, int y)
if (editor->nSelectionType != stPosition &&
memcmp(&editor->pCursors[1], &editor->pCursors[3], sizeof(ME_Cursor)))
- {
/* The scroll the cursor towards the other end, since it was the one
* extended by ME_ExtendAnchorSelection */
- ME_EnsureVisible(editor, &editor->pCursors[1]);
- } else {
- ME_EnsureVisible(editor, &editor->pCursors[0]);
- }
+ editor_ensure_visible( editor, &editor->pCursors[1] );
+ else
+ editor_ensure_visible( editor, &editor->pCursors[0] );
ME_InvalidateSelection(editor);
update_caret(editor);
@@ -1520,7 +1518,7 @@ ME_ArrowKey(ME_TextEditor *editor, int nVKey, BOOL extend, BOOL ctrl)
ME_InvalidateSelection(editor);
ME_Repaint(editor);
hide_caret(editor);
- ME_EnsureVisible(editor, &tmp_curs);
+ editor_ensure_visible( editor, &tmp_curs );
update_caret(editor);
ME_SendSelChange(editor);
return success;
diff --git a/dlls/riched20/editor.c b/dlls/riched20/editor.c
index 6a2e96a3c7c..462245db233 100644
--- a/dlls/riched20/editor.c
+++ b/dlls/riched20/editor.c
@@ -4095,7 +4095,7 @@ LRESULT ME_HandleMessage(ME_TextEditor *editor, UINT msg, WPARAM wParam,
return len;
}
case EM_SCROLLCARET:
- ME_EnsureVisible(editor, &editor->pCursors[0]);
+ editor_ensure_visible( editor, &editor->pCursors[0] );
return 0;
case WM_SETFONT:
{
diff --git a/dlls/riched20/editor.h b/dlls/riched20/editor.h
index ba1e5c169ff..1a2346854e7 100644
--- a/dlls/riched20/editor.h
+++ b/dlls/riched20/editor.h
@@ -242,7 +242,7 @@ void ME_PaintContent(ME_TextEditor *editor, HDC hDC, const RECT *rcUpdate) DECLS
void ME_Repaint(ME_TextEditor *editor) DECLSPEC_HIDDEN;
void ME_RewrapRepaint(ME_TextEditor *editor) DECLSPEC_HIDDEN;
void ME_UpdateRepaint(ME_TextEditor *editor, BOOL update_now) DECLSPEC_HIDDEN;
-void ME_EnsureVisible(ME_TextEditor *editor, ME_Cursor *pCursor) DECLSPEC_HIDDEN;
+void editor_ensure_visible( ME_TextEditor *editor, ME_Cursor *cursor ) DECLSPEC_HIDDEN;
void ME_InvalidateSelection(ME_TextEditor *editor) DECLSPEC_HIDDEN;
BOOL ME_SetZoom(ME_TextEditor *editor, int numerator, int denominator) DECLSPEC_HIDDEN;
int ME_twips2pointsX(const ME_Context *c, int x) DECLSPEC_HIDDEN;
diff --git a/dlls/riched20/paint.c b/dlls/riched20/paint.c
index 0c37fc7c707..180307ae01b 100644
--- a/dlls/riched20/paint.c
+++ b/dlls/riched20/paint.c
@@ -117,7 +117,7 @@ void ME_UpdateRepaint(ME_TextEditor *editor, BOOL update_now)
ME_UpdateScrollBar(editor);
/* Ensure that the cursor is visible */
- ME_EnsureVisible(editor, &editor->pCursors[0]);
+ editor_ensure_visible( editor, &editor->pCursors[0] );
ITextHost_TxViewChange(editor->texthost, update_now);
@@ -1269,19 +1269,17 @@ void ME_UpdateScrollBar(ME_TextEditor *editor)
}
}
-void ME_EnsureVisible(ME_TextEditor *editor, ME_Cursor *pCursor)
+void editor_ensure_visible( ME_TextEditor *editor, ME_Cursor *cursor )
{
- ME_Run *pRun = &pCursor->pRun->member.run;
- ME_DisplayItem *pRow = ME_FindItemBack(pCursor->pRun, diStartRow);
- ME_DisplayItem *pPara = pCursor->pPara;
+ ME_Run *run = &cursor->pRun->member.run;
+ ME_Row *row = row_from_cursor( cursor );
+ ME_Paragraph *para = &cursor->pPara->member.para;
int x, y, yheight;
- assert(pRow);
- assert(pPara);
if (editor->styleFlags & ES_AUTOHSCROLL)
{
- x = pRun->pt.x + ME_PointFromChar(editor, pRun, pCursor->nOffset, TRUE);
+ x = run->pt.x + ME_PointFromChar( editor, run, cursor->nOffset, TRUE );
if (x > editor->horz_si.nPos + editor->sizeWindow.cx)
x = x + 1 - editor->sizeWindow.cx;
else if (x > editor->horz_si.nPos)
@@ -1292,14 +1290,15 @@ void ME_EnsureVisible(ME_TextEditor *editor, ME_Cursor *pCursor)
ME_HScrollAbs(editor, x);
return;
}
- } else {
- if (~editor->styleFlags & ES_AUTOVSCROLL)
- return;
+ }
+ else
+ {
+ if (~editor->styleFlags & ES_AUTOVSCROLL) return;
x = editor->horz_si.nPos;
}
- y = pPara->member.para.pt.y + pRow->member.row.pt.y;
- yheight = pRow->member.row.nHeight;
+ y = para->pt.y + row->pt.y;
+ yheight = row->nHeight;
if (y < editor->vert_si.nPos)
ME_ScrollAbs(editor, x, y);
More information about the wine-cvs
mailing list