Flutter Engine
 
Loading...
Searching...
No Matches
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
11#include "third_party/skia/include/core/SkImage.h"
12
13namespace flutter {
14
15// Must be kept in sync with painting.dart.
20
21class CanvasImage final : public RefCountedDartWrappable<CanvasImage> {
22 DEFINE_WRAPPERTYPEINFO();
24
25 public:
26 ~CanvasImage() override;
27
29 return fml::MakeRefCounted<CanvasImage>();
30 }
31
32 Dart_Handle CreateOuterWrapping();
33
34 int width() { return image_ ? image_->width() : 0; }
35
36 int height() { return image_ ? image_->height() : 0; }
37
38 Dart_Handle toByteData(int format, Dart_Handle callback);
39
40 void dispose();
41
42 sk_sp<DlImage> image() const { return image_; }
43
44 void set_image(const sk_sp<DlImage>& image) {
45 FML_DCHECK(image->isUIThreadSafe());
46 image_ = image;
47 }
48
49 int colorSpace();
50
51 private:
53
54 sk_sp<DlImage> image_;
55};
56
57} // namespace flutter
58
59#endif // FLUTTER_LIB_UI_PAINTING_IMAGE_H_
Dart_Handle toByteData(int format, Dart_Handle callback)
Definition image.cc:38
sk_sp< DlImage > image() const
Definition image.h:42
~CanvasImage() override
static fml::RefPtr< CanvasImage > Create()
Definition image.h:28
Dart_Handle CreateOuterWrapping()
Definition image.cc:33
void set_image(const sk_sp< DlImage > &image)
Definition image.h:44
FlutterDesktopBinaryReply callback
#define FML_DCHECK(condition)
Definition logging.h:122
ColorSpace
Definition image.h:16
@ kExtendedSRGB
Definition image.h:18
@ kSRGB
Definition image.h:17
#define FML_FRIEND_MAKE_REF_COUNTED(T)