Libcroco
|
#include <stdio.h>
#include "cr-utils.h"
#include "cr-term.h"
#include "cr-selector.h"
#include "cr-declaration.h"
Go to the source code of this file.
Data Structures | |
struct | _CRRuleSet |
The abstraction of a css ruleset. More... | |
struct | _CRAtImportRule |
struct | _CRAtMediaRule |
abstraction of an @media rule More... | |
struct | _CRAtPageRule |
The @page rule abstraction. More... | |
struct | _CRAtCharsetRule |
struct | _CRAtFontFaceRule |
struct | _CRStatement |
The abstraction of css statement as defined in the chapter 4 and appendix D.1 of the css2 spec. More... | |
Typedefs | |
typedef struct _CRAtMediaRule | CRAtMediaRule |
typedef struct _CRRuleSet | CRRuleSet |
typedef struct _CRStyleSheet | CRStyleSheet |
typedef struct _CRAtImportRule | CRAtImportRule |
The @import rule abstraction. More... | |
typedef struct _CRAtPageRule | CRAtPageRule |
typedef struct _CRAtCharsetRule | CRAtCharsetRule |
The @charset rule abstraction. More... | |
typedef struct _CRAtFontFaceRule | CRAtFontFaceRule |
The abstaction of the @font-face rule. More... | |
Enumerations | |
enum | CRStatementType { AT_RULE_STMT = 0, RULESET_STMT, AT_IMPORT_RULE_STMT, AT_MEDIA_RULE_STMT, AT_PAGE_RULE_STMT, AT_CHARSET_RULE_STMT, AT_FONT_FACE_RULE_STMT } |
The possible types of css2 statements. More... | |
Functions | |
gboolean | cr_statement_does_buf_parses_against_core (const guchar *a_buf, enum CREncoding a_encoding) |
cr_statement_does_buf_parses_against_core: More... | |
CRStatement * | cr_statement_parse_from_buf (const guchar *a_buf, enum CREncoding a_encoding) |
cr_statement_parse_from_buf: More... | |
CRStatement * | cr_statement_new_ruleset (CRStyleSheet *a_sheet, CRSelector *a_sel_list, CRDeclaration *a_decl_list, CRStatement *a_media_rule) |
cr_statement_new_ruleset: More... | |
CRStatement * | cr_statement_ruleset_parse_from_buf (const guchar *a_buf, enum CREncoding a_enc) |
cr_statement_ruleset_parse_from_buf: More... | |
CRStatement * | cr_statement_new_at_import_rule (CRStyleSheet *a_container_sheet, CRString *a_url, GList *a_media_list, CRStyleSheet *a_imported_sheet) |
cr_statement_new_at_import_rule: More... | |
CRStatement * | cr_statement_at_import_rule_parse_from_buf (const guchar *a_buf, enum CREncoding a_encoding) |
cr_statement_at_import_rule_parse_from_buf: More... | |
CRStatement * | cr_statement_new_at_media_rule (CRStyleSheet *a_sheet, CRStatement *a_ruleset, GList *a_media) |
cr_statement_new_at_media_rule: More... | |
CRStatement * | cr_statement_at_media_rule_parse_from_buf (const guchar *a_buf, enum CREncoding a_enc) |
cr_statement_at_media_rule_parse_from_buf: More... | |
CRStatement * | cr_statement_new_at_charset_rule (CRStyleSheet *a_sheet, CRString *a_charset) |
cr_statement_new_at_charset_rule: More... | |
CRStatement * | cr_statement_at_charset_rule_parse_from_buf (const guchar *a_buf, enum CREncoding a_encoding) |
cr_statement_at_charset_rule_parse_from_buf: More... | |
CRStatement * | cr_statement_new_at_font_face_rule (CRStyleSheet *a_sheet, CRDeclaration *a_font_decls) |
cr_statement_new_at_font_face_rule: More... | |
CRStatement * | cr_statement_font_face_rule_parse_from_buf (const guchar *a_buf, enum CREncoding a_encoding) |
cr_statement_font_face_rule_parse_from_buf: More... | |
CRStatement * | cr_statement_new_at_page_rule (CRStyleSheet *a_sheet, CRDeclaration *a_decl_list, CRString *a_name, CRString *a_pseudo) |
cr_statement_new_at_page_rule: More... | |
CRStatement * | cr_statement_at_page_rule_parse_from_buf (const guchar *a_buf, enum CREncoding a_encoding) |
cr_statement_at_page_rule_parse_from_buf: More... | |
enum CRStatus | cr_statement_set_parent_sheet (CRStatement *a_this, CRStyleSheet *a_sheet) |
cr_statement_set_parent_sheet: More... | |
enum CRStatus | cr_statement_get_parent_sheet (CRStatement *a_this, CRStyleSheet **a_sheet) |
cr_statement_get_parent_sheet: More... | |
CRStatement * | cr_statement_append (CRStatement *a_this, CRStatement *a_new) |
cr_statement_append: More... | |
CRStatement * | cr_statement_prepend (CRStatement *a_this, CRStatement *a_new) |
cr_statement_prepend: More... | |
CRStatement * | cr_statement_unlink (CRStatement *a_stmt) |
cr_statement_unlink: More... | |
enum CRStatus | cr_statement_ruleset_set_sel_list (CRStatement *a_this, CRSelector *a_sel_list) |
cr_statement_ruleset_set_sel_list: More... | |
enum CRStatus | cr_statement_ruleset_get_sel_list (CRStatement const *a_this, CRSelector **a_list) |
cr_statement_ruleset_get_sel_list: More... | |
enum CRStatus | cr_statement_ruleset_set_decl_list (CRStatement *a_this, CRDeclaration *a_list) |
cr_statement_ruleset_set_decl_list: More... | |
enum CRStatus | cr_statement_ruleset_get_declarations (CRStatement *a_this, CRDeclaration **a_decl_list) |
cr_statement_ruleset_get_declarations: More... | |
enum CRStatus | cr_statement_ruleset_append_decl2 (CRStatement *a_this, CRString *a_prop, CRTerm *a_value) |
cr_statement_ruleset_append_decl2: More... | |
enum CRStatus | cr_statement_ruleset_append_decl (CRStatement *a_this, CRDeclaration *a_decl) |
cr_statement_ruleset_append_decl: More... | |
enum CRStatus | cr_statement_at_import_rule_set_imported_sheet (CRStatement *a_this, CRStyleSheet *a_sheet) |
cr_statement_at_import_rule_set_imported_sheet: More... | |
enum CRStatus | cr_statement_at_import_rule_get_imported_sheet (CRStatement *a_this, CRStyleSheet **a_sheet) |
cr_statement_at_import_rule_get_imported_sheet: More... | |
enum CRStatus | cr_statement_at_import_rule_set_url (CRStatement *a_this, CRString *a_url) |
cr_statement_at_import_rule_set_url: More... | |
enum CRStatus | cr_statement_at_import_rule_get_url (CRStatement const *a_this, CRString **a_url) |
cr_statement_at_import_rule_get_url: More... | |
gint | cr_statement_at_media_nr_rules (CRStatement const *a_this) |
cr_statement_at_media_nr_rules: More... | |
CRStatement * | cr_statement_at_media_get_from_list (CRStatement *a_this, int itemnr) |
cr_statement_at_media_get_from_list: More... | |
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 const *a_this, CRSelector **a_sel) |
enum CRStatus | cr_statement_at_page_rule_set_declarations (CRStatement *a_this, CRDeclaration *a_decl_list) |
cr_statement_at_page_rule_set_declarations: More... | |
enum CRStatus | cr_statement_at_page_rule_get_declarations (CRStatement *a_this, CRDeclaration **a_decl_list) |
cr_statement_at_page_rule_get_declarations: More... | |
enum CRStatus | cr_statement_at_charset_rule_set_charset (CRStatement *a_this, CRString *a_charset) |
cr_statement_at_charset_rule_set_charset: More... | |
enum CRStatus | cr_statement_at_charset_rule_get_charset (CRStatement const *a_this, CRString **a_charset) |
cr_statement_at_charset_rule_get_charset: @a_this: the current @charset rule statement. More... | |
enum CRStatus | cr_statement_at_font_face_rule_set_decls (CRStatement *a_this, CRDeclaration *a_decls) |
cr_statement_at_font_face_rule_set_decls: More... | |
enum CRStatus | cr_statement_at_font_face_rule_get_decls (CRStatement *a_this, CRDeclaration **a_decls) |
cr_statement_at_font_face_rule_get_decls: More... | |
enum CRStatus | cr_statement_at_font_face_rule_add_decl (CRStatement *a_this, CRString *a_prop, CRTerm *a_value) |
cr_statement_at_font_face_rule_add_decl: More... | |
gchar * | cr_statement_to_string (CRStatement const *a_this, gulong a_indent) |
cr_statement_to_string: More... | |
gchar * | cr_statement_list_to_string (CRStatement const *a_this, gulong a_indent) |
void | cr_statement_dump (CRStatement const *a_this, FILE *a_fp, gulong a_indent) |
cr_statement_dump: More... | |
void | cr_statement_dump_ruleset (CRStatement const *a_this, FILE *a_fp, glong a_indent) |
cr_statement_dump_ruleset: More... | |
void | cr_statement_dump_font_face_rule (CRStatement const *a_this, FILE *a_fp, glong a_indent) |
cr_statement_dump_font_face_rule: More... | |
void | cr_statement_dump_page (CRStatement const *a_this, FILE *a_fp, gulong a_indent) |
cr_statement_dump_page: More... | |
void | cr_statement_dump_media_rule (CRStatement const *a_this, FILE *a_fp, gulong a_indent) |
cr_statement_dump_media_rule: More... | |
void | cr_statement_dump_import_rule (CRStatement const *a_this, FILE *a_fp, gulong a_indent) |
cr_statement_dump_import_rule: More... | |
void | cr_statement_dump_charset (CRStatement const *a_this, FILE *a_fp, gulong a_indent) |
cr_statement_dump_charset: More... | |
gint | cr_statement_nr_rules (CRStatement const *a_this) |
cr_statement_nr_rules: More... | |
CRStatement * | cr_statement_get_from_list (CRStatement *a_this, int itemnr) |
cr_statement_get_from_list: More... | |
void | cr_statement_destroy (CRStatement *a_this) |
cr_statement_destroy: More... | |
Declaration of the CRStatement class.
Definition in file cr-statement.h.
typedef struct _CRAtCharsetRule CRAtCharsetRule |
The @charset rule abstraction.
Definition at line 126 of file cr-statement.h.
typedef struct _CRAtFontFaceRule CRAtFontFaceRule |
The abstaction of the @font-face rule.
Definition at line 133 of file cr-statement.h.
typedef struct _CRAtImportRule CRAtImportRule |
The @import rule abstraction.
Definition at line 88 of file cr-statement.h.
typedef struct _CRAtMediaRule CRAtMediaRule |
Definition at line 54 of file cr-statement.h.
typedef struct _CRAtPageRule CRAtPageRule |
Definition at line 113 of file cr-statement.h.
typedef struct _CRRuleSet CRRuleSet |
Definition at line 56 of file cr-statement.h.
typedef struct _CRStyleSheet CRStyleSheet |
Definition at line 84 of file cr-statement.h.
enum CRStatementType |
The possible types of css2 statements.
Definition at line 144 of file cr-statement.h.
CRStatement* cr_statement_append | ( | CRStatement * | a_this, |
CRStatement * | a_new | ||
) |
cr_statement_append:
@a_this: the current instance of the statement list. @a_new: a_new the new instance of CRStatement to append.
Appends a new statement to the statement list.
Returns the new list statement list, or NULL in cas of failure.
Definition at line 1821 of file cr-statement.c.
References _CRStatement::next, and _CRStatement::prev.
Referenced by cr_statement_new_ruleset().
enum CRStatus cr_statement_at_charset_rule_get_charset | ( | CRStatement const * | a_this, |
CRString ** | a_charset | ||
) |
cr_statement_at_charset_rule_get_charset: @a_this: the current @charset rule statement.
@a_charset: out parameter. The returned charset string if and only if the function returned CR_OK.
Gets the charset string associated to the current @charset rule statement.
Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 2374 of file cr-statement.c.
References AT_CHARSET_RULE_STMT, _CRAtCharsetRule::charset, _CRStatement::charset_rule, CR_BAD_PARAM_ERROR, CR_OK, _CRStatement::kind, and _CRStatement::type.
CRStatement* cr_statement_at_charset_rule_parse_from_buf | ( | const guchar * | a_buf, |
enum CREncoding | a_encoding | ||
) |
cr_statement_at_charset_rule_parse_from_buf:
@a_buf: the buffer to parse. @a_encoding: the character encoding of the buffer.
Parses a buffer that contains an '@charset' rule and creates an instance of CRStatement of type AT_CHARSET_RULE_STMT.
Returns the newly built instance of CRStatement.
Definition at line 1614 of file cr-statement.c.
References CR_OK.
Referenced by cr_statement_parse_from_buf().
enum CRStatus cr_statement_at_charset_rule_set_charset | ( | CRStatement * | a_this, |
CRString * | a_charset | ||
) |
cr_statement_at_charset_rule_set_charset:
@a_this: the current @charset rule statement. @a_charset: the charset to set.
Sets the charset of the current @charset rule statement.
Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 2347 of file cr-statement.c.
References AT_CHARSET_RULE_STMT, _CRAtCharsetRule::charset, _CRStatement::charset_rule, CR_BAD_PARAM_ERROR, CR_OK, cr_string_destroy(), _CRStatement::kind, and _CRStatement::type.
enum CRStatus cr_statement_at_font_face_rule_add_decl | ( | CRStatement * | a_this, |
CRString * | a_prop, | ||
CRTerm * | a_value | ||
) |
cr_statement_at_font_face_rule_add_decl:
@a_this: the current @font-face rule statement. @a_prop: the property of the declaration. @a_value: the value of the declaration.
Adds a declaration to the current @font-face rule statement.
Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 2455 of file cr-statement.c.
References AT_FONT_FACE_RULE_STMT, CR_BAD_PARAM_ERROR, cr_declaration_append2(), cr_declaration_ref(), CR_ERROR, CR_OK, _CRAtFontFaceRule::decl_list, _CRStatement::font_face_rule, _CRStatement::kind, and _CRStatement::type.
enum CRStatus cr_statement_at_font_face_rule_get_decls | ( | CRStatement * | a_this, |
CRDeclaration ** | a_decls | ||
) |
cr_statement_at_font_face_rule_get_decls:
@a_this: the current @font-face rule statement. @a_decls: out parameter. The returned declaration list if and only if this function returns CR_OK.
Gets the declaration list associated to the current instance of @font-face rule statement.
Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 2429 of file cr-statement.c.
References AT_FONT_FACE_RULE_STMT, CR_BAD_PARAM_ERROR, CR_OK, _CRAtFontFaceRule::decl_list, _CRStatement::font_face_rule, _CRStatement::kind, and _CRStatement::type.
enum CRStatus cr_statement_at_font_face_rule_set_decls | ( | CRStatement * | a_this, |
CRDeclaration * | a_decls | ||
) |
cr_statement_at_font_face_rule_set_decls:
@a_this: the current @font-face rule statement. @a_decls: the declarations list to set.
Sets a declaration list to the current @font-face rule statement.
Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 2398 of file cr-statement.c.
References AT_FONT_FACE_RULE_STMT, CR_BAD_PARAM_ERROR, cr_declaration_ref(), cr_declaration_unref(), CR_OK, _CRAtFontFaceRule::decl_list, _CRStatement::font_face_rule, _CRStatement::kind, and _CRStatement::type.
enum CRStatus cr_statement_at_import_rule_get_imported_sheet | ( | CRStatement * | a_this, |
CRStyleSheet ** | a_sheet | ||
) |
cr_statement_at_import_rule_get_imported_sheet:
@a_this: the current @import rule statement. @a_sheet: out parameter. The returned stylesheet if and only if the function returns CR_OK.
Gets the stylesheet contained by the @import rule statement. Returns CR_OK upon sucessful completion, an error code otherwise.
Definition at line 2176 of file cr-statement.c.
References AT_IMPORT_RULE_STMT, CR_BAD_PARAM_ERROR, CR_OK, _CRStatement::import_rule, _CRStatement::kind, _CRAtImportRule::sheet, and _CRStatement::type.
enum CRStatus cr_statement_at_import_rule_get_url | ( | CRStatement const * | a_this, |
CRString ** | a_url | ||
) |
cr_statement_at_import_rule_get_url:
@a_this: the current @import rule statement. @a_url: out parameter. The returned url if and only if the function returned CR_OK.
Gets the url of the @import rule statement. Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 2227 of file cr-statement.c.
References AT_IMPORT_RULE_STMT, CR_BAD_PARAM_ERROR, CR_OK, _CRStatement::import_rule, _CRStatement::kind, _CRStatement::type, and _CRAtImportRule::url.
CRStatement* cr_statement_at_import_rule_parse_from_buf | ( | const guchar * | a_buf, |
enum CREncoding | a_encoding | ||
) |
cr_statement_at_import_rule_parse_from_buf:
@a_buf: the buffer to parse. @a_encoding: the encoding of a_buf.
Parses a buffer that contains an "\@import" rule and instanciate a CRStatement of type AT_IMPORT_RULE_STMT
Returns the newly built instance of CRStatement in case of a successful parsing, NULL otherwise.
Definition at line 1371 of file cr-statement.c.
References CR_OK, cr_parser_destroy(), cr_parser_new_from_buf(), cr_parser_parse_import(), cr_parser_try_to_skip_spaces_and_comments(), cr_parsing_location_copy(), cr_statement_new_at_import_rule(), cr_string_destroy(), cr_utils_trace_info, and _CRStatement::location.
Referenced by cr_statement_parse_from_buf().
enum CRStatus cr_statement_at_import_rule_set_imported_sheet | ( | CRStatement * | a_this, |
CRStyleSheet * | a_sheet | ||
) |
cr_statement_at_import_rule_set_imported_sheet:
Sets a stylesheet to the current @import rule. @a_this: the current @import rule. @a_sheet: the stylesheet. The stylesheet is owned by the current instance of CRStatement, that is, the stylesheet will be destroyed when the current instance of CRStatement is destroyed.
Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 2152 of file cr-statement.c.
References AT_IMPORT_RULE_STMT, CR_BAD_PARAM_ERROR, CR_OK, _CRStatement::import_rule, _CRStatement::kind, _CRAtImportRule::sheet, and _CRStatement::type.
enum CRStatus cr_statement_at_import_rule_set_url | ( | CRStatement * | a_this, |
CRString * | a_url | ||
) |
cr_statement_at_import_rule_set_url:
@a_this: the current @import rule statement. @a_url: the url to set.
Sets an url to the current @import rule statement.
Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 2199 of file cr-statement.c.
References AT_IMPORT_RULE_STMT, CR_BAD_PARAM_ERROR, CR_OK, cr_string_destroy(), _CRStatement::import_rule, _CRStatement::kind, _CRStatement::type, and _CRAtImportRule::url.
CRStatement* cr_statement_at_media_get_from_list | ( | CRStatement * | a_this, |
int | itemnr | ||
) |
cr_statement_at_media_get_from_list:
@a_this: the current instance of CRStatement. @itemnr: the index into the media rule list of rules.
Use an index to get a CRStatement from the media rule list of rules.
Returns CRStatement at position itemnr, if itemnr > number of rules - 1, it will return NULL.
Definition at line 2269 of file cr-statement.c.
References AT_MEDIA_RULE_STMT, cr_statement_get_from_list(), _CRStatement::kind, _CRStatement::media_rule, _CRAtMediaRule::rulesets, and _CRStatement::type.
gint cr_statement_at_media_nr_rules | ( | CRStatement const * | a_this | ) |
cr_statement_at_media_nr_rules:
@a_this: the current instance of CRStatement.
Returns the number of rules in the media rule;
Definition at line 2248 of file cr-statement.c.
References AT_MEDIA_RULE_STMT, CR_BAD_PARAM_ERROR, cr_statement_nr_rules(), _CRStatement::kind, _CRStatement::media_rule, _CRAtMediaRule::rulesets, and _CRStatement::type.
CRStatement* cr_statement_at_media_rule_parse_from_buf | ( | const guchar * | a_buf, |
enum CREncoding | a_enc | ||
) |
cr_statement_at_media_rule_parse_from_buf:
@a_buf: the input to parse. @a_enc: the encoding of the buffer.
Parses a buffer that contains an "\@media" declaration and builds an @media css statement.
Returns the @media statement, or NULL if the buffer could not be successfully parsed.
Definition at line 1186 of file cr-statement.c.
References cr_doc_handler_new(), CR_OK, cr_parser_new_from_buf(), and cr_utils_trace_info.
Referenced by cr_statement_parse_from_buf().
enum CRStatus cr_statement_at_page_rule_get_declarations | ( | CRStatement * | a_this, |
CRDeclaration ** | a_decl_list | ||
) |
cr_statement_at_page_rule_get_declarations:
@a_this: the current @page rule statement. @a_decl_list: out parameter. The returned declaration list.
Gets the declaration list associated to the current @page rule statement.
Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 2323 of file cr-statement.c.
References AT_PAGE_RULE_STMT, CR_BAD_PARAM_ERROR, CR_OK, _CRAtPageRule::decl_list, _CRStatement::kind, _CRStatement::page_rule, and _CRStatement::type.
enum CRStatus cr_statement_at_page_rule_get_sel | ( | CRStatement const * | a_this, |
CRSelector ** | a_sel | ||
) |
CRStatement* cr_statement_at_page_rule_parse_from_buf | ( | const guchar * | a_buf, |
enum CREncoding | a_encoding | ||
) |
cr_statement_at_page_rule_parse_from_buf:
@a_buf: the character buffer to parse. @a_encoding: the character encoding of a_buf.
Parses a buffer that contains an "\@page" production and, if the parsing succeeds, builds the page statement.
Returns the newly built at page statement in case of successful parsing, NULL otherwise.
Definition at line 1497 of file cr-statement.c.
References cr_doc_handler_new(), CR_OK, cr_parser_new_from_buf(), and cr_utils_trace_info.
Referenced by cr_statement_parse_from_buf().
enum CRStatus cr_statement_at_page_rule_set_declarations | ( | CRStatement * | a_this, |
CRDeclaration * | a_decl_list | ||
) |
cr_statement_at_page_rule_set_declarations:
@a_this: the current @page rule statement. @a_decl_list: the declaration list to add. Will be freed by the current instance of CRStatement when it is destroyed.
Sets a declaration list to the current @page rule statement.
Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 2291 of file cr-statement.c.
References AT_PAGE_RULE_STMT, CR_BAD_PARAM_ERROR, cr_declaration_ref(), cr_declaration_unref(), CR_OK, _CRAtPageRule::decl_list, _CRStatement::kind, _CRStatement::page_rule, and _CRStatement::type.
enum CRStatus cr_statement_at_page_rule_set_sel | ( | CRStatement * | a_this, |
CRSelector * | a_sel | ||
) |
void cr_statement_destroy | ( | CRStatement * | a_this | ) |
cr_statement_destroy:
@a_this: the current instance of CRStatement.
Destructor of CRStatement.
Definition at line 2756 of file cr-statement.c.
References _CRStatement::next.
Referenced by cr_stylesheet_destroy().
gboolean cr_statement_does_buf_parses_against_core | ( | const guchar * | a_buf, |
enum CREncoding | a_encoding | ||
) |
cr_statement_does_buf_parses_against_core:
@a_buf: the buffer to parse. @a_encoding: the character encoding of a_buf.
Tries to parse a buffer and says whether if the content of the buffer is a css statement as defined by the "Core CSS Grammar" (chapter 4 of the css spec) or not.
Returns TRUE if the buffer parses against the core grammar, false otherwise.
Definition at line 931 of file cr-statement.c.
References CR_OK, cr_parser_destroy(), cr_parser_new_from_buf(), cr_parser_parse_statement_core(), and cr_parser_set_use_core_grammar().
void cr_statement_dump | ( | CRStatement const * | a_this, |
FILE * | a_fp, | ||
gulong | a_indent | ||
) |
cr_statement_dump:
@a_this: the current css2 statement. @a_fp: the destination file pointer. @a_indent: the number of white space indentation characters.
Dumps the css2 statement to a file.
Definition at line 2580 of file cr-statement.c.
References cr_statement_to_string().
void cr_statement_dump_charset | ( | CRStatement const * | a_this, |
FILE * | a_fp, | ||
gulong | a_indent | ||
) |
cr_statement_dump_charset:
@a_this: the current instance of the @charset rule statement. @a_fp: the destination file pointer. @a_indent: the number of indentation white spaces.
Dumps an @charset rule statement to a file.
Definition at line 2654 of file cr-statement.c.
References AT_CHARSET_RULE_STMT, and _CRStatement::type.
void cr_statement_dump_font_face_rule | ( | CRStatement const * | a_this, |
FILE * | a_fp, | ||
glong | a_indent | ||
) |
cr_statement_dump_font_face_rule:
@a_this: the current instance of font face rule statement. @a_fp: the destination file pointer. @a_indent: the number of white space indentation.
Dumps a font face rule statement to a file.
Definition at line 2628 of file cr-statement.c.
References AT_FONT_FACE_RULE_STMT, and _CRStatement::type.
void cr_statement_dump_import_rule | ( | CRStatement const * | a_this, |
FILE * | a_fp, | ||
gulong | a_indent | ||
) |
cr_statement_dump_import_rule:
@a_fp: the destination file pointer. @a_indent: the number of white space indentations.
Dumps an @import rule statement to a file.
Definition at line 2731 of file cr-statement.c.
References AT_IMPORT_RULE_STMT, _CRStatement::import_rule, _CRStatement::kind, and _CRStatement::type.
void cr_statement_dump_media_rule | ( | CRStatement const * | a_this, |
FILE * | a_fp, | ||
gulong | a_indent | ||
) |
cr_statement_dump_media_rule:
@a_this: the statement to dump. @a_fp: the destination file pointer @a_indent: the number of white spaces indentation.
Dumps an @media rule statement to a file.
Definition at line 2707 of file cr-statement.c.
References AT_MEDIA_RULE_STMT, and _CRStatement::type.
void cr_statement_dump_page | ( | CRStatement const * | a_this, |
FILE * | a_fp, | ||
gulong | a_indent | ||
) |
cr_statement_dump_page:
@a_this: the statement to dump on stdout. @a_fp: the destination file pointer. @a_indent: the number of indentation white spaces.
Dumps an @page rule statement on stdout.
Definition at line 2680 of file cr-statement.c.
References AT_PAGE_RULE_STMT, _CRStatement::kind, _CRStatement::page_rule, and _CRStatement::type.
void cr_statement_dump_ruleset | ( | CRStatement const * | a_this, |
FILE * | a_fp, | ||
glong | a_indent | ||
) |
cr_statement_dump_ruleset:
@a_this: the current instance of CRStatement. @a_fp: the destination file pointer. @a_indent: the number of indentation white spaces to add.
Dumps a ruleset statement to a file.
Definition at line 2605 of file cr-statement.c.
CRStatement* cr_statement_font_face_rule_parse_from_buf | ( | const guchar * | a_buf, |
enum CREncoding | a_encoding | ||
) |
cr_statement_font_face_rule_parse_from_buf:
@a_buf: the buffer to parse. @a_encoding: the character encoding of a_buf.
Parses a buffer that contains an "\@font-face" rule and builds an instance of CRStatement of type AT_FONT_FACE_RULE_STMT out of it.
Returns the newly built instance of CRStatement in case of successufull parsing, NULL otherwise.
Definition at line 1712 of file cr-statement.c.
References cr_doc_handler_new(), CR_OK, and cr_parser_new_from_buf().
Referenced by cr_statement_parse_from_buf().
CRStatement* cr_statement_get_from_list | ( | CRStatement * | a_this, |
int | itemnr | ||
) |
cr_statement_get_from_list:
@a_this: the current instance of CRStatement. @itemnr: the index into the statement list.
Use an index to get a CRStatement from the statement list.
Returns CRStatement at position itemnr, if itemnr > number of statements - 1, it will return NULL.
Definition at line 1956 of file cr-statement.c.
References _CRStatement::next.
Referenced by cr_statement_at_media_get_from_list(), and cr_stylesheet_statement_get_from_list().
enum CRStatus cr_statement_get_parent_sheet | ( | CRStatement * | a_this, |
CRStyleSheet ** | a_sheet | ||
) |
cr_statement_get_parent_sheet:
@a_this: the current CRStatement. @a_sheet: out parameter. A pointer to the sheets that
Gets the sheets that contains the current statement.
Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 1803 of file cr-statement.c.
References CR_BAD_PARAM_ERROR, CR_OK, and _CRStatement::parent_sheet.
gchar* cr_statement_list_to_string | ( | CRStatement const * | a_this, |
gulong | a_indent | ||
) |
Definition at line 2538 of file cr-statement.c.
References cr_statement_to_string(), cr_utils_trace_info, _CRStatement::next, and _CRStatement::prev.
CRStatement* cr_statement_new_at_charset_rule | ( | CRStyleSheet * | a_sheet, |
CRString * | a_charset | ||
) |
cr_statement_new_at_charset_rule:
@a_charset: the string representing the charset. Note that the newly built instance of CRStatement becomes the owner of a_charset. The caller must not free a_charset !!!.
Creates a new instance of CRStatement of type CRAtCharsetRule.
Returns the newly built instance of CRStatement or NULL if an error arises.
Definition at line 1571 of file cr-statement.c.
References AT_CHARSET_RULE_STMT, _CRAtCharsetRule::charset, _CRStatement::charset_rule, cr_statement_set_parent_sheet(), cr_utils_trace_info, _CRStatement::kind, and _CRStatement::type.
CRStatement* cr_statement_new_at_font_face_rule | ( | CRStyleSheet * | a_sheet, |
CRDeclaration * | a_font_decls | ||
) |
cr_statement_new_at_font_face_rule:
@a_font_decls: a list of instances of CRDeclaration. Each declaration is actually a font declaration.
Creates an instance of CRStatement of type CRAtFontFaceRule.
Returns the newly built instance of CRStatement.
Definition at line 1667 of file cr-statement.c.
References AT_FONT_FACE_RULE_STMT, cr_statement_set_parent_sheet(), cr_utils_trace_info, _CRAtFontFaceRule::decl_list, _CRStatement::font_face_rule, _CRStatement::kind, and _CRStatement::type.
CRStatement* cr_statement_new_at_import_rule | ( | CRStyleSheet * | a_container_sheet, |
CRString * | a_url, | ||
GList * | a_media_list, | ||
CRStyleSheet * | a_imported_sheet | ||
) |
cr_statement_new_at_import_rule:
@a_url: the url to connect to the get the file to be imported. @a_sheet: the imported parsed stylesheet.
Creates a new instance of #CRStatment of type CRAtImportRule.
Returns the newly built instance of CRStatement.
Definition at line 1323 of file cr-statement.c.
References AT_IMPORT_RULE_STMT, cr_statement_set_parent_sheet(), cr_utils_trace_info, _CRStatement::import_rule, _CRStatement::kind, _CRAtImportRule::media_list, _CRAtImportRule::sheet, _CRStatement::type, and _CRAtImportRule::url.
Referenced by cr_statement_at_import_rule_parse_from_buf().
CRStatement* cr_statement_new_at_media_rule | ( | CRStyleSheet * | a_sheet, |
CRStatement * | a_rulesets, | ||
GList * | a_media | ||
) |
cr_statement_new_at_media_rule:
@a_ruleset: the ruleset statements contained in the @media rule. @a_media: the media string list. A list of GString pointers.
Instanciates an instance of CRStatement of type AT_MEDIA_RULE_STMT (@media ruleset).
Definition at line 1262 of file cr-statement.c.
References AT_MEDIA_RULE_STMT, cr_utils_trace_info, _CRStatement::kind, _CRStatement::media_rule, _CRStatement::next, RULESET_STMT, _CRAtMediaRule::rulesets, and _CRStatement::type.
CRStatement* cr_statement_new_at_page_rule | ( | CRStyleSheet * | a_sheet, |
CRDeclaration * | a_decl_list, | ||
CRString * | a_name, | ||
CRString * | a_pseudo | ||
) |
cr_statement_new_at_page_rule:
@a_decl_list: a list of instances of #CRDeclarations which is actually the list of declarations that applies to this page rule. @a_selector: the page rule selector.
Creates a new instance of CRStatement of type CRAtPageRule.
Returns the newly built instance of CRStatement or NULL in case of error.
Definition at line 1447 of file cr-statement.c.
References AT_PAGE_RULE_STMT, cr_declaration_ref(), cr_statement_set_parent_sheet(), cr_utils_trace_info, _CRAtPageRule::decl_list, _CRStatement::kind, _CRAtPageRule::name, _CRStatement::page_rule, _CRAtPageRule::pseudo, and _CRStatement::type.
CRStatement* cr_statement_new_ruleset | ( | CRStyleSheet * | a_sheet, |
CRSelector * | a_sel_list, | ||
CRDeclaration * | a_decl_list, | ||
CRStatement * | a_parent_media_rule | ||
) |
cr_statement_new_ruleset:
@a_sel_list: the list of CRSimpleSel (selectors) the rule applies to. @a_decl_list: the list of instances of CRDeclaration that composes the ruleset. @a_media_types: a list of instances of GString that describe the media list this ruleset applies to.
Creates a new instance of CRStatement of type #CRRulSet.
Returns the new instance of CRStatement or NULL if something went wrong.
Definition at line 1119 of file cr-statement.c.
References AT_MEDIA_RULE_STMT, cr_selector_ref(), cr_statement_append(), cr_statement_set_parent_sheet(), cr_utils_trace_info, _CRRuleSet::decl_list, _CRStatement::kind, _CRStatement::media_rule, _CRRuleSet::parent_media_rule, _CRStatement::ruleset, RULESET_STMT, _CRAtMediaRule::rulesets, _CRRuleSet::sel_list, and _CRStatement::type.
gint cr_statement_nr_rules | ( | CRStatement const * | a_this | ) |
cr_statement_nr_rules:
@a_this: the current instance of CRStatement.
Gets the number of rules in the statement list;
Returns number of rules in the statement list.
Definition at line 1932 of file cr-statement.c.
References _CRStatement::next.
Referenced by cr_statement_at_media_nr_rules(), and cr_stylesheet_nr_rules().
CRStatement* cr_statement_parse_from_buf | ( | const guchar * | a_buf, |
enum CREncoding | a_encoding | ||
) |
cr_statement_parse_from_buf:
@a_buf: the buffer to parse. @a_encoding: the character encoding of a_buf.
Parses a buffer that contains a css statement and returns an instance of CRStatement in case of successful parsing. TODO: at support of "\@import" rules.
Returns the newly built instance of CRStatement in case of successful parsing, NULL otherwise.
Definition at line 974 of file cr-statement.c.
References cr_statement_at_charset_rule_parse_from_buf(), cr_statement_at_import_rule_parse_from_buf(), cr_statement_at_media_rule_parse_from_buf(), cr_statement_at_page_rule_parse_from_buf(), cr_statement_font_face_rule_parse_from_buf(), and cr_statement_ruleset_parse_from_buf().
CRStatement* cr_statement_prepend | ( | CRStatement * | a_this, |
CRStatement * | a_new | ||
) |
cr_statement_prepend:
@a_this: the current instance of CRStatement. @a_new: the new statement to prepend.
Prepends the an instance of CRStatement to the current statement list.
Returns the new list with the new statement prepended, or NULL in case of an error.
Definition at line 1853 of file cr-statement.c.
References _CRStatement::next, and _CRStatement::prev.
enum CRStatus cr_statement_ruleset_append_decl | ( | CRStatement * | a_this, |
CRDeclaration * | a_decl | ||
) |
cr_statement_ruleset_append_decl:
Appends a declaration to the current statement.
@a_this: the current statement. @a_declaration: the declaration to append.
Returns CR_OK upon sucessful completion, an error code otherwise.
Definition at line 2123 of file cr-statement.c.
References CR_BAD_PARAM_ERROR, cr_declaration_append(), CR_ERROR, CR_OK, _CRRuleSet::decl_list, _CRStatement::kind, _CRStatement::ruleset, RULESET_STMT, and _CRStatement::type.
enum CRStatus cr_statement_ruleset_append_decl2 | ( | CRStatement * | a_this, |
CRString * | a_prop, | ||
CRTerm * | a_value | ||
) |
cr_statement_ruleset_append_decl2:
@a_this: the current statement. @a_prop: the property of the declaration. @a_value: the value of the declaration.
Appends a declaration to the current ruleset statement.
Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 2093 of file cr-statement.c.
References CR_BAD_PARAM_ERROR, cr_declaration_append2(), CR_ERROR, CR_OK, _CRRuleSet::decl_list, _CRStatement::kind, _CRStatement::ruleset, RULESET_STMT, and _CRStatement::type.
enum CRStatus cr_statement_ruleset_get_declarations | ( | CRStatement * | a_this, |
CRDeclaration ** | a_decl_list | ||
) |
cr_statement_ruleset_get_declarations:
@a_this: the current instance of CRStatement. @a_decl_list: out parameter. A pointer to the the returned list of declaration. Must not be NULL.
Gets a pointer to the list of declaration contained in the ruleset statement.
Returns CR_OK upon successful completion, an error code if something bad happened.
Definition at line 2014 of file cr-statement.c.
References CR_BAD_PARAM_ERROR, CR_OK, _CRRuleSet::decl_list, _CRStatement::kind, _CRStatement::ruleset, RULESET_STMT, and _CRStatement::type.
enum CRStatus cr_statement_ruleset_get_sel_list | ( | CRStatement const * | a_this, |
CRSelector ** | a_list | ||
) |
cr_statement_ruleset_get_sel_list:
@a_this: the current ruleset statement. @a_list: out parameter. The returned selector list, if and only if the function returned CR_OK.
Gets a pointer to the selector list contained in the current ruleset statement.
Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 2040 of file cr-statement.c.
References CR_BAD_PARAM_ERROR, CR_OK, _CRStatement::kind, _CRStatement::ruleset, RULESET_STMT, _CRRuleSet::sel_list, and _CRStatement::type.
CRStatement* cr_statement_ruleset_parse_from_buf | ( | const guchar * | a_buf, |
enum CREncoding | a_enc | ||
) |
cr_statement_ruleset_parse_from_buf:
@a_buf: the buffer to parse. @a_enc: the character encoding of a_buf.
Parses a buffer that contains a ruleset statement an instanciates a CRStatement of type RULESET_STMT.
Returns the newly built instance of CRStatement in case of successful parsing, NULL otherwise.
Definition at line 1047 of file cr-statement.c.
References cr_doc_handler_new(), CR_OK, and cr_parser_new_from_buf().
Referenced by cr_statement_parse_from_buf().
enum CRStatus cr_statement_ruleset_set_decl_list | ( | CRStatement * | a_this, |
CRDeclaration * | a_list | ||
) |
cr_statement_ruleset_set_decl_list:
@a_this: the current ruleset statement. @a_list: the declaration list to be added to the current ruleset statement.
Sets a declaration list to the current ruleset statement.
Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 2062 of file cr-statement.c.
References CR_BAD_PARAM_ERROR, cr_declaration_destroy(), CR_OK, _CRRuleSet::decl_list, _CRStatement::kind, _CRStatement::ruleset, RULESET_STMT, _CRRuleSet::sel_list, and _CRStatement::type.
enum CRStatus cr_statement_ruleset_set_sel_list | ( | CRStatement * | a_this, |
CRSelector * | a_sel_list | ||
) |
cr_statement_ruleset_set_sel_list:
@a_this: the current ruleset statement. @a_sel_list: the selector list to set. Note that this function increments the ref count of a_sel_list. The sel list will be destroyed at the destruction of the current instance of CRStatement.
Sets a selector list to a ruleset statement.
Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 1983 of file cr-statement.c.
References CR_BAD_PARAM_ERROR, CR_OK, cr_selector_ref(), cr_selector_unref(), _CRStatement::kind, _CRStatement::ruleset, RULESET_STMT, _CRRuleSet::sel_list, and _CRStatement::type.
enum CRStatus cr_statement_set_parent_sheet | ( | CRStatement * | a_this, |
CRStyleSheet * | a_sheet | ||
) |
cr_statement_set_parent_sheet:
@a_this: the current instance of CRStatement. @a_sheet: the sheet that contains the current statement.
Sets the container stylesheet.
Returns CR_OK upon successful completion, an error code otherwise.
Definition at line 1785 of file cr-statement.c.
References CR_BAD_PARAM_ERROR, CR_OK, and _CRStatement::parent_sheet.
Referenced by cr_statement_new_at_charset_rule(), cr_statement_new_at_font_face_rule(), cr_statement_new_at_import_rule(), cr_statement_new_at_page_rule(), and cr_statement_new_ruleset().
gchar* cr_statement_to_string | ( | CRStatement const * | a_this, |
gulong | a_indent | ||
) |
cr_statement_to_string:
@a_this: the current statement to serialize @a_indent: the number of white space of indentation.
Serializes a css statement into a string
Returns the serialized statement. Must be freed by the caller using g_free().
Definition at line 2492 of file cr-statement.c.
References RULESET_STMT, and _CRStatement::type.
Referenced by cr_statement_dump(), cr_statement_list_to_string(), and cr_stylesheet_to_string().
CRStatement* cr_statement_unlink | ( | CRStatement * | a_stmt | ) |
cr_statement_unlink:
@a_this: the current statements list. @a_to_unlink: the statement to unlink from the list.
Unlinks a statement from the statements list.
Returns the new list where a_to_unlink has been unlinked from, or NULL in case of error.
Some sanity checks first
Now, the real unlinking job.
Definition at line 1883 of file cr-statement.c.
References _CRStatement::next, _CRStatement::parent_sheet, _CRStatement::prev, and _CRStyleSheet::statements.