Skip to content

Scene API

Retained figures, panels, cameras, controllers, scene objects, queries, and frame artifacts.

Status: stable

This generated page lists exported C functions and their canonical public types classified by the v0.4 C API reference policy. Raw Python ctypes call forms are documented separately.

Use this page when you are writing retained scene/app code and already know the scene object or controller you need.

Common workflows:

Functions: 362 Types: 191

Symbol Groups

Group Functions Types Headers
Anim 13 6 include/datoviz/scene/animation.h
Annotation 8 3 3 headers
Arcball 1 0 include/datoviz/scene/arcball.h
Axis 13 4 include/datoviz/scene.h, include/datoviz/scene/types.h
Blend 0 1 include/datoviz/scene/enums.h
Bounds 0 2 include/datoviz/scene/types.h
Camera 1 2 include/datoviz/scene/animation.h
Category 0 1 include/datoviz/scene/types.h
Color 0 1 include/datoviz/scene/enums.h
Colorbar 12 5 3 headers
Colormap 10 5 3 headers
Controller 9 6 3 headers
Data 0 1 include/datoviz/scene/types.h
Datetime 4 2 include/datoviz/scene/scale.h, include/datoviz/scene/types.h
Diagnostic 0 1 include/datoviz/scene/types.h
Dim 0 2 include/datoviz/scene/types.h
Field 2 0 include/datoviz/scene/field.h
Figure 17 1 include/datoviz/scene.h, include/datoviz/scene/types.h
Fly 1 0 include/datoviz/scene/fly.h
Font 2 1 include/datoviz/scene/text.h, include/datoviz/scene/types.h
Font Atlas 4 0 include/datoviz/scene/text.h
Format 1 1 include/datoviz/scene/scale.h, include/datoviz/scene/types.h
Grid 8 3 3 headers
Guide 0 6 include/datoviz/scene/types.h
Guide Line 4 2 include/datoviz/scene/plot.h, include/datoviz/scene/types.h
Guide Span 4 2 include/datoviz/scene/plot.h, include/datoviz/scene/types.h
Horizontal 0 1 include/datoviz/scene/enums.h
Hover 6 3 include/datoviz/scene/interaction.h, include/datoviz/scene/types.h
Interaction 7 1 include/datoviz/scene/interaction.h, include/datoviz/scene/types.h
Item 6 6 3 headers
Label 1 1 include/datoviz/scene/annotation.h, include/datoviz/scene/types.h
Legend 9 3 3 headers
Link 2 1 include/datoviz/scene/interaction.h, include/datoviz/scene/types.h
Orientation 4 2 include/datoviz/scene.h, include/datoviz/scene/types.h
Overlay 3 2 include/datoviz/scene/overlay.h, include/datoviz/scene/types.h
Overlay Card 11 5 include/datoviz/scene/overlay.h, include/datoviz/scene/types.h
Panel 61 19 5 headers
Panzoom 1 0 include/datoviz/scene/panzoom.h
Pinned 3 1 include/datoviz/scene/interaction.h, include/datoviz/scene/types.h
Placement 3 2 3 headers
Plot 0 1 include/datoviz/scene/types.h
Query 1 7 3 headers
Rect 0 1 include/datoviz/scene/types.h
Reference Grid 4 3 3 headers
Rendered 0 2 include/datoviz/scene/types.h
Sampled Field 9 9 include/datoviz/scene/field.h, include/datoviz/scene/types.h
Scale 15 4 3 headers
Scale Bar 9 4 3 headers
Scene 34 13 5 headers
Select 0 1 include/datoviz/scene/enums.h
Selection 9 4 include/datoviz/scene/interaction.h, include/datoviz/scene/types.h
Text 20 8 3 headers
Text Atlas 4 6 include/datoviz/scene/text.h, include/datoviz/scene/types.h
Time 0 1 include/datoviz/scene/types.h
Timer 0 1 include/datoviz/scene/animation.h
Timestamp 0 1 include/datoviz/scene/types.h
Track 14 13 include/datoviz/scene/animation.h
Transform 1 2 include/datoviz/scene/animation.h
Turntable 1 0 include/datoviz/scene/turntable.h
Unit 4 3 include/datoviz/scene/scale.h, include/datoviz/scene/types.h
Units 6 1 include/datoviz/scene/scale.h, include/datoviz/scene/types.h
Vertical 0 1 include/datoviz/scene/enums.h
Grouped function index

Anim

Function Header
dvz_anim_camera_motion() include/datoviz/scene/animation.h
dvz_anim_destroy() include/datoviz/scene/animation.h
dvz_anim_phase() include/datoviz/scene/animation.h
dvz_anim_phase_desc() include/datoviz/scene/animation.h
dvz_anim_phase_set_value() include/datoviz/scene/animation.h
dvz_anim_set_interaction_policy() include/datoviz/scene/animation.h
dvz_anim_set_speed() include/datoviz/scene/animation.h
dvz_anim_start() include/datoviz/scene/animation.h
dvz_anim_stop() include/datoviz/scene/animation.h
dvz_anim_timer() include/datoviz/scene/animation.h
dvz_anim_timer_desc() include/datoviz/scene/animation.h
dvz_anim_track() include/datoviz/scene/animation.h
dvz_anim_visual_transform() include/datoviz/scene/animation.h

Annotation

Function Header
dvz_annotation() include/datoviz/scene/annotation.h
dvz_annotation_desc() include/datoviz/scene/annotation.h
dvz_annotation_destroy() include/datoviz/scene/annotation.h
dvz_annotation_id() include/datoviz/scene/annotation.h
dvz_annotation_label() include/datoviz/scene/annotation.h
dvz_annotation_set_format() include/datoviz/scene/annotation.h
dvz_annotation_set_placement() include/datoviz/scene/annotation.h
dvz_annotation_set_style() include/datoviz/scene/annotation.h

Arcball

Function Header
dvz_arcball() include/datoviz/scene/arcball.h

Axis

Function Header
dvz_axis_clear_ticks() include/datoviz/scene.h
dvz_axis_set_datetime() include/datoviz/scene.h
dvz_axis_set_datetime_range() include/datoviz/scene.h
dvz_axis_set_grid() include/datoviz/scene.h
dvz_axis_set_label() include/datoviz/scene.h
dvz_axis_set_plot_margins() include/datoviz/scene.h
dvz_axis_set_style() include/datoviz/scene.h
dvz_axis_set_tick_policy() include/datoviz/scene.h
dvz_axis_set_ticks() include/datoviz/scene.h
dvz_axis_set_units() include/datoviz/scene.h
dvz_axis_set_visible() include/datoviz/scene.h
dvz_axis_style() include/datoviz/scene.h
dvz_axis_tick_policy() include/datoviz/scene.h

Camera

Function Header
dvz_camera_motion_desc() include/datoviz/scene/animation.h

Colorbar

Function Header
dvz_colorbar() include/datoviz/scene/scale.h
dvz_colorbar_clear_ticks() include/datoviz/scene/scale.h
dvz_colorbar_desc() include/datoviz/scene/scale.h
dvz_colorbar_destroy() include/datoviz/scene/scale.h
dvz_colorbar_id() include/datoviz/scene/scale.h
dvz_colorbar_set_anchor() include/datoviz/scene/scale.h
dvz_colorbar_set_format() include/datoviz/scene/scale.h
dvz_colorbar_set_layout() include/datoviz/scene/scale.h
dvz_colorbar_set_orientation() include/datoviz/scene/scale.h
dvz_colorbar_set_ticks() include/datoviz/scene/scale.h
dvz_colorbar_set_title() include/datoviz/scene/scale.h
dvz_colorbar_ticks() include/datoviz/scene/scale.h

Colormap

Function Header
dvz_colormap() include/datoviz/scene/scale.h
dvz_colormap_builtin() include/datoviz/scene/scale.h
dvz_colormap_builtin_sample() include/datoviz/scene/scale.h
dvz_colormap_custom() include/datoviz/scene/scale.h
dvz_colormap_desc() include/datoviz/scene/scale.h
dvz_colormap_destroy() include/datoviz/scene/scale.h
dvz_colormap_id() include/datoviz/scene/scale.h
dvz_colormap_sample() include/datoviz/scene/scale.h
dvz_colormap_set_center() include/datoviz/scene/scale.h
dvz_colormap_set_stops() include/datoviz/scene/scale.h

Controller

Function Header
dvz_controller_arcball() include/datoviz/scene.h
dvz_controller_destroy() include/datoviz/scene.h
dvz_controller_fly() include/datoviz/scene.h
dvz_controller_id() include/datoviz/scene.h
dvz_controller_link() include/datoviz/scene.h
dvz_controller_link_destroy() include/datoviz/scene.h
dvz_controller_panzoom() include/datoviz/scene.h
dvz_controller_turntable() include/datoviz/scene.h
dvz_controller_type() include/datoviz/scene.h

Datetime

Function Header
dvz_datetime_format_builtin() include/datoviz/scene/scale.h
dvz_datetime_format_create() include/datoviz/scene/scale.h
dvz_datetime_format_rule() include/datoviz/scene/scale.h
dvz_datetime_format_timezone() include/datoviz/scene/scale.h

Field

Function Header
dvz_field_data_view() include/datoviz/scene/field.h
dvz_field_geometry() include/datoviz/scene/field.h

Figure

Function Header
dvz_figure() include/datoviz/scene.h
dvz_figure_add_compute() include/datoviz/scene.h
dvz_figure_color_pipeline() include/datoviz/scene.h
dvz_figure_destroy() include/datoviz/scene.h
dvz_figure_emit_frame() include/datoviz/scene.h
dvz_figure_get_reserve() include/datoviz/scene.h
dvz_figure_grid() include/datoviz/scene.h
dvz_figure_id() include/datoviz/scene.h
dvz_figure_process_queries() include/datoviz/scene.h
dvz_figure_remove_compute() include/datoviz/scene.h
dvz_figure_resize() include/datoviz/scene.h
dvz_figure_scene() include/datoviz/scene.h
dvz_figure_set_color_pipeline() include/datoviz/scene.h
dvz_figure_set_reserve() include/datoviz/scene.h
dvz_figure_size() include/datoviz/scene.h
dvz_figure_validate() include/datoviz/scene.h
dvz_figure_window_to_layout() include/datoviz/scene.h

Fly

Function Header
dvz_fly() include/datoviz/scene/fly.h

Font

Function Header
dvz_font() include/datoviz/scene/text.h
dvz_font_destroy() include/datoviz/scene/text.h

Font Atlas

Function Header
dvz_font_atlas() include/datoviz/scene/text.h
dvz_font_atlas_ensure() include/datoviz/scene/text.h
dvz_font_atlas_ensure_string() include/datoviz/scene/text.h
dvz_font_atlas_ensure_strings() include/datoviz/scene/text.h

Format

Function Header
dvz_format_desc() include/datoviz/scene/scale.h

Grid

Function Header
dvz_grid_destroy() include/datoviz/scene.h
dvz_grid_panel() include/datoviz/scene.h
dvz_grid_panel_span() include/datoviz/scene.h
dvz_grid_resolve() include/datoviz/scene.h
dvz_grid_set_col_size() include/datoviz/scene.h
dvz_grid_set_gutter() include/datoviz/scene.h
dvz_grid_set_margins() include/datoviz/scene.h
dvz_grid_set_row_size() include/datoviz/scene.h

Guide Line

Function Header
dvz_guide_line() include/datoviz/scene/plot.h
dvz_guide_line_desc() include/datoviz/scene/plot.h
dvz_guide_line_set_value() include/datoviz/scene/plot.h
dvz_guide_line_visual() include/datoviz/scene/plot.h

Guide Span

Function Header
dvz_guide_span() include/datoviz/scene/plot.h
dvz_guide_span_desc() include/datoviz/scene/plot.h
dvz_guide_span_set_range() include/datoviz/scene/plot.h
dvz_guide_span_visual() include/datoviz/scene/plot.h

Hover

Function Header
dvz_hover() include/datoviz/scene/interaction.h
dvz_hover_apply_query() include/datoviz/scene/interaction.h
dvz_hover_clear() include/datoviz/scene/interaction.h
dvz_hover_desc() include/datoviz/scene/interaction.h
dvz_hover_destroy() include/datoviz/scene/interaction.h
dvz_hover_set_visual_style() include/datoviz/scene/interaction.h

Interaction

Function Header
dvz_interaction() include/datoviz/scene/interaction.h
dvz_interaction_bind_panel() include/datoviz/scene/interaction.h
dvz_interaction_destroy() include/datoviz/scene/interaction.h
dvz_interaction_set_auto_pin_readout() include/datoviz/scene/interaction.h
dvz_interaction_set_link_channel() include/datoviz/scene/interaction.h
dvz_interaction_set_query_hit_policy() include/datoviz/scene/interaction.h
dvz_interaction_set_selection() include/datoviz/scene/interaction.h

Item

Function Header
dvz_item_interaction() include/datoviz/scene/interaction.h
dvz_item_interaction_desc() include/datoviz/scene/interaction.h
dvz_item_interaction_destroy() include/datoviz/scene/interaction.h
dvz_item_interaction_hover() include/datoviz/scene/interaction.h
dvz_item_interaction_selection() include/datoviz/scene/interaction.h
dvz_item_state_visual_style() include/datoviz/scene/interaction.h

Label

Function Header
dvz_label_desc() include/datoviz/scene/annotation.h

Legend

Function Header
dvz_legend() include/datoviz/scene/scale.h
dvz_legend_clear_highlight() include/datoviz/scene/scale.h
dvz_legend_desc() include/datoviz/scene/scale.h
dvz_legend_destroy() include/datoviz/scene/scale.h
dvz_legend_id() include/datoviz/scene/scale.h
dvz_legend_set_highlight() include/datoviz/scene/scale.h
dvz_legend_set_highlights() include/datoviz/scene/scale.h
dvz_legend_set_layout() include/datoviz/scene/scale.h
dvz_legend_set_title() include/datoviz/scene/scale.h

Link

Function Header
dvz_link_channel() include/datoviz/scene/interaction.h
dvz_link_channel_destroy() include/datoviz/scene/interaction.h

Orientation

Function Header
dvz_orientation_gizmo() include/datoviz/scene.h
dvz_orientation_gizmo_desc() include/datoviz/scene.h
dvz_orientation_gizmo_destroy() include/datoviz/scene.h
dvz_orientation_gizmo_set_visible() include/datoviz/scene.h

Overlay

Function Header
dvz_overlay() include/datoviz/scene/overlay.h
dvz_overlay_destroy() include/datoviz/scene/overlay.h
dvz_overlay_rich_text_desc() include/datoviz/scene/overlay.h

Overlay Card

Function Header
dvz_overlay_card() include/datoviz/scene/overlay.h
dvz_overlay_card_clear_rich_text() include/datoviz/scene/overlay.h
dvz_overlay_card_desc() include/datoviz/scene/overlay.h
dvz_overlay_card_destroy() include/datoviz/scene/overlay.h
dvz_overlay_card_set_layout() include/datoviz/scene/overlay.h
dvz_overlay_card_set_placement() include/datoviz/scene/overlay.h
dvz_overlay_card_set_rich_text() include/datoviz/scene/overlay.h
dvz_overlay_card_set_style() include/datoviz/scene/overlay.h
dvz_overlay_card_set_text() include/datoviz/scene/overlay.h
dvz_overlay_card_set_visible() include/datoviz/scene/overlay.h
dvz_overlay_card_style() include/datoviz/scene/overlay.h

Panel

Function Header
dvz_panel() include/datoviz/scene.h
dvz_panel_add_composite() include/datoviz/scene.h
dvz_panel_add_visual() include/datoviz/scene.h
dvz_panel_axes_2d_desc() include/datoviz/scene.h
dvz_panel_axis() include/datoviz/scene.h
dvz_panel_background() include/datoviz/scene.h
dvz_panel_background_desc() include/datoviz/scene.h
dvz_panel_bind_controller() include/datoviz/scene.h
dvz_panel_border() include/datoviz/scene.h
dvz_panel_border_desc() include/datoviz/scene.h
dvz_panel_bounds() include/datoviz/scene.h
dvz_panel_bounds_visible() include/datoviz/scene.h
dvz_panel_camera() include/datoviz/scene/camera.h
dvz_panel_clear_background() include/datoviz/scene.h
dvz_panel_clear_border() include/datoviz/scene.h
dvz_panel_clear_view2d() include/datoviz/scene.h
dvz_panel_connect_input() include/datoviz/scene.h
dvz_panel_controller() include/datoviz/scene.h
dvz_panel_data_to_position() include/datoviz/scene.h
dvz_panel_desc() include/datoviz/scene.h
dvz_panel_destroy() include/datoviz/scene.h
dvz_panel_frame_contribution() include/datoviz/scene.h
dvz_panel_frame_contribution_count() include/datoviz/scene.h
dvz_panel_frame_guide_count() include/datoviz/scene.h
dvz_panel_frame_guide_hit() include/datoviz/scene.h
dvz_panel_frame_guide_layout() include/datoviz/scene.h
dvz_panel_frame_id() include/datoviz/scene.h
dvz_panel_frame_info() include/datoviz/scene.h
dvz_panel_frame_ref() include/datoviz/scene.h
dvz_panel_frame_unref() include/datoviz/scene.h
dvz_panel_full() include/datoviz/scene.h
dvz_panel_get_padding() include/datoviz/scene.h
dvz_panel_get_reserve() include/datoviz/scene.h
dvz_panel_id() include/datoviz/scene.h
dvz_panel_inner_rect_px() include/datoviz/scene.h
dvz_panel_plot_rect_px() include/datoviz/scene.h
dvz_panel_position_to_data() include/datoviz/scene.h
dvz_panel_query_data() include/datoviz/scene.h
dvz_panel_query_now_px() include/datoviz/scene/interaction.h
dvz_panel_query_px() include/datoviz/scene/interaction.h
dvz_panel_resolve_frame() include/datoviz/scene.h
dvz_panel_set_axes_2d() include/datoviz/scene.h
dvz_panel_set_background() include/datoviz/scene.h
dvz_panel_set_background_color() include/datoviz/scene.h
dvz_panel_set_border() include/datoviz/scene.h
dvz_panel_set_bounds_visible() include/datoviz/scene.h
dvz_panel_set_camera_desc() include/datoviz/scene/camera.h
dvz_panel_set_desc() include/datoviz/scene.h
dvz_panel_set_domain() include/datoviz/scene.h
dvz_panel_set_padding() include/datoviz/scene.h
dvz_panel_set_reserve() include/datoviz/scene.h
dvz_panel_set_view2d() include/datoviz/scene.h
dvz_panel_set_view3d_desc() include/datoviz/scene.h
dvz_panel_transform_point() include/datoviz/scene.h
dvz_panel_view2d_desc() include/datoviz/scene.h
dvz_panel_view2d_extent() include/datoviz/scene.h
dvz_panel_view2d_state() include/datoviz/scene.h
dvz_panel_view3d_desc() include/datoviz/scene.h
dvz_panel_view3d_state() include/datoviz/scene.h
dvz_panel_visible_domain() include/datoviz/scene.h
dvz_panel_visual_bounds() include/datoviz/scene.h

Panzoom

Function Header
dvz_panzoom() include/datoviz/scene/panzoom.h

Pinned

Function Header
dvz_pinned_readout_destroy() include/datoviz/scene/interaction.h
dvz_pinned_readout_query() include/datoviz/scene/interaction.h
dvz_pinned_readout_set_format() include/datoviz/scene/interaction.h

Placement

Function Header
dvz_placement() include/datoviz/scene.h
dvz_placement_panel_corner() include/datoviz/scene.h
dvz_placement_resolve() include/datoviz/scene.h

Query

Function Header
dvz_query_request() include/datoviz/scene/interaction.h

Reference Grid

Function Header
dvz_reference_grid() include/datoviz/scene.h
dvz_reference_grid_desc() include/datoviz/scene.h
dvz_reference_grid_destroy() include/datoviz/scene.h
dvz_reference_grid_set_visible() include/datoviz/scene.h

Sampled Field

Function Header
dvz_sampled_field() include/datoviz/scene/field.h
dvz_sampled_field_desc() include/datoviz/scene/field.h
dvz_sampled_field_destroy() include/datoviz/scene/field.h
dvz_sampled_field_id() include/datoviz/scene/field.h
dvz_sampled_field_info() include/datoviz/scene/field.h
dvz_sampled_field_resize() include/datoviz/scene/field.h
dvz_sampled_field_set_data() include/datoviz/scene/field.h
dvz_sampled_field_set_geometry() include/datoviz/scene/field.h
dvz_sampled_field_update_region() include/datoviz/scene/field.h

Scale

Function Header
dvz_scale() include/datoviz/scene/scale.h
dvz_scale_category() include/datoviz/scene/scale.h
dvz_scale_category_count() include/datoviz/scene/scale.h
dvz_scale_desc() include/datoviz/scene/scale.h
dvz_scale_destroy() include/datoviz/scene/scale.h
dvz_scale_domain() include/datoviz/scene/scale.h
dvz_scale_id() include/datoviz/scene/scale.h
dvz_scale_remove_categories() include/datoviz/scene/scale.h
dvz_scale_set_categories() include/datoviz/scene/scale.h
dvz_scale_set_colormap() include/datoviz/scene/scale.h
dvz_scale_set_domain() include/datoviz/scene/scale.h
dvz_scale_set_format() include/datoviz/scene/scale.h
dvz_scale_set_view_range() include/datoviz/scene/scale.h
dvz_scale_update_categories() include/datoviz/scene/scale.h
dvz_scale_view_range() include/datoviz/scene/scale.h

Scale Bar

Function Header
dvz_scale_bar() include/datoviz/scene/annotation.h
dvz_scale_bar_desc() include/datoviz/scene/annotation.h
dvz_scale_bar_set_anchor() include/datoviz/scene/annotation.h
dvz_scale_bar_set_dimension() include/datoviz/scene/annotation.h
dvz_scale_bar_set_duration_units() include/datoviz/scene/annotation.h
dvz_scale_bar_set_format() include/datoviz/scene/annotation.h
dvz_scale_bar_set_label_style() include/datoviz/scene/annotation.h
dvz_scale_bar_set_placement() include/datoviz/scene/annotation.h
dvz_scale_bar_set_units() include/datoviz/scene/annotation.h

Scene

Function Header
dvz_scene() include/datoviz/scene.h
dvz_scene_buffer() include/datoviz/scene.h
dvz_scene_buffer_desc() include/datoviz/scene.h
dvz_scene_buffer_destroy() include/datoviz/scene.h
dvz_scene_buffer_info() include/datoviz/scene.h
dvz_scene_buffer_resource_key() include/datoviz/scene.h
dvz_scene_buffer_set_data() include/datoviz/scene.h
dvz_scene_clock_dt() include/datoviz/scene/animation.h
dvz_scene_clock_time() include/datoviz/scene/animation.h
dvz_scene_compute() include/datoviz/scene.h
dvz_scene_compute_desc() include/datoviz/scene.h
dvz_scene_compute_destroy() include/datoviz/scene.h
dvz_scene_compute_set_buffer() include/datoviz/scene.h
dvz_scene_compute_set_dispatch() include/datoviz/scene.h
dvz_scene_destroy() include/datoviz/scene.h
dvz_scene_font_defaults() include/datoviz/scene.h
dvz_scene_frame_artifact_destroy() include/datoviz/scene.h
dvz_scene_frame_artifact_frame_index() include/datoviz/scene.h
dvz_scene_frame_artifact_get_packet() include/datoviz/scene.h
dvz_scene_frame_artifact_json() include/datoviz/scene.h
dvz_scene_frame_artifact_resource_version() include/datoviz/scene.h
dvz_scene_frame_artifact_status() include/datoviz/scene.h
dvz_scene_frame_artifact_stream() include/datoviz/scene.h
dvz_scene_has_active_animations() include/datoviz/scene/animation.h
dvz_scene_hover() include/datoviz/scene/interaction.h
dvz_scene_id() include/datoviz/scene.h
dvz_scene_json() include/datoviz/scene.h
dvz_scene_json_destroy() include/datoviz/scene.h
dvz_scene_poll_query() include/datoviz/scene/interaction.h
dvz_scene_set_capabilities() include/datoviz/scene.h
dvz_scene_set_clock_mode() include/datoviz/scene/animation.h
dvz_scene_set_font_defaults() include/datoviz/scene.h
dvz_scene_set_fps() include/datoviz/scene/animation.h
dvz_scene_step_external() include/datoviz/scene/animation.h

Selection

Function Header
dvz_selection() include/datoviz/scene/interaction.h
dvz_selection_apply_query() include/datoviz/scene/interaction.h
dvz_selection_clear() include/datoviz/scene/interaction.h
dvz_selection_copy() include/datoviz/scene/interaction.h
dvz_selection_count() include/datoviz/scene/interaction.h
dvz_selection_desc() include/datoviz/scene/interaction.h
dvz_selection_destroy() include/datoviz/scene/interaction.h
dvz_selection_set_visual_style() include/datoviz/scene/interaction.h
dvz_selection_visual_style() include/datoviz/scene/interaction.h

Text

Function Header
dvz_text() include/datoviz/scene/text.h
dvz_text_destroy() include/datoviz/scene/text.h
dvz_text_id() include/datoviz/scene/text.h
dvz_text_layout() include/datoviz/scene/text.h
dvz_text_placement() include/datoviz/scene/text.h
dvz_text_set_anchors() include/datoviz/scene/text.h
dvz_text_set_angles() include/datoviz/scene/text.h
dvz_text_set_colors() include/datoviz/scene/text.h
dvz_text_set_items() include/datoviz/scene/text.h
dvz_text_set_layout() include/datoviz/scene/text.h
dvz_text_set_offsets() include/datoviz/scene/text.h
dvz_text_set_placement() include/datoviz/scene/text.h
dvz_text_set_position() include/datoviz/scene/text.h
dvz_text_set_positions() include/datoviz/scene/text.h
dvz_text_set_renderer() include/datoviz/scene/text.h
dvz_text_set_sizes() include/datoviz/scene/text.h
dvz_text_set_string() include/datoviz/scene/text.h
dvz_text_set_strings() include/datoviz/scene/text.h
dvz_text_set_style() include/datoviz/scene/text.h
dvz_text_style() include/datoviz/scene/text.h

Text Atlas

Function Header
dvz_text_atlas_field() include/datoviz/scene/text.h
dvz_text_atlas_glyph() include/datoviz/scene/text.h
dvz_text_atlas_info() include/datoviz/scene/text.h
dvz_text_atlas_spec() include/datoviz/scene/text.h

Track

Function Header
dvz_track_circle2() include/datoviz/scene/animation.h
dvz_track_circle2_desc() include/datoviz/scene/animation.h
dvz_track_circle3() include/datoviz/scene/animation.h
dvz_track_circle3_desc() include/datoviz/scene/animation.h
dvz_track_constant() include/datoviz/scene/animation.h
dvz_track_constant_desc() include/datoviz/scene/animation.h
dvz_track_destroy() include/datoviz/scene/animation.h
dvz_track_eval() include/datoviz/scene/animation.h
dvz_track_keyframes() include/datoviz/scene/animation.h
dvz_track_keyframes_desc() include/datoviz/scene/animation.h
dvz_track_linear() include/datoviz/scene/animation.h
dvz_track_linear_desc() include/datoviz/scene/animation.h
dvz_track_rotation() include/datoviz/scene/animation.h
dvz_track_rotation_desc() include/datoviz/scene/animation.h

Transform

Function Header
dvz_transform_motion_desc() include/datoviz/scene/animation.h

Turntable

Function Header
dvz_turntable() include/datoviz/scene/turntable.h

Unit

Function Header
dvz_unit_ladder_add() include/datoviz/scene/scale.h
dvz_unit_ladder_builtin() include/datoviz/scene/scale.h
dvz_unit_ladder_clear() include/datoviz/scene/scale.h
dvz_unit_ladder_create() include/datoviz/scene/scale.h

Units

Function Header
dvz_units_builtin() include/datoviz/scene/scale.h
dvz_units_create() include/datoviz/scene/scale.h
dvz_units_set_data_to_canonical() include/datoviz/scene/scale.h
dvz_units_set_display_mode() include/datoviz/scene/scale.h
dvz_units_set_fixed_label() include/datoviz/scene/scale.h
dvz_units_set_ladder() include/datoviz/scene/scale.h

Anim

Functions

dvz_anim_camera_motion()

Create a camera motion animation.

The camera and tracks referenced by the copied descriptor are borrowed and must outlive the animation.

DvzAnimation * dvz_anim_camera_motion(
    DvzScene * scene,
    DvzCamera * camera,
    const DvzCameraMotionDesc * desc
);
Field Type Description
return DvzAnimation * the scene-owned animation handle, or NULL on validation or allocation failure
scene DvzScene * the scene that owns the returned animation; must not be NULL
camera DvzCamera * borrowed camera whose view is updated; must not be NULL
desc const DvzCameraMotionDesc * optional camera motion descriptor borrowed for the call, or NULL for defaults

Declared in include/datoviz/scene/animation.h:571.

dvz_anim_destroy()

Destroy an animation handle owned by its scene.

This invalidates the scene-owned handle without destroying any borrowed track, visual, camera, controller, callback user data, or the scene itself.

void dvz_anim_destroy(
    DvzAnimation * animation
);
Field Type Description
animation DvzAnimation * animation handle to invalidate, or NULL

Declared in include/datoviz/scene/animation.h:644.

dvz_anim_phase()

Create a wrapped linear phase animation driven by the scene clock.

The descriptor is copied. Its callback and user data are retained until the animation is destroyed, so the caller must keep any objects referenced by them valid for that lifetime.

DvzAnimation * dvz_anim_phase(
    DvzScene * scene,
    const DvzAnimPhaseDesc * desc
);
Field Type Description
return DvzAnimation * the scene-owned animation handle, or NULL on validation or allocation failure
scene DvzScene * the scene that owns the returned animation; must not be NULL
desc const DvzAnimPhaseDesc * phase animation descriptor with a non-NULL callback; must not be NULL

Declared in include/datoviz/scene/animation.h:521.

dvz_anim_phase_desc()

Return a default phase animation descriptor.

DvzAnimPhaseDesc dvz_anim_phase_desc(void);
Field Type Description
return DvzAnimPhaseDesc initialized phase animation descriptor

Related: dvz_anim_phase().

Declared in include/datoviz/scene/animation.h:358.

dvz_anim_phase_set_value()

Set the current value of a phase animation.

DvzResult dvz_anim_phase_set_value(
    DvzAnimation * animation,
    float value
);
Field Type Description
return DvzResult DVZ_OK when the value was accepted, DVZ_ERROR on error
animation DvzAnimation * phase animation handle
value float new phase value, wrapped into the configured interval

Declared in include/datoviz/scene/animation.h:611.

dvz_anim_set_interaction_policy()

Set how an animation responds to an interactive controller.

A non-NULL controller is borrowed until this policy is replaced or cleared and must remain valid for that lifetime.

