00001 /* -*- Mode: C; indent-tabs-mode:nil; c-basic-offset: 8-*- */ 00002 00003 /* 00004 * This file is part of The Croco Library 00005 * 00006 * Copyright (C) 2002-2003 Dodji Seketeli <dodji@seketeli.org> 00007 * 00008 * This program is free software; you can redistribute it and/or 00009 * modify it under the terms of version 2.1 of the GNU Lesser General Public 00010 * License as published by the Free Software Foundation. 00011 * 00012 * This program is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 * GNU General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public License 00018 * along with this program; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00020 * USA 00021 */ 00022 00023 /* 00024 *$Id: cr-pseudo.h,v 1.1 2003/04/12 16:50:30 dodji Exp $ 00025 */ 00026 00027 #ifndef __CR_PSEUDO_H__ 00028 #define __CR_PSEUDO_H__ 00029 00030 #include <stdio.h> 00031 #include <glib.h> 00032 #include "cr-attr-sel.h" 00033 00034 G_BEGIN_DECLS 00035 00036 enum CRPseudoType 00037 { 00038 IDENT_PSEUDO = 0, 00039 FUNCTION_PSEUDO 00040 } ; 00041 00042 typedef struct _CRPseudo CRPseudo ; 00043 00044 /** 00045 *The CRPseudo Class. 00046 *Abstract a "pseudo" as defined by the css2 spec 00047 *in appendix D.1 . 00048 */ 00049 struct _CRPseudo 00050 { 00051 enum CRPseudoType type ; 00052 GString *name ; 00053 GString *extra ; 00054 } ; 00055 00056 CRPseudo * 00057 cr_pseudo_new (void) ; 00058 00059 guchar * 00060 cr_pseudo_to_string (CRPseudo *a_this) ; 00061 00062 void 00063 cr_pseudo_dump (CRPseudo *a_this, FILE *a_fp) ; 00064 00065 void 00066 cr_pseudo_destroy (CRPseudo *a_this) ; 00067 00068 G_END_DECLS 00069 00070 #endif /*__CR_PSEUDO_H__*/