22 if (resource ==
"vkSurface") {
23 if (window && window->surfaceType() == QSurface::VulkanSurface) {
24 auto *platformWindow =
static_cast<QOhosPlatformWindow *>(window->handle());
25 QOhosSurface *surface = platformWindow ? platformWindow->ownedSurfaceOrNull() :
nullptr;
27 qWarning(
"QOhosPlatformNativeInterface: No QOhosSurface available for Vulkan window");
30 QVulkanInstance *vulkanInstance = window->vulkanInstance();
31 if (!vulkanInstance) {
32 qWarning(
"QOhosPlatformNativeInterface: No Vulkan instance; was QWindow::setVulkanInstance() called?");
35 return surface->tryGetOrCreateVulkanWindowSurface(vulkanInstance);
54 if (functionName ==
"tagWindowOrWidgetAsSubWindowOf") {
55 return reinterpret_cast<QFunctionPointer>(&QOhosPlatformWindow::tagWindowOrWidgetAsSubWindowOf);
56 }
else if (functionName ==
"getWindowOrWidgetAsSubWindowOfTagValue") {
57 return reinterpret_cast<QFunctionPointer>(&QOhosPlatformWindow::getWindowOrWidgetAsSubWindowOfTagValue);
58 }
else if (functionName ==
"tagWindowOrWidgetAsMainWindow") {
59 return reinterpret_cast<QFunctionPointer>(&QOhosPlatformWindow::tagWindowOrWidgetAsMainWindow);
60 }
else if (functionName ==
"setInAppOnlyPasteboardShareOption") {
61 return reinterpret_cast<QFunctionPointer>(
63 }
else if (functionName ==
"setSurfaceConsumer") {
64 return reinterpret_cast<QFunctionPointer>(&QOhosPlatformWindow::setSurfaceConsumer);
67 return QPlatformNativeInterface::platformFunction(functionName);