DvzResult dvz_anim_set_interaction_policy(
    DvzAnimation * animation,
    DvzController * controller,
    DvzAnimInteractionPolicy policy,
    double idle_s
);
Field Type Description
return DvzResult DVZ_OK when the policy was accepted, DVZ_ERROR on error
animation DvzAnimation * animation handle
controller DvzController * borrowed controller to observe, or NULL to clear the policy
policy DvzAnimInteractionPolicy interaction policy
idle_s double idle duration for resume-after-idle policies

Declared in include/datoviz/scene/animation.h:586.

dvz_anim_set_speed()

Set the scalar speed used by phase animations, or the local-time multiplier used by track-backed animations.

DvzResult dvz_anim_set_speed(
    DvzAnimation * animation,
    float speed
);
Field Type Description
return DvzResult DVZ_OK when the speed was accepted, DVZ_ERROR on error
animation DvzAnimation * animation handle
speed float scalar speed in units per second

Declared in include/datoviz/scene/animation.h:601.

dvz_anim_start()

Start or restart an animation at a scene-clock time.

DvzResult dvz_anim_start(
    DvzAnimation * animation,
    double t_start
);
Field Type Description
return DvzResult DVZ_OK when the animation was started, DVZ_ERROR on error
animation DvzAnimation * animation handle
t_start double scene-clock start time, or 0 for immediate start

Declared in include/datoviz/scene/animation.h:622.

dvz_anim_stop()

Stop an animation while keeping the handle valid.

DvzResult dvz_anim_stop(
    DvzAnimation * animation
);
Field Type Description
return DvzResult DVZ_OK when the animation was stopped, DVZ_ERROR on error
animation DvzAnimation * animation handle

Declared in include/datoviz/scene/animation.h:632.

dvz_anim_timer()

Create a timer animation driven by the scene clock.

The descriptor is copied. Its callback and user data are retained until the animation is destroyed, so the caller must keep any objects referenced by them valid for that lifetime.

DvzAnimation * dvz_anim_timer(
    DvzScene * scene,
    const DvzAnimTimerDesc * desc
);
Field Type Description
return DvzAnimation * the scene-owned animation handle, or NULL on validation or allocation failure
scene DvzScene * the scene that owns the returned animation; must not be NULL
desc const DvzAnimTimerDesc * timer animation descriptor with a non-NULL callback; must not be NULL

Declared in include/datoviz/scene/animation.h:508.

dvz_anim_timer_desc()

Return a default timer animation descriptor.

DvzAnimTimerDesc dvz_anim_timer_desc(void);
Field Type Description
return DvzAnimTimerDesc initialized timer animation descriptor

Related: dvz_anim_timer().

Declared in include/datoviz/scene/animation.h:350.

dvz_anim_track()

Create a generic track animation driven by the scene clock.

The track, callback, and user data are retained until the animation is destroyed. The caller must keep the track and any objects referenced by the callback or user data valid for that lifetime.

DvzAnimation * dvz_anim_track(
    DvzScene * scene,
    const DvzTrack * track,
    DvzTrackApplyCallback callback,
    void * user_data
);
Field Type Description
return DvzAnimation * the scene-owned animation handle, or NULL on validation or allocation failure
scene DvzScene * the scene that owns the returned animation; must not be NULL
track const DvzTrack * borrowed track evaluated every frame while active; must not be NULL
callback DvzTrackApplyCallback callback receiving the evaluated value; must not be NULL
user_data void * opaque pointer forwarded to the callback, or NULL

Declared in include/datoviz/scene/animation.h:537.

dvz_anim_visual_transform()

Create a visual-local transform animation.

The visual and any tracks referenced by the copied descriptor are borrowed and must outlive the animation.

DvzAnimation * dvz_anim_visual_transform(
    DvzScene * scene,
    DvzVisual * visual,
    const DvzTransformMotionDesc * desc
);
Field Type Description
return DvzAnimation * the scene-owned animation handle, or NULL on validation or allocation failure
scene DvzScene * the scene that owns the returned animation; must not be NULL
visual DvzVisual * borrowed visual whose retained local transform is updated; must not be NULL
desc const DvzTransformMotionDesc * optional transform motion descriptor borrowed for the call, or NULL for defaults

Declared in include/datoviz/scene/animation.h:555.

Types

DvzAnimInteractionPolicy · enum
enum DvzAnimInteractionPolicy {
    DVZ_ANIM_INTERACTION_CONTINUE = 0,
    DVZ_ANIM_INTERACTION_STOP = 1,
    DVZ_ANIM_INTERACTION_PAUSE = 2,
    DVZ_ANIM_INTERACTION_RESUME_AFTER_IDLE = 3,
};

Declared in include/datoviz/scene/animation.h:103.

DvzAnimPhaseCallback · typedef
typedef void (*)(DvzAnimation *, float, float, void *) DvzAnimPhaseCallback;

Declared in include/datoviz/scene/animation.h:123.

DvzAnimPhaseDesc · record
struct DvzAnimPhaseDesc {
    uint32_t struct_size;
    uint32_t flags;
    float initial;
    float speed;
    float wrap_min;
    float wrap_max;
    DvzAnimPhaseCallback callback;
    void * user_data;
};

Declared in include/datoviz/scene/animation.h:146.

DvzAnimTimerCallback · typedef
typedef void (*)(DvzAnimation *, double, double, uint64_t, void *) DvzAnimTimerCallback;

Declared in include/datoviz/scene/animation.h:120.

DvzAnimTimerDesc · record
struct DvzAnimTimerDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzTimerMode mode;
    double period_s;
    uint32_t max_catch_up;
    DvzAnimTimerCallback callback;
    void * user_data;
};

Declared in include/datoviz/scene/animation.h:159.

DvzAnimation · typedef
typedef struct DvzAnimation DvzAnimation;

Declared in include/datoviz/scene/animation.h:117.

Annotation

Functions

dvz_annotation()

Create a retained annotation object attached to a panel.

DvzAnnotation * dvz_annotation(
    DvzPanel * panel,
    const DvzAnnotationDesc * desc
);
Field Type Description
return DvzAnnotation * the annotation
panel DvzPanel * the panel
desc const DvzAnnotationDesc * the annotation descriptor

Declared in include/datoviz/scene/annotation.h:62.

dvz_annotation_desc()

Return the default annotation descriptor.

DvzAnnotationDesc dvz_annotation_desc(void);
Field Type Description
return DvzAnnotationDesc default annotation descriptor

Related: dvz_annotation().

Declared in include/datoviz/scene/annotation.h:36.

dvz_annotation_destroy()

Destroy a retained annotation object.

Also destroys typed annotation aliases such as DvzScaleBar after casting to DvzAnnotation*.

void dvz_annotation_destroy(
    DvzAnnotation * annotation
);
Field Type Description
annotation DvzAnnotation * the annotation

Declared in include/datoviz/scene/annotation.h:197.

dvz_annotation_id()

Return the scene-local identity of an annotation.

DvzId dvz_annotation_id(
    const DvzAnnotation * annotation
);
Field Type Description
return DvzId the scene-local identity, or DVZ_ID_NONE when annotation is NULL or destroyed
annotation const DvzAnnotation * the annotation

Declared in include/datoviz/scene/annotation.h:71.

dvz_annotation_label()

Create a retained label annotation attached to a panel.

DvzAnnotation * dvz_annotation_label(
    DvzPanel * panel,
    const DvzLabelDesc * desc
);
Field Type Description
return DvzAnnotation * the annotation
panel DvzPanel * the panel
desc const DvzLabelDesc * the label descriptor

Declared in include/datoviz/scene/annotation.h:81.

dvz_annotation_set_format()

Override formatting policy on an annotation.

DvzResult dvz_annotation_set_format(
    DvzAnnotation * annotation,
    const DvzFormatDesc * format
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
annotation DvzAnnotation * the annotation
format const DvzFormatDesc * the format descriptor, or NULL to clear the override

Declared in include/datoviz/scene/annotation.h:207.

dvz_annotation_set_placement()

Set the placement policy of a retained annotation.

DvzResult dvz_annotation_set_placement(
    DvzAnnotation * annotation,
    const DvzTextPlacement * placement
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
annotation DvzAnnotation * the annotation
placement const DvzTextPlacement * text placement, or NULL for defaults

Declared in include/datoviz/scene/annotation.h:102.

dvz_annotation_set_style()

Set the style of a retained annotation.

DvzResult dvz_annotation_set_style(
    DvzAnnotation * annotation,
    const DvzTextStyle * style
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
annotation DvzAnnotation * the annotation
style const DvzTextStyle * text style, or NULL for defaults

Declared in include/datoviz/scene/annotation.h:91.

Types

DvzAnnotation · typedef
typedef struct DvzAnnotation DvzAnnotation;

Declared in include/datoviz/scene/types.h:92.

DvzAnnotationDesc · record
struct DvzAnnotationDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzAnnotationKind kind;
    const char * text;
    uint32_t annotation_flags;
};

Declared in include/datoviz/scene/types.h:1604.

DvzAnnotationKind · enum
enum DvzAnnotationKind {
    DVZ_ANNOTATION_LABEL = 0,
    DVZ_ANNOTATION_CALLOUT = 1,
    DVZ_ANNOTATION_SCALEBAR = 2,
    DVZ_ANNOTATION_DIMENSION = 3,
    DVZ_ANNOTATION_PINNED_READOUT = 4,
};

Declared in include/datoviz/scene/enums.h:688.

Arcball

Functions

dvz_arcball()

Create a scene-owned arcball controller.

DvzController * dvz_arcball(
    DvzScene * scene,
    const DvzArcballDesc * desc
);
Field Type Description
return DvzController * the scene-owned controller handle
scene DvzScene * the scene
desc const DvzArcballDesc * arcball descriptor, or NULL for defaults

Declared in include/datoviz/scene/arcball.h:37.

Axis

Functions

dvz_axis_clear_ticks()

Clear explicit tick positions and labels for one panel-owned axis.

The axis returns to its automatic tick policy after this call.

DvzResult dvz_axis_clear_ticks(
    DvzAxis * axis
);
Field Type Description
return DvzResult DVZ_OK if the axis was updated, DVZ_ERROR otherwise
axis DvzAxis * the axis

Declared in include/datoviz/scene.h:1609.

dvz_axis_set_datetime()

Attach an absolute datetime formatter to one panel-owned axis.

DvzResult dvz_axis_set_datetime(
    DvzAxis * axis,
    DvzDateTimeFormat * format
);
Field Type Description
return DvzResult DVZ_OK if the axis was updated, DVZ_ERROR otherwise
axis DvzAxis * the axis
format DvzDateTimeFormat * datetime format, or NULL to restore numeric/unit formatting

Declared in include/datoviz/scene.h:1659.

dvz_axis_set_datetime_range()

Map compact data coordinates to an absolute datetime interval.

DvzResult dvz_axis_set_datetime_range(
    DvzAxis * axis,
    double data0,
    double data1,
    DvzTimestamp t0,
    DvzTimestamp t1
);
Field Type Description
return DvzResult DVZ_OK if the mapping was updated, DVZ_ERROR otherwise
axis DvzAxis * the axis
data0 double first data coordinate
data1 double second data coordinate
t0 DvzTimestamp timestamp corresponding to data0, in microseconds since Unix epoch UTC
t1 DvzTimestamp timestamp corresponding to data1, in microseconds since Unix epoch UTC

Declared in include/datoviz/scene.h:1672.

dvz_axis_set_grid()

Enable or disable grid lines for one panel-owned axis.

DvzResult dvz_axis_set_grid(
    DvzAxis * axis,
    _Bool visible
);
Field Type Description
return DvzResult DVZ_OK if the axis was updated, DVZ_ERROR otherwise
axis DvzAxis * the axis
visible _Bool whether grid lines are visible

Declared in include/datoviz/scene.h:1562.

dvz_axis_set_label()

Set the label stored on one panel-owned axis.

The active 2D axis path renders this label through the scene text visual pipeline.

DvzResult dvz_axis_set_label(
    DvzAxis * axis,
    const char * label
);
Field Type Description
return DvzResult DVZ_OK if the axis was updated, DVZ_ERROR otherwise
axis DvzAxis * the axis
label const char * label string, or NULL to clear

Declared in include/datoviz/scene.h:1574.

dvz_axis_set_plot_margins()

Set plot-area margins for one panel-owned axis.

Margins are in visual-space units relative to the panel bounds. Defaults are zero to preserve edge-to-edge Datoviz behavior. Nonzero values can reserve space for future tick labels, legends, or other panel adornments.

DvzResult dvz_axis_set_plot_margins(
    DvzAxis * axis,
    float left,
    float right,
    float bottom,
    float top
);
Field Type Description
return DvzResult DVZ_OK if the margins were updated, DVZ_ERROR otherwise
axis DvzAxis * the axis
left float left margin
right float right margin
bottom float bottom margin
top float top margin

Declared in include/datoviz/scene.h:1636.

dvz_axis_set_style()

Set the line and text style for one panel-owned axis.

DvzResult dvz_axis_set_style(
    DvzAxis * axis,
    const DvzAxisStyle * style
);
Field Type Description
return DvzResult DVZ_OK if the axis was updated, DVZ_ERROR otherwise
axis DvzAxis * the axis
style const DvzAxisStyle * axis style, or NULL for defaults

Declared in include/datoviz/scene.h:1619.

dvz_axis_set_tick_policy()

Set the tick policy for one panel-owned axis.

DvzResult dvz_axis_set_tick_policy(
    DvzAxis * axis,
    const DvzAxisTickPolicy * policy
);
Field Type Description
return DvzResult DVZ_OK if the axis was updated, DVZ_ERROR otherwise
axis DvzAxis * the axis
policy const DvzAxisTickPolicy * tick policy, or NULL for defaults

Declared in include/datoviz/scene.h:1584.

dvz_axis_set_ticks()

Set explicit tick positions and optional labels for one panel-owned axis.

Explicit tick values are in panel data coordinates and are rendered in the supplied order. When labels are supplied, Datoviz copies them before this function returns. Passing an empty tick record is valid and renders no ticks, tick labels, or grid lines until explicit ticks are cleared.

DvzResult dvz_axis_set_ticks(
    DvzAxis * axis,
    const DvzAxisTicks * ticks
);
Field Type Description
return DvzResult DVZ_OK if the explicit ticks were stored, DVZ_ERROR otherwise
axis DvzAxis * the axis
ticks const DvzAxisTicks * explicit tick descriptor

Declared in include/datoviz/scene.h:1598.

dvz_axis_set_units()

Attach numeric units to one panel-owned axis.

Tick positions remain in panel data coordinates; labels are formatted through the units object.

DvzResult dvz_axis_set_units(
    DvzAxis * axis,
    DvzUnits * units
);
Field Type Description
return DvzResult DVZ_OK if the axis was updated, DVZ_ERROR otherwise
axis DvzAxis * the axis
units DvzUnits * units object, or NULL to restore plain numeric formatting

Declared in include/datoviz/scene.h:1649.

dvz_axis_set_visible()

Show or hide one panel-owned axis.

DvzResult dvz_axis_set_visible(
    DvzAxis * axis,
    _Bool visible
);
Field Type Description
return DvzResult DVZ_OK if the axis was updated, DVZ_ERROR otherwise
axis DvzAxis * the axis
visible _Bool whether the axis is visible

Declared in include/datoviz/scene.h:1552.

dvz_axis_style()

Return the default axis line and text style.

DvzAxisStyle dvz_axis_style(void);
Field Type Description
return DvzAxisStyle default axis style

Declared in include/datoviz/scene.h:1542.

dvz_axis_tick_policy()

Return the default axis tick policy.

DvzAxisTickPolicy dvz_axis_tick_policy(void);
Field Type Description
return DvzAxisTickPolicy default axis tick policy

Declared in include/datoviz/scene.h:1534.

Types

DvzAxis · typedef
typedef struct DvzAxis DvzAxis;

Declared in include/datoviz/scene/types.h:98.

DvzAxisStyle · record
struct DvzAxisStyle {
    uint32_t struct_size;
    uint32_t flags;
    float spine_width;
    float major_tick_width;
    float minor_tick_width;
    float grid_width;
    float major_tick_length;
    float minor_tick_length;
    float reserve_px;
    float tick_gap_px;
    float label_gap_px;
    float tick_size_px;
    float label_size_px;
    DvzTextRenderer text_renderer;
    float plot_margin_left;
    float plot_margin_right;
    float plot_margin_bottom;
    float plot_margin_top;
    uint8_t[4] spine_color;
    uint8_t[4] major_tick_color;
    uint8_t[4] minor_tick_color;
    uint8_t[4] grid_color;
    _Bool show_spine;
    _Bool show_major_ticks;
    _Bool show_minor_ticks;
    _Bool show_grid;
};

Declared in include/datoviz/scene/types.h:759.

DvzAxisTickPolicy · record
struct DvzAxisTickPolicy {
    uint32_t struct_size;
    uint32_t flags;
    uint32_t target_count;
    float min_pixel_spacing;
    uint32_t minor_per_interval;
};

Declared in include/datoviz/scene/types.h:737.

DvzAxisTicks · record
struct DvzAxisTicks {
    uint32_t struct_size;
    uint32_t flags;
    uint32_t count;
    const double * values;
    const char *const * labels;
};

Declared in include/datoviz/scene/types.h:748.

Blend

Types

DvzBlendMode · enum
enum DvzBlendMode {
    DVZ_BLEND_SOURCE_OVER = 0,
    DVZ_BLEND_ADDITIVE = 1,
};

Declared in include/datoviz/scene/enums.h:233.

Bounds

Types

DvzBounds · record
struct DvzBounds {
    _Bool valid;
    uint32_t dims;
    double[3] min;
    double[3] max;
};

Declared in include/datoviz/scene/types.h:1218.

DvzBoundsSpace · enum
enum DvzBoundsSpace {
    DVZ_BOUNDS_SPACE_VISUAL = 0,
    DVZ_BOUNDS_SPACE_SCREEN = 1,
};

Declared in include/datoviz/scene/types.h:1211.

Camera

Functions

dvz_camera_motion_desc()

Return a default camera motion descriptor.

DvzCameraMotionDesc dvz_camera_motion_desc(void);
Field Type Description
return DvzCameraMotionDesc initialized descriptor

Declared in include/datoviz/scene/animation.h:422.

Types

DvzCameraMotionDesc · record
struct DvzCameraMotionDesc {
    uint32_t struct_size;
    uint32_t flags;
    const DvzTrack * eye;
    const DvzTrack * target;
    DvzCameraUpMode up_mode;
    vec3 up;
    const DvzTrack * up_track;
};

Declared in include/datoviz/scene/animation.h:255.

DvzCameraUpMode · enum
enum DvzCameraUpMode {
    DVZ_CAMERA_UP_FIXED = 0,
    DVZ_CAMERA_UP_WORLD = 1,
    DVZ_CAMERA_UP_TRACK = 2,
};

Declared in include/datoviz/scene/animation.h:95.

Category

Types

DvzCategoryId · typedef
typedef int64_t DvzCategoryId;

Declared in include/datoviz/scene/types.h:104.

Color

Types

DvzColorPipeline · enum
enum DvzColorPipeline {
    DVZ_COLOR_PIPELINE_LINEAR_SRGB = 0,
    DVZ_COLOR_PIPELINE_LEGACY_SRGB_BLEND = 1,
};

Declared in include/datoviz/scene/enums.h:62.

Colorbar

Functions

dvz_colorbar()

Create a panel-attached colorbar bound to a scale.

DvzColorbar * dvz_colorbar(
    DvzPanel * panel,
    DvzScale * scale,
    const DvzColorbarDesc * desc
);
Field Type Description
return DvzColorbar * the colorbar
panel DvzPanel * the panel
scale DvzScale * the scale
desc const DvzColorbarDesc * the colorbar descriptor, or NULL for defaults

Declared in include/datoviz/scene/scale.h:512.

dvz_colorbar_clear_ticks()

Clear explicit tick positions and labels for one colorbar.

DvzResult dvz_colorbar_clear_ticks(
    DvzColorbar * colorbar
);
Field Type Description
return DvzResult DVZ_OK when the colorbar was updated, DVZ_ERROR on error
colorbar DvzColorbar * the colorbar

Declared in include/datoviz/scene/scale.h:602.

dvz_colorbar_desc()

Return the default colorbar descriptor.

DvzColorbarDesc dvz_colorbar_desc(void);
Field Type Description
return DvzColorbarDesc default colorbar descriptor

Related: dvz_colorbar().

Declared in include/datoviz/scene/scale.h:493.

dvz_colorbar_destroy()

Destroy a colorbar.

void dvz_colorbar_destroy(
    DvzColorbar * colorbar
);
Field Type Description
colorbar DvzColorbar * the colorbar

Declared in include/datoviz/scene/scale.h:530.

dvz_colorbar_id()

Return the scene-local identity of a colorbar.

DvzId dvz_colorbar_id(
    const DvzColorbar * colorbar
);
Field Type Description
return DvzId the scene-local identity, or DVZ_ID_NONE when colorbar is NULL or destroyed
colorbar const DvzColorbar * the colorbar

Declared in include/datoviz/scene/scale.h:522.

dvz_colorbar_set_anchor()

Set the colorbar panel-edge anchor.

Panel-left and panel-right anchors use vertical orientation. Panel-top and panel-bottom anchors use horizontal orientation.

DvzResult dvz_colorbar_set_anchor(
    DvzColorbar * colorbar,
    DvzSceneAnchor anchor
);
Field Type Description
return DvzResult DVZ_OK when the anchor was accepted, DVZ_ERROR on error
colorbar DvzColorbar * the colorbar
anchor DvzSceneAnchor the panel-edge anchor

Declared in include/datoviz/scene/scale.h:565.

dvz_colorbar_set_format()

Override formatting policy on a colorbar.

DvzResult dvz_colorbar_set_format(
    DvzColorbar * colorbar,
    const DvzFormatDesc * format
);
Field Type Description
return DvzResult DVZ_OK when the format was accepted, DVZ_ERROR on error
colorbar DvzColorbar * the colorbar
format const DvzFormatDesc * the format descriptor, or NULL to clear the override

Declared in include/datoviz/scene/scale.h:540.

dvz_colorbar_set_layout()

Update colorbar layout and placement parameters.

The descriptor updates orientation, placement mode, anchor, reserve size, geometry gaps, explicit detached placement, colorbar flags, and title when a non-NULL title is supplied. Attached colorbar anchors must match the requested orientation.

DvzResult dvz_colorbar_set_layout(
    DvzColorbar * colorbar,
    const DvzColorbarDesc * desc
);
Field Type Description
return DvzResult DVZ_OK when the layout was accepted, DVZ_ERROR on error
colorbar DvzColorbar * the colorbar
desc const DvzColorbarDesc * layout descriptor

Declared in include/datoviz/scene/scale.h:579.

dvz_colorbar_set_orientation()

Set the colorbar orientation.

DvzResult dvz_colorbar_set_orientation(
    DvzColorbar * colorbar,
    DvzColorbarOrientation orientation
);
Field Type Description
return DvzResult DVZ_OK when the orientation was accepted, DVZ_ERROR on error
colorbar DvzColorbar * the colorbar
orientation DvzColorbarOrientation the orientation

Declared in include/datoviz/scene/scale.h:551.

dvz_colorbar_set_ticks()

Set explicit tick positions and optional labels for one colorbar.

Tick values are scalar-domain values. Labels are copied when supplied; when labels is NULL, colorbar formatting is used.

DvzResult dvz_colorbar_set_ticks(
    DvzColorbar * colorbar,
    const DvzColorbarTicks * ticks
);
Field Type Description
return DvzResult DVZ_OK when the explicit ticks were stored, DVZ_ERROR on error
colorbar DvzColorbar * the colorbar
ticks const DvzColorbarTicks * explicit tick descriptor

Declared in include/datoviz/scene/scale.h:592.

dvz_colorbar_set_title()

Set the colorbar title.

DvzResult dvz_colorbar_set_title(
    DvzColorbar * colorbar,
    const char * title
);
Field Type Description
return DvzResult DVZ_OK when the title was accepted, DVZ_ERROR on error
colorbar DvzColorbar * the colorbar
title const char * the title, or NULL to clear

Declared in include/datoviz/scene/scale.h:612.

dvz_colorbar_ticks()

Return the default explicit colorbar tick descriptor.

DvzColorbarTicks dvz_colorbar_ticks(void);
Field Type Description
return DvzColorbarTicks default explicit colorbar tick descriptor

Declared in include/datoviz/scene/scale.h:501.

Types

DvzColorbar · typedef
typedef struct DvzColorbar DvzColorbar;

Declared in include/datoviz/scene/types.h:84.

DvzColorbarDesc · record
struct DvzColorbarDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzColorbarPlacementMode placement_mode;
    DvzColorbarOrientation orientation;
    DvzSceneAnchor anchor;
    const char * title;
    float reserve_px;
    float ramp_width_px;
    float edge_offset_px;
    float plot_gap_px;
    float tick_length_px;
    float label_gap_px;
    DvzTextRenderer text_renderer;
    DvzPlacement placement;
    uint32_t colorbar_flags;
};

Declared in include/datoviz/scene/types.h:1445.

DvzColorbarOrientation · enum
enum DvzColorbarOrientation {
    DVZ_COLORBAR_ORIENTATION_VERTICAL = 0,
    DVZ_COLORBAR_ORIENTATION_HORIZONTAL = 1,
};

Declared in include/datoviz/scene/enums.h:584.

DvzColorbarPlacementMode · enum
enum DvzColorbarPlacementMode {
    DVZ_COLORBAR_PLACEMENT_ATTACHED = 0,
    DVZ_COLORBAR_PLACEMENT_DETACHED = 1,
};

Declared in include/datoviz/scene/enums.h:591.

DvzColorbarTicks · record
struct DvzColorbarTicks {
    uint32_t struct_size;
    uint32_t flags;
    uint32_t count;
    const double * values;
    const char *const * labels;
};

Declared in include/datoviz/scene/types.h:1466.

Colormap

Functions

dvz_colormap()

Create a scene-owned colormap object.

DvzColormap * dvz_colormap(
    DvzScene * scene,
    const DvzColormapDesc * desc
);
Field Type Description
return DvzColormap * the colormap
scene DvzScene * the scene
desc const DvzColormapDesc * the colormap descriptor, or NULL for defaults

Declared in include/datoviz/scene/scale.h:377.

dvz_colormap_builtin()

Create a scene-owned built-in colormap object.

DvzColormap * dvz_colormap_builtin(
    DvzScene * scene,
    DvzBuiltinColormap builtin
);
Field Type Description
return DvzColormap * the colormap
scene DvzScene * the scene
builtin DvzBuiltinColormap the built-in colormap selector

Declared in include/datoviz/scene/scale.h:404.

dvz_colormap_builtin_sample()

Sample a built-in colormap at a normalized coordinate.

_Bool dvz_colormap_builtin_sample(
    DvzBuiltinColormap builtin,
    double t,
    DvzColor * out
);
Field Type Description
return _Bool true when a color was written
builtin DvzBuiltinColormap the built-in colormap selector
t double normalized scalar coordinate
out DvzColor * the output RGBA color

Declared in include/datoviz/scene/scale.h:443.

dvz_colormap_custom()

Create a scene-owned custom LUT colormap.

The color array is copied. Samples use linear interpolation between neighboring entries after mapping the normalized scalar coordinate to [0, count - 1].

DvzColormap * dvz_colormap_custom(
    DvzScene * scene,
    const char * label,
    const DvzColor * colors,
    uint32_t count
);
Field Type Description
return DvzColormap * the colormap, or NULL on error
scene DvzScene * the scene
label const char * optional colormap label
colors const DvzColor * RGBA8 lookup table
count uint32_t number of colors in the lookup table

Declared in include/datoviz/scene/scale.h:420.

dvz_colormap_desc()

Return the default colormap descriptor.

DvzColormapDesc dvz_colormap_desc(void);
Field Type Description
return DvzColormapDesc default colormap descriptor

Related: dvz_colormap().

Declared in include/datoviz/scene/scale.h:394.

dvz_colormap_destroy()

Destroy a colormap object.

void dvz_colormap_destroy(
    DvzColormap * colormap
);
Field Type Description
colormap DvzColormap * the colormap

Declared in include/datoviz/scene/scale.h:452.

dvz_colormap_id()

Return the scene-local identity of a colormap.

DvzId dvz_colormap_id(
    const DvzColormap * colormap
);
Field Type Description
return DvzId the scene-local identity, or DVZ_ID_NONE when colormap is NULL or destroyed
colormap const DvzColormap * the colormap

Declared in include/datoviz/scene/scale.h:386.

dvz_colormap_sample()

Sample a scene-owned colormap at a normalized coordinate.

_Bool dvz_colormap_sample(
    const DvzColormap * colormap,
    double t,
    DvzColor * out
);
Field Type Description
return _Bool true when a color was written
colormap const DvzColormap * the colormap, or NULL for grayscale fallback
t double normalized scalar coordinate
out DvzColor * the output RGBA color

Declared in include/datoviz/scene/scale.h:432.

dvz_colormap_set_center()

Set the diverging center on a colormap.

Invalid colormap handles are ignored.

DvzResult dvz_colormap_set_center(
    DvzColormap * colormap,
    double center
);
Field Type Description
return DvzResult DVZ_OK when the center was accepted, DVZ_ERROR on error
colormap DvzColormap * the colormap
center double the semantic center value

Declared in include/datoviz/scene/scale.h:480.

dvz_colormap_set_stops()

Set custom color stops on a colormap.

stops must contain count entries and must not be NULL unless count is zero. The stop array is copied before return. Passing zero entries clears custom stops and restores the built-in or default mapping policy.

DvzResult dvz_colormap_set_stops(
    DvzColormap * colormap,
    const DvzColormapStop * stops,
    uint32_t count
);
Field Type Description
return DvzResult DVZ_OK when the stops were accepted, DVZ_ERROR on error
colormap DvzColormap * the colormap
stops const DvzColormapStop * the color stops
count uint32_t the number of stops

Declared in include/datoviz/scene/scale.h:467.

Types

DvzBuiltinColormap · enum
enum DvzBuiltinColormap {
    DVZ_BUILTIN_COLORMAP_NONE = 0,
    DVZ_BUILTIN_COLORMAP_VIRIDIS = 1,
    DVZ_BUILTIN_COLORMAP_MAGMA = 2,
    DVZ_BUILTIN_COLORMAP_PLASMA = 3,
    DVZ_BUILTIN_COLORMAP_INFERNO = 4,
    DVZ_BUILTIN_COLORMAP_CIVIDIS = 5,
    DVZ_BUILTIN_COLORMAP_TURBO = 6,
    DVZ_BUILTIN_COLORMAP_GRAY = 7,
};

Declared in include/datoviz/scene/enums.h:570.

DvzColormap · typedef
typedef struct DvzColormap DvzColormap;

Declared in include/datoviz/scene/types.h:83.

DvzColormapDesc · record
struct DvzColormapDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzColormapKind kind;
    DvzBuiltinColormap builtin;
    double center;
    const char * label;
};

