1 /* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */
2
3 /* libcroco - Library for parsing and applying CSS
4 * Copyright (C) 2006-2019 Free Software Foundation, Inc.
5 *
6 * This file is not part of the GNU gettext program, but is used with
7 * GNU gettext.
8 *
9 * The original copyright notice is as follows:
10 */
11
12 /*
13 * This file is part of The Croco Library
14 *
15 * Copyright (C) 2003-2004 Dodji Seketeli. All Rights Reserved.
16 *
17 * This program is free software; you can redistribute it and/or
18 * modify it under the terms of version 2.1 of the
19 * GNU Lesser General Public
20 * License as published by the Free Software Foundation.
21 *
22 * This program is distributed in the hope that it will be useful,
23 * but WITHOUT ANY WARRANTY; without even the implied warranty of
24 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 * GNU General Public License for more details.
26 *
27 * You should have received a copy of the
28 * GNU Lesser General Public License
29 * along with this program; if not, write to the Free Software
30 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
31 * USA
32 *
33 */
34
35 /*
36 *$Id$
37 */
38
39 #ifndef __CR_CASCADE_H__
40 #define __CR_CASCADE_H__
41
42 #include "cr-stylesheet.h"
43
44 /**
45 *@file
46 *the declaration of the #CRCascade class.
47 */
48
49 G_BEGIN_DECLS
50
51
52 typedef struct _CRCascadePriv CRCascadePriv ;
53
54 /**
55 *An abstraction of the "Cascade" defined
56 *in the css2 spec, chapter 6.4.
57 */
58 typedef struct _CRCascade CRCascade ;
59
60 struct _CRCascade
61 {
62 CRCascadePriv *priv ;
63 };
64
65
66 CRCascade * cr_cascade_new (CRStyleSheet *a_author_sheet,
67 CRStyleSheet *a_user_sheet,
68 CRStyleSheet *a_ua_sheet) ;
69
70 CRStyleSheet * cr_cascade_get_sheet (CRCascade *a_this,
71 enum CRStyleOrigin a_origin) ;
72
73 enum CRStatus cr_cascade_set_sheet (CRCascade *a_this,
74 CRStyleSheet *a_sheet,
75 enum CRStyleOrigin a_origin) ;
76
77 void cr_cascade_ref (CRCascade *a_this) ;
78
79 void cr_cascade_unref (CRCascade *a_this) ;
80
81 void cr_cascade_destroy (CRCascade *a_this) ;
82
83 G_END_DECLS
84
85 #endif /*__CR_CASCADE_H__*/