Flutter Engine
The Flutter Engine
image_external_texture_vk.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_SHELL_PLATFORM_ANDROID_IMAGE_EXTERNAL_TEXTURE_VK_H_
6#define FLUTTER_SHELL_PLATFORM_ANDROID_IMAGE_EXTERNAL_TEXTURE_VK_H_
7
8#include <cstdint>
9#include <utility>
10#include "flutter/shell/platform/android/image_external_texture.h"
11
12#include "flutter/impeller/renderer/backend/vulkan/android/ahb_texture_source_vk.h"
13#include "flutter/impeller/renderer/backend/vulkan/context_vk.h"
14#include "flutter/impeller/renderer/backend/vulkan/vk.h"
15#include "flutter/shell/platform/android/android_context_vulkan_impeller.h"
16
17namespace flutter {
18
20 public:
22 const std::shared_ptr<impeller::ContextVK>& impeller_context,
23 int64_t id,
25 hardware_buffer_texture_entry,
26 const std::shared_ptr<PlatformViewAndroidJNI>& jni_facade);
27
28 ~ImageExternalTextureVK() override;
29
30 private:
31 void Attach(PaintContext& context) override;
32 void ProcessFrame(PaintContext& context, const SkRect& bounds) override;
33 void Detach() override;
34
35 const std::shared_ptr<impeller::ContextVK> impeller_context_;
36};
37
38} // namespace flutter
39
40#endif // FLUTTER_SHELL_PLATFORM_ANDROID_IMAGE_EXTERNAL_TEXTURE_VK_H_
ImageExternalTextureVK(const std::shared_ptr< impeller::ContextVK > &impeller_context, int64_t id, const fml::jni::ScopedJavaGlobalRef< jobject > &hardware_buffer_texture_entry, const std::shared_ptr< PlatformViewAndroidJNI > &jni_facade)
Optional< SkRect > bounds
Definition: SkRecords.h:189