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
36typedef struct mln_screen_box {
40
42typedef struct mln_screen_line_string {
45 size_t point_count;
47
50 uint32_t size;
52 uint32_t type;
53 union {
54 mln_screen_point point;
56 mln_screen_line_string line_string;
57 } data;
59
62 MLN_RENDERED_FEATURE_QUERY_OPTION_LAYER_IDS = 1U << 0U,
64
67 uint32_t size;
68 uint32_t fields;
71 size_t layer_id_count;
75
78 MLN_SOURCE_FEATURE_QUERY_OPTION_SOURCE_LAYER_IDS = 1U << 0U,
80
83 uint32_t size;
84 uint32_t fields;
88 size_t source_layer_id_count;
92
94typedef enum mln_queried_feature_field : uint32_t {
95 MLN_QUERIED_FEATURE_SOURCE_ID = 1U << 0U,
96 MLN_QUERIED_FEATURE_SOURCE_LAYER_ID = 1U << 1U,
97 MLN_QUERIED_FEATURE_STATE = 1U << 2U,
99
113
115typedef enum mln_feature_extension_result_type : uint32_t {
116 MLN_FEATURE_EXTENSION_RESULT_TYPE_VALUE = 1,
117 MLN_FEATURE_EXTENSION_RESULT_TYPE_FEATURE_COLLECTION = 2,
119
134
138
142
146
150
153 const mln_screen_point* points, size_t point_count
154) MLN_NOEXCEPT;
155
182 mln_render_session* session, const mln_rendered_query_geometry* geometry,
184 mln_feature_query_result** out_result
185) MLN_NOEXCEPT;
186
208 mln_render_session* session, mln_string_view source_id,
210 mln_feature_query_result** out_result
211) MLN_NOEXCEPT;
212
258 mln_render_session* session, mln_string_view source_id,
259 const mln_feature* feature, mln_string_view extension,
260 mln_string_view extension_field, const mln_json_value* arguments,
261 mln_feature_extension_result** out_result
262) MLN_NOEXCEPT;
263
274 const mln_feature_query_result* result, size_t* out_count
275) MLN_NOEXCEPT;
276
290 const mln_feature_query_result* result, size_t index,
291 mln_queried_feature* out_feature
292) MLN_NOEXCEPT;
293
296 mln_feature_query_result* result
297) MLN_NOEXCEPT;
298
312 const mln_feature_extension_result* result,
314) MLN_NOEXCEPT;
315
318 mln_feature_extension_result* result
319) MLN_NOEXCEPT;
320
321#ifdef __cplusplus
322}
323#endif
324
325#endif // MAPLIBRE_NATIVE_C_QUERY_H
mln_status
Definition base.h:39
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:115
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:61
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:77
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:94
mln_status mln_feature_query_result_count(const mln_feature_query_result *result, size_t *out_count)
Definition map.h:522
Definition query.h:121
uint32_t type
Definition query.h:124
mln_feature_collection feature_collection
Definition query.h:131
const mln_json_value * value
Definition query.h:128
Definition map.h:494
Definition map.h:447
Definition query.h:101
mln_string_view source_id
Definition query.h:107
mln_string_view source_layer_id
Definition query.h:109
mln_feature feature
Definition query.h:105
const mln_json_value * state
Definition query.h:111
const mln_string_view * layer_ids
Definition query.h:70
const mln_json_value * filter
Definition query.h:73
Definition query.h:49
uint32_t type
Definition query.h:52
Definition query.h:36
Definition query.h:42
const mln_screen_point * points
Definition query.h:44
Definition map.h:186
const mln_json_value * filter
Definition query.h:90
const mln_string_view * source_layer_ids
Definition query.h:87
Definition map.h:325