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 
Layout_SkTagListLayout_SkTagList17     Layout_SkTagList(SkView::Layout* layout)
18         : SkTagList(kViewLayout_SkTagList), fLayout(layout)
19     {
20         SkASSERT(layout);
21         layout->ref();
22     }
~Layout_SkTagListLayout_SkTagList23     virtual ~Layout_SkTagList()
24     {
25         fLayout->unref();
26     }
27 };
28 
29 struct Artist_SkTagList : SkTagList {
30     SkView::Artist*    fArtist;
31 
Artist_SkTagListArtist_SkTagList32     Artist_SkTagList(SkView::Artist* artist)
33         : SkTagList(kViewArtist_SkTagList), fArtist(artist)
34     {
35         SkASSERT(artist);
36         artist->ref();
37     }
~Artist_SkTagListArtist_SkTagList38     virtual ~Artist_SkTagList()
39     {
40         fArtist->unref();
41     }
42 };
43 
44 #endif
45