OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef UI_BASE_COCOA_REMOTE_LAYER_API_H_ | |
6 #define UI_BASE_COCOA_REMOTE_LAYER_API_H_ | |
7 | |
8 #if defined(__OBJC__) | |
9 #import <Cocoa/Cocoa.h> | |
10 #endif // __OBJC__ | |
11 | |
12 #include "ui/base/ui_base_export.h" | |
13 | |
14 // The CGSConnectionID is used to create the CAContext in the process that is | |
15 // going to share the CALayers that it is rendering to another process to | |
16 // display. | |
17 extern "C" { | |
18 typedef uint32_t CGSConnectionID; | |
19 CGSConnectionID CGSMainConnectionID(void); | |
Avi (use Gerrit)
2014/06/20 00:15:11
I'm a bit surprised we don't already have definiti
ccameron
2014/06/20 00:55:06
The definition seems pretty obscure -- a search on
| |
20 }; | |
21 | |
22 // The CAContextID type identifies a CAContext across processes. This is the | |
23 // token that is passed from the process that is sharing the CALayer that it is | |
24 // rendering to the process that will be displaying that CALayer. | |
25 typedef uint32_t CAContextID; | |
26 | |
27 #if defined(__OBJC__) | |
28 | |
29 // The CAContext has a static CAContextID which can be sent to another process. | |
30 // When a CALayerHost is created using that CAContextID in another process, the | |
31 // content displayed by that CALayerHost will be the content of the CALayer | |
32 // that is set as the |layer| property on the CAContext. | |
33 @interface CAContext : NSObject | |
34 { | |
35 } | |
Avi (use Gerrit)
2014/06/20 00:15:11
Pretty sure you can omit the braces here...
ccameron
2014/06/20 00:55:06
Done.
| |
36 + (id)contextWithCGSConnection:(CAContextID)contextId options:(NSDictionary*)opt ionsDict; | |
Avi (use Gerrit)
2014/06/20 00:15:11
80 cols
ccameron
2014/06/20 00:55:06
How did this pass presubmit?? Done.
| |
37 @property(readonly) CAContextID contextId; | |
38 @property(retain) CALayer *layer; | |
39 @end | |
40 | |
41 // The CALayerHost is created in the process that will display the content | |
42 // being rendered by another process. Setting the |contextId| property on | |
43 // an object of this class will make this layer display the content of the | |
44 // CALayer that is set to the CAContext with that CAContextID in the layer | |
45 // sharing process. | |
46 @interface CALayerHost : CALayer | |
47 { | |
48 } | |
Avi (use Gerrit)
2014/06/20 00:15:11
...and the braces here.
ccameron
2014/06/20 00:55:06
Done.
| |
49 @property CAContextID contextId; | |
50 @end | |
51 | |
52 #endif // __OBJC__ | |
53 | |
54 namespace ui { | |
55 | |
56 // This function will check if all of the interfaces listed above are supported | |
57 // on the system, and return true if they are. | |
58 bool UI_BASE_EXPORT RemoteLayerAPISupported(); | |
59 | |
60 } // namespace ui | |
61 | |
62 #endif // UI_BASE_COCOA_REMOTE_LAYER_API_H_ | |
OLD | NEW |