Declared in include/datoviz/scene/types.h:1433.

DvzColormapKind · enum
enum DvzColormapKind {
    DVZ_COLORMAP_CONTINUOUS = 0,
    DVZ_COLORMAP_CATEGORICAL = 1,
};

Declared in include/datoviz/scene/enums.h:562.

DvzColormapStop · record
struct DvzColormapStop {
    double position;
    uint8_t[4] rgba;
};

Declared in include/datoviz/scene/types.h:1425.

Controller

Functions

dvz_controller_arcball()

Return the arcball payload of an arcball controller.

DvzArcball * dvz_controller_arcball(
    DvzController * controller
);
Field Type Description
return DvzArcball * the borrowed arcball payload, or NULL for the wrong family
controller DvzController * the controller

Declared in include/datoviz/scene.h:443.

dvz_controller_destroy()

Destroy a scene-owned controller.

Panels borrowing the controller are detached. Controller payload accessors return borrowed handles and must not be destroyed separately.

void dvz_controller_destroy(
    DvzController * controller
);
Field Type Description
controller DvzController * the controller

Declared in include/datoviz/scene.h:398.

dvz_controller_fly()

Return the fly payload of a fly controller.

DvzFly * dvz_controller_fly(
    DvzController * controller
);
Field Type Description
return DvzFly * the borrowed fly payload, or NULL for the wrong family
controller DvzController * the controller

Declared in include/datoviz/scene.h:452.

dvz_controller_id()

Return the scene-local identity of a controller.

DvzId dvz_controller_id(
    const DvzController * controller
);
Field Type Description
return DvzId the scene-local identity, or DVZ_ID_NONE when controller is NULL or destroyed
controller const DvzController * the controller

Declared in include/datoviz/scene.h:1081.

Create a scene-owned controller state link.

Links propagate selected semantic state components from a source controller to a distinct target controller in the same scene. The first supported link mode is one-way propagation between controllers of the same family.

DvzControllerLink * dvz_controller_link(
    DvzScene * scene,
    DvzController * source,
    DvzController * target,
    uint32_t components,
    DvzControllerLinkMode mode
);
Field Type Description
return DvzControllerLink * the scene-owned link handle, or NULL on validation error
scene DvzScene * the scene
source DvzController * the source controller
target DvzController * the target controller
components uint32_t bitmask of DvzControllerLinkComponent values
mode DvzControllerLinkMode link propagation mode

Declared in include/datoviz/scene.h:415.

Destroy a scene-owned controller state link.

void dvz_controller_link_destroy(
    DvzControllerLink * link
);
Field Type Description
link DvzControllerLink * the link

Declared in include/datoviz/scene.h:425.

dvz_controller_panzoom()

Return the panzoom payload of a panzoom controller.

DvzPanzoom * dvz_controller_panzoom(
    DvzController * controller
);
Field Type Description
return DvzPanzoom * the borrowed panzoom payload, or NULL for the wrong family
controller DvzController * the controller

Declared in include/datoviz/scene.h:434.

dvz_controller_turntable()

Return the turntable payload of a turntable controller.

DvzTurntable * dvz_controller_turntable(
    DvzController * controller
);
Field Type Description
return DvzTurntable * the borrowed turntable payload, or NULL for the wrong family
controller DvzController * the controller

Declared in include/datoviz/scene.h:461.

dvz_controller_type()

Return the type of a scene-owned controller.

DvzControllerType dvz_controller_type(
    const DvzController * controller
);
Field Type Description
return DvzControllerType the controller type, or DVZ_CONTROLLER_TYPE_NONE
controller const DvzController * the controller

Declared in include/datoviz/scene.h:387.

Types

DvzController · typedef
typedef struct DvzController DvzController;

Declared in include/datoviz/scene/types.h:70.

DvzControllerLink · typedef
typedef struct DvzControllerLink DvzControllerLink;

Declared in include/datoviz/scene/types.h:71.

DvzControllerLinkComponent · enum
enum DvzControllerLinkComponent {
    DVZ_CONTROLLER_LINK_NONE = 0,
    DVZ_CONTROLLER_LINK_ROTATION = 1,
    DVZ_CONTROLLER_LINK_PAN = 2,
    DVZ_CONTROLLER_LINK_ZOOM = 4,
    DVZ_CONTROLLER_LINK_EXTENT_X = 8,
    DVZ_CONTROLLER_LINK_EXTENT_Y = 16,
    DVZ_CONTROLLER_LINK_CAMERA = 32,
};

Declared in include/datoviz/scene/enums.h:202.

DvzControllerLinkMode · enum
enum DvzControllerLinkMode {
    DVZ_CONTROLLER_LINK_ONE_WAY = 0,
    DVZ_CONTROLLER_LINK_TWO_WAY = 1,
};

Declared in include/datoviz/scene/enums.h:214.

DvzControllerMode · enum
enum DvzControllerMode {
    DVZ_CONTROLLER_APPLY = 0,
    DVZ_CONTROLLER_FIXED = 1,
    DVZ_CONTROLLER_APPLY_ISOTROPIC_LOCAL = 2,
    DVZ_CONTROLLER_APPLY_VIEW_PROJ = 3,
};

Declared in include/datoviz/scene/enums.h:192.

DvzControllerType · enum
enum DvzControllerType {
    DVZ_CONTROLLER_TYPE_NONE = 0,
    DVZ_CONTROLLER_TYPE_PANZOOM = 1,
    DVZ_CONTROLLER_TYPE_ARCBALL = 2,
    DVZ_CONTROLLER_TYPE_FLY = 3,
    DVZ_CONTROLLER_TYPE_TURNTABLE = 4,
};

Declared in include/datoviz/scene/types.h:167.

Data

Types

DvzDataDomain · record
struct DvzDataDomain {
    double min;
    double max;
};

Declared in include/datoviz/scene/types.h:649.

Datetime

Functions

dvz_datetime_format_builtin()

Return a scene-owned builtin datetime format.

DvzDateTimeFormat * dvz_datetime_format_builtin(
    DvzScene * scene,
    DvzDateTimeBuiltin builtin
);
Field Type Description
return DvzDateTimeFormat * the format, or NULL on validation/allocation error
scene DvzScene * the scene
builtin DvzDateTimeBuiltin builtin datetime format kind

Declared in include/datoviz/scene/scale.h:145.

dvz_datetime_format_create()

Create a scene-owned datetime format.

DvzDateTimeFormat * dvz_datetime_format_create(
    DvzScene * scene
);
Field Type Description
return DvzDateTimeFormat * the datetime format, or NULL on allocation error
scene DvzScene * the scene

Declared in include/datoviz/scene/scale.h:155.

dvz_datetime_format_rule()

Set the formatting rule for a calendar interval.

DvzResult dvz_datetime_format_rule(
    DvzDateTimeFormat * format,
    DvzTimeInterval interval,
    const char * strftime_format
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
format DvzDateTimeFormat * the datetime format
interval DvzTimeInterval interval kind
strftime_format const char * C strftime-compatible format

Declared in include/datoviz/scene/scale.h:179.

dvz_datetime_format_timezone()

Set the timezone used by a datetime format.

The first v0.4 slice supports only UTC.

DvzResult dvz_datetime_format_timezone(
    DvzDateTimeFormat * format,
    const char * timezone
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
format DvzDateTimeFormat * the datetime format
timezone const char * timezone name

Declared in include/datoviz/scene/scale.h:167.

Types

DvzDateTimeBuiltin · enum
enum DvzDateTimeBuiltin {
    DVZ_DATETIME_FORMAT_CONCISE_UTC = 0,
    DVZ_DATETIME_FORMAT_ISO_UTC = 1,
};

Declared in include/datoviz/scene/types.h:146.

DvzDateTimeFormat · typedef
typedef struct DvzDateTimeFormat DvzDateTimeFormat;

Declared in include/datoviz/scene/types.h:101.

Diagnostic

Types

DvzDiagnosticSeverity · enum
enum DvzDiagnosticSeverity {
    DVZ_DIAGNOSTIC_SEVERITY_FATAL = 0,
    DVZ_DIAGNOSTIC_SEVERITY_RECOVERABLE = 1,
    DVZ_DIAGNOSTIC_SEVERITY_WARNING = 2,
    DVZ_DIAGNOSTIC_SEVERITY_INFO = 3,
};

Declared in include/datoviz/scene/types.h:184.

Dim

Types

DvzDimMask · typedef
typedef uint32_t DvzDimMask;

Declared in include/datoviz/scene/types.h:153.

DvzDimMaskFlag · enum
enum DvzDimMaskFlag {
    DVZ_DIM_MASK_NONE = 0,
    DVZ_DIM_MASK_X = 1,
    DVZ_DIM_MASK_Y = 2,
    DVZ_DIM_MASK_Z = 4,
    DVZ_DIM_MASK_XY = 3,
    DVZ_DIM_MASK_XYZ = 7,
};

Declared in include/datoviz/scene/types.h:156.

Field

Functions

dvz_field_data_view()

Return the default sampled-field data view descriptor.

DvzFieldDataView dvz_field_data_view(void);
Field Type Description
return DvzFieldDataView default sampled-field data view descriptor

Declared in include/datoviz/scene/field.h:183.

dvz_field_geometry()

Return the default sampled-field geometry descriptor.

DvzFieldGeometry dvz_field_geometry(void);
Field Type Description
return DvzFieldGeometry default sampled-field geometry descriptor

Declared in include/datoviz/scene/field.h:175.

Figure

Functions

dvz_figure()

Create a figure (output layout container) owned by the scene.

DvzFigure * dvz_figure(
    DvzScene * scene,
    uint32_t width,
    uint32_t height,
    uint32_t flags
);
Field Type Description
return DvzFigure * the figure
scene DvzScene * the scene
width uint32_t width in logical pixels (0 = inherit from window)
height uint32_t height in logical pixels (0 = inherit from window)
flags uint32_t creation flags

Declared in include/datoviz/scene.h:146.

dvz_figure_add_compute()

Attach a scene compute pass to a figure.

Attached compute passes are emitted before the figure render passes.

DvzResult dvz_figure_add_compute(
    DvzFigure * figure,
    DvzSceneCompute * compute
);
Field Type Description
return DvzResult DVZ_OK on success, DVZ_ERROR on error
figure DvzFigure * the figure
compute DvzSceneCompute * the compute pass

Declared in include/datoviz/scene.h:2369.

dvz_figure_color_pipeline()

Return the figure color pipeline used by app/offscreen rendering.

DvzColorPipeline dvz_figure_color_pipeline(
    const DvzFigure * figure
);
Field Type Description
return DvzColorPipeline the figure color pipeline
figure const DvzFigure * the figure

Declared in include/datoviz/scene.h:258.

dvz_figure_destroy()

Destroy a figure.

void dvz_figure_destroy(
    DvzFigure * figure
);
Field Type Description
figure DvzFigure * the figure

Declared in include/datoviz/scene.h:378.

dvz_figure_emit_frame()

Emit an immutable frame artifact from a retained figure.

The artifact owns the DRP2 command stream snapshot, frozen upload payload bytes, and split packet spans for one frame. Retained scene mutation is legal immediately after successful artifact creation and affects only later artifacts.

DvzSceneFrameArtifact * dvz_figure_emit_frame(
    DvzFigure * figure,
    const DvzCapabilitySnapshot * caps,
    DvzDiagnosticReport * report,
    const DvzFramePlanEmitConfig * cfg
);
Field Type Description
return DvzSceneFrameArtifact * an owned frame artifact, or NULL on failure
figure DvzFigure * the figure
caps const DvzCapabilitySnapshot * the capability snapshot (nullable — defaults applied if NULL)
report DvzDiagnosticReport * output diagnostic report (nullable)
cfg const DvzFramePlanEmitConfig * the emission configuration (nullable — defaults applied if NULL)

Declared in include/datoviz/scene.h:493.

dvz_figure_get_reserve()

Return one figure's current content-area reservation.

_Bool dvz_figure_get_reserve(
    const DvzFigure * figure,
    DvzPanelReserve * out
);
Field Type Description
return _Bool whether the reservation was written
figure const DvzFigure * the figure
out DvzPanelReserve * output pixel reservation

Declared in include/datoviz/scene.h:210.

dvz_figure_grid()

Create a retained grid layout object owned by a figure.

Rows and columns default to weight-based sizing with weight 1.0. Grid margins and gutters default to zero logical pixels.

DvzGrid * dvz_figure_grid(
    DvzFigure * figure,
    uint32_t rows,
    uint32_t cols
);
Field Type Description
return DvzGrid * the grid, or NULL on validation/allocation error
figure DvzFigure * the figure
rows uint32_t number of rows
cols uint32_t number of columns

Declared in include/datoviz/scene.h:272.

dvz_figure_id()

Return the scene-local identity of a figure.

DvzId dvz_figure_id(
    const DvzFigure * figure
);
Field Type Description
return DvzId the scene-local identity, or DVZ_ID_NONE when figure is NULL
figure const DvzFigure * the figure

Declared in include/datoviz/scene.h:156.

dvz_figure_process_queries()

Execute queued query requests for one figure through the DRP2 runtime.

uint32_t dvz_figure_process_queries(
    DvzFigure * figure,
    DvzDrp2Runtime * runtime,
    const DvzCapabilitySnapshot * caps
);
Field Type Description
return uint32_t the number of requests that were consumed from the scene queues
figure DvzFigure * the figure
runtime DvzDrp2Runtime * the DRP2 runtime
caps const DvzCapabilitySnapshot * the capability snapshot, or NULL for defaults

Declared in include/datoviz/scene.h:586.

dvz_figure_remove_compute()

Detach a scene compute pass from a figure.

DvzResult dvz_figure_remove_compute(
    DvzFigure * figure,
    DvzSceneCompute * compute
);
Field Type Description
return DvzResult DVZ_OK on success, DVZ_ERROR on error
figure DvzFigure * the figure
compute DvzSceneCompute * the compute pass

Declared in include/datoviz/scene.h:2379.

dvz_figure_resize()

Update a figure logical size.

DvzResult dvz_figure_resize(
    DvzFigure * figure,
    uint32_t width,
    uint32_t height
);
Field Type Description
return DvzResult DVZ_OK when the size was accepted, DVZ_ERROR on error
figure DvzFigure * the figure
width uint32_t width in logical pixels
height uint32_t height in logical pixels

Declared in include/datoviz/scene.h:176.

dvz_figure_scene()

Return the scene that owns a figure.

DvzScene * dvz_figure_scene(
    DvzFigure * figure
);
Field Type Description
return DvzScene * the owning scene, or NULL
figure DvzFigure * the figure

Declared in include/datoviz/scene.h:165.

dvz_figure_set_color_pipeline()

Set the figure color pipeline used by app/offscreen rendering.

The default is DVZ_COLOR_PIPELINE_LINEAR_SRGB. DVZ_COLOR_PIPELINE_LEGACY_SRGB_BLEND is an opt-in compatibility mode that blends semantic sRGB colors in display space.

DvzResult dvz_figure_set_color_pipeline(
    DvzFigure * figure,
    DvzColorPipeline pipeline
);
Field Type Description
return DvzResult DVZ_OK when the pipeline was accepted, DVZ_ERROR on error
figure DvzFigure * the figure
pipeline DvzColorPipeline the color pipeline

Declared in include/datoviz/scene.h:248.

dvz_figure_set_reserve()

Set a fixed logical-pixel reservation around one figure's content area.

Panels and grids resolve inside the remaining content rectangle. Pass NULL to reset every side to zero.

DvzResult dvz_figure_set_reserve(
    DvzFigure * figure,
    const DvzPanelReserve * reserve
);
Field Type Description
return DvzResult DVZ_OK if the reservation was accepted, DVZ_ERROR otherwise
figure DvzFigure * the figure
reserve const DvzPanelReserve * pixel reservation descriptor, or NULL for zero reserve

Declared in include/datoviz/scene.h:200.

dvz_figure_size()

Return a figure logical size.

void dvz_figure_size(
    const DvzFigure * figure,
    uint32_t * out_width,
    uint32_t * out_height
);
Field Type Description
figure const DvzFigure * the figure
out_width uint32_t * output width in logical pixels, may be NULL
out_height uint32_t * output height in logical pixels, may be NULL

Declared in include/datoviz/scene.h:187.

dvz_figure_validate()

Validate retained figure state without emitting a frame.

This checks panel layout, panel attachments, visual-local invariants, and retained scene rules that can be evaluated without backend resources. Pass NULL for caps to use default capabilities.

_Bool dvz_figure_validate(
    const DvzFigure * figure,
    const DvzCapabilitySnapshot * caps,
    DvzDiagnosticReport * report
);
Field Type Description
return _Bool whether the retained figure state is valid
figure const DvzFigure * the figure
caps const DvzCapabilitySnapshot * optional capability snapshot
report DvzDiagnosticReport * output diagnostic report (nullable)

Declared in include/datoviz/scene.h:476.

dvz_figure_window_to_layout()

Convert a host-window logical pointer position to figure layout coordinates.

Raw input events keep backend/window logical coordinates. Scene, panel, and query helpers use figure layout coordinates. When a valid host-window size is supplied, this function maps the position by the figure/window size ratio; otherwise it falls back to the supplied content scale values, or identity scale when no scale is available.

_Bool dvz_figure_window_to_layout(
    const DvzFigure * figure,
    float window_x,
    float window_y,
    float window_width,
    float window_height,
    float content_scale_x,
    float content_scale_y,
    float * out_x,
    float * out_y
);
Field Type Description
return _Bool whether the output coordinates were written
figure const DvzFigure * the figure
window_x float pointer x position in host-window logical coordinates
window_y float pointer y position in host-window logical coordinates
window_width float logical host-window width, or zero when unknown
window_height float logical host-window height, or zero when unknown
content_scale_x float horizontal content scale fallback
content_scale_y float vertical content scale fallback
out_x float * output x position in figure layout coordinates
out_y float * output y position in figure layout coordinates

Declared in include/datoviz/scene.h:232.

Types

DvzFigure · typedef
typedef struct DvzFigure DvzFigure;

Declared in include/datoviz/scene/types.h:59.

Fly

Functions

dvz_fly()

Create a scene-owned fly camera controller.

DvzController * dvz_fly(
    DvzScene * scene,
    const DvzFlyDesc * desc
);
Field Type Description
return DvzController * the scene-owned controller handle
scene DvzScene * the scene
desc const DvzFlyDesc * fly descriptor, or NULL for defaults

Declared in include/datoviz/scene/fly.h:37.

Font

Functions

dvz_font()

Create a scene-owned font resource.

DvzFont * dvz_font(
    DvzScene * scene,
    const DvzFontDesc * desc
);
Field Type Description
return DvzFont * the font
scene DvzScene * the scene
desc const DvzFontDesc * the font descriptor

Declared in include/datoviz/scene/text.h:69.

dvz_font_destroy()

Destroy a font resource.

void dvz_font_destroy(
    DvzFont * font
);
Field Type Description
font DvzFont * the font

Declared in include/datoviz/scene/text.h:77.

Types

DvzFont · typedef
typedef struct DvzFont DvzFont;

Declared in include/datoviz/scene/types.h:88.

Font Atlas

Functions

dvz_font_atlas()

Return the font atlas matching a spec.

The returned atlas is owned by the font's scene and remains valid until the font or scene is destroyed. When the requested renderer falls back internally, this function returns the fallback atlas.

const DvzTextAtlas * dvz_font_atlas(
    const DvzFont * font,
    const DvzTextAtlasSpec * spec
);
Field Type Description
return const DvzTextAtlas * atlas pointer, or NULL when unavailable
font const DvzFont * the font
spec const DvzTextAtlasSpec * requested atlas spec

Declared in include/datoviz/scene/text.h:137.

dvz_font_atlas_ensure()

Ensure a font has an atlas for Datoviz's default text glyph set.

_Bool dvz_font_atlas_ensure(
    DvzFont * font,
    const DvzTextAtlasSpec * spec
);
Field Type Description
return _Bool true when the atlas is available
font DvzFont * the font
spec const DvzTextAtlasSpec * requested atlas spec

Declared in include/datoviz/scene/text.h:97.

dvz_font_atlas_ensure_string()

Ensure a font has an atlas that covers one UTF-8 string.

_Bool dvz_font_atlas_ensure_string(
    DvzFont * font,
    const DvzTextAtlasSpec * spec,
    const char * string
);
Field Type Description
return _Bool true when the atlas is available
font DvzFont * the font
spec const DvzTextAtlasSpec * requested atlas spec
string const char * the UTF-8 string

Declared in include/datoviz/scene/text.h:109.

dvz_font_atlas_ensure_strings()

Ensure a font has an atlas that covers a list of UTF-8 strings.

_Bool dvz_font_atlas_ensure_strings(
    DvzFont * font,
    const DvzTextAtlasSpec * spec,
    const char *const * strings,
    uint32_t count
);
Field Type Description
return _Bool true when the atlas is available
font DvzFont * the font
spec const DvzTextAtlasSpec * requested atlas spec
strings const char *const * UTF-8 strings
count uint32_t string count

Declared in include/datoviz/scene/text.h:121.

Format

Functions

dvz_format_desc()

Return the default format descriptor.

DvzFormatDesc dvz_format_desc(void);
Field Type Description
return DvzFormatDesc default format descriptor

Declared in include/datoviz/scene/scale.h:188.

Types

DvzFormatDesc · record
struct DvzFormatDesc {
    uint32_t struct_size;
    uint32_t flags;
    int32_t precision;
    _Bool scientific;
    _Bool trim_trailing_zeros;
    _Bool show_unit;
    const char * unit;
    const char * prefix;
    const char * suffix;
};

Declared in include/datoviz/scene/types.h:1229.

Grid

Functions

dvz_grid_destroy()

Destroy a retained figure-owned grid layout object.

Grid-owned panels are detached from the grid and remain valid as free-placement panels at their last resolved descriptors.

void dvz_grid_destroy(
    DvzGrid * grid
);
Field Type Description
grid DvzGrid * the grid

Declared in include/datoviz/scene.h:283.

dvz_grid_panel()

Create a grid-owned panel for one cell.

DvzPanel * dvz_grid_panel(
    DvzGrid * grid,
    uint32_t row,
    uint32_t col
);
Field Type Description
return DvzPanel * the panel, or NULL on validation/allocation error
grid DvzGrid * the grid
row uint32_t zero-based row index
col uint32_t zero-based column index

Declared in include/datoviz/scene.h:356.

dvz_grid_panel_span()

Create a grid-owned panel spanning contiguous cells.

DvzPanel * dvz_grid_panel_span(
    DvzGrid * grid,
    uint32_t row,
    uint32_t col,
    uint32_t row_span,
    uint32_t col_span
);
Field Type Description
return DvzPanel * the panel, or NULL on validation/allocation error
grid DvzGrid * the grid
row uint32_t zero-based origin row index
col uint32_t zero-based origin column index
row_span uint32_t number of rows covered by the panel
col_span uint32_t number of columns covered by the panel

Declared in include/datoviz/scene.h:369.

dvz_grid_resolve()

Resolve one grid cell into a normalized figure-content panel rectangle.

_Bool dvz_grid_resolve(
    const DvzGrid * grid,
    uint32_t width,
    uint32_t height,
    DvzGridCell cell,
    DvzPanelDesc * out
);
Field Type Description
return _Bool whether the cell was resolved
grid const DvzGrid * the grid
width uint32_t figure width in logical pixels
height uint32_t figure height in logical pixels
cell DvzGridCell zero-based cell and span
out DvzPanelDesc * output normalized panel rectangle

Declared in include/datoviz/scene.h:343.

dvz_grid_set_col_size()

Set one grid column size.

DvzResult dvz_grid_set_col_size(
    DvzGrid * grid,
    uint32_t col,
    DvzGridSizeMode mode,
    float value
);
Field Type Description
return DvzResult DVZ_OK if the size was accepted, DVZ_ERROR otherwise
grid DvzGrid * the grid
col uint32_t zero-based column index
mode DvzGridSizeMode size mode
value float weight or fixed logical-pixel size

Declared in include/datoviz/scene.h:317.

dvz_grid_set_gutter()

Set fixed logical-pixel gutters between grid columns and rows.

DvzResult dvz_grid_set_gutter(
    DvzGrid * grid,
    float x_px,
    float y_px
);
Field Type Description
return DvzResult DVZ_OK if the gutters were accepted, DVZ_ERROR otherwise
grid DvzGrid * the grid
x_px float horizontal gutter in logical pixels
y_px float vertical gutter in logical pixels

Declared in include/datoviz/scene.h:304.

dvz_grid_set_margins()

Set fixed logical-pixel margins around one grid.

DvzResult dvz_grid_set_margins(
    DvzGrid * grid,
    const DvzPanelReserve * margins
);
Field Type Description
return DvzResult DVZ_OK if the margins were accepted, DVZ_ERROR otherwise
grid DvzGrid * the grid
margins const DvzPanelReserve * grid margins, or NULL for zero margins

Declared in include/datoviz/scene.h:293.

dvz_grid_set_row_size()

Set one grid row size.

DvzResult dvz_grid_set_row_size(
    DvzGrid * grid,
    uint32_t row,
    DvzGridSizeMode mode,
    float value
);
Field Type Description
return DvzResult DVZ_OK if the size was accepted, DVZ_ERROR otherwise
grid DvzGrid * the grid
row uint32_t zero-based row index
mode DvzGridSizeMode size mode
value float weight or fixed logical-pixel size

Declared in include/datoviz/scene.h:330.

Types

DvzGrid · typedef
typedef struct DvzGrid DvzGrid;

Declared in include/datoviz/scene/types.h:60.

DvzGridCell · record
struct DvzGridCell {
    uint32_t row;
    uint32_t col;
    uint32_t row_span;
    uint32_t col_span;
};

Declared in include/datoviz/scene/types.h:323.

DvzGridSizeMode · enum
enum DvzGridSizeMode {
    DVZ_GRID_SIZE_WEIGHT = 0,
    DVZ_GRID_SIZE_FIXED_PX = 1,
};

Declared in include/datoviz/scene/enums.h:69.

Guide

Types

DvzGuideHit · record
struct DvzGuideHit {
    uint32_t struct_size;
    uint32_t flags;
    DvzId snapshot_id;
    DvzId guide_id;
    DvzGuideKind kind;
    DvzGuideRole role;
    DvzGuidePart part;
    DvzRect box_px;
    float[2] point_px;
    double data_value;
    uint32_t item_index;
    _Bool hit;
    _Bool has_data_value;
    _Bool has_item_index;
    char[128] label;
};

Declared in include/datoviz/scene/types.h:601.

DvzGuideKind · enum
enum DvzGuideKind {
    DVZ_GUIDE_KIND_NONE = 0,
    DVZ_GUIDE_KIND_AXIS = 1,
    DVZ_GUIDE_KIND_COLORBAR = 2,
    DVZ_GUIDE_KIND_LEGEND = 3,
    DVZ_GUIDE_KIND_GUIDE_LINE = 4,
    DVZ_GUIDE_KIND_GUIDE_SPAN = 5,
};

Declared in include/datoviz/scene/types.h:525.

DvzGuideLayout · record
struct DvzGuideLayout {
    uint32_t struct_size;
    uint32_t flags;
    DvzId snapshot_id;
    DvzId guide_id;
    DvzGuideKind kind;
    DvzGuideRole role;
    DvzGuidePart part;
    DvzRect box_px;
    float[2] anchor_px;
    double data_value;
    uint32_t item_index;
    _Bool has_box;
    _Bool has_anchor;
    _Bool has_data_value;
    _Bool has_item_index;
    char[128] label;
};

Declared in include/datoviz/scene/types.h:579.

DvzGuideOrientation · enum
enum DvzGuideOrientation {
    DVZ_GUIDE_ORIENTATION_HORIZONTAL = 0,
    DVZ_GUIDE_ORIENTATION_VERTICAL = 1,
};

Declared in include/datoviz/scene/types.h:373.

DvzGuidePart · enum
enum DvzGuidePart {
    DVZ_GUIDE_PART_NONE = 0,
    DVZ_GUIDE_PART_BOX = 1,
    DVZ_GUIDE_PART_LINE = 2,
    DVZ_GUIDE_PART_FILL = 3,
    DVZ_GUIDE_PART_OUTLINE = 4,
    DVZ_GUIDE_PART_TEXT = 5,
    DVZ_GUIDE_PART_RAMP = 6,
    DVZ_GUIDE_PART_TICK = 7,
    DVZ_GUIDE_PART_GRID = 8,
};

Declared in include/datoviz/scene/types.h:557.

DvzGuideRole · enum
enum DvzGuideRole {
    DVZ_GUIDE_ROLE_NONE = 0,
    DVZ_GUIDE_ROLE_X_AXIS = 1,
    DVZ_GUIDE_ROLE_Y_AXIS = 2,
    DVZ_GUIDE_ROLE_AXIS_GRID = 3,
    DVZ_GUIDE_ROLE_AXIS_TICK_LABEL = 4,
    DVZ_GUIDE_ROLE_AXIS_LABEL = 5,
    DVZ_GUIDE_ROLE_COLORBAR = 6,
    DVZ_GUIDE_ROLE_COLORBAR_RAMP = 7,
    DVZ_GUIDE_ROLE_COLORBAR_TICK_LABEL = 8,
    DVZ_GUIDE_ROLE_COLORBAR_TITLE = 9,
    DVZ_GUIDE_ROLE_LEGEND = 10,
    DVZ_GUIDE_ROLE_LEGEND_ENTRY = 11,
    DVZ_GUIDE_ROLE_LEGEND_TITLE = 12,
    DVZ_GUIDE_ROLE_GUIDE_LINE = 13,
    DVZ_GUIDE_ROLE_GUIDE_SPAN = 14,
    DVZ_GUIDE_ROLE_GUIDE_LABEL = 15,
};

Declared in include/datoviz/scene/types.h:536.

Guide Line

Functions

dvz_guide_line()

Create a retained guide line attached to one panel.

DvzGuideLine * dvz_guide_line(
    DvzPanel * panel,
    const DvzGuideLineDesc * desc
);
Field Type Description
return DvzGuideLine * the guide line, or NULL on validation/allocation error
panel DvzPanel * the panel
desc const DvzGuideLineDesc * guide-line descriptor

Declared in include/datoviz/scene/plot.h:70.

dvz_guide_line_desc()

Return the default guide-line descriptor.

DvzGuideLineDesc dvz_guide_line_desc(void);
Field Type Description
return DvzGuideLineDesc default guide-line descriptor

Related: dvz_guide_line().

Declared in include/datoviz/scene/plot.h:36.

dvz_guide_line_set_value()

Update a guide line data-coordinate value.

DvzResult dvz_guide_line_set_value(
    DvzGuideLine * guide,
    double value
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
guide DvzGuideLine * the guide line
value double new X or Y value, depending on orientation

Declared in include/datoviz/scene/plot.h:92.

dvz_guide_line_visual()

Return a borrowed role visual from a guide line.

Advanced inspection escape hatch. Only DVZ_PLOT_ROLE_LINE is valid for guide lines.

DvzVisual * dvz_guide_line_visual(
    DvzGuideLine * guide,
    DvzPlotRole role
);
Field Type Description
return DvzVisual * borrowed visual, or NULL when unavailable
guide DvzGuideLine * the guide line
role DvzPlotRole visual role

Declared in include/datoviz/scene/plot.h:82.

Types

DvzGuideLine · typedef
typedef struct DvzGuideLine DvzGuideLine;

Declared in include/datoviz/scene/types.h:94.

DvzGuideLineDesc · record
struct DvzGuideLineDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzGuideOrientation orientation;
    double value;
    float stroke_width_px;
    DvzSegmentCap cap_start;
    DvzSegmentCap cap_end;
    DvzColor color;
    int32_t z_layer;
    const char * label;
};

Declared in include/datoviz/scene/types.h:389.

Guide Span

Functions

dvz_guide_span()

Create a retained guide span attached to one panel.

DvzGuideSpan * dvz_guide_span(
    DvzPanel * panel,
    const DvzGuideSpanDesc * desc
);
Field Type Description
return DvzGuideSpan * the guide span, or NULL on validation/allocation error
panel DvzPanel * the panel
desc const DvzGuideSpanDesc * guide-span descriptor

Declared in include/datoviz/scene/plot.h:102.

dvz_guide_span_desc()

Return the default guide-span descriptor.

DvzGuideSpanDesc dvz_guide_span_desc(void);
Field Type Description
return DvzGuideSpanDesc default guide-span descriptor

Related: dvz_guide_span().

Declared in include/datoviz/scene/plot.h:44.

dvz_guide_span_set_range()

Update a guide span data-coordinate range.

DvzResult dvz_guide_span_set_range(
    DvzGuideSpan * span,
    double min_value,
    double max_value
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
span DvzGuideSpan * the guide span
min_value double first range endpoint
max_value double second range endpoint

Declared in include/datoviz/scene/plot.h:127.

dvz_guide_span_visual()

Return a borrowed role visual from a guide span.

Advanced inspection escape hatch. Valid roles are DVZ_PLOT_ROLE_FILL and DVZ_PLOT_ROLE_OUTLINE.

DvzVisual * dvz_guide_span_visual(
    DvzGuideSpan * span,
    DvzPlotRole role
);
Field Type Description
return DvzVisual * borrowed visual, or NULL when unavailable
span DvzGuideSpan * the guide span
role DvzPlotRole visual role

Declared in include/datoviz/scene/plot.h:115.

Types

DvzGuideSpan · typedef
typedef struct DvzGuideSpan DvzGuideSpan;

Declared in include/datoviz/scene/types.h:95.

DvzGuideSpanDesc · record
struct DvzGuideSpanDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzGuideOrientation orientation;
    double min_value;
    double max_value;
    DvzColor fill_color;
    DvzColor outline_color;
    float outline_width_px;
    int32_t z_layer;
    const char * label;
};

Declared in include/datoviz/scene/types.h:405.

Horizontal

Types

DvzHorizontalAnchor · enum
enum DvzHorizontalAnchor {
    DVZ_HORIZONTAL_ANCHOR_LEFT = 0,
    DVZ_HORIZONTAL_ANCHOR_CENTER = 1,
    DVZ_HORIZONTAL_ANCHOR_RIGHT = 2,
};

Declared in include/datoviz/scene/enums.h:614.

Hover

Functions

dvz_hover()

Create a retained hover object.

DvzHover * dvz_hover(
    DvzScene * scene,
    const DvzHoverDesc * desc
);
Field Type Description
return DvzHover * the hover object
scene DvzScene * the scene
desc const DvzHoverDesc * hover descriptor, or NULL for defaults

Declared in include/datoviz/scene/interaction.h:286.

dvz_hover_apply_query()

Apply one query result to a hover object.

DvzResult dvz_hover_apply_query(
    DvzHover * hover,
    const DvzQueryResult * query
);
Field Type Description
return DvzResult 0 on success, -1 on error
hover DvzHover * the hover object
query const DvzQueryResult * the query result

Declared in include/datoviz/scene/interaction.h:326.

dvz_hover_clear()

Clear the hovered item.

DvzResult dvz_hover_clear(
    DvzHover * hover
);
Field Type Description
return DvzResult DVZ_OK when the hover state was cleared, DVZ_ERROR on error
hover DvzHover * the hover object

Declared in include/datoviz/scene/interaction.h:303.

dvz_hover_desc()

Return the default hover descriptor.

DvzHoverDesc dvz_hover_desc(void);
Field Type Description
return DvzHoverDesc the default hover descriptor

Related: dvz_hover().

Declared in include/datoviz/scene/interaction.h:276.

dvz_hover_destroy()

Destroy a hover object.

void dvz_hover_destroy(
    DvzHover * hover
);
Field Type Description
hover DvzHover * the hover object

Declared in include/datoviz/scene/interaction.h:294.

dvz_hover_set_visual_style()

Configure hover visual styling.

The initial implementation affects point, pixel, and marker visuals. Pass NULL to restore defaults.

DvzResult dvz_hover_set_visual_style(
    DvzHover * hover,
    const DvzItemStateVisualStyle * style
);
Field Type Description
return DvzResult 0 on success, -1 on error
hover DvzHover * the hover object
style const DvzItemStateVisualStyle * the visual style descriptor, or NULL for defaults

Declared in include/datoviz/scene/interaction.h:316.

Types

DvzHover · typedef
typedef struct DvzHover DvzHover;

Declared in include/datoviz/scene/types.h:76.

DvzHoverDesc · record
struct DvzHoverDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzSceneTargetKind target;
    DvzQueryHitPolicy hit_policy;
    uint32_t hover_flags;
};

Declared in include/datoviz/scene/types.h:1286.

DvzHoverState · record
struct DvzHoverState {
    _Bool active;
    DvzLinkChannel * link_channel;
    DvzQueryResult query;
};

Declared in include/datoviz/scene/types.h:1394.

Interaction

Functions

dvz_interaction()

Create an interaction policy object owned by the scene.

DvzInteractionPolicy * dvz_interaction(
    DvzScene * scene
);
Field Type Description
return DvzInteractionPolicy * the interaction policy
scene DvzScene * the scene

Declared in include/datoviz/scene/interaction.h:38.

dvz_interaction_bind_panel()

Bind an interaction policy to a panel.

DvzResult dvz_interaction_bind_panel(
    DvzInteractionPolicy * interaction,
    DvzPanel * panel
);
Field Type Description
return DvzResult DVZ_OK when the panel was accepted, DVZ_ERROR on error
interaction DvzInteractionPolicy * the interaction policy
panel DvzPanel * the panel

Declared in include/datoviz/scene/interaction.h:56.

dvz_interaction_destroy()

Destroy an interaction policy object.

void dvz_interaction_destroy(
    DvzInteractionPolicy * interaction
);
Field Type Description
interaction DvzInteractionPolicy * the interaction policy

Declared in include/datoviz/scene/interaction.h:46.

dvz_interaction_set_auto_pin_readout()

Enable or disable automatic readout pinning from interaction-driven query results.

Invalid interaction handles are ignored.

DvzResult dvz_interaction_set_auto_pin_readout(
    DvzInteractionPolicy * interaction,
    _Bool enabled
);
Field Type Description
return DvzResult DVZ_OK when the flag was accepted, DVZ_ERROR on error
interaction DvzInteractionPolicy * the interaction policy
enabled _Bool true to enable automatic pinning

Declared in include/datoviz/scene/interaction.h:102.

Set the active link channel used by an interaction policy.

DvzResult dvz_interaction_set_link_channel(
    DvzInteractionPolicy * interaction,
    DvzLinkChannel * channel
);
Field Type Description
return DvzResult DVZ_OK when the channel was accepted, DVZ_ERROR on error
interaction DvzInteractionPolicy * the interaction policy
channel DvzLinkChannel * the link channel

Declared in include/datoviz/scene/interaction.h:78.

dvz_interaction_set_query_hit_policy()

Set the hit-selection policy used for panel queries.

DvzResult dvz_interaction_set_query_hit_policy(
    DvzInteractionPolicy * interaction,
    DvzQueryHitPolicy policy
);
Field Type Description
return DvzResult DVZ_OK when the policy was accepted, DVZ_ERROR on error
interaction DvzInteractionPolicy * the interaction policy
policy DvzQueryHitPolicy the hit-selection policy

Declared in include/datoviz/scene/interaction.h:89.

dvz_interaction_set_selection()

Attach a retained selection object to an interaction policy.

DvzResult dvz_interaction_set_selection(
    DvzInteractionPolicy * interaction,
    DvzSelection * selection
);
Field Type Description
return DvzResult DVZ_OK when the selection was accepted, DVZ_ERROR on error
interaction DvzInteractionPolicy * the interaction policy
selection DvzSelection * the selection

Declared in include/datoviz/scene/interaction.h:67.

Types

DvzInteractionPolicy · typedef
typedef struct DvzInteractionPolicy DvzInteractionPolicy;

Declared in include/datoviz/scene/types.h:74.

Item

Functions

dvz_item_interaction()

Create a panel-bound item interaction controller.

DvzItemInteraction * dvz_item_interaction(
    DvzPanel * panel,
    const DvzItemInteractionDesc * desc
);
Field Type Description
return DvzItemInteraction * the item interaction controller
panel DvzPanel * the panel
desc const DvzItemInteractionDesc * interaction descriptor, or NULL for defaults

Declared in include/datoviz/scene/interaction.h:349.

dvz_item_interaction_desc()

Return the default item interaction descriptor.

DvzItemInteractionDesc dvz_item_interaction_desc(void);
Field Type Description
return DvzItemInteractionDesc the default item interaction descriptor

Related: dvz_item_interaction().

Declared in include/datoviz/scene/interaction.h:339.

dvz_item_interaction_destroy()

Destroy a panel-bound item interaction controller.

void dvz_item_interaction_destroy(
    DvzItemInteraction * interaction
);
Field Type Description
interaction DvzItemInteraction * the item interaction controller

Declared in include/datoviz/scene/interaction.h:358.

dvz_item_interaction_hover()

Return the hover object used by an item interaction controller.

DvzHover * dvz_item_interaction_hover(
    DvzItemInteraction * interaction
);
Field Type Description
return DvzHover * the hover object, or NULL when hover is disabled
interaction DvzItemInteraction * the item interaction controller

Declared in include/datoviz/scene/interaction.h:367.

dvz_item_interaction_selection()

Return the selection object used by an item interaction controller.

DvzSelection * dvz_item_interaction_selection(
    DvzItemInteraction * interaction
);
Field Type Description
return DvzSelection * the selection object, or NULL when selection is disabled
interaction DvzItemInteraction * the item interaction controller

Declared in include/datoviz/scene/interaction.h:376.

dvz_item_state_visual_style()

Return the default item-state visual style.

DvzItemStateVisualStyle dvz_item_state_visual_style(void);
Field Type Description
return DvzItemStateVisualStyle the default item-state visual style

Declared in include/datoviz/scene/interaction.h:178.

Types

DvzItemInteraction · typedef
typedef struct DvzItemInteraction DvzItemInteraction;

Declared in include/datoviz/scene/types.h:77.

DvzItemInteractionDesc · record
struct DvzItemInteractionDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzHover * hover;
    DvzSelection * selection;
    _Bool hover_enabled;
    _Bool selection_enabled;
    DvzSelectMode select_mode;
    DvzSceneTargetKind target;
    DvzQueryHitPolicy hit_policy;
    _Bool clear_hover_on_miss;
    _Bool clear_selection_on_miss;
};

