libcss
Loading...
Searching...
No Matches
computed.h
Go to the documentation of this file.
1/*
2 * This file is part of LibCSS
3 * Licensed under the MIT License,
4 * http://www.opensource.org/licenses/mit-license.php
5 * Copyright 2009 John-Mark Bell <jmb@netsurf-browser.org>
6 */
7
8#ifndef libcss_computed_h_
9#define libcss_computed_h_
10
11#ifdef __cplusplus
12extern "C"
13{
14#endif
15
16#include <libwapcaplet/libwapcaplet.h>
17
18#include <libcss/errors.h>
19#include <libcss/functypes.h>
20#include <libcss/properties.h>
21#include <libcss/types.h>
22#include <libcss/unit.h>
23
24struct css_hint;
26
31
48
61
63 uint8_t type;
64 union {
65 lwc_string *string;
66 lwc_string *uri;
67 lwc_string *attr;
68 struct {
69 lwc_string *name;
70 uint8_t style;
72 struct {
73 lwc_string *name;
74 lwc_string *sep;
75 uint8_t style;
79
81
83 const css_computed_style *restrict parent,
84 const css_computed_style *restrict child,
85 const css_unit_ctx *unit_ctx,
86 css_computed_style **restrict result);
87
88/******************************************************************************
89 * speciality formatters *
90 ******************************************************************************/
91
105 const css_computed_style *style,
106 int value,
107 char *buffer,
108 size_t buffer_length,
109 size_t *format_length);
110
111/******************************************************************************
112 * Property accessors *
113 ******************************************************************************/
114
116 const css_computed_style *style,
117 css_fixed *length, css_unit *unit);
118
120 const css_computed_style *style, css_color *color);
121
123 const css_computed_style *style,
124 css_fixed *length, css_unit *unit);
125
127 const css_computed_style *style,
128 css_fixed *hlength, css_unit *hunit,
129 css_fixed *vlength, css_unit *vunit);
130
132 const css_computed_style *style,
133 css_fixed *length, css_unit *unit);
134
136 const css_computed_style *style,
137 const css_computed_counter **counters);
138
140 const css_computed_style *style,
141 const css_computed_counter **counters);
142
143uint8_t css_computed_cursor(
144 const css_computed_style *style,
145 lwc_string ***urls);
146
147uint8_t css_computed_clip(
148 const css_computed_style *style,
150
152 const css_computed_style *style,
153 const css_computed_content_item **content);
154
156 const css_computed_style *style,
157 css_fixed *length, css_unit *unit);
158
160 const css_computed_style *style,
161 css_fixed *length, css_unit *unit);
162
164 const css_computed_style *style,
165 css_fixed *length, css_unit *unit);
166
168 const css_computed_style *style,
169 css_fixed *length, css_unit *unit);
170
172 const css_computed_style *style,
173 css_fixed *length, css_unit *unit);
174
176 const css_computed_style *style,
177 css_fixed *length, css_unit *unit);
178
180 const css_computed_style *style,
181 lwc_string **url);
182
183uint8_t css_computed_color(
184 const css_computed_style *style,
185 css_color *color);
186
188 const css_computed_style *style,
189 lwc_string **url);
190
191uint8_t css_computed_quotes(
192 const css_computed_style *style,
193 lwc_string ***quotes);
194
195uint8_t css_computed_top(
196 const css_computed_style *style,
197 css_fixed *length, css_unit *unit);
198
199uint8_t css_computed_right(
200 const css_computed_style *style,
201 css_fixed *length, css_unit *unit);
202
203uint8_t css_computed_bottom(
204 const css_computed_style *style,
205 css_fixed *length, css_unit *unit);
206
207uint8_t css_computed_left(
208 const css_computed_style *style,
209 css_fixed *length, css_unit *unit);
210
212 const css_computed_style *style,
213 css_color *color);
214
216 const css_computed_style *style,
217 css_color *color);
218
220 const css_computed_style *style,
221 css_color *color);
222
224 const css_computed_style *style,
225 css_color *color);
226
228 const css_computed_style *style);
229
230uint8_t css_computed_height(
231 const css_computed_style *style,
232 css_fixed *length, css_unit *unit);
233
235 const css_computed_style *style,
236 css_fixed *length, css_unit *unit);
237
239 const css_computed_style *style,
240 css_color *color);
241
243 const css_computed_style *style,
244 int32_t *z_index);
245
247 const css_computed_style *style,
248 css_fixed *length, css_unit *unit);
249
251 const css_computed_style *style,
252 css_fixed *length, css_unit *unit);
253
255 const css_computed_style *style,
256 css_fixed *length, css_unit *unit);
257
259 const css_computed_style *style,
260 css_fixed *length, css_unit *unit);
261
263 const css_computed_style *style);
264
266 const css_computed_style *style);
267
269 const css_computed_style *style);
270
272 const css_computed_style *style);
273
275 const css_computed_style *style,
276 css_fixed *length, css_unit *unit);
277
279 const css_computed_style *style,
280 css_fixed *length, css_unit *unit);
281
299 const css_computed_style *style,
300 const css_unit_ctx *unit_ctx,
301 int available_px,
302 int *px_out);
303
304uint8_t css_computed_width(const css_computed_style *style,
305 css_fixed *length, css_unit *unit);
306
308 const css_computed_style *style);
309
310uint8_t css_computed_float(
311 const css_computed_style *style);
312
314 const css_computed_style *style);
315
317 const css_computed_style *style);
318
320 const css_computed_style *style,
321 css_fixed *length, css_unit *unit);
322
324 const css_computed_style *style,
325 css_fixed *length, css_unit *unit);
326
328 const css_computed_style *style);
329
330uint8_t css_computed_clear(
331 const css_computed_style *style);
332
334 const css_computed_style *style,
335 css_fixed *length, css_unit *unit);
336
338 const css_computed_style *style,
339 css_fixed *length, css_unit *unit);
340
342 const css_computed_style *style,
343 css_fixed *length, css_unit *unit);
344
346 const css_computed_style *style,
347 css_fixed *length, css_unit *unit);
348
350 const css_computed_style *style);
351
353 const css_computed_style *style);
354
356 const css_computed_style *style);
357
359 const css_computed_style *style,
360 css_fixed *opacity);
361
363 const css_computed_style *style,
364 css_fixed *fill_opacity);
365
367 const css_computed_style *style,
368 css_fixed *stroke_opacity);
369
371 const css_computed_style *style);
372
374 const css_computed_style *style,
375 css_fixed *length, css_unit *unit);
376
378 const css_computed_style *style);
379
381 const css_computed_style *style,
382 css_fixed *hlength, css_unit *hunit,
383 css_fixed *vlength, css_unit *vunit);
384
386 const css_computed_style *style);
387
389 const css_computed_style *style);
390
392 const css_computed_style *style);
393
395 const css_computed_style *style,
396 int32_t *column_count);
397
399 const css_computed_style *style);
400
402 const css_computed_style *style,
403 css_fixed *length, css_unit *unit);
404
406 const css_computed_style *style,
407 css_color *color);
408
410 const css_computed_style *style);
411
413 const css_computed_style *style,
414 css_fixed *length, css_unit *unit);
415
417 const css_computed_style *style);
418
420 const css_computed_style *style,
421 css_fixed *length, css_unit *unit);
422
424 const css_computed_style *style, bool root);
425
427 const css_computed_style *style);
428
430 const css_computed_style *style);
431
433 const css_computed_style *style);
434
436 const css_computed_style *style,
437 lwc_string ***names);
438
440 const css_computed_style *style);
441
443 const css_computed_style *style);
444
446 const css_computed_style *style);
447
449 const css_computed_style *style);
450
452 const css_computed_style *style);
453
455 const css_computed_style *style);
456
458 const css_computed_style *style);
459
461 const css_computed_style *style);
462
464 const css_computed_style *style);
465
467 const css_computed_style *style);
468
470 const css_computed_style *style);
471
473 const css_computed_style *style);
474
476 const css_computed_style *style);
477
479 const css_computed_style *style);
480
482 const css_computed_style *style);
483
485 const css_computed_style *style,
486 int32_t *orphans);
487
488uint8_t css_computed_widows(
489 const css_computed_style *style,
490 int32_t *widows);
491
493 const css_computed_style *style);
494
496 const css_computed_style *style);
497
499 const css_computed_style *style);
500
502 const css_computed_style *style,
503 css_fixed *length,
504 css_unit *unit);
505
507 const css_computed_style *style);
508
510 const css_computed_style *style,
511 css_fixed *number);
512
514 const css_computed_style *style,
515 css_fixed *number);
516
518 const css_computed_style *style);
519
521 const css_computed_style *style);
522
523uint8_t css_computed_order(
524 const css_computed_style *style,
525 int32_t *order);
526
527#ifdef __cplusplus
528}
529#endif
530
531#endif
unit
Definition bytecode.h:49
css_error
Definition errors.h:18
int32_t css_fixed
Definition fpmath.h:23
uint8_t css_computed_border_left_style(const css_computed_style *style)
Definition computed.c:1068
uint8_t css_computed_table_layout(const css_computed_style *style)
Definition computed.c:1088
uint8_t css_computed_counter_reset(const css_computed_style *style, const css_computed_counter **counters)
Definition computed.c:382
uint8_t css_computed_visibility(const css_computed_style *style)
Definition computed.c:1098
uint8_t css_computed_display_static(const css_computed_style *style)
Definition computed.c:1032
uint8_t css_computed_quotes(const css_computed_style *style, lwc_string ***quotes)
Definition computed.c:460
uint8_t css_computed_overflow_y(const css_computed_style *style)
Definition computed.c:867
uint8_t css_computed_list_style_type(const css_computed_style *style)
Definition computed.c:1078
uint8_t css_computed_outline_color(const css_computed_style *style, css_color *color)
Definition computed.c:339
uint8_t css_computed_column_width(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:986
uint8_t css_computed_max_width(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:696
uint8_t css_computed_column_gap(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:944
uint8_t css_computed_clear(const css_computed_style *style)
Definition computed.c:833
uint8_t css_computed_flex_basis(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:1155
uint8_t css_computed_column_rule_width(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:967
uint8_t css_computed_outline_width(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:345
uint8_t css_computed_unicode_bidi(const css_computed_style *style)
Definition computed.c:1093
uint8_t css_computed_content(const css_computed_style *style, const css_computed_content_item **content)
Definition computed.c:400
uint8_t css_computed_background_attachment(const css_computed_style *style)
Definition computed.c:670
uint8_t css_computed_width(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:753
uint8_t css_computed_color(const css_computed_style *style, css_color *color)
Definition computed.c:448
uint8_t css_computed_cursor(const css_computed_style *style, lwc_string ***urls)
Definition computed.c:388
uint8_t css_computed_border_top_width(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:418
uint8_t css_computed_flex_shrink(const css_computed_style *style, css_fixed *number)
Definition computed.c:1172
uint8_t css_computed_direction(const css_computed_style *style)
Definition computed.c:685
uint8_t css_computed_margin_right(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:652
uint8_t css_computed_list_style_image(const css_computed_style *style, lwc_string **url)
Definition computed.c:454
uint8_t css_computed_right(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:496
uint8_t css_computed_border_right_style(const css_computed_style *style)
Definition computed.c:1058
uint8_t css_computed_text_transform(const css_computed_style *style)
Definition computed.c:895
css_error css_computed_style_destroy(css_computed_style *style)
Definition computed.c:101
uint8_t css_computed_line_height(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:628
uint8_t css_computed_border_right_width(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:424
uint8_t css_computed_flex_wrap(const css_computed_style *style)
Definition computed.c:1178
uint8_t css_computed_background_color(const css_computed_style *style, css_color *color)
Definition computed.c:634
uint8_t css_computed_position(const css_computed_style *style)
Definition computed.c:872
uint8_t css_computed_padding_right(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:844
uint8_t css_computed_flex_grow(const css_computed_style *style, css_fixed *number)
Definition computed.c:1166
uint8_t css_computed_align_content(const css_computed_style *style)
Definition computed.c:1140
uint8_t css_computed_overflow_x(const css_computed_style *style)
Definition computed.c:862
uint8_t css_computed_border_right_color(const css_computed_style *style, css_color *color)
Definition computed.c:599
uint8_t css_computed_background_position(const css_computed_style *style, css_fixed *hlength, css_unit *hunit, css_fixed *vlength, css_unit *vunit)
Definition computed.c:911
uint8_t css_computed_text_indent(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:900
uint8_t css_computed_min_height(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:790
uint8_t css_computed_clip(const css_computed_style *style, css_computed_clip_rect *rect)
Definition computed.c:394
uint8_t css_computed_font_style(const css_computed_style *style)
Definition computed.c:785
uint8_t css_computed_left(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:560
uint8_t css_computed_border_bottom_width(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:430
uint8_t css_computed_margin_top(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:646
uint8_t css_computed_order(const css_computed_style *style, int32_t *order)
Definition computed.c:1188
uint8_t css_computed_border_top_color(const css_computed_style *style, css_color *color)
Definition computed.c:593
uint8_t css_computed_font_weight(const css_computed_style *style)
Definition computed.c:1073
uint8_t css_computed_max_height(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:690
uint8_t css_computed_box_sizing(const css_computed_style *style)
Definition computed.c:617
uint8_t css_computed_page_break_inside(const css_computed_style *style)
Definition computed.c:1123
uint8_t css_computed_column_fill(const css_computed_style *style)
Definition computed.c:939
uint8_t css_computed_stroke_opacity(const css_computed_style *style, css_fixed *stroke_opacity)
Definition computed.c:889
uint8_t css_computed_top(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:466
uint8_t css_computed_break_inside(const css_computed_style *style)
Definition computed.c:928
uint8_t css_computed_column_count(const css_computed_style *style, int32_t *column_count)
Definition computed.c:933
uint8_t css_computed_orphans(const css_computed_style *style, int32_t *orphans)
Definition computed.c:1128
uint8_t css_computed_padding_bottom(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:850
uint8_t css_computed_break_before(const css_computed_style *style)
Definition computed.c:923
uint8_t css_computed_fill_opacity(const css_computed_style *style, css_fixed *fill_opacity)
Definition computed.c:883
uint8_t css_computed_min_width(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:809
uint8_t css_computed_border_spacing(const css_computed_style *style, css_fixed *hlength, css_unit *hunit, css_fixed *vlength, css_unit *vunit)
Definition computed.c:358
uint8_t css_computed_border_top_style(const css_computed_style *style)
Definition computed.c:1053
uint8_t css_computed_page_break_before(const css_computed_style *style)
Definition computed.c:1118
uint8_t css_computed_border_left_color(const css_computed_style *style, css_color *color)
Definition computed.c:611
uint8_t css_computed_align_self(const css_computed_style *style)
Definition computed.c:1150
uint8_t css_computed_break_after(const css_computed_style *style)
Definition computed.c:918
uint8_t css_computed_column_rule_color(const css_computed_style *style, css_color *color)
Definition computed.c:950
uint8_t css_computed_vertical_align(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:406
uint8_t css_computed_text_align(const css_computed_style *style)
Definition computed.c:1108
uint8_t css_computed_list_style_position(const css_computed_style *style)
Definition computed.c:1103
uint8_t css_computed_text_decoration(const css_computed_style *style)
Definition computed.c:1042
uint8_t css_computed_border_left_width(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:436
uint8_t css_computed_font_family(const css_computed_style *style, lwc_string ***names)
Definition computed.c:1047
uint8_t css_computed_background_repeat(const css_computed_style *style)
Definition computed.c:828
uint8_t css_computed_padding_left(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:856
uint8_t css_computed_z_index(const css_computed_style *style, int32_t *z_index)
Definition computed.c:640
uint8_t css_computed_opacity(const css_computed_style *style, css_fixed *opacity)
Definition computed.c:877
uint8_t css_computed_white_space(const css_computed_style *style)
Definition computed.c:906
uint8_t css_computed_column_span(const css_computed_style *style)
Definition computed.c:981
uint8_t css_computed_margin_bottom(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:658
uint8_t css_computed_display(const css_computed_style *style, bool root)
Definition computed.c:992
uint8_t css_computed_font_size(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:412
uint8_t css_computed_background_image(const css_computed_style *style, lwc_string **url)
Definition computed.c:442
uint8_t css_computed_caption_side(const css_computed_style *style)
Definition computed.c:680
uint8_t css_computed_counter_increment(const css_computed_style *style, const css_computed_counter **counters)
Definition computed.c:376
uint8_t css_computed_writing_mode(const css_computed_style *style)
Definition computed.c:371
css_error css_computed_format_list_style(const css_computed_style *style, int value, char *buffer, size_t buffer_length, size_t *format_length)
Definition format_list_style.c:1192
uint8_t css_computed_bottom(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:529
uint8_t css_computed_width_px(const css_computed_style *style, const css_unit_ctx *unit_ctx, int available_px, int *px_out)
Definition computed.c:702
uint8_t css_computed_outline_style(const css_computed_style *style)
Definition computed.c:1083
uint8_t css_computed_word_spacing(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:365
uint8_t css_computed_border_bottom_color(const css_computed_style *style, css_color *color)
Definition computed.c:605
uint8_t css_computed_padding_top(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:838
uint8_t css_computed_column_rule_style(const css_computed_style *style)
Definition computed.c:962
uint8_t css_computed_justify_content(const css_computed_style *style)
Definition computed.c:1183
css_computed_content_type
Definition computed.h:49
@ CSS_COMPUTED_CONTENT_NO_OPEN_QUOTE
Definition computed.h:58
@ CSS_COMPUTED_CONTENT_NONE
Definition computed.h:50
@ CSS_COMPUTED_CONTENT_STRING
Definition computed.h:51
@ CSS_COMPUTED_CONTENT_COUNTERS
Definition computed.h:54
@ CSS_COMPUTED_CONTENT_NO_CLOSE_QUOTE
Definition computed.h:59
@ CSS_COMPUTED_CONTENT_COUNTER
Definition computed.h:53
@ CSS_COMPUTED_CONTENT_CLOSE_QUOTE
Definition computed.h:57
@ CSS_COMPUTED_CONTENT_URI
Definition computed.h:52
@ CSS_COMPUTED_CONTENT_OPEN_QUOTE
Definition computed.h:56
@ CSS_COMPUTED_CONTENT_ATTR
Definition computed.h:55
uint8_t css_computed_empty_cells(const css_computed_style *style)
Definition computed.c:767
css_error css_computed_style_compose(const css_computed_style *restrict parent, const css_computed_style *restrict child, const css_unit_ctx *unit_ctx, css_computed_style **restrict result)
Definition computed.c:290
uint8_t css_computed_align_items(const css_computed_style *style)
Definition computed.c:1145
uint8_t css_computed_letter_spacing(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:333
uint8_t css_computed_float(const css_computed_style *style)
Definition computed.c:772
uint8_t css_computed_page_break_after(const css_computed_style *style)
Definition computed.c:1113
uint8_t css_computed_flex_direction(const css_computed_style *style)
Definition computed.c:1161
uint8_t css_computed_font_variant(const css_computed_style *style)
Definition computed.c:1037
uint8_t css_computed_widows(const css_computed_style *style, int32_t *widows)
Definition computed.c:1134
uint8_t css_computed_border_bottom_style(const css_computed_style *style)
Definition computed.c:1063
uint8_t css_computed_border_collapse(const css_computed_style *style)
Definition computed.c:675
uint8_t css_computed_height(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:622
uint8_t css_computed_margin_left(const css_computed_style *style, css_fixed *length, css_unit *unit)
Definition computed.c:664
Definition computed.h:32
css_unit tunit
Definition computed.h:38
bool right_auto
Definition computed.h:44
css_fixed left
Definition computed.h:36
css_fixed right
Definition computed.h:34
css_fixed bottom
Definition computed.h:35
bool bottom_auto
Definition computed.h:45
bool left_auto
Definition computed.h:46
css_unit lunit
Definition computed.h:41
css_unit bunit
Definition computed.h:40
css_unit runit
Definition computed.h:39
css_fixed top
Definition computed.h:33
bool top_auto
Definition computed.h:43
Definition computed.h:62
lwc_string * sep
Definition computed.h:74
struct css_computed_content_item::@0::@1 counter
union css_computed_content_item::@0 data
lwc_string * string
Definition computed.h:65
uint8_t type
Definition computed.h:63
lwc_string * attr
Definition computed.h:67
lwc_string * uri
Definition computed.h:66
lwc_string * name
Definition computed.h:69
struct css_computed_content_item::@0::@2 counters
uint8_t style
Definition computed.h:70
Definition computed.h:27
lwc_string * name
Definition computed.h:28
css_fixed value
Definition computed.h:29
Definition autogenerated_computed.h:282
Definition hint.h:34
Definition select.h:51
Definition unit.h:39
css_unit
Definition types.h:82
uint32_t css_color
Definition types.h:79