1 2 /* 3 * Copyright 2011 Google Inc. 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 #ifndef SkViewPriv_DEFINED 9 #define SkViewPriv_DEFINED 10 11 #include "SkView.h" 12 #include "SkTagList.h" 13 14 struct Layout_SkTagList : SkTagList { 15 SkView::Layout* fLayout; 16 17 Layout_SkTagList(SkView::Layout* layout) 18 : SkTagList(kViewLayout_SkTagList), fLayout(layout) 19 { 20 SkASSERT(layout); 21 layout->ref(); 22 } 23 virtual ~Layout_SkTagList() 24 { 25 fLayout->unref(); 26 } 27 }; 28 29 struct Artist_SkTagList : SkTagList { 30 SkView::Artist* fArtist; 31 32 Artist_SkTagList(SkView::Artist* artist) 33 : SkTagList(kViewArtist_SkTagList), fArtist(artist) 34 { 35 SkASSERT(artist); 36 artist->ref(); 37 } 38 virtual ~Artist_SkTagList() 39 { 40 fArtist->unref(); 41 } 42 }; 43 44 #endif 45