OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2004, 2006 Apple Computer, Inc. All rights reserved. | 2 * Copyright (C) 2004, 2006 Apple Computer, 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 | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
191 // Otherwise, the ScrollableArea may redraw using cached renderings of | 191 // Otherwise, the ScrollableArea may redraw using cached renderings of |
192 // individual parts. For instance, if the scrollbar is composited, the thumb | 192 // individual parts. For instance, if the scrollbar is composited, the thumb |
193 // may be cached in a GPU texture (and is only guaranteed to be repainted if | 193 // may be cached in a GPU texture (and is only guaranteed to be repainted if |
194 // ThumbPart is invalidated). | 194 // ThumbPart is invalidated). |
195 // | 195 // |
196 // Even if no parts are invalidated, the scrollbar may need to be redrawn | 196 // Even if no parts are invalidated, the scrollbar may need to be redrawn |
197 // if, for instance, the thumb moves without changing the appearance of any | 197 // if, for instance, the thumb moves without changing the appearance of any |
198 // part. | 198 // part. |
199 void setNeedsPaintInvalidation(ScrollbarPart invalidParts); | 199 void setNeedsPaintInvalidation(ScrollbarPart invalidParts); |
200 | 200 |
| 201 bool hasScrollCorner() const; |
| 202 |
201 // Promptly unregister from the theme manager + run finalizers of derived | 203 // Promptly unregister from the theme manager + run finalizers of derived |
202 // Scrollbars. | 204 // Scrollbars. |
203 EAGERLY_FINALIZE(); | 205 EAGERLY_FINALIZE(); |
204 DECLARE_EAGER_FINALIZATION_OPERATOR_NEW(); | 206 DECLARE_EAGER_FINALIZATION_OPERATOR_NEW(); |
205 DECLARE_VIRTUAL_TRACE(); | 207 DECLARE_VIRTUAL_TRACE(); |
206 | 208 |
207 protected: | 209 protected: |
208 Scrollbar(ScrollableArea*, | 210 Scrollbar(ScrollableArea*, |
209 ScrollbarOrientation, | 211 ScrollbarOrientation, |
210 ScrollbarControlSize, | 212 ScrollbarControlSize, |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
251 } | 253 } |
252 | 254 |
253 float scrollableAreaCurrentPos() const; | 255 float scrollableAreaCurrentPos() const; |
254 float scrollableAreaTargetPos() const; | 256 float scrollableAreaTargetPos() const; |
255 bool thumbWillBeUnderMouse() const; | 257 bool thumbWillBeUnderMouse() const; |
256 | 258 |
257 int m_themeScrollbarThickness; | 259 int m_themeScrollbarThickness; |
258 bool m_trackNeedsRepaint; | 260 bool m_trackNeedsRepaint; |
259 bool m_thumbNeedsRepaint; | 261 bool m_thumbNeedsRepaint; |
260 LayoutRect m_visualRect; | 262 LayoutRect m_visualRect; |
| 263 bool m_hitBeginOrEnd; |
261 }; | 264 }; |
262 | 265 |
263 DEFINE_TYPE_CASTS(Scrollbar, | 266 DEFINE_TYPE_CASTS(Scrollbar, |
264 FrameViewBase, | 267 FrameViewBase, |
265 frameViewBase, | 268 frameViewBase, |
266 frameViewBase->isScrollbar(), | 269 frameViewBase->isScrollbar(), |
267 frameViewBase.isScrollbar()); | 270 frameViewBase.isScrollbar()); |
268 | 271 |
269 } // namespace blink | 272 } // namespace blink |
270 | 273 |
271 #endif // Scrollbar_h | 274 #endif // Scrollbar_h |
OLD | NEW |