OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 COMPONENTS_VIEW_MANAGER_PUBLIC_CPP_VIEW_PROPERTY_H_ | 5 #ifndef COMPONENTS_MUS_PUBLIC_CPP_VIEW_PROPERTY_H_ |
6 #define COMPONENTS_VIEW_MANAGER_PUBLIC_CPP_VIEW_PROPERTY_H_ | 6 #define COMPONENTS_MUS_PUBLIC_CPP_VIEW_PROPERTY_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 // This header should be included by code that defines ViewProperties. It | 10 // This header should be included by code that defines ViewProperties. It |
11 // should not be included by code that only gets and sets ViewProperties. | 11 // should not be included by code that only gets and sets ViewProperties. |
12 // | 12 // |
13 // To define a new ViewProperty: | 13 // To define a new ViewProperty: |
14 // | 14 // |
15 // #include "components/view_manager/public/cpp/view_property.h" | 15 // #include "components/mus/public/cpp/view_property.h" |
16 // | 16 // |
17 // DECLARE_EXPORTED_VIEW_PROPERTY_TYPE(FOO_EXPORT, MyType); | 17 // DECLARE_EXPORTED_VIEW_PROPERTY_TYPE(FOO_EXPORT, MyType); |
18 // namespace foo { | 18 // namespace foo { |
19 // // Use this to define an exported property that is primitive, | 19 // // Use this to define an exported property that is primitive, |
20 // // or a pointer you don't want automatically deleted. | 20 // // or a pointer you don't want automatically deleted. |
21 // DEFINE_VIEW_PROPERTY_KEY(MyType, kMyKey, MyDefault); | 21 // DEFINE_VIEW_PROPERTY_KEY(MyType, kMyKey, MyDefault); |
22 // | 22 // |
23 // // Use this to define an exported property whose value is a heap | 23 // // Use this to define an exported property whose value is a heap |
24 // // allocated object, and has to be owned and freed by the view. | 24 // // allocated object, and has to be owned and freed by the view. |
25 // DEFINE_OWNED_VIEW_PROPERTY_KEY(gfx::Rect, kRestoreBoundsKey, nullptr); | 25 // DEFINE_OWNED_VIEW_PROPERTY_KEY(gfx::Rect, kRestoreBoundsKey, nullptr); |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
124 const mojo::ViewProperty<TYPE> NAME##_Value = {DEFAULT, #NAME, nullptr}; \ | 124 const mojo::ViewProperty<TYPE> NAME##_Value = {DEFAULT, #NAME, nullptr}; \ |
125 const mojo::ViewProperty<TYPE>* const NAME = &NAME##_Value; \ | 125 const mojo::ViewProperty<TYPE>* const NAME = &NAME##_Value; \ |
126 } | 126 } |
127 | 127 |
128 #define DEFINE_OWNED_VIEW_PROPERTY_KEY(TYPE, NAME, DEFAULT) \ | 128 #define DEFINE_OWNED_VIEW_PROPERTY_KEY(TYPE, NAME, DEFAULT) \ |
129 namespace { \ | 129 namespace { \ |
130 void Deallocator##NAME(int64_t p) { \ | 130 void Deallocator##NAME(int64_t p) { \ |
131 enum { type_must_be_complete = sizeof(TYPE) }; \ | 131 enum { type_must_be_complete = sizeof(TYPE) }; \ |
132 delete mojo::ViewPropertyCaster<TYPE*>::FromInt64(p); \ | 132 delete mojo::ViewPropertyCaster<TYPE*>::FromInt64(p); \ |
133 } \ | 133 } \ |
134 const mojo::ViewProperty<TYPE*> NAME##_Value = {DEFAULT, \ | 134 const mojo::ViewProperty<TYPE*> NAME##_Value = {DEFAULT, #NAME, \ |
135 #NAME, \ | |
136 &Deallocator##NAME}; \ | 135 &Deallocator##NAME}; \ |
137 } \ | 136 } \ |
138 const mojo::ViewProperty<TYPE*>* const NAME = &NAME##_Value; | 137 const mojo::ViewProperty<TYPE*>* const NAME = &NAME##_Value; |
139 | 138 |
140 #endif // COMPONENTS_VIEW_MANAGER_PUBLIC_CPP_VIEW_PROPERTY_H_ | 139 #endif // COMPONENTS_MUS_PUBLIC_CPP_VIEW_PROPERTY_H_ |
OLD | NEW |