php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
base.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2019-2023 Alexander Borisov
3 *
4 * Author: Alexander Borisov <borisov@lexbor.com>
5 */
6
7#ifndef LEXBOR_CSS_BASE_H
8#define LEXBOR_CSS_BASE_H
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14
15#include "lexbor/core/base.h"
16#include "lexbor/core/mraw.h"
17#include "lexbor/core/str.h"
18
19
20#define LXB_CSS_VERSION_MAJOR 1
21#define LXB_CSS_VERSION_MINOR 2
22#define LXB_CSS_VERSION_PATCH 0
23
24#define LXB_CSS_VERSION_STRING \
25 LEXBOR_STRINGIZE(LXB_CSS_VERSION_MAJOR) "." \
26 LEXBOR_STRINGIZE(LXB_CSS_VERSION_MINOR) "." \
27 LEXBOR_STRINGIZE(LXB_CSS_VERSION_PATCH)
28
29
38
39typedef uint32_t lxb_css_type_t;
40
44
47
48typedef bool
50 const lxb_css_syntax_token_t *token, void *ctx);
51
52typedef void *
53(*lxb_css_style_create_f)(lxb_css_memory_t *memory);
54
57 void *ctx);
58
59typedef void *
60(*lxb_css_style_destroy_f)(lxb_css_memory_t *memory,
61 void *style, bool self_destroy);
62
63/* StyleSheet tree structures. */
64
72
84
85typedef struct {
87 size_t length;
88 uintptr_t unique;
89}
91
92
95
97lxb_css_memory_init(lxb_css_memory_t *memory, size_t prepare_count);
98
99LXB_API void
101
103lxb_css_memory_destroy(lxb_css_memory_t *memory, bool self_destroy);
104
107
108LXB_API void
110
113
114
115#ifdef __cplusplus
116} /* extern "C" */
117#endif
118
119#endif /* LEXBOR_CSS_BASE_H */
char * cb
Definition assert.c:26
lxb_status_t(* lexbor_serialize_cb_f)(const lxb_char_t *data, size_t len, void *ctx)
Definition base.h:82
struct lxb_css_rule_at lxb_css_rule_at_t
Definition base.h:71
struct lxb_css_parser_state lxb_css_parser_state_t
Definition base.h:42
struct lxb_css_stylesheet lxb_css_stylesheet_t
Definition base.h:65
struct lxb_css_parser_error lxb_css_parser_error_t
Definition base.h:43
void *(* lxb_css_style_create_f)(lxb_css_memory_t *memory)
Definition base.h:53
struct lxb_css_syntax_token lxb_css_syntax_token_t
Definition base.h:46
LXB_API lxb_css_memory_t * lxb_css_memory_ref_dec_destroy(lxb_css_memory_t *memory)
Definition css.c:143
struct lxb_css_rule_style lxb_css_rule_style_t
Definition base.h:67
void *(* lxb_css_style_destroy_f)(lxb_css_memory_t *memory, void *style, bool self_destroy)
Definition base.h:60
bool(* lxb_css_parser_state_f)(lxb_css_parser_t *parser, const lxb_css_syntax_token_t *token, void *ctx)
Definition base.h:49
LXB_API lxb_status_t lxb_css_memory_init(lxb_css_memory_t *memory, size_t prepare_count)
Definition css.c:28
struct lxb_css_memory lxb_css_memory_t
struct lxb_css_rule_declaration lxb_css_rule_declaration_t
Definition base.h:70
struct lxb_css_syntax_tokenizer lxb_css_syntax_tokenizer_t
Definition base.h:45
LXB_API lxb_css_memory_t * lxb_css_memory_destroy(lxb_css_memory_t *memory, bool self_destroy)
Definition css.c:97
LXB_API void lxb_css_memory_clean(lxb_css_memory_t *memory)
Definition css.c:81
lxb_status_t(* lxb_css_style_serialize_f)(const void *style, lexbor_serialize_cb_f cb, void *ctx)
Definition base.h:56
struct lxb_css_rule_list lxb_css_rule_list_t
Definition base.h:66
struct lxb_css_rule_declaration_list lxb_css_rule_declaration_list_t
Definition base.h:69
LXB_API lxb_css_memory_t * lxb_css_memory_ref_inc(lxb_css_memory_t *memory)
Definition css.c:123
LXB_API lxb_css_memory_t * lxb_css_memory_create(void)
Definition css.c:22
LXB_API void lxb_css_memory_ref_dec(lxb_css_memory_t *memory)
Definition css.c:135
struct lxb_css_rule_bad_style lxb_css_rule_bad_style_t
Definition base.h:68
struct lxb_css_parser lxb_css_parser_t
Definition base.h:41
uint32_t lxb_css_type_t
Definition base.h:39
#define LXB_API
Definition def.h:48
#define lxb_css_rule_declaration_list(rule)
Definition rule.h:25
#define lxb_css_rule_at(rule)
Definition rule.h:22
#define lxb_css_rule_declaration(rule)
Definition rule.h:26
#define lxb_css_rule_bad_style(rule)
Definition rule.h:24
#define lxb_css_rule_list(rule)
Definition rule.h:21
#define lxb_css_rule_style(rule)
Definition rule.h:23
uintptr_t unique
Definition base.h:88
size_t length
Definition base.h:87
lxb_char_t * name
Definition base.h:86
Definition base.h:73
void * initial
Definition base.h:81
size_t length
Definition base.h:75
lxb_css_style_create_f create
Definition base.h:78
lxb_css_parser_state_f state
Definition base.h:77
lxb_css_style_destroy_f destroy
Definition base.h:79
uintptr_t unique
Definition base.h:76
lxb_char_t * name
Definition base.h:74
lxb_css_style_serialize_f serialize
Definition base.h:80
lexbor_dobject_t * objs
Definition base.h:31
lexbor_mraw_t * mraw
Definition base.h:32
size_t ref_count
Definition base.h:35
lexbor_mraw_t * tree
Definition base.h:33
unsigned int lxb_status_t
Definition types.h:28
unsigned char lxb_char_t
Definition types.h:27