| 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 "examples/ui/noodles/noodles_view.h" | 5 #include "examples/ui/noodles/noodles_view.h" |
| 6 | 6 |
| 7 #include <math.h> | 7 #include <math.h> |
| 8 | 8 |
| 9 #include <cstdlib> | 9 #include <cstdlib> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 102 metadata->presentation_time = frame_info.presentation_time; | 102 metadata->presentation_time = frame_info.presentation_time; |
| 103 std::unique_ptr<Frame> frame( | 103 std::unique_ptr<Frame> frame( |
| 104 new Frame(size, CreatePicture(), metadata.Pass())); | 104 new Frame(size, CreatePicture(), metadata.Pass())); |
| 105 if (frame_queue_->PutFrame(std::move(frame))) { | 105 if (frame_queue_->PutFrame(std::move(frame))) { |
| 106 rasterizer_task_runner_->PostTask( | 106 rasterizer_task_runner_->PostTask( |
| 107 FROM_HERE, base::Bind(&RasterizerDelegate::PublishNextFrame, | 107 FROM_HERE, base::Bind(&RasterizerDelegate::PublishNextFrame, |
| 108 base::Unretained(rasterizer_delegate_.get()))); | 108 base::Unretained(rasterizer_delegate_.get()))); |
| 109 } | 109 } |
| 110 } | 110 } |
| 111 | 111 |
| 112 skia::RefPtr<SkPicture> NoodlesView::CreatePicture() { | 112 sk_sp<SkPicture> NoodlesView::CreatePicture() { |
| 113 constexpr int count = 4; | 113 constexpr int count = 4; |
| 114 constexpr int padding = 1; | 114 constexpr int padding = 1; |
| 115 | 115 |
| 116 if (alpha_ > kSecondsBetweenChanges) { | 116 if (alpha_ > kSecondsBetweenChanges) { |
| 117 alpha_ = 0.0; | 117 alpha_ = 0.0; |
| 118 wx_ = rand() % 9 + 1; | 118 wx_ = rand() % 9 + 1; |
| 119 wy_ = rand() % 9 + 1; | 119 wy_ = rand() % 9 + 1; |
| 120 } | 120 } |
| 121 | 121 |
| 122 const mojo::Size& size = *properties()->view_layout->size; | 122 const mojo::Size& size = *properties()->view_layout->size; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 133 SkScalar hsv[3] = {fmod(phase * 120, 360), 1, 1}; | 133 SkScalar hsv[3] = {fmod(phase * 120, 360), 1, 1}; |
| 134 paint.setColor(SkHSVToColor(hsv)); | 134 paint.setColor(SkHSVToColor(hsv)); |
| 135 paint.setStyle(SkPaint::kStroke_Style); | 135 paint.setStyle(SkPaint::kStroke_Style); |
| 136 paint.setAntiAlias(true); | 136 paint.setAntiAlias(true); |
| 137 | 137 |
| 138 SkPath path; | 138 SkPath path; |
| 139 Lissajous(&path, cx - padding, cy - padding, wx_, wy_, phase); | 139 Lissajous(&path, cx - padding, cy - padding, wx_, wy_, phase); |
| 140 canvas->drawPath(path, paint); | 140 canvas->drawPath(path, paint); |
| 141 } | 141 } |
| 142 | 142 |
| 143 return skia::AdoptRef(recorder.endRecordingAsPicture()); | 143 return recorder.finishRecordingAsPicture(); |
| 144 } | 144 } |
| 145 | 145 |
| 146 NoodlesView::FrameQueue::FrameQueue() {} | 146 NoodlesView::FrameQueue::FrameQueue() {} |
| 147 | 147 |
| 148 NoodlesView::FrameQueue::~FrameQueue() {} | 148 NoodlesView::FrameQueue::~FrameQueue() {} |
| 149 | 149 |
| 150 bool NoodlesView::FrameQueue::PutFrame(std::unique_ptr<Frame> frame) { | 150 bool NoodlesView::FrameQueue::PutFrame(std::unique_ptr<Frame> frame) { |
| 151 std::lock_guard<std::mutex> lock(mutex_); | 151 std::lock_guard<std::mutex> lock(mutex_); |
| 152 bool was_empty = !next_frame_.get(); | 152 bool was_empty = !next_frame_.get(); |
| 153 next_frame_.swap(frame); | 153 next_frame_.swap(frame); |
| (...skipping 21 matching lines...) Expand all Loading... |
| 175 mojo::gfx::composition::ScenePtr::Create(std::move(scene_info)))); | 175 mojo::gfx::composition::ScenePtr::Create(std::move(scene_info)))); |
| 176 } | 176 } |
| 177 | 177 |
| 178 void NoodlesView::RasterizerDelegate::PublishNextFrame() { | 178 void NoodlesView::RasterizerDelegate::PublishNextFrame() { |
| 179 std::unique_ptr<Frame> frame(frame_queue_->TakeFrame()); | 179 std::unique_ptr<Frame> frame(frame_queue_->TakeFrame()); |
| 180 DCHECK(frame); | 180 DCHECK(frame); |
| 181 rasterizer_->PublishFrame(std::move(frame)); | 181 rasterizer_->PublishFrame(std::move(frame)); |
| 182 } | 182 } |
| 183 | 183 |
| 184 } // namespace examples | 184 } // namespace examples |
| OLD | NEW |