5#ifndef FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_METAL_IMPELLER_H_
6#define FLUTTER_SHELL_PLATFORM_EMBEDDER_EMBEDDER_SURFACE_METAL_IMPELLER_H_
9#include "flutter/fml/macros.h"
10#include "flutter/shell/gpu/gpu_surface_metal_delegate.h"
11#include "flutter/shell/gpu/gpu_surface_metal_skia.h"
12#include "flutter/shell/platform/embedder/embedder_external_view_embedder.h"
13#include "flutter/shell/platform/embedder/embedder_surface.h"
35 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder);
42 std::shared_ptr<EmbedderExternalViewEmbedder> external_view_embedder_;
43 std::shared_ptr<impeller::Context> context_;
46 bool IsValid()
const override;
49 std::unique_ptr<Surface> CreateGPUSurface()
override;
53 const SkISize& frame_size)
const override;
56 bool PresentDrawable(
GrMTLHandle drawable)
const override;
65 std::shared_ptr<impeller::Context> CreateImpellerContext()
const override;
Dart_NativeFunction function
void * GPUMTLDeviceHandle
void * GPUCAMetalLayerHandle
void * GPUMTLCommandQueueHandle