| Flutter Impeller |

swapchain_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_IMPELLER_TOOLKIT_INTEROP_BACKEND_VULKAN_SWAPCHAIN_VK_H_
6 #define FLUTTER_IMPELLER_TOOLKIT_INTEROP_BACKEND_VULKAN_SWAPCHAIN_VK_H_
7
8 #include "impeller/renderer/backend/vulkan/swapchain/swapchain_vk.h"
9 #include "impeller/toolkit/interop/backend/vulkan/surface_vk.h"
10 #include "impeller/toolkit/interop/context.h"
11 #include "impeller/toolkit/interop/impeller.h"
12 #include "impeller/toolkit/interop/object.h"
13
14 namespace impeller::interop {
15
16 class SwapchainVK final
17 : public Object<SwapchainVK,
18 IMPELLER_INTERNAL_HANDLE_NAME(ImpellerVulkanSwapchain)> {
19 public:
20 SwapchainVK(Context& context, VkSurfaceKHR surface);
21
22 ~SwapchainVK();
23
24 bool IsValid() const;
25
26 SwapchainVK(const SwapchainVK&) = delete;
27
28 SwapchainVK& operator=(const SwapchainVK&) = delete;
29
30 ScopedObject<SurfaceVK> AcquireNextSurface();
31
32 private:
33 ScopedObject<Context> context_;
34 std::shared_ptr<impeller::SwapchainVK> swapchain_;
35 };
36
37 } // namespace impeller::interop
38
39 #endif // FLUTTER_IMPELLER_TOOLKIT_INTEROP_BACKEND_VULKAN_SWAPCHAIN_VK_H_
impeller::interop::Context
Definition: context.h:16
impeller::interop::Object
Definition: object.h:56
impeller::interop::ScopedObject
Definition: object.h:67
impeller::interop::SwapchainVK
Definition: swapchain_vk.h:18
impeller::interop::SwapchainVK::SwapchainVK
SwapchainVK(Context &context, VkSurfaceKHR surface)
Definition: swapchain_vk.cc:11
impeller::interop::SwapchainVK::operator=
SwapchainVK & operator=(const SwapchainVK &)=delete
impeller::interop::SwapchainVK::SwapchainVK
SwapchainVK(const SwapchainVK &)=delete
impeller::interop::SwapchainVK::AcquireNextSurface
ScopedObject< SurfaceVK > AcquireNextSurface()
Definition: swapchain_vk.cc:45
impeller::interop::SwapchainVK::IsValid
bool IsValid() const
Definition: swapchain_vk.cc:41
impeller::interop::SwapchainVK::~SwapchainVK
~SwapchainVK()
impeller.h
impeller::interop
Definition: context_gles.cc:12
object.h
swapchain_vk.h
surface_vk.h
context.h