 Chromium Code Reviews
 Chromium Code Reviews Issue 1190123003:
  Decouple Canvas from DisplayList and map Picture and PictureRecorder more directly to their Skia co…  (Closed) 
  Base URL: git@github.com:domokit/mojo.git@master
    
  
    Issue 1190123003:
  Decouple Canvas from DisplayList and map Picture and PictureRecorder more directly to their Skia co…  (Closed) 
  Base URL: git@github.com:domokit/mojo.git@master| OLD | NEW | 
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "sky/engine/config.h" | 5 #include "sky/engine/config.h" | 
| 6 #include "sky/engine/core/painting/Canvas.h" | |
| 6 #include "sky/engine/core/painting/PictureRecorder.h" | 7 #include "sky/engine/core/painting/PictureRecorder.h" | 
| 7 | 8 | 
| 8 #include "sky/engine/core/painting/Picture.h" | 9 #include "sky/engine/core/painting/Picture.h" | 
| 9 | 10 | 
| 10 namespace blink { | 11 namespace blink { | 
| 11 | 12 | 
| 12 PassRefPtr<PictureRecorder> PictureRecorder::create(double width, double height) | 13 PictureRecorder::PictureRecorder() | 
| 13 { | 14 : m_pictureRecorder(adoptPtr(new SkPictureRecorder())) | 
| 14 return adoptRef(new PictureRecorder(FloatSize(width, height))); | |
| 15 } | |
| 16 | |
| 17 PictureRecorder::PictureRecorder(const FloatSize& size) | |
| 18 : Canvas(size) | |
| 19 { | 15 { | 
| 20 } | 16 } | 
| 21 | 17 | 
| 22 PictureRecorder::~PictureRecorder() | 18 PictureRecorder::~PictureRecorder() | 
| 23 { | 19 { | 
| 24 } | 20 } | 
| 25 | 21 | 
| 22 bool PictureRecorder::isRecording() { | |
| 23 return m_canvas != nullptr && m_canvas->isRecording(); | |
| 
eseidel
2015/06/23 00:41:32
Hmmm. you might be right, it's possible chromium s
 
abarth-chromium
2015/06/23 02:28:44
Chromium style doesn't have that rule.  I suspect
 
iansf
2015/06/23 22:46:09
Oh -- originally this was just a check of m_canvas
 | |
| 24 } | |
| 25 | |
| 26 SkCanvas* PictureRecorder::beginRecording(double width, double height) | |
| 27 { | |
| 28 return m_pictureRecorder->beginRecording(width, height); | |
| 29 } | |
| 30 | |
| 26 PassRefPtr<Picture> PictureRecorder::endRecording() | 31 PassRefPtr<Picture> PictureRecorder::endRecording() | 
| 27 { | 32 { | 
| 28 if (!isRecording()) | 33 if (!isRecording()) | 
| 29 return nullptr; | 34 return nullptr; | 
| 30 return Picture::create(finishRecording()); | 35 auto picture = Picture::create( | 
| 
eseidel
2015/06/23 00:41:32
As much as I like Auto, I don't think this is what
 
iansf
2015/06/23 22:46:09
Thanks for the explanation!  Done.
 | |
| 36 adoptRef(m_pictureRecorder->endRecording())); | |
| 37 m_canvas->clearSkCanvas(); | |
| 38 m_canvas = nullptr; | |
| 39 return picture; | |
| 31 } | 40 } | 
| 32 | 41 | 
| 42 void PictureRecorder::set_canvas(PassRefPtr<Canvas> canvas) { m_canvas = canvas; } | |
| 43 | |
| 33 } // namespace blink | 44 } // namespace blink | 
| OLD | NEW |