/* * Copyright 2017 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef WindowContextFactory_ios_DEFINED #define WindowContextFactory_ios_DEFINED #include "tools/sk_app/ios/Window_ios.h" #import #include "tools/window/WindowContext.h" #include namespace skwindow { class DisplayParams; struct IOSWindowInfo { sk_app::Window_ios* fWindow; UIViewController* fViewController; }; #ifdef SK_VULKAN inline std::unique_ptr MakeVulkanForIOS(const IOSWindowInfo&, std::unique_ptr) { // No Vulkan support on iOS yet. return nullptr; } #endif #ifdef SK_METAL std::unique_ptr MakeMetalForIOS(const IOSWindowInfo&, std::unique_ptr); #if defined(SK_GRAPHITE) std::unique_ptr MakeGraphiteMetalForIOS(const IOSWindowInfo&, std::unique_ptr); #endif #endif #ifdef SK_GL std::unique_ptr MakeGLForIOS(const IOSWindowInfo&, std::unique_ptr); std::unique_ptr MakeRasterForIOS(const IOSWindowInfo&, std::unique_ptr); #endif } // namespace skwindow #endif