/*
* 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