• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #include "config.h"
2 #include "PicturePileLayerContent.h"
3 
4 #include "SkCanvas.h"
5 #include "SkPicture.h"
6 
7 namespace WebCore {
8 
PicturePileLayerContent(const PicturePile & picturePile)9 PicturePileLayerContent::PicturePileLayerContent(const PicturePile& picturePile)
10     : m_picturePile(picturePile)
11 {
12 }
13 
draw(SkCanvas * canvas)14 void PicturePileLayerContent::draw(SkCanvas* canvas)
15 {
16     android::Mutex::Autolock lock(m_drawLock);
17     m_picturePile.draw(canvas);
18 }
19 
serialize(SkWStream * stream)20 void PicturePileLayerContent::serialize(SkWStream* stream)
21 {
22     if (!stream)
23        return;
24     SkPicture picture;
25     draw(picture.beginRecording(width(), height(),
26                                 SkPicture::kUsePathBoundsForClip_RecordingFlag));
27     picture.endRecording();
28     picture.serialize(stream);
29 }
30 
prerenderForRect(const IntRect & dirty)31 PrerenderedInval* PicturePileLayerContent::prerenderForRect(const IntRect& dirty)
32 {
33     return m_picturePile.prerenderedInvalForArea(dirty);
34 }
35 
clearPrerenders()36 void PicturePileLayerContent::clearPrerenders()
37 {
38     m_picturePile.clearPrerenders();
39 }
40 
41 } // namespace WebCore
42