5#import "flutter/shell/platform/darwin/ios/ios_surface.h"
7#import "flutter/shell/platform/darwin/ios/ios_surface_metal_impeller.h"
8#import "flutter/shell/platform/darwin/ios/ios_surface_metal_skia.h"
9#import "flutter/shell/platform/darwin/ios/ios_surface_software.h"
10#include "flutter/shell/platform/darwin/ios/rendering_api_selection.h"
22 if ([layer.
get() isKindOfClass:[CAMetalLayer
class]]) {
23 switch (context->GetBackend()) {
26 return std::make_unique<IOSSurfaceMetalSkia>(
36 return std::make_unique<IOSSurfaceMetalImpeller>(
44 return std::make_unique<IOSSurfaceSoftware>(layer,
50 : ios_context_(
std::move(ios_context)) {
static std::unique_ptr< IOSSurface > Create(std::shared_ptr< IOSContext > context, const fml::scoped_nsobject< CALayer > &layer)
IOSSurface(std::shared_ptr< IOSContext > ios_context)
std::shared_ptr< IOSContext > GetContext() const
T get() const __attribute((ns_returns_not_retained))
#define FML_LOG(severity)
#define FML_DCHECK(condition)
#define METAL_IOS_VERSION_BASELINE