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 14struct 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 29struct 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