[PATCH 4/5] riched20: Fill the selection bar.
Huw Davies
huw at codeweavers.com
Tue Mar 23 08:04:06 CDT 2021
Signed-off-by: Huw Davies <huw at codeweavers.com>
---
dlls/riched20/paint.c | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/dlls/riched20/paint.c b/dlls/riched20/paint.c
index 0d9916cd206..e6eef7a0acd 100644
--- a/dlls/riched20/paint.c
+++ b/dlls/riched20/paint.c
@@ -32,6 +32,7 @@ void ME_PaintContent(ME_TextEditor *editor, HDC hDC, const RECT *rcUpdate)
ME_Cell *cell;
int ys, ye;
HRGN oldRgn;
+ RECT rc;
HBRUSH brush = CreateSolidBrush( ITextHost_TxGetSysColor( editor->texthost, COLOR_WINDOW ) );
ME_InitContext( &c, editor, hDC );
@@ -73,21 +74,24 @@ void ME_PaintContent(ME_TextEditor *editor, HDC hDC, const RECT *rcUpdate)
para = para_next( para );
}
if (c.pt.y + editor->nTotalLength < c.rcView.bottom)
- {
- /* Fill space after the end of the text. */
- RECT rc;
+ { /* space after the end of the text */
rc.top = c.pt.y + editor->nTotalLength;
rc.left = c.rcView.left;
rc.bottom = c.rcView.bottom;
rc.right = c.rcView.right;
-
- IntersectRect(&rc, &rc, rcUpdate);
-
- if (!IsRectEmpty(&rc))
+ if (IntersectRect( &rc, &rc, rcUpdate ))
PatBlt(hDC, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, PATCOPY);
}
- if (editor->nTotalLength != editor->nLastTotalLength ||
- editor->nTotalWidth != editor->nLastTotalWidth)
+ if (editor->selofs)
+ { /* selection bar */
+ rc.left = c.rcView.left - editor->selofs;
+ rc.top = c.rcView.top;
+ rc.right = c.rcView.left;
+ rc.bottom = c.rcView.bottom;
+ if (IntersectRect( &rc, &rc, rcUpdate ))
+ PatBlt( hDC, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, PATCOPY );
+ }
+ if (editor->nTotalLength != editor->nLastTotalLength || editor->nTotalWidth != editor->nLastTotalWidth)
ME_SendRequestResize(editor, FALSE);
editor->nLastTotalLength = editor->nTotalLength;
editor->nLastTotalWidth = editor->nTotalWidth;
--
2.23.0
More information about the wine-devel
mailing list