Declared in include/datoviz/scene/types.h:1297.

DvzItemRange · record
struct DvzItemRange {
    uint32_t first_item;
    uint32_t item_count;
};

Declared in include/datoviz/scene/types.h:1203.

DvzItemStateKind · enum
enum DvzItemStateKind {
    DVZ_ITEM_STATE_NONE = 0,
    DVZ_ITEM_STATE_HOVERED = 1,
    DVZ_ITEM_STATE_SELECTED = 2,
    DVZ_ITEM_STATE_ACTIVE = 4,
    DVZ_ITEM_STATE_LINKED = 8,
    DVZ_ITEM_STATE_FILTERED = 16,
    DVZ_ITEM_STATE_DISABLED = 32,
};

Declared in include/datoviz/scene/enums.h:524.

DvzItemStateVisualFlag · enum
enum DvzItemStateVisualFlag {
    DVZ_ITEM_STATE_VISUAL_NONE = 0,
    DVZ_ITEM_STATE_VISUAL_ALPHA = 1,
    DVZ_ITEM_STATE_VISUAL_TINT = 2,
    DVZ_ITEM_STATE_VISUAL_SCALE = 4,
};

Declared in include/datoviz/scene/enums.h:536.

DvzItemStateVisualStyle · record
struct DvzItemStateVisualStyle {
    uint32_t struct_size;
    uint32_t flags;
    uint32_t visual_flags;
    float alpha;
    DvzColor tint;
    float tint_mix;
    float scale;
};

Declared in include/datoviz/scene/types.h:1255.

Label

Functions

dvz_label_desc()

Return the default label annotation descriptor.

DvzLabelDesc dvz_label_desc(void);
Field Type Description
return DvzLabelDesc default label descriptor

Declared in include/datoviz/scene/annotation.h:44.

Types

DvzLabelDesc · record
struct DvzLabelDesc {
    uint32_t struct_size;
    uint32_t flags;
    const char * text;
    uint32_t label_flags;
};

Declared in include/datoviz/scene/types.h:1615.

Legend

Functions

dvz_legend()

Create a panel-attached legend bound to a categorical scale.

DvzLegend * dvz_legend(
    DvzPanel * panel,
    DvzScale * scale,
    const DvzLegendDesc * desc
);
Field Type Description
return DvzLegend * the legend
panel DvzPanel * the panel
scale DvzScale * the categorical scale
desc const DvzLegendDesc * the legend descriptor, or NULL for defaults

Declared in include/datoviz/scene/scale.h:636.

dvz_legend_clear_highlight()

Clear all highlighted categorical legend entries.

DvzResult dvz_legend_clear_highlight(
    DvzLegend * legend
);
Field Type Description
return DvzResult DVZ_OK when the highlight state was accepted, DVZ_ERROR on error
legend DvzLegend * the legend

Declared in include/datoviz/scene/scale.h:695.

dvz_legend_desc()

Return the default legend descriptor.

DvzLegendDesc dvz_legend_desc(void);
Field Type Description
return DvzLegendDesc default legend descriptor

Related: dvz_legend().

Declared in include/datoviz/scene/scale.h:625.

dvz_legend_destroy()

Destroy a legend.

void dvz_legend_destroy(
    DvzLegend * legend
);
Field Type Description
legend DvzLegend * the legend

Declared in include/datoviz/scene/scale.h:654.

dvz_legend_id()

Return the scene-local identity of a legend.

DvzId dvz_legend_id(
    const DvzLegend * legend
);
Field Type Description
return DvzId the scene-local identity, or DVZ_ID_NONE when legend is NULL or destroyed
legend const DvzLegend * the legend

Declared in include/datoviz/scene/scale.h:646.

dvz_legend_set_highlight()

Highlight one categorical legend entry.

This is presentation state only: the bound scale category color and label are unchanged.

DvzResult dvz_legend_set_highlight(
    DvzLegend * legend,
    DvzCategoryId id
);
Field Type Description
return DvzResult DVZ_OK when the highlight state was accepted, DVZ_ERROR on error
legend DvzLegend * the legend
id DvzCategoryId category id to highlight

Declared in include/datoviz/scene/scale.h:686.

dvz_legend_set_highlights()

Highlight multiple categorical legend entries.

This is presentation state only: the bound scale category colors and labels are unchanged.

DvzResult dvz_legend_set_highlights(
    DvzLegend * legend,
    const DvzCategoryId * ids,
    uint32_t count
);
Field Type Description
return DvzResult DVZ_OK when the highlight state was accepted, DVZ_ERROR on error
legend DvzLegend * the legend
ids const DvzCategoryId * category ids to highlight
count uint32_t number of highlighted category ids

Declared in include/datoviz/scene/scale.h:709.

dvz_legend_set_layout()

Update legend layout and placement parameters.

DvzResult dvz_legend_set_layout(
    DvzLegend * legend,
    const DvzLegendDesc * desc
);
Field Type Description
return DvzResult DVZ_OK when the layout was accepted, DVZ_ERROR on error
legend DvzLegend * the legend
desc const DvzLegendDesc * layout descriptor

Declared in include/datoviz/scene/scale.h:664.

dvz_legend_set_title()

Set the legend title.

DvzResult dvz_legend_set_title(
    DvzLegend * legend,
    const char * title
);
Field Type Description
return DvzResult DVZ_OK when the title was accepted, DVZ_ERROR on error
legend DvzLegend * the legend
title const char * the title, or NULL to clear

Declared in include/datoviz/scene/scale.h:674.

Types

DvzLegend · typedef
typedef struct DvzLegend DvzLegend;

Declared in include/datoviz/scene/types.h:85.

DvzLegendDesc · record
struct DvzLegendDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzLegendPlacementMode placement_mode;
    DvzSceneAnchor anchor;
    const char * title;
    float reserve_px;
    float edge_offset_px;
    float plot_gap_px;
    float entry_gap_px;
    float mark_size_px;
    float mark_label_gap_px;
    DvzTextRenderer text_renderer;
    DvzPlacement placement;
    uint32_t legend_flags;
};

Declared in include/datoviz/scene/types.h:1477.

DvzLegendPlacementMode · enum
enum DvzLegendPlacementMode {
    DVZ_LEGEND_PLACEMENT_ATTACHED = 0,
    DVZ_LEGEND_PLACEMENT_DETACHED = 1,
};

Declared in include/datoviz/scene/enums.h:598.

Functions

Create a scene-owned link channel.

DvzLinkChannel * dvz_link_channel(
    DvzScene * scene,
    const char * name
);
Field Type Description
return DvzLinkChannel * the link channel
scene DvzScene * the scene
name const char * stable channel name, or NULL

Declared in include/datoviz/scene/interaction.h:149.

Destroy a link channel.

void dvz_link_channel_destroy(
    DvzLinkChannel * channel
);
Field Type Description
channel DvzLinkChannel * the link channel

Declared in include/datoviz/scene/interaction.h:157.

Types

DvzLinkChannel · typedef
typedef struct DvzLinkChannel DvzLinkChannel;

Declared in include/datoviz/scene/types.h:78.

Orientation

Functions

dvz_orientation_gizmo()

Create a passive orientation gizmo attached to one source panel.

The gizmo observes the source panel's effective rendered orientation and displays it as a fixed-size inset triad with lit mesh arrows, a central hub, and orientation rings.

DvzOrientationGizmo * dvz_orientation_gizmo(
    DvzPanel * panel,
    const DvzOrientationGizmoDesc * desc
);
Field Type Description
return DvzOrientationGizmo * the orientation gizmo, or NULL on validation/allocation error
panel DvzPanel * source panel
desc const DvzOrientationGizmoDesc * descriptor, or NULL for defaults

Declared in include/datoviz/scene.h:965.

dvz_orientation_gizmo_desc()

Return the default orientation-gizmo descriptor.

DvzOrientationGizmoDesc dvz_orientation_gizmo_desc(void);
Field Type Description
return DvzOrientationGizmoDesc default orientation-gizmo descriptor

Related: dvz_orientation_gizmo().

Declared in include/datoviz/scene.h:952.

dvz_orientation_gizmo_destroy()

Destroy an orientation gizmo.

void dvz_orientation_gizmo_destroy(
    DvzOrientationGizmo * gizmo
);
Field Type Description
gizmo DvzOrientationGizmo * the orientation gizmo

Declared in include/datoviz/scene.h:974.

dvz_orientation_gizmo_set_visible()

Set orientation-gizmo visibility.

DvzResult dvz_orientation_gizmo_set_visible(
    DvzOrientationGizmo * gizmo,
    _Bool visible
);
Field Type Description
return DvzResult DVZ_OK when the visibility was accepted, DVZ_ERROR on error
gizmo DvzOrientationGizmo * the orientation gizmo
visible _Bool whether the gizmo should be visible

Declared in include/datoviz/scene.h:984.

Types

DvzOrientationGizmo · typedef
typedef struct DvzOrientationGizmo DvzOrientationGizmo;

Declared in include/datoviz/scene/types.h:86.

DvzOrientationGizmoDesc · record
struct DvzOrientationGizmoDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzPlacement placement;
    _Bool show_axes;
    float axis_length;
    float axis_width_px;
    DvzColor x_color;
    DvzColor y_color;
    DvzColor z_color;
};

Declared in include/datoviz/scene/types.h:814.

Overlay

Functions

dvz_overlay()

Create a panel overlay object.

DvzOverlay * dvz_overlay(
    DvzPanel * panel,
    uint32_t flags
);
Field Type Description
return DvzOverlay * the overlay, or NULL on error
panel DvzPanel * the panel
flags uint32_t overlay flags, currently zero

Declared in include/datoviz/scene/overlay.h:100.

dvz_overlay_destroy()

Destroy a panel overlay object and hide its cards.

void dvz_overlay_destroy(
    DvzOverlay * overlay
);
Field Type Description
overlay DvzOverlay * the overlay

Declared in include/datoviz/scene/overlay.h:108.

dvz_overlay_rich_text_desc()

Return the default overlay rich-text descriptor.

DvzOverlayRichTextDesc dvz_overlay_rich_text_desc(void);
Field Type Description
return DvzOverlayRichTextDesc the default rich-text descriptor

Declared in include/datoviz/scene/overlay.h:132.

Types

DvzOverlay · typedef
typedef struct DvzOverlay DvzOverlay;

Declared in include/datoviz/scene/types.h:80.

DvzOverlayRichTextDesc · record
struct DvzOverlayRichTextDesc {
    uint32_t struct_size;
    uint32_t flags;
    const char * source;
    float max_width_px;
    float char_width_px;
    float line_height_px;
    float scale;
    DvzColor text_color;
    DvzColor background_color;
};

Declared in include/datoviz/scene/overlay.h:79.

Overlay Card

Functions

dvz_overlay_card()

Create a card attached to a panel overlay.

DvzOverlayCard * dvz_overlay_card(
    DvzOverlay * overlay,
    const DvzOverlayCardDesc * desc
);
Field Type Description
return DvzOverlayCard * the card, or NULL on error
overlay DvzOverlay * the overlay
desc const DvzOverlayCardDesc * card descriptor, or NULL for defaults

Declared in include/datoviz/scene/overlay.h:142.

dvz_overlay_card_clear_rich_text()

Clear rich text content and return the card to the plain GPU text path.

DvzResult dvz_overlay_card_clear_rich_text(
    DvzOverlayCard * card
);
Field Type Description
return DvzResult 0 on success, -1 on error
card DvzOverlayCard * the card

Declared in include/datoviz/scene/overlay.h:192.

dvz_overlay_card_desc()

Return the default overlay-card descriptor.

DvzOverlayCardDesc dvz_overlay_card_desc(void);
Field Type Description
return DvzOverlayCardDesc the default card descriptor

Related: dvz_overlay_card().

Declared in include/datoviz/scene/overlay.h:124.

dvz_overlay_card_destroy()

Destroy an overlay card.

void dvz_overlay_card_destroy(
    DvzOverlayCard * card
);
Field Type Description
card DvzOverlayCard * the card

Declared in include/datoviz/scene/overlay.h:151.

dvz_overlay_card_set_layout()

Set the panel-local pixel layout of an overlay card.

DvzResult dvz_overlay_card_set_layout(
    DvzOverlayCard * card,
    const float[2] anchor_px,
    const float[2] offset_px
);
Field Type Description
return DvzResult 0 on success, -1 on error
card DvzOverlayCard * the card
anchor_px const float[2] panel-local anchor in logical pixels, or NULL to keep it unchanged
offset_px const float[2] offset from the anchor in logical pixels, or NULL to keep it unchanged

Declared in include/datoviz/scene/overlay.h:203.

dvz_overlay_card_set_placement()

Set semantic placement for an overlay card.

DvzResult dvz_overlay_card_set_placement(
    DvzOverlayCard * card,
    DvzOverlayCardPlacement placement,
    const float[2] offset_px
);
Field Type Description
return DvzResult 0 on success, -1 on error
card DvzOverlayCard * the card
placement DvzOverlayCardPlacement semantic placement mode
offset_px const float[2] inward/relative offset in logical pixels, or NULL to keep it unchanged

Declared in include/datoviz/scene/overlay.h:215.

dvz_overlay_card_set_rich_text()

Set rich text displayed in an overlay card.

DvzResult dvz_overlay_card_set_rich_text(
    DvzOverlayCard * card,
    const DvzOverlayRichTextDesc * desc
);
Field Type Description
return DvzResult 0 on success, -1 on error
card DvzOverlayCard * the card
desc const DvzOverlayRichTextDesc * rich text descriptor

Declared in include/datoviz/scene/overlay.h:182.

dvz_overlay_card_set_style()

Set an overlay card style.

DvzResult dvz_overlay_card_set_style(
    DvzOverlayCard * card,
    const DvzOverlayCardStyle * style
);
Field Type Description
return DvzResult 0 on success, -1 on error
card DvzOverlayCard * the card
style const DvzOverlayCardStyle * the style descriptor, or NULL for defaults

Declared in include/datoviz/scene/overlay.h:161.

dvz_overlay_card_set_text()

Set the text displayed in an overlay card.

DvzResult dvz_overlay_card_set_text(
    DvzOverlayCard * card,
    const char * text
);
Field Type Description
return DvzResult 0 on success, -1 on error
card DvzOverlayCard * the card
text const char * the text, or NULL to clear it

Declared in include/datoviz/scene/overlay.h:172.

dvz_overlay_card_set_visible()

Show or hide an overlay card.

DvzResult dvz_overlay_card_set_visible(
    DvzOverlayCard * card,
    _Bool visible
);
Field Type Description
return DvzResult 0 on success, -1 on error
card DvzOverlayCard * the card
visible _Bool whether the card should be visible

Declared in include/datoviz/scene/overlay.h:226.

dvz_overlay_card_style()

Return the default overlay-card style.

DvzOverlayCardStyle dvz_overlay_card_style(void);
Field Type Description
return DvzOverlayCardStyle the default style descriptor

Declared in include/datoviz/scene/overlay.h:116.

Types

DvzOverlayCard · typedef
typedef struct DvzOverlayCard DvzOverlayCard;

Declared in include/datoviz/scene/types.h:81.

DvzOverlayCardDesc · record
struct DvzOverlayCardDesc {
    uint32_t struct_size;
    uint32_t flags;
    const char * text;
    DvzOverlayCardPlacement placement;
    float[2] anchor_px;
    float[2] offset_px;
    uint32_t card_flags;
};

Declared in include/datoviz/scene/overlay.h:67.

DvzOverlayCardFlag · enum
enum DvzOverlayCardFlag {
    DVZ_OVERLAY_CARD_HIDDEN = 1,
};

Declared in include/datoviz/scene/overlay.h:34.

DvzOverlayCardPlacement · enum
enum DvzOverlayCardPlacement {
    DVZ_OVERLAY_CARD_PLACEMENT_PIXEL = 0,
    DVZ_OVERLAY_CARD_PLACEMENT_TOP_LEFT = 1,
    DVZ_OVERLAY_CARD_PLACEMENT_TOP_RIGHT = 2,
    DVZ_OVERLAY_CARD_PLACEMENT_BOTTOM_LEFT = 3,
    DVZ_OVERLAY_CARD_PLACEMENT_BOTTOM_RIGHT = 4,
    DVZ_OVERLAY_CARD_PLACEMENT_CENTER = 5,
};

Declared in include/datoviz/scene/overlay.h:40.

DvzOverlayCardStyle · record
struct DvzOverlayCardStyle {
    uint32_t struct_size;
    uint32_t flags;
    DvzColor background_color;
    DvzColor text_color;
    float[2] padding_px;
    float min_width_px;
    float height_px;
    float glyph_advance_px;
    float text_size_px;
    DvzTextRenderer text_renderer;
    uint32_t max_text_chars;
};

Declared in include/datoviz/scene/overlay.h:51.

Panel

Functions

dvz_panel()

Create a panel inside a figure.

DvzPanel * dvz_panel(
    DvzFigure * figure,
    const DvzPanelDesc * desc
);
Field Type Description
return DvzPanel * the panel
figure DvzFigure * the figure
desc const DvzPanelDesc * panel position and size in normalized [0, 1] figure coordinates, or NULL for defaults

Declared in include/datoviz/scene.h:618.

dvz_panel_add_composite()

Add all generated visual roles of a composite to a panel.

The composite is realized before attachment. Generated visuals are then attached to the panel with the same semantics as dvz_panel_add_visual().

DvzResult dvz_panel_add_composite(
    DvzPanel * panel,
    DvzComposite * composite,
    const DvzVisualAttachDesc * desc
);
Field Type Description
return DvzResult 0 on success, -1 on error
panel DvzPanel * the panel
composite DvzComposite * the composite
desc const DvzVisualAttachDesc * attachment options applied to the composite roles

Declared in include/datoviz/scene.h:1140.

dvz_panel_add_visual()

Add a visual to a panel.

DvzResult dvz_panel_add_visual(
    DvzPanel * panel,
    DvzVisual * visual,
    const DvzVisualAttachDesc * desc
);
Field Type Description
return DvzResult 0 on success, -1 on error
panel DvzPanel * the panel
visual DvzVisual * the visual
desc const DvzVisualAttachDesc * per-visual attachment options (z_layer, controller_mode, coord_space, clip_rect, viewport_rect); pass NULL for defaults (z_layer=0, controller_mode=DVZ_CONTROLLER_APPLY, coord_space=DVZ_VISUAL_COORD_DATA, clip_rect=DVZ_VISUAL_CLIP_AUTO, viewport_rect=DVZ_VISUAL_VIEWPORT_AUTO)

Declared in include/datoviz/scene.h:1125.

dvz_panel_axes_2d_desc()

Return the default 2D panel axes descriptor.

The descriptor leaves labels empty. dvz_panel_set_axes_2d() applies default tick policy and grid-enabled default styles when it creates the panel axes.

DvzPanelAxes2DDesc dvz_panel_axes_2d_desc(void);
Field Type Description
return DvzPanelAxes2DDesc default 2D axes descriptor

Declared in include/datoviz/scene.h:1511.

dvz_panel_axis()

Return a panel-owned axis, creating its geometry visual on first use.

DvzAxis * dvz_panel_axis(
    DvzPanel * panel,
    DvzDim dim
);
Field Type Description
return DvzAxis * the panel-owned axis, or NULL on validation/allocation error
panel DvzPanel * the panel
dim DvzDim axis dimension

Declared in include/datoviz/scene.h:1500.

dvz_panel_background()

Copy the current panel background descriptor.

