Huw Davies : riched20: Fill the selection bar.

Alexandre Julliard julliard at winehq.org
Tue Mar 23 16:54:31 CDT 2021


Module: wine
Branch: master
Commit: 93b634877971ce8bf8b69202eba9b4ec460ed653
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=93b634877971ce8bf8b69202eba9b4ec460ed653

Author: Huw Davies <huw at codeweavers.com>
Date:   Tue Mar 23 13:04:06 2021 +0000

riched20: Fill the selection bar.

Signed-off-by: Huw Davies <huw at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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;




More information about the wine-cvs mailing list