Flutter Engine
image.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_IMAGE_H_
6 #define FLUTTER_LIB_UI_PAINTING_IMAGE_H_
7 
8 #include "flutter/flow/skia_gpu_object.h"
9 #include "flutter/lib/ui/dart_wrapper.h"
10 #include "flutter/lib/ui/ui_dart_state.h"
11 #include "third_party/skia/include/core/SkImage.h"
12 
13 namespace tonic {
14 class DartLibraryNatives;
15 } // namespace tonic
16 
17 namespace flutter {
18 
19 class CanvasImage final : public RefCountedDartWrappable<CanvasImage> {
22 
23  public:
24  ~CanvasImage() override;
26  return fml::MakeRefCounted<CanvasImage>();
27  }
28 
29  int width() { return image_.get()->width(); }
30 
31  int height() { return image_.get()->height(); }
32 
33  Dart_Handle toByteData(int format, Dart_Handle callback);
34 
35  void dispose();
36 
37  sk_sp<SkImage> image() const { return image_.get(); }
39  image_ = std::move(image);
40  }
41 
42  size_t GetAllocationSize() const override;
43 
44  static void RegisterNatives(tonic::DartLibraryNatives* natives);
45 
46  private:
47  CanvasImage();
48 
50 };
51 
52 } // namespace flutter
53 
54 #endif // FLUTTER_LIB_UI_PAINTING_IMAGE_H_
#define DEFINE_WRAPPERTYPEINFO()
void set_image(flutter::SkiaGPUObject< SkImage > image)
Definition: image.h:38
#define FML_FRIEND_MAKE_REF_COUNTED(T)
Definition: ref_counted.h:131
static fml::RefPtr< CanvasImage > Create()
Definition: image.h:25
sk_sp< SkImage > image() const
Definition: image.h:37