Flutter Engine
embedder_test_context_software.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_SHELL_PLATFORM_EMBEDDER_TESTS_EMBEDDER_CONTEXT_SOFTWARE_H_
6 #define FLUTTER_SHELL_PLATFORM_EMBEDDER_TESTS_EMBEDDER_CONTEXT_SOFTWARE_H_
7 
8 #include "flutter/shell/platform/embedder/tests/embedder_test_context.h"
9 
10 namespace flutter {
11 namespace testing {
12 
14  public:
15  EmbedderTestContextSoftware(std::string assets_path = "");
16 
18 
19  size_t GetSurfacePresentCount() const override;
20 
21  // |EmbedderTestContext|
22  EmbedderTestContextType GetContextType() const override;
23 
24  bool Present(sk_sp<SkImage> image);
25 
26  protected:
27  virtual void SetupCompositor() override;
28 
29  private:
30  sk_sp<SkSurface> surface_;
31  SkISize surface_size_;
32  size_t software_surface_present_count_ = 0;
33  void SetupSurface(SkISize surface_size) override;
34 
35  FML_DISALLOW_COPY_AND_ASSIGN(EmbedderTestContextSoftware);
36 };
37 
38 } // namespace testing
39 } // namespace flutter
40 
41 #endif // FLUTTER_SHELL_PLATFORM_EMBEDDER_TESTS_EMBEDDER_CONTEXT_SOFTWARE_H_
EmbedderTestContextType GetContextType() const override