MapLibre Native C API
Public C ABI for the MapLibre Native wrapper.
Toggle main menu visibility
Loading...
Searching...
No Matches
include
maplibre_native_c
query.h
Go to the documentation of this file.
1
9
10
#ifndef MAPLIBRE_NATIVE_C_QUERY_H
11
#define MAPLIBRE_NATIVE_C_QUERY_H
12
13
#include <stddef.h>
14
#include <stdint.h>
15
16
#include "
base.h
"
17
#include "
completion.h
"
18
#include "
map.h
"
19
20
#ifdef __cplusplus
21
extern
"C"
{
22
#endif
23
25
typedef
enum
mln_rendered_query_geometry_type
: uint32_t {
26
MLN_RENDERED_QUERY_GEOMETRY_TYPE_POINT = 1,
27
MLN_RENDERED_QUERY_GEOMETRY_TYPE_BOX = 2,
28
MLN_RENDERED_QUERY_GEOMETRY_TYPE_LINE_STRING = 3,
29
}
mln_rendered_query_geometry_type
;
30
37
typedef
struct
mln_screen_box
{
38
mln_screen_point
min;
39
mln_screen_point
max;
40
}
mln_screen_box
;
41
43
typedef
struct
mln_screen_line_string
{
45
const
mln_screen_point
*
points
MLN_BINDING
(
"length=point_count"
);
46
size_t
point_count;
47
}
mln_screen_line_string
;
48
50
typedef
union
mln_rendered_query_geometry_data
{
51
mln_screen_point
point
52
MLN_BINDING
(
"variant=MLN_RENDERED_QUERY_GEOMETRY_TYPE_POINT"
);
53
mln_screen_box
box
54
MLN_BINDING
(
"variant=MLN_RENDERED_QUERY_GEOMETRY_TYPE_BOX"
);
55
mln_screen_line_string
line_string
56
MLN_BINDING
(
"variant=MLN_RENDERED_QUERY_GEOMETRY_TYPE_LINE_STRING"
);
57
}
mln_rendered_query_geometry_data
;
58
60
typedef
struct
mln_rendered_query_geometry
{
61
uint32_t size;
63
uint32_t
type
MLN_BINDING
(
"enum=mln_rendered_query_geometry_type"
);
64
mln_rendered_query_geometry_data
data
MLN_BINDING
(
"tag=type"
);
65
}
mln_rendered_query_geometry
;
66
68
typedef
enum
MLN_BINDING
(
69
"kind=bitmask"
70
)
mln_rendered_feature_query_option_field
: uint32_t {
71
MLN_RENDERED_FEATURE_QUERY_OPTION_LAYER_IDS = 1U << 0U,
72
MLN_RENDERED_FEATURE_QUERY_OPTION_FILTER = 1U << 1U,
73
}
mln_rendered_feature_query_option_field
;
74
76
typedef
struct
mln_rendered_feature_query_options
{
77
uint32_t size;
78
uint32_t fields
MLN_BINDING
(
"enum=mln_rendered_feature_query_option_field"
);
80
const
mln_buffer_view
*
layer_ids
MLN_BINDING
(
81
"length=layer_id_count;mask=fields;"
82
"bit=MLN_RENDERED_FEATURE_QUERY_OPTION_LAYER_IDS"
83
);
84
size_t
layer_id_count;
86
mln_buffer_view
filter
MLN_BINDING
(
87
"encoding=json;mask=fields;bit=MLN_RENDERED_FEATURE_QUERY_OPTION_FILTER"
88
);
89
}
mln_rendered_feature_query_options
;
90
92
typedef
enum
MLN_BINDING
(
93
"kind=bitmask"
94
)
mln_source_feature_query_option_field
: uint32_t {
95
MLN_SOURCE_FEATURE_QUERY_OPTION_SOURCE_LAYER_IDS = 1U << 0U,
96
MLN_SOURCE_FEATURE_QUERY_OPTION_FILTER = 1U << 1U,
97
}
mln_source_feature_query_option_field
;
98
100
typedef
struct
mln_source_feature_query_options
{
101
uint32_t size;
102
uint32_t fields
MLN_BINDING
(
"enum=mln_source_feature_query_option_field"
);
106
const
mln_buffer_view
*
source_layer_ids
MLN_BINDING
(
107
"length=source_layer_id_count;mask=fields;"
108
"bit=MLN_SOURCE_FEATURE_QUERY_OPTION_SOURCE_LAYER_IDS"
109
);
110
size_t
source_layer_id_count;
112
mln_buffer_view
filter
MLN_BINDING
(
113
"encoding=json;mask=fields;bit=MLN_SOURCE_FEATURE_QUERY_OPTION_FILTER"
114
);
115
}
mln_source_feature_query_options
;
116
118
typedef
enum
MLN_BINDING
(
"kind=bitmask"
)
mln_rendered_feature_field
: uint32_t {
119
MLN_RENDERED_FEATURE_SOURCE_ID = 1U << 0U,
120
MLN_RENDERED_FEATURE_SOURCE_LAYER_ID = 1U << 1U,
121
MLN_RENDERED_FEATURE_STATE = 1U << 2U,
122
}
mln_rendered_feature_field
;
123
134
typedef
struct
mln_rendered_feature
{
135
uint32_t fields
MLN_BINDING
(
"enum=mln_rendered_feature_field"
);
136
mln_buffer_view
feature
MLN_BINDING
(
"encoding=json"
);
137
mln_buffer_view
layer_id;
138
mln_buffer_view
source_id
139
MLN_BINDING
(
"mask=fields;bit=MLN_RENDERED_FEATURE_SOURCE_ID"
);
140
mln_buffer_view
source_layer_id
141
MLN_BINDING
(
"mask=fields;bit=MLN_RENDERED_FEATURE_SOURCE_LAYER_ID"
);
142
mln_buffer_view
state
143
MLN_BINDING
(
"encoding=json;mask=fields;bit=MLN_RENDERED_FEATURE_STATE"
);
144
}
mln_rendered_feature
;
145
147
typedef
enum
MLN_BINDING
(
"kind=bitmask"
)
mln_source_feature_field
: uint32_t {
148
MLN_SOURCE_FEATURE_SOURCE_LAYER_ID = 1U << 0U,
149
}
mln_source_feature_field
;
150
159
typedef
struct
mln_source_feature
{
160
uint32_t fields
MLN_BINDING
(
"enum=mln_source_feature_field"
);
161
mln_buffer_view
feature
MLN_BINDING
(
"encoding=json"
);
162
mln_buffer_view
source_layer_id
163
MLN_BINDING
(
"mask=fields;bit=MLN_SOURCE_FEATURE_SOURCE_LAYER_ID"
);
164
}
mln_source_feature
;
165
167
MLN_API
mln_rendered_feature_query_options
168
mln_rendered_feature_query_options_default
(
void
) MLN_NOEXCEPT;
169
171
MLN_API
mln_source_feature_query_options
172
mln_source_feature_query_options_default
(
void
) MLN_NOEXCEPT;
173
199
MLN_BINDING
(
"execution=query;result=mln_rendered_feature;shape=array"
)
200
MLN_API
mln_status
mln_render_session_query_rendered_features
(
201
mln_render_session
session, const
mln_rendered_query_geometry
* geometry,
202
const
mln_rendered_feature_query_options
* options
203
MLN_BINDING
(
"nullable=true"
),
204
const
mln_completion
* completion,
mln_diagnostic
* out_diagnostic
205
) MLN_NOEXCEPT;
206
227
MLN_BINDING
(
"execution=query;result=mln_source_feature;shape=array"
)
228
MLN_API
mln_status
mln_render_session_query_source_features
(
229
mln_render_session
session,
mln_buffer_view
source_id,
230
const
mln_source_feature_query_options
* options
MLN_BINDING
(
"nullable=true"
),
231
const
mln_completion
* completion,
mln_diagnostic
* out_diagnostic
232
) MLN_NOEXCEPT;
233
258
MLN_BINDING
(
"execution=query;result=mln_buffer_view;encoding=json"
)
259
MLN_API
mln_status
mln_render_session_query_feature_extensions
(
260
mln_render_session
session,
mln_buffer_view
source_id,
261
mln_buffer_view
feature
MLN_BINDING
(
"encoding=json"
),
262
mln_buffer_view
extension,
mln_buffer_view
extension_field,
263
const
mln_buffer_view
* arguments
MLN_BINDING
(
"encoding=json;nullable=true"
),
264
const
mln_completion
* completion,
mln_diagnostic
* out_diagnostic
265
) MLN_NOEXCEPT;
266
267
#ifdef __cplusplus
268
}
269
#endif
270
271
#endif
// MAPLIBRE_NATIVE_C_QUERY_H
base.h
mln_render_session
uint64_t mln_render_session
Definition
base.h:161
mln_status
mln_status
Definition
base.h:61
MLN_BINDING
#define MLN_BINDING(contract)
Definition
binding.h:17
completion.h
map.h
mln_rendered_feature_query_options_default
mln_rendered_feature_query_options mln_rendered_feature_query_options_default(void)
mln_rendered_query_geometry_type
mln_rendered_query_geometry_type
Definition
query.h:25
mln_source_feature_field
mln_source_feature_field
Definition
query.h:147
mln_rendered_feature_query_option_field
mln_rendered_feature_query_option_field
Definition
query.h:70
mln_source_feature_query_option_field
mln_source_feature_query_option_field
Definition
query.h:94
mln_render_session_query_source_features
mln_status mln_render_session_query_source_features(mln_render_session session, mln_buffer_view source_id, const mln_source_feature_query_options *options, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_rendered_feature_field
mln_rendered_feature_field
Definition
query.h:118
mln_render_session_query_feature_extensions
mln_status mln_render_session_query_feature_extensions(mln_render_session session, mln_buffer_view source_id, mln_buffer_view feature, mln_buffer_view extension, mln_buffer_view extension_field, const mln_buffer_view *arguments, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_source_feature_query_options_default
mln_source_feature_query_options mln_source_feature_query_options_default(void)
mln_render_session_query_rendered_features
mln_status mln_render_session_query_rendered_features(mln_render_session session, const mln_rendered_query_geometry *geometry, const mln_rendered_feature_query_options *options, const mln_completion *completion, mln_diagnostic *out_diagnostic)
mln_buffer_view
Definition
base.h:192
mln_completion
Definition
completion.h:121
mln_diagnostic
Definition
base.h:100
mln_rendered_feature_query_options
Definition
query.h:76
mln_rendered_feature_query_options::filter
mln_buffer_view filter
Definition
query.h:88
mln_rendered_feature_query_options::layer_ids
const mln_buffer_view * layer_ids
Definition
query.h:83
mln_rendered_feature
Definition
query.h:134
mln_rendered_query_geometry
Definition
query.h:60
mln_rendered_query_geometry::type
uint32_t type
Definition
query.h:63
mln_screen_box
Definition
query.h:37
mln_screen_line_string
Definition
query.h:43
mln_screen_line_string::points
const mln_screen_point * points
Definition
query.h:45
mln_screen_point
Definition
map.h:216
mln_source_feature_query_options
Definition
query.h:100
mln_source_feature_query_options::filter
mln_buffer_view filter
Definition
query.h:114
mln_source_feature_query_options::source_layer_ids
const mln_buffer_view * source_layer_ids
Definition
query.h:109
mln_source_feature
Definition
query.h:159
mln_rendered_query_geometry_data
Definition
query.h:50
Generated by
1.18.0