1 | // Copyright 2013 The Flutter Authors. All rights reserved. |
---|---|
2 | // Use of this source code is governed by a BSD-style license that can be |
3 | // found in the LICENSE file. |
4 | |
5 | #ifndef FLUTTER_LIB_UI_PAINTING_FRAME_INFO_H_ |
6 | #define FLUTTER_LIB_UI_PAINTING_FRAME_INFO_H_ |
7 | |
8 | #include "flutter/lib/ui/dart_wrapper.h" |
9 | #include "flutter/lib/ui/painting/image.h" |
10 | |
11 | namespace flutter { |
12 | |
13 | // A single animation frame. |
14 | class FrameInfo final : public RefCountedDartWrappable<FrameInfo> { |
15 | DEFINE_WRAPPERTYPEINFO(); |
16 | |
17 | public: |
18 | int durationMillis() { return durationMillis_; } |
19 | fml::RefPtr<CanvasImage> image() { return image_; } |
20 | |
21 | static void RegisterNatives(tonic::DartLibraryNatives* natives); |
22 | |
23 | private: |
24 | FrameInfo(fml::RefPtr<CanvasImage> image, int durationMillis); |
25 | |
26 | ~FrameInfo() override; |
27 | |
28 | const fml::RefPtr<CanvasImage> image_; |
29 | const int durationMillis_; |
30 | |
31 | FML_FRIEND_MAKE_REF_COUNTED(FrameInfo); |
32 | FML_FRIEND_REF_COUNTED_THREAD_SAFE(FrameInfo); |
33 | }; |
34 | |
35 | } // namespace flutter |
36 | |
37 | #endif // FLUTTER_LIB_UI_PAINTING_FRAME_INFO_H_ |
38 |