Flutter Impeller
metal_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_METAL_SCREENSHOTTER_H_
6 #define FLUTTER_IMPELLER_GOLDEN_TESTS_METAL_SCREENSHOTTER_H_
7 
12 
13 namespace impeller {
14 namespace testing {
15 
16 /// Converts `Picture`s and `DisplayList`s to `MetalScreenshot`s with the
17 /// playground backend.
19  public:
20  explicit MetalScreenshotter(const PlaygroundSwitches& switches);
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  std::unique_ptr<PlaygroundImpl> playground_;
30 };
31 
32 } // namespace testing
33 } // namespace impeller
34 
35 #endif // FLUTTER_IMPELLER_GOLDEN_TESTS_METAL_SCREENSHOTTER_H_
PlaygroundImpl & GetPlayground() override
std::unique_ptr< Screenshot > MakeScreenshot(AiksContext &aiks_context, const std::shared_ptr< Texture > texture) override
MetalScreenshotter(const PlaygroundSwitches &switches)