5 #ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_IOS_SURFACE_H_
6 #define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_IOS_SURFACE_H_
12 #include "flutter/flow/embedded_views.h"
13 #include "flutter/flow/surface.h"
14 #include "flutter/fml/macros.h"
22 static std::unique_ptr<IOSSurface>
Create(std::shared_ptr<IOSContext> context, CALayer* layer);
24 std::shared_ptr<IOSContext>
GetContext()
const;
28 virtual bool IsValid()
const = 0;
37 virtual std::unique_ptr<Surface>
CreateGPUSurface(GrDirectContext* gr_context =
nullptr) = 0;
40 explicit IOSSurface(std::shared_ptr<IOSContext> ios_context);
43 std::shared_ptr<IOSContext> ios_context_;
50 #endif // FLUTTER_SHELL_PLATFORM_DARWIN_IOS_IOS_SURFACE_H_