Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(492)

Side by Side Diff: src/animator/SkMemberInfo.h

Issue 1561683002: Start using <type_traits> and <utility> (C++11). (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2006 The Android Open Source Project 3 * Copyright 2006 The Android Open Source Project
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 9
10 #ifndef SkMemberInfo_DEFINED 10 #ifndef SkMemberInfo_DEFINED
11 #define SkMemberInfo_DEFINED 11 #define SkMemberInfo_DEFINED
12 12
13 #if defined SK_BUILD_CONDENSED 13 #if defined SK_BUILD_CONDENSED
14 #define SK_USE_CONDENSED_INFO 0 14 #define SK_USE_CONDENSED_INFO 0
15 #endif 15 #endif
16 16
17 #include "SkDisplayType.h" 17 #include "SkDisplayType.h"
18 #include "SkScript.h" 18 #include "SkScript.h"
19 #include "SkString.h" 19 #include "SkString.h"
20 #include "SkIntArray.h" 20 #include "SkIntArray.h"
21 21
22 #include <utility>
23
22 class SkAnimateMaker; 24 class SkAnimateMaker;
23 class SkDisplayable; 25 class SkDisplayable;
24 class SkScriptEngine; 26 class SkScriptEngine;
25 27
26 // temporary hacks until name change is more complete 28 // temporary hacks until name change is more complete
27 #define SkFloat SkScalar 29 #define SkFloat SkScalar
28 #define SkInt SkS32 30 #define SkInt SkS32
29 31
30 struct SkMemberInfo { 32 struct SkMemberInfo {
31 //!!! alternative: 33 //!!! alternative:
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 // static bool SetValue(void* value, const char* name, SkDisplayTypes , int cou nt); 106 // static bool SetValue(void* value, const char* name, SkDisplayTypes , int cou nt);
105 }; 107 };
106 108
107 #ifndef SK_OFFSETOF 109 #ifndef SK_OFFSETOF
108 // This is offsetof for types which are not standard layout. 110 // This is offsetof for types which are not standard layout.
109 #define SK_OFFSETOF(type, field) (size_t)((char*)&(((type*)1024)->field) - ( char*)1024) 111 #define SK_OFFSETOF(type, field) (size_t)((char*)&(((type*)1024)->field) - ( char*)1024)
110 #endif 112 #endif
111 113
112 #define SK_MEMBER(_member, _type) \ 114 #define SK_MEMBER(_member, _type) \
113 { #_member, SK_OFFSETOF(BASE_CLASS, _member), SkType_##_type, \ 115 { #_member, SK_OFFSETOF(BASE_CLASS, _member), SkType_##_type, \
114 sizeof(skstd::declval<BASE_CLASS>()._member) / sizeof(SkScalar) } 116 sizeof(std::declval<BASE_CLASS>()._member) / sizeof(SkScalar) }
115 117
116 #define SK_MEMBER_ALIAS(_member, _alias, _type) \ 118 #define SK_MEMBER_ALIAS(_member, _alias, _type) \
117 { #_member, SK_OFFSETOF(BASE_CLASS, _alias), SkType_##_type, \ 119 { #_member, SK_OFFSETOF(BASE_CLASS, _alias), SkType_##_type, \
118 sizeof(skstd::declval<BASE_CLASS>()._alias) / sizeof(SkScalar) } 120 sizeof(std::declval<BASE_CLASS>()._alias) / sizeof(SkScalar) }
119 121
120 #define SK_MEMBER_ARRAY(_member, _type) \ 122 #define SK_MEMBER_ARRAY(_member, _type) \
121 { #_member, SK_OFFSETOF(BASE_CLASS, _member), SkType_Array, \ 123 { #_member, SK_OFFSETOF(BASE_CLASS, _member), SkType_Array, \
122 (int) SkType_##_type } 124 (int) SkType_##_type }
123 125
124 #define SK_MEMBER_INHERITED \ 126 #define SK_MEMBER_INHERITED \
125 { (const char*) INHERITED::fInfo, 0, SkType_BaseClassInfo, INHERITED::fInfoC ount } 127 { (const char*) INHERITED::fInfo, 0, SkType_BaseClassInfo, INHERITED::fInfoC ount }
126 128
127 // #define SK_MEMBER_KEY_TYPE(_member, _type) 129 // #define SK_MEMBER_KEY_TYPE(_member, _type)
128 // {#_member, (size_t) -1, SkType_##_type, 0} 130 // {#_member, (size_t) -1, SkType_##_type, 0}
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 #define DECLARE_NO_VIRTUALS_MEMBER_INFO(_type) \ 268 #define DECLARE_NO_VIRTUALS_MEMBER_INFO(_type) \
267 public: \ 269 public: \
268 typedef Sk##_type BASE_CLASS 270 typedef Sk##_type BASE_CLASS
269 271
270 #define DEFINE_GET_MEMBER(_class) 272 #define DEFINE_GET_MEMBER(_class)
271 #define DEFINE_NO_VIRTUALS_GET_MEMBER(_class) 273 #define DEFINE_NO_VIRTUALS_GET_MEMBER(_class)
272 274
273 #endif 275 #endif
274 276
275 #endif // SkMemberInfo_DEFINED 277 #endif // SkMemberInfo_DEFINED
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698