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#ifndef SkTagList_DEFINED 11#define SkTagList_DEFINED 12 13#include "SkTypes.h" 14 15enum SkTagListEnum { 16 kListeners_SkTagList, 17 kViewLayout_SkTagList, 18 kViewArtist_SkTagList, 19 20 kSkTagListCount 21}; 22 23struct SkTagList { 24 SkTagList* fNext; 25 uint16_t fExtra16; 26 uint8_t fExtra8; 27 uint8_t fTag; 28 29 SkTagList(U8CPU tag) : fTag(SkToU8(tag)) 30 { 31 SkASSERT(tag < kSkTagListCount); 32 fNext = NULL; 33 fExtra16 = 0; 34 fExtra8 = 0; 35 } 36 virtual ~SkTagList(); 37 38 static SkTagList* Find(SkTagList* head, U8CPU tag); 39 static void DeleteTag(SkTagList** headptr, U8CPU tag); 40 static void DeleteAll(SkTagList* head); 41}; 42 43#endif 44