11#ifndef MAPLIBRE_NATIVE_C_STYLE_EXPRESSION_H
12#define MAPLIBRE_NATIVE_C_STYLE_EXPRESSION_H
32 MLN_STYLE_EXPRESSION_TYPE_NUMBER = 1,
33 MLN_STYLE_EXPRESSION_TYPE_STRING = 2,
34 MLN_STYLE_EXPRESSION_TYPE_BOOLEAN = 3,
35 MLN_STYLE_EXPRESSION_TYPE_COLOR = 4,
36 MLN_STYLE_EXPRESSION_TYPE_OBJECT = 5,
37 MLN_STYLE_EXPRESSION_TYPE_FORMATTED = 6,
40 MLN_STYLE_EXPRESSION_TYPE_PADDING = 8,
41 MLN_STYLE_EXPRESSION_TYPE_VARIABLE_ANCHOR_OFFSET_COLLECTION = 9,
75 MLN_BINDING(
"mask=fields;bit=MLN_STYLE_EXPRESSION_OPTION_EXPECTED_TYPE");
82 MLN_STYLE_EXPRESSION_INPUT_ZOOM = 1U << 0U,
83 MLN_STYLE_EXPRESSION_INPUT_COLOR_RAMP_PARAMETER = 1U << 1U,
84 MLN_STYLE_EXPRESSION_INPUT_ELEVATION = 1U << 2U,
85 MLN_STYLE_EXPRESSION_INPUT_FEATURE = 1U << 3U,
86 MLN_STYLE_EXPRESSION_INPUT_FEATURE_STATE = 1U << 4U,
87 MLN_STYLE_EXPRESSION_INPUT_GLOBAL_STATE = 1U << 5U,
88 MLN_STYLE_EXPRESSION_INPUT_CANONICAL_TILE_ID = 1U << 6U,
109 "mask=fields;bit=MLN_STYLE_EXPRESSION_INPUT_COLOR_RAMP_PARAMETER"
113 MLN_BINDING(
"mask=fields;bit=MLN_STYLE_EXPRESSION_INPUT_ELEVATION");
116 "encoding=json;mask=fields;bit=MLN_STYLE_EXPRESSION_INPUT_FEATURE"
120 "encoding=json;mask=fields;bit=MLN_STYLE_EXPRESSION_INPUT_FEATURE_STATE"
124 "encoding=json;mask=fields;bit=MLN_STYLE_EXPRESSION_INPUT_GLOBAL_STATE"
131 MLN_BINDING(
"mask=fields;bit=MLN_STYLE_EXPRESSION_INPUT_CANONICAL_TILE_ID");
138 size_t available_image_count;
245 "direction=out;encoding=json;length=json_capacity;"
246 "result_length=out_json_length"
248 size_t json_capacity,
size_t* out_json_length
MLN_BINDING(
"direction=out"),
uint64_t mln_style_expression
Definition base.h:141
mln_status
Definition base.h:61
#define MLN_BINDING(contract)
Definition binding.h:17
Definition style_expression.h:142
bool is_zoom_constant
Definition style_expression.h:147
bool is_feature_constant
Definition style_expression.h:145
Definition style_expression.h:65
uint32_t fields
Definition style_expression.h:68
mln_style_expression_type expected_type
Definition style_expression.h:75
Definition style_expression.h:47
uint32_t item_kind
Definition style_expression.h:51
uint32_t kind
Definition style_expression.h:49
uint32_t item_count
Definition style_expression.h:53
mln_style_expression_input_field
Definition style_expression.h:81
void mln_style_expression_release(mln_style_expression expression)
mln_style_expression_type_kind
Definition style_expression.h:29
@ MLN_STYLE_EXPRESSION_TYPE_ARRAY
Definition style_expression.h:43
@ MLN_STYLE_EXPRESSION_TYPE_VALUE
Definition style_expression.h:31
@ MLN_STYLE_EXPRESSION_TYPE_IMAGE
Definition style_expression.h:39
mln_status mln_style_expression_get_info(mln_style_expression expression, mln_style_expression_info *out_info, mln_diagnostic *out_diagnostic)
mln_status mln_style_expression_evaluate(mln_style_expression expression, const mln_style_expression_inputs *inputs, char *out_json, size_t json_capacity, size_t *out_json_length, mln_diagnostic *out_diagnostic)
mln_style_expression_option_field
Definition style_expression.h:59
@ MLN_STYLE_EXPRESSION_OPTION_EXPECTED_TYPE
Definition style_expression.h:61
mln_status mln_style_expression_create(mln_buffer_view expression, const mln_style_expression_options *options, mln_style_expression *out_expression, mln_diagnostic *out_diagnostic)
mln_style_expression_options mln_style_expression_options_default(void)
mln_style_expression_inputs mln_style_expression_inputs_default(void)