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;
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_;
virtual std::unique_ptr< Surface > CreateGPUSurface(GrDirectContext *gr_context=nullptr)=0
virtual bool IsValid() const =0
IOSSurface(std::shared_ptr< IOSContext > ios_context)
static std::unique_ptr< IOSSurface > Create(std::shared_ptr< IOSContext > context, CALayer *layer)
virtual void UpdateStorageSizeIfNecessary()=0
std::shared_ptr< IOSContext > GetContext() const