Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
lib
ui
painting
single_frame_codec.h
Go to the documentation of this file.
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_SINGLE_FRAME_CODEC_H_
6
#define FLUTTER_LIB_UI_PAINTING_SINGLE_FRAME_CODEC_H_
7
8
#include "flutter/fml/macros.h"
9
#include "flutter/lib/ui/painting/codec.h"
10
#include "flutter/lib/ui/painting/image.h"
11
#include "flutter/lib/ui/painting/image_decoder.h"
12
#include "flutter/lib/ui/painting/image_descriptor.h"
13
14
namespace
flutter
{
15
16
class
SingleFrameCodec
:
public
Codec
{
17
public
:
18
SingleFrameCodec
(
const
fml::RefPtr<ImageDescriptor>
& descriptor,
19
uint32_t target_width,
20
uint32_t target_height);
21
22
~SingleFrameCodec
()
override
;
23
24
// |Codec|
25
int
frameCount
()
const override
;
26
27
// |Codec|
28
int
repetitionCount
()
const override
;
29
30
// |Codec|
31
Dart_Handle
getNextFrame
(
Dart_Handle
args
)
override
;
32
33
private
:
34
enum class
Status { kNew, kInProgress, kComplete };
35
Status status_ = Status::kNew;
36
fml::RefPtr<ImageDescriptor>
descriptor_;
37
uint32_t target_width_;
38
uint32_t target_height_;
39
fml::RefPtr<CanvasImage>
cached_image_;
40
std::vector<tonic::DartPersistentValue> pending_callbacks_;
41
42
FML_FRIEND_MAKE_REF_COUNTED
(
SingleFrameCodec
);
43
FML_FRIEND_REF_COUNTED_THREAD_SAFE
(
SingleFrameCodec
);
44
};
45
46
}
// namespace flutter
47
48
#endif
// FLUTTER_LIB_UI_PAINTING_SINGLE_FRAME_CODEC_H_
flutter::Codec
Definition
codec.h:19
flutter::SingleFrameCodec
Definition
single_frame_codec.h:16
flutter::SingleFrameCodec::~SingleFrameCodec
~SingleFrameCodec() override
flutter::SingleFrameCodec::frameCount
int frameCount() const override
Definition
single_frame_codec.cc:22
flutter::SingleFrameCodec::repetitionCount
int repetitionCount() const override
Definition
single_frame_codec.cc:26
flutter::SingleFrameCodec::getNextFrame
Dart_Handle getNextFrame(Dart_Handle args) override
Definition
single_frame_codec.cc:30
fml::RefPtr
Definition
ref_ptr.h:65
Dart_Handle
struct _Dart_Handle * Dart_Handle
Definition
dart_api.h:258
args
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
Definition
fl_event_channel.h:89
flutter
Definition
asset_manager.cc:10
FML_FRIEND_REF_COUNTED_THREAD_SAFE
#define FML_FRIEND_REF_COUNTED_THREAD_SAFE(T)
Definition
ref_counted.h:126
FML_FRIEND_MAKE_REF_COUNTED
#define FML_FRIEND_MAKE_REF_COUNTED(T)
Definition
ref_counted.h:132
Generated on Fri Apr 26 2024 06:14:17 for Flutter Engine by
1.9.8