| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (C) 2012 Google Inc. All rights reserved. | 2  * Copyright (C) 2012 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 | 5  * modification, are permitted provided that the following conditions | 
| 6  * are met: | 6  * are met: | 
| 7  * | 7  * | 
| 8  * 1.  Redistributions of source code must retain the above copyright | 8  * 1.  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  * 2.  Redistributions in binary form must reproduce the above copyright | 10  * 2.  Redistributions in binary form must reproduce the above copyright | 
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 50 } | 50 } | 
| 51 | 51 | 
| 52 void WebScrollbarThemePainter::paintScrollbarBackground(WebCanvas* canvas, const
      WebRect& rect) | 52 void WebScrollbarThemePainter::paintScrollbarBackground(WebCanvas* canvas, const
      WebRect& rect) | 
| 53 { | 53 { | 
| 54     SkRect clip = SkRect::MakeXYWH(rect.x, rect.y, rect.width, rect.height); | 54     SkRect clip = SkRect::MakeXYWH(rect.x, rect.y, rect.width, rect.height); | 
| 55     canvas->clipRect(clip); | 55     canvas->clipRect(clip); | 
| 56 | 56 | 
| 57     IntRect intRect(rect); | 57     IntRect intRect(rect); | 
| 58     SkPictureBuilder pictureBuilder(intRect); | 58     SkPictureBuilder pictureBuilder(intRect); | 
| 59     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 59     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 
| 60     m_theme->paintScrollbarBackground(&pictureBuilder.context(), m_scrollbar.get
     ()); | 60     m_theme->paintScrollbarBackground(pictureBuilder.context(), *m_scrollbar); | 
| 61     pictureBuilder.endRecording()->playback(canvas); | 61     pictureBuilder.endRecording()->playback(canvas); | 
| 62 } | 62 } | 
| 63 | 63 | 
| 64 void WebScrollbarThemePainter::paintTrackBackground(WebCanvas* canvas, const Web
     Rect& rect) | 64 void WebScrollbarThemePainter::paintTrackBackground(WebCanvas* canvas, const Web
     Rect& rect) | 
| 65 { | 65 { | 
| 66     IntRect intRect(rect); | 66     IntRect intRect(rect); | 
| 67     SkPictureBuilder pictureBuilder(intRect); | 67     SkPictureBuilder pictureBuilder(intRect); | 
| 68     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 68     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 
| 69     m_theme->paintTrackBackground(&pictureBuilder.context(), m_scrollbar.get(), 
     intRect); | 69     m_theme->paintTrackBackground(pictureBuilder.context(), *m_scrollbar, intRec
     t); | 
| 70     pictureBuilder.endRecording()->playback(canvas); | 70     pictureBuilder.endRecording()->playback(canvas); | 
| 71     if (!m_theme->shouldRepaintAllPartsOnInvalidation()) | 71     if (!m_theme->shouldRepaintAllPartsOnInvalidation()) | 
| 72         m_scrollbar->setTrackNeedsRepaint(false); | 72         m_scrollbar->setTrackNeedsRepaint(false); | 
| 73 } | 73 } | 
| 74 | 74 | 
| 75 void WebScrollbarThemePainter::paintBackTrackPart(WebCanvas* canvas, const WebRe
     ct& rect) | 75 void WebScrollbarThemePainter::paintBackTrackPart(WebCanvas* canvas, const WebRe
     ct& rect) | 
| 76 { | 76 { | 
| 77     IntRect intRect(rect); | 77     IntRect intRect(rect); | 
| 78     SkPictureBuilder pictureBuilder(intRect); | 78     SkPictureBuilder pictureBuilder(intRect); | 
| 79     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 79     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 
| 80     m_theme->paintTrackPiece(&pictureBuilder.context(), m_scrollbar.get(), intRe
     ct, BackTrackPart); | 80     m_theme->paintTrackPiece(pictureBuilder.context(), *m_scrollbar, intRect, Ba
     ckTrackPart); | 
| 81     pictureBuilder.endRecording()->playback(canvas); | 81     pictureBuilder.endRecording()->playback(canvas); | 
| 82 } | 82 } | 
| 83 | 83 | 
| 84 void WebScrollbarThemePainter::paintForwardTrackPart(WebCanvas* canvas, const We
     bRect& rect) | 84 void WebScrollbarThemePainter::paintForwardTrackPart(WebCanvas* canvas, const We
     bRect& rect) | 
