scrollbar fix, updated readme
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@988 dfc29bdd-3216-0410-991c-e03cc46cb475master
parent
490609e5e9
commit
4b2edf78e3
|
@ -200,6 +200,7 @@ GUI:
|
|||
Scrollbars are now only visible when the list doesn't fit in the visible area.
|
||||
You can now type an item's text to select it.
|
||||
|
||||
- IGUIScrollBar new methods set/getLargeStep
|
||||
|
||||
-------------------------------------------
|
||||
Changes in version 1.3.1 (20 Jun 2007)
|
||||
|
|
|
@ -151,6 +151,7 @@ bool CGUIScrollBar::OnEvent(const SEvent& event)
|
|||
{
|
||||
Dragging = true;
|
||||
DraggedBySlider = SliderRect.isPointInside(core::position2di(event.MouseInput.X, event.MouseInput.Y));
|
||||
TrayClick = !DraggedBySlider;
|
||||
DesiredPos = getPosFromMousePos(event.MouseInput.X, event.MouseInput.Y);
|
||||
return true;
|
||||
}
|
||||
|
@ -229,19 +230,27 @@ void CGUIScrollBar::draw()
|
|||
{
|
||||
LastChange = now;
|
||||
|
||||
s32 oldPos = Pos;
|
||||
|
||||
if (DesiredPos >= Pos + LargeStep)
|
||||
setPos(Pos + LargeStep);
|
||||
else
|
||||
if (DesiredPos >= Pos + SmallStep)
|
||||
setPos(Pos + SmallStep);
|
||||
else
|
||||
if (DesiredPos <= Pos - LargeStep)
|
||||
setPos(Pos - LargeStep);
|
||||
else
|
||||
if (DesiredPos <= Pos - SmallStep)
|
||||
setPos(Pos - SmallStep);
|
||||
}
|
||||
if (DesiredPos >= Pos - LargeStep && DesiredPos <= Pos + LargeStep)
|
||||
setPos(DesiredPos);
|
||||
|
||||
if (Pos != oldPos && Parent)
|
||||
{
|
||||
SEvent newEvent;
|
||||
newEvent.EventType = EET_GUI_EVENT;
|
||||
newEvent.GUIEvent.Caller = this;
|
||||
newEvent.GUIEvent.Element = 0;
|
||||
newEvent.GUIEvent.EventType = EGET_SCROLL_BAR_CHANGED;
|
||||
Parent->OnEvent(newEvent);
|
||||
}
|
||||
}
|
||||
|
||||
SliderRect = AbsoluteRect;
|
||||
|
||||
|
|
Loading…
Reference in New Issue