MapLibre Native C API
Public C ABI for the MapLibre Native wrapper.
Loading...
Searching...
No Matches
query.h File Reference

Go to the source code of this file.

Data Structures

struct  mln_screen_box
 
struct  mln_screen_line_string
 
struct  mln_rendered_query_geometry
 
struct  mln_rendered_feature_query_options
 
struct  mln_source_feature_query_options
 
struct  mln_queried_feature
 
struct  mln_feature_extension_result_info
 

Enumerations

enum  mln_rendered_query_geometry_type : uint32_t
 
enum  mln_rendered_feature_query_option_field : uint32_t
 
enum  mln_source_feature_query_option_field : uint32_t
 
enum  mln_queried_feature_field : uint32_t
 
enum  mln_feature_extension_result_type : uint32_t
 

Functions

mln_rendered_feature_query_options mln_rendered_feature_query_options_default (void)
 
mln_source_feature_query_options mln_source_feature_query_options_default (void)
 
mln_rendered_query_geometry mln_rendered_query_geometry_point (mln_screen_point point)
 
mln_rendered_query_geometry mln_rendered_query_geometry_box (mln_screen_box box)
 
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_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_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_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_status mln_feature_query_result_count (const mln_feature_query_result *result, size_t *out_count)
 
mln_status mln_feature_query_result_get (const mln_feature_query_result *result, size_t index, mln_queried_feature *out_feature)
 
void mln_feature_query_result_destroy (mln_feature_query_result *result)
 
mln_status mln_feature_extension_result_get (const mln_feature_extension_result *result, mln_feature_extension_result_info *out_info)
 
void mln_feature_extension_result_destroy (mln_feature_extension_result *result)
 

Detailed Description

Public C API declarations for feature queries.

Enumeration Type Documentation

◆ mln_feature_extension_result_type

Feature extension query result variants.

◆ mln_queried_feature_field

enum mln_queried_feature_field : uint32_t

Optional fields returned by mln_queried_feature.

◆ mln_rendered_feature_query_option_field

◆ mln_rendered_query_geometry_type

Rendered feature query geometry variants.

◆ mln_source_feature_query_option_field

Function Documentation

◆ mln_feature_extension_result_destroy()

void mln_feature_extension_result_destroy ( mln_feature_extension_result * result)

Destroys a feature extension result handle. Null is accepted as a no-op.

◆ mln_feature_extension_result_get()

mln_status mln_feature_extension_result_get ( const mln_feature_extension_result * result,
mln_feature_extension_result_info * out_info )

Borrows a feature extension query result view.

On success, out_info receives views into result-owned storage. Those views remain valid until result is destroyed.

Returns:

  • MLN_STATUS_OK on success.
  • MLN_STATUS_INVALID_ARGUMENT when result is null or not live, out_info is null, or out_info->size is too small.
  • MLN_STATUS_NATIVE_ERROR when an internal exception is converted to status.

◆ mln_feature_query_result_count()

mln_status mln_feature_query_result_count ( const mln_feature_query_result * result,
size_t * out_count )

Gets the number of features in a query result handle.

Returns:

  • MLN_STATUS_OK on success.
  • MLN_STATUS_INVALID_ARGUMENT when result is null or not live, or out_count is null.
  • MLN_STATUS_NATIVE_ERROR when an internal exception is converted to status.

◆ mln_feature_query_result_destroy()

void mln_feature_query_result_destroy ( mln_feature_query_result * result)

Destroys a feature query result handle. Null is accepted as a no-op.

◆ mln_feature_query_result_get()

mln_status mln_feature_query_result_get ( const mln_feature_query_result * result,
size_t index,
mln_queried_feature * out_feature )

Borrows one feature from a query result handle.

On success, out_feature receives views into result-owned storage. Those views remain valid until result is destroyed.

Returns:

  • MLN_STATUS_OK on success.
  • MLN_STATUS_INVALID_ARGUMENT when result is null or not live, index is out of range, out_feature is null, or out_feature->size is too small.
  • MLN_STATUS_NATIVE_ERROR when an internal exception is converted to status.

◆ mln_render_session_query_feature_extensions()

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 )

Queries a feature extension from the latest render session state.

The session renderer must already exist. source_id, feature, extension, extension_field, and arguments are borrowed for the duration of the call. arguments may be null. When non-null, arguments must be a JSON object descriptor. On success, *out_result receives an owned result handle. Destroy it with mln_feature_extension_result_destroy().

Returns:

  • MLN_STATUS_OK on success.
  • MLN_STATUS_INVALID_ARGUMENT when session is null or not live, source_id, feature, extension, extension_field, or arguments are invalid, out_result is null, or *out_result is not null.
  • MLN_STATUS_INVALID_STATE when the session is detached or no renderer has been created for the session yet.
  • MLN_STATUS_WRONG_THREAD when called from a thread other than the session owner thread.
  • MLN_STATUS_NATIVE_ERROR when an internal exception is converted to status.

◆ 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,
mln_feature_query_result ** out_result )

Queries rendered features from the latest render session state.

The session renderer must already exist. geometry and options are borrowed for the duration of the call. Passing null for options uses default options. On success, *out_result receives an owned result handle. Destroy it with mln_feature_query_result_destroy().

Returns:

  • MLN_STATUS_OK on success.
  • MLN_STATUS_INVALID_ARGUMENT when session is null or not live, geometry is null or invalid, options are invalid, out_result is null, or *out_result is not null.
  • MLN_STATUS_INVALID_STATE when the session is detached or no renderer has been created for the session yet.
  • MLN_STATUS_WRONG_THREAD when called from a thread other than the session owner thread.
  • MLN_STATUS_NATIVE_ERROR when an internal exception is converted to status.

◆ mln_render_session_query_source_features()

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 )

Queries source features from the latest render session state.

The session renderer must already exist. source_id and options are borrowed for the duration of the call. Passing null for options uses default options. On success, *out_result receives an owned result handle. Destroy it with mln_feature_query_result_destroy().

Returns:

  • MLN_STATUS_OK on success.
  • MLN_STATUS_INVALID_ARGUMENT when session is null or not live, source_id is invalid or empty, options are invalid, out_result is null, or *out_result is not null.
  • MLN_STATUS_INVALID_STATE when the session is detached or no renderer has been created for the session yet.
  • MLN_STATUS_WRONG_THREAD when called from a thread other than the session owner thread.
  • MLN_STATUS_NATIVE_ERROR when an internal exception is converted to status.

◆ mln_rendered_feature_query_options_default()

mln_rendered_feature_query_options mln_rendered_feature_query_options_default ( void )

Returns default rendered feature query options.

◆ mln_rendered_query_geometry_box()

mln_rendered_query_geometry mln_rendered_query_geometry_box ( mln_screen_box box)

Returns a rendered box query geometry descriptor.

◆ mln_rendered_query_geometry_line_string()

mln_rendered_query_geometry mln_rendered_query_geometry_line_string ( const mln_screen_point * points,
size_t point_count )

Returns a rendered line-string query geometry descriptor.

◆ mln_rendered_query_geometry_point()

mln_rendered_query_geometry mln_rendered_query_geometry_point ( mln_screen_point point)

Returns a rendered point query geometry descriptor.

◆ mln_source_feature_query_options_default()

mln_source_feature_query_options mln_source_feature_query_options_default ( void )

Returns default source feature query options.