Home | History | Annotate | Download | only in views
      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 
     15 enum SkTagListEnum {
     16     kListeners_SkTagList,
     17     kViewLayout_SkTagList,
     18     kViewArtist_SkTagList,
     19 
     20     kSkTagListCount
     21 };
     22 
     23 struct 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