| 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 24 matching lines...) Expand all Loading... |
| 35 namespace WebCore { | 35 namespace WebCore { |
| 36 | 36 |
| 37 class GraphicsContext; | 37 class GraphicsContext; |
| 38 class IntRect; | 38 class IntRect; |
| 39 class ScrollbarClient; | 39 class ScrollbarClient; |
| 40 class ScrollbarTheme; | 40 class ScrollbarTheme; |
| 41 class PlatformMouseEvent; | 41 class PlatformMouseEvent; |
| 42 | 42 |
| 43 class Scrollbar : public Widget { | 43 class Scrollbar : public Widget { |
| 44 public: | 44 public: |
| 45 enum ScrollSource { |
| 46 FromScrollAnimator, |
| 47 NotFromScrollAnimator, |
| 48 }; |
| 49 |
| 45 virtual ~Scrollbar(); | 50 virtual ~Scrollbar(); |
| 46 | 51 |
| 47 // Must be implemented by platforms that can't simply use the Scrollbar base
class. Right now the only platform that is not using the base class is GTK. | 52 // Must be implemented by platforms that can't simply use the Scrollbar base
class. Right now the only platform that is not using the base class is GTK. |
| 48 static PassRefPtr<Scrollbar> createNativeScrollbar(ScrollbarClient* client,
ScrollbarOrientation orientation, ScrollbarControlSize size); | 53 static PassRefPtr<Scrollbar> createNativeScrollbar(ScrollbarClient* client,
ScrollbarOrientation orientation, ScrollbarControlSize size); |
| 49 | 54 |
| 50 static int pixelsPerLineStep() { return 40; } | 55 static int pixelsPerLineStep() { return 40; } |
| 51 static float minFractionToStepWhenPaging() { return 0.875f; } | 56 static float minFractionToStepWhenPaging() { return 0.875f; } |
| 52 static int maxOverlapBetweenPages(); | 57 static int maxOverlapBetweenPages(); |
| 53 | 58 |
| 54 void setClient(ScrollbarClient* client) { m_client = client; } | 59 void setClient(ScrollbarClient* client) { m_client = client; } |
| (...skipping 13 matching lines...) Expand all Loading... |
| 68 int lineStep() const { return m_lineStep; } | 73 int lineStep() const { return m_lineStep; } |
| 69 int pageStep() const { return m_pageStep; } | 74 int pageStep() const { return m_pageStep; } |
| 70 float pixelStep() const { return m_pixelStep; } | 75 float pixelStep() const { return m_pixelStep; } |
| 71 | 76 |
| 72 ScrollbarPart pressedPart() const { return m_pressedPart; } | 77 ScrollbarPart pressedPart() const { return m_pressedPart; } |
| 73 ScrollbarPart hoveredPart() const { return m_hoveredPart; } | 78 ScrollbarPart hoveredPart() const { return m_hoveredPart; } |
| 74 virtual void setHoveredPart(ScrollbarPart); | 79 virtual void setHoveredPart(ScrollbarPart); |
| 75 virtual void setPressedPart(ScrollbarPart); | 80 virtual void setPressedPart(ScrollbarPart); |
| 76 | 81 |
| 77 void setSteps(int lineStep, int pageStep, int pixelsPerStep = 1); | 82 void setSteps(int lineStep, int pageStep, int pixelsPerStep = 1); |
| 78 bool setValue(int); | 83 bool setValue(int, ScrollSource source); |
| 79 void setProportion(int visibleSize, int totalSize); | 84 void setProportion(int visibleSize, int totalSize); |
| 80 void setPressedPos(int p) { m_pressedPos = p; } | 85 void setPressedPos(int p) { m_pressedPos = p; } |
| 81 | 86 |
| 82 bool scroll(ScrollDirection, ScrollGranularity, float multiplier = 1); | 87 bool scroll(ScrollDirection, ScrollGranularity, float multiplier = 1); |
| 83 | 88 |
| 84 virtual void paint(GraphicsContext*, const IntRect& damageRect); | 89 virtual void paint(GraphicsContext*, const IntRect& damageRect); |
| 85 | 90 |
| 86 bool enabled() const { return m_enabled; } | 91 bool enabled() const { return m_enabled; } |
| 87 virtual void setEnabled(bool e); | 92 virtual void setEnabled(bool e); |
| 88 | 93 |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 160 bool m_enabled; | 165 bool m_enabled; |
| 161 | 166 |
| 162 Timer<Scrollbar> m_scrollTimer; | 167 Timer<Scrollbar> m_scrollTimer; |
| 163 bool m_overlapsResizer; | 168 bool m_overlapsResizer; |
| 164 | 169 |
| 165 bool m_suppressInvalidation; | 170 bool m_suppressInvalidation; |
| 166 | 171 |
| 167 private: | 172 private: |
| 168 virtual bool isScrollbar() const { return true; } | 173 virtual bool isScrollbar() const { return true; } |
| 169 | 174 |
| 170 bool setCurrentPos(float pos); | 175 bool setCurrentPos(float pos, ScrollSource source); |
| 171 }; | 176 }; |
| 172 | 177 |
| 173 } | 178 } |
| 174 | 179 |
| 175 #endif | 180 #endif |
| OLD | NEW |