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 |