OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2008 Apple Inc. All Rights Reserved. | 2 * Copyright (C) 2008 Apple 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 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 virtual IntRect constrainTrackRectToTrackPieces(const ScrollbarThemeClient&, | 176 virtual IntRect constrainTrackRectToTrackPieces(const ScrollbarThemeClient&, |
177 const IntRect& rect) { | 177 const IntRect& rect) { |
178 return rect; | 178 return rect; |
179 } | 179 } |
180 | 180 |
181 virtual void registerScrollbar(ScrollbarThemeClient&) {} | 181 virtual void registerScrollbar(ScrollbarThemeClient&) {} |
182 virtual void unregisterScrollbar(ScrollbarThemeClient&) {} | 182 virtual void unregisterScrollbar(ScrollbarThemeClient&) {} |
183 | 183 |
184 virtual bool isMockTheme() const { return false; } | 184 virtual bool isMockTheme() const { return false; } |
185 | 185 |
| 186 virtual bool usesNinePatchThumbResource() const { return false; } |
| 187 |
| 188 // For a nine-patch scrollbar, this defines the painting canvas size which the |
| 189 // painting code will use to paint the scrollbar into. The actual scrollbar |
| 190 // dimensions will be ignored for purposes of painting since the resource can |
| 191 // be then resized without a repaint. |
| 192 virtual IntSize ninePatchThumbCanvasSize(const ScrollbarThemeClient&) const { |
| 193 NOTREACHED(); |
| 194 return IntSize(); |
| 195 } |
| 196 |
| 197 // For a nine-patch resource, the aperture defines the size of the center |
| 198 // patch that will be stretched out. |
| 199 virtual IntRect ninePatchThumbAperture(const ScrollbarThemeClient&) const { |
| 200 NOTREACHED(); |
| 201 return IntRect(); |
| 202 } |
| 203 |
186 static ScrollbarTheme& theme(); | 204 static ScrollbarTheme& theme(); |
187 | 205 |
188 static void setMockScrollbarsEnabled(bool flag); | 206 static void setMockScrollbarsEnabled(bool flag); |
189 static bool mockScrollbarsEnabled(); | 207 static bool mockScrollbarsEnabled(); |
190 | 208 |
191 protected: | 209 protected: |
192 virtual int tickmarkBorderWidth() { return 0; } | 210 virtual int tickmarkBorderWidth() { return 0; } |
193 static DisplayItem::Type buttonPartToDisplayItemType(ScrollbarPart); | 211 static DisplayItem::Type buttonPartToDisplayItemType(ScrollbarPart); |
194 static DisplayItem::Type trackPiecePartToDisplayItemType(ScrollbarPart); | 212 static DisplayItem::Type trackPiecePartToDisplayItemType(ScrollbarPart); |
195 | 213 |
196 private: | 214 private: |
197 static ScrollbarTheme& | 215 static ScrollbarTheme& |
198 nativeTheme(); // Must be implemented to return the correct theme subclass. | 216 nativeTheme(); // Must be implemented to return the correct theme subclass. |
199 static bool gMockScrollbarsEnabled; | 217 static bool gMockScrollbarsEnabled; |
200 }; | 218 }; |
201 | 219 |
202 } // namespace blink | 220 } // namespace blink |
203 #endif | 221 #endif |
OLD | NEW |