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 
11 
12 namespace impeller {
13 namespace testing {
14 
15 /// Converts `Picture`s and `DisplayList`s to `MetalScreenshot`s with the
16 /// playground backend.
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_
VulkanScreenshotter(const std::unique_ptr< PlaygroundImpl > &playground)
PlaygroundImpl & GetPlayground() override
std::unique_ptr< Screenshot > MakeScreenshot(AiksContext &aiks_context, const std::shared_ptr< Texture > texture) override