| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 79 updateEnabledState(scrollbar); | 79 updateEnabledState(scrollbar); |
| 80 updateScrollbarOverlayStyle(scrollbar); | 80 updateScrollbarOverlayStyle(scrollbar); |
| 81 } | 81 } |
| 82 | 82 |
| 83 ScrollbarPainter ScrollbarThemeMacOverlayAPI::painterForScrollbar(ScrollbarTheme
Client* scrollbar) | 83 ScrollbarPainter ScrollbarThemeMacOverlayAPI::painterForScrollbar(ScrollbarTheme
Client* scrollbar) |
| 84 { | 84 { |
| 85 return scrollbarPainterMap()->get(scrollbar).get(); | 85 return scrollbarPainterMap()->get(scrollbar).get(); |
| 86 } | 86 } |
| 87 | 87 |
| 88 void ScrollbarThemeMacOverlayAPI::paintTrackBackground(GraphicsContext* context,
ScrollbarThemeClient* scrollbar, const IntRect& rect) { | 88 void ScrollbarThemeMacOverlayAPI::paintTrackBackground(GraphicsContext* context,
ScrollbarThemeClient* scrollbar, const IntRect& rect) { |
| 89 if (DrawingRecorder::useCachedDrawingIfPossible(*context, *scrollbar, Displa
yItem::ScrollbarTrackBackground)) |
| 90 return; |
| 91 |
| 89 DrawingRecorder recorder(*context, *scrollbar, DisplayItem::ScrollbarTrackBa
ckground, rect); | 92 DrawingRecorder recorder(*context, *scrollbar, DisplayItem::ScrollbarTrackBa
ckground, rect); |
| 90 if (recorder.canUseCachedDrawing()) | |
| 91 return; | |
| 92 | 93 |
| 93 ASSERT(isOverlayAPIAvailable()); | 94 ASSERT(isOverlayAPIAvailable()); |
| 94 | 95 |
| 95 GraphicsContextStateSaver stateSaver(*context); | 96 GraphicsContextStateSaver stateSaver(*context); |
| 96 context->translate(rect.x(), rect.y()); | 97 context->translate(rect.x(), rect.y()); |
| 97 LocalCurrentGraphicsContext localContext(context, IntRect(IntPoint(), rect.s
ize())); | 98 LocalCurrentGraphicsContext localContext(context, IntRect(IntPoint(), rect.s
ize())); |
| 98 | 99 |
| 99 CGRect frameRect = scrollbar->frameRect(); | 100 CGRect frameRect = scrollbar->frameRect(); |
| 100 ScrollbarPainter scrollbarPainter = painterForScrollbar(scrollbar); | 101 ScrollbarPainter scrollbarPainter = painterForScrollbar(scrollbar); |
| 101 [scrollbarPainter setEnabled:scrollbar->enabled()]; | 102 [scrollbarPainter setEnabled:scrollbar->enabled()]; |
| 102 [scrollbarPainter setBoundsSize: NSSizeFromCGSize(frameRect.size)]; | 103 [scrollbarPainter setBoundsSize: NSSizeFromCGSize(frameRect.size)]; |
| 103 | 104 |
| 104 NSRect trackRect = NSMakeRect(0, 0, frameRect.size.width, frameRect.size.hei
ght); | 105 NSRect trackRect = NSMakeRect(0, 0, frameRect.size.width, frameRect.size.hei
ght); |
| 105 [scrollbarPainter drawKnobSlotInRect:trackRect highlight:NO]; | 106 [scrollbarPainter drawKnobSlotInRect:trackRect highlight:NO]; |
| 106 } | 107 } |
| 107 | 108 |
| 108 void ScrollbarThemeMacOverlayAPI::paintThumb(GraphicsContext* context, Scrollbar
ThemeClient* scrollbar, const IntRect& rect) { | 109 void ScrollbarThemeMacOverlayAPI::paintThumb(GraphicsContext* context, Scrollbar
ThemeClient* scrollbar, const IntRect& rect) { |
| 110 if (DrawingRecorder::useCachedDrawingIfPossible(*context, *scrollbar, Displa
yItem::ScrollbarThumb)) |
| 111 return; |
| 112 |
| 109 // Expand dirty rect to allow for scroll thumb anti-aliasing in minimum thum
b size case. | 113 // Expand dirty rect to allow for scroll thumb anti-aliasing in minimum thum
b size case. |
| 110 IntRect dirtyRect = IntRect(rect); | 114 IntRect dirtyRect = IntRect(rect); |
| 111 dirtyRect.inflate(1); | 115 dirtyRect.inflate(1); |
| 112 DrawingRecorder recorder(*context, *scrollbar, DisplayItem::ScrollbarThumb,
dirtyRect); | 116 DrawingRecorder recorder(*context, *scrollbar, DisplayItem::ScrollbarThumb,
dirtyRect); |
| 113 if (recorder.canUseCachedDrawing()) | |
| 114 return; | |
| 115 | 117 |
| 116 ASSERT(isOverlayAPIAvailable()); | 118 ASSERT(isOverlayAPIAvailable()); |
| 117 | 119 |
| 118 GraphicsContextStateSaver stateSaver(*context); | 120 GraphicsContextStateSaver stateSaver(*context); |
| 119 context->translate(rect.x(), rect.y()); | 121 context->translate(rect.x(), rect.y()); |
| 120 LocalCurrentGraphicsContext localContext(context, IntRect(IntPoint(), rect.s
ize())); | 122 LocalCurrentGraphicsContext localContext(context, IntRect(IntPoint(), rect.s
ize())); |
| 121 | 123 |
| 122 ScrollbarPainter scrollbarPainter = painterForScrollbar(scrollbar); | 124 ScrollbarPainter scrollbarPainter = painterForScrollbar(scrollbar); |
| 123 [scrollbarPainter setEnabled:scrollbar->enabled()]; | 125 [scrollbarPainter setEnabled:scrollbar->enabled()]; |
| 124 [scrollbarPainter setBoundsSize:NSSizeFromCGSize(rect.size())]; | 126 [scrollbarPainter setBoundsSize:NSSizeFromCGSize(rect.size())]; |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 199 { | 201 { |
| 200 return [painterForScrollbar(scrollbar) knobMinLength]; | 202 return [painterForScrollbar(scrollbar) knobMinLength]; |
| 201 } | 203 } |
| 202 | 204 |
| 203 void ScrollbarThemeMacOverlayAPI::updateEnabledState(ScrollbarThemeClient* scrol
lbar) | 205 void ScrollbarThemeMacOverlayAPI::updateEnabledState(ScrollbarThemeClient* scrol
lbar) |
| 204 { | 206 { |
| 205 [painterForScrollbar(scrollbar) setEnabled:scrollbar->enabled()]; | 207 [painterForScrollbar(scrollbar) setEnabled:scrollbar->enabled()]; |
| 206 } | 208 } |
| 207 | 209 |
| 208 } // namespace blink | 210 } // namespace blink |
| OLD | NEW |