libcss
Loading...
Searching...
No Matches
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
21
22typedef struct {
23 uint32_t refcount;
26 size_t stack_ptr;
27#ifndef NDEBUG
28 lwc_string *canary;
29#endif
31
45
57
68
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_ */
unit
Definition bytecode.h:49
css_error css_calculator_create(css_calculator **out)
Definition calc.c:27
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
void css_calculator_unref(css_calculator *calc)
Definition calc.c:69
css_calculator * css_calculator_ref(css_calculator *calc)
Definition calc.c:62
css_error
Definition errors.h:18
int32_t css_fixed
Definition fpmath.h:23
Definition calc.h:17
unit unit
Definition calc.h:18
css_fixed value
Definition calc.h:19
Definition calc.h:22
size_t stack_ptr
Definition calc.h:26
uint32_t refcount
Definition calc.h:23
lwc_string * canary
Definition calc.h:28
size_t stack_alloc
Definition calc.h:25
css_calculator_stack_entry * stack
Definition calc.h:24
Definition autogenerated_computed.h:282
Definition unit.h:39
css_unit
Definition types.h:82