OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2010, Google Inc. All rights reserved. | 2 * Copyright (c) 2010, Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
48 | 48 |
49 ScrollAnimator::~ScrollAnimator() | 49 ScrollAnimator::~ScrollAnimator() |
50 { | 50 { |
51 } | 51 } |
52 | 52 |
53 ScrollResultOneDimensional ScrollAnimator::scroll(ScrollbarOrientation orientati
on, ScrollGranularity, float step, float delta) | 53 ScrollResultOneDimensional ScrollAnimator::scroll(ScrollbarOrientation orientati
on, ScrollGranularity, float step, float delta) |
54 { | 54 { |
55 float& currentPos = (orientation == HorizontalScrollbar) ? m_currentPosX : m
_currentPosY; | 55 float& currentPos = (orientation == HorizontalScrollbar) ? m_currentPosX : m
_currentPosY; |
56 float newPos = clampScrollPosition(orientation, currentPos + step * delta); | 56 float newPos = clampScrollPosition(orientation, currentPos + step * delta); |
57 if (currentPos == newPos) | 57 if (currentPos == newPos) |
58 return ScrollResultOneDimensional(false); | 58 return ScrollResultOneDimensional(false, delta); |
59 | 59 |
60 float usedDelta = (newPos - currentPos) / step; | 60 float usedDelta = (newPos - currentPos) / step; |
61 currentPos = newPos; | 61 currentPos = newPos; |
62 | 62 |
63 notifyPositionChanged(); | 63 notifyPositionChanged(); |
64 | 64 |
65 return ScrollResultOneDimensional(true, delta - usedDelta); | 65 return ScrollResultOneDimensional(true, delta - usedDelta); |
66 } | 66 } |
67 | 67 |
68 void ScrollAnimator::scrollToOffsetWithoutAnimation(const FloatPoint& offset) | 68 void ScrollAnimator::scrollToOffsetWithoutAnimation(const FloatPoint& offset) |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 } | 162 } |
163 | 163 |
164 float ScrollAnimator::clampScrollPosition(ScrollbarOrientation orientation, floa
t pos) | 164 float ScrollAnimator::clampScrollPosition(ScrollbarOrientation orientation, floa
t pos) |
165 { | 165 { |
166 float maxScrollPos = m_scrollableArea->maximumScrollPosition(orientation); | 166 float maxScrollPos = m_scrollableArea->maximumScrollPosition(orientation); |
167 float minScrollPos = m_scrollableArea->minimumScrollPosition(orientation); | 167 float minScrollPos = m_scrollableArea->minimumScrollPosition(orientation); |
168 return std::max(std::min(pos, maxScrollPos), minScrollPos); | 168 return std::max(std::min(pos, maxScrollPos), minScrollPos); |
169 } | 169 } |
170 | 170 |
171 } // namespace blink | 171 } // namespace blink |
OLD | NEW |