Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
metal_screenshot.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_IMPELLER_GOLDEN_TESTS_METAL_SCREENSHOT_H_
6#define FLUTTER_IMPELLER_GOLDEN_TESTS_METAL_SCREENSHOT_H_
7
8#include "flutter/impeller/golden_tests/screenshot.h"
9
10#include <CoreFoundation/CoreFoundation.h>
11#include <CoreImage/CoreImage.h>
12#include <string>
13
14#include "flutter/fml/macros.h"
15
16namespace impeller {
17namespace testing {
18
19/// A screenshot that was produced from `MetalScreenshotter`.
21 public:
22 explicit MetalScreenshot(CGImageRef cgImage);
23
25
26 const uint8_t* GetBytes() const override;
27
28 size_t GetHeight() const override;
29
30 size_t GetWidth() const override;
31
32 size_t GetBytesPerRow() const override;
33
34 bool WriteToPNG(const std::string& path) const override;
35
36 private:
37 MetalScreenshot(const MetalScreenshot&) = delete;
38
39 MetalScreenshot& operator=(const MetalScreenshot&) = delete;
40 CGImageRef cg_image_;
41 CFDataRef pixel_data_;
42};
43} // namespace testing
44} // namespace impeller
45
46#endif // FLUTTER_IMPELLER_GOLDEN_TESTS_METAL_SCREENSHOT_H_
A screenshot that was produced from MetalScreenshotter.
const uint8_t * GetBytes() const override
Access raw data of the screenshot.
bool WriteToPNG(const std::string &path) const override
size_t GetHeight() const override
Returns the height of the image in pixels.
size_t GetWidth() const override
Returns the width of the image in pixels.
size_t GetBytesPerRow() const override
Returns number of bytes required to represent one row of the raw image.