• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 &)28 inline 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