Image background pixels are copied into scene-owned visual state when set; the returned image descriptor reports type and dimensions but has image.rgba == NULL.

_Bool dvz_panel_background(
    const DvzPanel * panel,
    DvzPanelBackgroundDesc * out
);
Field Type Description
return _Bool true when a descriptor was written
panel const DvzPanel * the panel
out DvzPanelBackgroundDesc * output background descriptor

Declared in include/datoviz/scene.h:1180.

dvz_panel_background_desc()

Return the default panel background descriptor.

DvzPanelBackgroundDesc dvz_panel_background_desc(void);
Field Type Description
return DvzPanelBackgroundDesc default panel background descriptor

Related: dvz_panel_background().

Declared in include/datoviz/scene.h:1149.

dvz_panel_bind_controller()

Bind a scene-owned controller to one panel.

Fly controllers must be bound to DVZ_DIM_MASK_XYZ in v0.4.

DvzResult dvz_panel_bind_controller(
    DvzPanel * panel,
    DvzController * controller,
    DvzDimMask dims
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
panel DvzPanel * the panel
controller DvzController * the scene-owned controller
dims DvzDimMask dimension mask

Declared in include/datoviz/scene.h:1049.

dvz_panel_border()

Copy the current panel border descriptor.

_Bool dvz_panel_border(
    const DvzPanel * panel,
    DvzPanelBorderDesc * out
);
Field Type Description
return _Bool true when a descriptor was written
panel const DvzPanel * the panel
out DvzPanelBorderDesc * output border descriptor

Declared in include/datoviz/scene.h:1238.

dvz_panel_border_desc()

Return the default panel border descriptor.

The default is a visible one-pixel border inset by half a pixel so it is fully inside the panel.

DvzPanelBorderDesc dvz_panel_border_desc(void);
Field Type Description
return DvzPanelBorderDesc default panel border descriptor

Related: dvz_panel_border().

Declared in include/datoviz/scene.h:1215.

dvz_panel_bounds()

Return the union of all visible visual bounds attached to one panel.

DvzResult dvz_panel_bounds(
    const DvzPanel * panel,
    DvzBoundsSpace space,
    DvzBounds * out
);
Field Type Description
return DvzResult 0 when at least one visible visual has bounds, -1 otherwise
panel const DvzPanel * the panel
space DvzBoundsSpace target bounds space
out DvzBounds * output bounding box

Declared in include/datoviz/scene.h:2162.

dvz_panel_bounds_visible()

Return whether the panel-owned visual bounds overlay is enabled.

_Bool dvz_panel_bounds_visible(
    const DvzPanel * panel
);
Field Type Description
return _Bool whether bounds boxes should be shown
panel const DvzPanel * the panel

Declared in include/datoviz/scene.h:1370.

dvz_panel_camera()

Return the camera attached to a panel.

The returned camera is borrowed panel-owned state. Do not pass it to dvz_camera_destroy().

DvzCamera * dvz_panel_camera(
    DvzPanel * panel
);
Field Type Description
return DvzCamera * the panel-owned camera, or NULL
panel DvzPanel * the panel

Declared in include/datoviz/scene/camera.h:48.

dvz_panel_clear_background()

Clear a panel background.

DvzResult dvz_panel_clear_background(
    DvzPanel * panel
);
Field Type Description
return DvzResult DVZ_OK if the background was cleared, DVZ_ERROR otherwise
panel DvzPanel * the panel

Declared in include/datoviz/scene.h:1190.

dvz_panel_clear_border()

Clear a panel border.

DvzResult dvz_panel_clear_border(
    DvzPanel * panel
);
Field Type Description
return DvzResult DVZ_OK if the border was cleared, DVZ_ERROR otherwise
panel DvzPanel * the panel

Declared in include/datoviz/scene.h:1247.

dvz_panel_clear_view2d()

Clear a panel 2D view policy without changing the current axis domains.

DvzResult dvz_panel_clear_view2d(
    DvzPanel * panel
);
Field Type Description
return DvzResult DVZ_OK if the 2D view policy was cleared, DVZ_ERROR otherwise
panel DvzPanel * the panel

Declared in include/datoviz/scene.h:1422.

dvz_panel_connect_input()

Route an input router through one panel's bound controllers.

The panel supplies viewport-local context before events reach scene-owned controllers, so shared controllers do not own a single canonical viewport.

DvzResult dvz_panel_connect_input(
    DvzPanel * panel,
    DvzInputRouter * router
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
panel DvzPanel * the panel
router DvzInputRouter * input router to subscribe to, or NULL to disconnect

Declared in include/datoviz/scene.h:1062.

dvz_panel_controller()

Return the controller bound to one panel dimension.

DvzController * dvz_panel_controller(
    DvzPanel * panel,
    DvzDim dim
);
Field Type Description
return DvzController * the borrowed controller handle, or NULL
panel DvzPanel * the panel
dim DvzDim the dimension

Declared in include/datoviz/scene.h:1072.

dvz_panel_data_to_position()

Convert a panel DATA point to a position in another panel coordinate space.

_Bool dvz_panel_data_to_position(
    DvzPanel * panel,
    DvzPanelCoordSpace to,
    const double[2] data,
    double[2] out
);
Field Type Description
return _Bool whether the conversion was supported and finite
panel DvzPanel * the panel
to DvzPanelCoordSpace destination coordinate space
data const double[2] input data point
out double[2] output point

Declared in include/datoviz/scene.h:881.

dvz_panel_desc()

Return the default panel descriptor.

DvzPanelDesc dvz_panel_desc(void);
Field Type Description
return DvzPanelDesc full-figure panel descriptor

Related: dvz_panel().

Declared in include/datoviz/scene.h:608.

dvz_panel_destroy()

Destroy a panel.

void dvz_panel_destroy(
    DvzPanel * panel
);
Field Type Description
panel DvzPanel * the panel

Declared in include/datoviz/scene.h:1035.

dvz_panel_frame_contribution()

Copy one rendered contribution record by index.

_Bool dvz_panel_frame_contribution(
    const DvzPanelFrameSnapshot * snapshot,
    uint32_t index,
    DvzRenderedContribution * out
);
Field Type Description
return _Bool whether the contribution was copied
snapshot const DvzPanelFrameSnapshot * the panel frame snapshot
index uint32_t rendered contribution index
out DvzRenderedContribution * output contribution

Declared in include/datoviz/scene.h:819.

dvz_panel_frame_contribution_count()

Return the number of rendered contribution records in a frame snapshot.

Contributions tie durable guide identities to generated visual identities.

uint32_t dvz_panel_frame_contribution_count(
    const DvzPanelFrameSnapshot * snapshot
);
Field Type Description
return uint32_t contribution count, or 0 when snapshot is NULL
snapshot const DvzPanelFrameSnapshot * the panel frame snapshot

Declared in include/datoviz/scene.h:808.

dvz_panel_frame_guide_count()

Return the number of first-class guide layout records in a frame snapshot.

Guide layouts describe retained adornment boxes such as axes, axis text, guide lines, guide spans, colorbars, and legends in figure logical pixels.

uint32_t dvz_panel_frame_guide_count(
    const DvzPanelFrameSnapshot * snapshot
);
Field Type Description
return uint32_t guide layout count, or 0 when snapshot is NULL
snapshot const DvzPanelFrameSnapshot * the panel frame snapshot

Declared in include/datoviz/scene.h:772.

dvz_panel_frame_guide_hit()

Return the topmost first-class guide layout containing a figure logical-pixel point.

_Bool dvz_panel_frame_guide_hit(
    const DvzPanelFrameSnapshot * snapshot,
    float x_px,
    float y_px,
    DvzGuideHit * out
);
Field Type Description
return _Bool whether a guide layout contained the point
snapshot const DvzPanelFrameSnapshot * the panel frame snapshot
x_px float x coordinate in figure logical pixels
y_px float y coordinate in figure logical pixels
out DvzGuideHit * output hit record

Declared in include/datoviz/scene.h:796.

dvz_panel_frame_guide_layout()

Copy one first-class guide layout record by index.

_Bool dvz_panel_frame_guide_layout(
    const DvzPanelFrameSnapshot * snapshot,
    uint32_t index,
    DvzGuideLayout * out
);
Field Type Description
return _Bool whether the guide layout was copied
snapshot const DvzPanelFrameSnapshot * the panel frame snapshot
index uint32_t guide layout index
out DvzGuideLayout * output guide layout

Declared in include/datoviz/scene.h:783.

dvz_panel_frame_id()

Return a snapshot identity.

DvzId dvz_panel_frame_id(
    const DvzPanelFrameSnapshot * snapshot
);
Field Type Description
return DvzId scene-local snapshot identity, or DVZ_ID_NONE when snapshot is NULL
snapshot const DvzPanelFrameSnapshot * the panel frame snapshot

Declared in include/datoviz/scene.h:749.

dvz_panel_frame_info()

Copy immutable panel frame information out of a snapshot.

_Bool dvz_panel_frame_info(
    const DvzPanelFrameSnapshot * snapshot,
    DvzPanelFrameInfo * out
);
Field Type Description
return _Bool whether the information was copied
snapshot const DvzPanelFrameSnapshot * the panel frame snapshot
out DvzPanelFrameInfo * output frame information

Declared in include/datoviz/scene.h:759.

dvz_panel_frame_ref()

Retain one panel frame snapshot.

void dvz_panel_frame_ref(
    DvzPanelFrameSnapshot * snapshot
);
Field Type Description
snapshot DvzPanelFrameSnapshot * the panel frame snapshot

Declared in include/datoviz/scene.h:828.

dvz_panel_frame_unref()

Release one panel frame snapshot.

void dvz_panel_frame_unref(
    DvzPanelFrameSnapshot * snapshot
);
Field Type Description
snapshot DvzPanelFrameSnapshot * the panel frame snapshot

Declared in include/datoviz/scene.h:836.

dvz_panel_full()

Create a panel that fills the whole figure.

DvzPanel * dvz_panel_full(
    DvzFigure * figure
);
Field Type Description
return DvzPanel * the panel
figure DvzFigure * the figure

Declared in include/datoviz/scene.h:649.

dvz_panel_get_padding()

Return one panel's fixed pixel padding.

_Bool dvz_panel_get_padding(
    const DvzPanel * panel,
    DvzPanelReserve * out
);
Field Type Description
return _Bool whether the padding was written
panel const DvzPanel * the panel
out DvzPanelReserve * output pixel padding

Declared in include/datoviz/scene.h:699.

dvz_panel_get_reserve()

Return one panel's current resolved pixel reservation.

The returned reserve includes the manual base reserve plus automatic attached adornment reserves.

_Bool dvz_panel_get_reserve(
    const DvzPanel * panel,
    DvzPanelReserve * out
);
Field Type Description
return _Bool whether the reservation was written
panel const DvzPanel * the panel
out DvzPanelReserve * output pixel reservation

Declared in include/datoviz/scene.h:675.

dvz_panel_id()

Return the scene-local identity of a panel.

DvzId dvz_panel_id(
    const DvzPanel * panel
);
Field Type Description
return DvzId the scene-local identity, or DVZ_ID_NONE when panel is NULL
panel const DvzPanel * the panel

Declared in include/datoviz/scene.h:627.

dvz_panel_inner_rect_px()

Return one panel's current inner rectangle in figure pixel coordinates.

The inner rectangle is the panel outer rectangle after padding and before resolved reserve, expressed in figure logical pixels.

_Bool dvz_panel_inner_rect_px(
    const DvzPanel * panel,
    DvzRect * out
);
Field Type Description
return _Bool whether the rectangle was written
panel const DvzPanel * the panel
out DvzRect * output inner rectangle in logical pixels

Declared in include/datoviz/scene.h:712.

dvz_panel_plot_rect_px()

Return one panel's current plot rectangle in figure pixel coordinates.

The plot rectangle is the panel outer rectangle after padding and resolved reserve, expressed in figure logical pixels. Panel query positions remain panel-local logical pixels with origin at the outer panel rectangle.

_Bool dvz_panel_plot_rect_px(
    const DvzPanel * panel,
    DvzRect * out
);
Field Type Description
return _Bool whether the rectangle was written
panel const DvzPanel * the panel
out DvzRect * output plot rectangle in logical pixels

Declared in include/datoviz/scene.h:726.

dvz_panel_position_to_data()

Convert a position in a pixel or VIEW coordinate space to panel DATA coordinates.

_Bool dvz_panel_position_to_data(
    DvzPanel * panel,
    DvzPanelCoordSpace from,
    const double[2] in,
    double[2] out_data
);
Field Type Description
return _Bool whether the conversion was supported and finite
panel DvzPanel * the panel
from DvzPanelCoordSpace source coordinate space
in const double[2] input point
out_data double[2] output data point

Declared in include/datoviz/scene.h:868.

dvz_panel_query_data()

Queue a query at a DATA-coordinate point.

DvzResult dvz_panel_query_data(
    DvzPanel * panel,
    double x,
    double y,
    const DvzQueryRequest * request
);
Field Type Description
return DvzResult 0 on success, -1 on error
panel DvzPanel * the panel
x double data x coordinate
y double data y coordinate
request const DvzQueryRequest * the request descriptor, or NULL for defaults

Declared in include/datoviz/scene.h:894.

dvz_panel_query_now_px()

Queue and synchronously resolve a query through a DRP2 runtime.

DvzResult dvz_panel_query_now_px(
    DvzPanel * panel,
    DvzDrp2Runtime * runtime,
    double x,
    double y,
    const DvzQueryRequest * request,
    DvzQueryResult * out_result
);
Field Type Description
return DvzResult 0 on success, -1 on error
panel DvzPanel * the panel
runtime DvzDrp2Runtime * the DRP2 runtime
x double the panel-local logical x coordinate, origin at the outer panel rectangle
y double the panel-local logical y coordinate, origin at the outer panel rectangle
request const DvzQueryRequest * the request descriptor, or NULL for defaults
out_result DvzQueryResult * output result

Declared in include/datoviz/scene/interaction.h:426.

dvz_panel_query_px()

Queue an explicit GPU-backed query request on a panel.

DvzResult dvz_panel_query_px(
    DvzPanel * panel,
    double x,
    double y,
    const DvzQueryRequest * request
);
Field Type Description
return DvzResult 0 on success, -1 on error
panel DvzPanel * the panel
x double the panel-local logical x coordinate, origin at the outer panel rectangle
y double the panel-local logical y coordinate, origin at the outer panel rectangle
request const DvzQueryRequest * the request descriptor, or NULL for defaults

Declared in include/datoviz/scene/interaction.h:401.

dvz_panel_resolve_frame()

Resolve an immutable snapshot of one panel's current frame geometry and coarse revisions.

The returned object owns a copy of the resolved frame info and remains immutable until released. It is an inspection contract only: resolving a frame does not emit, render, or mutate visual resources. Later panel, figure, view, or guide edits produce different revision values in later snapshots, but do not alter snapshots already returned to the caller.

DvzPanelFrameSnapshot * dvz_panel_resolve_frame(
    DvzPanel * panel
);
Field Type Description
return DvzPanelFrameSnapshot * owned panel frame snapshot, or NULL on validation/allocation error
panel DvzPanel * the panel

Declared in include/datoviz/scene.h:740.

dvz_panel_set_axes_2d()

Apply common 2D axes defaults to a panel-owned X/Y axis pair.

This helper fetches the panel-owned X/Y axes, applies the default tick policy and grid-enabled default style to both axes, sets labels, and makes both axes visible. Passing NULL uses dvz_panel_axes_2d_desc(). Use dvz_axis_set_tick_policy() and dvz_axis_set_style() for custom per-axis tick policy or style.

DvzResult dvz_panel_set_axes_2d(
    DvzPanel * panel,
    const DvzPanelAxes2DDesc * desc
);
Field Type Description
return DvzResult DVZ_OK if the axes were updated, DVZ_ERROR otherwise
panel DvzPanel * the panel
desc const DvzPanelAxes2DDesc * axes descriptor, or NULL for defaults

Declared in include/datoviz/scene.h:1526.

dvz_panel_set_background()

Set or update a panel background.

Backgrounds are rendered as a fixed full-panel visual behind regular visuals. Passing NULL or a descriptor with type DVZ_PANEL_BACKGROUND_NONE clears the current background. Linear gradients use panel-local start and end points in [0, 1]. Background color and gradient float components are display/sRGB-authored semantic colors; RGB is linearized before rendering arithmetic and alpha remains linear. Image backgrounds accept tightly packed RGBA8 sRGB color pixels and stretch them to the panel rectangle.

DvzResult dvz_panel_set_background(
    DvzPanel * panel,
    const DvzPanelBackgroundDesc * background
);
Field Type Description
return DvzResult DVZ_OK if the background was updated, DVZ_ERROR otherwise
panel DvzPanel * the panel
background const DvzPanelBackgroundDesc * the background descriptor, or NULL to clear

Declared in include/datoviz/scene.h:1167.

dvz_panel_set_background_color()

Set or update a uniform-color background for a panel.

Internally creates a fullscreen-quad visual attached behind regular visuals with controller_mode=FIXED so the background fills the panel rect and is unaffected by panzoom/arcball navigation. Repeat calls update the existing background's color instead of stacking new visuals.

DvzResult dvz_panel_set_background_color(
    DvzPanel * panel,
    DvzColor color
);
Field Type Description
return DvzResult DVZ_OK if the background was updated, DVZ_ERROR otherwise
panel DvzPanel * the panel
color DvzColor RGBA8 background color

Declared in include/datoviz/scene.h:1205.

dvz_panel_set_border()

Set, update, or clear a fixed panel border.

Borders are panel chrome: they are rendered as a fixed screen-space overlay, do not affect plot layout, and do not reserve space. Passing NULL, visible=false, or width_px=0 clears the border.

DvzResult dvz_panel_set_border(
    DvzPanel * panel,
    const DvzPanelBorderDesc * border
);
Field Type Description
return DvzResult DVZ_OK if the border was updated, DVZ_ERROR otherwise
panel DvzPanel * the panel
border const DvzPanelBorderDesc * border descriptor, or NULL to clear

Declared in include/datoviz/scene.h:1228.

dvz_panel_set_bounds_visible()

Show or hide the panel-owned visual bounds overlay.

The overlay is a generated wireframe segment visual in visual space. It follows the panel controller and is rebuilt from visible, controller-applied visuals before frame emission.

DvzResult dvz_panel_set_bounds_visible(
    DvzPanel * panel,
    _Bool visible
);
Field Type Description
return DvzResult 0 on success, -1 on error
panel DvzPanel * the panel
visible _Bool whether bounds boxes should be shown

Declared in include/datoviz/scene.h:1361.

dvz_panel_set_camera_desc()

Set or replace the camera descriptor attached to a panel.

DvzResult dvz_panel_set_camera_desc(
    DvzPanel * panel,
    const DvzCameraDesc * desc
);
Field Type Description
return DvzResult 0 on success, -1 on validation or allocation error
panel DvzPanel * the panel
desc const DvzCameraDesc * the camera descriptor, or NULL for defaults

Declared in include/datoviz/scene/camera.h:37.

dvz_panel_set_desc()

Update a panel rectangle in normalized figure-content coordinates.

Changing the descriptor updates panel viewport/scissor state on the next emit and marks layout-dependent adornments dirty.

DvzResult dvz_panel_set_desc(
    DvzPanel * panel,
    const DvzPanelDesc * desc
);
Field Type Description
return DvzResult DVZ_OK on success, DVZ_ERROR on validation error
panel DvzPanel * the panel
desc const DvzPanelDesc * panel position and size in normalized [0, 1] figure-content coordinates

Declared in include/datoviz/scene.h:640.

dvz_panel_set_domain()

Set a panel data domain for one axis dimension.

Axis support currently covers finite linear X/Y domains. Domain endpoints are ordered, not sorted: reversed domains such as min=10, max=0 are legal and reverse the data-to-visual mapping. Axis geometry is derived from this domain and the panel panzoom extent during frame emission.

DvzResult dvz_panel_set_domain(
    DvzPanel * panel,
    DvzDim dim,
    double min,
    double max
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
panel DvzPanel * the panel
dim DvzDim axis dimension
min double data minimum
max double data maximum

Declared in include/datoviz/scene.h:1387.

dvz_panel_set_padding()

Set a fixed pixel padding inside one panel's outer rectangle.

Padding is applied before reserves are resolved: the padded inner panel rectangle contains both the plot rectangle and reserved adornment bands. Use padding for simple inset spacing; attached adornments normally manage reserve bands themselves. Pass NULL to reset every side to zero.

DvzResult dvz_panel_set_padding(
    DvzPanel * panel,
    const DvzPanelReserve * padding
);
Field Type Description
return DvzResult DVZ_OK if the padding was accepted, DVZ_ERROR otherwise
panel DvzPanel * the panel
padding const DvzPanelReserve * pixel padding descriptor, or NULL for zero padding

Declared in include/datoviz/scene.h:689.

dvz_panel_set_reserve()

Set a fixed pixel reservation around one panel's plot area.

This is an advanced/manual plot-space override in logical pixels. Bare panels are edge-to-edge by default, while attached axes, colorbars, and legends normally reserve their own bands. Pass NULL to reset the manual reserve to zero.

DvzResult dvz_panel_set_reserve(
    DvzPanel * panel,
    const DvzPanelReserve * reserve
);
Field Type Description
return DvzResult DVZ_OK if the reservation was accepted, DVZ_ERROR otherwise
panel DvzPanel * the panel
reserve const DvzPanelReserve * pixel reservation descriptor, or NULL for zero reserve

Declared in include/datoviz/scene.h:663.

dvz_panel_set_view2d()

Set a panel 2D view descriptor.

Passing NULL clears the active 2D view. Explicit descriptor domains are copied into the retained view and synchronized to panel axes for compatibility. With DVZ_PANEL_VIEW2D_ASPECT_EQUAL, VIEW and DATA coordinates preserve equal X/Y screen scale under the current plot rectangle.

DvzResult dvz_panel_set_view2d(
    DvzPanel * panel,
    const DvzPanelView2DDesc * desc
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
panel DvzPanel * the panel
desc const DvzPanelView2DDesc * panel 2D view descriptor, or NULL to clear

Declared in include/datoviz/scene.h:1413.

dvz_panel_set_view3d_desc()

Set a revisioned panel 3D view descriptor.

Passing NULL clears the panel-owned camera.

DvzResult dvz_panel_set_view3d_desc(
    DvzPanel * panel,
    const DvzPanelView3DDesc * desc
);
Field Type Description
return DvzResult 0 on success, -1 on validation/allocation error
panel DvzPanel * the panel
desc const DvzPanelView3DDesc * panel 3D view descriptor, or NULL to clear

Declared in include/datoviz/scene.h:1461.

dvz_panel_transform_point()

Convert one 2D point between explicit panel coordinate spaces.

Figure, panel, inner, and plot pixel spaces use logical pixels. Panel pixels are local to the outer panel rectangle and match dvz_panel_query_px() coordinates. DATA coordinates use the current visible data domain. VIEW coordinates are the visual coordinates used by visuals attached with DVZ_VISUAL_COORD_VIEW.

_Bool dvz_panel_transform_point(
    DvzPanel * panel,
    DvzPanelCoordSpace from,
    DvzPanelCoordSpace to,
    const double[2] in,
    double[2] out
);
Field Type Description
return _Bool whether the conversion was supported and finite
panel DvzPanel * the panel
from DvzPanelCoordSpace source coordinate space
to DvzPanelCoordSpace destination coordinate space
in const double[2] input point
out double[2] output point

Declared in include/datoviz/scene.h:854.

dvz_panel_view2d_desc()

Return the default revisioned panel 2D view descriptor.

The descriptor owns both fitting policy and optional ordered DATA-domain endpoints. Reversed domains are legal and preserved.

DvzPanelView2DDesc dvz_panel_view2d_desc(void);
Field Type Description
return DvzPanelView2DDesc panel 2D view descriptor

Declared in include/datoviz/scene.h:1398.

dvz_panel_view2d_extent()

Return the current resolved panel VIEW extent before panzoom.

_Bool dvz_panel_view2d_extent(
    DvzPanel * panel,
    float[4] out
);
Field Type Description
return _Bool whether the extent was written
panel DvzPanel * the panel
out float[4] output extent as xmin, xmax, ymin, ymax

Declared in include/datoviz/scene.h:1431.

dvz_panel_view2d_state()

Copy the current canonical 2D panel view state.

_Bool dvz_panel_view2d_state(
    const DvzPanel * panel,
    DvzPanelView2DState * out
);
Field Type Description
return _Bool whether the state was copied
panel const DvzPanel * the panel
out DvzPanelView2DState * output 2D view state

Declared in include/datoviz/scene.h:1441.

dvz_panel_view3d_desc()

Return the default revisioned panel 3D view descriptor.

DvzPanelView3DDesc dvz_panel_view3d_desc(void);
Field Type Description
return DvzPanelView3DDesc panel 3D view descriptor

Declared in include/datoviz/scene.h:1449.

dvz_panel_view3d_state()

Copy the current canonical 3D panel view state.

_Bool dvz_panel_view3d_state(
    DvzPanel * panel,
    DvzPanelView3DState * out
);
Field Type Description
return _Bool whether the state was copied
panel DvzPanel * the panel
out DvzPanelView3DState * output 3D view state

Declared in include/datoviz/scene.h:1471.

dvz_panel_visible_domain()

Return the current visible data domain for one panel dimension.

The panel's data-to-view policy is combined with the current panzoom extent. The returned endpoints preserve the active domain orientation, so reversed domains return reversed visible endpoints. When no explicit domain has been configured, the default visual domain [-1, +1] is used. Use this for data/pixel conversion; dvz_panel_transform_point() wraps the common point conversions.

_Bool dvz_panel_visible_domain(
    DvzPanel * panel,
    DvzDim dim,
    double * out_min,
    double * out_max
);
Field Type Description
return _Bool whether the visible domain was written
panel DvzPanel * the panel
dim DvzDim axis dimension
out_min double * output visible data minimum
out_max double * output visible data maximum

Declared in include/datoviz/scene.h:1490.

dvz_panel_visual_bounds()

Return one visual's bounds in the coordinate space of one panel attachment.

DVZ_BOUNDS_SPACE_VISUAL returns the retained visual-space AABB. DVZ_BOUNDS_SPACE_SCREEN projects the visual-space box through the panel attachment MVP and returns pixel bounds relative to the figure.

DvzResult dvz_panel_visual_bounds(
    const DvzPanel * panel,
    const DvzVisual * visual,
    DvzBoundsSpace space,
    DvzBounds * out
);
Field Type Description
return DvzResult 0 when bounds are available, -1 otherwise
panel const DvzPanel * the panel
visual const DvzVisual * visual attached to the panel
space DvzBoundsSpace target bounds space
out DvzBounds * output bounding box

Declared in include/datoviz/scene.h:2150.

Types

DvzPanel · typedef
typedef struct DvzPanel DvzPanel;

Declared in include/datoviz/scene/types.h:61.

DvzPanelAxes2DDesc · record
struct DvzPanelAxes2DDesc {
    uint32_t struct_size;
    uint32_t flags;
    const char * x_label;
    const char * y_label;
};

Declared in include/datoviz/scene/types.h:791.

DvzPanelBackgroundDesc · record
struct DvzPanelBackgroundDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzPanelBackgroundType type;
    float[4] color;
    DvzPanelBackgroundGradient gradient;
    DvzPanelBackgroundImage image;
};

Declared in include/datoviz/scene/types.h:361.

DvzPanelBackgroundGradient · record
struct DvzPanelBackgroundGradient {
    float[2] start;
    float[2] end;
    float[4] color0;
    float[4] color1;
};

Declared in include/datoviz/scene/types.h:342.

DvzPanelBackgroundImage · record
struct DvzPanelBackgroundImage {
    const void * rgba;
    uint32_t width;
    uint32_t height;
};

Declared in include/datoviz/scene/types.h:352.

DvzPanelBackgroundType · enum
enum DvzPanelBackgroundType {
    DVZ_PANEL_BACKGROUND_NONE = 0,
    DVZ_PANEL_BACKGROUND_COLOR = 1,
    DVZ_PANEL_BACKGROUND_LINEAR_GRADIENT = 2,
    DVZ_PANEL_BACKGROUND_IMAGE = 3,
};

Declared in include/datoviz/scene/types.h:333.

DvzPanelBorderDesc · record
struct DvzPanelBorderDesc {
    uint32_t struct_size;
    uint32_t flags;
    _Bool visible;
    DvzColor color;
    float width_px;
    float inset_px;
};

Declared in include/datoviz/scene/types.h:459.

DvzPanelCoordSpace · enum
enum DvzPanelCoordSpace {
    DVZ_PANEL_COORD_FIGURE_PX = 0,
    DVZ_PANEL_COORD_PANEL_PX = 1,
    DVZ_PANEL_COORD_INNER_PX = 2,
    DVZ_PANEL_COORD_PLOT_PX = 3,
    DVZ_PANEL_COORD_DATA = 4,
    DVZ_PANEL_COORD_VIEW = 5,
};

Declared in include/datoviz/scene/enums.h:162.

DvzPanelDesc · record
struct DvzPanelDesc {
    float x;
    float y;
    float width;
    float height;
};

Declared in include/datoviz/scene/types.h:284.

DvzPanelFrameInfo · record
struct DvzPanelFrameInfo {
    uint32_t struct_size;
    uint32_t flags;
    DvzId snapshot_id;
    DvzId figure_id;
    DvzId panel_id;
    DvzId view_id;
    DvzPanelViewKind view_kind;
    uint64_t panel_revision;
    uint64_t layout_revision;
    uint64_t view_revision;
    uint64_t guide_revision;
    uint64_t visual_revision;
    uint32_t logical_width_px;
    uint32_t logical_height_px;
    float framebuffer_width_px;
    float framebuffer_height_px;
    float device_scale_x;
    float device_scale_y;
    float user_scale;
    DvzRect panel_rect_px;
    DvzRect inner_rect_px;
    DvzRect plot_rect_px;
    DvzRect grid_clip_rect_px;
    float[4] plot_view;
    float[4] view_extent;
    float[4] controller_extent;
    double[2] source_data_x;
    double[2] source_data_y;
    double[2] visible_data_x;
    double[2] visible_data_y;
    uint64_t data_to_view_padding;
    mat4 data_to_view;
    _Bool has_view2d;
    _Bool has_valid_source_x;
    _Bool has_valid_source_y;
    _Bool has_valid_visible_x;
    _Bool has_valid_visible_y;
    DvzDiagnosticReport diagnostics;
};

Declared in include/datoviz/scene/types.h:481.

DvzPanelFrameSnapshot · typedef
typedef struct DvzPanelFrameSnapshot DvzPanelFrameSnapshot;

Declared in include/datoviz/scene/types.h:62.

DvzPanelReserve · record
struct DvzPanelReserve {
    float left_px;
    float right_px;
    float top_px;
    float bottom_px;
};

Declared in include/datoviz/scene/types.h:639.

DvzPanelView2DAspect · enum
enum DvzPanelView2DAspect {
    DVZ_PANEL_VIEW2D_ASPECT_FREE = 0,
    DVZ_PANEL_VIEW2D_ASPECT_EQUAL = 1,
};

Declared in include/datoviz/scene/types.h:664.

DvzPanelView2DDesc · record
struct DvzPanelView2DDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzPanelView2DMode mode;
    DvzPanelView2DAspect aspect;
    double padding;
    double[2] domain_x;
    double[2] domain_y;
    _Bool has_domain_x;
    _Bool has_domain_y;
};

Declared in include/datoviz/scene/types.h:671.

DvzPanelView2DMode · enum
enum DvzPanelView2DMode {
    DVZ_PANEL_VIEW2D_NONE = 0,
    DVZ_PANEL_VIEW2D_CONTAIN = 1,
};

Declared in include/datoviz/scene/types.h:657.

DvzPanelView2DState · record
struct DvzPanelView2DState {
    uint32_t struct_size;
    uint32_t flags;
    DvzId view_id;
    uint64_t revision;
    _Bool enabled;
    DvzPanelView2DMode mode;
    DvzPanelView2DAspect aspect;
    double padding;
    double[2] domain_x;
    double[2] domain_y;
    _Bool has_domain_x;
    _Bool has_domain_y;
    float[4] view_extent;
    uint32_t[3] data_to_view_padding;
    mat4 data_to_view;
    _Bool has_valid_source_x;
    _Bool has_valid_source_y;
};

Declared in include/datoviz/scene/types.h:686.

DvzPanelView3DDesc · record
struct DvzPanelView3DDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzCameraView view;
    DvzCameraProjection projection;
};

Declared in include/datoviz/scene/types.h:709.

DvzPanelView3DState · record
struct DvzPanelView3DState {
    uint32_t struct_size;
    uint32_t flags;
    DvzId view_id;
    uint64_t revision;
    _Bool enabled;
    DvzCameraView view;
    DvzCameraProjection projection;
    _Bool has_explicit_orthographic_bounds;
    float[6] orthographic_bounds;
    mat4 model_matrix;
    mat4 view_matrix;
    mat4 projection_matrix;
};

Declared in include/datoviz/scene/types.h:719.

DvzPanelViewKind · enum
enum DvzPanelViewKind {
    DVZ_PANEL_VIEW_KIND_NONE = 0,
    DVZ_PANEL_VIEW_KIND_2D = 1,
    DVZ_PANEL_VIEW_KIND_3D = 2,
};

Declared in include/datoviz/scene/types.h:193.

Panzoom

Functions

dvz_panzoom()

Create a scene-owned panzoom controller.

DvzController * dvz_panzoom(
    DvzScene * scene,
    const DvzPanzoomDesc * desc
);
Field Type Description
return DvzController * the scene-owned controller handle
scene DvzScene * the scene
desc const DvzPanzoomDesc * panzoom descriptor, or NULL for defaults

Declared in include/datoviz/scene/panzoom.h:37.

Pinned

Functions

dvz_pinned_readout_destroy()

Destroy a pinned readout object.

void dvz_pinned_readout_destroy(
    DvzPinnedReadout * readout
);
Field Type Description
readout DvzPinnedReadout * the pinned readout

Declared in include/datoviz/scene/interaction.h:466.

dvz_pinned_readout_query()

Create a pinned readout from a resolved query result.

DvzPinnedReadout * dvz_pinned_readout_query(
    DvzPanel * panel,
    const DvzQueryResult * query
);
Field Type Description
return DvzPinnedReadout * the pinned readout
panel DvzPanel * the panel
query const DvzQueryResult * the query result

Declared in include/datoviz/scene/interaction.h:457.

dvz_pinned_readout_set_format()

Override formatting for a pinned readout.

DvzResult dvz_pinned_readout_set_format(
    DvzPinnedReadout * readout,
    const DvzFormatDesc * format
);
Field Type Description
return DvzResult DVZ_OK when the format was accepted, DVZ_ERROR on error
readout DvzPinnedReadout * the pinned readout
format const DvzFormatDesc * the format descriptor, or NULL to clear the override

Declared in include/datoviz/scene/interaction.h:476.

Types

DvzPinnedReadout · typedef
typedef struct DvzPinnedReadout DvzPinnedReadout;

Declared in include/datoviz/scene/types.h:79.

Placement

Functions

dvz_placement()

Return the default panel-local placement descriptor.

The default anchors a zero-sized widget to the panel top-left corner with no offset. Callers normally override anchors, size, and offsets before resolving.

DvzPlacement dvz_placement(void);
Field Type Description
return DvzPlacement default placement descriptor

Declared in include/datoviz/scene.h:906.

dvz_placement_panel_corner()

Return a fixed-size panel-corner placement descriptor.

DvzPlacement dvz_placement_panel_corner(
    DvzHorizontalAnchor horizontal,
    DvzVerticalAnchor vertical,
    float width_px,
    float height_px,
    float offset_x_px,
    float offset_y_px
);
Field Type Description
return DvzPlacement placement descriptor
horizontal DvzHorizontalAnchor horizontal panel anchor
vertical DvzVerticalAnchor vertical panel anchor
width_px float widget width in logical pixels
height_px float widget height in logical pixels
offset_x_px float horizontal offset from the anchor in logical pixels
offset_y_px float vertical offset from the anchor in logical pixels

Declared in include/datoviz/scene.h:920.

dvz_placement_resolve()

Resolve a placement to a panel-local rectangle.

panel_rect and figure_rect are expressed in logical figure pixels. Panel-space placements resolve inside the panel; figure-space placements resolve inside the figure and are returned in the panel's local coordinate system.

_Bool dvz_placement_resolve(
    const DvzPlacement * placement,
    const DvzRect * panel_rect,
    const DvzRect * figure_rect,
    DvzRect * out
);
Field Type Description
return _Bool whether the placement could be resolved
placement const DvzPlacement * placement descriptor
panel_rect const DvzRect * panel rectangle in figure pixels
figure_rect const DvzRect * figure rectangle in figure pixels, or NULL to use the panel rectangle
out DvzRect * output panel-local rectangle

Declared in include/datoviz/scene.h:938.

Types

DvzPlacement · record
struct DvzPlacement {
    DvzPlacementSpace space;
    DvzHorizontalAnchor horizontal_anchor;
    DvzVerticalAnchor vertical_anchor;
    float offset_x_px;
    float offset_y_px;
    float width_px;
    float height_px;
};

Declared in include/datoviz/scene/types.h:801.

DvzPlacementSpace · enum
enum DvzPlacementSpace {
    DVZ_PLACEMENT_SPACE_PANEL = 0,
    DVZ_PLACEMENT_SPACE_FIGURE = 1,
};

Declared in include/datoviz/scene/enums.h:606.

Plot

Types

DvzPlotRole · enum
enum DvzPlotRole {
    DVZ_PLOT_ROLE_FILL = 0,
    DVZ_PLOT_ROLE_LINE = 1,
    DVZ_PLOT_ROLE_OUTLINE = 2,
    DVZ_PLOT_ROLE_BOUNDS = 3,
};

Declared in include/datoviz/scene/types.h:380.

Query

Functions

dvz_query_request()

Return the default query request descriptor.

DvzQueryRequest dvz_query_request(void);
Field Type Description
return DvzQueryRequest default query request descriptor

Declared in include/datoviz/scene/interaction.h:389.

Types

DvzQueryCapabilityFlag · enum
enum DvzQueryCapabilityFlag {
    DVZ_QUERY_CAPABILITY_OBJECT = 1,
    DVZ_QUERY_CAPABILITY_ITEM = 2,
    DVZ_QUERY_CAPABILITY_VERTEX = 4,
    DVZ_QUERY_CAPABILITY_FACE = 8,
    DVZ_QUERY_CAPABILITY_PIXEL = 16,
    DVZ_QUERY_CAPABILITY_SAMPLE = 32,
    DVZ_QUERY_CAPABILITY_GROUP = 64,
};

Declared in include/datoviz/scene/enums.h:714.

DvzQueryHitPolicy · enum
enum DvzQueryHitPolicy {
    DVZ_QUERY_HIT_FRONTMOST = 0,
    DVZ_QUERY_HIT_OPAQUE_PREFERRED = 1,
    DVZ_QUERY_HIT_ALL = 2,
};

Declared in include/datoviz/scene/enums.h:466.

DvzQueryProfile · enum
enum DvzQueryProfile {
    DVZ_QUERY_PROFILE_UNSUPPORTED = 0,
    DVZ_QUERY_PROFILE_U32_R32 = 1,
    DVZ_QUERY_PROFILE_U64_RG32 = 2,
    DVZ_QUERY_PROFILE_U64_2XR32 = 3,
};

Declared in include/datoviz/scene/enums.h:474.

DvzQueryRequest · record
struct DvzQueryRequest {
    uint32_t struct_size;
    uint32_t flags;
    uint64_t request_id;
    DvzSceneTargetKind target;
    DvzQueryHitPolicy hit_policy;
    DvzQueryProfile profile;
};

Declared in include/datoviz/scene/types.h:1324.

DvzQueryResult · record
struct DvzQueryResult {
    uint64_t request_id;
    uint64_t freshness_serial;
    DvzQueryStatus status;
    _Bool hit;
    DvzId scene_id;
    DvzId figure_id;
    uint64_t panel_id;
    double[2] panel_position;
    uint32_t[2] framebuffer_position;
    uint64_t visual_id;
    DvzSceneVisualFamily visual_family;
    DvzQueryProfile profile;
    uint32_t payload_version;
    DvzSceneTargetKind raw_parent_target;
    uint64_t raw_parent_id;
    DvzSceneTargetKind raw_target;
    uint64_t raw_id;
    DvzSceneTargetKind resolved_parent_target;
    uint64_t resolved_parent_id;
    DvzSceneTargetKind resolved_target;
    uint64_t resolved_id;
    uint64_t item_id;
    uint64_t group_id;
    uint64_t auxiliary_id;
    uint64_t instance_id;
    uint64_t face_id;
    uint64_t primitive_id;
    uint64_t vertex_id;
    uint64_t voxel_id;
    uint64_t texel_id;
    uint64_t link_key;
    uint32_t link_channel;
    _Bool has_visual_position;
    double[3] visual_position;
    _Bool has_data_position;
    double[3] data_position;
    _Bool has_uvw;
    double[3] uvw;
    _Bool has_depth;
    double depth;
    _Bool has_display_rgba;
    double[4] display_rgba;
    DvzQueryValueKind value_kind;
    double scalar;
    double[4] vector;
    DvzCategoryId category_id;
    char[128] label;
    char[32] unit;
    DvzScale * scale;
};

Declared in include/datoviz/scene/types.h:1336.

DvzQueryStatus · enum
enum DvzQueryStatus {
    DVZ_QUERY_STATUS_UNKNOWN = 0,
    DVZ_QUERY_STATUS_HIT = 1,
    DVZ_QUERY_STATUS_MISS = 2,
    DVZ_QUERY_STATUS_OUTSIDE_PANEL = 3,
    DVZ_QUERY_STATUS_STALE_DROPPED = 4,
    DVZ_QUERY_STATUS_NO_CAPABLE_VISUAL = 5,
    DVZ_QUERY_STATUS_UNSUPPORTED_TARGET = 6,
    DVZ_QUERY_STATUS_UNSUPPORTED_VISUAL_FAMILY = 7,
    DVZ_QUERY_STATUS_UNSUPPORTED_QUERY_PROFILE = 8,
    DVZ_QUERY_STATUS_UNSUPPORTED_GPU_FORMAT = 9,
    DVZ_QUERY_STATUS_GPU_EXEC_FAILED = 10,
    DVZ_QUERY_STATUS_READBACK_FAILED = 11,
    DVZ_QUERY_STATUS_DECODE_FAILED = 12,
};

Declared in include/datoviz/scene/enums.h:483.

DvzQueryValueKind · enum
enum DvzQueryValueKind {
    DVZ_QUERY_VALUE_NONE = 0,
    DVZ_QUERY_VALUE_SCALAR = 1,
    DVZ_QUERY_VALUE_VEC2 = 2,
    DVZ_QUERY_VALUE_VEC3 = 3,
    DVZ_QUERY_VALUE_VEC4 = 4,
    DVZ_QUERY_VALUE_CATEGORY = 5,
    DVZ_QUERY_VALUE_TEXT = 6,
    DVZ_QUERY_VALUE_OPAQUE_FAMILY_PAYLOAD = 7,
};

Declared in include/datoviz/scene/enums.h:501.

Rect

Types

DvzRect · record
struct DvzRect {
    float x;
    float y;
    float width;
    float height;
};

Declared in include/datoviz/scene/types.h:471.

Reference Grid

Functions

dvz_reference_grid()

Create a retained plane-oriented reference grid attached to one panel.

The helper lowers to a retained segment visual and does not introduce a renderer path.

DvzReferenceGrid * dvz_reference_grid(
    DvzPanel * panel,
    const DvzReferenceGridDesc * desc
);
Field Type Description
return DvzReferenceGrid * the reference grid, or NULL on validation/allocation error
panel DvzPanel * panel receiving the grid
desc const DvzReferenceGridDesc * descriptor, or NULL for defaults

Declared in include/datoviz/scene.h:1008.

dvz_reference_grid_desc()

Return the default reference-grid descriptor.

DvzReferenceGridDesc dvz_reference_grid_desc(void);
Field Type Description
return DvzReferenceGridDesc default reference-grid descriptor

Related: dvz_reference_grid().

Declared in include/datoviz/scene.h:996.

dvz_reference_grid_destroy()

Destroy a reference grid.

void dvz_reference_grid_destroy(
    DvzReferenceGrid * grid
);
Field Type Description
grid DvzReferenceGrid * the reference grid

Declared in include/datoviz/scene.h:1017.

dvz_reference_grid_set_visible()

Set reference-grid visibility.

DvzResult dvz_reference_grid_set_visible(
    DvzReferenceGrid * grid,
    _Bool visible
);
Field Type Description
return DvzResult DVZ_OK when the visibility was accepted, DVZ_ERROR on error
grid DvzReferenceGrid * the reference grid
visible _Bool whether the grid should be visible

Declared in include/datoviz/scene.h:1027.

Types

DvzReferenceGrid · typedef
typedef struct DvzReferenceGrid DvzReferenceGrid;

Declared in include/datoviz/scene/types.h:87.

DvzReferenceGridDesc · record
struct DvzReferenceGridDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzReferenceGridPlane plane;
    vec3 origin;
    vec3 axis_u;
    vec3 axis_v;
    float[2] size;
    float spacing;
    uint32_t major_every;
    DvzColor minor_color;
    DvzColor major_color;
    DvzColor axis_color;
    float minor_width_px;
    float major_width_px;
    float axis_width_px;
    _Bool show_minor;
    _Bool show_major;
    _Bool show_axes;
    _Bool depth_test;
};