| 85 { | 85 { | 
| 86     IntRect intRect(rect); | 86     IntRect intRect(rect); | 
| 87     SkPictureBuilder pictureBuilder(intRect); | 87     SkPictureBuilder pictureBuilder(intRect); | 
| 88     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 88     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 
| 89     m_theme->paintTrackPiece(&pictureBuilder.context(), m_scrollbar.get(), intRe
     ct, ForwardTrackPart); | 89     m_theme->paintTrackPiece(pictureBuilder.context(), *m_scrollbar, intRect, Fo
     rwardTrackPart); | 
| 90     pictureBuilder.endRecording()->playback(canvas); | 90     pictureBuilder.endRecording()->playback(canvas); | 
| 91 } | 91 } | 
| 92 | 92 | 
| 93 void WebScrollbarThemePainter::paintBackButtonStart(WebCanvas* canvas, const Web
     Rect& rect) | 93 void WebScrollbarThemePainter::paintBackButtonStart(WebCanvas* canvas, const Web
     Rect& rect) | 
| 94 { | 94 { | 
| 95     IntRect intRect(rect); | 95     IntRect intRect(rect); | 
| 96     SkPictureBuilder pictureBuilder(intRect); | 96     SkPictureBuilder pictureBuilder(intRect); | 
| 97     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 97     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 
| 98     m_theme->paintButton(&pictureBuilder.context(), m_scrollbar.get(), intRect, 
     BackButtonStartPart); | 98     m_theme->paintButton(pictureBuilder.context(), *m_scrollbar, intRect, BackBu
     ttonStartPart); | 
| 99     pictureBuilder.endRecording()->playback(canvas); | 99     pictureBuilder.endRecording()->playback(canvas); | 
| 100 } | 100 } | 
| 101 | 101 | 
| 102 void WebScrollbarThemePainter::paintBackButtonEnd(WebCanvas* canvas, const WebRe
     ct& rect) | 102 void WebScrollbarThemePainter::paintBackButtonEnd(WebCanvas* canvas, const WebRe
     ct& rect) | 
| 103 { | 103 { | 
| 104     IntRect intRect(rect); | 104     IntRect intRect(rect); | 
| 105     SkPictureBuilder pictureBuilder(intRect); | 105     SkPictureBuilder pictureBuilder(intRect); | 
| 106     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 106     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 
| 107     m_theme->paintButton(&pictureBuilder.context(), m_scrollbar.get(), intRect, 
     BackButtonEndPart); | 107     m_theme->paintButton(pictureBuilder.context(), *m_scrollbar, intRect, BackBu
     ttonEndPart); | 
| 108     pictureBuilder.endRecording()->playback(canvas); | 108     pictureBuilder.endRecording()->playback(canvas); | 
| 109 } | 109 } | 
| 110 | 110 | 
| 111 void WebScrollbarThemePainter::paintForwardButtonStart(WebCanvas* canvas, const 
     WebRect& rect) | 111 void WebScrollbarThemePainter::paintForwardButtonStart(WebCanvas* canvas, const 
     WebRect& rect) | 
| 112 { | 112 { | 
| 113     IntRect intRect(rect); | 113     IntRect intRect(rect); | 
| 114     SkPictureBuilder pictureBuilder(intRect); | 114     SkPictureBuilder pictureBuilder(intRect); | 
| 115     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 115     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 
| 116     m_theme->paintButton(&pictureBuilder.context(), m_scrollbar.get(), intRect, 
     ForwardButtonStartPart); | 116     m_theme->paintButton(pictureBuilder.context(), *m_scrollbar, intRect, Forwar
     dButtonStartPart); | 
| 117     pictureBuilder.endRecording()->playback(canvas); | 117     pictureBuilder.endRecording()->playback(canvas); | 
| 118 } | 118 } | 
| 119 | 119 | 
| 120 void WebScrollbarThemePainter::paintForwardButtonEnd(WebCanvas* canvas, const We
     bRect& rect) | 120 void WebScrollbarThemePainter::paintForwardButtonEnd(WebCanvas* canvas, const We
     bRect& rect) | 
| 121 { | 121 { | 
| 122     IntRect intRect(rect); | 122     IntRect intRect(rect); | 
| 123     SkPictureBuilder pictureBuilder(intRect); | 123     SkPictureBuilder pictureBuilder(intRect); | 
| 124     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 124     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 
| 125     m_theme->paintButton(&pictureBuilder.context(), m_scrollbar.get(), intRect, 
     ForwardButtonEndPart); | 125     m_theme->paintButton(pictureBuilder.context(), *m_scrollbar, intRect, Forwar
     dButtonEndPart); | 
| 126     pictureBuilder.endRecording()->playback(canvas); | 126     pictureBuilder.endRecording()->playback(canvas); | 
| 127 } | 127 } | 
| 128 | 128 | 
| 129 void WebScrollbarThemePainter::paintTickmarks(WebCanvas* canvas, const WebRect& 
     rect) | 129 void WebScrollbarThemePainter::paintTickmarks(WebCanvas* canvas, const WebRect& 
     rect) | 
