blob: 65171b9186907c845b5d705cddf7db63107187dc [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "flutter/shell/platform/darwin/ios/ios_external_texture_metal.h"
#include "flow/layers/layer.h"
namespace flutter {
IOSExternalTextureMetal::IOSExternalTextureMetal(
const fml::scoped_nsobject<FlutterDarwinExternalTextureMetal>& darwin_external_texture_metal)
: Texture([darwin_external_texture_metal textureID]),
darwin_external_texture_metal_(darwin_external_texture_metal) {}
IOSExternalTextureMetal::~IOSExternalTextureMetal() = default;
void IOSExternalTextureMetal::Paint(PaintContext& context,
const SkRect& bounds,
bool freeze,
const DlImageSampling sampling) {
[darwin_external_texture_metal_ paintContext:context
bounds:bounds
freeze:freeze
sampling:sampling];
}
void IOSExternalTextureMetal::OnGrContextCreated() {
[darwin_external_texture_metal_ onGrContextCreated];
}
void IOSExternalTextureMetal::OnGrContextDestroyed() {
[darwin_external_texture_metal_ onGrContextDestroyed];
}
void IOSExternalTextureMetal::MarkNewFrameAvailable() {
[darwin_external_texture_metal_ markNewFrameAvailable];
}
void IOSExternalTextureMetal::OnTextureUnregistered() {
[darwin_external_texture_metal_ onTextureUnregistered];
}
} // namespace flutter