Flutter Engine
 
Loading...
Searching...
No Matches
vulkan_surface.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_SURFACE_H_
6#define FLUTTER_VULKAN_VULKAN_SURFACE_H_
7
8#include <memory>
9
10#include "flutter/fml/macros.h"
12#include "third_party/skia/include/core/SkSize.h"
13
14namespace vulkan {
15
16class VulkanProcTable;
17class VulkanApplication;
18class VulkanNativeSurface;
19
21 public:
23 VulkanApplication& application,
24 std::unique_ptr<VulkanNativeSurface> native_surface);
25
27
28 bool IsValid() const;
29
30 /// Returns the current size of the surface or (0, 0) if invalid.
31 SkISize GetSize() const;
32
34
36
37 private:
39 VulkanApplication& application_;
40 std::unique_ptr<VulkanNativeSurface> native_surface_;
42 bool valid_;
43
45};
46
47} // namespace vulkan
48
49#endif // FLUTTER_VULKAN_VULKAN_SURFACE_H_
SkISize GetSize() const
Returns the current size of the surface or (0, 0) if invalid.
const VulkanNativeSurface & GetNativeSurface() const
const VulkanHandle< VkSurfaceKHR > & Handle() const
#define FML_DISALLOW_COPY_AND_ASSIGN(TypeName)
Definition macros.h:27