Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
vulkan_native_surface_android.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_VULKAN_VULKAN_NATIVE_SURFACE_ANDROID_H_
6#define FLUTTER_VULKAN_VULKAN_NATIVE_SURFACE_ANDROID_H_
7
8#include "flutter/fml/macros.h"
10
11struct ANativeWindow;
13
14namespace vulkan {
15
17 public:
18 /// Create a native surface from the valid ANativeWindow reference. Ownership
19 /// of the ANativeWindow is assumed by this instance.
20 explicit VulkanNativeSurfaceAndroid(ANativeWindow* native_window);
21
23
24 const char* GetExtensionName() const override;
25
26 uint32_t GetSkiaExtensionName() const override;
27
28 VkSurfaceKHR CreateSurfaceHandle(
30 const VulkanHandle<VkInstance>& instance) const override;
31
32 bool IsValid() const override;
33
34 SkISize GetSize() const override;
35
36 private:
37 ANativeWindow* native_window_;
38
40};
41
42} // namespace vulkan
43
44#endif // FLUTTER_VULKAN_VULKAN_NATIVE_SURFACE_ANDROID_H_
VkSurfaceKHR CreateSurfaceHandle(VulkanProcTable &vk, const VulkanHandle< VkInstance > &instance) const override
VkInstance instance
Definition main.cc:48
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
Definition macros.h:27
struct ANativeWindow ANativeWindow