OLD | NEW |
---|---|
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CC_TRANSFERABLE_RESOURCE_H_ | 5 #ifndef CC_TRANSFERABLE_RESOURCE_H_ |
6 #define CC_TRANSFERABLE_RESOURCE_H_ | 6 #define CC_TRANSFERABLE_RESOURCE_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
11 #include "base/callback.h" | |
11 #include "cc/cc_export.h" | 12 #include "cc/cc_export.h" |
12 #include "ui/gfx/size.h" | 13 #include "ui/gfx/size.h" |
13 | 14 |
14 namespace cc { | 15 namespace cc { |
15 | 16 |
16 struct CC_EXPORT Mailbox { | 17 struct CC_EXPORT Mailbox { |
17 Mailbox(); | 18 Mailbox(); |
19 ~Mailbox(); | |
18 bool isZero() const; | 20 bool isZero() const; |
19 void setName(const int8* name); | 21 void setName(const int8* name); |
20 int8 name[64]; | 22 int8 name[64]; |
23 base::Callback<void(unsigned)> releaseCallback; | |
danakj
2013/01/07 21:10:59
oh I see.
How about Mailbox::ReleaseCallback, and
piman
2013/01/08 01:45:34
NAK here, this is intended to be a serialized type
| |
21 }; | 24 }; |
22 | 25 |
23 struct CC_EXPORT TransferableResource { | 26 struct CC_EXPORT TransferableResource { |
24 TransferableResource(); | 27 TransferableResource(); |
25 ~TransferableResource(); | 28 ~TransferableResource(); |
26 | 29 |
27 unsigned id; | 30 unsigned id; |
28 uint32 format; | 31 uint32 format; |
29 uint32 filter; | 32 uint32 filter; |
30 gfx::Size size; | 33 gfx::Size size; |
31 Mailbox mailbox; | 34 Mailbox mailbox; |
32 }; | 35 }; |
33 | 36 |
34 typedef std::vector<TransferableResource> TransferableResourceArray; | 37 typedef std::vector<TransferableResource> TransferableResourceArray; |
35 | 38 |
36 struct CC_EXPORT TransferableResourceList { | 39 struct CC_EXPORT TransferableResourceList { |
37 TransferableResourceList(); | 40 TransferableResourceList(); |
38 ~TransferableResourceList(); | 41 ~TransferableResourceList(); |
39 | 42 |
40 TransferableResourceArray resources; | 43 TransferableResourceArray resources; |
41 unsigned sync_point; | 44 unsigned sync_point; |
42 }; | 45 }; |
43 | 46 |
44 } // namespace cc | 47 } // namespace cc |
45 | 48 |
46 #endif // CC_TRANSFERABLE_RESOURCE_H_ | 49 #endif // CC_TRANSFERABLE_RESOURCE_H_ |
OLD | NEW |