Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
vulkan_screenshotter.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_VULKAN_SCREENSHOTTER_H_
6#define FLUTTER_IMPELLER_GOLDEN_TESTS_VULKAN_SCREENSHOTTER_H_
7
8#include "flutter/fml/macros.h"
9#include "flutter/impeller/aiks/picture.h"
10#include "flutter/impeller/golden_tests/metal_screenshot.h"
11#include "flutter/impeller/golden_tests/screenshotter.h"
12#include "flutter/impeller/playground/playground_impl.h"
13
14namespace impeller {
15namespace testing {
16
17/// Converts `Picture`s and `DisplayList`s to `MetalScreenshot`s with the
18/// playground backend.
20 public:
21 explicit VulkanScreenshotter(
22 const std::unique_ptr<PlaygroundImpl>& playground);
23
24 std::unique_ptr<Screenshot> MakeScreenshot(
25 AiksContext& aiks_context,
26 const Picture& picture,
27 const ISize& size = {300, 300},
28 bool scale_content = true) override;
29
30 PlaygroundImpl& GetPlayground() override { return *playground_; }
31
32 private:
33 const std::unique_ptr<PlaygroundImpl>& playground_;
34};
35
36} // namespace testing
37} // namespace impeller
38
39#endif // FLUTTER_IMPELLER_GOLDEN_TESTS_VULKAN_SCREENSHOTTER_H_
PlaygroundImpl & GetPlayground() override
std::unique_ptr< Screenshot > MakeScreenshot(AiksContext &aiks_context, const Picture &picture, const ISize &size={300, 300}, bool scale_content=true) override