1 2/* 3 * Copyright 2006 The Android Open Source Project 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8 9 10#include "SkTagList.h" 11 12SkTagList::~SkTagList() 13{ 14} 15 16SkTagList* SkTagList::Find(SkTagList* rec, U8CPU tag) 17{ 18 SkASSERT(tag < kSkTagListCount); 19 20 while (rec != NULL) 21 { 22 if (rec->fTag == tag) 23 break; 24 rec = rec->fNext; 25 } 26 return rec; 27} 28 29void SkTagList::DeleteTag(SkTagList** head, U8CPU tag) 30{ 31 SkASSERT(tag < kSkTagListCount); 32 33 SkTagList* rec = *head; 34 SkTagList* prev = NULL; 35 36 while (rec != NULL) 37 { 38 SkTagList* next = rec->fNext; 39 40 if (rec->fTag == tag) 41 { 42 if (prev) 43 prev->fNext = next; 44 else 45 *head = next; 46 delete rec; 47 break; 48 } 49 prev = rec; 50 rec = next; 51 } 52} 53 54void SkTagList::DeleteAll(SkTagList* rec) 55{ 56 while (rec) 57 { 58 SkTagList* next = rec->fNext; 59 delete rec; 60 rec = next; 61 } 62} 63