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 GNU Lesser General Public
19 * License as published by the Free Software Foundation.
20 *
21 * This program is distributed in the hope that it will be useful,
22 * but WITHOUT ANY WARRANTY; without even the implied warranty of
23 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 * GNU General Public License for more details.
25 *
26 * You should have received a copy of the GNU Lesser General Public License
27 * along with this program; if not, write to the Free Software
28 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
29 * USA
30 */
31
32 #ifndef __CR_PSEUDO_H__
33 #define __CR_PSEUDO_H__
34
35 #include <stdio.h>
36 #include <glib.h>
37 #include "cr-attr-sel.h"
38 #include "cr-parsing-location.h"
39
40 G_BEGIN_DECLS
41
42 enum CRPseudoType
43 {
44 IDENT_PSEUDO = 0,
45 FUNCTION_PSEUDO
46 } ;
47
48 typedef struct _CRPseudo CRPseudo ;
49
50 /**
51 *The CRPseudo Class.
52 *Abstract a "pseudo" as defined by the css2 spec
53 *in appendix D.1 .
54 */
55 struct _CRPseudo
56 {
57 enum CRPseudoType type ;
58 CRString *name ;
59 CRString *extra ;
60 CRParsingLocation location ;
61 } ;
62
63 CRPseudo * cr_pseudo_new (void) ;
64
65 guchar * cr_pseudo_to_string (CRPseudo const *a_this) ;
66
67 void cr_pseudo_dump (CRPseudo const *a_this, FILE *a_fp) ;
68
69 void cr_pseudo_destroy (CRPseudo *a_this) ;
70
71 G_END_DECLS
72
73 #endif /*__CR_PSEUDO_H__*/