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