svn path=/trunk/; revision=73790
pt.y -= psbi->rcScrollBar.top;
if (pt.y < psbi->xyThumbTop)
return SCROLL_TOP_RECT;
pt.y -= psbi->rcScrollBar.top;
if (pt.y < psbi->xyThumbTop)
return SCROLL_TOP_RECT;
- if (pt.y >= psbi->xyThumbTop + psbi->dxyLineButton)
+ if (pt.y >= psbi->xyThumbBottom)
return SCROLL_BOTTOM_RECT;
}
else /* horizontal */
return SCROLL_BOTTOM_RECT;
}
else /* horizontal */
pt.x -= psbi->rcScrollBar.left;
if (pt.x < psbi->xyThumbTop)
return SCROLL_TOP_RECT;
pt.x -= psbi->rcScrollBar.left;
if (pt.x < psbi->xyThumbTop)
return SCROLL_TOP_RECT;
- if (pt.x >= psbi->xyThumbTop + psbi->dxyLineButton)
+ if (pt.x >= psbi->xyThumbBottom)
return SCROLL_BOTTOM_RECT;
}
return SCROLL_THUMB;
return SCROLL_BOTTOM_RECT;
}
return SCROLL_THUMB;
if (vertical)
{
rcPart = r;
if (vertical)
{
rcPart = r;
- rcPart.bottom = rcPart.top + thumbPos - psbi->dxyLineButton;
+ rcPart.bottom = thumbPos;
SCROLL_ThemeDrawPart(pcontext, SBP_UPPERTRACKVERT, BUTTON_NORMAL, psbi, SCROLL_TOP_RECT, htDown, htHot, &rcPart);
r.top = rcPart.bottom;
rcPart = r;
SCROLL_ThemeDrawPart(pcontext, SBP_UPPERTRACKVERT, BUTTON_NORMAL, psbi, SCROLL_TOP_RECT, htDown, htHot, &rcPart);
r.top = rcPart.bottom;
rcPart = r;
- rcPart.top += psbi->dxyLineButton;
+ rcPart.top += psbi->xyThumbBottom - psbi->xyThumbTop;
SCROLL_ThemeDrawPart(pcontext, SBP_LOWERTRACKVERT, BUTTON_NORMAL, psbi, SCROLL_BOTTOM_RECT, htDown, htHot, &rcPart);
r.bottom = rcPart.top;
SCROLL_ThemeDrawPart(pcontext, SBP_LOWERTRACKVERT, BUTTON_NORMAL, psbi, SCROLL_BOTTOM_RECT, htDown, htHot, &rcPart);
r.bottom = rcPart.top;
else /* horizontal */
{
rcPart = r;
else /* horizontal */
{
rcPart = r;
- rcPart.right = rcPart.left + thumbPos - psbi->dxyLineButton;
+ rcPart.right = thumbPos;
SCROLL_ThemeDrawPart(pcontext, SBP_UPPERTRACKHORZ, BUTTON_NORMAL, psbi, SCROLL_TOP_RECT, htDown, htHot, &rcPart);
r.left = rcPart.right;
rcPart = r;
SCROLL_ThemeDrawPart(pcontext, SBP_UPPERTRACKHORZ, BUTTON_NORMAL, psbi, SCROLL_TOP_RECT, htDown, htHot, &rcPart);
r.left = rcPart.right;
rcPart = r;
- rcPart.left += psbi->dxyLineButton;
+ rcPart.left += psbi->xyThumbBottom - psbi->xyThumbTop;
SCROLL_ThemeDrawPart(pcontext, SBP_LOWERTRACKHORZ, BUTTON_NORMAL, psbi, SCROLL_BOTTOM_RECT, htDown, htHot, &rcPart);
r.right = rcPart.left;
SCROLL_ThemeDrawPart(pcontext, SBP_LOWERTRACKHORZ, BUTTON_NORMAL, psbi, SCROLL_BOTTOM_RECT, htDown, htHot, &rcPart);
r.right = rcPart.left;
if( vertical )
max_size = psbi->rcScrollBar.bottom - psbi->rcScrollBar.top;
else
if( vertical )
max_size = psbi->rcScrollBar.bottom - psbi->rcScrollBar.top;
else
- max_size = psbi->rcScrollBar.right - psbi->rcScrollBar.left;
+ max_size = psbi->rcScrollBar.right - psbi->rcScrollBar.left;
- max_size -= (psbi->dxyLineButton -SCROLL_ARROW_THUMB_OVERLAP) + psbi->dxyLineButton;
+ max_size -= psbi->xyThumbBottom - psbi->xyThumbTop + psbi->dxyLineButton;
- if( pos < (psbi->dxyLineButton-SCROLL_ARROW_THUMB_OVERLAP) )
- pos = (psbi->dxyLineButton-SCROLL_ARROW_THUMB_OVERLAP);
+ if( pos < (psbi->dxyLineButton) )
+ pos = (psbi->dxyLineButton);
else if( pos > max_size )
pos = max_size;
else if( pos > max_size )
pos = max_size;
BOOL vertical;
enum SCROLL_HITTEST htHot = SCROLL_NOWHERE;
BOOL vertical;
enum SCROLL_HITTEST htHot = SCROLL_NOWHERE;
+ if (SCROLL_TrackingWin)
+ return;
+
+ if (((nBar == SB_VERT) && !(pcontext->wi.dwStyle & WS_VSCROLL)) ||
+ ((nBar == SB_HORZ) && !(pcontext->wi.dwStyle & WS_HSCROLL))) return;
+
/* Retrieve scrollbar info */
sbi.cbSize = sizeof(sbi);
si.cbSize = sizeof(si);
/* Retrieve scrollbar info */
sbi.cbSize = sizeof(sbi);
si.cbSize = sizeof(si);
ScreenToWindow(pcontext->hWnd, pt);
htHot = SCROLL_HitTest(pcontext->hWnd, &sbi, vertical, *pt, FALSE);
}
ScreenToWindow(pcontext->hWnd, pt);
htHot = SCROLL_HitTest(pcontext->hWnd, &sbi, vertical, *pt, FALSE);
}
-
- if (((nBar == SB_VERT) && !(pcontext->wi.dwStyle & WS_VSCROLL)) ||
- ((nBar == SB_HORZ) && !(pcontext->wi.dwStyle & WS_HSCROLL))) return;
/* do not draw if the scrollbar rectangle is empty */
if(IsRectEmpty(&sbi.rcScrollBar)) return;
/* do not draw if the scrollbar rectangle is empty */
if(IsRectEmpty(&sbi.rcScrollBar)) return;