[2/2] comctl32/tab: Fix filled rectangle calculation for selected button on TCS_BUTTONS
Nikolay Sivov
bunglehead at gmail.com
Mon Apr 6 16:30:07 CDT 2009
This makes selected button look like it should on TCS_BUTTONS:
- TCS_BOTTOM;
- TCS_BOTTOM | TCS_VERTICAL;
- TCS_VERTICAL.
One drawing bug still occurs on TCS_BOTTOM only:
most top (or most left) row (column) isn't invalidated properly - only a half rectanlge's
invalidated and repainted. After forced repaint it looks properly.
This's another bug, seems to be not related.
Changelog:
- Fix filled rectangle calculation for selected button on TCS_BUTTONS
>From 0c4c8756ffde776089c06c48bc316b8c6da2273f Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <bunglehead at gmail.com>
Date: Mon, 6 Apr 2009 17:13:51 -0400
Subject: Fix filled rectangle calculation for selected button on TCS_BUTTONS
---
dlls/comctl32/tab.c | 17 ++++++++++++++++-
1 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/dlls/comctl32/tab.c b/dlls/comctl32/tab.c
index 525d17b..4eebd15 100644
--- a/dlls/comctl32/tab.c
+++ b/dlls/comctl32/tab.c
@@ -1570,7 +1570,22 @@ TAB_DrawItemInterior(const TAB_INFO *infoPtr, HDC hdc, INT iItem, RECT *drawRect
drawRect->left += 4;
drawRect->top += 4;
drawRect->right -= 4;
- drawRect->bottom -= 1;
+
+ if (lStyle & TCS_VERTICAL)
+ {
+ if (!(lStyle & TCS_BOTTOM)) drawRect->right += 1;
+ drawRect->bottom -= 4;
+ }
+ else
+ {
+ if (lStyle & TCS_BOTTOM)
+ {
+ drawRect->top -= 2;
+ drawRect->bottom -= 4;
+ }
+ else
+ drawRect->bottom -= 1;
+ }
}
else
{
--
1.5.6.5
More information about the wine-patches
mailing list