| 130 { | 130 { | 
| 131     IntRect intRect(rect); | 131     IntRect intRect(rect); | 
| 132     SkPictureBuilder pictureBuilder(intRect); | 132     SkPictureBuilder pictureBuilder(intRect); | 
| 133     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 133     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 
| 134     m_theme->paintTickmarks(&pictureBuilder.context(), m_scrollbar.get(), intRec
     t); | 134     m_theme->paintTickmarks(pictureBuilder.context(), *m_scrollbar, intRect); | 
| 135     pictureBuilder.endRecording()->playback(canvas); | 135     pictureBuilder.endRecording()->playback(canvas); | 
| 136 } | 136 } | 
| 137 | 137 | 
| 138 void WebScrollbarThemePainter::paintThumb(WebCanvas* canvas, const WebRect& rect
     ) | 138 void WebScrollbarThemePainter::paintThumb(WebCanvas* canvas, const WebRect& rect
     ) | 
| 139 { | 139 { | 
| 140     IntRect intRect(rect); | 140     IntRect intRect(rect); | 
| 141     SkPictureBuilder pictureBuilder(intRect); | 141     SkPictureBuilder pictureBuilder(intRect); | 
| 142     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 142     pictureBuilder.context().setDeviceScaleFactor(m_deviceScaleFactor); | 
| 143     m_theme->paintThumb(&pictureBuilder.context(), m_scrollbar.get(), intRect); | 143     m_theme->paintThumb(pictureBuilder.context(), *m_scrollbar, intRect); | 
| 144     pictureBuilder.endRecording()->playback(canvas); | 144     pictureBuilder.endRecording()->playback(canvas); | 
| 145     if (!m_theme->shouldRepaintAllPartsOnInvalidation()) | 145     if (!m_theme->shouldRepaintAllPartsOnInvalidation()) | 
| 146         m_scrollbar->setThumbNeedsRepaint(false); | 146         m_scrollbar->setThumbNeedsRepaint(false); | 
| 147 } | 147 } | 
| 148 | 148 | 
| 149 WebScrollbarThemePainter::WebScrollbarThemePainter(ScrollbarTheme* theme, Scroll
     bar* scrollbar, float deviceScaleFactor) | 149 WebScrollbarThemePainter::WebScrollbarThemePainter(ScrollbarTheme& theme, Scroll
     bar& scrollbar, float deviceScaleFactor) | 
| 150     : m_theme(theme) | 150     : m_theme(&theme) | 
| 151     , m_scrollbar(scrollbar) | 151     , m_scrollbar(&scrollbar) | 
| 152     , m_deviceScaleFactor(deviceScaleFactor) | 152     , m_deviceScaleFactor(deviceScaleFactor) | 
| 153 { | 153 { | 
| 154 } | 154 } | 
| 155 | 155 | 
| 156 float WebScrollbarThemePainter::thumbOpacity() const | 156 float WebScrollbarThemePainter::thumbOpacity() const | 
| 157 { | 157 { | 
| 158     return m_theme->thumbOpacity(m_scrollbar.get()); | 158     return m_theme->thumbOpacity(*m_scrollbar); | 
| 159 } | 159 } | 
| 160 | 160 | 
| 161 bool WebScrollbarThemePainter::trackNeedsRepaint() const | 161 bool WebScrollbarThemePainter::trackNeedsRepaint() const | 
| 162 { | 162 { | 
| 163     return m_scrollbar->trackNeedsRepaint(); | 163     return m_scrollbar->trackNeedsRepaint(); | 
| 164 } | 164 } | 
| 165 | 165 | 
| 166 bool WebScrollbarThemePainter::thumbNeedsRepaint() const | 166 bool WebScrollbarThemePainter::thumbNeedsRepaint() const | 
| 167 { | 167 { | 
| 168     return m_scrollbar->thumbNeedsRepaint(); | 168     return m_scrollbar->thumbNeedsRepaint(); | 
| 169 } | 169 } | 
| 170 | 170 | 
| 171 } // namespace blink | 171 } // namespace blink | 
| OLD | NEW | 
|---|