1 /* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */
3 /*
4 * This file is part of The Croco Library
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of version 2.1 of the
8 * GNU Lesser General Public
9 * License as published by the Free Software Foundation.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the
17 * GNU Lesser General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 * USA
21 *
22 */
24 /*
25 *$Id: cr-cascade.h,v 1.6 2004/01/29 22:05:14 dodji Exp $
26 */
28 #ifndef __CR_CASCADE_H__
29 #define __CR_CASCADE_H__
31 #include "cr-stylesheet.h"
33 /**
34 *@file
35 *the declaration of the #CRCascade class.
36 */
38 G_BEGIN_DECLS
41 typedef struct _CRCascadePriv CRCascadePriv ;
43 /**
44 *An abstraction of the "Cascade" defined
45 *in the css2 spec, chapter 6.4.
46 */
47 typedef struct _CRCascade CRCascade ;
49 struct _CRCascade
50 {
51 CRCascadePriv *priv ;
52 };
55 CRCascade * cr_cascade_new (CRStyleSheet *a_author_sheet,
56 CRStyleSheet *a_user_sheet,
57 CRStyleSheet *a_ua_sheet) ;
59 CRStyleSheet * cr_cascade_get_sheet (CRCascade *a_this,
60 enum CRStyleOrigin a_origin) ;
62 enum CRStatus cr_cascade_set_sheet (CRCascade *a_this,
63 CRStyleSheet *a_sheet,
64 enum CRStyleOrigin a_origin) ;
66 void cr_cascade_ref (CRCascade *a_this) ;
68 void cr_cascade_unref (CRCascade *a_this) ;
70 void cr_cascade_destroy (CRCascade *a_this) ;
72 G_END_DECLS
74 #endif /*__CR_CASCADE_H__*/