diff options
author | Dodji Seketeli <dodji@src.gnome.org> | 2003-04-12 16:50:32 +0000 |
---|---|---|
committer | Dodji Seketeli <dodji@src.gnome.org> | 2003-04-12 16:50:32 +0000 |
commit | 17114030e0e37f93682c903dd818da1f0e2e6f6b (patch) | |
tree | f52286082af39c649dfbc86015ab080ac2a55abd /src/cr-statement.h | |
parent | 4f5560ef67d35121d1087aee9b5e34dece012d8a (diff) | |
download | libcroco-17114030e0e37f93682c903dd818da1f0e2e6f6b.tar.gz |
big tree layout cleanup.
Dodji.
Diffstat (limited to 'src/cr-statement.h')
-rw-r--r-- | src/cr-statement.h | 327 |
1 files changed, 0 insertions, 327 deletions
diff --git a/src/cr-statement.h b/src/cr-statement.h deleted file mode 100644 index eda2371..0000000 --- a/src/cr-statement.h +++ /dev/null @@ -1,327 +0,0 @@ -/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ - -/* - * This file is part of The Croco Library - * - * Copyright (C) 2002-2003 Dodji Seketeli <dodji@seketeli.org> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of version 2.1 of the GNU Lesser General Public - * License as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 - * USA - */ - -/* - *$Id$ - */ - -#include <stdio.h> -#include "cr-utils.h" -#include "cr-term.h" -#include "cr-selector.h" -#include "cr-declaration.h" - -#ifndef __CR_STATEMENT_H__ -#define __CR_STATEMENT_H__ - -G_BEGIN_DECLS - -/** - *@file - *Declaration of the #CRStatement class. - */ - -struct _CRStatement ; -typedef struct _CRStatement CRStatement ; - -struct _CRAtMediaRule ; -typedef struct _CRAtMediaRule CRAtMediaRule ; - -typedef struct _CRRuleSet CRRuleSet ; -/** - *The abstraction of a css ruleset. - *A ruleset is made of a list of selectors, - *followed by a list of declarations. - */ -struct _CRRuleSet -{ - /**A list of instances of #CRSimpeSel*/ - CRSelector *sel_list ; - - /**A list of instances of #CRDeclaration*/ - CRDeclaration *decl_list ; - - /** - *The parent media rule, or NULL if - *no parent media rule exists. - */ - CRAtMediaRule *media_rule ; -} ; - -/* - *a forward declaration of CRStylesheet. - *CRStylesheet is actually declared in - *cr-stylesheet.h - */ -struct _CRStyleSheet ; -typedef struct _CRStyleSheet CRStyleSheet; - - -/**The @import rule abstraction.*/ -typedef struct _CRAtImportRule CRAtImportRule ; -struct _CRAtImportRule -{ - /**the url of the import rule*/ - GString *url ; - - GList *media_list ; - - /** - *the stylesheet fetched from the url, if any. - *this is not "owned" by #CRAtImportRule which means - *it is not destroyed by the destructor of #CRAtImportRule. - */ - CRStyleSheet * sheet; -}; - - -/**abstraction of an @media rule*/ -struct _CRAtMediaRule -{ - GList *media_list ; - CRStatement *rulesets ; -} ; - - -typedef struct _CRAtPageRule CRAtPageRule ; -/**The @page rule abstraction*/ -struct _CRAtPageRule -{ - /**a list of instances of #CRDeclaration*/ - CRDeclaration *decls_list ; - - /**page selector. Is a pseudo selector*/ - GString *name ; - GString *pseudo ; -} ; - -/**The @charset rule abstraction*/ -typedef struct _CRAtCharsetRule CRAtCharsetRule ; -struct _CRAtCharsetRule -{ - GString * charset ; -}; - -/**The abstaction of the @font-face rule.*/ -typedef struct _CRAtFontFaceRule CRAtFontFaceRule ; -struct _CRAtFontFaceRule -{ - /*a list of instanaces of #CRDeclaration*/ - CRDeclaration *decls_list ; -} ; - - -/** - *The possible types of css2 statements. - */ -enum CRStatementType -{ - /** - *A generic css at-rule - *each unknown at-rule will - *be of this type. - */ - AT_RULE_STMT = 0, - - /**A css at-rule*/ - RULESET_STMT, - - /**A css2 import rule*/ - AT_IMPORT_RULE_STMT, - - /**A css2 media rule*/ - AT_MEDIA_RULE_STMT, - - /**A css2 page rule*/ - AT_PAGE_RULE_STMT, - - /**A css2 charset rule*/ - AT_CHARSET_RULE_STMT, - - /**A css2 font face rule*/ - AT_FONT_FACE_RULE_STMT -} ; - - -/** - *The abstraction of css statement as defined - *in the chapter 4 and appendix D.1 of the css2 spec. - *A statement is actually a double chained list of - *statements.A statement can be a ruleset, an @import - *rule, an @page rule etc ... - */ -struct _CRStatement -{ - /** - *The type of the statement. - */ - enum CRStatementType type ; - - union - { - CRRuleSet *ruleset ; - CRAtImportRule *import_rule ; - CRAtMediaRule *media_rule ; - CRAtPageRule *page_rule ; - CRAtCharsetRule *charset_rule ; - CRAtFontFaceRule *font_face_rule ; - } kind ; - - CRStatement *next ; - CRStatement *prev ; - - /** - *a custom pointer useable by - *applications that use libcroco. - *libcroco itself will never modify - *this pointer. - */ - gpointer *app_data ; - - /** - *a custom pointer used - *by the upper layers of libcroco. - *application should never use this - *pointer. - */ - gpointer *croco_data ; -} ; - - -CRStatement* -cr_statement_new_ruleset (CRSelector *a_sel_list, - CRDeclaration *a_decl_list, - CRAtMediaRule *a_media_rule) ; - -CRStatement* -cr_statement_new_at_import_rule (GString *a_url, - GList *a_media_list, - CRStyleSheet *a_sheet) ; - -CRStatement * -cr_statement_new_at_media_rule (CRStatement *a_ruleset, - GList *a_media) ; - -CRStatement * -cr_statement_new_at_charset_rule (GString *a_charset) ; - -CRStatement * -cr_statement_new_at_font_face_rule (CRDeclaration *a_font_decls) ; - -CRStatement * -cr_statement_new_at_page_rule (CRDeclaration *a_decl_list, - GString *a_name, - GString *a_pseudo) ; -CRStatement * -cr_statement_append (CRStatement *a_this, - CRStatement *a_new) ; - -CRStatement* -cr_statement_prepend (CRStatement *a_this, - CRStatement *a_new) ; - -CRStatement * -cr_statement_unlink (CRStatement *a_this, - CRStatement *a_to_unlink) ; - -enum CRStatus -cr_statement_ruleset_set_sel_list (CRStatement *a_this, - CRSelector *a_sel_list) ; - -enum CRStatus -cr_statement_ruleset_get_sel_list (CRStatement *a_this, - CRSelector **a_list) ; - -enum CRStatus -cr_statement_ruleset_set_decl_list (CRStatement *a_this, - CRDeclaration *a_list) ; - -enum CRStatus -cr_statement_ruleset_append_decl2 (CRStatement *a_this, - GString *a_prop, CRTerm *a_value) ; - -enum CRStatus -cr_statement_ruleset_append_decl (CRStatement *a_this, - CRDeclaration *a_decl) ; - -enum CRStatus -cr_statement_at_import_rule_set_sheet (CRStatement *a_this, - CRStyleSheet *a_sheet) ; - -enum CRStatus -cr_statement_at_import_rule_get_sheet (CRStatement *a_this, - CRStyleSheet **a_sheet) ; - -enum CRStatus -cr_statement_at_import_rule_set_url (CRStatement *a_this, - GString *a_url) ; - -enum CRStatus -cr_statement_at_import_rule_get_url (CRStatement *a_this, - GString **a_url) ; - -enum CRStatus -cr_statement_at_page_rule_set_sel (CRStatement *a_this, - CRSelector *a_sel) ; - -enum CRStatus -cr_statement_at_page_rule_get_sel (CRStatement *a_this, - CRSelector **a_sel) ; - -enum CRStatus -cr_statement_at_page_rule_set_declarations (CRStatement *a_this, - CRDeclaration *a_decl_list) ; - -enum CRStatus -cr_statement_at_page_rule_get_declarations (CRStatement *a_this, - CRDeclaration **a_decl_list) ; - -enum CRStatus -cr_statement_at_charset_rule_set_charset (CRStatement *a_this, - GString *a_charset) ; - -enum CRStatus -cr_statement_at_charset_rule_get_charset (CRStatement *a_this, - GString **a_charset) ; - -enum CRStatus -cr_statement_at_font_face_rule_set_decls (CRStatement *a_this, - CRDeclaration *a_decls) ; - -enum CRStatus -cr_statement_at_font_face_rule_get_decls (CRStatement *a_this, - CRDeclaration **a_decls) ; - -enum CRStatus -cr_statement_at_font_face_rule_add_decl (CRStatement *a_this, - GString *a_prop, - CRTerm *a_value) ; - -void -cr_statement_dump (CRStatement *a_this, FILE *a_fp, gulong a_indent) ; - -void -cr_statement_destroy (CRStatement *a_this) ; - -G_END_DECLS - -#endif /*__CR_STATEMENT_H__*/ |