Declared in include/datoviz/scene/types.h:829.

DvzReferenceGridPlane · enum
enum DvzReferenceGridPlane {
    DVZ_REFERENCE_GRID_XY = 0,
    DVZ_REFERENCE_GRID_XZ = 1,
    DVZ_REFERENCE_GRID_YZ = 2,
    DVZ_REFERENCE_GRID_CUSTOM = 3,
};

Declared in include/datoviz/scene/enums.h:76.

Rendered

Types

DvzRenderedContribution · record
struct DvzRenderedContribution {
    uint32_t struct_size;
    uint32_t flags;
    DvzId snapshot_id;
    DvzId contribution_id;
    DvzId guide_id;
    DvzId visual_id;
    DvzRenderedContributionKind kind;
    DvzGuideRole role;
    DvzGuidePart part;
    DvzRect box_px;
    char[128] label;
};

Declared in include/datoviz/scene/types.h:622.

DvzRenderedContributionKind · enum
enum DvzRenderedContributionKind {
    DVZ_RENDERED_CONTRIBUTION_NONE = 0,
    DVZ_RENDERED_CONTRIBUTION_VISUAL = 1,
    DVZ_RENDERED_CONTRIBUTION_GUIDE = 2,
};

Declared in include/datoviz/scene/types.h:571.

Sampled Field

Functions

dvz_sampled_field()

Create a scene-owned sampled field.

DvzSampledField * dvz_sampled_field(
    DvzScene * scene,
    const DvzSampledFieldDesc * desc
);
Field Type Description
return DvzSampledField * the sampled field, or NULL on error
scene DvzScene * the scene
desc const DvzSampledFieldDesc * the field descriptor

Declared in include/datoviz/scene/field.h:193.

dvz_sampled_field_desc()

Return the default sampled-field descriptor.

DvzSampledFieldDesc dvz_sampled_field_desc(void);
Field Type Description
return DvzSampledFieldDesc default sampled-field descriptor

Related: dvz_sampled_field().

Declared in include/datoviz/scene/field.h:167.

dvz_sampled_field_destroy()

Destroy a sampled field.

Any visual bindings to this field are cleared.

void dvz_sampled_field_destroy(
    DvzSampledField * field
);
Field Type Description
field DvzSampledField * the sampled field

Declared in include/datoviz/scene/field.h:213.

dvz_sampled_field_id()

Return the scene-local identity of a sampled field.

DvzId dvz_sampled_field_id(
    const DvzSampledField * field
);
Field Type Description
return DvzId the scene-local identity, or DVZ_ID_NONE when field is NULL or destroyed
field const DvzSampledField * the sampled field

Declared in include/datoviz/scene/field.h:203.

dvz_sampled_field_info()

Copy immutable field descriptor information.

The descriptor is copied into caller-owned storage and remains valid after return.

_Bool dvz_sampled_field_info(
    const DvzSampledField * field,
    DvzSampledFieldDesc * out
);
Field Type Description
return _Bool whether the descriptor was copied
field const DvzSampledField * the sampled field
out DvzSampledFieldDesc * output field descriptor

Declared in include/datoviz/scene/field.h:286.

dvz_sampled_field_resize()

Change the field extent and replace the entire payload.

The field format, semantic, dimensionality, and visual bindings are preserved. Bound image visuals receive a full dirty mark so the next scene emission reallocates the texture if needed. width, height, and depth must describe a non-empty extent. view->data must cover that extent and is copied before return.

DvzResult dvz_sampled_field_resize(
    DvzSampledField * field,
    uint32_t width,
    uint32_t height,
    uint32_t depth,
    const DvzFieldDataView * view
);
Field Type Description
return DvzResult DVZ_OK on success, DVZ_ERROR on error
field DvzSampledField * the sampled field
width uint32_t new field width in samples
height uint32_t new field height in samples
depth uint32_t new field depth in samples (must be 1 for 2D fields)
view const DvzFieldDataView * the uploaded data view for the new extent

Declared in include/datoviz/scene/field.h:246.

dvz_sampled_field_set_data()

Replace the entire field payload.

view->data must cover the full field extent. Payload bytes are copied into scene-owned storage before return and may be released by the caller after this function returns. Passing NULL or an empty view is rejected.

DvzResult dvz_sampled_field_set_data(
    DvzSampledField * field,
    const DvzFieldDataView * view
);
Field Type Description
return DvzResult DVZ_OK on success, DVZ_ERROR on error
field DvzSampledField * the sampled field
view const DvzFieldDataView * the uploaded data view

Declared in include/datoviz/scene/field.h:227.

dvz_sampled_field_set_geometry()

Update the field geometry metadata.

DvzResult dvz_sampled_field_set_geometry(
    DvzSampledField * field,
    const DvzFieldGeometry * geometry
);
Field Type Description
return DvzResult DVZ_OK on success, DVZ_ERROR on error
field DvzSampledField * the sampled field
geometry const DvzFieldGeometry * the geometry descriptor

Declared in include/datoviz/scene/field.h:273.

dvz_sampled_field_update_region()

Update a field subregion in sample coordinates.

region must be non-empty and fully inside the current field extent. view->data must cover the subregion and is copied before return.

DvzResult dvz_sampled_field_update_region(
    DvzSampledField * field,
    DvzFieldRegion region,
    const DvzFieldDataView * view
);
Field Type Description
return DvzResult DVZ_OK on success, DVZ_ERROR on error
field DvzSampledField * the sampled field
region DvzFieldRegion the updated sample-space region
view const DvzFieldDataView * the uploaded data view

Declared in include/datoviz/scene/field.h:262.

Types

DvzColorRole · enum
enum DvzColorRole {
    DVZ_COLOR_ROLE_NONE = 0,
    DVZ_COLOR_ROLE_SRGB_COLOR = 1,
    DVZ_COLOR_ROLE_LINEAR_COLOR = 2,
    DVZ_COLOR_ROLE_DATA = 3,
};

Declared in include/datoviz/scene/field.h:89.

DvzFieldDataView · record
struct DvzFieldDataView {
    uint32_t struct_size;
    uint32_t flags;
    const void * data;
    uint64_t bytes_per_row;
    uint64_t rows_per_image;
};

Declared in include/datoviz/scene/field.h:146.

DvzFieldDim · enum
enum DvzFieldDim {
    DVZ_FIELD_DIM_2D = 0,
    DVZ_FIELD_DIM_3D = 1,
};

Declared in include/datoviz/scene/field.h:30.

DvzFieldFormat · enum
enum DvzFieldFormat {
    DVZ_FIELD_FORMAT_R8_UNORM = 0,
    DVZ_FIELD_FORMAT_R8_UINT = 1,
    DVZ_FIELD_FORMAT_R8_SINT = 2,
    DVZ_FIELD_FORMAT_R8_SNORM = 3,
    DVZ_FIELD_FORMAT_R16_UNORM = 4,
    DVZ_FIELD_FORMAT_R16_UINT = 5,
    DVZ_FIELD_FORMAT_R16_SNORM = 6,
    DVZ_FIELD_FORMAT_R16_SINT = 7,
    DVZ_FIELD_FORMAT_R16_FLOAT = 8,
    DVZ_FIELD_FORMAT_R32_UINT = 9,
    DVZ_FIELD_FORMAT_R32_SINT = 10,
    DVZ_FIELD_FORMAT_R32_FLOAT = 11,
    DVZ_FIELD_FORMAT_RG8_UNORM = 12,
    DVZ_FIELD_FORMAT_RG8_UINT = 13,
    DVZ_FIELD_FORMAT_RG8_SINT = 14,
    DVZ_FIELD_FORMAT_RG16_UNORM = 15,
    DVZ_FIELD_FORMAT_RG16_UINT = 16,
    DVZ_FIELD_FORMAT_RG16_SINT = 17,
    DVZ_FIELD_FORMAT_RG16_FLOAT = 18,
    DVZ_FIELD_FORMAT_RG32_UINT = 19,
    DVZ_FIELD_FORMAT_RG32_SINT = 20,
    DVZ_FIELD_FORMAT_RG32_FLOAT = 21,
    DVZ_FIELD_FORMAT_RGBA8_UNORM = 22,
    DVZ_FIELD_FORMAT_RGBA8_UINT = 23,
    DVZ_FIELD_FORMAT_RGBA8_SINT = 24,
    DVZ_FIELD_FORMAT_RGBA16_UNORM = 25,
    DVZ_FIELD_FORMAT_RGBA16_UINT = 26,
    DVZ_FIELD_FORMAT_RGBA16_SINT = 27,
    DVZ_FIELD_FORMAT_RGBA16_FLOAT = 28,
    DVZ_FIELD_FORMAT_RGBA32_UINT = 29,
    DVZ_FIELD_FORMAT_RGBA32_SINT = 30,
    DVZ_FIELD_FORMAT_RGBA32_FLOAT = 31,
};

Declared in include/datoviz/scene/field.h:38.

DvzFieldGeometry · record
struct DvzFieldGeometry {
    uint32_t struct_size;
    uint32_t flags;
    uint32_t[3] axis_order;
    _Bool[3] axis_flip;
    double[3] origin;
    double[3] spacing;
    char[32] unit;
};

Declared in include/datoviz/scene/field.h:119.

DvzFieldRegion · record
struct DvzFieldRegion {
    uint32_t x;
    uint32_t y;
    uint32_t z;
    uint32_t width;
    uint32_t height;
    uint32_t depth;
};

Declared in include/datoviz/scene/field.h:133.

DvzFieldSemantic · enum
enum DvzFieldSemantic {
    DVZ_FIELD_SEMANTIC_GENERIC = 0,
    DVZ_FIELD_SEMANTIC_SCALAR = 1,
    DVZ_FIELD_SEMANTIC_VECTOR_2 = 2,
    DVZ_FIELD_SEMANTIC_VECTOR_3 = 3,
    DVZ_FIELD_SEMANTIC_COLOR = 4,
    DVZ_FIELD_SEMANTIC_LABEL = 5,
    DVZ_FIELD_SEMANTIC_NORMAL = 6,
};

Declared in include/datoviz/scene/field.h:76.

DvzSampledField · typedef
typedef struct DvzSampledField DvzSampledField;

Declared in include/datoviz/scene/types.h:72.

DvzSampledFieldDesc · record
struct DvzSampledFieldDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzFieldDim dim;
    DvzFieldFormat format;
    DvzFieldSemantic semantic;
    DvzColorRole color_role;
    uint32_t width;
    uint32_t height;
    uint32_t depth;
};

Declared in include/datoviz/scene/field.h:103.

Scale

Functions

dvz_scale()

Create a scene-owned scale object.

DvzScale * dvz_scale(
    DvzScene * scene,
    const DvzScaleDesc * desc
);
Field Type Description
return DvzScale * the scale
scene DvzScene * the scene
desc const DvzScaleDesc * the scale descriptor, or NULL for defaults

Declared in include/datoviz/scene/scale.h:206.

dvz_scale_category()

Copy one retained categorical entry from a scale.

The copied label pointer, when non-NULL, points to scale-owned storage and remains valid until the scale categories are changed or the scale is destroyed.

_Bool dvz_scale_category(
    const DvzScale * scale,
    uint32_t index,
    DvzScaleCategory * out
);
Field Type Description
return _Bool true when a category was copied
scale const DvzScale * the scale
index uint32_t category index
out DvzScaleCategory * copied category descriptor

Declared in include/datoviz/scene/scale.h:338.

dvz_scale_category_count()

Return the number of retained categorical entries on a scale.

uint32_t dvz_scale_category_count(
    const DvzScale * scale
);
Field Type Description
return uint32_t category count, or 0 when the scale is invalid or has no explicit categories
scale const DvzScale * the scale

Declared in include/datoviz/scene/scale.h:323.

dvz_scale_desc()

Return the default scale descriptor.

DvzScaleDesc dvz_scale_desc(void);
Field Type Description
return DvzScaleDesc default scale descriptor

Related: dvz_scale().

Declared in include/datoviz/scene/scale.h:196.

dvz_scale_destroy()

Destroy a scale object.

void dvz_scale_destroy(
    DvzScale * scale
);
Field Type Description
scale DvzScale * the scale

Declared in include/datoviz/scene/scale.h:223.

dvz_scale_domain()

Copy the semantic domain from a scale.

Returns false when the scale is invalid or no explicit domain has been set.

_Bool dvz_scale_domain(
    const DvzScale * scale,
    double * out_min,
    double * out_max
);
Field Type Description
return _Bool true when an explicit domain was copied
scale const DvzScale * the scale
out_min double * domain minimum
out_max double * domain maximum

Declared in include/datoviz/scene/scale.h:249.

dvz_scale_id()

Return the scene-local identity of a scale.

DvzId dvz_scale_id(
    const DvzScale * scale
);
Field Type Description
return DvzId the scene-local identity, or DVZ_ID_NONE when scale is NULL or destroyed
scale const DvzScale * the scale

Declared in include/datoviz/scene/scale.h:215.

dvz_scale_remove_categories()

Remove retained categorical entries from a scale.

Entries are valid only on categorical scales. Missing ids are ignored.

DvzResult dvz_scale_remove_categories(
    DvzScale * scale,
    const DvzCategoryId * ids,
    uint32_t count
);
Field Type Description
return DvzResult DVZ_OK when the category table was updated, DVZ_ERROR on error
scale DvzScale * the scale
ids const DvzCategoryId * category ids to remove
count uint32_t the number of ids

Declared in include/datoviz/scene/scale.h:366.

dvz_scale_set_categories()

Replace retained categorical entries on a scale.

Entries are valid only on categorical scales. Passing NULL or count=0 clears explicit entries and restores palette-index fallback for categorical mapping.

DvzResult dvz_scale_set_categories(
    DvzScale * scale,
    const DvzScaleCategory * categories,
    uint32_t count
);
Field Type Description
return DvzResult DVZ_OK when the category table was accepted, DVZ_ERROR on error
scale DvzScale * the scale
categories const DvzScaleCategory * category entry array, or NULL to clear
count uint32_t the number of category entries

Declared in include/datoviz/scene/scale.h:313.

dvz_scale_set_colormap()

Bind a colormap to a scale.

Passing NULL clears the binding. Invalid scale handles are ignored.

DvzResult dvz_scale_set_colormap(
    DvzScale * scale,
    DvzColormap * colormap
);
Field Type Description
return DvzResult DVZ_OK when the colormap binding was accepted, DVZ_ERROR on error
scale DvzScale * the scale
colormap DvzColormap * the colormap

Declared in include/datoviz/scene/scale.h:287.

dvz_scale_set_domain()

Set the semantic domain on a scale.

Invalid ranges are ignored and leave the previous domain unchanged.

DvzResult dvz_scale_set_domain(
    DvzScale * scale,
    double min,
    double max
);
Field Type Description
return DvzResult DVZ_OK when the domain was accepted, DVZ_ERROR on error
scale DvzScale * the scale
min double the domain minimum
max double the domain maximum

Declared in include/datoviz/scene/scale.h:236.

dvz_scale_set_format()

Override shared formatting policy on a scale.

Passing NULL clears the override. Invalid descriptors are ignored.

DvzResult dvz_scale_set_format(
    DvzScale * scale,
    const DvzFormatDesc * format
);
Field Type Description
return DvzResult DVZ_OK when the format was accepted, DVZ_ERROR on error
scale DvzScale * the scale
format const DvzFormatDesc * the format descriptor, or NULL to clear the override

Declared in include/datoviz/scene/scale.h:299.

dvz_scale_set_view_range()

Set the current visible range on a scale.

Invalid ranges are ignored and leave the previous range unchanged.

DvzResult dvz_scale_set_view_range(
    DvzScale * scale,
    double min,
    double max
);
Field Type Description
return DvzResult DVZ_OK when the view range was accepted, DVZ_ERROR on error
scale DvzScale * the scale
min double the view-range minimum
max double the view-range maximum

Declared in include/datoviz/scene/scale.h:262.

dvz_scale_update_categories()

Update or append retained categorical entries on a scale.

Entries are valid only on categorical scales. Existing entries with matching category ids are replaced in place. New entries are appended. Duplicate ids in the input batch are rejected.

