#ifdef __cplusplus
extern "C" {
#endif
#include <stdarg.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
typedef void *NonNull;
typedef struct WuiArraySlice {
void *head;
uintptr_t len;
} WuiArraySlice;
typedef struct WuiArrayVTable {
void (*drop)(void*);
struct WuiArraySlice (*slice)(const void*);
} WuiArrayVTable;
typedef struct WuiArray {
void *data;
struct WuiArrayVTable vtable;
} WuiArray;
typedef enum WuiStretchAxis {
WuiStretchAxis_None = 0,
WuiStretchAxis_Horizontal = 1,
WuiStretchAxis_Vertical = 2,
WuiStretchAxis_Both = 3,
WuiStretchAxis_MainAxis = 4,
WuiStretchAxis_CrossAxis = 5,
} WuiStretchAxis;
typedef enum WuiLifecycle {
WuiLifecycle_Appear,
WuiLifecycle_Disappear,
} WuiLifecycle;
typedef enum WuiEvent {
WuiEvent_HoverEnter,
WuiEvent_HoverMove,
WuiEvent_HoverExit,
} WuiEvent;
typedef enum WuiMenuItemTag {
WuiMenuItemTag_Command = 0,
WuiMenuItemTag_Divider = 1,
WuiMenuItemTag_Menu = 2,
} WuiMenuItemTag;
typedef enum WuiMaterial {
WuiMaterial_UltraThin = 0,
WuiMaterial_Thin = 1,
WuiMaterial_Regular = 2,
WuiMaterial_Thick = 3,
WuiMaterial_UltraThick = 4,
} WuiMaterial;
typedef enum WuiGradientType {
WuiGradientType_Linear = 0,
WuiGradientType_Radial = 1,
WuiGradientType_Angular = 2,
WuiGradientType_Mesh = 3,
} WuiGradientType;
typedef enum WuiCursorStyle {
WuiCursorStyle_Arrow = 0,
WuiCursorStyle_PointingHand = 1,
WuiCursorStyle_IBeam = 2,
WuiCursorStyle_Crosshair = 3,
WuiCursorStyle_OpenHand = 4,
WuiCursorStyle_ClosedHand = 5,
WuiCursorStyle_NotAllowed = 6,
WuiCursorStyle_ResizeLeft = 7,
WuiCursorStyle_ResizeRight = 8,
WuiCursorStyle_ResizeUp = 9,
WuiCursorStyle_ResizeDown = 10,
WuiCursorStyle_ResizeLeftRight = 11,
WuiCursorStyle_ResizeUpDown = 12,
WuiCursorStyle_Move = 13,
WuiCursorStyle_Wait = 14,
WuiCursorStyle_Copy = 15,
} WuiCursorStyle;
typedef enum WuiDragDataTag {
WuiDragDataTag_Text = 0,
WuiDragDataTag_Url = 1,
} WuiDragDataTag;
typedef enum WuiColorScheme {
WuiColorScheme_Light = 0,
WuiColorScheme_Dark = 1,
} WuiColorScheme;
typedef enum WuiColorSlot {
WuiColorSlot_Background = 0,
WuiColorSlot_Surface = 1,
WuiColorSlot_SurfaceVariant = 2,
WuiColorSlot_Border = 3,
WuiColorSlot_Foreground = 4,
WuiColorSlot_MutedForeground = 5,
WuiColorSlot_Accent = 6,
WuiColorSlot_AccentForeground = 7,
WuiColorSlot_AccentContainer = 8,
WuiColorSlot_Tertiary = 9,
WuiColorSlot_TertiaryContainer = 10,
WuiColorSlot_SelectionContainer = 11,
WuiColorSlot_SelectionForeground = 12,
} WuiColorSlot;
typedef enum WuiFontSlot {
WuiFontSlot_Body = 0,
WuiFontSlot_Title = 1,
WuiFontSlot_Headline = 2,
WuiFontSlot_Subheadline = 3,
WuiFontSlot_Caption = 4,
WuiFontSlot_Footnote = 5,
} WuiFontSlot;
typedef enum WuiFontWeight {
WuiFontWeight_Thin,
WuiFontWeight_UltraLight,
WuiFontWeight_Light,
WuiFontWeight_Normal,
WuiFontWeight_Medium,
WuiFontWeight_SemiBold,
WuiFontWeight_Bold,
WuiFontWeight_UltraBold,
WuiFontWeight_Black,
} WuiFontWeight;
typedef enum WuiWindowState {
WuiWindowState_Normal = 0,
WuiWindowState_Closed = 1,
WuiWindowState_Minimized = 2,
WuiWindowState_Fullscreen = 3,
} WuiWindowState;
typedef enum WuiWindowStyle {
WuiWindowStyle_Titled = 0,
WuiWindowStyle_Borderless = 1,
WuiWindowStyle_FullSizeContentView = 2,
} WuiWindowStyle;
typedef enum WuiLabelDisplayMode {
WuiLabelDisplayMode_Automatic,
WuiLabelDisplayMode_TitleAndIcon,
WuiLabelDisplayMode_TitleOnly,
WuiLabelDisplayMode_IconOnly,
WuiLabelDisplayMode_Hidden,
} WuiLabelDisplayMode;
typedef enum WuiButtonStyle {
WuiButtonStyle_Automatic,
WuiButtonStyle_Plain,
WuiButtonStyle_Link,
WuiButtonStyle_Borderless,
WuiButtonStyle_Bordered,
WuiButtonStyle_BorderedProminent,
} WuiButtonStyle;
typedef enum WuiKeyboardType {
WuiKeyboardType_Text,
WuiKeyboardType_Email,
WuiKeyboardType_URL,
WuiKeyboardType_Number,
WuiKeyboardType_PhoneNumber,
} WuiKeyboardType;
typedef enum WuiToggleStyle {
WuiToggleStyle_Automatic,
WuiToggleStyle_Switch,
WuiToggleStyle_Checkbox,
} WuiToggleStyle;
typedef enum WuiPickerStyle {
WuiPickerStyle_Automatic,
WuiPickerStyle_Menu,
WuiPickerStyle_Radio,
WuiPickerStyle_Segmented,
} WuiPickerStyle;
typedef enum WuiDatePickerType {
WuiDatePickerType_Date,
WuiDatePickerType_HourAndMinute,
WuiDatePickerType_HourMinuteAndSecond,
WuiDatePickerType_DateHourAndMinute,
WuiDatePickerType_DateHourMinuteAndSecond,
} WuiDatePickerType;
typedef enum WuiProgressStyle {
WuiProgressStyle_Linear,
WuiProgressStyle_Circular,
WuiProgressStyle_Loading,
} WuiProgressStyle;
typedef enum WuiMapStyle {
WuiMapStyle_Standard = 0,
WuiMapStyle_Satellite = 1,
WuiMapStyle_Hybrid = 2,
} WuiMapStyle;
typedef enum WuiMapStatusKind {
WuiMapStatusKind_Loading = 0,
WuiMapStatusKind_Ready = 1,
WuiMapStatusKind_Failed = 2,
} WuiMapStatusKind;
typedef enum WuiHorizontalAlignment {
WuiHorizontalAlignment_Leading = 0,
WuiHorizontalAlignment_Center = 1,
WuiHorizontalAlignment_Trailing = 2,
} WuiHorizontalAlignment;
typedef enum WuiVerticalAlignment {
WuiVerticalAlignment_Top = 0,
WuiVerticalAlignment_Center = 1,
WuiVerticalAlignment_Bottom = 2,
WuiVerticalAlignment_FirstBaseline = 3,
WuiVerticalAlignment_LastBaseline = 4,
} WuiVerticalAlignment;
typedef enum WuiLazyStackAxis {
WuiLazyStackAxis_Unsupported = 0,
WuiLazyStackAxis_Vertical = 1,
WuiLazyStackAxis_Horizontal = 2,
} WuiLazyStackAxis;
typedef enum WuiAxis {
WuiAxis_Horizontal,
WuiAxis_Vertical,
WuiAxis_All,
} WuiAxis;
typedef enum WuiVideoDelivery {
WuiVideoDelivery_Progressive = 0,
WuiVideoDelivery_Hls = 1,
WuiVideoDelivery_Dash = 2,
} WuiVideoDelivery;
typedef enum WuiSubtitleSelectionType {
WuiSubtitleSelectionType_Auto = 0,
WuiSubtitleSelectionType_Off = 1,
WuiSubtitleSelectionType_Track = 2,
} WuiSubtitleSelectionType;
typedef enum WuiAudioTrackSelectionType {
WuiAudioTrackSelectionType_Auto = 0,
WuiAudioTrackSelectionType_Track = 1,
} WuiAudioTrackSelectionType;
typedef enum WuiVideoTrackSelectionType {
WuiVideoTrackSelectionType_Auto = 0,
WuiVideoTrackSelectionType_Track = 1,
} WuiVideoTrackSelectionType;
typedef enum WuiVideoSubtitleTrackOrigin {
WuiVideoSubtitleTrackOrigin_Sidecar = 0,
WuiVideoSubtitleTrackOrigin_Embedded = 1,
WuiVideoSubtitleTrackOrigin_Manifest = 2,
WuiVideoSubtitleTrackOrigin_Native = 3,
} WuiVideoSubtitleTrackOrigin;
typedef enum WuiVideoEventType {
WuiVideoEventType_ReadyToPlay = 0,
WuiVideoEventType_Ended = 1,
WuiVideoEventType_Error = 2,
WuiVideoEventType_Buffering = 3,
WuiVideoEventType_BufferingEnded = 4,
WuiVideoEventType_BufferLevel = 5,
WuiVideoEventType_PlaybackMetrics = 6,
WuiVideoEventType_PictureInPictureChanged = 7,
WuiVideoEventType_NextRequested = 8,
WuiVideoEventType_PreviousRequested = 9,
WuiVideoEventType_PlaybackStateChanged = 10,
WuiVideoEventType_ExternalPlaybackChanged = 11,
WuiVideoEventType_PlaybackOutputPathChanged = 12,
} WuiVideoEventType;
typedef enum WuiVideoPlaybackOutputPath {
WuiVideoPlaybackOutputPath_PlatformManaged = 0,
WuiVideoPlaybackOutputPath_DecodedPcmGpu = 1,
WuiVideoPlaybackOutputPath_AudioOffload = 2,
WuiVideoPlaybackOutputPath_AudioVideoTunneling = 3,
} WuiVideoPlaybackOutputPath;
typedef enum WuiVideoPlaybackPowerPolicy {
WuiVideoPlaybackPowerPolicy_PlatformManaged = 0,
WuiVideoPlaybackPowerPolicy_RequireAudioOffload = 1,
WuiVideoPlaybackPowerPolicy_RequireAudioVideoTunneling = 2,
} WuiVideoPlaybackPowerPolicy;
typedef enum WuiContentMode {
WuiContentMode_Fit = 0,
WuiContentMode_Fill = 1,
WuiContentMode_Stretch = 2,
} WuiContentMode;
typedef enum WuiVideoProjection {
WuiVideoProjection_Rectilinear = 0,
WuiVideoProjection_Equirectangular = 1,
} WuiVideoProjection;
typedef enum WuiNavigationToolbarPlacement {
WuiNavigationToolbarPlacement_Principal = 0,
WuiNavigationToolbarPlacement_PrimaryAction = 1,
WuiNavigationToolbarPlacement_SecondaryAction = 2,
WuiNavigationToolbarPlacement_Confirmation = 3,
WuiNavigationToolbarPlacement_Cancellation = 4,
WuiNavigationToolbarPlacement_BottomBar = 5,
WuiNavigationToolbarPlacement_Status = 6,
WuiNavigationToolbarPlacement_TopBarLeading = 7,
WuiNavigationToolbarPlacement_TopBarTrailing = 8,
} WuiNavigationToolbarPlacement;
typedef enum WuiNavigationTitleDisplayMode {
WuiNavigationTitleDisplayMode_Automatic = 0,
WuiNavigationTitleDisplayMode_Inline = 1,
WuiNavigationTitleDisplayMode_Medium = 2,
WuiNavigationTitleDisplayMode_Large = 3,
} WuiNavigationTitleDisplayMode;
typedef enum WuiNavigationTransitionKind {
WuiNavigationTransitionKind_Automatic = 0,
WuiNavigationTransitionKind_Fade = 1,
WuiNavigationTransitionKind_Zoom = 2,
WuiNavigationTransitionKind_None = 3,
WuiNavigationTransitionKind_Custom = 4,
WuiNavigationTransitionKind_Inherit = 5,
} WuiNavigationTransitionKind;
typedef enum WuiNavigationSplitStyle {
WuiNavigationSplitStyle_Automatic = 0,
WuiNavigationSplitStyle_Balanced = 1,
WuiNavigationSplitStyle_ProminentDetail = 2,
} WuiNavigationSplitStyle;
typedef enum WuiTabStyle {
WuiTabStyle_Automatic = 0,
WuiTabStyle_TabBar = 1,
WuiTabStyle_Sidebar = 2,
} WuiTabStyle;
typedef enum WuiCefPointerButton {
WuiCefPointerButton_Primary,
WuiCefPointerButton_Middle,
WuiCefPointerButton_Secondary,
} WuiCefPointerButton;
typedef enum WuiCefEditCommand {
WuiCefEditCommand_Undo,
WuiCefEditCommand_Redo,
WuiCefEditCommand_Cut,
WuiCefEditCommand_Copy,
WuiCefEditCommand_Paste,
WuiCefEditCommand_SelectAll,
} WuiCefEditCommand;
typedef enum WuiJsReplyKind {
WuiJsReplyKind_Json = 0,
WuiJsReplyKind_Bytes = 1,
} WuiJsReplyKind;
typedef enum WuiScriptInjectionTime {
WuiScriptInjectionTime_DocumentStart = 0,
WuiScriptInjectionTime_DocumentEnd = 1,
} WuiScriptInjectionTime;
typedef enum WuiWebViewEventType {
WuiWebViewEventType_WillNavigate = 1,
WuiWebViewEventType_Loading = 2,
WuiWebViewEventType_Loaded = 3,
WuiWebViewEventType_Redirect = 4,
WuiWebViewEventType_SslError = 5,
WuiWebViewEventType_Error = 6,
WuiWebViewEventType_StateChanged = 7,
} WuiWebViewEventType;
typedef struct Affine2 Affine2;
typedef struct Binding_AudioTrackSelection Binding_AudioTrackSelection;
typedef struct Binding_Color Binding_Color;
typedef struct Binding_DateTime Binding_DateTime;
typedef struct Binding_Id Binding_Id;
typedef struct Binding_MapStatus Binding_MapStatus;
typedef struct Binding_Option_LiveWindow Binding_Option_LiveWindow;
typedef struct Binding_Rect Binding_Rect;
typedef struct Binding_Secure Binding_Secure;
typedef struct Binding_Str Binding_Str;
typedef struct Binding_StyledStr Binding_StyledStr;
typedef struct Binding_SubtitleSelection Binding_SubtitleSelection;
typedef struct Binding_TrackCatalog Binding_TrackCatalog;
typedef struct Binding_Vec_Date Binding_Vec_Date;
typedef struct Binding_VideoTrackSelection Binding_VideoTrackSelection;
typedef struct Binding_WindowState Binding_WindowState;
typedef struct Binding_bool Binding_bool;
typedef struct Binding_f32 Binding_f32;
typedef struct Binding_f64 Binding_f64;
typedef struct Binding_i32 Binding_i32;
typedef struct Computed_ColorScheme Computed_ColorScheme;
typedef struct Computed_CursorStyle Computed_CursorStyle;
typedef struct Computed_Delivery Computed_Delivery;
typedef struct Computed_EdgeInsets Computed_EdgeInsets;
typedef struct Computed_HorizontalAlignment Computed_HorizontalAlignment;
typedef struct Computed_Option_Location Computed_Option_Location;
typedef struct Computed_Region Computed_Region;
typedef struct Computed_ResolvedColor Computed_ResolvedColor;
typedef struct Computed_ResolvedFont Computed_ResolvedFont;
typedef struct Computed_Size Computed_Size;
typedef struct Computed_Str Computed_Str;
typedef struct Computed_StyledStr Computed_StyledStr;
typedef struct Computed_Vec_Annotation Computed_Vec_Annotation;
typedef struct Computed_Vec_Date Computed_Vec_Date;
typedef struct Computed_bool Computed_bool;
typedef struct Computed_f32 Computed_f32;
typedef struct Computed_f64 Computed_f64;
typedef struct Computed_i32 Computed_i32;
typedef struct EdgeSet EdgeSet;
typedef struct ProposalSize ProposalSize;
typedef struct UnitPoint UnitPoint;
typedef struct Vec2 Vec2;
typedef struct WuiAction WuiAction;
typedef struct WuiAnyView WuiAnyView;
typedef struct WuiAnyViews WuiAnyViews;
typedef struct WuiAppliedFilterState WuiAppliedFilterState;
typedef struct WuiCefSurfaceState WuiCefSurfaceState;
typedef struct WuiColor WuiColor;
typedef struct WuiDraggableWrapper WuiDraggableWrapper;
typedef struct WuiDropHandler WuiDropHandler;
typedef struct WuiDynamic WuiDynamic;
typedef struct WuiEnv WuiEnv;
typedef struct WuiFont WuiFont;
typedef struct WuiGpuCaptureFence WuiGpuCaptureFence;
typedef struct WuiGpuRuntime WuiGpuRuntime;
typedef struct WuiGpuSurfaceState WuiGpuSurfaceState;
typedef struct WuiIndexAction WuiIndexAction;
typedef struct WuiLayout WuiLayout;
typedef struct WuiLayoutWatcher WuiLayoutWatcher;
typedef struct WuiLifecycleHookHandler WuiLifecycleHookHandler;
typedef struct WuiMoveAction WuiMoveAction;
typedef struct WuiOnEventHandler WuiOnEventHandler;
typedef struct WuiSharedAction WuiSharedAction;
typedef struct WuiTabContent WuiTabContent;
typedef struct WuiVideoController WuiVideoController;
typedef struct WuiVideoEventHandler WuiVideoEventHandler;
typedef struct WuiViewEffectState WuiViewEffectState;
typedef struct WuiWatcherGuard WuiWatcherGuard;
typedef struct WuiWatcherMetadata WuiWatcherMetadata;
typedef struct WuiWatcher_AnyView WuiWatcher_AnyView;
typedef struct WuiWatcher_AudioTrackSelection WuiWatcher_AudioTrackSelection;
typedef struct WuiWatcher_Color WuiWatcher_Color;
typedef struct WuiWatcher_ColorScheme WuiWatcher_ColorScheme;
typedef struct WuiWatcher_CursorStyle WuiWatcher_CursorStyle;
typedef struct WuiWatcher_DateTime WuiWatcher_DateTime;
typedef struct WuiWatcher_Delivery WuiWatcher_Delivery;
typedef struct WuiWatcher_EdgeInsets WuiWatcher_EdgeInsets;
typedef struct WuiWatcher_HorizontalAlignment WuiWatcher_HorizontalAlignment;
typedef struct WuiWatcher_Id WuiWatcher_Id;
typedef struct WuiWatcher_MapStatus WuiWatcher_MapStatus;
typedef struct WuiWatcher_Option_Location WuiWatcher_Option_Location;
typedef struct WuiWatcher_Rect WuiWatcher_Rect;
typedef struct WuiWatcher_Region WuiWatcher_Region;
typedef struct WuiWatcher_ResolvedColor WuiWatcher_ResolvedColor;
typedef struct WuiWatcher_ResolvedFont WuiWatcher_ResolvedFont;
typedef struct WuiWatcher_Secure WuiWatcher_Secure;
typedef struct WuiWatcher_Size WuiWatcher_Size;
typedef struct WuiWatcher_Str WuiWatcher_Str;
typedef struct WuiWatcher_StyledStr WuiWatcher_StyledStr;
typedef struct WuiWatcher_SubtitleSelection WuiWatcher_SubtitleSelection;
typedef struct WuiWatcher_Vec_Annotation WuiWatcher_Vec_Annotation;
typedef struct WuiWatcher_Vec_Date WuiWatcher_Vec_Date;
typedef struct WuiWatcher_VideoTrackSelection WuiWatcher_VideoTrackSelection;
typedef struct WuiWatcher_WindowState WuiWatcher_WindowState;
typedef struct WuiWatcher_bool WuiWatcher_bool;
typedef struct WuiWatcher_f32 WuiWatcher_f32;
typedef struct WuiWatcher_f64 WuiWatcher_f64;
typedef struct WuiWatcher_i32 WuiWatcher_i32;
typedef struct WuiWebView WuiWebView;
typedef struct WuiTypeId {
uint64_t low;
uint64_t high;
} WuiTypeId;
typedef struct Computed_bool WuiComputed_bool;
typedef struct WuiArraySlice_u8 {
uint8_t *head;
uintptr_t len;
} WuiArraySlice_u8;
typedef struct WuiArrayVTable_u8 {
void (*drop)(void*);
struct WuiArraySlice_u8 (*slice)(const void*);
} WuiArrayVTable_u8;
typedef struct WuiArray_u8 {
NonNull data;
struct WuiArrayVTable_u8 vtable;
} WuiArray_u8;
typedef struct WuiStr {
struct WuiArray_u8 _0;
} WuiStr;
typedef struct WuiMetadata_____WuiEnv {
struct WuiAnyView *content;
struct WuiEnv *value;
} WuiMetadata_____WuiEnv;
typedef struct WuiMetadata_____WuiEnv WuiMetadataEnv;
typedef struct WuiId {
int32_t inner;
} WuiId;
typedef struct WuiMetadata_WuiId {
struct WuiAnyView *content;
struct WuiId value;
} WuiMetadata_WuiId;
typedef struct WuiMetadata_WuiId WuiMetadataNavigationTransitionSource;
typedef struct WuiMetadata_WuiId WuiMetadataNavigationTransitionDestination;
typedef struct WuiSecureMarker {
uint8_t _marker;
} WuiSecureMarker;
typedef struct WuiMetadata_WuiSecureMarker {
struct WuiAnyView *content;
struct WuiSecureMarker value;
} WuiMetadata_WuiSecureMarker;
typedef struct WuiMetadata_WuiSecureMarker WuiMetadataSecure;
typedef struct WuiDynamicRangeMarker {
uint8_t _marker;
} WuiDynamicRangeMarker;
typedef struct WuiMetadata_WuiDynamicRangeMarker {
struct WuiAnyView *content;
struct WuiDynamicRangeMarker value;
} WuiMetadata_WuiDynamicRangeMarker;
typedef struct WuiMetadata_WuiDynamicRangeMarker WuiMetadataStandardDynamicRange;
typedef struct WuiMetadata_WuiDynamicRangeMarker WuiMetadataHighDynamicRange;
typedef enum WuiGesture_Tag {
WuiGesture_Tap,
WuiGesture_LongPress,
WuiGesture_Drag,
WuiGesture_Magnification,
WuiGesture_Rotation,
WuiGesture_Then,
WuiGesture_Simultaneous,
WuiGesture_Exclusive,
} WuiGesture_Tag;
typedef struct WuiGesture_Tap_Body {
uint32_t count;
} WuiGesture_Tap_Body;
typedef struct WuiGesture_LongPress_Body {
uint32_t duration;
} WuiGesture_LongPress_Body;
typedef struct WuiGesture_Drag_Body {
float min_distance;
} WuiGesture_Drag_Body;
typedef struct WuiGesture_Magnification_Body {
float initial_scale;
} WuiGesture_Magnification_Body;
typedef struct WuiGesture_Rotation_Body {
float initial_angle;
} WuiGesture_Rotation_Body;
typedef struct WuiGesture_Then_Body {
struct WuiGesture *first;
struct WuiGesture *then;
} WuiGesture_Then_Body;
typedef struct WuiGesture_Simultaneous_Body {
struct WuiGesture *first;
struct WuiGesture *second;
} WuiGesture_Simultaneous_Body;
typedef struct WuiGesture_Exclusive_Body {
struct WuiGesture *first;
struct WuiGesture *second;
} WuiGesture_Exclusive_Body;
typedef struct WuiGesture {
WuiGesture_Tag tag;
union {
WuiGesture_Tap_Body tap;
WuiGesture_LongPress_Body long_press;
WuiGesture_Drag_Body drag;
WuiGesture_Magnification_Body magnification;
WuiGesture_Rotation_Body rotation;
WuiGesture_Then_Body then;
WuiGesture_Simultaneous_Body simultaneous;
WuiGesture_Exclusive_Body exclusive;
};
} WuiGesture;
typedef struct WuiGestureObserver {
struct WuiGesture gesture;
struct WuiAction *action;
} WuiGestureObserver;
typedef struct WuiMetadata_WuiGestureObserver {
struct WuiAnyView *content;
struct WuiGestureObserver value;
} WuiMetadata_WuiGestureObserver;
typedef struct WuiMetadata_WuiGestureObserver WuiMetadataGesture;
typedef struct WuiLifecycleHook {
enum WuiLifecycle lifecycle;
struct WuiLifecycleHookHandler *handler;
} WuiLifecycleHook;
typedef struct WuiMetadata_WuiLifecycleHook {
struct WuiAnyView *content;
struct WuiLifecycleHook value;
} WuiMetadata_WuiLifecycleHook;
typedef struct WuiMetadata_WuiLifecycleHook WuiMetadataLifecycleHook;
typedef struct WuiOnEvent {
enum WuiEvent event;
struct WuiOnEventHandler *handler;
} WuiOnEvent;
typedef struct WuiMetadata_WuiOnEvent {
struct WuiAnyView *content;
struct WuiOnEvent value;
} WuiMetadata_WuiOnEvent;
typedef struct WuiMetadata_WuiOnEvent WuiMetadataOnEvent;
typedef struct Computed_CursorStyle WuiComputed_CursorStyle;
typedef struct WuiCursor {
WuiComputed_CursorStyle *style;
} WuiCursor;
typedef struct WuiMetadata_WuiCursor {
struct WuiAnyView *content;
struct WuiCursor value;
} WuiMetadata_WuiCursor;
typedef struct WuiMetadata_WuiCursor WuiMetadataCursor;
typedef struct WuiIgnorableMetadataAccessibilityIdentifier {
struct WuiAnyView *content;
struct WuiStr identifier;
} WuiIgnorableMetadataAccessibilityIdentifier;
typedef struct Computed_StyledStr WuiComputed_StyledStr;
typedef struct WuiIgnorableMetadataAccessibilityLabel {
struct WuiAnyView *content;
WuiComputed_StyledStr *label;
} WuiIgnorableMetadataAccessibilityLabel;
typedef struct WuiIgnorableMetadataAccessibilityValue {
struct WuiAnyView *content;
int32_t value;
} WuiIgnorableMetadataAccessibilityValue;
typedef struct Computed_i32 WuiComputed_i32;
typedef struct WuiAccessibilityState {
WuiComputed_bool *disabled;
WuiComputed_bool *selected;
WuiComputed_i32 *checked;
WuiComputed_i32 *expanded;
WuiComputed_bool *busy;
WuiComputed_bool *hidden;
} WuiAccessibilityState;
typedef struct WuiIgnorableMetadataAccessibilityState {
struct WuiAnyView *content;
struct WuiAccessibilityState state;
} WuiIgnorableMetadataAccessibilityState;
typedef struct WuiShadow {
struct WuiColor *color;
float offset_x;
float offset_y;
float radius;
} WuiShadow;
typedef struct WuiMetadata_WuiShadow {
struct WuiAnyView *content;
struct WuiShadow value;
} WuiMetadata_WuiShadow;
typedef struct WuiMetadata_WuiShadow WuiMetadataShadow;
typedef struct WuiEdgeSet {
bool top;
bool leading;
bool bottom;
bool trailing;
} WuiEdgeSet;
typedef struct WuiBorder {
struct WuiColor *color;
float width;
float corner_radius;
struct WuiEdgeSet edges;
} WuiBorder;
typedef struct WuiMetadata_WuiBorder {
struct WuiAnyView *content;
struct WuiBorder value;
} WuiMetadata_WuiBorder;
typedef struct WuiMetadata_WuiBorder WuiMetadataBorder;
typedef struct Computed_f32 WuiComputed_f32;
typedef struct WuiAnchor {
float x;
float y;
} WuiAnchor;
typedef struct WuiScale {
WuiComputed_f32 *x;
WuiComputed_f32 *y;
struct WuiAnchor anchor;
} WuiScale;
typedef struct WuiMetadata_WuiScale {
struct WuiAnyView *content;
struct WuiScale value;
} WuiMetadata_WuiScale;
typedef struct WuiMetadata_WuiScale WuiMetadataScale;
typedef struct WuiRotation {
WuiComputed_f32 *angle;
struct WuiAnchor anchor;
} WuiRotation;
typedef struct WuiMetadata_WuiRotation {
struct WuiAnyView *content;
struct WuiRotation value;
} WuiMetadata_WuiRotation;
typedef struct WuiMetadata_WuiRotation WuiMetadataRotation;
typedef struct WuiOffset {
WuiComputed_f32 *x;
WuiComputed_f32 *y;
} WuiOffset;
typedef struct WuiMetadata_WuiOffset {
struct WuiAnyView *content;
struct WuiOffset value;
} WuiMetadata_WuiOffset;
typedef struct WuiMetadata_WuiOffset WuiMetadataOffset;
typedef struct WuiOpacity {
WuiComputed_f32 *value;
} WuiOpacity;
typedef struct WuiMetadata_WuiOpacity {
struct WuiAnyView *content;
struct WuiOpacity value;
} WuiMetadata_WuiOpacity;
typedef struct WuiMetadata_WuiOpacity WuiMetadataOpacity;
typedef struct Binding_bool WuiBinding_bool;
typedef struct WuiFocused {
WuiBinding_bool *binding;
} WuiFocused;
typedef struct WuiMetadata_WuiFocused {
struct WuiAnyView *content;
struct WuiFocused value;
} WuiMetadata_WuiFocused;
typedef struct WuiMetadata_WuiFocused WuiMetadataFocused;
typedef struct WuiIgnoreSafeArea {
struct WuiEdgeSet edges;
} WuiIgnoreSafeArea;
typedef struct WuiMetadata_WuiIgnoreSafeArea {
struct WuiAnyView *content;
struct WuiIgnoreSafeArea value;
} WuiMetadata_WuiIgnoreSafeArea;
typedef struct WuiMetadata_WuiIgnoreSafeArea WuiMetadataIgnoreSafeArea;
typedef struct WuiRetain {
void *_opaque;
} WuiRetain;
typedef struct WuiMetadata_WuiRetain {
struct WuiAnyView *content;
struct WuiRetain value;
} WuiMetadata_WuiRetain;
typedef struct WuiMetadata_WuiRetain WuiMetadataRetain;
typedef struct WuiShapeKind {
int32_t tag;
float top_left;
float top_right;
float bottom_right;
float bottom_left;
} WuiShapeKind;
typedef enum WuiPathCommand_Tag {
WuiPathCommand_MoveTo,
WuiPathCommand_LineTo,
WuiPathCommand_QuadTo,
WuiPathCommand_CubicTo,
WuiPathCommand_Arc,
WuiPathCommand_Close,
} WuiPathCommand_Tag;
typedef struct WuiPathCommand_MoveTo_Body {
float x;
float y;
} WuiPathCommand_MoveTo_Body;
typedef struct WuiPathCommand_LineTo_Body {
float x;
float y;
} WuiPathCommand_LineTo_Body;
typedef struct WuiPathCommand_QuadTo_Body {
float cx;
float cy;
float x;
float y;
} WuiPathCommand_QuadTo_Body;
typedef struct WuiPathCommand_CubicTo_Body {
float c1x;
float c1y;
float c2x;
float c2y;
float x;
float y;
} WuiPathCommand_CubicTo_Body;
typedef struct WuiPathCommand_Arc_Body {
float cx;
float cy;
float rx;
float ry;
float start;
float sweep;
} WuiPathCommand_Arc_Body;
typedef struct WuiPathCommand {
WuiPathCommand_Tag tag;
union {
WuiPathCommand_MoveTo_Body move_to;
WuiPathCommand_LineTo_Body line_to;
WuiPathCommand_QuadTo_Body quad_to;
WuiPathCommand_CubicTo_Body cubic_to;
WuiPathCommand_Arc_Body arc;
};
} WuiPathCommand;
typedef struct WuiArraySlice_WuiPathCommand {
struct WuiPathCommand *head;
uintptr_t len;
} WuiArraySlice_WuiPathCommand;
typedef struct WuiArrayVTable_WuiPathCommand {
void (*drop)(void*);
struct WuiArraySlice_WuiPathCommand (*slice)(const void*);
} WuiArrayVTable_WuiPathCommand;
typedef struct WuiArray_WuiPathCommand {
NonNull data;
struct WuiArrayVTable_WuiPathCommand vtable;
} WuiArray_WuiPathCommand;
typedef struct WuiClipShape {
struct WuiShapeKind kind;
struct WuiArray_WuiPathCommand commands;
} WuiClipShape;
typedef struct WuiMetadata_WuiClipShape {
struct WuiAnyView *content;
struct WuiClipShape value;
} WuiMetadata_WuiClipShape;
typedef struct WuiMetadata_WuiClipShape WuiMetadataClipShape;
typedef struct Computed_HorizontalAlignment WuiComputed_HorizontalAlignment;
typedef struct WuiText {
WuiComputed_StyledStr *content;
WuiComputed_HorizontalAlignment *paragraph_alignment;
uintptr_t line_limit;
} WuiText;
typedef struct WuiSystemIcon {
struct WuiStr name;
} WuiSystemIcon;
typedef struct WuiShortcutModifiers {
bool command;
bool shift;
bool option;
bool control;
} WuiShortcutModifiers;
typedef struct WuiShortcut {
struct WuiStr key;
struct WuiShortcutModifiers modifiers;
} WuiShortcut;
typedef struct WuiMenuItem {
enum WuiMenuItemTag tag;
struct WuiText *label;
struct WuiSystemIcon *icon;
struct WuiSharedAction *action;
WuiComputed_bool *disabled;
WuiComputed_bool *selected;
struct WuiShortcut *shortcut;
struct WuiAnyViews *items;
} WuiMenuItem;
typedef struct WuiContextMenu {
struct WuiAnyViews *items;
} WuiContextMenu;
typedef struct WuiMetadata_WuiContextMenu {
struct WuiAnyView *content;
struct WuiContextMenu value;
} WuiMetadata_WuiContextMenu;
typedef struct WuiMetadata_WuiContextMenu WuiMetadataContextMenu;
typedef struct WuiMenu {
struct WuiAnyView *label;
struct WuiAnyViews *items;
WuiComputed_StyledStr *accessibility_label;
} WuiMenu;
typedef struct WuiDraggable {
struct WuiDraggableWrapper *inner;
} WuiDraggable;
typedef struct WuiMetadata_WuiDraggable {
struct WuiAnyView *content;
struct WuiDraggable value;
} WuiMetadata_WuiDraggable;
typedef struct WuiMetadata_WuiDraggable WuiMetadataDraggable;
typedef struct WuiDropDestination {
struct WuiDropHandler *handler;
} WuiDropDestination;
typedef struct WuiMetadata_WuiDropDestination {
struct WuiAnyView *content;
struct WuiDropDestination value;
} WuiMetadata_WuiDropDestination;
typedef struct WuiMetadata_WuiDropDestination WuiMetadataDropDestination;
typedef struct WuiIgnorableMetadataMaterialBackground {
struct WuiAnyView *content;
enum WuiMaterial material;
} WuiIgnorableMetadataMaterialBackground;
typedef struct WuiHittable {
WuiComputed_bool *enabled;
} WuiHittable;
typedef struct WuiMetadata_WuiHittable {
struct WuiAnyView *content;
struct WuiHittable value;
} WuiMetadata_WuiHittable;
typedef struct WuiMetadata_WuiHittable WuiMetadataHittable;
typedef struct WuiResolvedColor {
float red;
float green;
float blue;
float opacity;
float headroom;
} WuiResolvedColor;
typedef struct Computed_ResolvedColor WuiComputed_ResolvedColor;
typedef struct Binding_Color WuiBinding_Color;
typedef struct WuiResolvedGradientStop {
float position;
struct WuiResolvedColor color;
} WuiResolvedGradientStop;
typedef struct WuiArraySlice_WuiResolvedGradientStop {
struct WuiResolvedGradientStop *head;
uintptr_t len;
} WuiArraySlice_WuiResolvedGradientStop;
typedef struct WuiArrayVTable_WuiResolvedGradientStop {
void (*drop)(void*);
struct WuiArraySlice_WuiResolvedGradientStop (*slice)(const void*);
} WuiArrayVTable_WuiResolvedGradientStop;
typedef struct WuiArray_WuiResolvedGradientStop {
NonNull data;
struct WuiArrayVTable_WuiResolvedGradientStop vtable;
} WuiArray_WuiResolvedGradientStop;
typedef struct WuiResolvedGradient {
enum WuiGradientType gradient_type;
struct WuiArray_WuiResolvedGradientStop stops;
float start_x;
float start_y;
float end_x;
float end_y;
float start_value;
float end_value;
} WuiResolvedGradient;
typedef struct WuiResolvedShape {
struct WuiShapeKind kind;
struct WuiArray_WuiPathCommand commands;
WuiComputed_ResolvedColor *fill;
} WuiResolvedShape;
typedef enum WuiAnimation_Tag {
WuiAnimation_None,
WuiAnimation_Bezier,
WuiAnimation_Spring,
} WuiAnimation_Tag;
typedef struct WuiAnimation_Bezier_Body {
uint64_t duration_ms;
float x1;
float y1;
float x2;
float y2;
} WuiAnimation_Bezier_Body;
typedef struct WuiAnimation_Spring_Body {
float stiffness;
float damping;
} WuiAnimation_Spring_Body;
typedef struct WuiAnimation {
WuiAnimation_Tag tag;
union {
WuiAnimation_Bezier_Body bezier;
WuiAnimation_Spring_Body spring;
};
} WuiAnimation;
typedef struct WuiDragData {
enum WuiDragDataTag tag;
struct WuiStr value;
} WuiDragData;
typedef struct Binding_Str WuiBinding_Str;
typedef struct Computed_Str WuiComputed_Str;
typedef struct WuiTextStyle {
struct WuiFont *font;
bool italic;
bool underline;
bool strikethrough;
struct WuiColor *foreground;
struct WuiColor *background;
} WuiTextStyle;
typedef struct WuiStyledChunk {
struct WuiStr text;
struct WuiTextStyle style;
} WuiStyledChunk;
typedef struct WuiArraySlice_WuiStyledChunk {
struct WuiStyledChunk *head;
uintptr_t len;
} WuiArraySlice_WuiStyledChunk;
typedef struct WuiArrayVTable_WuiStyledChunk {
void (*drop)(void*);
struct WuiArraySlice_WuiStyledChunk (*slice)(const void*);
} WuiArrayVTable_WuiStyledChunk;
typedef struct WuiArray_WuiStyledChunk {
NonNull data;
struct WuiArrayVTable_WuiStyledChunk vtable;
} WuiArray_WuiStyledChunk;
typedef struct WuiStyledStr {
struct WuiArray_WuiStyledChunk chunks;
} WuiStyledStr;
typedef struct Binding_StyledStr WuiBinding_StyledStr;
typedef struct Computed_f64 WuiComputed_f64;
typedef struct Binding_i32 WuiBinding_i32;
typedef struct Binding_f32 WuiBinding_f32;
typedef struct Binding_f64 WuiBinding_f64;
typedef struct WuiDateTime {
int32_t year;
uint8_t month;
uint8_t day;
uint8_t hour;
uint8_t minute;
uint8_t second;
} WuiDateTime;
typedef struct Binding_DateTime WuiBinding_DateTime;
typedef struct WuiDate {
int32_t year;
uint8_t month;
uint8_t day;
} WuiDate;
typedef struct WuiArraySlice_WuiDate {
struct WuiDate *head;
uintptr_t len;
} WuiArraySlice_WuiDate;
typedef struct WuiArrayVTable_WuiDate {
void (*drop)(void*);
struct WuiArraySlice_WuiDate (*slice)(const void*);
} WuiArrayVTable_WuiDate;
typedef struct WuiArray_WuiDate {
NonNull data;
struct WuiArrayVTable_WuiDate vtable;
} WuiArray_WuiDate;
typedef struct Binding_Vec_Date WuiBinding_Vec_Date;
typedef struct Computed_Vec_Date WuiComputed_Vec_Date;
typedef struct Binding_Secure WuiBinding_Secure;
typedef struct Binding_Id WuiBinding_Id;
typedef struct WuiInspectorNode {
uint64_t id;
struct WuiStr role;
struct WuiStr label;
struct WuiStr value;
bool has_bounds;
float bounds[4];
bool enabled;
bool hidden;
bool selected;
bool has_checked;
bool checked;
const uint64_t *children;
uintptr_t children_len;
} WuiInspectorNode;
typedef struct WuiEdgeInsets {
float top;
float bottom;
float leading;
float trailing;
} WuiEdgeInsets;
typedef struct Computed_EdgeInsets WuiComputed_EdgeInsets;
typedef struct Computed_ColorScheme WuiComputed_ColorScheme;
typedef struct Computed_ResolvedFont WuiComputed_ResolvedFont;
typedef struct WuiResolvedFont {
float size;
enum WuiFontWeight weight;
struct WuiStr family;
} WuiResolvedFont;
typedef struct WuiArraySlice_WuiId {
struct WuiId *head;
uintptr_t len;
} WuiArraySlice_WuiId;
typedef struct WuiArrayVTable_WuiId {
void (*drop)(void*);
struct WuiArraySlice_WuiId (*slice)(const void*);
} WuiArrayVTable_WuiId;
typedef struct WuiArray_WuiId {
NonNull data;
struct WuiArrayVTable_WuiId vtable;
} WuiArray_WuiId;
typedef struct Binding_WindowState WuiBinding_WindowState;
typedef struct Binding_Rect WuiBinding_Rect;
typedef enum WuiWindowBackground_Tag {
WuiWindowBackground_Opaque,
WuiWindowBackground_Color,
} WuiWindowBackground_Tag;
typedef struct WuiWindowBackground_Color_Body {
struct WuiColor *color;
} WuiWindowBackground_Color_Body;
typedef struct WuiWindowBackground {
WuiWindowBackground_Tag tag;
union {
WuiWindowBackground_Color_Body color;
};
} WuiWindowBackground;
typedef struct Computed_Size WuiComputed_Size;
typedef struct WuiWindow {
WuiComputed_Str *title;
bool closable;
bool resizable;
WuiBinding_Rect *frame;
struct WuiAnyView *content;
WuiBinding_WindowState *state;
struct WuiAnyView *toolbar;
enum WuiWindowStyle style;
struct WuiWindowBackground background;
WuiComputed_Size *min_size;
WuiComputed_Size *max_size;
} WuiWindow;
typedef void (*WindowShowFn)(void *context, struct WuiWindow window);
typedef struct WuiLabel {
struct WuiAnyView *view;
WuiComputed_StyledStr *accessibility_label;
enum WuiLabelDisplayMode display_mode;
} WuiLabel;
typedef struct WuiButton {
struct WuiLabel label;
struct WuiAction *action;
enum WuiButtonStyle style;
} WuiButton;
typedef struct WuiTextField {
struct WuiLabel label;
WuiBinding_StyledStr *value;
struct WuiText prompt;
enum WuiKeyboardType keyboard;
struct WuiAnyViews *selection_menu;
uintptr_t line_limit;
} WuiTextField;
typedef struct WuiToggle {
struct WuiLabel label;
WuiBinding_bool *toggle;
enum WuiToggleStyle style;
} WuiToggle;
typedef struct WuiRange_f64 {
double start;
double end;
} WuiRange_f64;
typedef struct WuiSlider {
struct WuiLabel label;
struct WuiAnyView *min_value_label;
struct WuiAnyView *max_value_label;
struct WuiRange_f64 range;
WuiBinding_f64 *value;
} WuiSlider;
typedef struct WuiRange_i32 {
int32_t start;
int32_t end;
} WuiRange_i32;
typedef struct WuiStepper {
WuiBinding_i32 *value;
WuiComputed_i32 *step;
struct WuiLabel label;
WuiComputed_StyledStr *value_formatter;
struct WuiRange_i32 range;
} WuiStepper;
typedef struct WuiColorPicker {
struct WuiLabel label;
WuiBinding_Color *value;
bool support_alpha;
bool support_hdr;
} WuiColorPicker;
typedef struct WuiPicker {
struct WuiLabel label;
struct WuiAnyViews *items;
WuiBinding_Id *selection;
enum WuiPickerStyle style;
} WuiPicker;
typedef struct WuiSecureField {
struct WuiLabel label;
WuiBinding_Secure *value;
} WuiSecureField;
typedef struct WuiPickerItem {
struct WuiId tag;
WuiComputed_StyledStr *label;
} WuiPickerItem;
typedef struct WuiRange_WuiDateTime {
struct WuiDateTime start;
struct WuiDateTime end;
} WuiRange_WuiDateTime;
typedef struct WuiDatePicker {
struct WuiLabel label;
WuiBinding_DateTime *value;
struct WuiRange_WuiDateTime range;
enum WuiDatePickerType ty;
} WuiDatePicker;
typedef struct WuiRange_WuiDate {
struct WuiDate start;
struct WuiDate end;
} WuiRange_WuiDate;
typedef struct WuiMultiDatePicker {
struct WuiLabel label;
WuiBinding_Vec_Date *value;
struct WuiRange_WuiDate range;
WuiComputed_Vec_Date *decorated;
} WuiMultiDatePicker;
typedef struct WuiProgress {
struct WuiAnyView *label;
struct WuiAnyView *value_label;
WuiComputed_f64 *value;
enum WuiProgressStyle style;
bool four_color;
} WuiProgress;
typedef struct Computed_Region WuiComputed_Region;
typedef struct Computed_Vec_Annotation WuiComputed_Vec_Annotation;
typedef struct Computed_Option_Location WuiComputed_Option_Location;
typedef struct Binding_MapStatus WuiBinding_MapStatus;
typedef struct WuiMap {
WuiComputed_Region *region;
WuiComputed_Vec_Annotation *annotations;
enum WuiMapStyle style;
bool shows_user_location;
WuiComputed_Option_Location *user_location;
WuiBinding_MapStatus *status;
bool is_interactive;
bool shows_compass;
bool shows_scale;
} WuiMap;
typedef struct WuiCoordinate {
double latitude;
double longitude;
} WuiCoordinate;
typedef struct WuiRegion {
struct WuiCoordinate center;
double latitude_delta;
double longitude_delta;
} WuiRegion;
typedef struct WuiAnnotation {
struct WuiCoordinate coordinate;
struct WuiStr title;
struct WuiStr subtitle;
} WuiAnnotation;
typedef struct WuiArraySlice_WuiAnnotation {
struct WuiAnnotation *head;
uintptr_t len;
} WuiArraySlice_WuiAnnotation;
typedef struct WuiArrayVTable_WuiAnnotation {
void (*drop)(void*);
struct WuiArraySlice_WuiAnnotation (*slice)(const void*);
} WuiArrayVTable_WuiAnnotation;
typedef struct WuiArray_WuiAnnotation {
NonNull data;
struct WuiArrayVTable_WuiAnnotation vtable;
} WuiArray_WuiAnnotation;
typedef struct WuiLocation {
bool has_location;
struct WuiCoordinate coordinate;
double altitude;
bool has_altitude;
double horizontal_accuracy;
bool has_horizontal_accuracy;
int64_t timestamp_ms;
} WuiLocation;
typedef struct WuiMapStatus {
enum WuiMapStatusKind kind;
struct WuiStr reason;
} WuiMapStatus;
typedef struct WuiArraySlice_____WuiAnyView {
struct WuiAnyView **head;
uintptr_t len;
} WuiArraySlice_____WuiAnyView;
typedef struct WuiArrayVTable_____WuiAnyView {
void (*drop)(void*);
struct WuiArraySlice_____WuiAnyView (*slice)(const void*);
} WuiArrayVTable_____WuiAnyView;
typedef struct WuiArray_____WuiAnyView {
NonNull data;
struct WuiArrayVTable_____WuiAnyView vtable;
} WuiArray_____WuiAnyView;
typedef struct WuiFixedContainer {
struct WuiLayout *layout;
struct WuiArray_____WuiAnyView contents;
} WuiFixedContainer;
typedef struct WuiContainer {
struct WuiLayout *layout;
struct WuiAnyViews *contents;
} WuiContainer;
typedef void (*WuiLayoutInvalidationCallback)(void *context);
typedef struct WuiSize {
float width;
float height;
} WuiSize;
typedef struct WuiPoint {
float x;
float y;
} WuiPoint;
typedef struct WuiRect {
struct WuiPoint origin;
struct WuiSize size;
} WuiRect;
typedef struct WuiHorizontalGuide {
enum WuiHorizontalAlignment alignment;
float value;
} WuiHorizontalGuide;
typedef struct WuiArraySlice_WuiHorizontalGuide {
struct WuiHorizontalGuide *head;
uintptr_t len;
} WuiArraySlice_WuiHorizontalGuide;
typedef struct WuiArrayVTable_WuiHorizontalGuide {
void (*drop)(void*);
struct WuiArraySlice_WuiHorizontalGuide (*slice)(const void*);
} WuiArrayVTable_WuiHorizontalGuide;
typedef struct WuiArray_WuiHorizontalGuide {
NonNull data;
struct WuiArrayVTable_WuiHorizontalGuide vtable;
} WuiArray_WuiHorizontalGuide;
typedef struct WuiVerticalGuide {
enum WuiVerticalAlignment alignment;
float value;
} WuiVerticalGuide;
typedef struct WuiArraySlice_WuiVerticalGuide {
struct WuiVerticalGuide *head;
uintptr_t len;
} WuiArraySlice_WuiVerticalGuide;
typedef struct WuiArrayVTable_WuiVerticalGuide {
void (*drop)(void*);
struct WuiArraySlice_WuiVerticalGuide (*slice)(const void*);
} WuiArrayVTable_WuiVerticalGuide;
typedef struct WuiArray_WuiVerticalGuide {
NonNull data;
struct WuiArrayVTable_WuiVerticalGuide vtable;
} WuiArray_WuiVerticalGuide;
typedef struct WuiViewDimensions {
struct WuiSize size;
struct WuiArray_WuiHorizontalGuide horizontal_guides;
struct WuiArray_WuiVerticalGuide vertical_guides;
} WuiViewDimensions;
typedef struct WuiProposalSize {
float width;
float height;
} WuiProposalSize;
typedef struct WuiSubViewVTable {
struct WuiViewDimensions (*measure)(void *context, struct WuiProposalSize proposal);
void (*drop)(void *context);
} WuiSubViewVTable;
typedef struct WuiSubView {
void *context;
struct WuiSubViewVTable vtable;
enum WuiStretchAxis stretch_axis;
int32_t priority;
} WuiSubView;
typedef struct WuiArraySlice_WuiSubView {
struct WuiSubView *head;
uintptr_t len;
} WuiArraySlice_WuiSubView;
typedef struct WuiArrayVTable_WuiSubView {
void (*drop)(void*);
struct WuiArraySlice_WuiSubView (*slice)(const void*);
} WuiArrayVTable_WuiSubView;
typedef struct WuiArray_WuiSubView {
NonNull data;
struct WuiArrayVTable_WuiSubView vtable;
} WuiArray_WuiSubView;
typedef struct WuiArraySlice_WuiRect {
struct WuiRect *head;
uintptr_t len;
} WuiArraySlice_WuiRect;
typedef struct WuiArrayVTable_WuiRect {
void (*drop)(void*);
struct WuiArraySlice_WuiRect (*slice)(const void*);
} WuiArrayVTable_WuiRect;
typedef struct WuiArray_WuiRect {
NonNull data;
struct WuiArrayVTable_WuiRect vtable;
} WuiArray_WuiRect;
typedef struct WuiScrollView {
enum WuiAxis axis;
struct WuiAnyView *content;
WuiComputed_f32 *target_x;
WuiComputed_f32 *target_y;
WuiComputed_i32 *scroll_generation;
} WuiScrollView;
typedef struct WuiListSection {
bool has_value;
WuiComputed_StyledStr *label;
WuiComputed_StyledStr *footer;
} WuiListSection;
typedef struct WuiListItem {
struct WuiAnyView *content;
WuiComputed_bool *deletable;
WuiComputed_bool *selected;
struct WuiListSection section;
} WuiListItem;
typedef struct WuiList {
struct WuiAnyViews *contents;
WuiComputed_bool *editing;
struct WuiIndexAction *on_delete;
struct WuiMoveAction *on_move;
WuiComputed_i32 *target_index;
WuiComputed_i32 *scroll_generation;
bool uses_sections;
} WuiList;
typedef struct WuiTable {
struct WuiAnyViews *columns;
} WuiTable;
typedef struct WuiTableColumn {
struct WuiText label;
struct WuiAnyViews *rows;
} WuiTableColumn;
typedef struct Computed_Delivery WuiComputed_Delivery;
typedef struct WuiSubtitleSelection {
enum WuiSubtitleSelectionType selection_type;
uintptr_t track_index;
} WuiSubtitleSelection;
typedef struct Binding_SubtitleSelection WuiBinding_SubtitleSelection;
typedef struct WuiAudioTrackSelection {
enum WuiAudioTrackSelectionType selection_type;
uintptr_t track_index;
} WuiAudioTrackSelection;
typedef struct Binding_AudioTrackSelection WuiBinding_AudioTrackSelection;
typedef struct WuiVideoTrackSelection {
enum WuiVideoTrackSelectionType selection_type;
uintptr_t track_index;
} WuiVideoTrackSelection;
typedef struct Binding_VideoTrackSelection WuiBinding_VideoTrackSelection;
typedef struct Binding_TrackCatalog WuiBinding_TrackCatalog;
typedef struct WuiArraySlice_WuiStr {
struct WuiStr *head;
uintptr_t len;
} WuiArraySlice_WuiStr;
typedef struct WuiArrayVTable_WuiStr {
void (*drop)(void*);
struct WuiArraySlice_WuiStr (*slice)(const void*);
} WuiArrayVTable_WuiStr;
typedef struct WuiArray_WuiStr {
NonNull data;
struct WuiArrayVTable_WuiStr vtable;
} WuiArray_WuiStr;
typedef struct WuiVideoAudioTrackInfo {
struct WuiStr label;
struct WuiStr language;
struct WuiArray_WuiStr roles;
} WuiVideoAudioTrackInfo;
typedef struct WuiArraySlice_WuiVideoAudioTrackInfo {
struct WuiVideoAudioTrackInfo *head;
uintptr_t len;
} WuiArraySlice_WuiVideoAudioTrackInfo;
typedef struct WuiArrayVTable_WuiVideoAudioTrackInfo {
void (*drop)(void*);
struct WuiArraySlice_WuiVideoAudioTrackInfo (*slice)(const void*);
} WuiArrayVTable_WuiVideoAudioTrackInfo;
typedef struct WuiArray_WuiVideoAudioTrackInfo {
NonNull data;
struct WuiArrayVTable_WuiVideoAudioTrackInfo vtable;
} WuiArray_WuiVideoAudioTrackInfo;
typedef struct WuiVideoTrackInfo {
struct WuiStr id;
struct WuiStr label;
uint64_t bandwidth;
uint32_t width;
uint32_t height;
struct WuiArray_WuiStr codecs;
bool hdr;
} WuiVideoTrackInfo;
typedef struct WuiArraySlice_WuiVideoTrackInfo {
struct WuiVideoTrackInfo *head;
uintptr_t len;
} WuiArraySlice_WuiVideoTrackInfo;
typedef struct WuiArrayVTable_WuiVideoTrackInfo {
void (*drop)(void*);
struct WuiArraySlice_WuiVideoTrackInfo (*slice)(const void*);
} WuiArrayVTable_WuiVideoTrackInfo;
typedef struct WuiArray_WuiVideoTrackInfo {
NonNull data;
struct WuiArrayVTable_WuiVideoTrackInfo vtable;
} WuiArray_WuiVideoTrackInfo;
typedef struct WuiVideoSubtitleTrackInfo {
struct WuiStr label;
struct WuiStr language;
struct WuiArray_WuiStr roles;
bool forced;
enum WuiVideoSubtitleTrackOrigin origin;
} WuiVideoSubtitleTrackInfo;
typedef struct WuiArraySlice_WuiVideoSubtitleTrackInfo {
struct WuiVideoSubtitleTrackInfo *head;
uintptr_t len;
} WuiArraySlice_WuiVideoSubtitleTrackInfo;
typedef struct WuiArrayVTable_WuiVideoSubtitleTrackInfo {
void (*drop)(void*);
struct WuiArraySlice_WuiVideoSubtitleTrackInfo (*slice)(const void*);
} WuiArrayVTable_WuiVideoSubtitleTrackInfo;
typedef struct WuiArray_WuiVideoSubtitleTrackInfo {
NonNull data;
struct WuiArrayVTable_WuiVideoSubtitleTrackInfo vtable;
} WuiArray_WuiVideoSubtitleTrackInfo;
typedef struct Binding_Option_LiveWindow WuiBinding_Option_LiveWindow;
typedef struct WuiVideoLiveWindow {
bool present;
double seekable_start_seconds;
double seekable_end_seconds;
double live_edge_seconds;
double target_position_seconds;
} WuiVideoLiveWindow;
typedef struct WuiVideoEvent {
enum WuiVideoEventType event_type;
struct WuiStr *error_message;
uint64_t position_ms;
uint32_t buffered_ms;
uint64_t startup_time_ms;
bool av_drift_available;
float av_drift_ms;
uint64_t dropped_video_frames;
uint64_t rebuffer_count;
uint64_t rebuffer_duration_ms;
uint64_t observed_network_throughput_bps;
bool picture_in_picture_active;
bool external_playback_active;
bool playback_active;
enum WuiVideoPlaybackOutputPath playback_output_path;
} WuiVideoEvent;
typedef struct WuiVideoPlaybackPolicy {
bool realtime;
uint32_t vod_start_buffer_ms;
uint32_t vod_resume_buffer_ms;
uint32_t vod_stall_buffer_ms;
uint32_t live_max_video_late_ms;
enum WuiVideoPlaybackPowerPolicy power;
} WuiVideoPlaybackPolicy;
typedef struct WuiVideoPlaybackDescriptor {
struct WuiVideoController *controller;
WuiComputed_Str *source;
WuiComputed_Delivery *delivery;
WuiComputed_Str *title;
WuiComputed_Str *artist;
WuiComputed_Str *album;
WuiComputed_Str *artwork_url;
WuiBinding_f64 *duration_seconds;
WuiBinding_f64 *position_seconds;
WuiBinding_bool *desired_playing;
WuiBinding_f64 *seek_target_seconds;
WuiBinding_i32 *seek_generation;
WuiBinding_i32 *step_forward_generation;
WuiBinding_i32 *step_backward_generation;
WuiBinding_i32 *phase;
WuiBinding_i32 *repeat_mode;
WuiBinding_bool *has_next;
WuiBinding_bool *has_previous;
WuiBinding_f32 *volume;
WuiBinding_bool *muted;
WuiBinding_SubtitleSelection *subtitle_selection;
WuiBinding_AudioTrackSelection *audio_track_selection;
WuiBinding_VideoTrackSelection *video_track_selection;
WuiBinding_TrackCatalog *track_catalog;
WuiBinding_Option_LiveWindow *live_window;
WuiBinding_f32 *playback_rate;
WuiBinding_bool *preserve_pitch;
struct WuiVideoEventHandler *on_event;
struct WuiVideoPlaybackPolicy playback_policy;
} WuiVideoPlaybackDescriptor;
typedef struct WuiVideo {
struct WuiVideoPlaybackDescriptor playback;
enum WuiContentMode content_mode;
enum WuiVideoProjection projection;
bool loops;
} WuiVideo;
typedef struct WuiVideoPlayer {
struct WuiVideoPlaybackDescriptor playback;
enum WuiContentMode content_mode;
enum WuiVideoProjection projection;
bool show_controls;
} WuiVideoPlayer;
typedef struct WuiIgnorableMetadataNavigationLinkHint {
struct WuiAnyView *content;
} WuiIgnorableMetadataNavigationLinkHint;
typedef struct WuiNavigationToolbarItem {
enum WuiNavigationToolbarPlacement placement;
struct WuiAnyView *content;
WuiComputed_StyledStr *title;
struct WuiSystemIcon *system_icon;
struct WuiAnyView *icon;
} WuiNavigationToolbarItem;
typedef struct WuiArraySlice_WuiNavigationToolbarItem {
struct WuiNavigationToolbarItem *head;
uintptr_t len;
} WuiArraySlice_WuiNavigationToolbarItem;
typedef struct WuiArrayVTable_WuiNavigationToolbarItem {
void (*drop)(void*);
struct WuiArraySlice_WuiNavigationToolbarItem (*slice)(const void*);
} WuiArrayVTable_WuiNavigationToolbarItem;
typedef struct WuiArray_WuiNavigationToolbarItem {
NonNull data;
struct WuiArrayVTable_WuiNavigationToolbarItem vtable;
} WuiArray_WuiNavigationToolbarItem;
typedef struct WuiNavigationSearch {
WuiBinding_Str *text;
WuiComputed_StyledStr *prompt;
} WuiNavigationSearch;
typedef struct WuiOptionalNavigationSearch {
bool has_value;
struct WuiNavigationSearch value;
} WuiOptionalNavigationSearch;
typedef struct WuiBar {
struct WuiAnyView *title;
struct WuiAnyView *subtitle;
struct WuiArray_WuiNavigationToolbarItem toolbar;
struct WuiOptionalNavigationSearch search;
WuiComputed_ResolvedColor *color;
WuiComputed_bool *hidden;
enum WuiNavigationTitleDisplayMode display_mode;
} WuiBar;
typedef struct WuiNavigationDestinationState {
WuiComputed_bool *pop_enabled;
struct WuiAction *pop_attempted;
struct WuiAction *appear;
struct WuiAction *disappear;
struct WuiAction *pop;
} WuiNavigationDestinationState;
typedef struct WuiNavigationTransition {
enum WuiNavigationTransitionKind kind;
int32_t source_id;
} WuiNavigationTransition;
typedef struct WuiNavigationView {
struct WuiBar bar;
struct WuiAnyView *content;
struct WuiNavigationDestinationState state;
struct WuiNavigationTransition transition;
} WuiNavigationView;
typedef struct WuiNavigationStack {
struct WuiAnyView *root;
struct WuiNavigationTransition transition;
} WuiNavigationStack;
typedef struct WuiNavigationSplitDetail {
uint8_t _private[0];
} WuiNavigationSplitDetail;
typedef struct WuiNavigationColumnWidth {
float min;
float ideal;
float max;
} WuiNavigationColumnWidth;
typedef struct WuiNavigationSplitLayout {
struct WuiAnyView *sidebar;
struct WuiAnyView *placeholder;
WuiBinding_i32 *primary_selection;
struct WuiNavigationSplitDetail *content;
WuiBinding_i32 *secondary_selection;
struct WuiNavigationSplitDetail *detail;
WuiComputed_i32 *column_visibility;
struct WuiNavigationColumnWidth sidebar_width;
enum WuiNavigationSplitStyle style;
} WuiNavigationSplitLayout;
typedef struct WuiTab {
uint64_t id;
struct WuiAnyView *label;
struct WuiTabContent *content;
WuiComputed_i32 *badge;
WuiComputed_bool *enabled;
struct WuiSystemIcon *system_icon;
struct WuiAnyView *icon;
} WuiTab;
typedef struct WuiArraySlice_WuiTab {
struct WuiTab *head;
uintptr_t len;
} WuiArraySlice_WuiTab;
typedef struct WuiArrayVTable_WuiTab {
void (*drop)(void*);
struct WuiArraySlice_WuiTab (*slice)(const void*);
} WuiArrayVTable_WuiTab;
typedef struct WuiArray_WuiTab {
NonNull data;
struct WuiArrayVTable_WuiTab vtable;
} WuiArray_WuiTab;
typedef struct WuiTabs {
WuiBinding_Id *selection;
struct WuiArray_WuiTab tabs;
enum WuiTabStyle style;
} WuiTabs;
typedef struct WuiArraySlice_WuiNavigationView {
struct WuiNavigationView *head;
uintptr_t len;
} WuiArraySlice_WuiNavigationView;
typedef struct WuiArrayVTable_WuiNavigationView {
void (*drop)(void*);
struct WuiArraySlice_WuiNavigationView (*slice)(const void*);
} WuiArrayVTable_WuiNavigationView;
typedef struct WuiArray_WuiNavigationView {
NonNull data;
struct WuiArrayVTable_WuiNavigationView vtable;
} WuiArray_WuiNavigationView;
typedef struct WuiNavigationTransaction {
uint64_t id;
uintptr_t retained_prefix;
uintptr_t removed;
struct WuiArray_WuiNavigationView inserted;
} WuiNavigationTransaction;
typedef struct WuiGpuSurface {
void *surface;
bool has_picture_in_picture_host_id;
uint64_t picture_in_picture_host_id;
} WuiGpuSurface;
typedef struct WuiCefSurface {
struct WuiGpuSurface gpu_surface;
struct WuiCefSurfaceState *state;
} WuiCefSurface;
typedef struct WuiCefInputModifiers {
bool shift;
bool control;
bool alt;
bool command;
bool primary_button;
bool middle_button;
bool secondary_button;
} WuiCefInputModifiers;
typedef struct WuiBridgeRequest {
bool ok;
uint64_t id;
struct WuiStr name;
struct WuiStr payload_base64;
} WuiBridgeRequest;
typedef struct WuiWebViewEvent {
enum WuiWebViewEventType event_type;
struct WuiStr *url;
struct WuiStr *url2;
struct WuiStr *message;
float progress;
bool can_go_back;
bool can_go_forward;
} WuiWebViewEvent;
typedef struct WuiFn_WuiWebViewEvent {
void *data;
void (*call)(const void*, struct WuiWebViewEvent);
void (*drop)(void*);
} WuiFn_WuiWebViewEvent;
typedef struct WuiWebViewReply {
void *data;
void (*call)(void *data, bool success, enum WuiJsReplyKind kind, struct WuiStr result);
} WuiWebViewReply;
typedef struct WuiWebViewMessage {
struct WuiStr payload_base64;
struct WuiWebViewReply reply;
} WuiWebViewMessage;
typedef struct WuiFn_WuiWebViewMessage {
void *data;
void (*call)(const void*, struct WuiWebViewMessage);
void (*drop)(void*);
} WuiFn_WuiWebViewMessage;
typedef struct WuiStringCallback {
void *data;
void (*call)(void *data, struct WuiStr result);
} WuiStringCallback;
typedef struct WuiJsCallback {
void *data;
void (*call)(void *data, bool success, struct WuiStr result);
} WuiJsCallback;
typedef struct WuiWebViewHandle {
void *data;
void (*go_back)(void*);
void (*go_forward)(void*);
void (*go_to)(void*, struct WuiStr);
void (*stop)(void*);
void (*refresh)(void*);
bool (*can_go_back)(const void*);
bool (*can_go_forward)(const void*);
void (*set_user_agent)(void*, struct WuiStr);
void (*set_redirects_enabled)(void*, WuiComputed_bool*);
void (*inject_script)(void*, struct WuiStr, struct WuiStr, enum WuiScriptInjectionTime);
void (*watch)(void*, struct WuiFn_WuiWebViewEvent);
void (*add_handler)(void*, struct WuiStr, struct WuiFn_WuiWebViewMessage);
void (*remove_handler)(void*, struct WuiStr);
void (*set_bridge_origins)(void*, struct WuiStr);
void (*set_cookie)(void*, struct WuiStr);
void (*get_cookies)(const void*, struct WuiStringCallback);
void (*run_javascript)(void*, struct WuiStr, struct WuiJsCallback);
void (*call_async_javascript)(void*, struct WuiStr, struct WuiJsCallback);
void (*drop)(void*);
} WuiWebViewHandle;
typedef struct WuiWebViewHandle (*WuiCreateWebViewFn)(void);
typedef struct WuiAppliedFilter {
struct WuiAnyView *content;
void *filter;
} WuiAppliedFilter;
typedef void (*WuiAppliedFilterRedrawCallback)(void *context);
typedef struct WuiAppliedFilterOutputSize {
uint32_t width;
uint32_t height;
} WuiAppliedFilterOutputSize;
typedef void (*WuiGpuRuntimeCreateCallback)(void *context, struct WuiGpuRuntime *runtime);
typedef void (*WuiGpuRuntimeCreateContextDrop)(void *context);
typedef struct WuiGpuSurfaceHdrPreference {
bool has_preference;
bool prefers_hdr;
} WuiGpuSurfaceHdrPreference;
typedef void (*WuiGpuSurfaceRedrawCallback)(void *context);
typedef void (*WuiGpuCaptureCompletionCallback)(void *context);
typedef void (*WuiGpuCaptureCompletionDrop)(void *context);
typedef struct WuiPointerState {
bool has_position;
float x;
float y;
bool has_hit;
float hit_x;
float hit_y;
} WuiPointerState;
typedef struct WuiGestureState {
bool active;
float pinch_scale;
bool has_pinch_center;
float pinch_center_x;
float pinch_center_y;
float pan_offset_x;
float pan_offset_y;
bool double_tap;
} WuiGestureState;
typedef struct WuiGpuSurfaceInput {
struct WuiPointerState pointer;
struct WuiGestureState gesture;
} WuiGpuSurfaceInput;
typedef enum WuiOutputSize_Tag {
WuiOutputSize_MatchInput,
WuiOutputSize_Fixed,
WuiOutputSize_Scale,
} WuiOutputSize_Tag;
typedef struct WuiOutputSize_Fixed_Body {
uint32_t width;
uint32_t height;
} WuiOutputSize_Fixed_Body;
typedef struct WuiOutputSize_Scale_Body {
float factor;
} WuiOutputSize_Scale_Body;
typedef struct WuiOutputSize {
WuiOutputSize_Tag tag;
union {
WuiOutputSize_Fixed_Body fixed;
WuiOutputSize_Scale_Body scale;
};
} WuiOutputSize;
typedef struct WuiViewEffect {
struct WuiAnyView *content;
void *effect;
struct WuiOutputSize output_size;
} WuiViewEffect;
typedef void (*WuiViewEffectRedrawCallback)(void *context);
typedef struct ViewRenderCallback {
void *data;
void (*call)(void *data,
const uint8_t *rgba_ptr,
uintptr_t rgba_len,
uint32_t width,
uint32_t height);
} ViewRenderCallback;
typedef void (*ViewRenderFn)(void *context,
void *view,
struct WuiSize size,
struct ViewRenderCallback callback);
typedef struct WuiArraySlice_WuiWindow {
struct WuiWindow *head;
uintptr_t len;
} WuiArraySlice_WuiWindow;
typedef struct WuiArrayVTable_WuiWindow {
void (*drop)(void*);
struct WuiArraySlice_WuiWindow (*slice)(const void*);
} WuiArrayVTable_WuiWindow;
typedef struct WuiArray_WuiWindow {
NonNull data;
struct WuiArrayVTable_WuiWindow vtable;
} WuiArray_WuiWindow;
typedef struct WuiApp {
struct WuiArray_WuiWindow windows;
struct WuiAnyViews *menu_bar;
struct WuiEnv *env;
} WuiApp;
void waterui_drop_env(struct WuiEnv *value);
void waterui_drop_anyview(struct WuiAnyView *value);
struct WuiTypeId waterui_anyview_id(void);
struct WuiEnv *waterui_clone_env(const struct WuiEnv *env);
WuiComputed_bool *waterui_env_disabled(const struct WuiEnv *env);
struct WuiAnyView *waterui_view_body(struct WuiAnyView *view, struct WuiEnv *env);
struct WuiTypeId waterui_view_id(const struct WuiAnyView *view);
enum WuiStretchAxis waterui_view_stretch_axis(const struct WuiAnyView *view);
struct WuiStr *waterui_str_box(struct WuiStr value);
struct WuiTypeId waterui_metadata_env_id(void);
WuiMetadataEnv waterui_force_as_metadata_env(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_navigation_transition_source_id(void);
WuiMetadataNavigationTransitionSource waterui_force_as_metadata_navigation_transition_source(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_navigation_transition_destination_id(void);
WuiMetadataNavigationTransitionDestination waterui_force_as_metadata_navigation_transition_destination(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_secure_id(void);
WuiMetadataSecure waterui_force_as_metadata_secure(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_standard_dynamic_range_id(void);
WuiMetadataStandardDynamicRange waterui_force_as_metadata_standard_dynamic_range(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_high_dynamic_range_id(void);
WuiMetadataHighDynamicRange waterui_force_as_metadata_high_dynamic_range(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_gesture_id(void);
WuiMetadataGesture waterui_force_as_metadata_gesture(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_lifecycle_hook_id(void);
WuiMetadataLifecycleHook waterui_force_as_metadata_lifecycle_hook(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_on_event_id(void);
WuiMetadataOnEvent waterui_force_as_metadata_on_event(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_cursor_id(void);
WuiMetadataCursor waterui_force_as_metadata_cursor(struct WuiAnyView *view);
struct WuiTypeId waterui_ignorable_metadata_accessibility_identifier_id(void);
struct WuiIgnorableMetadataAccessibilityIdentifier waterui_force_as_ignorable_metadata_accessibility_identifier(struct WuiAnyView *view);
struct WuiTypeId waterui_ignorable_metadata_accessibility_label_id(void);
struct WuiIgnorableMetadataAccessibilityLabel waterui_force_as_ignorable_metadata_accessibility_label(struct WuiAnyView *view);
struct WuiTypeId waterui_ignorable_metadata_accessibility_role_id(void);
struct WuiIgnorableMetadataAccessibilityValue waterui_force_as_ignorable_metadata_accessibility_role(struct WuiAnyView *view);
struct WuiTypeId waterui_ignorable_metadata_accessibility_hidden_id(void);
struct WuiIgnorableMetadataAccessibilityValue waterui_force_as_ignorable_metadata_accessibility_hidden(struct WuiAnyView *view);
struct WuiTypeId waterui_ignorable_metadata_accessibility_children_id(void);
struct WuiIgnorableMetadataAccessibilityValue waterui_force_as_ignorable_metadata_accessibility_children(struct WuiAnyView *view);
struct WuiTypeId waterui_ignorable_metadata_accessibility_state_id(void);
struct WuiIgnorableMetadataAccessibilityState waterui_force_as_ignorable_metadata_accessibility_state(struct WuiAnyView *view);
struct WuiTypeId waterui_ignorable_metadata_accessibility_state_signal_id(void);
struct WuiIgnorableMetadataAccessibilityState waterui_force_as_ignorable_metadata_accessibility_state_signal(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_shadow_id(void);
WuiMetadataShadow waterui_force_as_metadata_shadow(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_border_id(void);
WuiMetadataBorder waterui_force_as_metadata_border(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_scale_id(void);
WuiMetadataScale waterui_force_as_metadata_scale(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_rotation_id(void);
WuiMetadataRotation waterui_force_as_metadata_rotation(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_offset_id(void);
WuiMetadataOffset waterui_force_as_metadata_offset(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_opacity_id(void);
WuiMetadataOpacity waterui_force_as_metadata_opacity(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_focused_id(void);
WuiMetadataFocused waterui_force_as_metadata_focused(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_ignore_safe_area_id(void);
WuiMetadataIgnoreSafeArea waterui_force_as_metadata_ignore_safe_area(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_retain_id(void);
WuiMetadataRetain waterui_force_as_metadata_retain(struct WuiAnyView *view);
void waterui_drop_retain(struct WuiRetain retain);
struct WuiTypeId waterui_metadata_clip_shape_id(void);
WuiMetadataClipShape waterui_force_as_metadata_clip_shape(struct WuiAnyView *view);
void waterui_drop_shared_action(struct WuiSharedAction *value);
void waterui_call_shared_action(const struct WuiSharedAction *action, const struct WuiEnv *env);
struct WuiText waterui_menu_item_take_label(struct WuiText *label);
struct WuiSystemIcon waterui_menu_item_take_icon(struct WuiSystemIcon *icon);
struct WuiShortcut waterui_menu_item_take_shortcut(struct WuiShortcut *shortcut);
struct WuiMenuItem waterui_force_as_menu_item(struct WuiAnyView *view);
struct WuiTypeId waterui_menu_item_id(void);
struct WuiTypeId waterui_metadata_context_menu_id(void);
WuiMetadataContextMenu waterui_force_as_metadata_context_menu(struct WuiAnyView *view);
struct WuiMenu waterui_force_as_menu(struct WuiAnyView *view);
struct WuiTypeId waterui_menu_id(void);
struct WuiTypeId waterui_metadata_draggable_id(void);
WuiMetadataDraggable waterui_force_as_metadata_draggable(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_drop_destination_id(void);
WuiMetadataDropDestination waterui_force_as_metadata_drop_destination(struct WuiAnyView *view);
struct WuiTypeId waterui_ignorable_metadata_material_background_id(void);
struct WuiIgnorableMetadataMaterialBackground waterui_force_as_ignorable_metadata_material_background(struct WuiAnyView *view);
struct WuiTypeId waterui_metadata_hittable_id(void);
WuiMetadataHittable waterui_force_as_metadata_hittable(struct WuiAnyView *view);
void waterui_drop_action(struct WuiAction *value);
void waterui_call_action(const struct WuiAction *action, const struct WuiEnv *env);
void waterui_drop_index_action(struct WuiIndexAction *value);
void waterui_call_index_action(const struct WuiIndexAction *action,
const struct WuiEnv *env,
uintptr_t index);
void waterui_drop_move_action(struct WuiMoveAction *value);
void waterui_call_move_action(const struct WuiMoveAction *action,
const struct WuiEnv *env,
uintptr_t from_index,
uintptr_t to_index);
void waterui_env_install_locale_tag(struct WuiEnv *env, const char *locale_tag);
void waterui_drop_color(struct WuiColor *value);
struct WuiResolvedColor waterui_read_computed_resolved_color(const WuiComputed_ResolvedColor *computed);
struct WuiWatcherGuard *waterui_watch_computed_resolved_color(const WuiComputed_ResolvedColor *computed,
struct WuiWatcher_ResolvedColor *watcher);
void waterui_drop_computed_resolved_color(WuiComputed_ResolvedColor *computed);
struct WuiWatcher_ResolvedColor *waterui_new_watcher_resolved_color(void *data,
void (*call)(void*,
struct WuiResolvedColor,
struct WuiWatcherMetadata*),
void (*drop)(void*));
WuiComputed_ResolvedColor *waterui_new_computed_resolved_color(void *data,
struct WuiResolvedColor (*get)(const void*),
struct WuiWatcherGuard *(*watch)(const void*,
struct WuiWatcher_ResolvedColor*),
void (*drop)(void*));
struct WuiColor *waterui_read_binding_color(const WuiBinding_Color *binding);
void waterui_set_binding_color(WuiBinding_Color *binding, struct WuiColor *value);
struct WuiWatcherGuard *waterui_watch_binding_color(const WuiBinding_Color *binding,
struct WuiWatcher_Color *watcher);
void waterui_drop_binding_color(WuiBinding_Color *binding);
struct WuiWatcher_Color *waterui_new_watcher_color(void *data,
void (*call)(void*,
struct WuiColor*,
struct WuiWatcherMetadata*),
void (*drop)(void*));
struct WuiResolvedColor waterui_force_as_resolved_color(struct WuiAnyView *view);
struct WuiTypeId waterui_resolved_color_id(void);
struct WuiColor *waterui_force_as_color(struct WuiAnyView *view);
struct WuiTypeId waterui_color_id(void);
struct WuiColor *waterui_color_from_linear_rgba_headroom(float red,
float green,
float blue,
float alpha,
float headroom);
struct WuiColor *waterui_color_from_srgba(float red, float green, float blue, float alpha);
WuiComputed_ResolvedColor *waterui_resolve_color(const struct WuiColor *color,
const struct WuiEnv *env);
struct WuiResolvedGradient waterui_force_as_resolved_gradient(struct WuiAnyView *view);
struct WuiTypeId waterui_resolved_gradient_id(void);
struct WuiResolvedShape waterui_force_as_resolved_shape(struct WuiAnyView *view);
struct WuiTypeId waterui_resolved_shape_id(void);
struct WuiAnimation waterui_get_animation(const struct WuiWatcherMetadata *metadata);
enum WuiCursorStyle waterui_read_computed_cursor_style(const WuiComputed_CursorStyle *computed);
struct WuiWatcherGuard *waterui_watch_computed_cursor_style(const WuiComputed_CursorStyle *computed,
struct WuiWatcher_CursorStyle *watcher);
void waterui_drop_computed_cursor_style(WuiComputed_CursorStyle *computed);
struct WuiWatcher_CursorStyle *waterui_new_watcher_cursor_style(void *data,
void (*call)(void*,
enum WuiCursorStyle,
struct WuiWatcherMetadata*),
void (*drop)(void*));
struct WuiDragData waterui_draggable_get_data(const struct WuiDraggable *draggable);
void waterui_drop_draggable(struct WuiDraggable *draggable);
void waterui_call_drop_handler(const struct WuiDropDestination *dest,
const struct WuiEnv *env,
enum WuiDragDataTag data_tag,
const char *data_value);
void waterui_call_drop_enter_handler(const struct WuiDropDestination *dest,
const struct WuiEnv *env);
void waterui_call_drop_exit_handler(const struct WuiDropDestination *dest,
const struct WuiEnv *env);
void waterui_drop_drop_destination(struct WuiDropDestination *dest);
void waterui_call_lifecycle_hook(struct WuiLifecycleHookHandler *handler, const struct WuiEnv *env);
void waterui_drop_lifecycle_hook(struct WuiLifecycleHookHandler *handler);
void waterui_call_on_event(const struct WuiOnEventHandler *handler, const struct WuiEnv *env);
void waterui_call_on_hover_event(const struct WuiOnEventHandler *handler,
const struct WuiEnv *env,
float x,
float y);
void waterui_drop_on_event(struct WuiOnEventHandler *handler);
void waterui_drop_gesture(struct WuiGesture *gesture);
void waterui_drop_watcher_metadata(struct WuiWatcherMetadata *value);
void waterui_drop_box_watcher_guard(struct WuiWatcherGuard *value);
struct WuiStr waterui_read_binding_str(const WuiBinding_Str *binding);
void waterui_set_binding_str(WuiBinding_Str *binding, struct WuiStr value);
struct WuiWatcherGuard *waterui_watch_binding_str(const WuiBinding_Str *binding,
struct WuiWatcher_Str *watcher);
void waterui_drop_binding_str(WuiBinding_Str *binding);
struct WuiStr waterui_read_computed_str(const WuiComputed_Str *computed);
struct WuiWatcherGuard *waterui_watch_computed_str(const WuiComputed_Str *computed,
struct WuiWatcher_Str *watcher);
void waterui_drop_computed_str(WuiComputed_Str *computed);
struct WuiWatcher_Str *waterui_new_watcher_str(void *data,
void (*call)(void*,
struct WuiStr,
struct WuiWatcherMetadata*),
void (*drop)(void*));
struct WuiStyledStr waterui_read_binding_styled_str(const WuiBinding_StyledStr *binding);
void waterui_set_binding_styled_str(WuiBinding_StyledStr *binding, struct WuiStyledStr value);
struct WuiWatcherGuard *waterui_watch_binding_styled_str(const WuiBinding_StyledStr *binding,
struct WuiWatcher_StyledStr *watcher);
void waterui_drop_binding_styled_str(WuiBinding_StyledStr *binding);
void waterui_set_binding_styled_str_utf8(WuiBinding_StyledStr *binding,
const uint8_t *bytes,
uintptr_t len);
struct WuiWatcher_AnyView *waterui_new_watcher_any_view(void *data,
void (*call)(void*,
struct WuiAnyView*,
struct WuiWatcherMetadata*),
void (*drop)(void*));
int32_t waterui_read_computed_i32(const WuiComputed_i32 *computed);
struct WuiWatcherGuard *waterui_watch_computed_i32(const WuiComputed_i32 *computed,
struct WuiWatcher_i32 *watcher);
void waterui_drop_computed_i32(WuiComputed_i32 *computed);
struct WuiWatcher_i32 *waterui_new_watcher_i32(void *data,
void (*call)(void*,
int32_t,
struct WuiWatcherMetadata*),
void (*drop)(void*));
bool waterui_read_binding_bool(const WuiBinding_bool *binding);
void waterui_set_binding_bool(WuiBinding_bool *binding, bool value);
struct WuiWatcherGuard *waterui_watch_binding_bool(const WuiBinding_bool *binding,
struct WuiWatcher_bool *watcher);
void waterui_drop_binding_bool(WuiBinding_bool *binding);
bool waterui_read_computed_bool(const WuiComputed_bool *computed);
struct WuiWatcherGuard *waterui_watch_computed_bool(const WuiComputed_bool *computed,
struct WuiWatcher_bool *watcher);
void waterui_drop_computed_bool(WuiComputed_bool *computed);
struct WuiWatcher_bool *waterui_new_watcher_bool(void *data,
void (*call)(void*,
bool,
struct WuiWatcherMetadata*),
void (*drop)(void*));
float waterui_read_computed_f32(const WuiComputed_f32 *computed);
struct WuiWatcherGuard *waterui_watch_computed_f32(const WuiComputed_f32 *computed,
struct WuiWatcher_f32 *watcher);
void waterui_drop_computed_f32(WuiComputed_f32 *computed);
struct WuiWatcher_f32 *waterui_new_watcher_f32(void *data,
void (*call)(void*, float, struct WuiWatcherMetadata*),
void (*drop)(void*));
double waterui_read_computed_f64(const WuiComputed_f64 *computed);
struct WuiWatcherGuard *waterui_watch_computed_f64(const WuiComputed_f64 *computed,
struct WuiWatcher_f64 *watcher);
void waterui_drop_computed_f64(WuiComputed_f64 *computed);
struct WuiWatcher_f64 *waterui_new_watcher_f64(void *data,
void (*call)(void*,
double,
struct WuiWatcherMetadata*),
void (*drop)(void*));
int32_t waterui_read_binding_i32(const WuiBinding_i32 *binding);
void waterui_set_binding_i32(WuiBinding_i32 *binding, int32_t value);
struct WuiWatcherGuard *waterui_watch_binding_i32(const WuiBinding_i32 *binding,
struct WuiWatcher_i32 *watcher);
void waterui_drop_binding_i32(WuiBinding_i32 *binding);
float waterui_read_binding_f32(const WuiBinding_f32 *binding);
void waterui_set_binding_f32(WuiBinding_f32 *binding, float value);
struct WuiWatcherGuard *waterui_watch_binding_f32(const WuiBinding_f32 *binding,
struct WuiWatcher_f32 *watcher);
void waterui_drop_binding_f32(WuiBinding_f32 *binding);
double waterui_read_binding_f64(const WuiBinding_f64 *binding);
void waterui_set_binding_f64(WuiBinding_f64 *binding, double value);
struct WuiWatcherGuard *waterui_watch_binding_f64(const WuiBinding_f64 *binding,
struct WuiWatcher_f64 *watcher);
void waterui_drop_binding_f64(WuiBinding_f64 *binding);
struct WuiDateTime waterui_read_binding_date_time(const WuiBinding_DateTime *binding);
void waterui_set_binding_date_time(WuiBinding_DateTime *binding, struct WuiDateTime value);
struct WuiWatcherGuard *waterui_watch_binding_date_time(const WuiBinding_DateTime *binding,
struct WuiWatcher_DateTime *watcher);
void waterui_drop_binding_date_time(WuiBinding_DateTime *binding);
struct WuiWatcher_DateTime *waterui_new_watcher_date_time(void *data,
void (*call)(void*,
struct WuiDateTime,
struct WuiWatcherMetadata*),
void (*drop)(void*));
struct WuiArray_WuiDate waterui_read_binding_date_vec(const WuiBinding_Vec_Date *binding);
void waterui_set_binding_date_vec(WuiBinding_Vec_Date *binding, struct WuiArray_WuiDate value);
struct WuiWatcherGuard *waterui_watch_binding_date_vec(const WuiBinding_Vec_Date *binding,
struct WuiWatcher_Vec_Date *watcher);
void waterui_drop_binding_date_vec(WuiBinding_Vec_Date *binding);
struct WuiArray_WuiDate waterui_read_computed_date_vec(const WuiComputed_Vec_Date *computed);
struct WuiWatcherGuard *waterui_watch_computed_date_vec(const WuiComputed_Vec_Date *computed,
struct WuiWatcher_Vec_Date *watcher);
void waterui_drop_computed_date_vec(WuiComputed_Vec_Date *computed);
struct WuiWatcher_Vec_Date *waterui_new_watcher_date_vec(void *data,
void (*call)(void*,
struct WuiArray_WuiDate,
struct WuiWatcherMetadata*),
void (*drop)(void*));
struct WuiWatcherGuard *waterui_new_watcher_guard(void *data, void (*drop)(void*));
struct WuiStr waterui_read_binding_secure(const WuiBinding_Secure *binding);
void waterui_set_binding_secure(WuiBinding_Secure *binding, struct WuiStr value);
struct WuiWatcherGuard *waterui_watch_binding_secure(const WuiBinding_Secure *binding,
struct WuiWatcher_Secure *watcher);
void waterui_drop_binding_secure(WuiBinding_Secure *binding);
struct WuiWatcher_Secure *waterui_new_watcher_secure(void *data,
void (*call)(void*,
struct WuiStr,
struct WuiWatcherMetadata*),
void (*drop)(void*));
struct WuiId waterui_read_binding_id(const WuiBinding_Id *binding);
void waterui_set_binding_id(WuiBinding_Id *binding, struct WuiId value);
struct WuiWatcherGuard *waterui_watch_binding_id(const WuiBinding_Id *binding,
struct WuiWatcher_Id *watcher);
void waterui_drop_binding_id(WuiBinding_Id *binding);
struct WuiWatcher_Id *waterui_new_watcher_id(void *data,
void (*call)(void*,
struct WuiId,
struct WuiWatcherMetadata*),
void (*drop)(void*));
void waterui_inspector_open(const struct WuiEnv *env);
void waterui_inspector_inspect_node(const struct WuiEnv *env, uint64_t node);
bool waterui_inspector_is_available(const struct WuiEnv *env);
bool waterui_inspector_wants_tree(const struct WuiEnv *env);
void waterui_inspector_publish_tree(const struct WuiEnv *env,
uint64_t root,
bool has_focus,
uint64_t focus,
const struct WuiInspectorNode *nodes,
uintptr_t len);
struct WuiEdgeInsets waterui_read_computed_edge_insets(const WuiComputed_EdgeInsets *computed);
struct WuiWatcherGuard *waterui_watch_computed_edge_insets(const WuiComputed_EdgeInsets *computed,
struct WuiWatcher_EdgeInsets *watcher);
void waterui_drop_computed_edge_insets(WuiComputed_EdgeInsets *computed);
struct WuiWatcher_EdgeInsets *waterui_new_watcher_edge_insets(void *data,
void (*call)(void*,
struct WuiEdgeInsets,
struct WuiWatcherMetadata*),
void (*drop)(void*));
WuiComputed_EdgeInsets *waterui_new_computed_edge_insets(void *data,
struct WuiEdgeInsets (*get)(const void*),
struct WuiWatcherGuard *(*watch)(const void*,
struct WuiWatcher_EdgeInsets*),
void (*drop)(void*));
void waterui_env_install_safe_area(struct WuiEnv *env, WuiComputed_EdgeInsets *signal);
void waterui_call_watcher_edge_insets(const struct WuiWatcher_EdgeInsets *watcher,
struct WuiEdgeInsets value);
void waterui_drop_watcher_edge_insets(struct WuiWatcher_EdgeInsets *watcher);
enum WuiColorScheme waterui_read_computed_color_scheme(const WuiComputed_ColorScheme *computed);
struct WuiWatcherGuard *waterui_watch_computed_color_scheme(const WuiComputed_ColorScheme *computed,
struct WuiWatcher_ColorScheme *watcher);
void waterui_drop_computed_color_scheme(WuiComputed_ColorScheme *computed);
struct WuiWatcher_ColorScheme *waterui_new_watcher_color_scheme(void *data,
void (*call)(void*,
enum WuiColorScheme,
struct WuiWatcherMetadata*),
void (*drop)(void*));
WuiComputed_ColorScheme *waterui_new_computed_color_scheme(void *data,
enum WuiColorScheme (*get)(const void*),
struct WuiWatcherGuard *(*watch)(const void*,
struct WuiWatcher_ColorScheme*),
void (*drop)(void*));
void waterui_theme_install_color_scheme(struct WuiEnv *env, WuiComputed_ColorScheme *signal);
WuiComputed_ColorScheme *waterui_theme_color_scheme(const struct WuiEnv *env);
void waterui_theme_install_color(struct WuiEnv *env,
enum WuiColorSlot slot,
WuiComputed_ResolvedColor *signal);
WuiComputed_ResolvedColor *waterui_theme_color(const struct WuiEnv *env, enum WuiColorSlot slot);
void waterui_theme_install_font(struct WuiEnv *env,
enum WuiFontSlot slot,
WuiComputed_ResolvedFont *signal);
WuiComputed_ResolvedFont *waterui_theme_font(const struct WuiEnv *env, enum WuiFontSlot slot);
void waterui_call_watcher_color_scheme(const struct WuiWatcher_ColorScheme *watcher,
enum WuiColorScheme value);
void waterui_drop_watcher_color_scheme(struct WuiWatcher_ColorScheme *watcher);
void waterui_call_watcher_resolved_color(const struct WuiWatcher_ResolvedColor *watcher,
struct WuiResolvedColor value);
void waterui_drop_watcher_resolved_color(struct WuiWatcher_ResolvedColor *watcher);
void waterui_call_watcher_resolved_font(const struct WuiWatcher_ResolvedFont *watcher,
struct WuiResolvedFont value);
void waterui_drop_watcher_resolved_font(struct WuiWatcher_ResolvedFont *watcher);
void waterui_drop_anyviews(struct WuiAnyViews *value);
struct WuiAnyView *waterui_anyviews_get_view(const struct WuiAnyViews *anyview, uintptr_t index);
uintptr_t waterui_anyviews_len(const struct WuiAnyViews *anyviews);
struct WuiArray_WuiId waterui_anyviews_get_ids_in_range(const struct WuiAnyViews *anyviews,
uintptr_t start,
uintptr_t end);
struct WuiWatcherGuard *waterui_anyviews_watch_range(const struct WuiAnyViews *anyviews,
uintptr_t start,
uintptr_t end,
void *data,
void (*call)(void*,
struct WuiArray_WuiId,
struct WuiWatcherMetadata*),
void (*drop)(void*));
enum WuiWindowState waterui_read_binding_window_state(const WuiBinding_WindowState *binding);
void waterui_set_binding_window_state(WuiBinding_WindowState *binding, enum WuiWindowState value);
struct WuiWatcherGuard *waterui_watch_binding_window_state(const WuiBinding_WindowState *binding,
struct WuiWatcher_WindowState *watcher);
void waterui_drop_binding_window_state(WuiBinding_WindowState *binding);
struct WuiWatcher_WindowState *waterui_new_watcher_window_state(void *data,
void (*call)(void*,
enum WuiWindowState,
struct WuiWatcherMetadata*),
void (*drop)(void*));
void waterui_env_install_window_manager(struct WuiEnv *env,
void *context,
WindowShowFn show_fn,
void (*drop_context)(void*));
struct WuiStr waterui_force_as_plain(struct WuiAnyView *view);
struct WuiTypeId waterui_plain_id(void);
struct WuiTypeId waterui_empty_id(void);
struct WuiButton waterui_force_as_button(struct WuiAnyView *view);
struct WuiTypeId waterui_button_id(void);
struct WuiTextField waterui_force_as_text_field(struct WuiAnyView *view);
struct WuiTypeId waterui_text_field_id(void);
struct WuiToggle waterui_force_as_toggle(struct WuiAnyView *view);
struct WuiTypeId waterui_toggle_id(void);
struct WuiSlider waterui_force_as_slider(struct WuiAnyView *view);
struct WuiTypeId waterui_slider_id(void);
struct WuiStepper waterui_force_as_stepper(struct WuiAnyView *view);
struct WuiTypeId waterui_stepper_id(void);
struct WuiColorPicker waterui_force_as_color_picker(struct WuiAnyView *view);
struct WuiTypeId waterui_color_picker_id(void);
struct WuiPicker waterui_force_as_picker(struct WuiAnyView *view);
struct WuiTypeId waterui_picker_id(void);
struct WuiSecureField waterui_force_as_secure_field(struct WuiAnyView *view);
struct WuiTypeId waterui_secure_field_id(void);
struct WuiPickerItem waterui_force_as_picker_item(struct WuiAnyView *view);
struct WuiTypeId waterui_picker_item_id(void);
struct WuiDatePicker waterui_force_as_date_picker(struct WuiAnyView *view);
struct WuiTypeId waterui_date_picker_id(void);
struct WuiMultiDatePicker waterui_force_as_multi_date_picker(struct WuiAnyView *view);
struct WuiTypeId waterui_multi_date_picker_id(void);
struct WuiProgress waterui_force_as_progress(struct WuiAnyView *view);
struct WuiTypeId waterui_progress_id(void);
struct WuiMap waterui_force_as_map(struct WuiAnyView *view);
struct WuiTypeId waterui_map_id(void);
struct WuiRegion waterui_read_computed_region(const WuiComputed_Region *computed);
struct WuiWatcherGuard *waterui_watch_computed_region(const WuiComputed_Region *computed,
struct WuiWatcher_Region *watcher);
void waterui_drop_computed_region(WuiComputed_Region *computed);
struct WuiWatcher_Region *waterui_new_watcher_region(void *data,
void (*call)(void*,
struct WuiRegion,
struct WuiWatcherMetadata*),
void (*drop)(void*));
struct WuiArray_WuiAnnotation waterui_read_computed_annotations(const WuiComputed_Vec_Annotation *computed);
struct WuiWatcherGuard *waterui_watch_computed_annotations(const WuiComputed_Vec_Annotation *computed,
struct WuiWatcher_Vec_Annotation *watcher);
void waterui_drop_computed_annotations(WuiComputed_Vec_Annotation *computed);
struct WuiWatcher_Vec_Annotation *waterui_new_watcher_annotations(void *data,
void (*call)(void*,
struct WuiArray_WuiAnnotation,
struct WuiWatcherMetadata*),
void (*drop)(void*));
struct WuiLocation waterui_read_computed_user_location(const WuiComputed_Option_Location *computed);
struct WuiWatcherGuard *waterui_watch_computed_user_location(const WuiComputed_Option_Location *computed,
struct WuiWatcher_Option_Location *watcher);
void waterui_drop_computed_user_location(WuiComputed_Option_Location *computed);
struct WuiWatcher_Option_Location *waterui_new_watcher_user_location(void *data,
void (*call)(void*,
struct WuiLocation,
struct WuiWatcherMetadata*),
void (*drop)(void*));
struct WuiMapStatus waterui_read_binding_map_status(const WuiBinding_MapStatus *binding);
void waterui_set_binding_map_status(WuiBinding_MapStatus *binding, struct WuiMapStatus value);
struct WuiWatcherGuard *waterui_watch_binding_map_status(const WuiBinding_MapStatus *binding,
struct WuiWatcher_MapStatus *watcher);
void waterui_drop_binding_map_status(WuiBinding_MapStatus *binding);
void waterui_drop_layout(struct WuiLayout *value);
struct WuiTypeId waterui_spacer_id(void);
struct WuiFixedContainer waterui_force_as_fixed_container(struct WuiAnyView *view);
struct WuiTypeId waterui_fixed_container_id(void);
struct WuiContainer waterui_force_as_layout_container(struct WuiAnyView *view);
struct WuiTypeId waterui_layout_container_id(void);
struct WuiLayoutWatcher *waterui_layout_watch_invalidation(const struct WuiLayout *layout,
void *context,
WuiLayoutInvalidationCallback invalidate,
WuiLayoutInvalidationCallback drop_callback);
void waterui_layout_watcher_drop(struct WuiLayoutWatcher *watcher);
struct WuiSize waterui_read_computed_size(const WuiComputed_Size *computed);
struct WuiWatcherGuard *waterui_watch_computed_size(const WuiComputed_Size *computed,
struct WuiWatcher_Size *watcher);
void waterui_drop_computed_size(WuiComputed_Size *computed);
struct WuiWatcher_Size *waterui_new_watcher_size(void *data,
void (*call)(void*,
struct WuiSize,
struct WuiWatcherMetadata*),
void (*drop)(void*));
struct WuiRect waterui_read_binding_rect(const WuiBinding_Rect *binding);
void waterui_set_binding_rect(WuiBinding_Rect *binding, struct WuiRect value);
struct WuiWatcherGuard *waterui_watch_binding_rect(const WuiBinding_Rect *binding,
struct WuiWatcher_Rect *watcher);
void waterui_drop_binding_rect(WuiBinding_Rect *binding);
struct WuiWatcher_Rect *waterui_new_watcher_rect(void *data,
void (*call)(void*,
struct WuiRect,
struct WuiWatcherMetadata*),
void (*drop)(void*));
struct WuiViewDimensions waterui_layout_measure(struct WuiLayout *layout,
struct WuiProposalSize proposal,
struct WuiArray_WuiSubView children);
struct WuiArray_WuiRect waterui_layout_place(struct WuiLayout *layout,
struct WuiRect bounds,
struct WuiArray_WuiSubView children);
enum WuiLazyStackAxis waterui_layout_lazy_stack_axis(struct WuiLayout *layout);
float waterui_layout_lazy_stack_spacing(struct WuiLayout *layout);
enum WuiHorizontalAlignment waterui_layout_lazy_stack_horizontal_alignment(struct WuiLayout *layout);
enum WuiVerticalAlignment waterui_layout_lazy_stack_vertical_alignment(struct WuiLayout *layout);
struct WuiScrollView waterui_force_as_scroll_view(struct WuiAnyView *view);
struct WuiTypeId waterui_scroll_view_id(void);
struct WuiListItem waterui_force_as_list_item(struct WuiAnyView *view);
struct WuiList waterui_force_as_list(struct WuiAnyView *view);
struct WuiTypeId waterui_list_id(void);
struct WuiTable waterui_force_as_table(struct WuiAnyView *view);
struct WuiTypeId waterui_table_id(void);
struct WuiTableColumn waterui_force_as_table_column(struct WuiAnyView *view);
enum WuiVideoDelivery waterui_read_computed_video_delivery(const WuiComputed_Delivery *computed);
struct WuiWatcherGuard *waterui_watch_computed_video_delivery(const WuiComputed_Delivery *computed,
struct WuiWatcher_Delivery *watcher);
void waterui_drop_computed_video_delivery(WuiComputed_Delivery *computed);
struct WuiWatcher_Delivery *waterui_new_watcher_video_delivery(void *data,
void (*call)(void*,
enum WuiVideoDelivery,
struct WuiWatcherMetadata*),
void (*drop)(void*));
struct WuiSubtitleSelection waterui_read_binding_subtitle_selection(const WuiBinding_SubtitleSelection *binding);
void waterui_set_binding_subtitle_selection(WuiBinding_SubtitleSelection *binding,
struct WuiSubtitleSelection value);
struct WuiWatcherGuard *waterui_watch_binding_subtitle_selection(const WuiBinding_SubtitleSelection *binding,
struct WuiWatcher_SubtitleSelection *watcher);
void waterui_drop_binding_subtitle_selection(WuiBinding_SubtitleSelection *binding);
struct WuiWatcher_SubtitleSelection *waterui_new_watcher_subtitle_selection(void *data,
void (*call)(void*,
struct WuiSubtitleSelection,
struct WuiWatcherMetadata*),
void (*drop)(void*));
struct WuiAudioTrackSelection waterui_read_binding_audio_track_selection(const WuiBinding_AudioTrackSelection *binding);
void waterui_set_binding_audio_track_selection(WuiBinding_AudioTrackSelection *binding,
struct WuiAudioTrackSelection value);
struct WuiWatcherGuard *waterui_watch_binding_audio_track_selection(const WuiBinding_AudioTrackSelection *binding,
struct WuiWatcher_AudioTrackSelection *watcher);
void waterui_drop_binding_audio_track_selection(WuiBinding_AudioTrackSelection *binding);
struct WuiWatcher_AudioTrackSelection *waterui_new_watcher_audio_track_selection(void *data,
void (*call)(void*,
struct WuiAudioTrackSelection,
struct WuiWatcherMetadata*),
void (*drop)(void*));
struct WuiVideoTrackSelection waterui_read_binding_video_track_selection(const WuiBinding_VideoTrackSelection *binding);
void waterui_set_binding_video_track_selection(WuiBinding_VideoTrackSelection *binding,
struct WuiVideoTrackSelection value);
struct WuiWatcherGuard *waterui_watch_binding_video_track_selection(const WuiBinding_VideoTrackSelection *binding,
struct WuiWatcher_VideoTrackSelection *watcher);
void waterui_drop_binding_video_track_selection(WuiBinding_VideoTrackSelection *binding);
struct WuiWatcher_VideoTrackSelection *waterui_new_watcher_video_track_selection(void *data,
void (*call)(void*,
struct WuiVideoTrackSelection,
struct WuiWatcherMetadata*),
void (*drop)(void*));
void waterui_video_track_catalog_replace_audio(const WuiBinding_TrackCatalog *binding,
struct WuiArray_WuiVideoAudioTrackInfo tracks);
void waterui_video_track_catalog_replace_video(const WuiBinding_TrackCatalog *binding,
struct WuiArray_WuiVideoTrackInfo tracks);
void waterui_video_track_catalog_replace_subtitles(const WuiBinding_TrackCatalog *binding,
struct WuiArray_WuiVideoSubtitleTrackInfo tracks);
void waterui_drop_video_track_catalog_binding(WuiBinding_TrackCatalog *binding);
void waterui_video_live_window_replace(const WuiBinding_Option_LiveWindow *binding,
struct WuiVideoLiveWindow window);
void waterui_drop_video_live_window_binding(WuiBinding_Option_LiveWindow *binding);
void waterui_drop_video_event_handler(struct WuiVideoEventHandler *value);
void waterui_drop_video_controller(struct WuiVideoController *value);
void waterui_video_controller_next(const struct WuiVideoController *controller);
void waterui_video_controller_previous(const struct WuiVideoController *controller);
void waterui_video_event_handler_call(const struct WuiVideoEventHandler *handler,
struct WuiVideoEvent event);
struct WuiVideo waterui_force_as_video(struct WuiAnyView *view);
struct WuiTypeId waterui_video_id(void);
struct WuiVideoPlayer waterui_force_as_video_player(struct WuiAnyView *view);
struct WuiTypeId waterui_video_player_id(void);
struct WuiTypeId waterui_ignorable_metadata_navigation_link_hint_id(void);
struct WuiIgnorableMetadataNavigationLinkHint waterui_force_as_ignorable_metadata_navigation_link_hint(struct WuiAnyView *view);
struct WuiNavigationView waterui_force_as_navigation_view(struct WuiAnyView *view);
struct WuiTypeId waterui_navigation_view_id(void);
struct WuiNavigationStack waterui_force_as_navigation_stack(struct WuiAnyView *view);
struct WuiTypeId waterui_navigation_stack_id(void);
struct WuiAnyView *waterui_navigation_stack_root(struct WuiAnyView *root, const struct WuiEnv *env);
void waterui_drop_split_navigation_detail(struct WuiNavigationSplitDetail *value);
struct WuiNavigationView waterui_split_navigation_detail_content(struct WuiNavigationSplitDetail *handler,
struct WuiId selected,
const struct WuiEnv *env);
struct WuiNavigationSplitLayout waterui_force_as_split_navigation_container(struct WuiAnyView *view);
struct WuiTypeId waterui_split_navigation_container_id(void);
void waterui_drop_tab_content(struct WuiTabContent *value);
struct WuiNavigationView waterui_tab_content(struct WuiTabContent *handler,
const struct WuiEnv *env);
struct WuiTabs waterui_force_as_tabs(struct WuiAnyView *view);
struct WuiTypeId waterui_tabs_id(void);
void waterui_env_install_navigation_controller(struct WuiEnv *env,
void *context,
void (*apply)(void*, struct WuiNavigationTransaction),
void (*drop_context)(void*));
bool waterui_env_has_navigation_controller(const struct WuiEnv *env);
void waterui_navigation_pop(const struct WuiEnv *env);
void waterui_navigation_complete_native_pop(const struct WuiEnv *env, uintptr_t count);
bool waterui_navigation_transition_completed(const struct WuiEnv *env, uint64_t id);
bool waterui_navigation_transition_cancelled(const struct WuiEnv *env, uint64_t id);
struct WuiCefSurface waterui_force_as_chromium(struct WuiAnyView *view);
struct WuiTypeId waterui_chromium_id(void);
struct WuiCefSurface waterui_force_as_cef_webview(struct WuiAnyView *view);
void waterui_cef_surface_set_focus(const struct WuiCefSurfaceState *state, bool focused);
void waterui_cef_surface_request_frame(const struct WuiCefSurfaceState *state);
void waterui_cef_surface_set_viewport(const struct WuiCefSurfaceState *state,
uint32_t width,
uint32_t height,
double scale);
void waterui_cef_surface_go_back(const struct WuiCefSurfaceState *state);
void waterui_cef_surface_go_forward(const struct WuiCefSurfaceState *state);
void waterui_cef_surface_pointer_move(const struct WuiCefSurfaceState *state,
double x,
double y,
struct WuiCefInputModifiers modifiers);
void waterui_cef_surface_pointer_button(const struct WuiCefSurfaceState *state,
bool pressed,
enum WuiCefPointerButton button,
double x,
double y,
struct WuiCefInputModifiers modifiers);
void waterui_cef_surface_scroll(const struct WuiCefSurfaceState *state,
double x,
double y,
double delta_x,
double delta_y,
struct WuiCefInputModifiers modifiers);
void waterui_cef_surface_key(const struct WuiCefSurfaceState *state,
bool pressed,
uint32_t native_keycode,
uint32_t keyval,
uint32_t character,
struct WuiCefInputModifiers modifiers);
void waterui_cef_surface_commit_text(const struct WuiCefSurfaceState *state,
struct WuiStr text,
uint32_t replacement_start,
uint32_t replacement_end);
void waterui_cef_surface_set_composition(const struct WuiCefSurfaceState *state,
struct WuiStr text,
uint32_t selection_start,
uint32_t selection_end,
uint32_t replacement_start,
uint32_t replacement_end);
void waterui_cef_surface_finish_composition(const struct WuiCefSurfaceState *state,
bool keep_selection);
void waterui_cef_surface_cancel_composition(const struct WuiCefSurfaceState *state);
void waterui_cef_surface_edit(const struct WuiCefSurfaceState *state,
enum WuiCefEditCommand command);
void waterui_cef_surface_drop(struct WuiCefSurfaceState *state);
void waterui_cef_prepare_macos_application(void);
int32_t waterui_cef_run_packaged_subprocess(void);
void waterui_drop_dynamic(struct WuiDynamic *value);
struct WuiDynamic *waterui_force_as_dynamic(struct WuiAnyView *view);
struct WuiTypeId waterui_dynamic_id(void);
void waterui_dynamic_connect(struct WuiDynamic *dynamic, struct WuiWatcher_AnyView *watcher);
struct WuiSystemIcon waterui_force_as_system_icon(struct WuiAnyView *view);
struct WuiTypeId waterui_system_icon_id(void);
struct WuiStr waterui_webview_bridge_script(void);
struct WuiBridgeRequest waterui_webview_parse_bridge_request(struct WuiStr envelope);
struct WuiStr waterui_webview_bridge_reply_script(uint64_t id,
bool success,
enum WuiJsReplyKind kind,
struct WuiStr payload_base64);
void waterui_drop_web_view(struct WuiWebView *value);
struct WuiWebView *waterui_force_as_webview(struct WuiAnyView *view);
struct WuiTypeId waterui_webview_id(void);
void *waterui_webview_native_handle(struct WuiWebView *webview);
void waterui_env_install_webview_controller(struct WuiEnv *env, WuiCreateWebViewFn create_fn);
bool waterui_env_has_webview_controller(const struct WuiEnv *env);
void waterui_drop_font(struct WuiFont *value);
struct WuiStyledStr waterui_read_computed_styled_str(const WuiComputed_StyledStr *computed);
struct WuiWatcherGuard *waterui_watch_computed_styled_str(const WuiComputed_StyledStr *computed,
struct WuiWatcher_StyledStr *watcher);
void waterui_drop_computed_styled_str(WuiComputed_StyledStr *computed);
struct WuiWatcher_StyledStr *waterui_new_watcher_styled_str(void *data,
void (*call)(void*,
struct WuiStyledStr,
struct WuiWatcherMetadata*),
void (*drop)(void*));
enum WuiHorizontalAlignment waterui_read_computed_horizontal_alignment(const WuiComputed_HorizontalAlignment *computed);
struct WuiWatcherGuard *waterui_watch_computed_horizontal_alignment(const WuiComputed_HorizontalAlignment *computed,
struct WuiWatcher_HorizontalAlignment *watcher);
void waterui_drop_computed_horizontal_alignment(WuiComputed_HorizontalAlignment *computed);
struct WuiWatcher_HorizontalAlignment *waterui_new_watcher_horizontal_alignment(void *data,
void (*call)(void*,
enum WuiHorizontalAlignment,
struct WuiWatcherMetadata*),
void (*drop)(void*));
struct WuiText waterui_force_as_text(struct WuiAnyView *view);
struct WuiTypeId waterui_text_id(void);
struct WuiResolvedFont waterui_read_computed_resolved_font(const WuiComputed_ResolvedFont *computed);
struct WuiWatcherGuard *waterui_watch_computed_resolved_font(const WuiComputed_ResolvedFont *computed,
struct WuiWatcher_ResolvedFont *watcher);
void waterui_drop_computed_resolved_font(WuiComputed_ResolvedFont *computed);
struct WuiWatcher_ResolvedFont *waterui_new_watcher_resolved_font(void *data,
void (*call)(void*,
struct WuiResolvedFont,
struct WuiWatcherMetadata*),
void (*drop)(void*));
WuiComputed_ResolvedFont *waterui_new_computed_resolved_font(void *data,
struct WuiResolvedFont (*get)(const void*),
struct WuiWatcherGuard *(*watch)(const void*,
struct WuiWatcher_ResolvedFont*),
void (*drop)(void*));
struct WuiResolvedFont waterui_resolved_font_new(float size, enum WuiFontWeight weight);
struct WuiFont *waterui_font_from_resolved(float size,
enum WuiFontWeight weight,
struct WuiStr family);
WuiComputed_ResolvedFont *waterui_resolve_font(const struct WuiFont *font,
const struct WuiEnv *env);
struct WuiTypeId waterui_metadata_applied_filter_id(void);
struct WuiAppliedFilter waterui_force_as_metadata_applied_filter(struct WuiAnyView *view);
struct WuiAppliedFilterState *waterui_applied_filter_create(struct WuiAppliedFilter *filter_ffi,
const struct WuiEnv *env);
void waterui_applied_filter_attach(struct WuiAppliedFilterState *state,
void *output_layer,
uint32_t input_width,
uint32_t input_height,
bool prefers_hdr);
void waterui_applied_filter_detach(struct WuiAppliedFilterState *state);
void waterui_applied_filter_set_redraw_callback(struct WuiAppliedFilterState *state,
void *context,
WuiAppliedFilterRedrawCallback wake,
WuiAppliedFilterRedrawCallback drop_callback);
void waterui_applied_filter_setup(struct WuiAppliedFilterState *state);
bool waterui_applied_filter_is_ready(const struct WuiAppliedFilterState *state);
bool waterui_applied_filter_render(struct WuiAppliedFilterState *state,
uint32_t width,
uint32_t height);
struct WuiAppliedFilterOutputSize waterui_applied_filter_resolve_output_size(struct WuiAppliedFilterState *state,
uint32_t input_width,
uint32_t input_height);
void waterui_applied_filter_prepare_capture(struct WuiAppliedFilterState *state,
uint32_t width,
uint32_t height);
void *waterui_applied_filter_get_capture_metal_texture(struct WuiAppliedFilterState *state);
void waterui_applied_filter_drop(struct WuiAppliedFilterState *state);
void waterui_drop_gpu_runtime(struct WuiGpuRuntime *value);
void waterui_gpu_runtime_create(void *context,
WuiGpuRuntimeCreateCallback complete,
WuiGpuRuntimeCreateContextDrop drop_context);
void waterui_env_install_gpu_runtime(struct WuiEnv *env, struct WuiGpuRuntime *runtime);
void *waterui_gpu_runtime_metal_device(const struct WuiEnv *env);
struct WuiGpuSurface waterui_force_as_gpu_surface(struct WuiAnyView *view);
struct WuiTypeId waterui_gpu_surface_id(void);
struct WuiGpuSurfaceHdrPreference waterui_gpu_surface_hdr_preference(const struct WuiGpuSurface *surface);
struct WuiGpuSurfaceState *waterui_gpu_surface_create(struct WuiGpuSurface *surface,
const struct WuiEnv *env);
struct WuiViewDimensions waterui_gpu_surface_measure(const struct WuiGpuSurfaceState *state,
struct WuiProposalSize proposal);
int32_t waterui_gpu_surface_priority(const struct WuiGpuSurfaceState *state);
void waterui_gpu_surface_attach(struct WuiGpuSurfaceState *state,
void *layer,
uint32_t width,
uint32_t height,
bool prefers_hdr);
void waterui_gpu_surface_detach(struct WuiGpuSurfaceState *state);
void waterui_gpu_surface_set_redraw_callback(struct WuiGpuSurfaceState *state,
void *context,
WuiGpuSurfaceRedrawCallback wake,
WuiGpuSurfaceRedrawCallback drop_callback);
bool waterui_gpu_surface_is_ready(const struct WuiGpuSurfaceState *state);
bool waterui_gpu_surface_render(struct WuiGpuSurfaceState *state,
uint32_t width,
uint32_t height,
double scale);
void waterui_gpu_surface_prepare_metal_texture(struct WuiGpuSurfaceState *state, void *texture);
struct WuiGpuCaptureFence *waterui_gpu_surface_render_to_metal_texture(struct WuiGpuSurfaceState *state,
void *texture,
uint32_t width,
uint32_t height,
double scale);
void waterui_gpu_capture_fence_on_complete(struct WuiGpuCaptureFence *fence,
void *context,
WuiGpuCaptureCompletionCallback callback,
WuiGpuCaptureCompletionDrop drop);
void waterui_gpu_surface_drop(struct WuiGpuSurfaceState *state);
void waterui_gpu_surface_set_input(struct WuiGpuSurfaceState *state,
struct WuiGpuSurfaceInput input);
struct WuiViewEffect waterui_force_as_view_effect(struct WuiAnyView *view);
struct WuiTypeId waterui_view_effect_id(void);
struct WuiViewEffectState *waterui_view_effect_create(struct WuiViewEffect *effect,
const struct WuiEnv *env);
void waterui_view_effect_attach(struct WuiViewEffectState *state,
void *layer,
uint32_t input_width,
uint32_t input_height,
bool prefers_hdr);
void waterui_view_effect_detach(struct WuiViewEffectState *state);
void waterui_view_effect_set_redraw_callback(struct WuiViewEffectState *state,
void *context,
WuiViewEffectRedrawCallback wake,
WuiViewEffectRedrawCallback drop_callback);
void waterui_view_effect_set_input_metal_texture(struct WuiViewEffectState *state,
void *texture,
uint32_t width,
uint32_t height);
bool waterui_view_effect_is_ready(const struct WuiViewEffectState *state);
bool waterui_view_effect_render(struct WuiViewEffectState *state);
void waterui_view_effect_drop(struct WuiViewEffectState *state);
void waterui_env_install_view_renderer(struct WuiEnv *env,
void *context,
ViewRenderFn render_fn,
void (*drop_context)(void*));
WuiEnv* waterui_init(void);
struct WuiApp waterui_app(WuiEnv *env);
#ifdef __cplusplus
}
#endif