libcss
Loading...
Searching...
No Matches
src
select
calc.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 2024 Daniel Silverstone <dsilvers@netsurf-browser.org>
6
*/
7
8
#ifndef css_select_calc_h_
9
#define css_select_calc_h_
10
11
#include <stdint.h>
12
13
#include "
bytecode/bytecode.h
"
14
#include "
libcss/errors.h
"
15
#include "
libcss/unit.h
"
16
17
typedef
struct
{
18
unit
unit
;
19
css_fixed
value
;
20
}
css_calculator_stack_entry
;
21
22
typedef
struct
{
23
uint32_t
refcount
;
24
css_calculator_stack_entry
*
stack
;
25
size_t
stack_alloc
;
26
size_t
stack_ptr
;
27
#ifndef NDEBUG
28
lwc_string *
canary
;
29
#endif
30
}
css_calculator
;
31
44
css_error
css_calculator_create
(
css_calculator
**out);
45
56
css_calculator
*
css_calculator_ref
(
css_calculator
*calc);
57
67
void
css_calculator_unref
(
css_calculator
*calc);
68
86
css_error
css_calculator_calculate
(
css_calculator
*calc,
87
const
css_unit_ctx
*unit_ctx,
88
int32_t available, lwc_string *expr,
89
const
css_computed_style
*style,
90
css_unit
*unit_out,
css_fixed
*value_out);
91
92
#endif
/* css_select_calc_h_ */
bytecode.h
unit
unit
Definition
bytecode.h:49
css_calculator_create
css_error css_calculator_create(css_calculator **out)
Definition
calc.c:27
css_calculator_calculate
css_error css_calculator_calculate(css_calculator *calc, const css_unit_ctx *unit_ctx, int32_t available, lwc_string *expr, const css_computed_style *style, css_unit *unit_out, css_fixed *value_out)
Definition
calc.c:195
css_calculator_unref
void css_calculator_unref(css_calculator *calc)
Definition
calc.c:69
css_calculator_ref
css_calculator * css_calculator_ref(css_calculator *calc)
Definition
calc.c:62
errors.h
css_error
css_error
Definition
errors.h:18
css_fixed
int32_t css_fixed
Definition
fpmath.h:23
unit.h
css_calculator_stack_entry
Definition
calc.h:17
css_calculator_stack_entry::unit
unit unit
Definition
calc.h:18
css_calculator_stack_entry::value
css_fixed value
Definition
calc.h:19
css_calculator
Definition
calc.h:22
css_calculator::stack_ptr
size_t stack_ptr
Definition
calc.h:26
css_calculator::refcount
uint32_t refcount
Definition
calc.h:23
css_calculator::canary
lwc_string * canary
Definition
calc.h:28
css_calculator::stack_alloc
size_t stack_alloc
Definition
calc.h:25
css_calculator::stack
css_calculator_stack_entry * stack
Definition
calc.h:24
css_computed_style
Definition
autogenerated_computed.h:282
css_unit_ctx
Definition
unit.h:39
css_unit
css_unit
Definition
types.h:82
Generated on Fri Dec 12 2025 12:50:39 for libcss by
1.9.8