michael@0: michael@0: /* michael@0: * Copyright 2011 Google Inc. michael@0: * michael@0: * Use of this source code is governed by a BSD-style license that can be michael@0: * found in the LICENSE file. michael@0: */ michael@0: #ifndef SkViewPriv_DEFINED michael@0: #define SkViewPriv_DEFINED michael@0: michael@0: #include "SkView.h" michael@0: #include "SkTagList.h" michael@0: michael@0: struct Layout_SkTagList : SkTagList { michael@0: SkView::Layout* fLayout; michael@0: michael@0: Layout_SkTagList(SkView::Layout* layout) michael@0: : SkTagList(kViewLayout_SkTagList), fLayout(layout) michael@0: { michael@0: SkASSERT(layout); michael@0: layout->ref(); michael@0: } michael@0: virtual ~Layout_SkTagList() michael@0: { michael@0: fLayout->unref(); michael@0: } michael@0: }; michael@0: michael@0: struct Artist_SkTagList : SkTagList { michael@0: SkView::Artist* fArtist; michael@0: michael@0: Artist_SkTagList(SkView::Artist* artist) michael@0: : SkTagList(kViewArtist_SkTagList), fArtist(artist) michael@0: { michael@0: SkASSERT(artist); michael@0: artist->ref(); michael@0: } michael@0: virtual ~Artist_SkTagList() michael@0: { michael@0: fArtist->unref(); michael@0: } michael@0: }; michael@0: michael@0: #endif