1#ifndef FLUTTER_SHELL_GPU_GPU_SURFACE_DELEGATE_H_
2#define FLUTTER_SHELL_GPU_GPU_SURFACE_DELEGATE_H_
3
4#include "flutter/flow/embedded_views.h"
5
6namespace flutter {
7
8class GPUSurfaceDelegate {
9 public:
10 virtual ~GPUSurfaceDelegate() {}
11
12 //----------------------------------------------------------------------------
13 /// @brief Gets the view embedder that controls how the Flutter layer
14 /// hierarchy split into multiple chunks should be composited back
15 /// on-screen. This field is optional and the Flutter rasterizer
16 /// will render into a single on-screen surface if this call
17 /// returns a null external view embedder. This happens on the GPU
18 /// thread.
19 ///
20 /// @return The external view embedder, or, null if Flutter is rendering
21 /// into a single on-screen surface.
22 ///
23 virtual ExternalViewEmbedder* GetExternalViewEmbedder() = 0;
24};
25
26} // namespace flutter
27
28#endif // FLUTTER_SHELL_GPU_GPU_SURFACE_DELEGATE_H_
29