| 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_VIEW_MANAGER_PUBLIC_CPP_VIEW_PROPERTY_H_ |
| 6 #define COMPONENTS_VIEW_MANAGER_PUBLIC_CPP_VIEW_PROPERTY_H_ | 6 #define COMPONENTS_VIEW_MANAGER_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_VIEW_MANAGER_PUBLIC_CPP_VIEW_PROPERTY_H_ |
| OLD | NEW |