MapLibre Native C API
Public C ABI for the MapLibre Native wrapper.
Loading...
Searching...
No Matches
query.h
Go to the documentation of this file.
1
5
6#ifndef MAPLIBRE_NATIVE_C_QUERY_H
7#define MAPLIBRE_NATIVE_C_QUERY_H
8
9#include <stddef.h>
10#include <stdint.h>
11
12#include "base.h"
13#include "map.h"
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19typedef struct mln_feature_query_result mln_feature_query_result;
20typedef struct mln_feature_extension_result mln_feature_extension_result;
21
23typedef enum mln_rendered_query_geometry_type : uint32_t {
24 MLN_RENDERED_QUERY_GEOMETRY_TYPE_POINT = 1,
25 MLN_RENDERED_QUERY_GEOMETRY_TYPE_BOX = 2,
26 MLN_RENDERED_QUERY_GEOMETRY_TYPE_LINE_STRING = 3,
28
30typedef struct mln_screen_box {
34
36typedef struct mln_screen_line_string {
39 size_t point_count;
41
44 uint32_t size;
46 uint32_t type;
47 union {
48 mln_screen_point point;
50 mln_screen_line_string line_string;
51 } data;
53
56 MLN_RENDERED_FEATURE_QUERY_OPTION_LAYER_IDS = 1U << 0U,
58
61 uint32_t size;
62 uint32_t fields;
65 size_t layer_id_count;
69
72 MLN_SOURCE_FEATURE_QUERY_OPTION_SOURCE_LAYER_IDS = 1U << 0U,
74
77 uint32_t size;
78 uint32_t fields;
82 size_t source_layer_id_count;
86
88typedef enum mln_queried_feature_field : uint32_t {
89 MLN_QUERIED_FEATURE_SOURCE_ID = 1U << 0U,
90 MLN_QUERIED_FEATURE_SOURCE_LAYER_ID = 1U << 1U,
91 MLN_QUERIED_FEATURE_STATE = 1U << 2U,
93
107
109typedef enum mln_feature_extension_result_type : uint32_t {
110 MLN_FEATURE_EXTENSION_RESULT_TYPE_VALUE = 1,
111 MLN_FEATURE_EXTENSION_RESULT_TYPE_FEATURE_COLLECTION = 2,
113
128
132
136
140
144
147 const mln_screen_point* points, size_t point_count
148) MLN_NOEXCEPT;
149
170 mln_render_session* session, const mln_rendered_query_geometry* geometry,
172 mln_feature_query_result** out_result
173) MLN_NOEXCEPT;
174
195 mln_render_session* session, mln_string_view source_id,
197 mln_feature_query_result** out_result
198) MLN_NOEXCEPT;
199
221 mln_render_session* session, mln_string_view source_id,
222 const mln_feature* feature, mln_string_view extension,
223 mln_string_view extension_field, const mln_json_value* arguments,
224 mln_feature_extension_result** out_result
225) MLN_NOEXCEPT;
226
237 const mln_feature_query_result* result, size_t* out_count
238) MLN_NOEXCEPT;
239
253 const mln_feature_query_result* result, size_t index,
254 mln_queried_feature* out_feature
255) MLN_NOEXCEPT;
256
259 mln_feature_query_result* result
260) MLN_NOEXCEPT;
261
275 const mln_feature_extension_result* result,
277) MLN_NOEXCEPT;
278
281 mln_feature_extension_result* result
282) MLN_NOEXCEPT;
283
284#ifdef __cplusplus
285}
286#endif
287
288#endif // MAPLIBRE_NATIVE_C_QUERY_H
mln_status
Definition base.h:37
void mln_feature_query_result_destroy(mln_feature_query_result *result)
mln_status mln_render_session_query_source_features(mln_render_session *session, mln_string_view source_id, const mln_source_feature_query_options *options, mln_feature_query_result **out_result)
mln_rendered_feature_query_options mln_rendered_feature_query_options_default(void)
mln_feature_extension_result_type
Definition query.h:109
mln_status mln_render_session_query_feature_extensions(mln_render_session *session, mln_string_view source_id, const mln_feature *feature, mln_string_view extension, mln_string_view extension_field, const mln_json_value *arguments, mln_feature_extension_result **out_result)
mln_rendered_query_geometry mln_rendered_query_geometry_box(mln_screen_box box)
mln_rendered_query_geometry_type
Definition query.h:23
mln_status mln_feature_extension_result_get(const mln_feature_extension_result *result, mln_feature_extension_result_info *out_info)
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, mln_feature_query_result **out_result)
mln_rendered_feature_query_option_field
Definition query.h:55
mln_rendered_query_geometry mln_rendered_query_geometry_line_string(const mln_screen_point *points, size_t point_count)
mln_source_feature_query_option_field
Definition query.h:71
mln_rendered_query_geometry mln_rendered_query_geometry_point(mln_screen_point point)
void mln_feature_extension_result_destroy(mln_feature_extension_result *result)
mln_status mln_feature_query_result_get(const mln_feature_query_result *result, size_t index, mln_queried_feature *out_feature)
mln_source_feature_query_options mln_source_feature_query_options_default(void)
mln_queried_feature_field
Definition query.h:88
mln_status mln_feature_query_result_count(const mln_feature_query_result *result, size_t *out_count)
Definition map.h:444
Definition query.h:115
uint32_t type
Definition query.h:118
mln_feature_collection feature_collection
Definition query.h:125
const mln_json_value * value
Definition query.h:122
Definition map.h:416
Definition map.h:369
Definition query.h:95
mln_string_view source_id
Definition query.h:101
mln_string_view source_layer_id
Definition query.h:103
mln_feature feature
Definition query.h:99
const mln_json_value * state
Definition query.h:105
const mln_string_view * layer_ids
Definition query.h:64
const mln_json_value * filter
Definition query.h:67
Definition query.h:43
uint32_t type
Definition query.h:46
Definition query.h:30
Definition query.h:36
const mln_screen_point * points
Definition query.h:38
Definition map.h:152
const mln_json_value * filter
Definition query.h:84
const mln_string_view * source_layer_ids
Definition query.h:81
Definition map.h:247