| OLD | NEW |
| 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 #include "SkDisplayAdd.h" | 10 #include "SkDisplayAdd.h" |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 bool skipAddToParent = true; | 86 bool skipAddToParent = true; |
| 87 SkASSERT(type != SkType_Replace || where); | 87 SkASSERT(type != SkType_Replace || where); |
| 88 SkTDDrawableArray* grandList SK_INIT_TO_AVOID_WARNING; | 88 SkTDDrawableArray* grandList SK_INIT_TO_AVOID_WARNING; |
| 89 SkGroup* parentGroup = NULL; | 89 SkGroup* parentGroup = NULL; |
| 90 SkGroup* thisGroup = NULL; | 90 SkGroup* thisGroup = NULL; |
| 91 int index = where ? displayList.findGroup(where, &parentList, &parentGroup, | 91 int index = where ? displayList.findGroup(where, &parentList, &parentGroup, |
| 92 &thisGroup, &grandList) : 0; | 92 &thisGroup, &grandList) : 0; |
| 93 if (index < 0) | 93 if (index < 0) |
| 94 return true; | 94 return true; |
| 95 int max = parentList->count(); | 95 int max = parentList->count(); |
| 96 if (where == NULL && type == SkType_Move) | 96 if (where == NULL && type == SkType_Relocate) |
| 97 index = max; | 97 index = max; |
| 98 if (offset != SK_MaxS32) { | 98 if (offset != SK_MaxS32) { |
| 99 index += offset; | 99 index += offset; |
| 100 if (index > max) { | 100 if (index > max) { |
| 101 maker.setErrorCode(SkDisplayXMLParserError::kIndexOutOfRange); | 101 maker.setErrorCode(SkDisplayXMLParserError::kIndexOutOfRange); |
| 102 return true; // caller should not add | 102 return true; // caller should not add |
| 103 } | 103 } |
| 104 } | 104 } |
| 105 if (offset < 0 && where == NULL) | 105 if (offset < 0 && where == NULL) |
| 106 index += max + 1; | 106 index += max + 1; |
| (...skipping 21 matching lines...) Expand all Loading... |
| 128 } else { | 128 } else { |
| 129 if (thisGroup) | 129 if (thisGroup) |
| 130 thisGroup->markCopySize(index); | 130 thisGroup->markCopySize(index); |
| 131 *parentList->insert(index) = use; | 131 *parentList->insert(index) = use; |
| 132 if (thisGroup) | 132 if (thisGroup) |
| 133 thisGroup->markCopySet(index); | 133 thisGroup->markCopySet(index); |
| 134 if (use->isApply()) | 134 if (use->isApply()) |
| 135 ((SkApply*) use)->setEmbedded(); | 135 ((SkApply*) use)->setEmbedded(); |
| 136 } | 136 } |
| 137 break; | 137 break; |
| 138 case SkType_Move: { | 138 case SkType_Relocate: { |
| 139 int priorLocation = parentList->find(use); | 139 int priorLocation = parentList->find(use); |
| 140 if (priorLocation < 0) | 140 if (priorLocation < 0) |
| 141 break; | 141 break; |
| 142 *parentList->insert(index) = use; | 142 *parentList->insert(index) = use; |
| 143 if (index < priorLocation) | 143 if (index < priorLocation) |
| 144 priorLocation++; | 144 priorLocation++; |
| 145 parentList->remove(priorLocation); | 145 parentList->remove(priorLocation); |
| 146 } break; | 146 } break; |
| 147 case SkType_Remove: { | 147 case SkType_Remove: { |
| 148 SkDisplayable* old = (*parentList)[index]; | 148 SkDisplayable* old = (*parentList)[index]; |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 204 | 204 |
| 205 bool SkClear::enable(SkAnimateMaker& maker ) { | 205 bool SkClear::enable(SkAnimateMaker& maker ) { |
| 206 SkDisplayList& displayList = maker.fDisplayList; | 206 SkDisplayList& displayList = maker.fDisplayList; |
| 207 displayList.clear(); | 207 displayList.clear(); |
| 208 return true; | 208 return true; |
| 209 } | 209 } |
| 210 | 210 |
| 211 | 211 |
| 212 #if SK_USE_CONDENSED_INFO == 0 | 212 #if SK_USE_CONDENSED_INFO == 0 |
| 213 | 213 |
| 214 const SkMemberInfo SkMove::fInfo[] = { | 214 const SkMemberInfo SkRelocate::fInfo[] = { |
| 215 SK_MEMBER_INHERITED | 215 SK_MEMBER_INHERITED |
| 216 }; | 216 }; |
| 217 | 217 |
| 218 #endif | 218 #endif |
| 219 | 219 |
| 220 DEFINE_GET_MEMBER(SkMove); | 220 DEFINE_GET_MEMBER(SkRelocate); |
| 221 | 221 |
| 222 #if SK_USE_CONDENSED_INFO == 0 | 222 #if SK_USE_CONDENSED_INFO == 0 |
| 223 | 223 |
| 224 const SkMemberInfo SkRemove::fInfo[] = { | 224 const SkMemberInfo SkRemove::fInfo[] = { |
| 225 SK_MEMBER_ALIAS(delete, fDelete, Boolean), // !!! experimental | 225 SK_MEMBER_ALIAS(delete, fDelete, Boolean), // !!! experimental |
| 226 SK_MEMBER(offset, Int), | 226 SK_MEMBER(offset, Int), |
| 227 SK_MEMBER(where, Drawable) | 227 SK_MEMBER(where, Drawable) |
| 228 }; | 228 }; |
| 229 | 229 |
| 230 #endif | 230 #endif |
| 231 | 231 |
| 232 DEFINE_GET_MEMBER(SkRemove); | 232 DEFINE_GET_MEMBER(SkRemove); |
| 233 | 233 |
| 234 SkRemove::SkRemove() : fDelete(false) { | 234 SkRemove::SkRemove() : fDelete(false) { |
| 235 } | 235 } |
| 236 | 236 |
| 237 #if SK_USE_CONDENSED_INFO == 0 | 237 #if SK_USE_CONDENSED_INFO == 0 |
| 238 | 238 |
| 239 const SkMemberInfo SkReplace::fInfo[] = { | 239 const SkMemberInfo SkReplace::fInfo[] = { |
| 240 SK_MEMBER_INHERITED | 240 SK_MEMBER_INHERITED |
| 241 }; | 241 }; |
| 242 | 242 |
| 243 #endif | 243 #endif |
| 244 | 244 |
| 245 DEFINE_GET_MEMBER(SkReplace); | 245 DEFINE_GET_MEMBER(SkReplace); |
| OLD | NEW |