Skip to content

Commit fc6c07c

Browse files
committed
[UXTHEME] Add a hack for themed scrollbars
- After inspecting a theme file with different upper or lower tracks it seems that windows use what is called LowerTrackHorz and LowerTrackVert in the upper track and UpperTrackHorz and UpperTrackVert are used in the lower track. CORE-13513
1 parent 51333f3 commit fc6c07c

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

dll/win32/uxtheme/ncscrollbar.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -215,16 +215,18 @@ static void SCROLL_DrawInterior( PDRAW_CONTEXT pcontext, SCROLLBARINFO* psbi,
215215
return;
216216
}
217217

218+
/* Some themes have different bitmaps for the upper and lower tracks
219+
It seems that windows use the bitmap for the lower track in the upper track */
218220
if (vertical)
219221
{
220222
rcPart = r;
221223
rcPart.bottom = thumbPos;
222-
SCROLL_ThemeDrawPart(pcontext, SBP_UPPERTRACKVERT, BUTTON_NORMAL, psbi, SCROLL_TOP_RECT, htDown, htHot, &rcPart);
224+
SCROLL_ThemeDrawPart(pcontext, SBP_LOWERTRACKVERT, BUTTON_NORMAL, psbi, SCROLL_TOP_RECT, htDown, htHot, &rcPart);
223225
r.top = rcPart.bottom;
224226

225227
rcPart = r;
226228
rcPart.top += psbi->xyThumbBottom - psbi->xyThumbTop;
227-
SCROLL_ThemeDrawPart(pcontext, SBP_LOWERTRACKVERT, BUTTON_NORMAL, psbi, SCROLL_BOTTOM_RECT, htDown, htHot, &rcPart);
229+
SCROLL_ThemeDrawPart(pcontext, SBP_UPPERTRACKVERT, BUTTON_NORMAL, psbi, SCROLL_BOTTOM_RECT, htDown, htHot, &rcPart);
228230
r.bottom = rcPart.top;
229231

230232
SCROLL_ThemeDrawPart(pcontext, SBP_THUMBBTNVERT, BUTTON_NORMAL, psbi, SCROLL_THUMB, htDown, htHot, &r);
@@ -234,12 +236,12 @@ static void SCROLL_DrawInterior( PDRAW_CONTEXT pcontext, SCROLLBARINFO* psbi,
234236
{
235237
rcPart = r;
236238
rcPart.right = thumbPos;
237-
SCROLL_ThemeDrawPart(pcontext, SBP_UPPERTRACKHORZ, BUTTON_NORMAL, psbi, SCROLL_TOP_RECT, htDown, htHot, &rcPart);
239+
SCROLL_ThemeDrawPart(pcontext, SBP_LOWERTRACKHORZ, BUTTON_NORMAL, psbi, SCROLL_TOP_RECT, htDown, htHot, &rcPart);
238240
r.left = rcPart.right;
239241

240242
rcPart = r;
241243
rcPart.left += psbi->xyThumbBottom - psbi->xyThumbTop;
242-
SCROLL_ThemeDrawPart(pcontext, SBP_LOWERTRACKHORZ, BUTTON_NORMAL, psbi, SCROLL_BOTTOM_RECT, htDown, htHot, &rcPart);
244+
SCROLL_ThemeDrawPart(pcontext, SBP_UPPERTRACKHORZ, BUTTON_NORMAL, psbi, SCROLL_BOTTOM_RECT, htDown, htHot, &rcPart);
243245
r.right = rcPart.left;
244246

245247
SCROLL_ThemeDrawPart(pcontext, SBP_THUMBBTNHORZ, BUTTON_NORMAL, psbi, SCROLL_THUMB, htDown, htHot, &r);

0 commit comments

Comments
 (0)