1 2 /* 3 * Copyright 2016 Google Inc. 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8 9 #ifndef WindowContextFactory_mac_DEFINED 10 #define WindowContextFactory_mac_DEFINED 11 12 #include <Cocoa/Cocoa.h> 13 14 namespace sk_app { 15 16 class WindowContext; 17 struct DisplayParams; 18 19 namespace window_context_factory { 20 21 struct MacWindowInfo { 22 NSView* fMainView; 23 }; 24 25 #ifdef SK_VULKAN 26 WindowContext* NewVulkanForMac(const MacWindowInfo&, const DisplayParams&); 27 #else NewVulkanForMac(const MacWindowInfo &,const DisplayParams &)28inline WindowContext* NewVulkanForMac(const MacWindowInfo&, const DisplayParams&) { 29 // No Vulkan support on Mac. 30 return nullptr; 31 } 32 #endif 33 34 WindowContext* NewGLForMac(const MacWindowInfo&, const DisplayParams&); 35 36 WindowContext* NewRasterForMac(const MacWindowInfo&, const DisplayParams&); 37 #ifdef SK_METAL 38 WindowContext* NewMetalForMac(const MacWindowInfo&, const DisplayParams&); 39 #endif 40 41 } // namespace window_context_factory 42 43 } // namespace sk_app 44 45 #endif 46