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 uint64_t mln_queried_feature_list;
20
22typedef enum mln_rendered_query_geometry_type : uint32_t {
23 MLN_RENDERED_QUERY_GEOMETRY_TYPE_POINT = 1,
24 MLN_RENDERED_QUERY_GEOMETRY_TYPE_BOX = 2,
25 MLN_RENDERED_QUERY_GEOMETRY_TYPE_LINE_STRING = 3,
27
38
40typedef struct mln_screen_line_string {
43 size_t point_count;
45
48 uint32_t size;
50 uint32_t type;
51 union {
52 mln_screen_point point;
54 mln_screen_line_string line_string;
55 } data;
57
60 MLN_RENDERED_FEATURE_QUERY_OPTION_LAYER_IDS = 1U << 0U,
62
65 uint32_t size;
66 uint32_t fields;
69 size_t layer_id_count;
73
76 MLN_SOURCE_FEATURE_QUERY_OPTION_SOURCE_LAYER_IDS = 1U << 0U,
78
81 uint32_t size;
82 uint32_t fields;
86 size_t source_layer_id_count;
90
92typedef enum mln_queried_feature_field : uint32_t {
93 MLN_QUERIED_FEATURE_SOURCE_ID = 1U << 0U,
94 MLN_QUERIED_FEATURE_SOURCE_LAYER_ID = 1U << 1U,
95 MLN_QUERIED_FEATURE_STATE = 1U << 2U,
97
105typedef struct mln_queried_feature {
106 uint32_t size;
107 uint32_t fields;
108 mln_buffer_view feature;
109 mln_buffer_view source_id;
110 mln_buffer_view source_layer_id;
111 mln_buffer_view state;
113
117
121
125
129
132 const mln_screen_point* points, size_t point_count
133) MLN_NOEXCEPT;
134
137
148 mln_queried_feature_list list, size_t* out_count
149) MLN_NOEXCEPT;
150
165 mln_queried_feature_list list, size_t index, mln_queried_feature* out_feature
166) MLN_NOEXCEPT;
167
170 mln_queried_feature_list list
171) MLN_NOEXCEPT;
172
199 mln_render_session session, const mln_rendered_query_geometry* geometry,
201 mln_queried_feature_list* out_result
202) MLN_NOEXCEPT;
203
225 mln_render_session session, mln_buffer_view source_id,
227 mln_queried_feature_list* out_result
228) MLN_NOEXCEPT;
229
260 mln_render_session session, mln_buffer_view source_id,
261 mln_buffer_view feature, mln_buffer_view extension,
262 mln_buffer_view extension_field, const mln_buffer_view* arguments,
263 mln_buffer* out_result
264) MLN_NOEXCEPT;
265
266#ifdef __cplusplus
267}
268#endif
269
270#endif // MAPLIBRE_NATIVE_C_QUERY_H
mln_status
Definition base.h:39
mln_rendered_feature_query_options mln_rendered_feature_query_options_default(void)
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_queried_feature_list *out_result)
mln_status mln_queried_feature_list_count(mln_queried_feature_list list, size_t *out_count)
mln_rendered_query_geometry mln_rendered_query_geometry_box(mln_screen_box box)
mln_rendered_query_geometry_type
Definition query.h:22
mln_status mln_queried_feature_list_get(mln_queried_feature_list list, size_t index, mln_queried_feature *out_feature)
mln_rendered_feature_query_option_field
Definition query.h:59
void mln_queried_feature_list_destroy(mln_queried_feature_list list)
mln_queried_feature mln_queried_feature_default(void)
mln_rendered_query_geometry mln_rendered_query_geometry_line_string(const mln_screen_point *points, size_t point_count)
mln_status mln_render_session_query_source_features(mln_render_session session, mln_buffer_view source_id, const mln_source_feature_query_options *options, mln_queried_feature_list *out_result)
mln_source_feature_query_option_field
Definition query.h:75
mln_rendered_query_geometry mln_rendered_query_geometry_point(mln_screen_point point)
mln_source_feature_query_options mln_source_feature_query_options_default(void)
mln_queried_feature_field
Definition query.h:92
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, mln_buffer *out_result)
Definition base.h:103
Definition query.h:105
const mln_buffer_view * layer_ids
Definition query.h:68
const mln_buffer_view * filter
Definition query.h:71
Definition query.h:47
uint32_t type
Definition query.h:50
Definition query.h:34
Definition query.h:40
const mln_screen_point * points
Definition query.h:42
Definition map.h:210
const mln_buffer_view * source_layer_ids
Definition query.h:85
const mln_buffer_view * filter
Definition query.h:88