DvzResult dvz_scale_update_categories(
    DvzScale * scale,
    const DvzScaleCategory * categories,
    uint32_t count
);
Field Type Description
return DvzResult DVZ_OK when the category table was accepted, DVZ_ERROR on error
scale DvzScale * the scale
categories const DvzScaleCategory * category entry array
count uint32_t the number of category entries

Declared in include/datoviz/scene/scale.h:352.

dvz_scale_view_range()

Copy the current visible range from a scale.

Returns false when the scale is invalid or no explicit view range has been set.

_Bool dvz_scale_view_range(
    const DvzScale * scale,
    double * out_min,
    double * out_max
);
Field Type Description
return _Bool true when an explicit view range was copied
scale const DvzScale * the scale
out_min double * view-range minimum
out_max double * view-range maximum

Declared in include/datoviz/scene/scale.h:275.

Types

DvzScale · typedef
typedef struct DvzScale DvzScale;

Declared in include/datoviz/scene/types.h:82.

DvzScaleCategory · record
struct DvzScaleCategory {
    DvzCategoryId category_id;
    uint32_t order;
    const char * label;
    DvzColor color;
    uint32_t flags;
};

Declared in include/datoviz/scene/types.h:1414.

DvzScaleDesc · record
struct DvzScaleDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzScaleKind kind;
    const char * label;
    const char * unit;
};

Declared in include/datoviz/scene/types.h:1403.

DvzScaleKind · enum
enum DvzScaleKind {
    DVZ_SCALE_CONTINUOUS = 0,
    DVZ_SCALE_CATEGORICAL = 1,
};

Declared in include/datoviz/scene/enums.h:554.

Scale Bar

Functions

dvz_scale_bar()

Create a retained scale bar attached to a panel.

DvzScaleBar is a typed alias for the retained annotation object returned here. Pass NULL for the default descriptor. Destroy it with dvz_annotation_destroy((DvzAnnotation*)scalebar).

DvzScaleBar * dvz_scale_bar(
    DvzPanel * panel,
    const DvzScaleBarDesc * desc
);
Field Type Description
return DvzScaleBar * the scale bar
panel DvzPanel * the panel
desc const DvzScaleBarDesc * the scale-bar descriptor, or NULL for defaults

Declared in include/datoviz/scene/annotation.h:116.

dvz_scale_bar_desc()

Return the default scale-bar annotation descriptor.

DvzScaleBarDesc dvz_scale_bar_desc(void);
Field Type Description
return DvzScaleBarDesc default scale-bar descriptor

Related: dvz_scale_bar().

Declared in include/datoviz/scene/annotation.h:52.

dvz_scale_bar_set_anchor()

Set the panel anchor of a retained scale bar.

