5 #ifndef FLUTTER_IMPELLER_GOLDEN_TESTS_METAL_SCREENSHOT_H_
6 #define FLUTTER_IMPELLER_GOLDEN_TESTS_METAL_SCREENSHOT_H_
10 #include <CoreFoundation/CoreFoundation.h>
11 #include <CoreImage/CoreImage.h>
14 #include "flutter/fml/platform/darwin/cf_utils.h"
20 struct CFRefTraits<CGImageRef> {
21 static constexpr CGImageRef kNullValue =
nullptr;
22 static void Retain(CGImageRef instance) { CGImageRetain(instance); }
23 static void Release(CGImageRef instance) { CGImageRelease(instance); }
38 const uint8_t*
GetBytes()
const override;
46 bool WriteToPNG(
const std::string& path)
const override;
52 fml::CFRef<CGImageRef> cg_image_;
53 fml::CFRef<CFDataRef> pixel_data_;
static void Release(CGImageRef instance)
static void Retain(CGImageRef instance)