mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Context: https://g-issues.skia.org/issues/309785258 Skia would like to remove these deprecated fields, so this updates Flutter's use of them to use the new ways. Note that `VulkanWindow` seems to be unused (or no longer used?) since there was a mistyped define (`SK_VUKLAN` -> `SK_VULKAN`) causing the code I am fixing to never be run. ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide] and the [C++, Objective-C, Java style guides]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I added new tests to check the change I am making or feature I am adding, or the PR is [test-exempt]. See [testing the engine] for instructions on writing and running engine tests. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I signed the [CLA]. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style [testing the engine]: https://github.com/flutter/flutter/wiki/Testing-the-engine [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat
43 lines
1.2 KiB
C++
43 lines
1.2 KiB
C++
// 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.
|
|
|
|
#ifndef FLUTTER_VULKAN_VULKAN_NATIVE_SURFACE_ANDROID_H_
|
|
#define FLUTTER_VULKAN_VULKAN_NATIVE_SURFACE_ANDROID_H_
|
|
|
|
#include "flutter/fml/macros.h"
|
|
#include "vulkan_native_surface.h"
|
|
|
|
struct ANativeWindow;
|
|
typedef struct ANativeWindow ANativeWindow;
|
|
|
|
namespace vulkan {
|
|
|
|
class VulkanNativeSurfaceAndroid : public VulkanNativeSurface {
|
|
public:
|
|
/// Create a native surface from the valid ANativeWindow reference. Ownership
|
|
/// of the ANativeWindow is assumed by this instance.
|
|
explicit VulkanNativeSurfaceAndroid(ANativeWindow* native_window);
|
|
|
|
~VulkanNativeSurfaceAndroid();
|
|
|
|
const char* GetExtensionName() const override;
|
|
|
|
VkSurfaceKHR CreateSurfaceHandle(
|
|
VulkanProcTable& vk,
|
|
const VulkanHandle<VkInstance>& instance) const override;
|
|
|
|
bool IsValid() const override;
|
|
|
|
SkISize GetSize() const override;
|
|
|
|
private:
|
|
ANativeWindow* native_window_;
|
|
|
|
FML_DISALLOW_COPY_AND_ASSIGN(VulkanNativeSurfaceAndroid);
|
|
};
|
|
|
|
} // namespace vulkan
|
|
|
|
#endif // FLUTTER_VULKAN_VULKAN_NATIVE_SURFACE_ANDROID_H_
|