DvzResult dvz_scale_bar_set_anchor(
    DvzScaleBar * scalebar,
    DvzSceneAnchor anchor
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
scalebar DvzScaleBar * the scale bar
anchor DvzSceneAnchor panel anchor

Declared in include/datoviz/scene/annotation.h:136.

dvz_scale_bar_set_dimension()

Set the data dimension measured by a retained scale bar.

DvzResult dvz_scale_bar_set_dimension(
    DvzScaleBar * scalebar,
    DvzDim dim
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
scalebar DvzScaleBar * the scale bar
dim DvzDim dimension

Declared in include/datoviz/scene/annotation.h:126.

dvz_scale_bar_set_duration_units()

Attach duration units to a retained scale bar.

DvzResult dvz_scale_bar_set_duration_units(
    DvzScaleBar * scalebar,
    DvzUnits * duration_units
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
scalebar DvzScaleBar * the scale bar
duration_units DvzUnits * duration units object

Declared in include/datoviz/scene/annotation.h:156.

dvz_scale_bar_set_format()

Override formatting policy on a retained scale bar.

DvzResult dvz_scale_bar_set_format(
    DvzScaleBar * scalebar,
    const DvzFormatDesc * format
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
scalebar DvzScaleBar * the scale bar
format const DvzFormatDesc * the format descriptor, or NULL to clear the override

Declared in include/datoviz/scene/annotation.h:187.

dvz_scale_bar_set_label_style()

Set the label style of a retained scale bar.

DvzResult dvz_scale_bar_set_label_style(
    DvzScaleBar * scalebar,
    const DvzTextStyle * style
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
scalebar DvzScaleBar * the scale bar
style const DvzTextStyle * label style, or NULL for defaults

Declared in include/datoviz/scene/annotation.h:166.

dvz_scale_bar_set_placement()

Set the label placement policy of a retained scale bar.

DvzResult dvz_scale_bar_set_placement(
    DvzScaleBar * scalebar,
    const DvzTextPlacement * placement
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
scalebar DvzScaleBar * the scale bar
placement const DvzTextPlacement * label placement, or NULL for defaults

Declared in include/datoviz/scene/annotation.h:176.

dvz_scale_bar_set_units()

Attach numeric units to a retained scale bar.

DvzResult dvz_scale_bar_set_units(
    DvzScaleBar * scalebar,
    DvzUnits * units
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
scalebar DvzScaleBar * the scale bar
units DvzUnits * units object

Declared in include/datoviz/scene/annotation.h:146.

Types

DvzScaleBar · typedef
typedef struct DvzAnnotation DvzScaleBar;

Declared in include/datoviz/scene/types.h:93.

DvzScaleBarDesc · record
struct DvzScaleBarDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzDim dimension;
    DvzSceneAnchor anchor;
    DvzScaleBarReferenceMode reference_mode;
    DvzScaleBarLabelPosition label_position;
    const char * unit;
    double data_to_unit;
    double[3] reference_position;
    double[3] reference_direction;
    float target_length_px;
    float min_length_px;
    float max_length_px;
    float[2] offset_px;
    float tick_length_px;
    float line_width_px;
    uint8_t[4] line_color;
    uint8_t[4] background_color;
    uint32_t scalebar_flags;
};

Declared in include/datoviz/scene/types.h:1625.

DvzScaleBarLabelPosition · enum
enum DvzScaleBarLabelPosition {
    DVZ_SCALEBAR_LABEL_ABOVE = 0,
    DVZ_SCALEBAR_LABEL_BELOW = 1,
};

Declared in include/datoviz/scene/enums.h:698.

DvzScaleBarReferenceMode · enum
enum DvzScaleBarReferenceMode {
    DVZ_SCALEBAR_REFERENCE_PANEL_DOMAIN = 0,
    DVZ_SCALEBAR_REFERENCE_WORLD_POINT = 1,
    DVZ_SCALEBAR_REFERENCE_VIEW_PLANE = 2,
};

Declared in include/datoviz/scene/enums.h:705.

Scene

Functions

dvz_scene()

Create a scene.

DvzScene * dvz_scene(void);
Field Type Description
return DvzScene * the scene

Declared in include/datoviz/scene.h:56.

dvz_scene_buffer()

Create a reusable scene-owned buffer resource.

v0.4 visuals bind these buffers through dvz_visual_set_buffer(). The initial supported slot is primitive "index" buffers. stride is the byte stride of one item in the uploaded payload (for example sizeof(DvzIndex) for 32-bit index buffers, or sizeof(uint16_t) for 16-bit).

DvzSceneBuffer * dvz_scene_buffer(
    DvzScene * scene,
    const DvzSceneBufferDesc * desc
);
Field Type Description
return DvzSceneBuffer * the buffer, or NULL on error
scene DvzScene * the scene
desc const DvzSceneBufferDesc * the buffer descriptor

Declared in include/datoviz/scene.h:2239.

dvz_scene_buffer_desc()

Return the default scene buffer descriptor.

DvzSceneBufferDesc dvz_scene_buffer_desc(void);
Field Type Description
return DvzSceneBufferDesc default scene buffer descriptor

Related: dvz_scene_buffer().

Declared in include/datoviz/scene.h:2247.

dvz_scene_buffer_destroy()

Destroy a scene-owned buffer resource.

void dvz_scene_buffer_destroy(
    DvzSceneBuffer * buffer
);
Field Type Description
buffer DvzSceneBuffer * the buffer

Declared in include/datoviz/scene.h:2255.

dvz_scene_buffer_info()

Copy immutable buffer descriptor information.

_Bool dvz_scene_buffer_info(
    const DvzSceneBuffer * buffer,
    DvzSceneBufferDesc * out
);
Field Type Description
return _Bool whether the descriptor was copied
buffer const DvzSceneBuffer * the buffer
out DvzSceneBufferDesc * output buffer descriptor

Declared in include/datoviz/scene.h:2279.

dvz_scene_buffer_resource_key()

Return the retained scene resource key for a scene buffer.

The key is stable for the buffer lifetime and is attached as a DRP2 stream label when a figure is emitted. Advanced runtimes can combine this with dvz_drp2_stream_label_id() to register a live external buffer without scanning draw commands.

_Bool dvz_scene_buffer_resource_key(
    const DvzSceneBuffer * buffer,
    char * out,
    size_t out_size
);
Field Type Description
return _Bool whether the resource key was written
buffer const DvzSceneBuffer * the scene buffer
out char * output string buffer
out_size size_t output string capacity

Declared in include/datoviz/scene.h:2295.

dvz_scene_buffer_set_data()

Replace the full payload of a scene-owned buffer resource.

DvzResult dvz_scene_buffer_set_data(
    DvzSceneBuffer * buffer,
    const void * data,
    uint64_t byte_size
);
Field Type Description
return DvzResult DVZ_OK on success, DVZ_ERROR on error
buffer DvzSceneBuffer * the buffer The payload is copied before this function returns. The caller keeps ownership of data and may release or reuse it immediately after a successful or failed call.
data const void * the packed byte payload borrowed for the duration of the call
byte_size uint64_t the payload size in bytes

Declared in include/datoviz/scene.h:2270.

dvz_scene_clock_dt()

Return the last scene clock delta in seconds.

double dvz_scene_clock_dt(
    const DvzScene * scene
);
Field Type Description
return double last scene time delta
scene const DvzScene * target scene

Declared in include/datoviz/scene/animation.h:332.

dvz_scene_clock_time()

Return the current scene clock time in seconds.

double dvz_scene_clock_time(
    const DvzScene * scene
);
Field Type Description
return double current scene time
scene const DvzScene * target scene

Declared in include/datoviz/scene/animation.h:322.

dvz_scene_compute()

Create an experimental scene-owned compute pass.

The compute pass owns no backend handles. It stores shader source, dispatch dimensions, and buffer bindings that are lowered into DRP2 before figure render passes.

DvzSceneCompute * dvz_scene_compute(
    DvzScene * scene,
    const DvzSceneComputeDesc * desc
);
Field Type Description
return DvzSceneCompute * the compute pass, or NULL on error
scene DvzScene * the scene
desc const DvzSceneComputeDesc * the compute descriptor

Declared in include/datoviz/scene.h:2309.

dvz_scene_compute_desc()

Return the default scene compute descriptor.

DvzSceneComputeDesc dvz_scene_compute_desc(void);
Field Type Description
return DvzSceneComputeDesc default scene compute descriptor

Related: dvz_scene_compute().

Declared in include/datoviz/scene.h:2317.

dvz_scene_compute_destroy()

Destroy a scene-owned compute pass and detach it from all figures.

void dvz_scene_compute_destroy(
    DvzSceneCompute * compute
);
Field Type Description
compute DvzSceneCompute * the compute pass

Declared in include/datoviz/scene.h:2325.

dvz_scene_compute_set_buffer()

Bind a scene buffer to one compute shader binding.

The buffer must advertise DVZ_SCENE_BUFFER_USAGE_STORAGE. v0.4 currently supports storage buffers only. Ranges are passed through to the DRP2 bind group.

DvzResult dvz_scene_compute_set_buffer(
    DvzSceneCompute * compute,
    uint32_t binding,
    DvzSceneBuffer * buffer,
    DvzSceneComputeAccess access,
    uint64_t byte_offset,
    uint64_t byte_size
);
Field Type Description
return DvzResult DVZ_OK on success, DVZ_ERROR on error
compute DvzSceneCompute * the compute pass
binding uint32_t shader binding index
buffer DvzSceneBuffer * scene buffer, or NULL to clear the binding
access DvzSceneComputeAccess read or read-write access
byte_offset uint64_t byte offset into the buffer
byte_size uint64_t bound byte range, or 0 for the remaining buffer range

Declared in include/datoviz/scene.h:2355.

dvz_scene_compute_set_dispatch()

Set the dispatch size for a scene compute pass.

DvzResult dvz_scene_compute_set_dispatch(
    DvzSceneCompute * compute,
    uint32_t x,
    uint32_t y,
    uint32_t z
);
Field Type Description
return DvzResult DVZ_OK on success, DVZ_ERROR on error
compute DvzSceneCompute * the compute pass
x uint32_t workgroup count in X
y uint32_t workgroup count in Y
z uint32_t workgroup count in Z

Declared in include/datoviz/scene.h:2338.

dvz_scene_destroy()

Destroy a scene and all objects it owns.

void dvz_scene_destroy(
    DvzScene * scene
);
Field Type Description
scene DvzScene * the scene

Declared in include/datoviz/scene.h:109.

dvz_scene_font_defaults()

Return the scene font defaults.

DvzFontDefaults dvz_scene_font_defaults(
    const DvzScene * scene
);
Field Type Description
return DvzFontDefaults the scene font defaults, or dvz_font_defaults() when scene is NULL
scene const DvzScene * the scene

Declared in include/datoviz/scene.h:91.

dvz_scene_frame_artifact_destroy()

Destroy a frame artifact.

void dvz_scene_frame_artifact_destroy(
    DvzSceneFrameArtifact * artifact
);
Field Type Description
artifact DvzSceneFrameArtifact * the frame artifact

Declared in include/datoviz/scene.h:503.

dvz_scene_frame_artifact_frame_index()

Return the frame index associated with an artifact.

uint64_t dvz_scene_frame_artifact_frame_index(
    const DvzSceneFrameArtifact * artifact
);
Field Type Description
return uint64_t the frame index
artifact const DvzSceneFrameArtifact * the frame artifact

Declared in include/datoviz/scene.h:556.

dvz_scene_frame_artifact_get_packet()

Return one encoded packet span and companion payload arena from the frame artifact.

Empty phases return true with NULL packet and zero sizes. Returned spans are borrowed from the artifact and remain valid only until artifact destruction.

_Bool dvz_scene_frame_artifact_get_packet(
    const DvzSceneFrameArtifact * artifact,
    DvzDrp2PacketKind kind,
    const void ** packet,
    uint64_t * packet_size,
    const void ** arena,
    uint64_t * arena_size
);
Field Type Description
return _Bool whether kind is valid and outputs were populated
artifact const DvzSceneFrameArtifact * the frame artifact
kind DvzDrp2PacketKind setup, update, or frame
packet const void ** output borrowed packet pointer
packet_size uint64_t * output packet byte size
arena const void ** output borrowed payload arena pointer
arena_size uint64_t * output arena byte size

Declared in include/datoviz/scene.h:573.

dvz_scene_frame_artifact_json()

Serialize the artifact stream snapshot to DRP2 JSON.

The returned string is owned by the caller and should be released with dvz_drp2_stream_json_destroy().

char * dvz_scene_frame_artifact_json(
    const DvzSceneFrameArtifact * artifact,
    const char * name
);
Field Type Description
return char * an owned JSON string, or NULL
artifact const DvzSceneFrameArtifact * the frame artifact
name const char * optional stream name

Declared in include/datoviz/scene.h:536.

dvz_scene_frame_artifact_resource_version()

Return the retained resource version associated with an artifact.

uint64_t dvz_scene_frame_artifact_resource_version(
    const DvzSceneFrameArtifact * artifact
);
Field Type Description
return uint64_t the retained resource version
artifact const DvzSceneFrameArtifact * the frame artifact

Declared in include/datoviz/scene.h:546.

dvz_scene_frame_artifact_status()

Return the artifact status.

DvzSceneFrameArtifactStatus dvz_scene_frame_artifact_status(
    const DvzSceneFrameArtifact * artifact
);
Field Type Description
return DvzSceneFrameArtifactStatus the artifact status
artifact const DvzSceneFrameArtifact * the frame artifact

Declared in include/datoviz/scene.h:512.

dvz_scene_frame_artifact_stream()

Return the artifact-owned DRP2 command stream snapshot.

const DvzDrp2CommandStream * dvz_scene_frame_artifact_stream(
    const DvzSceneFrameArtifact * artifact
);
Field Type Description
return const DvzDrp2CommandStream * a borrowed immutable stream snapshot, or NULL
artifact const DvzSceneFrameArtifact * the frame artifact

Declared in include/datoviz/scene.h:523.

dvz_scene_has_active_animations()

Return whether the scene has at least one active animation.

_Bool dvz_scene_has_active_animations(
    const DvzScene * scene
);
Field Type Description
return _Bool true when an animation is active and may need another frame
scene const DvzScene * target scene

Declared in include/datoviz/scene/animation.h:341.

dvz_scene_hover()

Return the retained hover state for one panel.

The returned pointer is borrowed scene state. It remains valid until the next hover/query update for the panel or scene destruction and must not be mutated or retained.

const DvzHoverState * dvz_scene_hover(
    const DvzScene * scene,
    const DvzPanel * panel
);
Field Type Description
return const DvzHoverState * the hover state, or NULL
scene const DvzScene * the scene
panel const DvzPanel * the panel

Declared in include/datoviz/scene/interaction.h:442.

dvz_scene_id()

Return the scene-local identity of a scene.

DvzId is a fixed-width opaque identity. It is stable for the Datoviz object lifetime and is independent from DRP2 ids, backend handles, and adapter protocol ids. The value is not persistent across scene destruction, process restart, serialization, or replay.

DvzId dvz_scene_id(
    const DvzScene * scene
);
Field Type Description
return DvzId the scene-local identity, or DVZ_ID_NONE when scene is NULL
scene const DvzScene * the scene

Declared in include/datoviz/scene.h:69.

dvz_scene_json()

Serialize the scene to a JSON string.

The JSON document contains the full scene graph: figures, panels, visuals, and attribute data (base64-encoded). The caller must free the returned string with dvz_scene_json_destroy().

char * dvz_scene_json(
    const DvzScene * scene
);
Field Type Description
return char * an owned NUL-terminated JSON string, or NULL on failure
scene const DvzScene * the scene

Declared in include/datoviz/scene.h:121.

dvz_scene_json_destroy()

Free a JSON string returned by dvz_scene_json().

void dvz_scene_json_destroy(
    char * json
);
Field Type Description
json char * the JSON string

Declared in include/datoviz/scene.h:129.

dvz_scene_poll_query()

Poll one resolved query result from the scene.

_Bool dvz_scene_poll_query(
    DvzScene * scene,
    DvzQueryResult * out_result
);
Field Type Description
return _Bool true when a result was written
scene DvzScene * the scene
out_result DvzQueryResult * output result

Declared in include/datoviz/scene/interaction.h:412.

dvz_scene_set_capabilities()

Set the runtime capability snapshot used for frame planning.

DvzResult dvz_scene_set_capabilities(
    DvzScene * scene,
    const DvzCapabilitySnapshot * caps
);
Field Type Description
return DvzResult DVZ_OK when the capabilities were accepted, DVZ_ERROR on error
scene DvzScene * the scene
caps const DvzCapabilitySnapshot * the capability snapshot

Declared in include/datoviz/scene.h:101.

dvz_scene_set_clock_mode()

Set the scene clock mode used by animations.

Realtime mode advances from monotonic wall-clock timestamps. Fixed-step mode advances by 1 / fps on every submitted scene step and is intended for deterministic tests, fixtures, and offscreen capture. External mode is for host-driven loops that supply explicit time values with dvz_scene_step_external().

DvzResult dvz_scene_set_clock_mode(
    DvzScene * scene,
    DvzSceneClockMode mode
);
Field Type Description
return DvzResult DVZ_OK when the mode was accepted, DVZ_ERROR on error
scene DvzScene * target scene
mode DvzSceneClockMode realtime, fixed-step, or external clock mode

Declared in include/datoviz/scene/animation.h:286.

dvz_scene_set_font_defaults()

Set the scene font defaults used by text objects without an explicit font.

The scene copies the descriptor values, but string pointers remain borrowed and must outlive any later default-font resolution that uses them.

DvzResult dvz_scene_set_font_defaults(
    DvzScene * scene,
    const DvzFontDefaults * defaults
);
Field Type Description
return DvzResult DVZ_OK when the defaults were accepted, DVZ_ERROR on error
scene DvzScene * the scene
defaults const DvzFontDefaults * font defaults, or NULL for dvz_font_defaults()

Declared in include/datoviz/scene.h:82.

dvz_scene_set_fps()

Set the scene clock frame rate used by fixed-step mode.

DvzResult dvz_scene_set_fps(
    DvzScene * scene,
    double fps
);
Field Type Description
return DvzResult DVZ_OK when the frame rate was accepted, DVZ_ERROR on error
scene DvzScene * target scene
fps double frames per second, must be positive

Declared in include/datoviz/scene/animation.h:297.

dvz_scene_step_external()

Advance an external-clock scene and run active animation callbacks.

This function is intended for browser, GUI toolkit, and embedded hosts that own the event loop and have authoritative frame timestamps. It switches the scene clock to external mode, stores the supplied time/delta verbatim after validation, and runs animation callbacks once.

DvzResult dvz_scene_step_external(
    DvzScene * scene,
    double t,
    double dt
);
Field Type Description
return DvzResult DVZ_OK when the external step was accepted, DVZ_ERROR on error
scene DvzScene * target scene
t double current host time in seconds, normally relative to the start of the scene
dt double elapsed host time in seconds since the previous frame

Declared in include/datoviz/scene/animation.h:312.

Types

DvzScene · typedef
typedef struct DvzScene DvzScene;

Declared in include/datoviz/scene/types.h:58.

DvzSceneAnchor · enum
enum DvzSceneAnchor {
    DVZ_SCENE_ANCHOR_NONE = 0,
    DVZ_SCENE_ANCHOR_PANEL_TOP_LEFT = 1,
    DVZ_SCENE_ANCHOR_PANEL_TOP = 2,
    DVZ_SCENE_ANCHOR_PANEL_TOP_RIGHT = 3,
    DVZ_SCENE_ANCHOR_PANEL_LEFT = 4,
    DVZ_SCENE_ANCHOR_PANEL_CENTER = 5,
    DVZ_SCENE_ANCHOR_PANEL_RIGHT = 6,
    DVZ_SCENE_ANCHOR_PANEL_BOTTOM_LEFT = 7,
    DVZ_SCENE_ANCHOR_PANEL_BOTTOM = 8,
    DVZ_SCENE_ANCHOR_PANEL_BOTTOM_RIGHT = 9,
    DVZ_SCENE_ANCHOR_TOP_LEFT = 1,
    DVZ_SCENE_ANCHOR_TOP = 2,
    DVZ_SCENE_ANCHOR_TOP_RIGHT = 3,
    DVZ_SCENE_ANCHOR_LEFT = 4,
    DVZ_SCENE_ANCHOR_CENTER = 5,
    DVZ_SCENE_ANCHOR_RIGHT = 6,
    DVZ_SCENE_ANCHOR_BOTTOM_LEFT = 7,
    DVZ_SCENE_ANCHOR_BOTTOM = 8,
    DVZ_SCENE_ANCHOR_BOTTOM_RIGHT = 9,
    DVZ_SCENE_ANCHOR_DATA = 10,
    DVZ_SCENE_ANCHOR_WORLD = 11,
    DVZ_SCENE_ANCHOR_SCREEN = 12,
};

Declared in include/datoviz/scene/enums.h:632.

DvzSceneBuffer · typedef
typedef struct DvzSceneBuffer DvzSceneBuffer;

Declared in include/datoviz/scene/types.h:73.

DvzSceneBufferDesc · record
struct DvzSceneBufferDesc {
    uint32_t struct_size;
    uint32_t flags;
    uint32_t usage;
    uint32_t stride;
    uint64_t byte_size;
};

Declared in include/datoviz/scene/types.h:964.

DvzSceneBufferUsage · enum
enum DvzSceneBufferUsage {
    DVZ_SCENE_BUFFER_USAGE_NONE = 0,
    DVZ_SCENE_BUFFER_USAGE_VERTEX = 1,
    DVZ_SCENE_BUFFER_USAGE_INDEX = 2,
    DVZ_SCENE_BUFFER_USAGE_UNIFORM = 4,
    DVZ_SCENE_BUFFER_USAGE_STORAGE = 8,
};

Declared in include/datoviz/scene/enums.h:86.

DvzSceneClockMode · enum
enum DvzSceneClockMode {
    DVZ_SCENE_CLOCK_REALTIME = 0,
    DVZ_SCENE_CLOCK_FIXED_STEP = 1,
    DVZ_SCENE_CLOCK_EXTERNAL = 2,
};

Declared in include/datoviz/scene/animation.h:29.

DvzSceneCompute · typedef
typedef struct DvzSceneCompute DvzSceneCompute;

Declared in include/datoviz/scene/types.h:64.

DvzSceneComputeAccess · enum
enum DvzSceneComputeAccess {
    DVZ_SCENE_COMPUTE_ACCESS_READ = 0,
    DVZ_SCENE_COMPUTE_ACCESS_READ_WRITE = 1,
};

Declared in include/datoviz/scene/types.h:975.

DvzSceneComputeDesc · record
struct DvzSceneComputeDesc {
    uint32_t struct_size;
    uint32_t flags;
    const char * label;
    DvzSceneShaderFormat shader_format;
    const char * shader_source;
    const char * entry_point;
    uint32_t[3] dispatch;
};

Declared in include/datoviz/scene/types.h:982.

DvzSceneFrameArtifact · typedef
typedef struct DvzSceneFrameArtifact DvzSceneFrameArtifact;

Declared in include/datoviz/scene/types.h:53.

DvzSceneFrameArtifactStatus · enum
enum DvzSceneFrameArtifactStatus {
    DVZ_SCENE_FRAME_ARTIFACT_STATUS_OK = 0,
    DVZ_SCENE_FRAME_ARTIFACT_STATUS_ENCODE_ERROR = 1,
};

Declared in include/datoviz/scene/types.h:177.

DvzSceneShaderFormat · enum
enum DvzSceneShaderFormat {
    DVZ_SCENE_SHADER_FORMAT_WGSL = 0,
    DVZ_SCENE_SHADER_FORMAT_GLSL = 1,
};

Declared in include/datoviz/scene/enums.h:55.

DvzSceneTargetKind · enum
enum DvzSceneTargetKind {
    DVZ_SCENE_TARGET_NONE = 0,
    DVZ_SCENE_TARGET_OBJECT = 1,
    DVZ_SCENE_TARGET_ITEM = 2,
    DVZ_SCENE_TARGET_VERTEX = 3,
    DVZ_SCENE_TARGET_FACE = 4,
    DVZ_SCENE_TARGET_PIXEL = 5,
    DVZ_SCENE_TARGET_SAMPLE = 6,
    DVZ_SCENE_TARGET_STRIP = 7,
    DVZ_SCENE_TARGET_SEGMENT = 8,
    DVZ_SCENE_TARGET_TRIANGLE = 9,
    DVZ_SCENE_TARGET_TEXT = 10,
    DVZ_SCENE_TARGET_ANNOTATION = 11,
    DVZ_SCENE_TARGET_GUIDE = 12,
    DVZ_SCENE_TARGET_ALL_RENDERED = 13,
};

Declared in include/datoviz/scene/enums.h:424.

Select

Types

DvzSelectMode · enum
enum DvzSelectMode {
    DVZ_SELECT_REPLACE = 0,
    DVZ_SELECT_ADDITIVE = 1,
    DVZ_SELECT_SUBTRACT = 2,
    DVZ_SELECT_TOGGLE = 3,
};

Declared in include/datoviz/scene/enums.h:515.

Selection

Functions

dvz_selection()

Create a retained selection object.

DvzSelection * dvz_selection(
    DvzScene * scene,
    const DvzSelectionDesc * desc
);
Field Type Description
return DvzSelection * the selection
scene DvzScene * the scene
desc const DvzSelectionDesc * selection descriptor, or NULL for defaults

Declared in include/datoviz/scene/interaction.h:188.

dvz_selection_apply_query()

Apply one query result to a selection object.

DvzResult dvz_selection_apply_query(
    DvzSelection * selection,
    const DvzQueryResult * query
);
Field Type Description
return DvzResult 0 on success, -1 on error
selection DvzSelection * the selection
query const DvzQueryResult * the query result

Declared in include/datoviz/scene/interaction.h:240.

dvz_selection_clear()

Clear the contents of a selection object.

DvzResult dvz_selection_clear(
    DvzSelection * selection
);
Field Type Description
return DvzResult DVZ_OK when the selection was cleared, DVZ_ERROR on error
selection DvzSelection * the selection

Declared in include/datoviz/scene/interaction.h:205.

dvz_selection_copy()

Copy resolved selection contents into caller-owned storage.

Writes at most max_items entries. Use dvz_selection_count() first to detect whether the output buffer is large enough; extra entries are not copied.

void dvz_selection_copy(
    const DvzSelection * selection,
    DvzSelectionItem * items,
    uint32_t max_items
);
Field Type Description
selection const DvzSelection * the selection
items DvzSelectionItem * output item array
max_items uint32_t maximum number of items to write

Declared in include/datoviz/scene/interaction.h:263.

dvz_selection_count()

Return the number of resolved targets currently stored in a selection object.

uint32_t dvz_selection_count(
    const DvzSelection * selection
);
Field Type Description
return uint32_t the item count
selection const DvzSelection * the selection

Declared in include/datoviz/scene/interaction.h:250.

dvz_selection_desc()

Return the default selection descriptor.

DvzSelectionDesc dvz_selection_desc(void);
Field Type Description
return DvzSelectionDesc the default selection descriptor

Related: dvz_selection().

Declared in include/datoviz/scene/interaction.h:170.

dvz_selection_destroy()

Destroy a selection object.

void dvz_selection_destroy(
    DvzSelection * selection
);
Field Type Description
selection DvzSelection * the selection

Declared in include/datoviz/scene/interaction.h:196.

dvz_selection_set_visual_style()

Configure selected/unselected visual styling for retained point-like item states.

The initial implementation affects point, pixel, and marker visuals. Pass NULL to restore defaults.

DvzResult dvz_selection_set_visual_style(
    DvzSelection * selection,
    const DvzSelectionVisualStyle * style
);
Field Type Description
return DvzResult 0 on success, -1 on error
selection DvzSelection * the selection
style const DvzSelectionVisualStyle * the visual style descriptor, or NULL for defaults

Declared in include/datoviz/scene/interaction.h:229.

dvz_selection_visual_style()

Return the default selection visual style.

The default preserves the first retained-selection behavior: selected items render normally and unselected point-like items are dimmed while a selection is active.

DvzSelectionVisualStyle dvz_selection_visual_style(void);
Field Type Description
return DvzSelectionVisualStyle the default visual style descriptor

Declared in include/datoviz/scene/interaction.h:216.

Types

DvzSelection · typedef
typedef struct DvzSelection DvzSelection;

Declared in include/datoviz/scene/types.h:75.

DvzSelectionDesc · record
struct DvzSelectionDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzSelectMode mode;
    DvzSceneTargetKind target;
    uint32_t selection_flags;
};

Declared in include/datoviz/scene/types.h:1244.

DvzSelectionItem · record
struct DvzSelectionItem {
    uint64_t visual_id;
    DvzSceneTargetKind target;
    uint64_t target_id;
    uint64_t link_key;
};

Declared in include/datoviz/scene/types.h:1314.

DvzSelectionVisualStyle · record
struct DvzSelectionVisualStyle {
    uint32_t struct_size;
    uint32_t flags;
    uint32_t selected_visual_flags;
    float selected_alpha;
    DvzColor selected_tint;
    float selected_tint_mix;
    float selected_scale;
    uint32_t unselected_visual_flags;
    float unselected_alpha;
    DvzColor unselected_tint;
    float unselected_tint_mix;
    float unselected_scale;
};

Declared in include/datoviz/scene/types.h:1268.

Text

Functions

dvz_text()

Create a retained text object attached to a panel.

The text object owns semantic string, style, placement, and renderer state. Rendering lowers to an internal glyph visual during frame preparation.

DvzText * dvz_text(
    DvzPanel * panel,
    uint32_t flags
);
Field Type Description
return DvzText * the text object, or NULL on allocation failure
panel DvzPanel * the panel
flags uint32_t creation flags

Declared in include/datoviz/scene/text.h:182.

dvz_text_destroy()

Destroy a retained text object.

void dvz_text_destroy(
    DvzText * text
);
Field Type Description
text DvzText * the text object

Declared in include/datoviz/scene/text.h:199.

dvz_text_id()

Return the scene-local identity of a text object.

DvzId dvz_text_id(
    const DvzText * text
);
Field Type Description
return DvzId the scene-local identity, or DVZ_ID_NONE when text is NULL or destroyed
text const DvzText * the text object

Declared in include/datoviz/scene/text.h:191.

dvz_text_layout()

Return the default retained text layout.

DvzTextLayout dvz_text_layout(void);
Field Type Description
return DvzTextLayout default text layout

Declared in include/datoviz/scene/text.h:59.

dvz_text_placement()

Return the default retained text placement.

The default is panel-local screen placement. Use DVZ_TEXT_PLACEMENT_DATA when text should stay anchored to panel data coordinates; DvzTextPlacement::offset remains a logical-pixel offset in every placement mode.

DvzTextPlacement dvz_text_placement(void);
Field Type Description
return DvzTextPlacement default text placement

Declared in include/datoviz/scene/text.h:51.

dvz_text_set_anchors()

Replace the text anchors of an existing retained text collection.

Anchors are copied before return. item_count must match the current collection item count.

DvzResult dvz_text_set_anchors(
    DvzText * text,
    const float (*)[2] anchors,
    uint32_t item_count
);
Field Type Description
return DvzResult 0 on success, -1 on error
text DvzText * the text object
anchors const float (*)[2] normalized text anchors
item_count uint32_t number of anchors

Declared in include/datoviz/scene/text.h:302.

dvz_text_set_angles()

Replace the rotation angles of an existing retained text collection.

Angles are copied before return. item_count must match the current collection item count.

DvzResult dvz_text_set_angles(
    DvzText * text,
    const float * angles,
    uint32_t item_count
);
Field Type Description
return DvzResult 0 on success, -1 on error
text DvzText * the text object
angles const float * rotation angles in radians
item_count uint32_t number of angles

Declared in include/datoviz/scene/text.h:341.

dvz_text_set_colors()

Replace the colors of an existing retained text collection.

Colors are copied before return. item_count must match the current collection item count.

DvzResult dvz_text_set_colors(
    DvzText * text,
    const DvzColor * colors,
    uint32_t item_count
);
Field Type Description
return DvzResult 0 on success, -1 on error
text DvzText * the text object
colors const DvzColor * text colors
item_count uint32_t number of colors

Declared in include/datoviz/scene/text.h:328.

dvz_text_set_items()

Replace all items in a retained text collection.

Strings, positions, offsets, anchors, sizes, colors, and angles are copied before return. Passing item_count == 0 clears the collection; otherwise items must point to item_count entries. Use this function when several per-item properties should change atomically.

DvzResult dvz_text_set_items(
    DvzText * text,
    const DvzTextItem * items,
    uint32_t item_count
);
Field Type Description
return DvzResult 0 on success, -1 on error
text DvzText * the text object
items const DvzTextItem * text items to copy, or NULL when item_count is 0
item_count uint32_t number of text items

Declared in include/datoviz/scene/text.h:214.

dvz_text_set_layout()

Set the layout of a retained text collection.

DvzResult dvz_text_set_layout(
    DvzText * text,
    const DvzTextLayout * layout
);
Field Type Description
return DvzResult 0 on success, -1 on error
text DvzText * the text object
layout const DvzTextLayout * the layout descriptor, or NULL for defaults

Declared in include/datoviz/scene/text.h:245.

dvz_text_set_offsets()

Replace the logical-pixel offsets of an existing retained text collection.

Offsets are copied before return. item_count must match the current collection item count.

DvzResult dvz_text_set_offsets(
    DvzText * text,
    const float (*)[2] offsets,
    uint32_t item_count
);
Field Type Description
return DvzResult 0 on success, -1 on error
text DvzText * the text object
offsets const float (*)[2] logical-pixel offsets
item_count uint32_t number of offsets

Declared in include/datoviz/scene/text.h:288.

dvz_text_set_placement()

Set the placement of a retained text object.

DvzResult dvz_text_set_placement(
    DvzText * text,
    const DvzTextPlacement * placement
);
Field Type Description
return DvzResult 0 on success, -1 on error
text DvzText * the text object
placement const DvzTextPlacement * the placement descriptor, or NULL for defaults

Declared in include/datoviz/scene/text.h:361.

dvz_text_set_position()

Set the position of a retained one-item text collection.

DvzResult dvz_text_set_position(
    DvzText * text,
    const double[3] position
);
Field Type Description
return DvzResult 0 on success, -1 on error
text DvzText * the text object
position const double[3] the position in the current placement mode

Declared in include/datoviz/scene/text.h:235.

dvz_text_set_positions()

Replace the positions of an existing retained text collection.

Positions are copied before return. item_count must match the current collection item count.

DvzResult dvz_text_set_positions(
    DvzText * text,
    const double (*)[3] positions,
    uint32_t item_count
);
Field Type Description
return DvzResult 0 on success, -1 on error
text DvzText * the text object
positions const double (*)[3] positions in the current placement mode
item_count uint32_t number of positions

Declared in include/datoviz/scene/text.h:274.

dvz_text_set_renderer()

Select the renderer used by a retained text object.

DvzResult dvz_text_set_renderer(
    DvzText * text,
    DvzTextRenderer renderer
);
Field Type Description
return DvzResult 0 on success, -1 on error
text DvzText * the text object
renderer DvzTextRenderer renderer selection

Declared in include/datoviz/scene/text.h:371.

dvz_text_set_sizes()

Replace the text sizes of an existing retained text collection.

Sizes are copied before return. item_count must match the current collection item count.

DvzResult dvz_text_set_sizes(
    DvzText * text,
    const float * sizes_px,
    uint32_t item_count
);
Field Type Description
return DvzResult 0 on success, -1 on error
text DvzText * the text object
sizes_px const float * logical-pixel text sizes
item_count uint32_t number of sizes

Declared in include/datoviz/scene/text.h:315.

dvz_text_set_string()

Set the UTF-8 content of a retained one-item text collection.

DvzResult dvz_text_set_string(
    DvzText * text,
    const char * string
);
Field Type Description
return DvzResult 0 on success, -1 on error
text DvzText * the text object
string const char * the string, or NULL to clear

Declared in include/datoviz/scene/text.h:225.

dvz_text_set_strings()

Replace the UTF-8 strings of an existing retained text collection.

String contents are copied before return. item_count must match the current collection item count.

DvzResult dvz_text_set_strings(
    DvzText * text,
    const char *const * strings,
    uint32_t item_count
);
Field Type Description
return DvzResult 0 on success, -1 on error
text DvzText * the text object
strings const char *const * UTF-8 strings to copy
item_count uint32_t number of strings

Declared in include/datoviz/scene/text.h:260.

dvz_text_set_style()

Set the style of a retained text object.

DvzResult dvz_text_set_style(
    DvzText * text,
    const DvzTextStyle * style
);
Field Type Description
return DvzResult 0 on success, -1 on error
text DvzText * the text object
style const DvzTextStyle * the style descriptor, or NULL for defaults

Declared in include/datoviz/scene/text.h:351.

dvz_text_style()

Return the default retained text style.

The returned style leaves size_px unresolved as 0.0f; retained text resolves that value from the owning scene font defaults. Set a positive size_px to force an explicit text size.

DvzTextStyle dvz_text_style(void);
Field Type Description
return DvzTextStyle default text style

Declared in include/datoviz/scene/text.h:39.

Types

DvzText · typedef
typedef struct DvzText DvzText;

Declared in include/datoviz/scene/types.h:89.

DvzTextAlign · enum
enum DvzTextAlign {
    DVZ_TEXT_ALIGN_LEFT = 0,
    DVZ_TEXT_ALIGN_CENTER = 1,
    DVZ_TEXT_ALIGN_RIGHT = 2,
};

Declared in include/datoviz/scene/enums.h:679.

DvzTextItem · record
struct DvzTextItem {
    uint32_t struct_size;
    uint32_t flags;
    const char * string;
    double[3] position;
    float[2] offset;
    float[2] anchor;
    float size_px;
    DvzColor color;
    float angle;
};

Declared in include/datoviz/scene/types.h:1577.

DvzTextLayout · record
struct DvzTextLayout {
    uint32_t struct_size;
    uint32_t flags;
    float line_height;
    float line_gap_px;
    float wrap_width_px;
    DvzTextAlign align;
};

Declared in include/datoviz/scene/types.h:1592.

DvzTextPlacement · record
struct DvzTextPlacement {
    uint32_t struct_size;
    uint32_t flags;
    DvzTextPlacementMode mode;
    DvzSceneAnchor anchor;
    double[3] position;
    float[2] offset;
    float[2] text_anchor;
    _Bool has_text_anchor;
    float angle;
    _Bool depth_test;
};

Declared in include/datoviz/scene/types.h:1561.

DvzTextPlacementMode · enum
enum DvzTextPlacementMode {
    DVZ_TEXT_PLACEMENT_SCREEN = 0,
    DVZ_TEXT_PLACEMENT_DATA = 1,
    DVZ_TEXT_PLACEMENT_WORLD = 2,
};

Declared in include/datoviz/scene/enums.h:660.

DvzTextRenderer · enum
enum DvzTextRenderer {
    DVZ_TEXT_RENDERER_AUTO = 0,
    DVZ_TEXT_RENDERER_SMALL_BITMAP_ATLAS = 1,
    DVZ_TEXT_RENDERER_BITMAP_ATLAS = 2,
    DVZ_TEXT_RENDERER_MSDF_ATLAS = 3,
    DVZ_TEXT_RENDERER_VECTOR_GPU = 4,
};

Declared in include/datoviz/scene/enums.h:669.

DvzTextStyle · record
struct DvzTextStyle {
    uint32_t struct_size;
    uint32_t flags;
    DvzFont * font;
    float size_px;
    DvzTextRenderer renderer;
    uint8_t[4] color;
    uint32_t style_flags;
    _Bool bold;
    _Bool italic;
    _Bool underline;
};

Declared in include/datoviz/scene/types.h:1497.

Text Atlas

Functions

dvz_text_atlas_field()

Return the sampled field containing the atlas texture.

The field is owned by the atlas's font scene. It may be bound to glyph visuals but must not be destroyed or mutated by the caller.

const DvzSampledField * dvz_text_atlas_field(
    const DvzTextAtlas * atlas
);
Field Type Description
return const DvzSampledField * sampled atlas field, or NULL
atlas const DvzTextAtlas * the text atlas

Declared in include/datoviz/scene/text.h:158.

dvz_text_atlas_glyph()

Return one atlas glyph, falling back to '?' for unsupported codepoints.

const DvzTextAtlasGlyph * dvz_text_atlas_glyph(
    const DvzTextAtlas * atlas,
    uint32_t codepoint
);
Field Type Description
return const DvzTextAtlasGlyph * glyph metrics, or NULL when unavailable
atlas const DvzTextAtlas * the text atlas
codepoint uint32_t Unicode codepoint

Declared in include/datoviz/scene/text.h:169.

dvz_text_atlas_info()

Return immutable atlas metadata.

DvzTextAtlasInfo dvz_text_atlas_info(
    const DvzTextAtlas * atlas
);
Field Type Description
return DvzTextAtlasInfo atlas metadata; zeroed when atlas is NULL
atlas const DvzTextAtlas * the text atlas

Declared in include/datoviz/scene/text.h:146.

dvz_text_atlas_spec()

Resolve a text atlas specification from a renderer and rendered text size.

DvzTextAtlasSpec dvz_text_atlas_spec(
    DvzTextRenderer renderer,
    float size_px
);
Field Type Description
return DvzTextAtlasSpec atlas generation spec
renderer DvzTextRenderer requested text renderer
size_px float rendered text size in logical pixels

Declared in include/datoviz/scene/text.h:87.

Types

DvzTextAtlas · typedef
typedef struct DvzTextAtlas DvzTextAtlas;

Declared in include/datoviz/scene/types.h:90.

DvzTextAtlasBackend · enum
enum DvzTextAtlasBackend {
    DVZ_TEXT_ATLAS_BACKEND_BUILTIN_BITMAP = 0,
    DVZ_TEXT_ATLAS_BACKEND_FREETYPE_BITMAP = 1,
    DVZ_TEXT_ATLAS_BACKEND_STB_SDF = 2,
    DVZ_TEXT_ATLAS_BACKEND_MSDF = 3,
};

Declared in include/datoviz/scene/types.h:201.

DvzTextAtlasEncoding · enum
enum DvzTextAtlasEncoding {
    DVZ_TEXT_ATLAS_ENCODING_BITMAP_ALPHA = 0,
    DVZ_TEXT_ATLAS_ENCODING_SDF_ALPHA = 1,
    DVZ_TEXT_ATLAS_ENCODING_MSDF_RGB = 2,
};

Declared in include/datoviz/scene/types.h:210.

DvzTextAtlasGlyph · record
struct DvzTextAtlasGlyph {
    uint32_t codepoint;
    uint32_t glyph_id;
    float advance;
    float xoff;
    float yoff;
    float width;
    float height;
    float[4] plane_bounds;
    float[4] atlas_bounds;
    float[4] uv;
    _Bool valid;
};

Declared in include/datoviz/scene/types.h:1544.

DvzTextAtlasInfo · record
struct DvzTextAtlasInfo {
    DvzTextAtlasSpec spec;
    DvzTextAtlasBackend backend;
    DvzTextAtlasEncoding encoding;
    uint32_t width;
    uint32_t height;
    uint32_t glyph_count;
    uint32_t channels;
    float em_px;
    float distance_range_px;
    float ascent;
    float descent;
    float line_gap;
    float line_height;
    uint32_t missing_glyph_count;
    uint64_t generation;
};

Declared in include/datoviz/scene/types.h:1523.

DvzTextAtlasSpec · record
struct DvzTextAtlasSpec {
    DvzTextAtlasBackend backend;
    float em_px;
    float distance_range_px;
    uint32_t flags;
};

Declared in include/datoviz/scene/types.h:1513.

Time

Types

DvzTimeInterval · enum
enum DvzTimeInterval {
    DVZ_TIME_INTERVAL_NANOSECOND = 0,
    DVZ_TIME_INTERVAL_MICROSECOND = 1,
    DVZ_TIME_INTERVAL_MILLISECOND = 2,
    DVZ_TIME_INTERVAL_SECOND = 3,
    DVZ_TIME_INTERVAL_MINUTE = 4,
    DVZ_TIME_INTERVAL_HOUR = 5,
    DVZ_TIME_INTERVAL_DAY = 6,
    DVZ_TIME_INTERVAL_MONTH = 7,
    DVZ_TIME_INTERVAL_YEAR = 8,
};

Declared in include/datoviz/scene/types.h:132.

Timer

Types

DvzTimerMode · enum
enum DvzTimerMode {
    DVZ_TIMER_EVERY_FRAME = 0,
    DVZ_TIMER_INTERVAL = 1,
    DVZ_TIMER_CATCH_UP = 2,
};

Declared in include/datoviz/scene/animation.h:37.

Timestamp

Types

DvzTimestamp · typedef
typedef int64_t DvzTimestamp;

Declared in include/datoviz/scene/types.h:105.

Track

Functions

dvz_track_circle2()

Create a 2D circle track.

DvzTrack * dvz_track_circle2(
    const DvzTrackCircle2Desc * desc
);
Field Type Description
return DvzTrack * track, or NULL on validation/allocation failure
desc const DvzTrackCircle2Desc * descriptor

Declared in include/datoviz/scene/animation.h:458.

dvz_track_circle2_desc()

Return a default 2D circle track descriptor.

DvzTrackCircle2Desc dvz_track_circle2_desc(void);
Field Type Description
return DvzTrackCircle2Desc initialized descriptor

Related: dvz_track_circle2().

Declared in include/datoviz/scene/animation.h:390.

dvz_track_circle3()

Create a 3D circle track.

DvzTrack * dvz_track_circle3(
    const DvzTrackCircle3Desc * desc
);
Field Type Description
return DvzTrack * track, or NULL on validation/allocation failure
desc const DvzTrackCircle3Desc * descriptor

Declared in include/datoviz/scene/animation.h:467.

dvz_track_circle3_desc()

Return a default 3D circle track descriptor.

DvzTrackCircle3Desc dvz_track_circle3_desc(void);
Field Type Description
return DvzTrackCircle3Desc initialized descriptor

Related: dvz_track_circle3().

Declared in include/datoviz/scene/animation.h:398.

dvz_track_constant()

Create a constant typed track.

DvzTrack * dvz_track_constant(
    const DvzTrackConstantDesc * desc
);
Field Type Description
return DvzTrack * track, or NULL on validation/allocation failure
desc const DvzTrackConstantDesc * descriptor

Declared in include/datoviz/scene/animation.h:431.

dvz_track_constant_desc()

Return a default constant track descriptor.

DvzTrackConstantDesc dvz_track_constant_desc(void);
Field Type Description
return DvzTrackConstantDesc initialized descriptor

Related: dvz_track_constant().

Declared in include/datoviz/scene/animation.h:366.

dvz_track_destroy()

Destroy a track.

void dvz_track_destroy(
    DvzTrack * track
);
Field Type Description
track DvzTrack * track

Declared in include/datoviz/scene/animation.h:495.

dvz_track_eval()

Evaluate a track at local time.

_Bool dvz_track_eval(
    const DvzTrack * track,
    double t,
    void * out
);
Field Type Description
return _Bool whether evaluation succeeded
track const DvzTrack * track
t double local time in seconds
out void * output value with storage matching the track type

Declared in include/datoviz/scene/animation.h:487.

dvz_track_keyframes()

Create a keyframed typed track.

DvzTrack * dvz_track_keyframes(
    const DvzTrackKeyframesDesc * desc
);
Field Type Description
return DvzTrack * track, or NULL on validation/allocation failure
desc const DvzTrackKeyframesDesc * descriptor

Declared in include/datoviz/scene/animation.h:449.

dvz_track_keyframes_desc()

Return a default keyframe track descriptor.

DvzTrackKeyframesDesc dvz_track_keyframes_desc(void);
Field Type Description
return DvzTrackKeyframesDesc initialized descriptor

Related: dvz_track_keyframes().

Declared in include/datoviz/scene/animation.h:382.

dvz_track_linear()

Create a linear typed track.

DvzTrack * dvz_track_linear(
    const DvzTrackLinearDesc * desc
);
Field Type Description
return DvzTrack * track, or NULL on validation/allocation failure
desc const DvzTrackLinearDesc * descriptor

Declared in include/datoviz/scene/animation.h:440.

dvz_track_linear_desc()

Return a default linear track descriptor.

DvzTrackLinearDesc dvz_track_linear_desc(void);
Field Type Description
return DvzTrackLinearDesc initialized descriptor

Related: dvz_track_linear().

Declared in include/datoviz/scene/animation.h:374.

dvz_track_rotation()

Create a quaternion rotation track.

DvzTrack * dvz_track_rotation(
    const DvzTrackRotationDesc * desc
);
Field Type Description
return DvzTrack * track, or NULL on validation/allocation failure
desc const DvzTrackRotationDesc * descriptor

Declared in include/datoviz/scene/animation.h:476.

dvz_track_rotation_desc()

Return a default rotation track descriptor.

DvzTrackRotationDesc dvz_track_rotation_desc(void);
Field Type Description
return DvzTrackRotationDesc initialized descriptor

Related: dvz_track_rotation().

Declared in include/datoviz/scene/animation.h:406.

Types

DvzTrack · typedef
typedef struct DvzTrack DvzTrack;

Declared in include/datoviz/scene/animation.h:118.

DvzTrackApplyCallback · typedef
typedef void (*)(DvzAnimation *, double, const void *, void *) DvzTrackApplyCallback;

Declared in include/datoviz/scene/animation.h:126.

DvzTrackCircle2Desc · record
struct DvzTrackCircle2Desc {
    uint32_t struct_size;
    uint32_t flags;
    vec2 center;
    float radius;
    float phase;
    float speed_rad_per_sec;
};

Declared in include/datoviz/scene/animation.h:210.

DvzTrackCircle3Desc · record
struct DvzTrackCircle3Desc {
    uint32_t struct_size;
    uint32_t flags;
    vec3 center;
    vec3 normal;
    float radius;
    float phase;
    float speed_rad_per_sec;
};

Declared in include/datoviz/scene/animation.h:221.

DvzTrackConstantDesc · record
struct DvzTrackConstantDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzTrackType type;
    const void * value;
};

Declared in include/datoviz/scene/animation.h:171.

DvzTrackInterpolation · enum
enum DvzTrackInterpolation {
    DVZ_TRACK_INTERP_STEP = 0,
    DVZ_TRACK_INTERP_LINEAR = 1,
    DVZ_TRACK_INTERP_CATMULL_ROM = 2,
    DVZ_TRACK_INTERP_CUBIC_HERMITE = 3,
    DVZ_TRACK_INTERP_SLERP = 4,
    DVZ_TRACK_INTERP_MONOTONE_CUBIC = 5,
};

Declared in include/datoviz/scene/animation.h:63.

DvzTrackKeyframesDesc · record
struct DvzTrackKeyframesDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzTrackType type;
    uint32_t count;
    const double * times;
    const void * values;
    DvzTrackRepeat repeat;
    DvzTrackTopology topology;
    DvzTrackInterpolation interpolation;
    DvzTrackTangentMode tangents;
    float tension;
    const void * in_tangents;
    const void * out_tangents;
};

Declared in include/datoviz/scene/animation.h:192.

DvzTrackLinearDesc · record
struct DvzTrackLinearDesc {
    uint32_t struct_size;
    uint32_t flags;
    DvzTrackType type;
    const void * start;
    const void * end;
    double duration;
    DvzTrackRepeat repeat;
};

Declared in include/datoviz/scene/animation.h:180.

DvzTrackRepeat · enum
enum DvzTrackRepeat {
    DVZ_TRACK_REPEAT_NONE = 0,
    DVZ_TRACK_REPEAT_LOOP = 1,
    DVZ_TRACK_REPEAT_PINGPONG = 2,
};

Declared in include/datoviz/scene/animation.h:55.

DvzTrackRotationDesc · record
struct DvzTrackRotationDesc {
    uint32_t struct_size;
    uint32_t flags;
    vec3 axis;
    float phase;
    float speed_rad_per_sec;
};

Declared in include/datoviz/scene/animation.h:233.

DvzTrackTangentMode · enum
enum DvzTrackTangentMode {
    DVZ_TRACK_TANGENT_AUTO = 0,
    DVZ_TRACK_TANGENT_FLAT = 1,
    DVZ_TRACK_TANGENT_USER = 2,
};

Declared in include/datoviz/scene/animation.h:74.

DvzTrackTopology · enum
enum DvzTrackTopology {
    DVZ_TRACK_TOPOLOGY_OPEN = 0,
    DVZ_TRACK_TOPOLOGY_CLOSED = 1,
};

Declared in include/datoviz/scene/animation.h:82.

DvzTrackType · enum
enum DvzTrackType {
    DVZ_TRACK_FLOAT = 0,
    DVZ_TRACK_VEC2 = 1,
    DVZ_TRACK_VEC3 = 2,
    DVZ_TRACK_VEC4 = 3,
    DVZ_TRACK_QUAT = 4,
};

Declared in include/datoviz/scene/animation.h:45.

Transform

Functions

dvz_transform_motion_desc()

Return a default transform motion descriptor.

DvzTransformMotionDesc dvz_transform_motion_desc(void);
Field Type Description
return DvzTransformMotionDesc initialized descriptor

Declared in include/datoviz/scene/animation.h:414.

Types

DvzTransformMotionDesc · record
struct DvzTransformMotionDesc {
    uint32_t struct_size;
    uint32_t flags;
    const DvzTrack * translation;
    const DvzTrack * rotation;
    const DvzTrack * scale;
    vec3 pivot;
    DvzTransformOrder order;
};

Declared in include/datoviz/scene/animation.h:243.

DvzTransformOrder · enum
enum DvzTransformOrder {
    DVZ_TRANSFORM_ORDER_TRS = 0,
};

Declared in include/datoviz/scene/animation.h:89.

Turntable

Functions

dvz_turntable()

Create a scene-owned turntable controller.

DvzController * dvz_turntable(
    DvzScene * scene,
    const DvzTurntableDesc * desc
);
Field Type Description
return DvzController * the scene-owned controller handle
scene DvzScene * the scene
desc const DvzTurntableDesc * turntable descriptor, or NULL for defaults

Declared in include/datoviz/scene/turntable.h:37.

Unit

Functions

dvz_unit_ladder_add()

Add one display entry to a custom unit ladder.

Duplicate factors or labels are rejected.

DvzResult dvz_unit_ladder_add(
    DvzUnitLadder * ladder,
    double factor,
    const char * label
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
ladder DvzUnitLadder * the ladder
factor double display-unit factor in canonical units
label const char * display unit label

Declared in include/datoviz/scene/scale.h:63.

dvz_unit_ladder_builtin()

Return a scene-owned builtin unit ladder.

DvzUnitLadder * dvz_unit_ladder_builtin(
    DvzScene * scene,
    DvzUnitLadderBuiltin builtin
);
Field Type Description
return DvzUnitLadder * the ladder, or NULL on validation/allocation error
scene DvzScene * the scene
builtin DvzUnitLadderBuiltin builtin ladder kind

Declared in include/datoviz/scene/scale.h:38.

dvz_unit_ladder_clear()

Clear all entries from a custom unit ladder.

Builtin ladders reject this call.

DvzResult dvz_unit_ladder_clear(
    DvzUnitLadder * ladder
);
Field Type Description
return DvzResult DVZ_OK when the ladder was cleared, DVZ_ERROR on error
ladder DvzUnitLadder * the ladder

Declared in include/datoviz/scene/scale.h:74.

dvz_unit_ladder_create()

Create a scene-owned custom unit ladder.

DvzUnitLadder * dvz_unit_ladder_create(
    DvzScene * scene,
    const char * canonical_unit
);
Field Type Description
return DvzUnitLadder * the ladder, or NULL on validation/allocation error
scene DvzScene * the scene
canonical_unit const char * canonical unit label

Declared in include/datoviz/scene/scale.h:49.

Types

DvzUnitDisplayMode · enum
enum DvzUnitDisplayMode {
    DVZ_UNIT_DISPLAY_AUTO = 0,
    DVZ_UNIT_DISPLAY_AXIS_STABLE = 1,
    DVZ_UNIT_DISPLAY_FIXED = 2,
};

Declared in include/datoviz/scene/types.h:124.

DvzUnitLadder · typedef
typedef struct DvzUnitLadder DvzUnitLadder;

Declared in include/datoviz/scene/types.h:99.

DvzUnitLadderBuiltin · enum
enum DvzUnitLadderBuiltin {
    DVZ_UNIT_LADDER_METRIC_LENGTH = 0,
    DVZ_UNIT_LADDER_DURATION = 1,
    DVZ_UNIT_LADDER_RAW = 2,
};

Declared in include/datoviz/scene/types.h:116.

Units

Functions

dvz_units_builtin()

Create a scene-owned units object using a builtin ladder.

DvzUnits * dvz_units_builtin(
    DvzScene * scene,
    DvzUnitLadderBuiltin builtin,
    double data_to_canonical
);
Field Type Description
return DvzUnits * the units object, or NULL on validation/allocation error
scene DvzScene * the scene
builtin DvzUnitLadderBuiltin builtin ladder kind
data_to_canonical double factor from data coordinates to canonical units

Declared in include/datoviz/scene/scale.h:94.

dvz_units_create()

Create a scene-owned units object.

DvzUnits * dvz_units_create(
    DvzScene * scene
);
Field Type Description
return DvzUnits * the units object, or NULL on allocation error
scene DvzScene * the scene

Declared in include/datoviz/scene/scale.h:83.

dvz_units_set_data_to_canonical()

Set the factor from data coordinates to canonical units.

DvzResult dvz_units_set_data_to_canonical(
    DvzUnits * units,
    double factor
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
units DvzUnits * the units object
factor double finite positive conversion factor

Declared in include/datoviz/scene/scale.h:105.

dvz_units_set_display_mode()

Set the unit display mode.

DvzResult dvz_units_set_display_mode(
    DvzUnits * units,
    DvzUnitDisplayMode mode
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
units DvzUnits * the units object
mode DvzUnitDisplayMode display mode

Declared in include/datoviz/scene/scale.h:125.

dvz_units_set_fixed_label()

Force a display label for fixed display mode.

DvzResult dvz_units_set_fixed_label(
    DvzUnits * units,
    const char * label
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
units DvzUnits * the units object
label const char * ladder entry label

Declared in include/datoviz/scene/scale.h:135.

dvz_units_set_ladder()

Attach a ladder to a units object.

DvzResult dvz_units_set_ladder(
    DvzUnits * units,
    DvzUnitLadder * ladder
);
Field Type Description
return DvzResult 0 on success, -1 on validation error
units DvzUnits * the units object
ladder DvzUnitLadder * the display ladder

Declared in include/datoviz/scene/scale.h:115.

Types

DvzUnits · typedef
typedef struct DvzUnits DvzUnits;

Declared in include/datoviz/scene/types.h:100.

Vertical

Types

DvzVerticalAnchor · enum
enum DvzVerticalAnchor {
    DVZ_VERTICAL_ANCHOR_TOP = 0,
    DVZ_VERTICAL_ANCHOR_CENTER = 1,
    DVZ_VERTICAL_ANCHOR_BOTTOM = 2,
};

Declared in include/datoviz/scene/enums.h:623.