OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "cc/paint/paint_image.h" | 5 #include "cc/paint/paint_image.h" |
| 6 #include "base/atomic_sequence_num.h" |
6 | 7 |
7 namespace cc { | 8 namespace cc { |
| 9 namespace { |
| 10 base::StaticAtomicSequenceNumber s_next_id_; |
| 11 } |
8 | 12 |
9 PaintImage::PaintImage() = default; | 13 PaintImage::PaintImage() = default; |
10 PaintImage::PaintImage(sk_sp<SkImage> sk_image, | 14 PaintImage::PaintImage(Id id, |
| 15 sk_sp<SkImage> sk_image, |
11 AnimationType animation_type, | 16 AnimationType animation_type, |
12 CompletionState completion_state) | 17 CompletionState completion_state) |
13 : sk_image_(std::move(sk_image)), | 18 : id_(id), |
| 19 sk_image_(std::move(sk_image)), |
14 animation_type_(animation_type), | 20 animation_type_(animation_type), |
15 completion_state_(completion_state) {} | 21 completion_state_(completion_state) {} |
16 PaintImage::PaintImage(const PaintImage& other) = default; | 22 PaintImage::PaintImage(const PaintImage& other) = default; |
17 PaintImage::PaintImage(PaintImage&& other) = default; | 23 PaintImage::PaintImage(PaintImage&& other) = default; |
18 PaintImage::~PaintImage() = default; | 24 PaintImage::~PaintImage() = default; |
19 | 25 |
20 PaintImage& PaintImage::operator=(const PaintImage& other) = default; | 26 PaintImage& PaintImage::operator=(const PaintImage& other) = default; |
21 PaintImage& PaintImage::operator=(PaintImage&& other) = default; | 27 PaintImage& PaintImage::operator=(PaintImage&& other) = default; |
22 | 28 |
23 bool PaintImage::operator==(const PaintImage& other) { | 29 bool PaintImage::operator==(const PaintImage& other) { |
24 return sk_image_ == other.sk_image_ && | 30 return id_ == other.id_ && sk_image_ == other.sk_image_ && |
25 animation_type_ == other.animation_type_ && | 31 animation_type_ == other.animation_type_ && |
26 completion_state_ == other.completion_state_; | 32 completion_state_ == other.completion_state_; |
27 } | 33 } |
28 | 34 |
| 35 PaintImage::Id PaintImage::GetNextId() { |
| 36 return s_next_id_.GetNext(); |
| 37 } |
| 38 |
29 } // namespace cc | 39 } // namespace cc |
OLD | NEW |