| Flutter Impeller |

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/impeller/golden_tests/metal_screenshot.h"
9 #include "flutter/impeller/golden_tests/screenshotter.h"
10 #include "flutter/impeller/playground/playground_impl.h"
11
12 namespace impeller {
13 namespace testing {
14
15 /// Converts `Picture`s and `DisplayList`s to `MetalScreenshot`s with the
16 /// playground backend.
17 class VulkanScreenshotter : public Screenshotter {
18 public:
19 explicit VulkanScreenshotter(
20 const std::unique_ptr<PlaygroundImpl>& playground);
21
22 std::unique_ptr<Screenshot> MakeScreenshot(
23 AiksContext& aiks_context,
24 const std::shared_ptr<Texture> texture) override;
25
26 PlaygroundImpl& GetPlayground() override { return *playground_; }
27
28 private:
29 const std::unique_ptr<PlaygroundImpl>& playground_;
30 };
31
32 } // namespace testing
33 } // namespace impeller
34
35 #endif // FLUTTER_IMPELLER_GOLDEN_TESTS_VULKAN_SCREENSHOTTER_H_
impeller::AiksContext
Definition: aiks_context.h:20
impeller::PlaygroundImpl
Definition: playground_impl.h:18
impeller::testing::Screenshotter
Definition: screenshotter.h:17
impeller::testing::VulkanScreenshotter
Definition: vulkan_screenshotter.h:17
impeller::testing::VulkanScreenshotter::VulkanScreenshotter
VulkanScreenshotter(const std::unique_ptr< PlaygroundImpl > &playground)
Definition: vulkan_screenshotter.mm:84
impeller::testing::VulkanScreenshotter::GetPlayground
PlaygroundImpl & GetPlayground() override
Definition: vulkan_screenshotter.h:26
impeller::testing::VulkanScreenshotter::MakeScreenshot
std::unique_ptr< Screenshot > MakeScreenshot(AiksContext &aiks_context, const std::shared_ptr< Texture > texture) override
Definition: vulkan_screenshotter.mm:90
metal_screenshot.h
impeller
Definition: allocation.cc:12
playground_impl.h
screenshotter.h