5#ifndef FLUTTER_SHELL_PLATFORM_DARWIN_IOS_IOS_SURFACE_H_
6#define FLUTTER_SHELL_PLATFORM_DARWIN_IOS_IOS_SURFACE_H_
8#import "flutter/shell/platform/darwin/ios/framework/Source/FlutterPlatformViews_Internal.h"
12#include "flutter/flow/embedded_views.h"
13#include "flutter/flow/surface.h"
14#include "flutter/fml/macros.h"
15#include "flutter/fml/platform/darwin/scoped_nsobject.h"
27 static std::unique_ptr<IOSSurface>
Create(std::shared_ptr<IOSContext> context,
30 std::shared_ptr<IOSContext>
GetContext()
const;
46 explicit IOSSurface(std::shared_ptr<IOSContext> ios_context);
49 std::shared_ptr<IOSContext> ios_context_;
virtual bool IsValid() const =0
static std::unique_ptr< IOSSurface > Create(std::shared_ptr< IOSContext > context, const fml::scoped_nsobject< CALayer > &layer)
IOSSurface(std::shared_ptr< IOSContext > ios_context)
virtual void UpdateStorageSizeIfNecessary()=0
virtual std::unique_ptr< Surface > CreateGPUSurface(GrDirectContext *gr_context=nullptr)=0
std::shared_ptr< IOSContext > GetContext() const
bool IsIosEmbeddedViewsPreviewEnabled()