diff --git a/AGENTS.md b/AGENTS.md index f9e1b62..d4975fd 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -11,10 +11,11 @@ CuiSharp binds CUI (C99) to C#. Read these three before changing code, in this o `docs/ARCHITECTURE.md` is why things are the way they are; read an entry when you are about to change something that looks odd. -Bumping the CUI submodule has its own runbook: [skills/sync-cui/SKILL.md](skills/sync-cui/SKILL.md) -is the procedure and the error→override table, and `skills/sync-cui/scripts/cui-api-diff.ps1` prints -what upstream added before you read any C. The `sync-cui` agent skill is registered in -`.pi/settings.json`, so `pi` offers it as `/skill:sync-cui`. +Bumping the CUI submodule has its own runbook: [skills/cui-sync/SKILL.md](skills/cui-sync/SKILL.md) +is the procedure, with the binding rules and the error→override table in `skills/cui-sync/references/`. +`skills/cui-sync/scripts/cui-api-diff.ps1` prints what upstream added before you read any C, and +`skills/cui-sync/scripts/sync-status.ps1` says where a sync stands. The `cui-sync` agent skill is +registered in `.pi/settings.json`, so `pi` offers it as `/skill:cui-sync`. ## Hard rules diff --git a/CHANGELOG.md b/CHANGELOG.md index 02ee39e..9027fd4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,57 @@ Every user-visible change, newest first. Pre-1.0 the minor number carries new su carries fixes. The section for a tag is what the GitHub release publishes, so the two cannot say different things. +## [0.4.0] — 2026-11-13 + +CUI 1.3.1 → 1.4.0. Four functions, four components, and one option array the generator had never +had to express. + +### Added + +- **CUI's own documentation, wherever it wrote it.** A wrapper used to carry only the sentence above + the declaration, so an options field, an enum constant or a function documented *beside* its + declaration reached C# with nothing at all. The generator now reads all four places upstream + writes in — above the declaration, beside it, above the definition in the C source, and the + component's description above its options struct — and the result is in the package's IntelliSense + file, not just in the source: 1 200 option and struct fields that said `const char * unit` now say + what the field means, 112 wrapped functions gained a sentence (206 down to 94 that have none), + every constant that CUI comments on says what it is for (`AxisUnits.Hours`: *hours shown as a time + of day*), and options structs open with the component's description instead of `cui_split_opts` + (`BlameOpts` now says what Blame is). A section title bar is recognised and dropped rather than + shown as if it were prose, and CUI's notes to its own next reader — `left to right in any + interface: see cui__keep_ltr`, written above fifteen thin wrappers — are recognised as such and + never used as a summary; those wrappers take the description from the header instead. +- **The instruments**: a group of components that read like a panel rather than a page. + `DotChart(id, series, count, opts)` draws values as a grid of dots with the pointer or the arrow + keys reading the value under them, and takes `ChartAnnotation`s drawn over it as lines, + thresholds and labelled points; `EventTrack(id, times, ref count, min, max, ref selected, opts)` + puts moments on a time axis that a click adds to, a double-click removes and a drag moves, and it + lines up under a dot chart of the same width; `Readout(label, value, opts)` is one figure with + its unit and a line of context; `DotDisplay(text, opts)` draws text in a 5 by 7 dot font that + shrinks to fit or scrolls. The gallery's *Instruments* page shows all four on one screen. +- **`CuiAppDesc.AppId`** names the app to a Linux desktop: the window's `WM_CLASS`, and the Wayland + app ID, so the dock, the taskbar and `Alt+Tab` show the app's own name and icon instead of `CUI`. +- **`Ui.DotChart` takes `ReadOnlySpan`**, the way every other chart takes its series, so a + call site can stack the series inline (`[new(values, "Caffeine", accent: true)]`) and allocate + nothing per frame. The signature change is the one public-surface edit in this release. +- **Generated documentation.** CUI 1.4 documents every field of every options and data struct in + the header, so 208 generated wrappers that could only say the C function's name now say what the + call does, and the option fields carry the header's own words. + +### Changed + +- **A capacity is the array's length, so it leaves the signature.** `CurveEditor`, `GradientEditor`, + `KvEditor`, `QueryBuilder` and `EventTrack` no longer take a `capacity`: the wrapper passes the + span's length. Supplying both let them disagree, and a capacity larger than the span was a + buffer overrun the type system did not catch. +- **A count beside a record array is now the array's length.** `DotChartOpts.Annotations` and every + other option struct with a record array derive their count, as string and float arrays already + did; the field is no longer public, so the two cannot drift apart. +- **An in-place primitive array is copied back every frame**, not only on the frames the widget + reports a change: native sorts and clamps the array it is given before it draws, and a wrapper + that kept the caller's unsorted copy would disagree with the index it reports. Converting a + record still only happens on a change, because that is the conversion that allocates. + ## [0.3.3] — 2026-11-12 ### Added diff --git a/Directory.Build.props b/Directory.Build.props index 4d72bcb..d4e2ca3 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -16,7 +16,7 @@ - 0.3.3 + 0.4.0 yappologistic Copyright (c) 2026 yappologistic MIT diff --git a/README.md b/README.md index 4a5c53a..1bb50cd 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ or holding them across an `await`. Nothing can outlive the frame, so nothing can | | | |---|---| -| **One executable** | NativeAOT links CUI in statically: no runtime, no `cui.dll`, no VC++ redistributable. The gallery, all twenty-eight pages, is 2.9 MB. | +| **One executable** | NativeAOT links CUI in statically: no runtime, no `cui.dll`, no VC++ redistributable. The gallery, all twenty-nine pages, is 2.9 MB. | | **No UI framework** | CUI creates the window, owns the message loop and the GL context. `CuiApp.Run` is the entire host. | | **Sub-millisecond frames** | 0.85 ms mean for the live gallery, software rasterizer, 1240×820 (`--fps 900`). | | **0 B per frame** | Labels, options and interpolated text come from a per-frame arena. A live chart with a million samples allocates nothing. | @@ -306,7 +306,7 @@ src/CuiSharp.CodeFixes/ IDE quick fixes, packed beside the analyzers src/CuiSharp.Testing/ TestApp: drive a component without a window src/CuiSharp.Tools/ dotnet cui: the guide and the API offline, plus build, run headless, relay one command src/CuiSharp.Templates/ dotnet new cui-app / cui-mini -samples/CuiSharp.Gallery/ twenty-eight pages, one file per page +samples/CuiSharp.Gallery/ twenty-nine pages, one file per page samples/CuiSharp.Gallery.Browser/ the same gallery on a software canvas in WebAssembly native/ the CUI submodule and the two build scripts tools/ bindgen.cs, regen.ps1, verify-template.ps1, @@ -361,11 +361,11 @@ What changed, per version: [CHANGELOG.md](CHANGELOG.md). ## Status -Pre-1.0: the API may still change. The binding covers all 492 CUI 1.3 functions: 166 option -structs, 100 records, 278 generated wrappers, 169 deliberate hand-written ones, 4 excluded with a -written reason, 0 pending — see [bindings/coverage.txt](bindings/coverage.txt). The gallery ports the -nine core pages, four pages of this binding's own, and CUI 1.3's two developer-tools pages; the other -fifteen extended upstream pages are not yet. +Pre-1.0: the API may still change. The binding covers all 496 CUI 1.4 functions: 170 option +structs, 104 records, 277 generated wrappers, 175 deliberate hand-written ones, 4 excluded with a +written reason, 4 variadic skipped, 0 pending — see [bindings/coverage.txt](bindings/coverage.txt). +The gallery's 29 pages walk the components section by section, light and dark; what is still missing +is the page shape that needs a device — a capture pipeline, an audio stream. ## License diff --git a/bindings/README.md b/bindings/README.md index 26d99d4..add0739 100644 --- a/bindings/README.md +++ b/bindings/README.md @@ -36,9 +36,10 @@ retained-pointer storage. | `src/CuiSharp/Ui/Records.g.cs` | Data records used as array items (`Choice`, `Command`, `TableColumn`, `TableSort`): friendly constructor, `ToNative()`, and `FromNative()` where write-back is meaningful. | | `src/CuiSharp.Tests/OptionMappings.g.cs` | One consolidated test covering every generated option's populated fields, sentinel and null/false defaults. A swapped field is a single generator bug, so it is one test, not one per option. | -Current state: **166** option structs, **100** data records, **278** generated wrappers, **169** -deliberate hand-written ones, **4** excluded, **4** variadic skipped, **0** pending — 492 C -functions, every one with a status. Pointer-heavy options are withheld rather than exposed with guessed +Current state: **170** option structs, **104** data records, **277** generated wrappers, **175** +deliberate hand-written ones, **4** excluded, **4** variadic skipped, **0** pending — 496 C +functions, every one with a status. `pwsh skills/cui-sync/scripts/sync-status.ps1` prints these +numbers from `coverage.txt` and fails when the prose here or in `README.md` disagrees. Pointer-heavy options are withheld rather than exposed with guessed ownership. Charts, texture handles, text-buffer inputs and reorder are hand-written on purpose, and `coverage.txt` names the member and the file for every one of them. @@ -76,6 +77,7 @@ and missing reasons fail generation. | `arrayLengths` | `length`, `cast`, `emit`, `why` | A `const T *` parameter whose length is an expression (`rows * cols`) or a differently-named parameter (`size`). `emit: false` means native derives it and the wrapper only checks it. | | `arrayParams` | `why` | A pointer parameter that is an array although its name is singular, e.g. `const cui_swipe_action *left` (`name@function`). | | `inOutArrays` | `count`, `why`, `changedWhen` | A record array the widget edits, plus the count it may change: copied in, called, copied back. `changedWhen` is the condition the widget reports an edit by (`__result != 0`, `__result.Changed != 0`, `__result.Flag >= 0`) and the copy back only runs then, because converting a record allocates the strings and fixed arrays it holds. | +| `capacityParams` | `array`, `why` | An `int capacity` the widget writes up to, where the array's length is that number. The wrapper passes the span's length and the parameter leaves the signature: supplying both lets them disagree, and the widget writes past the caller's array. | | `textFields` | `capacity`, `why` | A `char * buf` pair the caller sees as one `ref string`; the wrapper rents a pooled buffer and reads the text back only when it changed. | | `optionPointers` | `type`, `why` | An option field that is a pointer to a primitive (`int *`, `_Bool *`), exposed as a `ref` parameter. | | `optionArrayChecks` | `atLeast`, `why` | An option array whose length is a widget parameter; the wrapper rejects a short array before the call. | diff --git a/bindings/api.json b/bindings/api.json index a77711b..a943764 100644 --- a/bindings/api.json +++ b/bindings/api.json @@ -35,7 +35,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_rect", @@ -90,7 +91,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_color", @@ -145,7 +147,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_renderer_iface", @@ -216,7 +219,8 @@ }, "Doc": "" } - ] + ], + "Doc": "How CUI talks to a renderer. The built-in renderers fill this in for you (cui_render_gl_iface / cui_render_sw_iface). Implement it to use CUI with any graphics API." }, { "CName": "cui_allocator", @@ -287,7 +291,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_ctx_desc", @@ -366,7 +371,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_platform_iface", @@ -469,7 +475,8 @@ }, "Doc": "Optional: draws one emoji (UTF-8) into a px by px RGBA buffer (straight alpha), for when no emoji font is loaded; the browser build uses the browser's emoji." } - ] + ], + "Doc": "Platform services. The built-in backends set these." }, { "CName": "cui_shadow", @@ -524,7 +531,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_theme", @@ -866,7 +874,8 @@ }, "Doc": "user text scale multiplier (default 1)" } - ] + ], + "Doc": "" }, { "CName": "cui_strings", @@ -1026,7 +1035,8 @@ }, "Doc": "\"Today\"" } - ] + ], + "Doc": "Text the components show, for another language. CUI keeps the pointer (the table must outlive its use) and reads it every frame, so switching language is one call. An entry left NULL falls back to English, so a partial table is fine. Weeks start on Monday, as in every CUI calendar. NULL restores English." }, { "CName": "cui_text_metrics", @@ -1093,7 +1103,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_size", @@ -1124,7 +1135,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_box", @@ -1568,7 +1580,8 @@ }, "Doc": "inherited by default; mirrors horizontal layout and padding" } - ] + ], + "Doc": "Options for every container. All fields are optional." }, { "CName": "cui_card_opts", @@ -1602,7 +1615,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "identity of the card, for its hover state (defaults to an automatic id)" }, { "CName": "width", @@ -1674,7 +1687,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "left and right padding in points; 0 uses `pad`" }, { "CName": "pad_y", @@ -1686,7 +1699,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "top and bottom padding in points; 0 uses `pad`" }, { "CName": "gap", @@ -1772,7 +1785,8 @@ }, "Doc": "accent border" } - ] + ], + "Doc": "Card: a bordered surface with generous padding." }, { "CName": "cui_scroll_opts", @@ -1892,7 +1906,8 @@ }, "Doc": "what it fades into (default: the nearest opaque box around it)" } - ] + ], + "Doc": "Scroll area with smooth scrolling and overlay scrollbars." }, { "CName": "cui_split_opts", @@ -1971,7 +1986,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Resizable split view: two panes with a draggable divider. `ratio` is the size of the first pane in 0..1. Call cui_split_next between the panes." }, { "CName": "cui_text_opts", @@ -2110,7 +2126,8 @@ }, "Doc": "inherited; AUTO examines this text" } - ] + ], + "Doc": "" }, { "CName": "cui_button_opts", @@ -2293,7 +2310,8 @@ }, "Doc": "text and icon color, e.g. CUI_COLOR_ACCENT for a toggled icon" } - ] + ], + "Doc": "" }, { "CName": "cui_segmented_opts", @@ -2358,7 +2376,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Segmented control: a row of options with a gliding highlight." }, { "CName": "cui_check_opts", @@ -2418,7 +2437,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_slider_opts", @@ -2502,7 +2522,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_chip_opts", @@ -2550,7 +2571,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_input_opts", @@ -2664,7 +2686,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "shows dots instead of the text, with an eye button that reveals it" }, { "CName": "disabled", @@ -2784,7 +2806,8 @@ }, "Doc": "muted text after the value, e.g. \"USD\" or \"kg\"" } - ] + ], + "Doc": "" }, { "CName": "cui_number_opts", @@ -2883,9 +2906,10 @@ "IsConst": true } }, - "Doc": "" + "Doc": "muted text after the value, before the - and + buttons, e.g. \"kg\"" } - ] + ], + "Doc": "" }, { "CName": "cui_select_opts", @@ -2996,7 +3020,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_date", @@ -3039,7 +3064,8 @@ }, "Doc": "month 1..12" } - ] + ], + "Doc": "" }, { "CName": "cui_date_opts", @@ -3104,7 +3130,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_tabs_opts", @@ -3169,7 +3196,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_nav_opts", @@ -3220,7 +3248,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "small text at the right edge of the item, e.g. a count" }, { "CName": "selected", @@ -3232,7 +3260,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the current page: medium weight text, and the group's highlight glides to it" }, { "CName": "group", @@ -3249,9 +3277,10 @@ "IsConst": true } }, - "Doc": "" + "Doc": "items with the same group name share one highlight; `NULL` puts them in one common group" } - ] + ], + "Doc": "Sidebar navigation item with a gliding selection highlight shared by all items in the same group." }, { "CName": "cui_popover_opts", @@ -3318,7 +3347,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Popover anchored to the previous component. Toggle it with cui_popover_toggle / cui_popover_open." }, { "CName": "cui_tour_step", @@ -3352,7 +3382,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "heading of the step's card; `NULL` or \"\" leaves it out" }, { "CName": "body", @@ -3369,7 +3399,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the explanation under the title; wraps to the card's width" }, { "CName": "placement", @@ -3383,7 +3413,8 @@ }, "Doc": "the card's side of the target, default below it" } - ] + ], + "Doc": "Guided tour: a spotlight on one control at a time, with a card beside it that says what the control does, for onboarding and \"what's new\". The rest of the window dims; the spotlight glides from one control to the next. Call it after the controls it points at, every frame while *step is 0 or more; it sets *step to -1 when the tour ends. Right or Enter go to the next step, Left goes back and Esc ends the tour." }, { "CName": "cui_tour_opts", @@ -3506,7 +3537,8 @@ }, "Doc": "the step count, default \"%d of %d\" (step, then total)" } - ] + ], + "Doc": "" }, { "CName": "cui_menu_opts", @@ -3588,9 +3620,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "an icon button (the ellipsis unless `icon` is set) with the label as its tooltip" } - ] + ], + "Doc": "Dropdown menu: a button that opens a menu. Items return true when chosen." }, { "CName": "cui_menu_item_opts", @@ -3677,9 +3710,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "a check mark at the right edge of the item" } - ] + ], + "Doc": "" }, { "CName": "cui_dialog_opts", @@ -3737,7 +3771,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "hides the x in the corner (Esc and a click outside still close it unless `persistent`)" }, { "CName": "persistent", @@ -3751,7 +3785,8 @@ }, "Doc": "clicking outside or Esc does not close" } - ] + ], + "Doc": "" }, { "CName": "cui_sheet_opts", @@ -3811,7 +3846,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_toast_opts", @@ -3900,7 +3936,8 @@ }, "Doc": "a draining line shows how long the action stays (undo)" } - ] + ], + "Doc": "" }, { "CName": "cui_alert_opts", @@ -3977,7 +4014,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_progress_opts", @@ -4073,7 +4111,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_badge_opts", @@ -4114,7 +4153,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "a small dot before the text, in the tone's color" }, { "CName": "solid", @@ -4126,7 +4165,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "filled with the tone's color instead of a light tint of it" }, { "CName": "icon", @@ -4157,7 +4196,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_avatar_opts", @@ -4198,7 +4238,7 @@ "Spelling": "cui_texture", "Kind": "ULongLong" }, - "Doc": "" + "Doc": "picture to show instead of the initials of the name" }, { "CName": "status", @@ -4215,7 +4255,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "a dot at the bottom right: \"online\" green, \"busy\" red, \"away\" amber, anything else gray" }, { "CName": "square", @@ -4227,9 +4267,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "rounded square instead of a circle" } - ] + ], + "Doc": "" }, { "CName": "cui_empty_opts", @@ -4297,9 +4338,10 @@ "IsConst": true } }, - "Doc": "" + "Doc": "label of a button under the text; the call returns true when it is clicked" } - ] + ], + "Doc": "" }, { "CName": "cui_metric_opts", @@ -4328,7 +4370,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "change shown beside the value with a trend arrow, as a percentage (4.2 shows +4.2%); 0 hides it" }, { "CName": "delta_label", @@ -4345,7 +4387,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "text shown instead of the percentage, e.g. \"+12 this week\"; `delta` still sets arrow and color" }, { "CName": "spark", @@ -4362,7 +4404,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "values for a sparkline under the value; needs at least 2" }, { "CName": "spark_count", @@ -4374,7 +4416,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of values in `spark`" }, { "CName": "icon", @@ -4417,7 +4459,8 @@ }, "Doc": "build times, errors, latency: a fall is good news, shown in green" } - ] + ], + "Doc": "" }, { "CName": "cui_tree_opts", @@ -4463,7 +4506,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "a node without children: no chevron, a file icon, and `*open` is left alone" }, { "CName": "selected", @@ -4475,9 +4518,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "drawn with the active background and medium weight text" } - ] + ], + "Doc": "Tree view node." }, { "CName": "cui_list_item_opts", @@ -4528,7 +4572,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "second line under the title, smaller; makes the row taller" }, { "CName": "trailing", @@ -4545,7 +4589,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "muted text at the right edge, e.g. a time or a count" }, { "CName": "selected", @@ -4557,7 +4601,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "drawn with the active background" }, { "CName": "avatar", @@ -4574,9 +4618,10 @@ "IsConst": true } }, - "Doc": "" + "Doc": "a name: shows that person's avatar (initials) in place of the icon" } - ] + ], + "Doc": "List item: a selectable row with optional icon, subtitle and trailing text." }, { "CName": "cui_table_column", @@ -4598,7 +4643,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "text of the column's header" }, { "CName": "width", @@ -4636,7 +4681,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Table" }, { "CName": "cui_table_sort", @@ -4667,7 +4713,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_table_opts", @@ -4736,7 +4783,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "rows at least 36 points tall instead of 44" }, { "CName": "selectable", @@ -4748,9 +4795,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "rows take keyboard focus and show the hand cursor (pass the chosen row's state to `cui_table_row`)" } - ] + ], + "Doc": "" }, { "CName": "cui_series", @@ -4772,7 +4820,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "shown in the legend and in the hover tooltip" }, { "CName": "values", @@ -4789,7 +4837,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the series' data, one value per point" }, { "CName": "count", @@ -4801,7 +4849,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of `values`" }, { "CName": "color", @@ -4815,12 +4863,103 @@ }, "Doc": "default: series palette" } - ] + ], + "Doc": "Charts" + }, + { + "CName": "cui_chart_annotation", + "CsName": "NativeChartAnnotation", + "Size": 48, + "Helpers": [], + "Fields": [ + { + "CName": "kind", + "CsName": "Kind", + "CsType": "AnnotationKind", + "CType": "cui_annotation_kind", + "Type": { + "Spelling": "cui_annotation_kind", + "Kind": "Enum" + }, + "Doc": "" + }, + { + "CName": "x", + "CsName": "X", + "CsType": "double", + "CType": "double", + "Offset": 8, + "Type": { + "Spelling": "double", + "Kind": "Double" + }, + "Doc": "in the chart's x units: the point's index for line and bar charts, x_min to x_max for the dot chart" + }, + { + "CName": "y", + "CsName": "Y", + "CsType": "double", + "CType": "double", + "Offset": 16, + "Type": { + "Spelling": "double", + "Kind": "Double" + }, + "Doc": "a value, in the chart's value units" + }, + { + "CName": "label", + "CsName": "Label", + "CsType": "nint", + "CType": "const char *", + "Offset": 24, + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + }, + "Doc": "first line, e.g. \"PEAK 203 MG\"; `NULL` for a line with no label" + }, + { + "CName": "detail", + "CsName": "Detail", + "CsType": "nint", + "CType": "const char *", + "Offset": 32, + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + }, + "Doc": "second line, muted, e.g. \"13:06\"; `NULL` for none" + }, + { + "CName": "accent", + "CsName": "Accent", + "CsType": "byte", + "CType": "_Bool", + "Offset": 40, + "Type": { + "Spelling": "_Bool", + "Kind": "Bool" + }, + "Doc": "the line, dot and label in the accent color" + } + ], + "Doc": "" }, { "CName": "cui_chart_opts", "CsName": "NativeChartOpts", - "Size": 56, + "Size": 72, "Helpers": [], "Fields": [ { @@ -4890,7 +5029,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of `labels`; 0 means one per data point" }, { "CName": "area", @@ -4992,8 +5131,38 @@ "Kind": "Float" }, "Doc": "fixed y range when min != max" + }, + { + "CName": "annotations", + "CsName": "Annotations", + "CsType": "nint", + "CType": "const cui_chart_annotation *", + "Offset": 56, + "Type": { + "Spelling": "const cui_chart_annotation *", + "Kind": "Pointer", + "Element": { + "Spelling": "const cui_chart_annotation", + "Kind": "Record", + "IsConst": true + } + }, + "Doc": "lines and points drawn over the chart (line and bar charts)" + }, + { + "CName": "annotation_count", + "CsName": "AnnotationCount", + "CsType": "int", + "CType": "int", + "Offset": 64, + "Type": { + "Spelling": "int", + "Kind": "Int" + }, + "Doc": "number of `annotations`" } - ] + ], + "Doc": "" }, { "CName": "cui_image_opts", @@ -5046,7 +5215,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "corner radius in points" }, { "CName": "tint", @@ -5058,9 +5227,10 @@ "Spelling": "cui_color", "Kind": "Record" }, - "Doc": "" + "Doc": "color the image is multiplied by; unset draws it as it is" } - ] + ], + "Doc": "" }, { "CName": "cui_image_view", @@ -5103,7 +5273,8 @@ }, "Doc": "the image point at the middle of the view, in pixels" } - ] + ], + "Doc": "Image viewer: zoom and pan a picture. The wheel (or a pinch, which comes as Ctrl+wheel) zooms around the pointer, dragging pans, double-click switches between fitting the view and 100%. With the viewer focused, + and - zoom, 0 fits, 1 shows actual pixels and the arrows pan. Zoom and pan ease. Keep a cui_image_view to keep the zoom and position (zeroed: fit)." }, { "CName": "cui_image_viewer_opts", @@ -5182,7 +5353,8 @@ }, "Doc": "a grid behind transparent images" } - ] + ], + "Doc": "" }, { "CName": "cui_cropper_opts", @@ -5261,7 +5433,8 @@ }, "Doc": "smallest side, image pixels; default 16" } - ] + ], + "Doc": "Cropper: a crop rectangle over a picture, in image pixels. Drag inside to move it, drag a corner or an edge to resize it; the outside dims and thirds lines show while you drag. With it focused, the arrows move the crop (Shift for 10 pixels). A zeroed crop starts as the largest centered rectangle of the aspect." }, { "CName": "cui_command", @@ -5283,7 +5456,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the command's text in the list; what typing in the palette searches" }, { "CName": "icon", @@ -5317,7 +5490,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "heading above a run of commands with the same group, shown while the search is empty" }, { "CName": "shortcut", @@ -5336,7 +5509,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_choice", @@ -5358,7 +5532,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the card's heading, in medium weight; wraps when long" }, { "CName": "description", @@ -5409,9 +5583,10 @@ "IsConst": true } }, - "Doc": "" + "Doc": "small accent badge beside the title, e.g. \"Popular\"; `NULL` for none" } - ] + ], + "Doc": "Radio cards: larger selectable cards for choices that need a description (plans, templates)." }, { "CName": "cui_radio_cards_opts", @@ -5440,9 +5615,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "cards per row; 0 puts up to 3 choices in one row and more in 2 columns" } - ] + ], + "Doc": "" }, { "CName": "cui_tag_opts", @@ -5505,7 +5681,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "most tags the field holds; once reached it takes no more typing. 0 means no limit" }, { "CName": "width", @@ -5519,7 +5695,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Tag input: tags are stored comma separated in buf. Enter or comma adds the typed tag, Backspace on an empty field removes the last one." }, { "CName": "cui_hold_opts", @@ -5548,7 +5725,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "seconds the button must be held before it fires, default 1.2" }, { "CName": "icon", @@ -5579,7 +5756,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Hold to confirm: a destructive action that fills while held and fires when full. Returns true once." }, { "CName": "cui_timeline_opts", @@ -5613,7 +5791,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "muted text at the right of the title, e.g. \"2h ago\"" }, { "CName": "description", @@ -5671,9 +5849,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the final item: no connector line below its dot and no space after it" } - ] + ], + "Doc": "Activity timeline item." }, { "CName": "cui_split_button_opts", @@ -5753,7 +5932,7 @@ } } }, - "Doc": "" + "Doc": "one icon per menu item, in the order of the items; `NULL` for none" }, { "CName": "disabled", @@ -5767,7 +5946,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Split button: a main action with a menu of related actions on the chevron. Returns 0 when the main part is clicked, 1 + i when menu item i is chosen and -1 otherwise." }, { "CName": "cui_toggle_group_opts", @@ -5818,7 +5998,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "clicking an item turns it on and every other one off, like radio buttons" }, { "CName": "icon_only", @@ -5830,7 +6010,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "items that have an icon show only the icon, with their label as the tooltip" }, { "CName": "size", @@ -5844,7 +6024,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Toggle group: a row of toggles (bold, italic...). values[i] is toggled when item i is clicked; with exclusive set exactly one stays on. Labels become tooltips when icon_only is set. Returns true when a value changed." }, { "CName": "cui_confirm_opts", @@ -5933,7 +6114,8 @@ }, "Doc": "seconds before it disarms, default 3" } - ] + ], + "Doc": "Two step destructive button: the first click morphs it into a confirm state with a countdown, the second click confirms. Returns true once." }, { "CName": "cui_status_button_opts", @@ -6044,7 +6226,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_reaction", @@ -6078,7 +6261,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "the number beside the icon; a click adds or takes away 1" }, { "CName": "active", @@ -6090,9 +6273,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the user has reacted: the pill is highlighted; a click flips it" } - ] + ], + "Doc": "Reactions: icon pills with counts. Clicking toggles `active` and adjusts the count. Returns the index that changed, or -1." }, { "CName": "cui_speed_action", @@ -6133,7 +6317,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Speed dial: a round floating action button that fans out related actions. Returns the chosen action index, or -1." }, { "CName": "cui_speed_dial_opts", @@ -6198,7 +6383,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_user_menu_opts", @@ -6232,7 +6418,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "second line under the name, e.g. an email address; also in the menu's header" }, { "CName": "status", @@ -6249,7 +6435,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "status dot on the avatar: \"online\", \"busy\", \"away\" or anything else (gray)" }, { "CName": "avatar", @@ -6261,7 +6447,7 @@ "Spelling": "cui_texture", "Kind": "ULongLong" }, - "Doc": "" + "Doc": "picture for the avatar instead of the name's initials" }, { "CName": "compact", @@ -6273,7 +6459,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "only the avatar as the button, as wide as it needs; the menu then opens below it" }, { "CName": "placement", @@ -6299,7 +6485,8 @@ }, "Doc": "" } - ] + ], + "Doc": "User menu: an avatar, a name and a line of detail that opens a menu of account actions. Put menu items between begin and end." }, { "CName": "cui_swipe_action", @@ -6352,7 +6539,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Swipe actions: drag a row sideways (or swipe on a trackpad) to reveal actions behind it. A long swipe triggers the first action. The row content goes between begin and end; end returns the chosen action: 0..left_count-1 for left actions, 100 + i for right actions, or -1." }, { "CName": "cui_grid_column", @@ -6374,7 +6562,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "text of the column's header" }, { "CName": "width", @@ -6436,7 +6624,8 @@ }, "Doc": "0 always shown; when the grid is too narrow, columns with a priority hide, the highest number first, until the rest fit" } - ] + ], + "Doc": "A virtualized table for large data: sticky header, resizable and sortable columns, checkbox selection (click, Ctrl+click, Shift+click, Ctrl+A), keyboard navigation and editable cells. Build only the rows in [first, last):" }, { "CName": "cui_grid_opts", @@ -6521,7 +6710,7 @@ "Kind": "Record" } }, - "Doc": "" + "Doc": "optional; a click on a sortable header updates it and the header shows its arrow. Sort the rows yourself" }, { "CName": "striped", @@ -6579,7 +6768,8 @@ }, "Doc": "the row Shift ranges start from, optional (in and out like cursor)" } - ] + ], + "Doc": "" }, { "CName": "cui_filter_field", @@ -6601,7 +6791,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the field's name, on its chip and in the \"+ Filter\" menu" }, { "CName": "icon", @@ -6640,7 +6830,7 @@ } } }, - "Doc": "" + "Doc": "the values to choose from; at most 32, one bit of the mask each" }, { "CName": "option_count", @@ -6652,9 +6842,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of `options`" } - ] + ], + "Doc": "Filter bar: a search field, a chip per active filter (click it to pick values) and \"+ Filter\" to add one. selected[i] is a bit mask of the chosen options of fields[i]. Returns true when anything changed." }, { "CName": "cui_tree_node", @@ -6709,7 +6900,8 @@ }, "Doc": "CUI_TREE_*" } - ] + ], + "Doc": "" }, { "CName": "cui_tree_table_opts", @@ -6850,9 +7042,10 @@ "Kind": "Void" } }, - "Doc": "" + "Doc": "passed to `label` as its first argument" } - ] + ], + "Doc": "" }, { "CName": "cui_tree_table_events", @@ -6922,7 +7115,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of nodes in `load`; at most 64 a frame" }, { "CName": "selection_changed", @@ -6934,7 +7127,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "a node's `CUI_TREE_SELECTED` flag changed this frame" }, { "CName": "sort_changed", @@ -6948,7 +7141,8 @@ }, "Doc": "re-sort every sibling list by *sort" } - ] + ], + "Doc": "" }, { "CName": "cui_path_bar_opts", @@ -7066,7 +7260,8 @@ }, "Doc": "no text mode" } - ] + ], + "Doc": "Path bar: a breadcrumb for file and scene paths. Segments are clickable, the last one is the current place. Middle segments that do not fit collapse into a \"...\" menu. With .menus, the chevron after segment k opens a menu you fill with the children of segment k (cui_path_bar_menu_begin). Click the empty part (or the current segment), or press Ctrl+L, to type a path: Enter submits it, Esc or clicking away cancels." }, { "CName": "cui_path_bar_result", @@ -7112,9 +7307,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the bar is showing its text field for typing a path" } - ] + ], + "Doc": "" }, { "CName": "cui_file_entry", @@ -7174,7 +7370,8 @@ }, "Doc": "seconds since 1970 (UTC); 0 unknown" } - ] + ], + "Doc": "File browser and file picker (an open or save dialog drawn by CUI, like the rest of the window; cui_app_file_dialog in cui_app.h opens the system's own). The browser lists a folder (name, date modified and size; folders first, any column sorts), with back, forward and up, a path bar you can type into, a filter field and a sidebar of places. Double-click or Enter opens a folder or picks a file; Backspace goes up, Alt+Left and Alt+Right go back and forward, F5 reloads, and typing a letter jumps to the next name that starts with it. A folder is read when you enter it (or reload), not every frame, and only the rows in view are built." }, { "CName": "cui_file_browser_opts", @@ -7244,7 +7441,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "lists folders and leaves the files out" }, { "CName": "hidden", @@ -7290,7 +7487,7 @@ } } }, - "Doc": "sidebar paths, default home, desktop, documents, downloads and the root" + "Doc": "full paths for the sidebar, each shown by its last part; at most 6" }, { "CName": "place_count", @@ -7302,7 +7499,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "sidebar paths, default home, desktop, documents, downloads and the root" + "Doc": "entries in `places`; with `places` NULL the sidebar shows home, desktop, documents, downloads and the root" }, { "CName": "list", @@ -7318,7 +7515,7 @@ "Kind": "FunctionProto" } }, - "Doc": "default cui_fs_list" + "Doc": "function that lists a folder; set it to browse something other than the local disk" }, { "CName": "list_user", @@ -7334,7 +7531,7 @@ "Kind": "Void" } }, - "Doc": "default cui_fs_list" + "Doc": "passed to `list` as its first argument; `list` defaults to cui_fs_list, the local disk" }, { "CName": "max_entries", @@ -7348,7 +7545,8 @@ }, "Doc": "default 20,000" } - ] + ], + "Doc": "" }, { "CName": "cui_file_browser_result", @@ -7413,7 +7611,8 @@ }, "Doc": "the folder could not be read" } - ] + ], + "Doc": "" }, { "CName": "cui_file_picker_opts", @@ -7555,7 +7754,7 @@ "Kind": "FunctionProto" } }, - "Doc": "" + "Doc": "function that lists a folder (the local disk unless set); default `cui_fs_list`" }, { "CName": "list_user", @@ -7571,9 +7770,10 @@ "Kind": "Void" } }, - "Doc": "" + "Doc": "passed to `list` as its first argument" } - ] + ], + "Doc": "" }, { "CName": "cui_code_opts", @@ -7607,7 +7807,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "\"c\", \"cpp\", \"js\", \"ts\", \"python\", \"rust\", \"go\", \"json\", \"shell\" or \"text\" (no colors); shown in the title bar" }, { "CName": "title", @@ -7636,7 +7836,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "a column of line numbers on the left" }, { "CName": "highlight_from", @@ -7698,7 +7898,8 @@ }, "Doc": "no title bar, even with a lang" } - ] + ], + "Doc": "Code block with syntax highlighting (lang: \"c\", \"cpp\", \"js\", \"ts\", \"python\", \"rust\", \"go\", \"json\", \"shell\", or \"text\" for none), line numbers, a title bar and a copy button. Long lines scroll sideways." }, { "CName": "cui_json_opts", @@ -7727,7 +7928,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "levels of the tree that start open, default 2" }, { "CName": "max_height", @@ -7739,9 +7940,10 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "points; taller content scrolls. 0 shows everything" } - ] + ], + "Doc": "JSON viewer: a collapsible tree with typed colors and item counts. Returns false when the text is not valid JSON (and shows the error)." }, { "CName": "cui_markdown_opts", @@ -7844,7 +8046,8 @@ }, "Doc": "smaller headings and tighter spacing, for chat bubbles" } - ] + ], + "Doc": "Markdown view: renders your markdown text (UTF-8) as native content, every frame, without keeping a copy:" }, { "CName": "cui_markdown_result", @@ -7933,7 +8136,8 @@ }, "Doc": "height of the view in the latest layout" } - ] + ], + "Doc": "" }, { "CName": "cui_text_mark", @@ -7976,7 +8180,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Code editor: editable code with the code block's highlighting, a line number gutter and a monospace grid, for shader editors, script consoles and config files. You own the text: a NUL terminated buffer and its capacity, edited in place." }, { "CName": "cui_code_editor_opts", @@ -8094,7 +8299,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "hides the gutter of line numbers" }, { "CName": "autofocus", @@ -8152,9 +8357,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of `marks`" } - ] + ], + "Doc": "" }, { "CName": "cui_code_editor_result", @@ -8317,7 +8523,8 @@ }, "Doc": "with the find bar open: matches, and which one is selected (1 based, 0 none)" } - ] + ], + "Doc": "" }, { "CName": "cui_diff_opts", @@ -8499,7 +8706,8 @@ }, "Doc": "font size, default 12" } - ] + ], + "Doc": "" }, { "CName": "cui_diff_result", @@ -8626,7 +8834,8 @@ }, "Doc": "the search hit its limit: correct, maybe not the shortest" } - ] + ], + "Doc": "" }, { "CName": "cui_diff_row", @@ -8693,7 +8902,8 @@ }, "Doc": "fold rows: lines hidden" } - ] + ], + "Doc": "" }, { "CName": "cui_diff_hunk", @@ -8748,7 +8958,8 @@ }, "Doc": "" } - ] + ], + "Doc": "The same diff without a view. Old lines [old_start, old_start + old_count) became new lines [new_start, new_start + new_count), 0 based; a pure insertion has old_count 0 and goes before old line old_start. Writes up to cap hunks and returns how many there are (-1 when out of memory). Lines end at \"\\n\"; a \"\\r\" before it is part of the line ending. Allocates with malloc." }, { "CName": "cui_diff_stats", @@ -8827,7 +9038,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_diff_range", @@ -8858,7 +9070,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Word marks between two versions of one line, as byte ranges (a length of -1 reads up to the terminator). Returns false when the lines have too little in common for marks to help, or a line is very long (over 2000 bytes)." }, { "CName": "cui_chat_opts", @@ -8921,7 +9134,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "shown after the author's name; on your own messages after `status`" }, { "CName": "status", @@ -8974,7 +9187,7 @@ "Spelling": "cui_texture", "Kind": "ULongLong" }, - "Doc": "" + "Doc": "picture for the sender's avatar instead of initials (other people's messages)" }, { "CName": "markdown", @@ -9004,7 +9217,8 @@ }, "Doc": "optional: links and task toggles the markdown reported" } - ] + ], + "Doc": "Chat message bubble. Consecutive messages from one person set grouped so they stack tightly and show the avatar once." }, { "CName": "cui_comment_opts", @@ -9038,7 +9252,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "muted text after the author's name, e.g. \"2h ago\"" }, { "CName": "depth", @@ -9050,7 +9264,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "0 for a top level comment; each level indents a reply 44 points under a connector line" }, { "CName": "likes", @@ -9066,7 +9280,7 @@ "Kind": "Int" } }, - "Doc": "" + "Doc": "the like count, shown beside the heart; changed with `*liked`. May be `NULL`" }, { "CName": "liked", @@ -9082,7 +9296,7 @@ "Kind": "Bool" } }, - "Doc": "" + "Doc": "whether you liked it: tints the heart and flips on a click. `NULL`: the click is only reported" }, { "CName": "edited", @@ -9094,7 +9308,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "adds \"edited\" after the time" }, { "CName": "badge", @@ -9111,9 +9325,10 @@ "IsConst": true } }, - "Doc": "" + "Doc": "small badge after the author's name, e.g. \"Author\"" } - ] + ], + "Doc": "" }, { "CName": "cui_presence_user", @@ -9135,7 +9350,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "shown in the tooltip, and as initials when there is no avatar" }, { "CName": "color", @@ -9159,7 +9374,7 @@ "Spelling": "cui_texture", "Kind": "ULongLong" }, - "Doc": "" + "Doc": "picture to show instead of the initials" }, { "CName": "idle", @@ -9171,9 +9386,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "away: the avatar dims, its ring turns gray and the tooltip adds \"(away)\"" } - ] + ], + "Doc": "Presence: who is here now. Overlapping avatars with a colored ring each, that spread out on hover and name themselves." }, { "CName": "cui_carousel_opts", @@ -9214,7 +9430,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "seconds on a slide before it moves to the next, paused while hovered; 0 turns it off" }, { "CName": "gap", @@ -9238,7 +9454,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "hides the previous and next arrows that show on hover" }, { "CName": "no_dots", @@ -9250,7 +9466,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "hides the row of page dots under the slides" }, { "CName": "loop", @@ -9262,9 +9478,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "past the last slide comes the first again, and back from the first the last" } - ] + ], + "Doc": "Carousel: slides that you swipe, drag, scroll or page with the arrows and dots. Build every slide between begin and end: cui_carousel(ui, \"tour\", 4, &index, .height = 220) { for (int k = 0; k < 4; k++) cui_carousel_slide(ui) { ... } }" }, { "CName": "cui_compare_opts", @@ -9322,7 +9539,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "caption in the top left corner, default \"Before\"" }, { "CName": "after_label", @@ -9339,7 +9556,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "caption in the top right corner, default \"After\"" }, { "CName": "aspect", @@ -9353,7 +9570,8 @@ }, "Doc": "the images' width / height: they are cropped to fill, never stretched" } - ] + ], + "Doc": "Before and after: drag the divider to compare two images. *pos is 0..1." }, { "CName": "cui_card_stack_opts", @@ -9406,9 +9624,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "cards of the deck that show at once, default 3" } - ] + ], + "Doc": "Card stack: a deck where the top card can be flicked away left or right. Build `count` cards; card 0 is the top. end returns -1 or 1 on the frame the top card leaves (to the left or right), else 0." }, { "CName": "cui_counter_opts", @@ -9466,7 +9685,7 @@ "Spelling": "cui_font", "Kind": "Int" }, - "Doc": "" + "Doc": "default `CUI_FONT_DISPLAY`" }, { "CName": "color", @@ -9490,9 +9709,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "commas between thousands: 48210 shows as 48,210" } - ] + ], + "Doc": "Odometer: a number whose digits roll to their new values." }, { "CName": "cui_ticker_item", @@ -9514,7 +9734,7 @@ "IsConst": true } }, - "Doc": "a fall is good: shown green" + "Doc": "" }, { "CName": "value", @@ -9531,7 +9751,7 @@ "IsConst": true } }, - "Doc": "a fall is good: shown green" + "Doc": "text after the label in medium weight, e.g. a price; may be `NULL`" }, { "CName": "delta", @@ -9543,7 +9763,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "a fall is good: shown green" + "Doc": "percent change, shown with a trend arrow in green or red; 0 hides it" }, { "CName": "lower_is_better", @@ -9555,9 +9775,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "a fall is good: shown green" + "Doc": "a fall in `delta` is good news: it shows green, and a rise red" } - ] + ], + "Doc": "Ticker: items that scroll by continuously, pausing on hover." }, { "CName": "cui_ticker_opts", @@ -9586,7 +9807,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "points per second, default 40" }, { "CName": "height", @@ -9600,7 +9821,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_heatmap_opts", @@ -9639,7 +9861,7 @@ } } }, - "Doc": "" + "Doc": "one label per row, left of the grid; `NULL` for none" }, { "CName": "col_labels", @@ -9661,7 +9883,7 @@ } } }, - "Doc": "" + "Doc": "one label per column, under the grid; labels that would overlap are skipped" }, { "CName": "cell", @@ -9740,7 +9962,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Heatmap: a rows x cols matrix (values[row * cols + col]) on one hue, light to dark, with a scale below." }, { "CName": "cui_calendar_heatmap_opts", @@ -9769,7 +9992,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "size of a day's square in points, default 11" }, { "CName": "color", @@ -9817,7 +10040,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Calendar heatmap: one cell per day from start, weeks as columns, in five levels, with month and weekday labels and a Less / More legend." }, { "CName": "cui_viz_item", @@ -9851,7 +10075,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "the item's amount: its area, length or share, by chart (activity rings: 1 is a full turn)" }, { "CName": "color", @@ -9865,7 +10089,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Treemap: rectangles with areas proportional to their values." }, { "CName": "cui_treemap_opts", @@ -9925,7 +10150,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_radar_opts", @@ -9966,7 +10192,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "value at the outer ring; 0 picks a round number above the largest value" }, { "CName": "format", @@ -9997,7 +10223,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Radar chart: series over shared axes (series[i].values[axis])." }, { "CName": "cui_funnel_opts", @@ -10069,7 +10296,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Funnel: stages narrowing by value, with the conversion between them." }, { "CName": "cui_sankey_link", @@ -10086,7 +10314,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "index of the node the flow leaves" }, { "CName": "to", @@ -10098,7 +10326,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "index of the node the flow enters" }, { "CName": "value", @@ -10110,9 +10338,10 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "size of the flow: sets the link's thickness" } - ] + ], + "Doc": "Sankey: flows between nodes; columns follow the links from the sources." }, { "CName": "cui_sankey_opts", @@ -10182,9 +10411,10 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "width of the node bars in points, default 12" } - ] + ], + "Doc": "" }, { "CName": "cui_waffle_opts", @@ -10213,7 +10443,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "size of a square in points, default 18" }, { "CName": "columns", @@ -10225,7 +10455,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "squares per row, at most 60; default 10" }, { "CName": "rows", @@ -10237,7 +10467,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "rows of squares, at most 60; default 10" }, { "CName": "format", @@ -10256,7 +10486,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Waffle: a 10 x 10 grid of squares split by share, with a legend." }, { "CName": "cui_split_bar_opts", @@ -10328,7 +10559,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Split bar: one bar split into parts, with a legend of values and shares." }, { "CName": "cui_bar_list_opts", @@ -10386,7 +10618,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "shows only this many rows from the top; 0 shows all" }, { "CName": "keep_order", @@ -10398,7 +10630,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "keeps the items in the order given instead of sorting them largest first" }, { "CName": "color", @@ -10412,7 +10644,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Bar list: ranked horizontal bars. Rows are keyed by label, so when the values change the bars grow and the rows slide to their new rank." }, { "CName": "cui_rings_opts", @@ -10429,7 +10662,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "names and shares beside the rings" + "Doc": "" }, { "CName": "size", @@ -10441,7 +10674,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "names and shares beside the rings" + "Doc": "" }, { "CName": "thickness", @@ -10453,7 +10686,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "names and shares beside the rings" + "Doc": "width of each ring in points; 0 uses a tenth of `size`, at least 8" }, { "CName": "center", @@ -10470,7 +10703,7 @@ "IsConst": true } }, - "Doc": "names and shares beside the rings" + "Doc": "large text in the middle of the rings, e.g. a total" }, { "CName": "caption", @@ -10487,7 +10720,7 @@ "IsConst": true } }, - "Doc": "names and shares beside the rings" + "Doc": "small muted text under `center`; shown only with `center`" }, { "CName": "legend", @@ -10501,7 +10734,8 @@ }, "Doc": "names and shares beside the rings" } - ] + ], + "Doc": "Activity rings: concentric progress rings; values past 1 keep winding." }, { "CName": "cui_scatter_series", @@ -10523,7 +10757,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "shown in the legend, which appears with two or more series" }, { "CName": "points", @@ -10540,7 +10774,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the points, x and y in data units" }, { "CName": "sizes", @@ -10557,7 +10791,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "optional, one per point: makes a bubble chart, each bubble sized against the largest" }, { "CName": "count", @@ -10569,7 +10803,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of `points` (and of `sizes`)" }, { "CName": "color", @@ -10583,7 +10817,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Scatter (or bubble) chart: points per series, optional sizes." }, { "CName": "cui_scatter_opts", @@ -10641,7 +10876,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "title under the x axis; also names the x value in the tooltip" }, { "CName": "y_label", @@ -10658,7 +10893,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "title above the y axis; also names the y value in the tooltip" }, { "CName": "x_format", @@ -10675,7 +10910,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "printf format for the x axis labels and the tooltip" }, { "CName": "y_format", @@ -10692,7 +10927,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "printf format for the y axis labels and the tooltip" }, { "CName": "no_legend", @@ -10706,7 +10941,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_gauge_band", @@ -10737,7 +10973,8 @@ }, "Doc": "from the band before (or min) up to `to`" } - ] + ], + "Doc": "Radial gauge: one value on a dial with colored bands, labelled ticks, a needle and a target marker, for dashboards (speed, load, temperature, a score against a goal). The needle springs to new values." }, { "CName": "cui_radial_gauge_opts", @@ -10846,7 +11083,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "colored stretches of the arc, each from the one before up to its `to`; at most 16" }, { "CName": "band_count", @@ -10858,7 +11095,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of `bands`" }, { "CName": "ticks", @@ -10894,7 +11131,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "draws the marker at `target`" }, { "CName": "no_needle", @@ -10908,7 +11145,8 @@ }, "Doc": "a thick arc filled to the value instead of a needle" } - ] + ], + "Doc": "" }, { "CName": "cui_candle", @@ -10925,7 +11163,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "price at the start of the period" }, { "CName": "high", @@ -10937,7 +11175,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "highest price in the period" }, { "CName": "low", @@ -10949,7 +11187,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "lowest price in the period" }, { "CName": "close", @@ -10961,7 +11199,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "price at the end of the period" }, { "CName": "volume", @@ -10973,9 +11211,10 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "amount traded in the period, drawn as a bar under the candle; 0 for none" } - ] + ], + "Doc": "Candlestick chart: open, high, low and close per period with volume under it, for prices. The wheel zooms around the pointer, dragging (or Shift+wheel) pans, a crosshair shows each candle's values, and the price axis fits the candles in view. Zoomed out past a few points per candle, candles merge per pixel column, so a long history stays fast. When the view shows the newest candle it follows new ones as they are appended. With the chart focused, Left and Right move the crosshair (Shift: ten at a time), Home and End jump to the ends, + and - zoom and 0 fits everything." }, { "CName": "cui_candlestick_opts", @@ -11072,7 +11311,7 @@ "IsConst": true } }, - "Doc": "lines with one value per candle, e.g. moving averages" + "Doc": "series drawn as lines over the candles; at most 4" }, { "CName": "overlay_count", @@ -11084,7 +11323,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "lines with one value per candle, e.g. moving averages" + "Doc": "entries in `overlays`: lines with one value per candle, e.g. moving averages" }, { "CName": "no_volume", @@ -11134,7 +11373,8 @@ }, "Doc": "default the success and danger colors" } - ] + ], + "Doc": "" }, { "CName": "cui_text_fx_opts", @@ -11163,7 +11403,7 @@ "Spelling": "cui_font", "Kind": "Int" }, - "Doc": "" + "Doc": "default `CUI_FONT_BODY` (0)" }, { "CName": "size", @@ -11211,7 +11451,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "keeps the text on one line instead of wrapping it" }, { "CName": "speed", @@ -11249,7 +11489,8 @@ }, "Doc": "typewriter: a blinking caret while typing" } - ] + ], + "Doc": "Motion and text effects All of these respect reduced motion: they show their final state." }, { "CName": "cui_gradient_text_opts", @@ -11278,7 +11519,7 @@ "Spelling": "cui_font", "Kind": "Int" }, - "Doc": "" + "Doc": "default `CUI_FONT_BODY` (0)" }, { "CName": "size", @@ -11302,7 +11543,7 @@ "Spelling": "cui_color", "Kind": "Record" }, - "Doc": "" + "Doc": "color at the left edge; default the accent, or the text color under the neutral accent" }, { "CName": "to", @@ -11314,7 +11555,7 @@ "Spelling": "cui_color", "Kind": "Record" }, - "Doc": "" + "Doc": "color at the right edge, default `from` blended toward the foreground color" }, { "CName": "animate", @@ -11326,7 +11567,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the gradient drifts along the text" }, { "CName": "width", @@ -11340,7 +11581,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Text painted with a gradient from one color to another; animate makes it drift." }, { "CName": "cui_spotlight_opts", @@ -11429,9 +11671,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "a light travels around the card's edge all the time" } - ] + ], + "Doc": "Spotlight card: a soft light follows the pointer across the card and lights the nearest stretch of its border. beam sends a light around the edge." }, { "CName": "cui_loader_opts", @@ -11486,7 +11729,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_dock_opts", @@ -11527,9 +11771,10 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "how much the icon under the pointer grows, default 1.55" } - ] + ], + "Doc": "Dock: a row of icons that grow as the pointer passes, with labels and a dot under the running ones. Each item returns true when clicked." }, { "CName": "cui_dock_item_opts", @@ -11570,7 +11815,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "a small dot under the icon" }, { "CName": "badge", @@ -11582,9 +11827,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "a count badge on the icon (\"99+\" above 99); 0 for none" } - ] + ], + "Doc": "" }, { "CName": "cui_tab_bar_item", @@ -11635,9 +11881,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "a count on the icon (\"9+\" above 9); 0 for none" } - ] + ], + "Doc": "Bottom tab bar for compact layouts, with a pill that glides to the selection." }, { "CName": "cui_tab_bar_opts", @@ -11678,9 +11925,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "only the selected tab shows its label; the others show just their icon" } - ] + ], + "Doc": "" }, { "CName": "cui_tile_opts", @@ -11731,7 +11979,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the state line under the label, default \"On\" or \"Off\"" }, { "CName": "color", @@ -11767,9 +12015,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "icon beside the text in a lower tile, instead of above it" } - ] + ], + "Doc": "Control tile: a large toggle with an icon, a label and a state line." }, { "CName": "cui_waveform_opts", @@ -11822,7 +12071,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "width of each bar in points, default 3" }, { "CName": "gap", @@ -11848,7 +12097,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Waveform: bars from peaks (0..1). With progress, the played part is colored and clicking or dragging seeks; returns true when it did." }, { "CName": "cui_now_playing", @@ -11870,7 +12120,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "name of the track, in medium weight" }, { "CName": "artist", @@ -11887,7 +12137,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "shown under the title" }, { "CName": "art", @@ -11899,7 +12149,7 @@ "Spelling": "cui_texture", "Kind": "ULongLong" }, - "Doc": "" + "Doc": "artwork texture; 0 shows a tile in `art_color` with a note icon" }, { "CName": "art_color", @@ -11911,7 +12161,7 @@ "Spelling": "cui_color", "Kind": "Record" }, - "Doc": "" + "Doc": "color of the tile behind (or in place of) the artwork" }, { "CName": "position", @@ -11923,7 +12173,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "seconds played; written when the user seeks" }, { "CName": "duration", @@ -11935,7 +12185,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "length of the track in seconds" }, { "CName": "playing", @@ -11947,9 +12197,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "shows pause instead of play; the play button flips it" } - ] + ], + "Doc": "Now playing card: artwork, title, artist, a scrubber and transport buttons." }, { "CName": "cui_now_playing_opts", @@ -11990,9 +12241,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "smaller artwork and padding, and no previous button" } - ] + ], + "Doc": "" }, { "CName": "cui_reasoning_opts", @@ -12021,7 +12273,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "still thinking: the header shimmers and the body opens; it folds when this turns false" }, { "CName": "seconds", @@ -12033,7 +12285,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "time spent, for the header: \"Thinking for 12s\", then \"Thought for 12s\"" }, { "CName": "title", @@ -12050,9 +12302,10 @@ "IsConst": true } }, - "Doc": "" + "Doc": "header text to show instead of the \"Thinking\" and \"Thought for\" lines" } - ] + ], + "Doc": "Reasoning: a model's thinking. While thinking, the header shimmers and counts the seconds; afterwards it reads \"Thought for 12s\" and the body folds away. Click the header to open or close it. Put text inside." }, { "CName": "cui_tool_call_opts", @@ -12115,7 +12368,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "muted text after the tool's name, e.g. the file or query it works on" }, { "CName": "input", @@ -12132,7 +12385,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "what was sent to the tool; the row then opens to show it (as JSON when it parses)" }, { "CName": "output", @@ -12149,7 +12402,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "what the tool returned, shown when open; labelled \"Error\" when the status is failed" }, { "CName": "seconds", @@ -12161,9 +12414,10 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "how long the call took, shown at the end of the row unless it is pending; 0 hides it" } - ] + ], + "Doc": "" }, { "CName": "cui_plan_step", @@ -12185,7 +12439,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the step's text; shimmers while the step is running" }, { "CName": "detail", @@ -12202,7 +12456,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "smaller muted line under the title (red when the step failed); may be `NULL`" }, { "CName": "status", @@ -12216,7 +12470,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Agent plan: steps with their status on a connected rail, and progress." }, { "CName": "cui_agent_plan_opts", @@ -12250,9 +12505,10 @@ "IsConst": true } }, - "Doc": "" + "Doc": "heading of the plan, default \"Plan\"" } - ] + ], + "Doc": "" }, { "CName": "cui_agent_status_opts", @@ -12293,7 +12549,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "elapsed time shown after the text, as 42s or 1m 05s; 0 hides it" }, { "CName": "icon", @@ -12312,7 +12568,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Agent status pill: what the agent is doing right now and for how long." }, { "CName": "cui_source", @@ -12334,7 +12591,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the card's heading; `NULL` shows the URL's domain" }, { "CName": "url", @@ -12351,7 +12608,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the address: its domain is shown, and the whole URL as the card's tooltip" }, { "CName": "snippet", @@ -12368,9 +12625,10 @@ "IsConst": true } }, - "Doc": "" + "Doc": "an excerpt, shown in the hover card of a citation" } - ] + ], + "Doc": "Sources: cards for the documents an answer used, and inline citations that show a card on hover. Both return true / the index when clicked." }, { "CName": "cui_context_opts", @@ -12404,7 +12662,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "what fills the context (label, amount, color), for the breakdown on hover" }, { "CName": "part_count", @@ -12416,7 +12674,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of `parts`" }, { "CName": "unit", @@ -12435,7 +12693,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Context meter: a small ring of how full the context is; hover for a breakdown. It turns amber past 80% and red past 95%." }, { "CName": "cui_response_actions_opts", @@ -12469,7 +12728,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the text the copy button copies; `NULL` leaves the button out" }, { "CName": "vote", @@ -12485,7 +12744,7 @@ "Kind": "Int" } }, - "Doc": "" + "Doc": "1 thumbs up, -1 thumbs down, 0 none: shown on the buttons and updated on a click" }, { "CName": "no_regenerate", @@ -12497,7 +12756,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "hides the regenerate button" }, { "CName": "no_share", @@ -12509,9 +12768,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "hides the share button" } - ] + ], + "Doc": "" }, { "CName": "cui_prompt_suggestion", @@ -12550,7 +12810,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the card's heading, in medium weight" }, { "CName": "detail", @@ -12567,9 +12827,10 @@ "IsConst": true } }, - "Doc": "" + "Doc": "smaller muted text under the title; may be `NULL`" } - ] + ], + "Doc": "Prompt suggestions: cards to start a conversation with." }, { "CName": "cui_prompt_suggestions_opts", @@ -12598,9 +12859,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "cards per row, default 2" } - ] + ], + "Doc": "" }, { "CName": "cui_model", @@ -12622,7 +12884,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "shown on the button and as the row's heading in the list" }, { "CName": "detail", @@ -12639,7 +12901,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "smaller muted line under the name in the list, e.g. what the model is good at" }, { "CName": "badge", @@ -12656,7 +12918,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "small accent badge after the name, e.g. \"New\"; `NULL` for none" }, { "CName": "icon", @@ -12675,7 +12937,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Model picker: the current model on a button; a list with details opens." }, { "CName": "cui_model_picker_opts", @@ -12704,7 +12967,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "no border or fill on the button until hovered, for use inside another control" }, { "CName": "placement", @@ -12718,7 +12981,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_composer_opts", @@ -12764,7 +13028,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "a reply is being generated: the send button becomes stop and Enter does not send" }, { "CName": "attachments", @@ -12786,7 +13050,7 @@ } } }, - "Doc": "" + "Doc": "names of the attached files, shown as chips above the text, each with an x" }, { "CName": "attachment_count", @@ -12798,7 +13062,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of `attachments`" }, { "CName": "removed", @@ -12814,7 +13078,7 @@ "Kind": "Int" } }, - "Doc": "" + "Doc": "set to the index of the attachment whose x was clicked (with `CUI_COMPOSER_REMOVE`)" }, { "CName": "models", @@ -12831,7 +13095,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "models for a picker beside the attach button; `NULL` for no picker" }, { "CName": "model_count", @@ -12843,7 +13107,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of `models`" }, { "CName": "model", @@ -12859,7 +13123,7 @@ "Kind": "Int" } }, - "Doc": "" + "Doc": "index of the chosen model, read and written" }, { "CName": "max_lines", @@ -12885,7 +13149,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_voice_orb_opts", @@ -12928,7 +13193,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_kanban_move", @@ -12945,7 +13211,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "the `card_id` of the card that was dropped" }, { "CName": "from_column", @@ -12957,7 +13223,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "index of the column it came from, in the order the columns were begun" }, { "CName": "to_column", @@ -12969,7 +13235,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "index of the column it was dropped in" }, { "CName": "to_index", @@ -12981,9 +13247,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "its position in that column, counted with the dragged card left out" } - ] + ], + "Doc": "Kanban board: columns of cards you drag between columns and within them. The board reports drops; you move the card in your data:" }, { "CName": "cui_kanban_column_opts", @@ -13012,7 +13279,7 @@ "Spelling": "cui_color", "Kind": "Record" }, - "Doc": "" + "Doc": "a small dot of this color before the title; unset for none" }, { "CName": "limit", @@ -13024,7 +13291,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "work in progress limit: the count reads \"3 / 5\" and turns red above it; 0 for none" }, { "CName": "width", @@ -13038,7 +13305,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_cal_event", @@ -13060,7 +13328,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "shown on the event" }, { "CName": "detail", @@ -13077,7 +13345,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "a second line such as the place, shown when the event is tall enough; may be `NULL`" }, { "CName": "day", @@ -13089,7 +13357,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "day column, 0 (the day of `week_start`) to 6; dragging the event changes it" }, { "CName": "start", @@ -13101,7 +13369,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "start in hours (13.5 is 13:30); dragging the event changes it" }, { "CName": "end", @@ -13113,7 +13381,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "end in hours; moving or resizing the event changes it" }, { "CName": "tone", @@ -13127,7 +13395,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Week calendar: seven day columns on an hour grid. Drag an event to move it (15 minute steps), drag its bottom edge to resize it. Returns the index of a clicked event, or -1." }, { "CName": "cui_week_opts", @@ -13156,7 +13425,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "first hour shown, default 7; set together with `end_hour`" }, { "CName": "end_hour", @@ -13168,7 +13437,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "last hour shown, default 21; used only when it is greater than `start_hour`" }, { "CName": "hour_height", @@ -13180,7 +13449,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "points per hour, default 52" }, { "CName": "height", @@ -13206,7 +13475,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_month_event", @@ -13228,7 +13498,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "shown on the event's bar, or after the time of a timed event" }, { "CName": "start", @@ -13290,7 +13560,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Month calendar: a month grid with events. All-day and multi-day events are bars across the days they cover; timed events are a dot, a time and a title. A day with more than fits says \"+N more\" and opens a list of them. On a narrow screen the cells show colored dots and the selected day's events are listed under the grid." }, { "CName": "cui_month_opts", @@ -13417,7 +13688,8 @@ }, "Doc": "overrides the system date when set (another time zone, tests)" } - ] + ], + "Doc": "" }, { "CName": "cui_month_result", @@ -13472,7 +13744,8 @@ }, "Doc": "the arrows, Today or the keys changed *month" } - ] + ], + "Doc": "" }, { "CName": "cui_gantt_task", @@ -13494,7 +13767,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "shown in the task list and, when it fits, on the bar" }, { "CName": "owner", @@ -13511,7 +13784,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "a name: shows that person's avatar in the task list; `NULL` for none" }, { "CName": "start", @@ -13523,7 +13796,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "day the bar starts, counted from `origin`; dragging the bar changes it" }, { "CName": "end", @@ -13535,7 +13808,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "day the bar ends, counted from `origin` (it is end - start days long); dragging changes it" }, { "CName": "progress", @@ -13547,7 +13820,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "0..1: the part of the bar drawn darker, as done" }, { "CName": "tone", @@ -13571,7 +13844,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "index of the task this one waits for: an arrow runs from its end to this start. -1 for none" }, { "CName": "milestone", @@ -13583,9 +13856,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "a diamond at `start` instead of a bar; it cannot be resized" } - ] + ], + "Doc": "Gantt chart: a task list beside a timeline of bars. Drag a bar to move it, its ends to resize it. Dependencies are drawn as elbow arrows. Returns the index of a clicked task, or -1." }, { "CName": "cui_gantt_opts", @@ -13614,7 +13888,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "points per day, default 30" }, { "CName": "row_height", @@ -13626,7 +13900,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "points per task row, default 40" }, { "CName": "height", @@ -13650,7 +13924,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "day to mark as today, counted from `origin`; 0 marks none" }, { "CName": "read_only", @@ -13664,7 +13938,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_hover_card_opts", @@ -13717,9 +13992,10 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "seconds the pointer must rest on the component before the card shows, default 0.45" } - ] + ], + "Doc": "Hover card: rich content that appears when the pointer rests on the previous component, and stays while the pointer is over either." }, { "CName": "cui_confirm_popover_opts", @@ -13753,7 +14029,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the question, in medium weight at the top, e.g. \"Delete this file?\"" }, { "CName": "description", @@ -13830,7 +14106,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Confirm popover: a small question anchored to the previous component. Open it with cui_popover_open(ui, id). Returns true when confirmed." }, { "CName": "cui_expandable_text_opts", @@ -13859,7 +14136,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "lines shown while collapsed, default 3" }, { "CName": "size", @@ -13895,9 +14172,10 @@ "Spelling": "cui_color", "Kind": "Record" }, - "Doc": "" + "Doc": "color the last line fades into; set it to the surface behind the text, default the background" } - ] + ], + "Doc": "Text clamped to a few lines with a fade and Show more / Show less." }, { "CName": "cui_expandable_card_opts", @@ -13965,7 +14243,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "small badge in the header before the chevron, colored by `badge_tone`; `NULL` for none" }, { "CName": "badge_tone", @@ -13979,7 +14257,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Expandable card: a card whose header opens a body with a height spring." }, { "CName": "cui_toc_item", @@ -14001,7 +14280,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the entry's text in the list" }, { "CName": "anchor", @@ -14018,7 +14297,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the name given to `cui_toc_anchor` at that section's heading" }, { "CName": "level", @@ -14030,9 +14309,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "indentation: 0 for a top level section, up to 4 (12 points each)" } - ] + ], + "Doc": "Table of contents for a scroll area: highlights the section in view on a progress rail, and scrolls to a section when clicked. Put cui_toc_anchor(ui, \"anchor\") at each heading inside the scroll area, and call cui_toc in the same scope as the scroll area. Returns the active index." }, { "CName": "cui_banner_opts", @@ -14095,7 +14375,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "label of a button in the banner; the call returns true when it is clicked" }, { "CName": "dismissible", @@ -14109,7 +14389,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Announcement banner across the top of a view. Collapses smoothly when dismissed (*open becomes false). Returns true when the action is clicked." }, { "CName": "cui_countdown_opts", @@ -14138,7 +14419,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "no days tile; the hours tile counts the days in (49 hours, not 2 days and 1 hour)" }, { "CName": "compact", @@ -14150,9 +14431,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "small tiles joined by colons, without the unit names under them" } - ] + ], + "Doc": "Countdown: days, hours, minutes and seconds as tiles whose digits roll." }, { "CName": "cui_check_step", @@ -14174,7 +14456,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the step's text; muted once the step is done" }, { "CName": "description", @@ -14208,7 +14490,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "label of the button shown under the first step that is not done; `NULL` for none" }, { "CName": "done", @@ -14220,9 +14502,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the step is complete; clicking its circle flips this" } - ] + ], + "Doc": "Onboarding checklist: a card with progress and steps. The first open step shows its description and action. Clicking a step's circle toggles done. Returns the index whose action was clicked, or -1." }, { "CName": "cui_checklist_opts", @@ -14256,7 +14539,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "heading of the card, default \"Get started\"" }, { "CName": "description", @@ -14275,7 +14558,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_multi_select_opts", @@ -14360,7 +14644,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "a search field at the top of the list that filters the items as you type" }, { "CName": "max_chips", @@ -14386,7 +14670,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Multi-select: a field with chips for the chosen items and a list with checkboxes (and search). selected[i] is true for chosen items." }, { "CName": "cui_date_range", @@ -14403,7 +14688,7 @@ "Spelling": "cui_date", "Kind": "Record" }, - "Doc": "" + "Doc": "first day of the range; a zero date means nothing is chosen" }, { "CName": "end", @@ -14415,9 +14700,10 @@ "Spelling": "cui_date", "Kind": "Record" }, - "Doc": "" + "Doc": "last day of the range, inclusive" } - ] + ], + "Doc": "Date ranges. A zero start means nothing is chosen." }, { "CName": "cui_date_range_opts", @@ -14492,9 +14778,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "hides the list of preset ranges beside (or above) the calendar" } - ] + ], + "Doc": "" }, { "CName": "cui_time_opts", @@ -14540,7 +14827,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "shows 1 to 12 with AM and PM (as in \"2:30 PM\"); `*hour` stays 0..23" }, { "CName": "minute_step", @@ -14552,7 +14839,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "minutes between the entries of the minute column, default 5" }, { "CName": "width", @@ -14566,7 +14853,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Time picker: a field that opens hour and minute columns. hour is 0..23." }, { "CName": "cui_wheel_opts", @@ -14595,7 +14883,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "rows in view, made odd so the selected one sits in the middle; default 5" }, { "CName": "width", @@ -14619,7 +14907,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the items wrap around: after the last comes the first again" }, { "CName": "join_left", @@ -14631,7 +14919,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "squares off the left end of the selection band, to join a wheel on that side" }, { "CName": "join_right", @@ -14643,9 +14931,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "squares off the right end of the selection band, to join a wheel on that side" } - ] + ], + "Doc": "Wheel picker: a drum of options that you drag, scroll or arrow through. Several side by side make a date or time reel. join_left / join_right square off the selection band so wheels placed side by side share one continuous band." }, { "CName": "cui_ruler_opts", @@ -14686,7 +14975,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "every Nth tick is long and labelled, default 10; Shift+arrows move this many steps" }, { "CName": "spacing", @@ -14698,7 +14987,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "points between two ticks (one `step` apart), default 9" }, { "CName": "format", @@ -14746,7 +15035,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Ruler slider: a tape measure that slides under a fixed marker, with momentum and snapping to step." }, { "CName": "cui_histogram_opts", @@ -14794,7 +15084,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Range slider over a histogram of the data it filters." }, { "CName": "cui_knob_opts", @@ -14960,7 +15251,8 @@ }, "Doc": "the value arc, default the control color" } - ] + ], + "Doc": "Knob, fader and level meter: the controls of audio, synth and mixer panels." }, { "CName": "cui_fader_opts", @@ -15052,7 +15344,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the track runs left to right, with the label before it, instead of bottom to top" }, { "CName": "step", @@ -15093,7 +15385,7 @@ "IsConst": true } }, - "Doc": "scale marks in value units, labelled beside the track" + "Doc": "values to mark and label beside the track, e.g. dB marks; at most 32" }, { "CName": "tick_count", @@ -15105,7 +15397,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "scale marks in value units, labelled beside the track" + "Doc": "entries in `ticks`" }, { "CName": "meter", @@ -15122,7 +15414,7 @@ "IsConst": true } }, - "Doc": "a level meter beside the track (linear peaks, up to 8); a dB fader's range sets its scale" + "Doc": "linear sample peaks, one per channel, for a level meter beside the track; `NULL` for none" }, { "CName": "meter_channels", @@ -15134,7 +15426,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "a level meter beside the track (linear peaks, up to 8); a dB fader's range sets its scale" + "Doc": "entries in `meter`, up to 8; a dB fader's range sets the meter's scale" }, { "CName": "hide_value", @@ -15160,7 +15452,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_level_meter_opts", @@ -15237,7 +15530,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "bars run left to right instead of bottom to top" }, { "CName": "scale", @@ -15287,7 +15580,8 @@ }, "Doc": "fall rate, dB per second; default 20" } - ] + ], + "Doc": "Level meter: bars that jump up to each new peak and fall back at `decay` dB per second, with a peak mark that holds for `hold` seconds and a clip light that stays on until clicked. Levels are linear sample peaks (1.0 is 0 dBFS); green runs to -18 dB, amber to -6 dB, red above." }, { "CName": "cui_signature_opts", @@ -15357,9 +15651,10 @@ "Spelling": "cui_color", "Kind": "Record" }, - "Doc": "" + "Doc": "color of the strokes, default the foreground color" } - ] + ], + "Doc": "Signature pad: draw with the mouse or a pen. The strokes are kept for you; read them with cui_signature_points (stroke_ends[i] is one past the last point of stroke i)." }, { "CName": "cui_dropzone_opts", @@ -15444,7 +15739,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "extensions it takes, separated by semicolons, e.g. \"png;jpg;pdf\"; `NULL` takes any file" }, { "CName": "height", @@ -15482,7 +15777,8 @@ }, "Doc": "one row instead of a tall area" } - ] + ], + "Doc": "Dropzone: drop files from the OS, or click to browse. Returns the number of files dropped on it this frame (read them with cui_dropped_file), -1 when clicked (open a file dialog), 0 otherwise. accept filters by extension, e.g. \"png;jpg;pdf\"." }, { "CName": "cui_inline_edit_opts", @@ -15511,7 +15807,7 @@ "Spelling": "cui_font", "Kind": "Int" }, - "Doc": "" + "Doc": "font of the text and of the field, default `CUI_FONT_MEDIUM`" }, { "CName": "size", @@ -15554,7 +15850,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Inline edit: text that turns into a field in place. Click (or Enter when focused) to edit, Enter or clicking away saves, Esc cancels. Returns CUI_CHANGED when an edit is committed." }, { "CName": "cui_scrub_opts", @@ -15648,7 +15945,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Scrub field: drag sideways anywhere on it to change the value (Shift for fine steps), or click to type a number. Arrow keys step when focused." }, { "CName": "cui_money_opts", @@ -15699,7 +15997,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "currency symbol before the amount, default \"$\"" }, { "CName": "code", @@ -15716,7 +16014,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "currency code after the amount, e.g. \"USD\"" }, { "CName": "decimals", @@ -15757,9 +16055,10 @@ "IsConst": true } }, - "Doc": "" + "Doc": "helper text below the field" } - ] + ], + "Doc": "Money field: shows the amount with thousands separators, edits as plain digits, keeps a fixed number of decimals." }, { "CName": "cui_key_combo", @@ -15790,7 +16089,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Shortcut recorder: click and press a key combination to record it. Backspace clears, Esc cancels. Returns true when the combination changed. cui_shortcut_label formats a combination (\"Ctrl Shift K\")." }, { "CName": "cui_shortcut_recorder_opts", @@ -15838,7 +16138,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_node_view", @@ -15855,7 +16156,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "pan in points; zoom 0 means 1" + "Doc": "where the canvas origin sits, in points from the editor's left edge; panning changes it" }, { "CName": "y", @@ -15867,7 +16168,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "pan in points; zoom 0 means 1" + "Doc": "where the canvas origin sits, in points from the editor's top edge" }, { "CName": "zoom", @@ -15879,9 +16180,10 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "pan in points; zoom 0 means 1" + "Doc": "scale of the canvas; 0 means 1. Kept between `min_zoom` and `max_zoom`" } - ] + ], + "Doc": "Node editor: nodes with input and output pins on a canvas that pans and zooms, joined by curved links. You own the nodes, pins and links; the editor moves the node positions you pass and reports what the user did:" }, { "CName": "cui_node_editor_opts", @@ -15972,7 +16274,8 @@ }, "Doc": "an overview of the graph in the bottom right corner; click it to move there" } - ] + ], + "Doc": "" }, { "CName": "cui_node_opts", @@ -16020,7 +16323,8 @@ }, "Doc": "width default 184" } - ] + ], + "Doc": "A node at canvas position (*x, *y), updated while it is dragged. Returns true while the node is selected." }, { "CName": "cui_pin_opts", @@ -16049,9 +16353,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "0 links to any pin; another number links only to pins of that type and picks their color" } - ] + ], + "Doc": "A row with a pin on the left (input) or right (output). type picks the pin color from the series palette and limits links to pins of the same type (0 connects to anything). Returns true when the pin has a link." }, { "CName": "cui_menu_bar_opts", @@ -16082,7 +16387,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Menu bar: File / Edit / View along the top of a window. Each menu holds the usual menu items (cui_menu_item, cui_menu_separator, cui_menu_label). Once a menu is open, hovering another one switches to it. Alt (on its own) or F10 focuses the bar; arrows move between menus and items, Enter chooses, Esc steps back. Alt + a menu's mnemonic letter opens it (the first letter of its label unless `mnemonic` says otherwise)." }, { "CName": "cui_menu_bar_menu_opts", @@ -16111,7 +16417,7 @@ "Spelling": "char", "Kind": "Char_S" }, - "Doc": "" + "Doc": "letter that opens the menu with Alt; 0 uses the first letter or digit of the label" }, { "CName": "width", @@ -16137,7 +16443,8 @@ }, "Doc": "" } - ] + ], + "Doc": "One menu of the bar. Returns true while its items should be built; call cui_menu_bar_menu_end only then." }, { "CName": "cui_toolbar_opts", @@ -16168,7 +16475,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Toolbar: a row of compact icon buttons, toggles, separators and small text buttons. Icon only buttons show their tooltip as their name. Items that do not fit collapse, from the end, into a \"more\" menu; an item chosen there returns true on the next frame." }, { "CName": "cui_tool_opts", @@ -16266,7 +16574,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_status_bar_opts", @@ -16297,7 +16606,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Status bar: a thin bar along the bottom of a window, with a hairline on top and no fill of its own (put it in a box with the background you want). Items go left to right; cui_status_bar_spacer sends the rest to the right edge." }, { "CName": "cui_status_item_opts", @@ -16374,7 +16684,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_status_progress_opts", @@ -16434,7 +16745,8 @@ }, "Doc": "" } - ] + ], + "Doc": "A small progress bar with an optional label. value is 0..1." }, { "CName": "cui_doc_tab", @@ -16456,7 +16768,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the tab's text and its identity; add \"##key\" to tell two tabs with one name apart" }, { "CName": "icon", @@ -16502,9 +16814,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "unsaved changes: a dot in place of the x, which returns under the pointer" } - ] + ], + "Doc": "Document tabs: editor style tabs. Clicking selects (*selected is updated), the x or a middle click asks to close, dragging reorders, and the strip scrolls sideways when the tabs do not fit. A dirty tab shows a dot that turns into the close button under the pointer. The selected tab is filled with the surface color so it joins the content below; the strip itself has no fill, like the other bars. Tabs keep their state by title, so give two tabs with the same name a key: \"main.c##src\". The component never removes or moves your tabs itself: it reports a close or a move in the result and you apply it (selection already follows a move). With keyboard focus on the strip, Left and Right select, Home and End jump, Shift+Left/Right move the tab and Delete closes it. With `shortcuts` set it also answers Ctrl+Tab, Ctrl+Shift+Tab, Ctrl+PageUp/Down and Ctrl+W (Cmd+W on macOS) from anywhere in the window." }, { "CName": "cui_doc_tabs_opts", @@ -16533,7 +16846,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "Ctrl+Tab, Ctrl+Shift+Tab, Ctrl+PageUp/Down and Ctrl+W (Cmd+W on macOS) work from anywhere in the window" }, { "CName": "no_close", @@ -16545,7 +16858,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "tabs have no x and cannot be closed (middle click, Delete and Ctrl+W do nothing)" }, { "CName": "no_reorder", @@ -16557,9 +16870,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "tabs cannot be dragged or moved with Shift+Left/Right" } - ] + ], + "Doc": "" }, { "CName": "cui_doc_tabs_result", @@ -16614,7 +16928,8 @@ }, "Doc": "move the tab at move_from to move_to, or -1" } - ] + ], + "Doc": "" }, { "CName": "cui_dockspace_opts", @@ -16710,7 +17025,8 @@ }, "Doc": "Ctrl+Tab, Ctrl+Shift+Tab and Ctrl+W act on the focused leaf" } - ] + ], + "Doc": "Dockspace: an IDE style workspace that lays out your panels in a tree of resizable splits whose leaves hold one or more panels as document tabs. Submit every panel each frame between cui_dockspace_begin and cui_dockspace_end; the dockspace decides where it goes, and a panel's content is built only while its tab is the one showing:" }, { "CName": "cui_dock_panel_opts", @@ -16756,9 +17072,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "unsaved changes: the panel's tab shows a dot in place of its x" } - ] + ], + "Doc": "Returns true while the panel's content should be built; then call cui_dock_panel_end." }, { "CName": "cui_inspector_opts", @@ -16801,7 +17118,8 @@ }, "Doc": "initial label column in points, default 38% of the width" } - ] + ], + "Doc": "Property inspector: labelled rows in folding groups, a label column on the left (drag the line between the columns to resize it) and an editor on the right. Every row returns true when its value changed. Groups end at the next group or at cui_inspector_end." }, { "CName": "cui_prop_opts", @@ -16948,7 +17266,8 @@ }, "Doc": "bool rows: a checkbox instead of a switch" } - ] + ], + "Doc": "" }, { "CName": "cui_log_line", @@ -16965,7 +17284,7 @@ "Spelling": "uint32_t", "Kind": "UInt" }, - "Doc": "" + "Doc": "where the line's text starts in the buffer's `text`" }, { "CName": "len", @@ -16977,7 +17296,7 @@ "Spelling": "uint32_t", "Kind": "UInt" }, - "Doc": "" + "Doc": "bytes of text, not counting the terminator" }, { "CName": "time", @@ -16989,7 +17308,7 @@ "Spelling": "double", "Kind": "Double" }, - "Doc": "" + "Doc": "the timestamp it was appended with, in seconds" }, { "CName": "level", @@ -17001,9 +17320,10 @@ "Spelling": "uint8_t", "Kind": "UChar" }, - "Doc": "" + "Doc": "a `cui_log_level`" } - ] + ], + "Doc": "" }, { "CName": "cui_log_buffer", @@ -17036,7 +17356,7 @@ "Kind": "Record" } }, - "Doc": "everything below is managed by cui_log_*; read it, do not write it" + "Doc": "the line records given to `cui_log_init`" }, { "CName": "line_cap", @@ -17048,7 +17368,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "how many records `lines` has room for" }, { "CName": "text", @@ -17064,7 +17384,7 @@ "Kind": "Char_S" } }, - "Doc": "" + "Doc": "the bytes given to `cui_log_init`, holding the text of the lines" }, { "CName": "text_cap", @@ -17076,7 +17396,7 @@ "Spelling": "uint32_t", "Kind": "UInt" }, - "Doc": "" + "Doc": "size of `text` in bytes" }, { "CName": "first", @@ -17142,9 +17462,10 @@ "Kind": "Int" } }, - "Doc": "" + "Doc": "lines of each level now in the buffer, indexed by `cui_log_level`" } - ] + ], + "Doc": "" }, { "CName": "cui_log_view_opts", @@ -17223,7 +17544,8 @@ }, "Doc": "font size, default 12" } - ] + ], + "Doc": "" }, { "CName": "cui_terminal_line", @@ -17240,7 +17562,7 @@ "Spelling": "uint32_t", "Kind": "UInt" }, - "Doc": "" + "Doc": "where the line's bytes start in the buffer's `text`" }, { "CName": "len", @@ -17252,7 +17574,7 @@ "Spelling": "uint32_t", "Kind": "UInt" }, - "Doc": "" + "Doc": "bytes of the line, with its color sequences" }, { "CName": "cols", @@ -17264,9 +17586,10 @@ "Spelling": "uint32_t", "Kind": "UInt" }, - "Doc": "" + "Doc": "character cells the line takes, before wrapping" } - ] + ], + "Doc": "Terminal: program output with ANSI colors over an input line with a prompt and history, for consoles, REPLs and build tools. Output goes into a buffer you own (appending never allocates; the oldest lines go when it is full) and is parsed as it arrives: \\n starts a line, \\r returns to its start (progress bars redraw in place), \\t, \\b, and ESC [ ... m sets colors and styles (16 colors, 256 and 24-bit; bold, dim, italic, underline, inverse). Other escape sequences are skipped." }, { "CName": "cui_terminal_buffer", @@ -17287,7 +17610,7 @@ "Kind": "Char_S" } }, - "Doc": "managed by cui_terminal_*; read it, do not write it" + "Doc": "the bytes given to `cui_terminal_init`, holding the lines and their color sequences" }, { "CName": "text_cap", @@ -17299,7 +17622,7 @@ "Spelling": "uint32_t", "Kind": "UInt" }, - "Doc": "" + "Doc": "size of `text` in bytes" }, { "CName": "lines", @@ -17315,7 +17638,7 @@ "Kind": "Record" } }, - "Doc": "" + "Doc": "the line records given to `cui_terminal_init`" }, { "CName": "line_cap", @@ -17327,7 +17650,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "how many records `lines` has room for; 0 when the buffer cannot be used" }, { "CName": "first", @@ -17399,7 +17722,7 @@ "Spelling": "uint8_t", "Kind": "UChar" }, - "Doc": "the escape sequence being read, so a write can split one" + "Doc": "bytes of `seq` read so far" }, { "CName": "seq", @@ -17431,7 +17754,8 @@ }, "Doc": "a \\r was seen: the next character starts the line over" } - ] + ], + "Doc": "" }, { "CName": "cui_terminal_opts", @@ -17515,7 +17839,8 @@ }, "Doc": "output only" } - ] + ], + "Doc": "" }, { "CName": "cui_terminal_result", @@ -17551,7 +17876,8 @@ }, "Doc": "Ctrl+C with nothing selected" } - ] + ], + "Doc": "" }, { "CName": "cui_emoji_picker_opts", @@ -17620,7 +17946,7 @@ "Kind": "Char_S" } }, - "Doc": "the app's copy of recent emoji, newest first, space separated" + "Doc": "buffer for the recent emoji, read and updated here so the app can save it; `NULL` keeps them in the picker" }, { "CName": "recent_cap", @@ -17632,7 +17958,7 @@ "Spelling": "size_t", "Kind": "ULongLong" }, - "Doc": "the app's copy of recent emoji, newest first, space separated" + "Doc": "size of the `recent` buffer in bytes; it holds the recent emoji newest first, space separated" }, { "CName": "tone", @@ -17733,7 +18059,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "hides the search field" }, { "CName": "no_preview", @@ -17745,7 +18071,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "hides the row at the bottom that shows the hovered emoji and its name" }, { "CName": "no_tone", @@ -17757,9 +18083,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "hides the skin tone button" } - ] + ], + "Doc": "Emoji picker: search, groups with tabs, recent emoji, skin tones and a preview with the name. Returns the emoji picked this frame (UTF-8, valid until the next frame) or NULL. Put it in a popover to open it from a button." }, { "CName": "cui_hex_range", @@ -17819,7 +18146,8 @@ }, "Doc": "tooltip for the range; may be NULL" } - ] + ], + "Doc": "Hex viewer: offsets, bytes in hex and the same bytes as ASCII, in the code font, for binary tools, emulators and debuggers. You own the bytes (they are read during the call, never kept) and, optionally, the selection:" }, { "CName": "cui_hex_selection", @@ -17836,7 +18164,7 @@ "Spelling": "size_t", "Kind": "ULongLong" }, - "Doc": "" + "Doc": "offset of the first selected byte" }, { "CName": "length", @@ -17848,7 +18176,7 @@ "Spelling": "size_t", "Kind": "ULongLong" }, - "Doc": "" + "Doc": "bytes selected; 0 means nothing is selected" }, { "CName": "cursor", @@ -17860,9 +18188,10 @@ "Spelling": "size_t", "Kind": "ULongLong" }, - "Doc": "" + "Doc": "the byte the keys move from; one end of the selection" } - ] + ], + "Doc": "The selected bytes. length 0 means nothing is selected; cursor is the byte the keys move from and is one end of a selection. Set it yourself to select from code." }, { "CName": "cui_hex_view_opts", @@ -17944,7 +18273,7 @@ "IsConst": true } }, - "Doc": "drawn in order, later ones on top" + "Doc": "byte ranges to highlight, each with a tone and a tooltip label" }, { "CName": "range_count", @@ -17956,7 +18285,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "drawn in order, later ones on top" + "Doc": "entries in `ranges`, drawn in order with later ones on top" }, { "CName": "edit", @@ -18010,7 +18339,8 @@ }, "Doc": "font size, default 12" } - ] + ], + "Doc": "" }, { "CName": "cui_hex_result", @@ -18063,7 +18393,7 @@ "Spelling": "size_t", "Kind": "ULongLong" }, - "Doc": "" + "Doc": "with `edited`: offset of the first byte overwritten this frame" }, { "CName": "edit_length", @@ -18075,7 +18405,7 @@ "Spelling": "size_t", "Kind": "ULongLong" }, - "Doc": "" + "Doc": "with `edited`: bytes from `edit_offset` up to the last one overwritten" }, { "CName": "hovered", @@ -18101,7 +18431,8 @@ }, "Doc": "Ctrl+C or Ctrl+Shift+C put the selection on the clipboard" } - ] + ], + "Doc": "" }, { "CName": "cui_flame_span", @@ -18123,7 +18454,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "drawn in the span when it fits, and in its tooltip" }, { "CName": "start", @@ -18173,7 +18504,8 @@ }, "Doc": "0: hashed from name" } - ] + ], + "Doc": "Flame graph / profiler timeline: time runs left to right, call depth top to bottom (row d holds the spans at depth d). You own the spans, the view and the selection; the component pans and zooms *view and writes *selected." }, { "CName": "cui_flame_view", @@ -18216,7 +18548,8 @@ }, "Doc": "rows scrolled off the top, in points" } - ] + ], + "Doc": "" }, { "CName": "cui_flame_opts", @@ -18283,7 +18616,8 @@ }, "Doc": "deepest zoom in seconds, default 1e-8" } - ] + ], + "Doc": "" }, { "CName": "cui_flame_result", @@ -18338,7 +18672,8 @@ }, "Doc": "span zoomed to this frame (double-click, Enter), or -1" } - ] + ], + "Doc": "" }, { "CName": "cui_curve_key", @@ -18355,7 +18690,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "position along the horizontal axis, in curve units (seconds in a timeline track)" }, { "CName": "y", @@ -18367,7 +18702,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "the curve's value at the key" }, { "CName": "in_dx", @@ -18429,7 +18764,8 @@ }, "Doc": "cui_curve_mode" } - ] + ], + "Doc": "" }, { "CName": "cui_curve_opts", @@ -18638,9 +18974,10 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "" + "Doc": "x of the playhead marker, drawn when `show_playhead` is set" } - ] + ], + "Doc": "" }, { "CName": "cui_curve_result", @@ -18731,7 +19068,8 @@ }, "Doc": "the x under it and the curve's value there" } - ] + ], + "Doc": "" }, { "CName": "cui_gradient_stop", @@ -18748,7 +19086,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "pos 0..1" + "Doc": "position along the ramp, 0..1" }, { "CName": "color", @@ -18760,9 +19098,10 @@ "Spelling": "cui_color", "Kind": "Record" }, - "Doc": "pos 0..1" + "Doc": "" } - ] + ], + "Doc": "Gradient editor: a color ramp over a checkerboard (so alpha shows) with the stops underneath. You own the stops; the editor edits them in place and keeps them sorted by position. Drag a stop to move it (it may pass its neighbours), drag it off the ramp or press Delete to remove it (never fewer than two), click the ramp or the empty track to add a stop with the color found there. Double click a stop (or Enter on a focused one) to open the color picker; the row under the ramp shows the selected stop's color, location and opacity. Stops are focusable: Tab moves through them, Left and Right nudge (Shift for fine steps)." }, { "CName": "cui_gradient_opts", @@ -18821,7 +19160,8 @@ }, "Doc": "the selected stop, kept by you; NULL keeps it in the editor" } - ] + ], + "Doc": "" }, { "CName": "cui_gradient_result", @@ -18876,7 +19216,8 @@ }, "Doc": "the selected stop" } - ] + ], + "Doc": "" }, { "CName": "cui_timeline_clip", @@ -18934,7 +19275,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "drawn in the clip's bar when it fits, and in its tooltip" }, { "CName": "selected", @@ -18946,9 +19287,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the clip is selected: set and cleared by clicks, kept by you" } - ] + ], + "Doc": "" }, { "CName": "cui_timeline_track", @@ -18970,7 +19312,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "shown in the track list and in tooltips" }, { "CName": "icon", @@ -19075,7 +19417,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "keys in `keys`; the editor changes it when keys are added or removed" }, { "CName": "key_capacity", @@ -19087,7 +19429,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "room in `keys`; a double click adds no key once it is full (or 0)" }, { "CName": "key_selected", @@ -19131,9 +19473,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "clips in `clips`; lowered when selected clips are removed" } - ] + ], + "Doc": "" }, { "CName": "cui_timeline_view", @@ -19176,7 +19519,8 @@ }, "Doc": "rows scrolled off the top, in points" } - ] + ], + "Doc": "" }, { "CName": "cui_timeline_editor_opts", @@ -19395,7 +19739,8 @@ }, "Doc": "drags and scrubbing do not snap to frames" } - ] + ], + "Doc": "" }, { "CName": "cui_timeline_editor_result", @@ -19460,7 +19805,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "a key or clip was selected or unselected this frame" }, { "CName": "view_changed", @@ -19472,7 +19817,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the visible time range or the row scroll changed (zoom, pan, fit)" }, { "CName": "keys_moved", @@ -19580,7 +19925,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "track of the key last clicked or added, or -1" }, { "CName": "current_key", @@ -19592,7 +19937,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "index of that key in its track, or -1" }, { "CName": "hovered_track", @@ -19618,7 +19963,8 @@ }, "Doc": "the key under the pointer, or -1" } - ] + ], + "Doc": "" }, { "CName": "cui_kv_pair", @@ -19641,7 +19987,7 @@ "Kind": "Char_S" } }, - "Doc": "" + "Doc": "the name, e.g. \"Accept\"; edited in place" }, { "CName": "value", @@ -19659,7 +20005,7 @@ "Kind": "Char_S" } }, - "Doc": "" + "Doc": "the value, e.g. \"application/json\"; edited in place" }, { "CName": "enabled", @@ -19671,7 +20017,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the pair is in use; its checkbox toggles this" }, { "CName": "secret", @@ -19683,9 +20029,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the value shows as dots, with an eye to reveal it; the lock button toggles this" } - ] + ], + "Doc": "Rows of key = value pairs: HTTP headers, query parameters, environment variables. You own the array and it is edited in place. The checkbox turns a pair on or off, typing in the empty row at the end adds a pair, the x removes one. Secret values show as dots with an eye to reveal them. A key used twice, or one with a space, is marked. On a phone each key sits above its value. Returns true when anything changed." }, { "CName": "cui_kv_editor_opts", @@ -19786,7 +20133,8 @@ }, "Doc": "default fill" } - ] + ], + "Doc": "" }, { "CName": "cui_diagnostic", @@ -19820,7 +20168,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the text of the row; the whole message shows on hover" }, { "CName": "file", @@ -19897,7 +20245,8 @@ }, "Doc": "\"-Wunused-variable\"... (may be NULL)" } - ] + ], + "Doc": "" }, { "CName": "cui_problems_opts", @@ -19950,9 +20299,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "hides the severity toggles and the filter field above the list" } - ] + ], + "Doc": "" }, { "CName": "cui_problems_result", @@ -19995,7 +20345,8 @@ }, "Doc": "diagnostics that pass the filters" } - ] + ], + "Doc": "" }, { "CName": "cui_pipeline_job", @@ -20017,7 +20368,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "shown on the job's row and in its tooltip" }, { "CName": "stage", @@ -20067,7 +20418,8 @@ }, "Doc": "a failure does not fail the stage" } - ] + ], + "Doc": "" }, { "CName": "cui_pipeline_opts", @@ -20114,7 +20466,8 @@ }, "Doc": "job shown selected, set on a click" } - ] + ], + "Doc": "" }, { "CName": "cui_pipeline_result", @@ -20131,7 +20484,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "job indices, or -1" + "Doc": "job clicked this frame (or chosen with Enter or Space), or -1" }, { "CName": "hovered", @@ -20143,9 +20496,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "job indices, or -1" + "Doc": "job under the pointer, or -1" } - ] + ], + "Doc": "" }, { "CName": "cui_query_field", @@ -20167,7 +20521,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "shown in the field select and in the text `cui_query_text` writes" }, { "CName": "type", @@ -20213,9 +20567,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of `choices`" } - ] + ], + "Doc": "" }, { "CName": "cui_query_node", @@ -20244,7 +20599,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "a group of the nodes after it that are one level deeper; otherwise a rule" }, { "CName": "any", @@ -20300,7 +20655,8 @@ }, "Doc": "rule: the text, number or choice compared with" } - ] + ], + "Doc": "" }, { "CName": "cui_query_opts", @@ -20317,7 +20673,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "default 3" + "Doc": "" }, { "CName": "width", @@ -20329,7 +20685,7 @@ "Spelling": "cui_size", "Kind": "Record" }, - "Doc": "default 3" + "Doc": "" }, { "CName": "max_depth", @@ -20341,7 +20697,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "default 3" + "Doc": "how deep groups may nest, default 3" }, { "CName": "read_only", @@ -20355,7 +20711,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_schedule_opts", @@ -20422,7 +20779,8 @@ }, "Doc": "runs listed, default 3, 0 hides them" } - ] + ], + "Doc": "A cron schedule edited the friendly way: every N minutes, hourly at a minute, daily at a time, weekly on chosen days, monthly on a day, or a custom expression. It reads and writes `cron` (five fields: minute hour day month weekday) and shows what it means and when it runs next. Weekday and month names come from cui_set_strings." }, { "CName": "cui_schedule_result", @@ -20439,7 +20797,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "the next run, Unix seconds, 0 none" + "Doc": "`cron` was edited this frame" }, { "CName": "valid", @@ -20451,7 +20809,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "the next run, Unix seconds, 0 none" + "Doc": "`cron` is a valid expression" }, { "CName": "next", @@ -20465,7 +20823,8 @@ }, "Doc": "the next run, Unix seconds, 0 none" } - ] + ], + "Doc": "" }, { "CName": "cui_keymap_binding", @@ -20482,7 +20841,7 @@ "Spelling": "cui_key_combo", "Kind": "Record" }, - "Doc": "" + "Doc": "the modifiers and key the action is bound to" }, { "CName": "action", @@ -20499,7 +20858,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "name of the action, shown on the key and in its tooltip" }, { "CName": "category", @@ -20513,7 +20872,8 @@ }, "Doc": "index into the categories, colors the key" } - ] + ], + "Doc": "A keyboard with your shortcuts on it: each bound key shows its action and the color of its category, for the modifiers chosen above it. Keys bound twice are marked as conflicts. Hover a key for every binding on it; click it to get the key (to rebind it). The keyboard keeps its own layout in a right-to-left interface and scales to the width it gets." }, { "CName": "cui_keymap_opts", @@ -20576,7 +20936,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of `categories`" }, { "CName": "mods", @@ -20604,9 +20964,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "leaves out the row of function keys" } - ] + ], + "Doc": "" }, { "CName": "cui_keymap_result", @@ -20623,7 +20984,7 @@ "Spelling": "cui_key", "Kind": "Enum" }, - "Doc": "" + "Doc": "key clicked this frame, or `CUI_KEY_NONE`" }, { "CName": "conflicts", @@ -20635,9 +20996,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "bindings that repeat a combination another binding already uses" } - ] + ], + "Doc": "" }, { "CName": "cui_commit", @@ -20659,7 +21021,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the commit id; its first 7 characters are shown" }, { "CName": "message", @@ -20693,7 +21055,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "shown in its own column, which a narrow panel leaves out" }, { "CName": "date", @@ -20747,7 +21109,8 @@ }, "Doc": "row of each parent, -1 for none" } - ] + ], + "Doc": "Version history: the branch lanes drawn beside each commit, newest first, with its message, branch and tag names, author, date and short hash. Each commit names its parents by row (parents come later in the array), so merges and branches draw as lines between lanes. Only the rows in view are built. Up and Down move the selection; Enter or a double-click activates." }, { "CName": "cui_commit_graph_opts", @@ -20804,9 +21167,10 @@ "Kind": "Int" } }, - "Doc": "" + "Doc": "the selected row or -1, kept by you; `NULL` keeps it in the component" } - ] + ], + "Doc": "" }, { "CName": "cui_commit_graph_result", @@ -20823,7 +21187,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "row clicked this frame, or -1" }, { "CName": "activated", @@ -20835,7 +21199,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "row double-clicked or chosen with Enter this frame, or -1" }, { "CName": "hovered", @@ -20847,9 +21211,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "row under the pointer, or -1" } - ] + ], + "Doc": "" }, { "CName": "cui_graph_node", @@ -20888,7 +21253,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "smaller second line under the label, e.g. the node's kind; `NULL` for none" }, { "CName": "tone", @@ -20902,7 +21267,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Nodes and directed edges laid out in layers (each edge points to a later layer, cycles are broken), for build targets, packages, services or call graphs. The layout is computed when the graph changes. Wheel zooms, drag pans, click selects; hovering a node lights up what it depends on and what depends on it. F fits the graph." }, { "CName": "cui_graph_edge", @@ -20919,7 +21285,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "index of the node the arrow starts at" }, { "CName": "to", @@ -20931,9 +21297,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "index of the node the arrow points to" } - ] + ], + "Doc": "" }, { "CName": "cui_graph_opts", @@ -20986,7 +21353,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "layers stack from top to bottom instead of running side by side" }, { "CName": "selected", @@ -21002,9 +21369,10 @@ "Kind": "Int" } }, - "Doc": "" + "Doc": "the selected node or -1, kept by you; `NULL` keeps it in the component" } - ] + ], + "Doc": "" }, { "CName": "cui_graph_result", @@ -21021,7 +21389,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "node clicked this frame, or -1" }, { "CName": "activated", @@ -21033,7 +21401,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "node double-clicked or chosen with Enter this frame, or -1" }, { "CName": "hovered", @@ -21045,9 +21413,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "node under the pointer, or -1" } - ] + ], + "Doc": "" }, { "CName": "cui_net_request", @@ -21159,7 +21528,8 @@ }, "Doc": "seconds: queued, dns, connect, tls, waiting, download" } - ] + ], + "Doc": "HTTP requests as a table with a timing bar each: queued, DNS, connect, TLS, waiting for the first byte and downloading, on one time scale with the page's DOMContentLoaded and load lines. Hover a bar for the breakdown. Narrow panels drop the type and size columns. Only the rows in view are built. Up and Down move the selection." }, { "CName": "cui_waterfall_opts", @@ -21176,7 +21546,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "seconds; 0: no line" + "Doc": "" }, { "CName": "width", @@ -21188,7 +21558,7 @@ "Spelling": "cui_size", "Kind": "Record" }, - "Doc": "seconds; 0: no line" + "Doc": "" }, { "CName": "height", @@ -21200,7 +21570,7 @@ "Spelling": "float", "Kind": "Float" }, - "Doc": "seconds; 0: no line" + "Doc": "" }, { "CName": "selected", @@ -21216,7 +21586,7 @@ "Kind": "Int" } }, - "Doc": "seconds; 0: no line" + "Doc": "the selected request or -1, kept by you; `NULL` keeps it in the component" }, { "CName": "dom_loaded", @@ -21242,7 +21612,8 @@ }, "Doc": "seconds; 0: no line" } - ] + ], + "Doc": "" }, { "CName": "cui_waterfall_result", @@ -21259,7 +21630,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "request clicked this frame, or -1" }, { "CName": "activated", @@ -21271,7 +21642,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "request double-clicked or chosen with Enter this frame, or -1" }, { "CName": "hovered", @@ -21283,9 +21654,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "request under the pointer, or -1" } - ] + ], + "Doc": "" }, { "CName": "cui_trace_track", @@ -21307,7 +21679,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the lane's name, in the column on the left" }, { "CName": "collapsed", @@ -21319,9 +21691,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the lane shows only its top row; a click on its name toggles this" } - ] + ], + "Doc": "A tracing timeline: one lane per thread, process or service, each with its nested spans, on one time ruler, with markers (frames, GC pauses, deploys) drawn across every lane. Wheel zooms around the pointer, Shift+wheel or a drag pans, click selects a span, Shift+drag measures a time range. A lane's name folds it. Keys: Left and Right step through the selected span's lane, + and - zoom, F fits, Esc clears. Spans must be sorted by track, depth and start (cui_trace_sort), with no overlap within a depth of a track. Like the flame graph, only what is in view is visited." }, { "CName": "cui_trace_span", @@ -21343,7 +21716,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "drawn in the span when it fits, and in its tooltip" }, { "CName": "start", @@ -21355,7 +21728,7 @@ "Spelling": "double", "Kind": "Double" }, - "Doc": "" + "Doc": "when the span begins, in seconds" }, { "CName": "end", @@ -21367,7 +21740,7 @@ "Spelling": "double", "Kind": "Double" }, - "Doc": "" + "Doc": "when the span ends, in seconds; end >= start" }, { "CName": "track", @@ -21379,7 +21752,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "index into the tracks: the lane the span is drawn in" }, { "CName": "depth", @@ -21391,7 +21764,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "row within the lane, 0 = top; a child lies within its parent" }, { "CName": "color_key", @@ -21403,9 +21776,10 @@ "Spelling": "uint32_t", "Kind": "UInt" }, - "Doc": "" + "Doc": "picks the color; 0: hashed from the name" } - ] + ], + "Doc": "" }, { "CName": "cui_trace_marker", @@ -21453,7 +21827,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_trace_view", @@ -21520,7 +21895,8 @@ }, "Doc": "measured range; mark_end <= mark_start: none" } - ] + ], + "Doc": "" }, { "CName": "cui_trace_opts", @@ -21590,7 +21966,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "moments drawn as lines across every lane, named in a strip under the ruler" }, { "CName": "marker_count", @@ -21602,9 +21978,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of `markers`" } - ] + ], + "Doc": "" }, { "CName": "cui_trace_result", @@ -21621,7 +21998,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "`*selected` changed this frame (click or keys)" }, { "CName": "view_changed", @@ -21633,7 +22010,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the visible time range or the scroll in `*view` changed (zoom, pan, fit)" }, { "CName": "hovered", @@ -21645,9 +22022,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "span under the pointer, or -1" } - ] + ], + "Doc": "" }, { "CName": "cui_regex_match", @@ -21756,9 +22134,10 @@ } } }, - "Doc": "" + "Doc": "the name of each `(? )` group, indexed like `group_start`; \"\" when unnamed" } - ] + ], + "Doc": "" }, { "CName": "cui_regex_tester_opts", @@ -21817,7 +22196,8 @@ }, "Doc": "CUI_REGEX_*; NULL: kept for you" } - ] + ], + "Doc": "A pattern field with flags over a test text: every match is highlighted in the text and its groups in their own colors, and the list below shows each match with its groups. Errors show under the pattern. Both buffers are yours and edited in place." }, { "CName": "cui_regex_tester_result", @@ -21834,7 +22214,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the pattern is valid and matching finished in time" }, { "CName": "matches", @@ -21846,7 +22226,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "matches found in the test text" }, { "CName": "error", @@ -21863,9 +22243,10 @@ "IsConst": true } }, - "Doc": "" + "Doc": "why, when `valid` is false; otherwise `NULL`" } - ] + ], + "Doc": "" }, { "CName": "cui_test_item", @@ -21887,7 +22268,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "name of the suite or test; the toolbar's field filters by it" }, { "CName": "depth", @@ -21942,7 +22323,8 @@ }, "Doc": "why it failed, may be NULL" } - ] + ], + "Doc": "Test results as a tree: suites fold, each test shows its status and time, and a failure shows its message under it. A suite's status sums up its tests. The toolbar runs everything, counts results and filters by status and by name. Hover a row for its run button. Only the rows in view are built. Up and Down move, Left and Right fold, Enter activates. Items are in tree order with their depth; the statuses are the pipeline's." }, { "CName": "cui_test_explorer_opts", @@ -21985,7 +22367,8 @@ }, "Doc": "default 320" } - ] + ], + "Doc": "" }, { "CName": "cui_test_explorer_result", @@ -22038,7 +22421,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the Run all button was pressed this frame" }, { "CName": "passed", @@ -22088,7 +22471,8 @@ }, "Doc": "tests, not suites" } - ] + ], + "Doc": "" }, { "CName": "cui_stack_frame", @@ -22110,7 +22494,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "name of the function; `NULL` or \"\" shows as " }, { "CName": "file", @@ -22127,7 +22511,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "path shown with the line and column; on a phone only the file's name" }, { "CName": "line", @@ -22197,7 +22581,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of lines in `source`" }, { "CName": "source_first", @@ -22211,7 +22595,8 @@ }, "Doc": "line number of source[0]" } - ] + ], + "Doc": "An exception and its call stack: the error's type and message, then each frame's function and position. Runs of library frames fold into one row. A frame with source opens to show the lines around it, the failing line marked; the first frame of your own code starts open. A button copies the whole trace as text." }, { "CName": "cui_stack_trace_opts", @@ -22293,7 +22678,8 @@ }, "Doc": "highlights the source, as the code block" } - ] + ], + "Doc": "" }, { "CName": "cui_stack_trace_result", @@ -22312,7 +22698,8 @@ }, "Doc": "frame, or -1" } - ] + ], + "Doc": "" }, { "CName": "cui_request_bar_opts", @@ -22353,7 +22740,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "a request is in flight: the button reads Cancel and Enter does not send" }, { "CName": "placeholder", @@ -22372,7 +22759,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_request_bar_result", @@ -22389,7 +22777,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "Send was pressed, or Enter in the URL: start the request" }, { "CName": "cancel", @@ -22401,7 +22789,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "Cancel was pressed while `loading`" }, { "CName": "changed", @@ -22413,9 +22801,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "the method or the URL was edited this frame" } - ] + ], + "Doc": "" }, { "CName": "cui_uptime_service", @@ -22437,7 +22826,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "shown above the service's bars" }, { "CName": "days", @@ -22466,9 +22855,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of values in `days`" } - ] + ], + "Doc": "A status page: each service with its current state, its uptime over the period, and one bar per day colored by availability (gray without data). Hover a bar for its day and uptime. On a narrow panel only the most recent days that fit are shown." }, { "CName": "cui_uptime_opts", @@ -22511,7 +22901,8 @@ }, "Doc": "the date of the last value, for the tooltips" } - ] + ], + "Doc": "" }, { "CName": "cui_uptime_result", @@ -22542,7 +22933,8 @@ }, "Doc": "under the pointer, or -1" } - ] + ], + "Doc": "" }, { "CName": "cui_histogram_series", @@ -22564,7 +22956,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "shown in the legend and in the hover tooltip" }, { "CName": "counts", @@ -22581,7 +22973,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "one count per bucket; `NULL` counts as zeros" }, { "CName": "tone", @@ -22595,7 +22987,8 @@ }, "Doc": "" } - ] + ], + "Doc": "Event counts over time, stacked by series (log levels, status classes), as above a log search. Drag across it to select a time range, click to clear. Hover a bar for its time and counts. Times are Unix seconds." }, { "CName": "cui_time_histogram_opts", @@ -22612,7 +23005,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "default 140" + "Doc": "" }, { "CName": "width", @@ -22624,7 +23017,7 @@ "Spelling": "cui_size", "Kind": "Record" }, - "Doc": "default 140" + "Doc": "" }, { "CName": "height", @@ -22648,9 +23041,10 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "label times in UTC instead of local time" } - ] + ], + "Doc": "" }, { "CName": "cui_time_histogram_result", @@ -22667,7 +23061,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "bucket, or -1" + "Doc": "`*sel_start` or `*sel_end` changed this frame (a drag, or a click that cleared it)" }, { "CName": "hovered", @@ -22681,7 +23075,8 @@ }, "Doc": "bucket, or -1" } - ] + ], + "Doc": "" }, { "CName": "cui_coverage_file", @@ -22715,7 +23110,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "lines that can be covered" }, { "CName": "lines_hit", @@ -22727,7 +23122,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "lines the tests ran" }, { "CName": "branches", @@ -22763,7 +23158,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "functions in the file" }, { "CName": "functions_hit", @@ -22775,9 +23170,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "functions the tests called" } - ] + ], + "Doc": "Test coverage by folder and file: the files' paths make the tree, each folder sums up what it holds, and folders fold. Line coverage shows as a bar colored by thresholds, with branches and functions beside it. Click a column's title to sort. Enter or a double-click activates a file. Narrow panels show lines only." }, { "CName": "cui_coverage_opts", @@ -22844,7 +23240,8 @@ }, "Doc": "percent; default 50 and 80" } - ] + ], + "Doc": "" }, { "CName": "cui_coverage_result", @@ -22861,7 +23258,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "file, or -1" + "Doc": "file opened this frame (Enter or a double-click), or -1" }, { "CName": "lines", @@ -22875,7 +23272,8 @@ }, "Doc": "percent of all lines covered" } - ] + ], + "Doc": "" }, { "CName": "cui_blame_commit", @@ -22897,7 +23295,7 @@ "IsConst": true } }, - "Doc": "Unix seconds" + "Doc": "the commit id; its first 7 characters are shown" }, { "CName": "author", @@ -22914,7 +23312,7 @@ "IsConst": true } }, - "Doc": "Unix seconds" + "Doc": "shown in the gutter; on a phone as initials" }, { "CName": "summary", @@ -22931,7 +23329,7 @@ "IsConst": true } }, - "Doc": "Unix seconds" + "Doc": "the commit's message line, shown in the gutter's tooltip" }, { "CName": "time", @@ -22945,7 +23343,8 @@ }, "Doc": "Unix seconds" } - ] + ], + "Doc": "Source with who last changed each line: lines from one commit share one gutter entry with its author, age and hash, and a bar at the edge shades newer changes stronger. Hover a gutter entry for the commit's summary and to mark its lines; click it to get the commit. Only the lines in view are built. On a phone the gutter keeps only the shade and initials." }, { "CName": "cui_blame_opts", @@ -23029,7 +23428,8 @@ }, "Doc": "number of the first line, default 1" } - ] + ], + "Doc": "" }, { "CName": "cui_blame_result", @@ -23046,7 +23446,7 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "commits, or -1" + "Doc": "commit whose gutter entry was clicked this frame, or -1" }, { "CName": "hovered", @@ -23060,7 +23460,8 @@ }, "Doc": "commits, or -1" } - ] + ], + "Doc": "" }, { "CName": "cui_feature_flag", @@ -23082,7 +23483,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the flag's name, in the code font; the filter field searches it" }, { "CName": "description", @@ -23117,7 +23518,7 @@ "Kind": "Bool" } }, - "Doc": "" + "Doc": "the flag's switch in each environment, in the order of `envs`" }, { "CName": "rollout", @@ -23137,7 +23538,8 @@ }, "Doc": "percent of users while on; 0 and 100 mean everyone" } - ] + ], + "Doc": "" }, { "CName": "cui_feature_flags_opts", @@ -23180,7 +23582,8 @@ }, "Doc": "default fits the flags" } - ] + ], + "Doc": "" }, { "CName": "cui_feature_flags_result", @@ -23211,7 +23614,8 @@ }, "Doc": "changed this frame, or -1" } - ] + ], + "Doc": "" }, { "CName": "cui_api_param", @@ -23233,7 +23637,7 @@ "IsConst": true } }, - "Doc": "\"path\", \"query\", \"header\", \"body\"" + "Doc": "the parameter's name, in the code font" }, { "CName": "in", @@ -23250,7 +23654,7 @@ "IsConst": true } }, - "Doc": "\"path\", \"query\", \"header\", \"body\"" + "Doc": "where it goes: \"path\", \"query\", \"header\" or \"body\"" }, { "CName": "type", @@ -23267,7 +23671,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "e.g. \"string\"; shown before where it goes" }, { "CName": "required", @@ -23279,7 +23683,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "a red asterisk after the name" }, { "CName": "description", @@ -23296,9 +23700,10 @@ "IsConst": true } }, - "Doc": "" + "Doc": "what the parameter is for, shown after its type and place; may be `NULL`" } - ] + ], + "Doc": "Endpoints grouped by tag, each with its method, its path (parameters marked) and its summary; deprecated ones are struck through. A click opens an endpoint's parameters and a Try it button. A field filters by path or summary. Up and Down move, Enter opens." }, { "CName": "cui_api_endpoint", @@ -23354,7 +23759,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "one line after the path; the filter field searches it" }, { "CName": "tag", @@ -23383,7 +23788,7 @@ "Spelling": "_Bool", "Kind": "Bool" }, - "Doc": "" + "Doc": "struck through and muted, with a \"Deprecated\" badge" }, { "CName": "params", @@ -23400,7 +23805,7 @@ "IsConst": true } }, - "Doc": "" + "Doc": "the parameters listed when the endpoint is opened; may be `NULL`" }, { "CName": "param_count", @@ -23412,9 +23817,10 @@ "Spelling": "int", "Kind": "Int" }, - "Doc": "" + "Doc": "number of `params`" } - ] + ], + "Doc": "" }, { "CName": "cui_api_explorer_opts", @@ -23446,23 +23852,510 @@ "Doc": "" }, { - "CName": "height", - "CsName": "Height", - "CsType": "float", - "CType": "float", - "Offset": 12, + "CName": "height", + "CsName": "Height", + "CsType": "float", + "CType": "float", + "Offset": 12, + "Type": { + "Spelling": "float", + "Kind": "Float" + }, + "Doc": "" + }, + { + "CName": "selected", + "CsName": "Selected", + "CsType": "nint", + "CType": "int *", + "Offset": 16, + "Type": { + "Spelling": "int *", + "Kind": "Pointer", + "Element": { + "Spelling": "int", + "Kind": "Int" + } + }, + "Doc": "the selected endpoint or -1, kept by you; `NULL` keeps it in the component" + } + ], + "Doc": "" + }, + { + "CName": "cui_api_explorer_result", + "CsName": "NativeApiExplorerResult", + "Size": 8, + "Helpers": [], + "Fields": [ + { + "CName": "selected", + "CsName": "Selected", + "CsType": "int", + "CType": "int", + "Type": { + "Spelling": "int", + "Kind": "Int" + }, + "Doc": "the selected endpoint, or -1" + }, + { + "CName": "try_it", + "CsName": "TryIt", + "CsType": "int", + "CType": "int", + "Offset": 4, + "Type": { + "Spelling": "int", + "Kind": "Int" + }, + "Doc": "endpoint, or -1" + } + ], + "Doc": "" + }, + { + "CName": "cui_dot_series", + "CsName": "NativeDotSeries", + "Size": 24, + "Helpers": [], + "Fields": [ + { + "CName": "values", + "CsName": "Values", + "CsType": "nint", + "CType": "const float *", + "Type": { + "Spelling": "const float *", + "Kind": "Pointer", + "Element": { + "Spelling": "const float", + "Kind": "Float", + "IsConst": true + } + }, + "Doc": "`count` values, one per sample; negative values count as 0" + }, + { + "CName": "name", + "CsName": "Name", + "CsType": "nint", + "CType": "const char *", + "Offset": 8, + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + }, + "Doc": "names the series in the readout when there are several" + }, + { + "CName": "accent", + "CsName": "Accent", + "CsType": "byte", + "CType": "_Bool", + "Offset": 16, + "Type": { + "Spelling": "_Bool", + "Kind": "Bool" + }, + "Doc": "drawn in the accent color" + } + ], + "Doc": "Dot-matrix chart: values drawn as a grid of dots, lit up to each column's value and dim above it. Several series stack, each in its own band, and an `accent` series is drawn in the accent color: the item being edited, or the part that matters. The pointer, or the arrow keys once it is focused, show a readout of the value under it, and a click returns where it landed, so an app can add something there." + }, + { + "CName": "cui_dot_chart_opts", + "CsName": "NativeDotChartOpts", + "Size": 104, + "Helpers": [], + "Fields": [ + { + "CName": "_", + "CsName": "Sentinel", + "CsType": "int", + "CType": "int", + "Type": { + "Spelling": "int", + "Kind": "Int" + }, + "Doc": "" + }, + { + "CName": "width", + "CsName": "Width", + "CsType": "NativeSize", + "CType": "cui_size", + "Offset": 4, + "Type": { + "Spelling": "cui_size", + "Kind": "Record" + }, + "Doc": "" + }, + { + "CName": "height", + "CsName": "Height", + "CsType": "float", + "CType": "float", + "Offset": 12, + "Type": { + "Spelling": "float", + "Kind": "Float" + }, + "Doc": "the plot and its labels, default 200" + }, + { + "CName": "x_min", + "CsName": "XMin", + "CsType": "double", + "CType": "double", + "Offset": 16, + "Type": { + "Spelling": "double", + "Kind": "Double" + }, + "Doc": "what the first and last sample stand for; equal: 0 to count - 1" + }, + { + "CName": "x_max", + "CsName": "XMax", + "CsType": "double", + "CType": "double", + "Offset": 24, + "Type": { + "Spelling": "double", + "Kind": "Double" + }, + "Doc": "what the first and last sample stand for; equal: 0 to count - 1" + }, + { + "CName": "x_units", + "CsName": "XUnits", + "CsType": "AxisUnits", + "CType": "cui_axis_units", + "Offset": 32, + "Type": { + "Spelling": "cui_axis_units", + "Kind": "Enum" + }, + "Doc": "" + }, + { + "CName": "x_format", + "CsName": "XFormat", + "CsType": "nint", + "CType": "const char *", + "Offset": 40, + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + }, + "Doc": "x labels with CUI_AXIS_NUMBER, default \"%g\"" + }, + { + "CName": "x_step", + "CsName": "XStep", + "CsType": "double", + "CType": "double", + "Offset": 48, + "Type": { + "Spelling": "double", + "Kind": "Double" + }, + "Doc": "spacing of the x labels in x units; 0 picks one that fits" + }, + { + "CName": "min", + "CsName": "Min", + "CsType": "float", + "CType": "float", + "Offset": 56, + "Type": { + "Spelling": "float", + "Kind": "Float" + }, + "Doc": "value range when min != max; otherwise 0 to the largest stacked value" + }, + { + "CName": "max", + "CsName": "Max", + "CsType": "float", + "CType": "float", + "Offset": 60, + "Type": { + "Spelling": "float", + "Kind": "Float" + }, + "Doc": "value range when min != max; otherwise 0 to the largest stacked value" + }, + { + "CName": "format", + "CsName": "Format", + "CsType": "nint", + "CType": "const char *", + "Offset": 64, + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + }, + "Doc": "values in the readout, default \"%.0f\"" + }, + { + "CName": "unit", + "CsName": "Unit", + "CsType": "nint", + "CType": "const char *", + "Offset": 72, + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + }, + "Doc": "after values in the readout, e.g. \"MG\"" + }, + { + "CName": "pitch", + "CsName": "Pitch", + "CsType": "float", + "CType": "float", + "Offset": 80, + "Type": { + "Spelling": "float", + "Kind": "Float" + }, + "Doc": "distance between dot centers in points, default 6" + }, + { + "CName": "no_grid", + "CsName": "NoGrid", + "CsType": "byte", + "CType": "_Bool", + "Offset": 84, + "Type": { + "Spelling": "_Bool", + "Kind": "Bool" + }, + "Doc": "hides the dim dots of the empty grid" + }, + { + "CName": "no_axis", + "CsName": "NoAxis", + "CsType": "byte", + "CType": "_Bool", + "Offset": 85, + "Type": { + "Spelling": "_Bool", + "Kind": "Bool" + }, + "Doc": "hides the x labels, e.g. when an event track under the chart has them" + }, + { + "CName": "no_readout", + "CsName": "NoReadout", + "CsType": "byte", + "CType": "_Bool", + "Offset": 86, + "Type": { + "Spelling": "_Bool", + "Kind": "Bool" + }, + "Doc": "no value label under the pointer" + }, + { + "CName": "annotations", + "CsName": "Annotations", + "CsType": "nint", + "CType": "const cui_chart_annotation *", + "Offset": 88, + "Type": { + "Spelling": "const cui_chart_annotation *", + "Kind": "Pointer", + "Element": { + "Spelling": "const cui_chart_annotation", + "Kind": "Record", + "IsConst": true + } + }, + "Doc": "lines and points drawn over the dots" + }, + { + "CName": "annotation_count", + "CsName": "AnnotationCount", + "CsType": "int", + "CType": "int", + "Offset": 96, + "Type": { + "Spelling": "int", + "Kind": "Int" + }, + "Doc": "number of `annotations`" + } + ], + "Doc": "" + }, + { + "CName": "cui_dot_chart_result", + "CsName": "NativeDotChartResult", + "Size": 24, + "Helpers": [], + "Fields": [ + { + "CName": "hovered", + "CsName": "Hovered", + "CsType": "int", + "CType": "int", + "Type": { + "Spelling": "int", + "Kind": "Int" + }, + "Doc": "the sample under the pointer or the keyboard cursor, or -1" + }, + { + "CName": "x", + "CsName": "X", + "CsType": "double", + "CType": "double", + "Offset": 8, + "Type": { + "Spelling": "double", + "Kind": "Double" + }, + "Doc": "that sample's x, in x units" + }, + { + "CName": "value", + "CsName": "Value", + "CsType": "float", + "CType": "float", + "Offset": 16, + "Type": { + "Spelling": "float", + "Kind": "Float" + }, + "Doc": "the stacked value there" + }, + { + "CName": "clicked", + "CsName": "Clicked", + "CsType": "byte", + "CType": "_Bool", + "Offset": 20, + "Type": { + "Spelling": "_Bool", + "Kind": "Bool" + }, + "Doc": "the plot was clicked, or Enter was pressed on it, this frame: `x` is where" + } + ], + "Doc": "" + }, + { + "CName": "cui_event_track_opts", + "CsName": "NativeEventTrackOpts", + "Size": 64, + "Helpers": [], + "Fields": [ + { + "CName": "_", + "CsName": "Sentinel", + "CsType": "int", + "CType": "int", + "Type": { + "Spelling": "int", + "Kind": "Int" + }, + "Doc": "" + }, + { + "CName": "width", + "CsName": "Width", + "CsType": "NativeSize", + "CType": "cui_size", + "Offset": 4, + "Type": { + "Spelling": "cui_size", + "Kind": "Record" + }, + "Doc": "" + }, + { + "CName": "step", + "CsName": "Step", + "CsType": "double", + "CType": "double", + "Offset": 16, "Type": { - "Spelling": "float", - "Kind": "Float" + "Spelling": "double", + "Kind": "Double" + }, + "Doc": "events snap to multiples of this from `min`; 0 does not snap" + }, + { + "CName": "units", + "CsName": "Units", + "CsType": "AxisUnits", + "CType": "cui_axis_units", + "Offset": 24, + "Type": { + "Spelling": "cui_axis_units", + "Kind": "Enum" }, "Doc": "" }, + { + "CName": "format", + "CsName": "Format", + "CsType": "nint", + "CType": "const char *", + "Offset": 32, + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + }, + "Doc": "labels with CUI_AXIS_NUMBER, default \"%g\"" + }, + { + "CName": "label_step", + "CsName": "LabelStep", + "CsType": "double", + "CType": "double", + "Offset": 40, + "Type": { + "Spelling": "double", + "Kind": "Double" + }, + "Doc": "spacing of the axis labels; 0 picks one that fits" + }, { "CName": "selected", "CsName": "Selected", "CsType": "nint", "CType": "int *", - "Offset": 16, + "Offset": 48, "Type": { "Spelling": "int *", "Kind": "Pointer", @@ -23471,40 +24364,332 @@ "Kind": "Int" } }, - "Doc": "" + "Doc": "the selected event or -1, kept by you; `NULL` keeps it in the track" + }, + { + "CName": "no_add", + "CsName": "NoAdd", + "CsType": "byte", + "CType": "_Bool", + "Offset": 56, + "Type": { + "Spelling": "_Bool", + "Kind": "Bool" + }, + "Doc": "clicks and Enter do not add events" + }, + { + "CName": "no_remove", + "CsName": "NoRemove", + "CsType": "byte", + "CType": "_Bool", + "Offset": 57, + "Type": { + "Spelling": "_Bool", + "Kind": "Bool" + }, + "Doc": "double-clicks and Delete do not remove events" + }, + { + "CName": "no_axis", + "CsName": "NoAxis", + "CsType": "byte", + "CType": "_Bool", + "Offset": 58, + "Type": { + "Spelling": "_Bool", + "Kind": "Bool" + }, + "Doc": "hides the axis labels under the dots" } - ] + ], + "Doc": "Event track: moments on a time axis, as dots you drag along it. A click on an empty spot adds an event there and a double-click on one removes it. You own the array: the track keeps it sorted, edits it in place and never grows it past `capacity`." }, { - "CName": "cui_api_explorer_result", - "CsName": "NativeApiExplorerResult", - "Size": 8, + "CName": "cui_event_track_result", + "CsName": "NativeEventTrackResult", + "Size": 20, "Helpers": [], "Fields": [ + { + "CName": "changed", + "CsName": "Changed", + "CsType": "byte", + "CType": "_Bool", + "Type": { + "Spelling": "_Bool", + "Kind": "Bool" + }, + "Doc": "an event was moved, added or removed this frame" + }, + { + "CName": "added", + "CsName": "Added", + "CsType": "int", + "CType": "int", + "Offset": 4, + "Type": { + "Spelling": "int", + "Kind": "Int" + }, + "Doc": "index of the event added this frame, or -1" + }, + { + "CName": "removed", + "CsName": "Removed", + "CsType": "int", + "CType": "int", + "Offset": 8, + "Type": { + "Spelling": "int", + "Kind": "Int" + }, + "Doc": "index the removed event had, or -1" + }, { "CName": "selected", "CsName": "Selected", "CsType": "int", "CType": "int", + "Offset": 12, "Type": { "Spelling": "int", "Kind": "Int" }, - "Doc": "endpoint, or -1" + "Doc": "the selected event after this frame, or -1" }, { - "CName": "try_it", - "CsName": "TryIt", + "CName": "dragging", + "CsName": "Dragging", + "CsType": "byte", + "CType": "_Bool", + "Offset": 16, + "Type": { + "Spelling": "_Bool", + "Kind": "Bool" + }, + "Doc": "an event is being dragged" + } + ], + "Doc": "" + }, + { + "CName": "cui_readout_opts", + "CsName": "NativeReadoutOpts", + "Size": 48, + "Helpers": [], + "Fields": [ + { + "CName": "_", + "CsName": "Sentinel", "CsType": "int", "CType": "int", - "Offset": 4, "Type": { "Spelling": "int", "Kind": "Int" }, - "Doc": "endpoint, or -1" + "Doc": "" + }, + { + "CName": "unit", + "CsName": "Unit", + "CsType": "nint", + "CType": "const char *", + "Offset": 8, + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + }, + "Doc": "after the value, smaller and muted, e.g. \"MG\"" + }, + { + "CName": "detail", + "CsName": "Detail", + "CsType": "nint", + "CType": "const char *", + "Offset": 16, + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + }, + "Doc": "a muted line under the value; `NULL` for none" + }, + { + "CName": "size", + "CsName": "Size", + "CsType": "ControlSize", + "CType": "cui_control_size", + "Offset": 24, + "Type": { + "Spelling": "cui_control_size", + "Kind": "Enum" + }, + "Doc": "the value's size: CUI_SIZE_SM 17, CUI_SIZE_MD 28 (default), CUI_SIZE_LG 44 points" + }, + { + "CName": "tone", + "CsName": "Tone", + "CsType": "Tone", + "CType": "cui_tone", + "Offset": 28, + "Type": { + "Spelling": "cui_tone", + "Kind": "Enum" + }, + "Doc": "the value's color; 0 is the foreground" + }, + { + "CName": "accent", + "CsName": "Accent", + "CsType": "byte", + "CType": "_Bool", + "Offset": 32, + "Type": { + "Spelling": "_Bool", + "Kind": "Bool" + }, + "Doc": "the value in the accent color" + }, + { + "CName": "align", + "CsName": "Align", + "CsType": "TextAlign", + "CType": "cui_text_align", + "Offset": 36, + "Type": { + "Spelling": "cui_text_align", + "Kind": "Enum" + }, + "Doc": "default start" + }, + { + "CName": "width", + "CsName": "Width", + "CsType": "NativeSize", + "CType": "cui_size", + "Offset": 40, + "Type": { + "Spelling": "cui_size", + "Kind": "Record" + }, + "Doc": "default fit" } - ] + ], + "Doc": "Readout: one figure as an instrument shows it. A small label, the value in the monospaced font with its unit, and a muted line of context under it." + }, + { + "CName": "cui_dot_display_opts", + "CsName": "NativeDotDisplayOpts", + "Size": 28, + "Helpers": [], + "Fields": [ + { + "CName": "_", + "CsName": "Sentinel", + "CsType": "int", + "CType": "int", + "Type": { + "Spelling": "int", + "Kind": "Int" + }, + "Doc": "" + }, + { + "CName": "pitch", + "CsName": "Pitch", + "CsType": "float", + "CType": "float", + "Offset": 4, + "Type": { + "Spelling": "float", + "Kind": "Float" + }, + "Doc": "distance between dot centers in points, default 4" + }, + { + "CName": "color", + "CsName": "Color", + "CsType": "NativeColor", + "CType": "cui_color", + "Offset": 8, + "Type": { + "Spelling": "cui_color", + "Kind": "Record" + }, + "Doc": "lit dots; unset: the foreground" + }, + { + "CName": "accent", + "CsName": "Accent", + "CsType": "byte", + "CType": "_Bool", + "Offset": 12, + "Type": { + "Spelling": "_Bool", + "Kind": "Bool" + }, + "Doc": "lit dots in the accent color" + }, + { + "CName": "no_dim", + "CsName": "NoDim", + "CsType": "byte", + "CType": "_Bool", + "Offset": 13, + "Type": { + "Spelling": "_Bool", + "Kind": "Bool" + }, + "Doc": "hides the unlit dots" + }, + { + "CName": "marquee", + "CsName": "Marquee", + "CsType": "byte", + "CType": "_Bool", + "Offset": 14, + "Type": { + "Spelling": "_Bool", + "Kind": "Bool" + }, + "Doc": "scrolls text that is wider than the box instead of shrinking it" + }, + { + "CName": "align", + "CsName": "Align", + "CsType": "TextAlign", + "CType": "cui_text_align", + "Offset": 16, + "Type": { + "Spelling": "cui_text_align", + "Kind": "Enum" + }, + "Doc": "where the text sits in a wider box, default start" + }, + { + "CName": "width", + "CsName": "Width", + "CsType": "NativeSize", + "CType": "cui_size", + "Offset": 20, + "Type": { + "Spelling": "cui_size", + "Kind": "Record" + }, + "Doc": "default fit to the text" + } + ], + "Doc": "Dot-matrix display: text drawn with a 5 by 7 dot font, for clocks, counters and status lines. Printable ASCII, the degree sign and the middle dot have glyphs; anything else is a box. Unlit dots show dimly unless `no_dim` is set. In a box narrower than the text, the dots shrink to fit, or with `marquee` the text scrolls." }, { "CName": "cui_corners", @@ -23559,7 +24744,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_canvas_result", @@ -23626,7 +24812,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_vertex", @@ -23825,7 +25012,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_draw_cmd", @@ -23880,7 +25068,8 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_draw_data", @@ -24022,12 +25211,13 @@ }, "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_app_desc", "CsName": "NativeAppDesc", - "Size": 48, + "Size": 56, "Helpers": [], "Fields": [ { @@ -24189,8 +25379,26 @@ "Kind": "Bool" }, "Doc": "use the OS light/dark setting where available" + }, + { + "CName": "app_id", + "CsName": "AppId", + "CsType": "nint", + "CType": "const char *", + "Offset": 48, + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + }, + "Doc": "Linux: the app's ID, which is the name of its .desktop file without \".desktop\", e.g. \"org.example.Notes\". The desktop uses it to show the app's name and icon for the window (taskbar, dock, Alt+Tab) and to group its windows. Sets WM_CLASS on X11 and the app_id on Wayland (SDL2, and GLFW 3.4). Read when the window is created; ignored on Windows and macOS. Default: none (the X11 backend then sets WM_CLASS to the title and \"CUI\")." } - ] + ], + "Doc": "" }, { "CName": "cui_file_dialog_opts", @@ -24277,7 +25485,8 @@ }, "Doc": "save dialogs" } - ] + ], + "Doc": "" } ], "Enums": [ @@ -24288,184 +25497,221 @@ { "CName": "CUI_TOKEN_NONE", "CsName": "None", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_TOKEN_BACKGROUND", "CsName": "Background", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_TOKEN_SURFACE", "CsName": "Surface", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_TOKEN_SURFACE_RAISED", "CsName": "SurfaceRaised", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_TOKEN_SURFACE_MUTED", "CsName": "SurfaceMuted", - "Value": "4" + "Value": "4", + "Doc": "" }, { "CName": "CUI_TOKEN_FOREGROUND", "CsName": "Foreground", - "Value": "5" + "Value": "5", + "Doc": "" }, { "CName": "CUI_TOKEN_TEXT_SECONDARY", "CsName": "TextSecondary", - "Value": "6" + "Value": "6", + "Doc": "" }, { "CName": "CUI_TOKEN_TEXT_MUTED", "CsName": "TextMuted", - "Value": "7" + "Value": "7", + "Doc": "" }, { "CName": "CUI_TOKEN_BORDER", "CsName": "Border", - "Value": "8" + "Value": "8", + "Doc": "" }, { "CName": "CUI_TOKEN_BORDER_SUBTLE", "CsName": "BorderSubtle", - "Value": "9" + "Value": "9", + "Doc": "" }, { "CName": "CUI_TOKEN_BORDER_STRONG", "CsName": "BorderStrong", - "Value": "10" + "Value": "10", + "Doc": "" }, { "CName": "CUI_TOKEN_ACCENT", "CsName": "Accent", - "Value": "11" + "Value": "11", + "Doc": "" }, { "CName": "CUI_TOKEN_ACCENT_STRONG", "CsName": "AccentStrong", - "Value": "12" + "Value": "12", + "Doc": "" }, { "CName": "CUI_TOKEN_ACCENT_SUBTLE", "CsName": "AccentSubtle", - "Value": "13" + "Value": "13", + "Doc": "" }, { "CName": "CUI_TOKEN_ACCENT_FOREGROUND", "CsName": "AccentForeground", - "Value": "14" + "Value": "14", + "Doc": "" }, { "CName": "CUI_TOKEN_SUCCESS", "CsName": "Success", - "Value": "15" + "Value": "15", + "Doc": "" }, { "CName": "CUI_TOKEN_WARNING", "CsName": "Warning", - "Value": "16" + "Value": "16", + "Doc": "" }, { "CName": "CUI_TOKEN_DANGER", "CsName": "Danger", - "Value": "17" + "Value": "17", + "Doc": "" }, { "CName": "CUI_TOKEN_INFO", "CsName": "Info", - "Value": "18" + "Value": "18", + "Doc": "" }, { "CName": "CUI_TOKEN_CONTROL_ON", "CsName": "ControlOn", - "Value": "19" + "Value": "19", + "Doc": "" }, { "CName": "CUI_TOKEN_CONTROL_GLYPH", "CsName": "ControlGlyph", - "Value": "20" + "Value": "20", + "Doc": "" }, { "CName": "CUI_TOKEN_CONTROL_TRACK", "CsName": "ControlTrack", - "Value": "21" + "Value": "21", + "Doc": "" }, { "CName": "CUI_TOKEN_CONTROL_TRACK_HOVER", "CsName": "ControlTrackHover", - "Value": "22" + "Value": "22", + "Doc": "" }, { "CName": "CUI_TOKEN_CONTROL_THUMB", "CsName": "ControlThumb", - "Value": "23" + "Value": "23", + "Doc": "" }, { "CName": "CUI_TOKEN_CONTROL_THUMB_ON", "CsName": "ControlThumbOn", - "Value": "24" + "Value": "24", + "Doc": "" }, { "CName": "CUI_TOKEN_HOVER", "CsName": "Hover", - "Value": "25" + "Value": "25", + "Doc": "" }, { "CName": "CUI_TOKEN_ACTIVE", "CsName": "Active", - "Value": "26" + "Value": "26", + "Doc": "" }, { "CName": "CUI_TOKEN_SCRIM", "CsName": "Scrim", - "Value": "27" + "Value": "27", + "Doc": "" }, { "CName": "CUI_TOKEN_FOCUS_RING", "CsName": "FocusRing", - "Value": "28" + "Value": "28", + "Doc": "" }, { "CName": "CUI_TOKEN_SERIES_1", "CsName": "Series1", - "Value": "29" + "Value": "29", + "Doc": "" }, { "CName": "CUI_TOKEN_SERIES_2", "CsName": "Series2", - "Value": "30" + "Value": "30", + "Doc": "" }, { "CName": "CUI_TOKEN_SERIES_3", "CsName": "Series3", - "Value": "31" + "Value": "31", + "Doc": "" }, { "CName": "CUI_TOKEN_SERIES_4", "CsName": "Series4", - "Value": "32" + "Value": "32", + "Doc": "" }, { "CName": "CUI_TOKEN_SERIES_5", "CsName": "Series5", - "Value": "33" + "Value": "33", + "Doc": "" }, { "CName": "CUI_TOKEN_SERIES_6", "CsName": "Series6", - "Value": "34" + "Value": "34", + "Doc": "" }, { "CName": "CUI_TOKEN_COUNT", "CsName": "Count", - "Value": "35" + "Value": "35", + "Doc": "" } - ] + ], + "Doc": "Semantic colors. Use these instead of raw colors so your UI follows the theme (light/dark) and the accent. They can go anywhere a cui_color goes." }, { "CName": "cui_theme_mode", @@ -24474,14 +25720,17 @@ { "CName": "CUI_THEME_LIGHT", "CsName": "Light", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_THEME_DARK", "CsName": "Dark", - "Value": "1" + "Value": "1", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_accent", @@ -24490,49 +25739,59 @@ { "CName": "CUI_ACCENT_NEUTRAL", "CsName": "Neutral", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_ACCENT_VIOLET", "CsName": "Violet", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_ACCENT_BLUE", "CsName": "Blue", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_ACCENT_GREEN", "CsName": "Green", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_ACCENT_AMBER", "CsName": "Amber", - "Value": "4" + "Value": "4", + "Doc": "" }, { "CName": "CUI_ACCENT_ORANGE", "CsName": "Orange", - "Value": "5" + "Value": "5", + "Doc": "" }, { "CName": "CUI_ACCENT_CORAL", "CsName": "Coral", - "Value": "6" + "Value": "6", + "Doc": "" }, { "CName": "CUI_ACCENT_ROSE", "CsName": "Rose", - "Value": "7" + "Value": "7", + "Doc": "" }, { "CName": "CUI_ACCENT_COUNT", "CsName": "Count", - "Value": "8" + "Value": "8", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_texture_format", @@ -24541,14 +25800,17 @@ { "CName": "CUI_TEXTURE_R8", "CsName": "R8", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_TEXTURE_RGBA8", "CsName": "Rgba8", - "Value": "4" + "Value": "4", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_direction", @@ -24557,24 +25819,29 @@ { "CName": "CUI_DIRECTION_INHERIT", "CsName": "Inherit", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_DIRECTION_LTR", "CsName": "Ltr", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_DIRECTION_RTL", "CsName": "Rtl", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_DIRECTION_AUTO", "CsName": "Auto", - "Value": "3" + "Value": "3", + "Doc": "" } - ] + ], + "Doc": "Zero inherits the parent, or LTR at the context root. With text shaping, AUTO uses the first strong character in descendant text, ignoring explicitly directed subtrees. Without text shaping, AUTO resolves to LTR." }, { "CName": "cui_mouse_button", @@ -24583,19 +25850,23 @@ { "CName": "CUI_MOUSE_LEFT", "CsName": "Left", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_MOUSE_RIGHT", "CsName": "Right", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_MOUSE_MIDDLE", "CsName": "Middle", - "Value": "2" + "Value": "2", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_key", @@ -24604,349 +25875,419 @@ { "CName": "CUI_KEY_NONE", "CsName": "None", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_KEY_TAB", "CsName": "Tab", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_KEY_ENTER", "CsName": "Enter", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_KEY_ESCAPE", "CsName": "Escape", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_KEY_BACKSPACE", "CsName": "Backspace", - "Value": "4" + "Value": "4", + "Doc": "" }, { "CName": "CUI_KEY_DELETE", "CsName": "Delete", - "Value": "5" + "Value": "5", + "Doc": "" }, { "CName": "CUI_KEY_SPACE", "CsName": "Space", - "Value": "6" + "Value": "6", + "Doc": "" }, { "CName": "CUI_KEY_LEFT", "CsName": "Left", - "Value": "7" + "Value": "7", + "Doc": "" }, { "CName": "CUI_KEY_RIGHT", "CsName": "Right", - "Value": "8" + "Value": "8", + "Doc": "" }, { "CName": "CUI_KEY_UP", "CsName": "Up", - "Value": "9" + "Value": "9", + "Doc": "" }, { "CName": "CUI_KEY_DOWN", "CsName": "Down", - "Value": "10" + "Value": "10", + "Doc": "" }, { "CName": "CUI_KEY_HOME", "CsName": "Home", - "Value": "11" + "Value": "11", + "Doc": "" }, { "CName": "CUI_KEY_END", "CsName": "End", - "Value": "12" + "Value": "12", + "Doc": "" }, { "CName": "CUI_KEY_PAGE_UP", "CsName": "PageUp", - "Value": "13" + "Value": "13", + "Doc": "" }, { "CName": "CUI_KEY_PAGE_DOWN", "CsName": "PageDown", - "Value": "14" + "Value": "14", + "Doc": "" }, { "CName": "CUI_KEY_A", "CsName": "A", - "Value": "15" + "Value": "15", + "Doc": "" }, { "CName": "CUI_KEY_B", "CsName": "B", - "Value": "16" + "Value": "16", + "Doc": "" }, { "CName": "CUI_KEY_C", "CsName": "C", - "Value": "17" + "Value": "17", + "Doc": "" }, { "CName": "CUI_KEY_D", "CsName": "D", - "Value": "18" + "Value": "18", + "Doc": "" }, { "CName": "CUI_KEY_E", "CsName": "E", - "Value": "19" + "Value": "19", + "Doc": "" }, { "CName": "CUI_KEY_F", "CsName": "F", - "Value": "20" + "Value": "20", + "Doc": "" }, { "CName": "CUI_KEY_G", "CsName": "G", - "Value": "21" + "Value": "21", + "Doc": "" }, { "CName": "CUI_KEY_H", "CsName": "H", - "Value": "22" + "Value": "22", + "Doc": "" }, { "CName": "CUI_KEY_I", "CsName": "I", - "Value": "23" + "Value": "23", + "Doc": "" }, { "CName": "CUI_KEY_J", "CsName": "J", - "Value": "24" + "Value": "24", + "Doc": "" }, { "CName": "CUI_KEY_K", "CsName": "K", - "Value": "25" + "Value": "25", + "Doc": "" }, { "CName": "CUI_KEY_L", "CsName": "L", - "Value": "26" + "Value": "26", + "Doc": "" }, { "CName": "CUI_KEY_M", "CsName": "M", - "Value": "27" + "Value": "27", + "Doc": "" }, { "CName": "CUI_KEY_N", "CsName": "N", - "Value": "28" + "Value": "28", + "Doc": "" }, { "CName": "CUI_KEY_O", "CsName": "O", - "Value": "29" + "Value": "29", + "Doc": "" }, { "CName": "CUI_KEY_P", "CsName": "P", - "Value": "30" + "Value": "30", + "Doc": "" }, { "CName": "CUI_KEY_Q", "CsName": "Q", - "Value": "31" + "Value": "31", + "Doc": "" }, { "CName": "CUI_KEY_R", "CsName": "R", - "Value": "32" + "Value": "32", + "Doc": "" }, { "CName": "CUI_KEY_S", "CsName": "S", - "Value": "33" + "Value": "33", + "Doc": "" }, { "CName": "CUI_KEY_T", "CsName": "T", - "Value": "34" + "Value": "34", + "Doc": "" }, { "CName": "CUI_KEY_U", "CsName": "U", - "Value": "35" + "Value": "35", + "Doc": "" }, { "CName": "CUI_KEY_V", "CsName": "V", - "Value": "36" + "Value": "36", + "Doc": "" }, { "CName": "CUI_KEY_W", "CsName": "W", - "Value": "37" + "Value": "37", + "Doc": "" }, { "CName": "CUI_KEY_X", "CsName": "X", - "Value": "38" + "Value": "38", + "Doc": "" }, { "CName": "CUI_KEY_Y", "CsName": "Y", - "Value": "39" + "Value": "39", + "Doc": "" }, { "CName": "CUI_KEY_Z", "CsName": "Z", - "Value": "40" + "Value": "40", + "Doc": "" }, { "CName": "CUI_KEY_0", "CsName": "D0", - "Value": "41" + "Value": "41", + "Doc": "" }, { "CName": "CUI_KEY_1", "CsName": "D1", - "Value": "42" + "Value": "42", + "Doc": "" }, { "CName": "CUI_KEY_2", "CsName": "D2", - "Value": "43" + "Value": "43", + "Doc": "" }, { "CName": "CUI_KEY_3", "CsName": "D3", - "Value": "44" + "Value": "44", + "Doc": "" }, { "CName": "CUI_KEY_4", "CsName": "D4", - "Value": "45" + "Value": "45", + "Doc": "" }, { "CName": "CUI_KEY_5", "CsName": "D5", - "Value": "46" + "Value": "46", + "Doc": "" }, { "CName": "CUI_KEY_6", "CsName": "D6", - "Value": "47" + "Value": "47", + "Doc": "" }, { "CName": "CUI_KEY_7", "CsName": "D7", - "Value": "48" + "Value": "48", + "Doc": "" }, { "CName": "CUI_KEY_8", "CsName": "D8", - "Value": "49" + "Value": "49", + "Doc": "" }, { "CName": "CUI_KEY_9", "CsName": "D9", - "Value": "50" + "Value": "50", + "Doc": "" }, { "CName": "CUI_KEY_MINUS", "CsName": "Minus", - "Value": "51" + "Value": "51", + "Doc": "" }, { "CName": "CUI_KEY_EQUAL", "CsName": "Equal", - "Value": "52" + "Value": "52", + "Doc": "" }, { "CName": "CUI_KEY_COMMA", "CsName": "Comma", - "Value": "53" + "Value": "53", + "Doc": "" }, { "CName": "CUI_KEY_PERIOD", "CsName": "Period", - "Value": "54" + "Value": "54", + "Doc": "" }, { "CName": "CUI_KEY_SLASH", "CsName": "Slash", - "Value": "55" + "Value": "55", + "Doc": "" }, { "CName": "CUI_KEY_F1", "CsName": "F1", - "Value": "56" + "Value": "56", + "Doc": "" }, { "CName": "CUI_KEY_F2", "CsName": "F2", - "Value": "57" + "Value": "57", + "Doc": "" }, { "CName": "CUI_KEY_F3", "CsName": "F3", - "Value": "58" + "Value": "58", + "Doc": "" }, { "CName": "CUI_KEY_F4", "CsName": "F4", - "Value": "59" + "Value": "59", + "Doc": "" }, { "CName": "CUI_KEY_F5", "CsName": "F5", - "Value": "60" + "Value": "60", + "Doc": "" }, { "CName": "CUI_KEY_F6", "CsName": "F6", - "Value": "61" + "Value": "61", + "Doc": "" }, { "CName": "CUI_KEY_F7", "CsName": "F7", - "Value": "62" + "Value": "62", + "Doc": "" }, { "CName": "CUI_KEY_F8", "CsName": "F8", - "Value": "63" + "Value": "63", + "Doc": "" }, { "CName": "CUI_KEY_F9", "CsName": "F9", - "Value": "64" + "Value": "64", + "Doc": "" }, { "CName": "CUI_KEY_F10", "CsName": "F10", - "Value": "65" + "Value": "65", + "Doc": "" }, { "CName": "CUI_KEY_F11", "CsName": "F11", - "Value": "66" + "Value": "66", + "Doc": "" }, { "CName": "CUI_KEY_F12", "CsName": "F12", - "Value": "67" + "Value": "67", + "Doc": "" }, { "CName": "CUI_KEY_COUNT", "CsName": "Count", - "Value": "68" + "Value": "68", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_mod", @@ -24956,29 +26297,35 @@ { "CName": "CUI_MOD_SHIFT", "CsName": "Shift", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_MOD_CTRL", "CsName": "Ctrl", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_MOD_ALT", "CsName": "Alt", - "Value": "4" + "Value": "4", + "Doc": "" }, { "CName": "CUI_MOD_SUPER", "CsName": "Super", - "Value": "8" + "Value": "8", + "Doc": "Command on macOS, Windows key elsewhere" }, { "CName": "Primary", "CsName": "Primary", - "Value": "Ctrl" + "Value": "Ctrl", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_cursor", @@ -24987,44 +26334,53 @@ { "CName": "CUI_CURSOR_ARROW", "CsName": "Arrow", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_CURSOR_HAND", "CsName": "Hand", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_CURSOR_TEXT", "CsName": "Text", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_CURSOR_RESIZE_EW", "CsName": "ResizeEw", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_CURSOR_RESIZE_NS", "CsName": "ResizeNs", - "Value": "4" + "Value": "4", + "Doc": "" }, { "CName": "CUI_CURSOR_MOVE", "CsName": "Move", - "Value": "5" + "Value": "5", + "Doc": "" }, { "CName": "CUI_CURSOR_NOT_ALLOWED", "CsName": "NotAllowed", - "Value": "6" + "Value": "6", + "Doc": "" }, { "CName": "CUI_CURSOR_COUNT", "CsName": "Count", - "Value": "7" + "Value": "7", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_size_kind", @@ -25033,24 +26389,29 @@ { "CName": "CUI_SIZE_FIT", "CsName": "Fit", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_SIZE_GROW", "CsName": "Grow", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_SIZE_FIXED", "CsName": "Fixed", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_SIZE_PERCENT", "CsName": "Percent", - "Value": "3" + "Value": "3", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_dir", @@ -25059,24 +26420,29 @@ { "CName": "CUI_COLUMN", "CsName": "Column", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_ROW", "CsName": "Row", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_STACK", "CsName": "Stack", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_GRID", "CsName": "Grid", - "Value": "3" + "Value": "3", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_align", @@ -25085,29 +26451,35 @@ { "CName": "CUI_ALIGN_DEFAULT", "CsName": "Default", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_ALIGN_START", "CsName": "Start", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_ALIGN_CENTER", "CsName": "Center", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_ALIGN_END", "CsName": "End", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_ALIGN_STRETCH", "CsName": "Stretch", - "Value": "4" + "Value": "4", + "Doc": "" } - ] + ], + "Doc": "CUI_ALIGN_DEFAULT: columns stretch their children, rows center them." }, { "CName": "cui_justify", @@ -25116,29 +26488,35 @@ { "CName": "CUI_JUSTIFY_START", "CsName": "Start", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_JUSTIFY_CENTER", "CsName": "Center", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_JUSTIFY_END", "CsName": "End", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_JUSTIFY_BETWEEN", "CsName": "Between", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_JUSTIFY_AROUND", "CsName": "Around", - "Value": "4" + "Value": "4", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_elevation", @@ -25147,24 +26525,29 @@ { "CName": "CUI_ELEVATION_NONE", "CsName": "None", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_ELEVATION_RESTING", "CsName": "Resting", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_ELEVATION_RAISED", "CsName": "Raised", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_ELEVATION_FLOATING", "CsName": "Floating", - "Value": "3" + "Value": "3", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_text_align", @@ -25173,29 +26556,35 @@ { "CName": "CUI_TEXT_START", "CsName": "Start", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_TEXT_CENTER", "CsName": "Center", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_TEXT_RIGHT", "CsName": "Right", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_TEXT_LEFT", "CsName": "Left", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_TEXT_END", "CsName": "End", - "Value": "4" + "Value": "4", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_button_variant", @@ -25204,39 +26593,47 @@ { "CName": "CUI_BUTTON_DEFAULT", "CsName": "Default", - "Value": "0" + "Value": "0", + "Doc": "secondary for buttons, ghost for icon buttons" }, { "CName": "CUI_BUTTON_SECONDARY", "CsName": "Secondary", - "Value": "1" + "Value": "1", + "Doc": "neutral filled" }, { "CName": "CUI_BUTTON_PRIMARY", "CsName": "Primary", - "Value": "2" + "Value": "2", + "Doc": "the one main action" }, { "CName": "CUI_BUTTON_OUTLINE", "CsName": "Outline", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_BUTTON_GHOST", "CsName": "Ghost", - "Value": "4" + "Value": "4", + "Doc": "" }, { "CName": "CUI_BUTTON_DANGER", "CsName": "Danger", - "Value": "5" + "Value": "5", + "Doc": "" }, { "CName": "CUI_BUTTON_LINK", "CsName": "Link", - "Value": "6" + "Value": "6", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_control_size", @@ -25245,19 +26642,23 @@ { "CName": "CUI_SIZE_MD", "CsName": "Md", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_SIZE_SM", "CsName": "Sm", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_SIZE_LG", "CsName": "Lg", - "Value": "2" + "Value": "2", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_tabs_variant", @@ -25266,14 +26667,17 @@ { "CName": "CUI_TABS_UNDERLINE", "CsName": "Underline", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_TABS_PILL", "CsName": "Pill", - "Value": "1" + "Value": "1", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_placement", @@ -25282,54 +26686,65 @@ { "CName": "CUI_PLACE_BOTTOM_START", "CsName": "BottomStart", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_PLACE_BOTTOM", "CsName": "Bottom", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_PLACE_BOTTOM_END", "CsName": "BottomEnd", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_PLACE_TOP_START", "CsName": "TopStart", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_PLACE_TOP", "CsName": "Top", - "Value": "4" + "Value": "4", + "Doc": "" }, { "CName": "CUI_PLACE_TOP_END", "CsName": "TopEnd", - "Value": "5" + "Value": "5", + "Doc": "" }, { "CName": "CUI_PLACE_RIGHT_START", "CsName": "RightStart", - "Value": "6" + "Value": "6", + "Doc": "" }, { "CName": "CUI_PLACE_LEFT_START", "CsName": "LeftStart", - "Value": "7" + "Value": "7", + "Doc": "" }, { "CName": "CUI_PLACE_RIGHT", "CsName": "Right", - "Value": "8" + "Value": "8", + "Doc": "" }, { "CName": "CUI_PLACE_LEFT", "CsName": "Left", - "Value": "9" + "Value": "9", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_side", @@ -25338,24 +26753,29 @@ { "CName": "CUI_SIDE_RIGHT", "CsName": "Right", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_SIDE_LEFT", "CsName": "Left", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_SIDE_BOTTOM", "CsName": "Bottom", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_SIDE_TOP", "CsName": "Top", - "Value": "3" + "Value": "3", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_tone", @@ -25364,49 +26784,84 @@ { "CName": "CUI_TONE_NEUTRAL", "CsName": "Neutral", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_TONE_INFO", "CsName": "Info", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_TONE_SUCCESS", "CsName": "Success", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_TONE_WARNING", "CsName": "Warning", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_TONE_DANGER", "CsName": "Danger", - "Value": "4" + "Value": "4", + "Doc": "" }, { "CName": "CUI_TONE_VIOLET", "CsName": "Violet", - "Value": "5" + "Value": "5", + "Doc": "" }, { "CName": "CUI_TONE_TEAL", "CsName": "Teal", - "Value": "6" + "Value": "6", + "Doc": "" }, { "CName": "CUI_TONE_ROSE", "CsName": "Rose", - "Value": "7" + "Value": "7", + "Doc": "" }, { "CName": "CUI_TONE_ACCENT", "CsName": "Accent", - "Value": "8" + "Value": "8", + "Doc": "" + } + ], + "Doc": "" + }, + { + "CName": "cui_annotation_kind", + "CsName": "AnnotationKind", + "Values": [ + { + "CName": "CUI_ANNOTATION_X", + "CsName": "X", + "Value": "0", + "Doc": "a vertical line at `x`, labelled at its top" + }, + { + "CName": "CUI_ANNOTATION_Y", + "CsName": "Y", + "Value": "1", + "Doc": "a dashed horizontal line at the value `y`, labelled at its end" + }, + { + "CName": "CUI_ANNOTATION_POINT", + "CsName": "Point", + "Value": "2", + "Doc": "a dot at `x`, `y`, labelled beside it" } - ] + ], + "Doc": "A line, a threshold or a point drawn over a chart, with a two-line label: the label in the foreground color and a muted detail under it. Line and bar charts take them in cui_chart_opts, the dot chart in cui_dot_chart_opts. Labels that would overlap move to the other side of their line, then down." }, { "CName": "cui_status", @@ -25415,24 +26870,29 @@ { "CName": "CUI_STATUS_IDLE", "CsName": "Idle", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_STATUS_BUSY", "CsName": "Busy", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_STATUS_SUCCESS", "CsName": "Success", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_STATUS_ERROR", "CsName": "Error", - "Value": "3" + "Value": "3", + "Doc": "" } - ] + ], + "Doc": "Button that shows the result of the work it started: idle, a spinner while busy, then a check (or an error) that settles back. Width morphs smoothly between the states. Returns true when clicked while idle." }, { "CName": "cui_diff_mode", @@ -25441,14 +26901,17 @@ { "CName": "CUI_DIFF_SPLIT", "CsName": "Split", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_DIFF_INLINE", "CsName": "Inline", - "Value": "1" + "Value": "1", + "Doc": "" } - ] + ], + "Doc": "Diff viewer: compares two versions of a text line by line, side by side or inline, with changed words marked inside changed lines. The texts are yours (UTF-8, read during the call); the view keeps a copy and diffs again only when one of them changes, so it is cheap to call every frame." }, { "CName": "cui_diff_row_kind", @@ -25457,29 +26920,35 @@ { "CName": "CUI_DIFF_ROW_SAME", "CsName": "Same", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_DIFF_ROW_REMOVED", "CsName": "Removed", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_DIFF_ROW_ADDED", "CsName": "Added", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_DIFF_ROW_CHANGED", "CsName": "Changed", - "Value": "3" + "Value": "3", + "Doc": "split: a removed line beside the added line that replaced it" }, { "CName": "CUI_DIFF_ROW_FOLD", "CsName": "Fold", - "Value": "4" + "Value": "4", + "Doc": "hidden unchanged lines, starting at old_line / new_line" } - ] + ], + "Doc": "The rows the view shows after folding, e.g. to put a comment button beside a line. Copies rows [first, first + cap) and returns how many there are (0 before the view's first frame). Call it in the same id scope as the view." }, { "CName": "cui_loader_style", @@ -25488,29 +26957,35 @@ { "CName": "CUI_LOADER_DOTS", "CsName": "Dots", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_LOADER_BARS", "CsName": "Bars", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_LOADER_PULSE", "CsName": "Pulse", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_LOADER_ORBIT", "CsName": "Orbit", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_LOADER_GRID", "CsName": "Grid", - "Value": "4" + "Value": "4", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_task_status", @@ -25519,29 +26994,35 @@ { "CName": "CUI_TASK_PENDING", "CsName": "Pending", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_TASK_RUNNING", "CsName": "Running", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_TASK_DONE", "CsName": "Done", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_TASK_FAILED", "CsName": "Failed", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_TASK_SKIPPED", "CsName": "Skipped", - "Value": "4" + "Value": "4", + "Doc": "" } - ] + ], + "Doc": "Tool call: a compact row with the tool, a detail and its status; opens to show the input and the output (shown as JSON when they parse)." }, { "CName": "cui_voice_state", @@ -25550,24 +27031,29 @@ { "CName": "CUI_VOICE_IDLE", "CsName": "Idle", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_VOICE_LISTENING", "CsName": "Listening", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_VOICE_THINKING", "CsName": "Thinking", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_VOICE_SPEAKING", "CsName": "Speaking", - "Value": "3" + "Value": "3", + "Doc": "" } - ] + ], + "Doc": "Voice orb: a living shape for voice modes. level is the input or output loudness (0..1). Returns true when clicked." }, { "CName": "cui_log_level", @@ -25576,34 +27062,41 @@ { "CName": "CUI_LOG_TRACE", "CsName": "Trace", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_LOG_DEBUG", "CsName": "Debug", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_LOG_INFO", "CsName": "Info", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_LOG_WARN", "CsName": "Warn", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_LOG_ERROR", "CsName": "Error", - "Value": "4" + "Value": "4", + "Doc": "" }, { "CName": "CUI_LOG_LEVEL_COUNT", "CsName": "LevelCount", - "Value": "5" + "Value": "5", + "Doc": "" } - ] + ], + "Doc": "Log console. The app owns the storage: give cui_log_init an array of line records and a byte buffer for the text. Appending never allocates; when either is full the oldest lines are dropped (a ring buffer). Lines longer than the text buffer are cut to fit." }, { "CName": "cui_curve_mode", @@ -25612,24 +27105,29 @@ { "CName": "CUI_CURVE_SMOOTH", "CsName": "Smooth", - "Value": "0" + "Value": "0", + "Doc": "automatic tangents" }, { "CName": "CUI_CURVE_FREE", "CsName": "Free", - "Value": "1" + "Value": "1", + "Doc": "the key's own handles" }, { "CName": "CUI_CURVE_LINEAR", "CsName": "Linear", - "Value": "2" + "Value": "2", + "Doc": "a straight line to the next key" }, { "CName": "CUI_CURVE_STEP", "CsName": "Step", - "Value": "3" + "Value": "3", + "Doc": "hold this value until the next key" } - ] + ], + "Doc": "Curve editor: keyframes on a plot, for easing, animation timing and response curves. You own the array of keys, sorted by x; the editor edits it in place (moves, handles, modes, adds and removes) and reports what it did in the result, so data you keep beside each key can follow:" }, { "CName": "cui_timeline_ruler", @@ -25638,19 +27136,23 @@ { "CName": "CUI_TIMELINE_FRAMES", "CsName": "Frames", - "Value": "0" + "Value": "0", + "Doc": "frame numbers" }, { "CName": "CUI_TIMELINE_SECONDS", "CsName": "Seconds", - "Value": "1" + "Value": "1", + "Doc": "1.5 s" }, { "CName": "CUI_TIMELINE_TIMECODE", "CsName": "Timecode", - "Value": "2" + "Value": "2", + "Doc": "minutes:seconds:frames (hours too past an hour)" } - ] + ], + "Doc": "Timeline editor (dope sheet): a track list on the left, a time ruler on top and a row per track with its keys (and clips, for video and audio tracks). You own the tracks, their keys and clips, the playhead time and the selection; the editor edits them in place and reports what it did:" }, { "CName": "cui_severity", @@ -25659,24 +27161,29 @@ { "CName": "CUI_SEVERITY_ERROR", "CsName": "Error", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_SEVERITY_WARNING", "CsName": "Warning", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_SEVERITY_INFO", "CsName": "Info", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_SEVERITY_HINT", "CsName": "Hint", - "Value": "3" + "Value": "3", + "Doc": "" } - ] + ], + "Doc": "Compiler and linter diagnostics, grouped by file: errors, warnings, notes and hints with their position, source and code. Toggles above filter by severity (with counts) and a field filters by text. A file's header folds its group. Up and Down move the selection, Left and Right fold and unfold, Enter or a double-click reports `activated` (open the file there). Only the rows in view are built, so thousands of diagnostics stay fast. The array needs to be valid only during the call." }, { "CName": "cui_job_status", @@ -25685,34 +27192,41 @@ { "CName": "CUI_JOB_PENDING", "CsName": "Pending", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_JOB_RUNNING", "CsName": "Running", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_JOB_PASSED", "CsName": "Passed", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_JOB_FAILED", "CsName": "Failed", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_JOB_SKIPPED", "CsName": "Skipped", - "Value": "4" + "Value": "4", + "Doc": "" }, { "CName": "CUI_JOB_CANCELED", "CsName": "Canceled", - "Value": "5" + "Value": "5", + "Doc": "" } - ] + ], + "Doc": "A CI/CD run: stages left to right, each a column of jobs with their status and duration. A stage's header sums up its jobs (failed, running, passed). Running jobs spin. Click a job to get its index (open its log). Below 560 points the stages stack top to bottom." }, { "CName": "cui_query_type", @@ -25721,24 +27235,29 @@ { "CName": "CUI_QUERY_TEXT", "CsName": "Text", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_QUERY_NUMBER", "CsName": "Number", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_QUERY_CHOICE", "CsName": "Choice", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_QUERY_BOOL", "CsName": "Bool", - "Value": "3" + "Value": "3", + "Doc": "" } - ] + ], + "Doc": "Conditions joined by \"all\" or \"any\", in groups you can nest: the filter of an issue tracker, a log search or a database view. You own the nodes, in order, each with its depth: node 0 is the outer group (made for you when count is 0). A rule picks a field, an operator for the field's type and a value; a group picks all or any. Returns true when anything changed. cui_query_text writes the query as a sentence, cui_query_match tests a record against it." }, { "CName": "cui_http_method", @@ -25747,39 +27266,66 @@ { "CName": "CUI_HTTP_GET", "CsName": "Get", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_HTTP_POST", "CsName": "Post", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_HTTP_PUT", "CsName": "Put", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_HTTP_PATCH", "CsName": "Patch", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_HTTP_DELETE", "CsName": "Delete", - "Value": "4" + "Value": "4", + "Doc": "" }, { "CName": "CUI_HTTP_HEAD", "CsName": "Head", - "Value": "5" + "Value": "5", + "Doc": "" }, { "CName": "CUI_HTTP_OPTIONS", "CsName": "Options", - "Value": "6" + "Value": "6", + "Doc": "" } - ] + ], + "Doc": "The method, the URL and Send, as in an API client. Enter in the URL sends; while `loading` the button cancels. cui_response_status shows a response's status, time and size in one line. cui_url_params and cui_url_set_params move a URL's query to and from key-value pairs, decoding and encoding it, so a parameters table can stay in step with the URL." + }, + { + "CName": "cui_axis_units", + "CsName": "AxisUnits", + "Values": [ + { + "CName": "CUI_AXIS_NUMBER", + "CsName": "Number", + "Value": "0", + "Doc": "numbers, printed with the axis format (default \"%g\")" + }, + { + "CName": "CUI_AXIS_HOURS", + "CsName": "Hours", + "Value": "1", + "Doc": "hours shown as a time of day: 12.25 is 12:15, and 30 is 06:00 the next day" + } + ], + "Doc": "How an axis labels its values." }, { "CName": "cui_renderer_kind", @@ -25788,19 +27334,23 @@ { "CName": "CUI_RENDERER_AUTO", "CsName": "Auto", - "Value": "0" + "Value": "0", + "Doc": "OpenGL, or software when there is no GPU (CPU-drawn OpenGL, X11 and Win32)" }, { "CName": "CUI_RENDERER_OPENGL", "CsName": "OpenGL", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_RENDERER_SOFTWARE", "CsName": "Software", - "Value": "2" + "Value": "2", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "cui_file_dialog_kind", @@ -25809,19 +27359,23 @@ { "CName": "CUI_FILE_OPEN", "CsName": "Open", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_FILE_SAVE", "CsName": "Save", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_FILE_FOLDER", "CsName": "Folder", - "Value": "2" + "Value": "2", + "Doc": "" } - ] + ], + "Doc": "Native file dialogs. Blocking; returns true and writes the chosen path (UTF-8) to out when the user confirms. On Linux this uses zenity or kdialog when installed. Pass NULL as app to use the current app (handy in cui_app_run callbacks)." }, { "CName": "cui_sw_format", @@ -25830,14 +27384,17 @@ { "CName": "CUI_SW_RGBA", "CsName": "Rgba", - "Value": "0" + "Value": "0", + "Doc": "bytes R, G, B, A in memory" }, { "CName": "CUI_SW_BGRA", "CsName": "Bgra", - "Value": "1" + "Value": "1", + "Doc": "bytes B, G, R, A in memory (Win32 DIBs, X11, Cairo)" } - ] + ], + "Doc": "" }, { "CName": "CUI_FONT_BODY", @@ -25846,29 +27403,35 @@ { "CName": "CUI_FONT_BODY", "CsName": "Body", - "Value": "0" + "Value": "0", + "Doc": "Inter Regular" }, { "CName": "CUI_FONT_MEDIUM", "CsName": "Medium", - "Value": "1" + "Value": "1", + "Doc": "Inter Medium" }, { "CName": "CUI_FONT_DISPLAY", "CsName": "Display", - "Value": "2" + "Value": "2", + "Doc": "Geist Medium, for headings 28pt and up" }, { "CName": "CUI_FONT_MONO", "CsName": "Mono", - "Value": "3" + "Value": "3", + "Doc": "Geist Mono" }, { "CName": "CUI_FONT_ICONS", "CsName": "Icons", - "Value": "4" + "Value": "4", + "Doc": "Lucide icons" } - ] + ], + "Doc": "" }, { "CName": "CUI_TOUR_NONE", @@ -25877,29 +27440,35 @@ { "CName": "CUI_TOUR_NONE", "CsName": "None", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_TOUR_NEXT", "CsName": "Next", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_TOUR_BACK", "CsName": "Back", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_TOUR_DONE", "CsName": "Done", - "Value": "3" + "Value": "3", + "Doc": "" }, { "CName": "CUI_TOUR_SKIPPED", "CsName": "Skipped", - "Value": "4" + "Value": "4", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "CUI_COMMENT_LIKE", @@ -25909,19 +27478,23 @@ { "CName": "None", "CsName": "None", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_COMMENT_LIKE", "CsName": "Like", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_COMMENT_REPLY", "CsName": "Reply", - "Value": "2" + "Value": "2", + "Doc": "" } - ] + ], + "Doc": "Comment with replies. depth indents replies under a connector line. Returns CUI_COMMENT_LIKE or CUI_COMMENT_REPLY flags for what was clicked; *liked and *likes are updated for you." }, { "CName": "CUI_PLAYER_TOGGLE", @@ -25931,29 +27504,35 @@ { "CName": "None", "CsName": "None", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_PLAYER_TOGGLE", "CsName": "Toggle", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_PLAYER_PREV", "CsName": "Prev", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_PLAYER_NEXT", "CsName": "Next", - "Value": "4" + "Value": "4", + "Doc": "" }, { "CName": "CUI_PLAYER_SEEK", "CsName": "Seek", - "Value": "8" + "Value": "8", + "Doc": "" } - ] + ], + "Doc": "" }, { "CName": "CUI_RESPONSE_COPY", @@ -25963,34 +27542,41 @@ { "CName": "None", "CsName": "None", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_RESPONSE_COPY", "CsName": "Copy", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_RESPONSE_REGENERATE", "CsName": "Regenerate", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_RESPONSE_UP", "CsName": "Up", - "Value": "4" + "Value": "4", + "Doc": "" }, { "CName": "CUI_RESPONSE_DOWN", "CsName": "Down", - "Value": "8" + "Value": "8", + "Doc": "" }, { "CName": "CUI_RESPONSE_SHARE", "CsName": "Share", - "Value": "16" + "Value": "16", + "Doc": "" } - ] + ], + "Doc": "Response actions: copy, regenerate, vote and share under an answer." }, { "CName": "CUI_COMPOSER_SEND", @@ -26000,34 +27586,41 @@ { "CName": "None", "CsName": "None", - "Value": "0" + "Value": "0", + "Doc": "" }, { "CName": "CUI_COMPOSER_SEND", "CsName": "Send", - "Value": "1" + "Value": "1", + "Doc": "" }, { "CName": "CUI_COMPOSER_STOP", "CsName": "Stop", - "Value": "2" + "Value": "2", + "Doc": "" }, { "CName": "CUI_COMPOSER_ATTACH", "CsName": "Attach", - "Value": "4" + "Value": "4", + "Doc": "" }, { "CName": "CUI_COMPOSER_REMOVE", "CsName": "Remove", - "Value": "8" + "Value": "8", + "Doc": "" }, { "CName": "CUI_COMPOSER_MODEL", "CsName": "Model", - "Value": "16" + "Value": "16", + "Doc": "" } - ] + ], + "Doc": "Chat composer: a growing text area with attachments, a model picker and a send button that turns into stop while busy. Enter sends, Shift+Enter adds a line. Returns CUI_COMPOSER_* flags; *removed is the attachment whose x was clicked." } ], "Functions": [ @@ -26457,7 +28050,7 @@ "Kind": "Float" }, "Module": "Context and frame", - "Doc": "" + "Doc": "seconds since the last frame" }, { "CName": "cui_frame_count", @@ -26641,7 +28234,7 @@ "Kind": "Void" }, "Module": "Input (called by the platform layer)", - "Doc": "" + "Doc": "in lines; +dy scrolls up" }, { "CName": "cui_input_key", @@ -26986,7 +28579,7 @@ "Kind": "Bool" }, "Module": "Input (called by the platform layer)", - "Doc": "" + "Doc": "files are being dragged over the window" }, { "CName": "cui_set_platform", @@ -27166,7 +28759,7 @@ "Kind": "Bool" }, "Module": "Input (called by the platform layer)", - "Doc": "" + "Doc": "e.g. cui_shortcut(ui, CUI_MOD_PRIMARY, CUI_KEY_K)" }, { "CName": "cui_key_mods", @@ -27562,7 +29155,7 @@ "Kind": "Record" }, "Module": "Theme", - "Doc": "" + "Doc": "resolves tokens" }, { "CName": "cui_set_strings", @@ -27633,7 +29226,7 @@ } }, "Module": "Theme", - "Doc": "" + "Doc": "what was set, or NULL" }, { "CName": "cui_token_color", @@ -28240,7 +29833,7 @@ "Kind": "Void" }, "Module": "Layout", - "Doc": "" + "Doc": "flexible space" }, { "CName": "cui_gap", @@ -28275,7 +29868,7 @@ "Kind": "Void" }, "Module": "Layout", - "Doc": "" + "Doc": "fixed space" }, { "CName": "cui_separator", @@ -28301,7 +29894,7 @@ "Kind": "Void" }, "Module": "Layout", - "Doc": "" + "Doc": "hairline, follows the parent direction" }, { "CName": "cui_card_begin", @@ -28341,7 +29934,7 @@ "Kind": "Bool" }, "Module": "Layout", - "Doc": "" + "Doc": "returns true when clicked (hoverable)" }, { "CName": "cui_card_end", @@ -28641,7 +30234,7 @@ "Kind": "UInt" }, "Module": "Identity", - "Doc": "------------------------------------------------------------------------ Identity ------------------------------------------------------------------------" + "Doc": "" }, { "CName": "cui_push_id", @@ -28975,149 +30568,20 @@ "IsConst": true } } - }, - { - "CName": "opts", - "CsName": "opts", - "CsType": "in NativeTextOpts", - "Type": { - "Spelling": "const cui_text_opts *", - "Kind": "Pointer", - "Element": { - "Spelling": "const cui_text_opts", - "Kind": "Record", - "IsConst": true - } - } - } - ], - "ReturnType": { - "Spelling": "void", - "Kind": "Void" - }, - "Module": "Text", - "Doc": "" - }, - { - "CName": "cui_heading", - "CsName": "Heading", - "CsReturn": "void", - "Params": [ - { - "CName": "ui", - "CsName": "ui", - "CsType": "nint", - "Type": { - "Spelling": "cui_ctx *", - "Kind": "Pointer", - "Element": { - "Spelling": "cui_ctx", - "Kind": "Record" - } - } - }, - { - "CName": "text", - "CsName": "text", - "CsType": "nint", - "Type": { - "Spelling": "const char *", - "Kind": "Pointer", - "Element": { - "Spelling": "const char", - "Kind": "Char_S", - "IsConst": true - } - } - }, - { - "CName": "level", - "CsName": "level", - "CsType": "int", - "Type": { - "Spelling": "int", - "Kind": "Int" - } - } - ], - "ReturnType": { - "Spelling": "void", - "Kind": "Void" - }, - "Module": "Text", - "Doc": "" - }, - { - "CName": "cui_label", - "CsName": "Label", - "CsReturn": "void", - "Params": [ - { - "CName": "ui", - "CsName": "ui", - "CsType": "nint", - "Type": { - "Spelling": "cui_ctx *", - "Kind": "Pointer", - "Element": { - "Spelling": "cui_ctx", - "Kind": "Record" - } - } - }, - { - "CName": "text", - "CsName": "text", - "CsType": "nint", - "Type": { - "Spelling": "const char *", - "Kind": "Pointer", - "Element": { - "Spelling": "const char", - "Kind": "Char_S", - "IsConst": true - } - } - } - ], - "ReturnType": { - "Spelling": "void", - "Kind": "Void" - }, - "Module": "Text", - "Doc": "" - }, - { - "CName": "cui_secondary", - "CsName": "Secondary", - "CsReturn": "void", - "Params": [ - { - "CName": "ui", - "CsName": "ui", - "CsType": "nint", - "Type": { - "Spelling": "cui_ctx *", - "Kind": "Pointer", - "Element": { - "Spelling": "cui_ctx", - "Kind": "Record" - } - } - }, - { - "CName": "text", - "CsName": "text", - "CsType": "nint", - "Type": { - "Spelling": "const char *", - "Kind": "Pointer", - "Element": { - "Spelling": "const char", - "Kind": "Char_S", - "IsConst": true - } - } + }, + { + "CName": "opts", + "CsName": "opts", + "CsType": "in NativeTextOpts", + "Type": { + "Spelling": "const cui_text_opts *", + "Kind": "Pointer", + "Element": { + "Spelling": "const cui_text_opts", + "Kind": "Record", + "IsConst": true + } + } } ], "ReturnType": { @@ -29127,6 +30591,135 @@ "Module": "Text", "Doc": "" }, + { + "CName": "cui_heading", + "CsName": "Heading", + "CsReturn": "void", + "Params": [ + { + "CName": "ui", + "CsName": "ui", + "CsType": "nint", + "Type": { + "Spelling": "cui_ctx *", + "Kind": "Pointer", + "Element": { + "Spelling": "cui_ctx", + "Kind": "Record" + } + } + }, + { + "CName": "text", + "CsName": "text", + "CsType": "nint", + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + } + }, + { + "CName": "level", + "CsName": "level", + "CsType": "int", + "Type": { + "Spelling": "int", + "Kind": "Int" + } + } + ], + "ReturnType": { + "Spelling": "void", + "Kind": "Void" + }, + "Module": "Text", + "Doc": "1..4" + }, + { + "CName": "cui_label", + "CsName": "Label", + "CsReturn": "void", + "Params": [ + { + "CName": "ui", + "CsName": "ui", + "CsType": "nint", + "Type": { + "Spelling": "cui_ctx *", + "Kind": "Pointer", + "Element": { + "Spelling": "cui_ctx", + "Kind": "Record" + } + } + }, + { + "CName": "text", + "CsName": "text", + "CsType": "nint", + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + } + } + ], + "ReturnType": { + "Spelling": "void", + "Kind": "Void" + }, + "Module": "Text", + "Doc": "medium weight" + }, + { + "CName": "cui_secondary", + "CsName": "Secondary", + "CsReturn": "void", + "Params": [ + { + "CName": "ui", + "CsName": "ui", + "CsType": "nint", + "Type": { + "Spelling": "cui_ctx *", + "Kind": "Pointer", + "Element": { + "Spelling": "cui_ctx", + "Kind": "Record" + } + } + }, + { + "CName": "text", + "CsName": "text", + "CsType": "nint", + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + } + } + ], + "ReturnType": { + "Spelling": "void", + "Kind": "Void" + }, + "Module": "Text", + "Doc": "secondary color" + }, { "CName": "cui_muted", "CsName": "Muted", @@ -29165,7 +30758,7 @@ "Kind": "Void" }, "Module": "Text", - "Doc": "" + "Doc": "small, muted" }, { "CName": "cui_code", @@ -29205,7 +30798,7 @@ "Kind": "Void" }, "Module": "Text", - "Doc": "" + "Doc": "inline code" }, { "CName": "cui_kbd", @@ -29245,7 +30838,7 @@ "Kind": "Void" }, "Module": "Text", - "Doc": "* left to right in any interface: see cui__keep_ltr" + "Doc": "keyboard keycap, e.g. \"Ctrl K\"" }, { "CName": "cui_link", @@ -30971,7 +32564,7 @@ "Kind": "Int" }, "Module": "Navigation", - "Doc": "" + "Doc": "returns clicked index or -1" }, { "CName": "cui_pagination", @@ -31033,7 +32626,7 @@ "Kind": "Bool" }, "Module": "Navigation", - "Doc": "" + "Doc": "page is 0 based" }, { "CName": "cui_stepper", @@ -32848,7 +34441,7 @@ "Kind": "Bool" }, "Module": "Data display", - "Doc": "" + "Doc": "the node created by the last cui_tree_begin was clicked" }, { "CName": "cui_list_item_ex", @@ -33733,7 +35326,7 @@ "Kind": "ULongLong" }, "Module": "Data display", - "Doc": "" + "Doc": "PNG/JPEG via stb_image" }, { "CName": "cui_image_destroy", @@ -34401,7 +35994,7 @@ "Kind": "Bool" }, "Module": "More components", - "Doc": "Icon button that copies text to the clipboard and confirms with a check." + "Doc": "Icon button that copies text to the clipboard and confirms with a check. Keyboard focus stays on the button when the check appears or disappears." }, { "CName": "cui_hold_button_ex", @@ -35602,7 +37195,7 @@ "Kind": "Bool" }, "Module": "Data grid", - "Doc": "" + "Doc": "true when the row was clicked" }, { "CName": "cui_data_grid_cell", @@ -35628,7 +37221,7 @@ "Kind": "Void" }, "Module": "Data grid", - "Doc": "" + "Doc": "next cell; put components inside" }, { "CName": "cui_data_grid_cell_text", @@ -36178,7 +37771,7 @@ "Kind": "Int" }, "Module": "Tree table and path bar", - "Doc": "" + "Doc": "depth of the current row, 0 at the top" }, { "CName": "cui_tree_table_end", @@ -36761,7 +38354,7 @@ "Kind": "Void" }, "Module": "Code", - "Doc": "* left to right in any interface: see cui__keep_ltr" + "Doc": "" }, { "CName": "cui_json_view_ex", @@ -36829,7 +38422,7 @@ "Kind": "Bool" }, "Module": "Code", - "Doc": "* left to right in any interface: see cui__keep_ltr" + "Doc": "" }, { "CName": "cui_markdown_ex", @@ -37013,7 +38606,7 @@ "Kind": "Record" }, "Module": "Code editor", - "Doc": "* left to right in any interface: see cui__keep_ltr" + "Doc": "" }, { "CName": "cui_code_editor_goto", @@ -37265,7 +38858,7 @@ "Kind": "Record" }, "Module": "Diff viewer", - "Doc": "* left to right in any interface: see cui__keep_ltr" + "Doc": "" }, { "CName": "cui_diff_view_rows", @@ -37653,7 +39246,7 @@ "Kind": "Void" }, "Module": "Conversation", - "Doc": "" + "Doc": "\"Today\"" }, { "CName": "cui_typing_indicator", @@ -37693,7 +39286,7 @@ "Kind": "Void" }, "Module": "Conversation", - "Doc": "" + "Doc": "bouncing dots" }, { "CName": "cui_comment_ex", @@ -38308,7 +39901,7 @@ "Kind": "Void" }, "Module": "Media", - "Doc": "* left to right in any interface: see cui__keep_ltr" + "Doc": "" }, { "CName": "cui_ticker_ex", @@ -41410,7 +43003,7 @@ "Kind": "Bool" }, "Module": "Planning", - "Doc": "" + "Doc": "true: \"+\" clicked" }, { "CName": "cui_kanban_card_begin", @@ -41445,7 +43038,7 @@ "Kind": "Bool" }, "Module": "Planning", - "Doc": "" + "Doc": "true when clicked" }, { "CName": "cui_kanban_card_end", @@ -41621,7 +43214,7 @@ "Kind": "Int" }, "Module": "Planning", - "Doc": "* left to right in any interface: see cui__keep_ltr" + "Doc": "" }, { "CName": "cui_month_calendar_ex", @@ -41805,7 +43398,7 @@ "Kind": "Int" }, "Module": "Planning", - "Doc": "* left to right in any interface: see cui__keep_ltr" + "Doc": "" }, { "CName": "cui_hover_card_begin", @@ -42333,7 +43926,7 @@ "Kind": "Void" }, "Module": "More feedback", - "Doc": "* left to right in any interface: see cui__keep_ltr" + "Doc": "" }, { "CName": "cui_checklist_ex", @@ -42655,7 +44248,7 @@ "Kind": "Int" }, "Module": "Pickers", - "Doc": "" + "Doc": "days since 1970-01-01" }, { "CName": "cui_date_from_days", @@ -44029,7 +45622,7 @@ "Kind": "Bool" }, "Module": "More inputs", - "Doc": "* left to right in any interface: see cui__keep_ltr" + "Doc": "" }, { "CName": "cui_shortcut_label", @@ -45011,7 +46604,7 @@ "Kind": "Void" }, "Module": "App chrome: menu bar, toolbar, status bar, document tabs", - "Doc": "" + "Doc": "pushes the following items to the right" }, { "CName": "cui_status_bar_begin", @@ -46771,7 +48364,7 @@ "Kind": "Void" }, "Module": "Terminal", - "Doc": "" + "Doc": "len -1: up to the terminator" }, { "CName": "cui_terminal_clear", @@ -46864,7 +48457,7 @@ "Kind": "Record" }, "Module": "Terminal", - "Doc": "* left to right in any interface: see cui__keep_ltr" + "Doc": "" }, { "CName": "cui_emoji_font_load_file", @@ -46904,7 +48497,7 @@ "Kind": "Bool" }, "Module": "Emoji", - "Doc": "---- Emoji ---- Color emoji come from an emoji font: the system's (cui_emoji_font_load_system, which the picker calls by itself when nothing is loaded) or one the app ships. Bitmap color fonts (sbix as on macOS, CBDT as on Linux and Android) and layered ones (COLR version 0, as on Windows) are read, as is a plain outline font for one-color emoji. Sequences with skin tones, joined people and flags are looked up through the font's ligatures. Big fonts are read from the file as needed rather than loaded whole. Drawn emoji are kept in one texture and reused." + "Doc": "Color emoji come from an emoji font: the system's (cui_emoji_font_load_system, which the picker calls by itself when nothing is loaded) or one the app ships. Bitmap color fonts (sbix as on macOS, CBDT as on Linux and Android) and layered ones (COLR version 0, as on Windows) are read, as is a plain outline font for one-color emoji. Sequences with skin tones, joined people and flags are looked up through the font's ligatures. Big fonts are read from the file as needed rather than loaded whole. Drawn emoji are kept in one texture and reused." }, { "CName": "cui_emoji_font_load_memory", @@ -47037,7 +48630,7 @@ "Kind": "Bool" }, "Module": "Emoji", - "Doc": "" + "Doc": "the font (or platform) can draw it" }, { "CName": "cui_draw_emoji", @@ -47144,7 +48737,7 @@ "Kind": "Void" }, "Module": "Emoji", - "Doc": "" + "Doc": "one emoji as a component" }, { "CName": "cui_emoji_picker_ex", @@ -49654,7 +51247,7 @@ } }, "Module": "HTTP request bar", - "Doc": "" + "Doc": "\"Not Found\"; \"\" when unknown" }, { "CName": "cui_http_method_name", @@ -49730,7 +51323,7 @@ "Kind": "Int" }, "Module": "HTTP request bar", - "Doc": "" + "Doc": "returns the pairs written" }, { "CName": "cui_url_set_params", @@ -49788,7 +51381,7 @@ "Kind": "Bool" }, "Module": "HTTP request bar", - "Doc": "" + "Doc": "enabled pairs; false when it did not fit" }, { "CName": "cui_uptime_ex", @@ -50226,15 +51819,120 @@ } }, { - "CName": "flags", - "CsName": "flags", + "CName": "flags", + "CsName": "flags", + "CsType": "nint", + "Type": { + "Spelling": "cui_feature_flag *", + "Kind": "Pointer", + "Element": { + "Spelling": "cui_feature_flag", + "Kind": "Record" + } + } + }, + { + "CName": "count", + "CsName": "count", + "CsType": "int", + "Type": { + "Spelling": "int", + "Kind": "Int" + } + }, + { + "CName": "envs", + "CsName": "envs", + "CsType": "nint", + "Type": { + "Spelling": "const char *const *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char *const", + "Kind": "Pointer", + "IsConst": true, + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + } + } + }, + { + "CName": "env_count", + "CsName": "envCount", + "CsType": "int", + "Type": { + "Spelling": "int", + "Kind": "Int" + } + }, + { + "CName": "opts", + "CsName": "opts", + "CsType": "in NativeFeatureFlagsOpts", + "Type": { + "Spelling": "const cui_feature_flags_opts *", + "Kind": "Pointer", + "Element": { + "Spelling": "const cui_feature_flags_opts", + "Kind": "Record", + "IsConst": true + } + } + } + ], + "ReturnType": { + "Spelling": "cui_feature_flags_result", + "Kind": "Record" + }, + "Module": "Feature flags", + "Doc": "" + }, + { + "CName": "cui_api_explorer_ex", + "CsName": "ApiExplorer", + "CsReturn": "NativeApiExplorerResult", + "Params": [ + { + "CName": "ui", + "CsName": "ui", + "CsType": "nint", + "Type": { + "Spelling": "cui_ctx *", + "Kind": "Pointer", + "Element": { + "Spelling": "cui_ctx", + "Kind": "Record" + } + } + }, + { + "CName": "id", + "CsName": "id", + "CsType": "nint", + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + } + }, + { + "CName": "endpoints", + "CsName": "endpoints", "CsType": "nint", "Type": { - "Spelling": "cui_feature_flag *", + "Spelling": "const cui_api_endpoint *", "Kind": "Pointer", "Element": { - "Spelling": "cui_feature_flag", - "Kind": "Record" + "Spelling": "const cui_api_endpoint", + "Kind": "Record", + "IsConst": true } } }, @@ -50248,27 +51946,85 @@ } }, { - "CName": "envs", - "CsName": "envs", + "CName": "opts", + "CsName": "opts", + "CsType": "in NativeApiExplorerOpts", + "Type": { + "Spelling": "const cui_api_explorer_opts *", + "Kind": "Pointer", + "Element": { + "Spelling": "const cui_api_explorer_opts", + "Kind": "Record", + "IsConst": true + } + } + } + ], + "ReturnType": { + "Spelling": "cui_api_explorer_result", + "Kind": "Record" + }, + "Module": "API explorer", + "Doc": "" + }, + { + "CName": "cui_dot_chart_ex", + "CsName": "DotChart", + "CsReturn": "NativeDotChartResult", + "Params": [ + { + "CName": "ui", + "CsName": "ui", "CsType": "nint", "Type": { - "Spelling": "const char *const *", + "Spelling": "cui_ctx *", "Kind": "Pointer", "Element": { - "Spelling": "const char *const", - "Kind": "Pointer", - "IsConst": true, - "Element": { - "Spelling": "const char", - "Kind": "Char_S", - "IsConst": true - } + "Spelling": "cui_ctx", + "Kind": "Record" } } }, { - "CName": "env_count", - "CsName": "envCount", + "CName": "id", + "CsName": "id", + "CsType": "nint", + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + } + }, + { + "CName": "series", + "CsName": "series", + "CsType": "nint", + "Type": { + "Spelling": "const cui_dot_series *", + "Kind": "Pointer", + "Element": { + "Spelling": "const cui_dot_series", + "Kind": "Record", + "IsConst": true + } + } + }, + { + "CName": "series_count", + "CsName": "seriesCount", + "CsType": "int", + "Type": { + "Spelling": "int", + "Kind": "Int" + } + }, + { + "CName": "count", + "CsName": "count", "CsType": "int", "Type": { "Spelling": "int", @@ -50278,12 +52034,12 @@ { "CName": "opts", "CsName": "opts", - "CsType": "in NativeFeatureFlagsOpts", + "CsType": "in NativeDotChartOpts", "Type": { - "Spelling": "const cui_feature_flags_opts *", + "Spelling": "const cui_dot_chart_opts *", "Kind": "Pointer", "Element": { - "Spelling": "const cui_feature_flags_opts", + "Spelling": "const cui_dot_chart_opts", "Kind": "Record", "IsConst": true } @@ -50291,16 +52047,16 @@ } ], "ReturnType": { - "Spelling": "cui_feature_flags_result", + "Spelling": "cui_dot_chart_result", "Kind": "Record" }, - "Module": "Feature flags", + "Module": "Instruments: dot-matrix chart, event track, readout, dot-matrix display", "Doc": "" }, { - "CName": "cui_api_explorer_ex", - "CsName": "ApiExplorer", - "CsReturn": "NativeApiExplorerResult", + "CName": "cui_event_track_ex", + "CsName": "EventTrack", + "CsReturn": "NativeEventTrackResult", "Params": [ { "CName": "ui", @@ -50330,37 +52086,67 @@ } }, { - "CName": "endpoints", - "CsName": "endpoints", + "CName": "times", + "CsName": "times", "CsType": "nint", "Type": { - "Spelling": "const cui_api_endpoint *", + "Spelling": "double *", "Kind": "Pointer", "Element": { - "Spelling": "const cui_api_endpoint", - "Kind": "Record", - "IsConst": true + "Spelling": "double", + "Kind": "Double" } } }, { "CName": "count", "CsName": "count", + "CsType": "ref int", + "Type": { + "Spelling": "int *", + "Kind": "Pointer", + "Element": { + "Spelling": "int", + "Kind": "Int" + } + } + }, + { + "CName": "capacity", + "CsName": "capacity", "CsType": "int", "Type": { "Spelling": "int", "Kind": "Int" } }, + { + "CName": "min", + "CsName": "min", + "CsType": "double", + "Type": { + "Spelling": "double", + "Kind": "Double" + } + }, + { + "CName": "max", + "CsName": "max", + "CsType": "double", + "Type": { + "Spelling": "double", + "Kind": "Double" + } + }, { "CName": "opts", "CsName": "opts", - "CsType": "in NativeApiExplorerOpts", + "CsType": "in NativeEventTrackOpts", "Type": { - "Spelling": "const cui_api_explorer_opts *", + "Spelling": "const cui_event_track_opts *", "Kind": "Pointer", "Element": { - "Spelling": "const cui_api_explorer_opts", + "Spelling": "const cui_event_track_opts", "Kind": "Record", "IsConst": true } @@ -50368,10 +52154,132 @@ } ], "ReturnType": { - "Spelling": "cui_api_explorer_result", + "Spelling": "cui_event_track_result", "Kind": "Record" }, - "Module": "API explorer", + "Module": "Instruments: dot-matrix chart, event track, readout, dot-matrix display", + "Doc": "" + }, + { + "CName": "cui_readout_ex", + "CsName": "Readout", + "CsReturn": "void", + "Params": [ + { + "CName": "ui", + "CsName": "ui", + "CsType": "nint", + "Type": { + "Spelling": "cui_ctx *", + "Kind": "Pointer", + "Element": { + "Spelling": "cui_ctx", + "Kind": "Record" + } + } + }, + { + "CName": "label", + "CsName": "label", + "CsType": "nint", + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + } + }, + { + "CName": "value", + "CsName": "value", + "CsType": "nint", + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + } + }, + { + "CName": "opts", + "CsName": "opts", + "CsType": "in NativeReadoutOpts", + "Type": { + "Spelling": "const cui_readout_opts *", + "Kind": "Pointer", + "Element": { + "Spelling": "const cui_readout_opts", + "Kind": "Record", + "IsConst": true + } + } + } + ], + "ReturnType": { + "Spelling": "void", + "Kind": "Void" + }, + "Module": "Instruments: dot-matrix chart, event track, readout, dot-matrix display", + "Doc": "" + }, + { + "CName": "cui_dot_display_ex", + "CsName": "DotDisplay", + "CsReturn": "void", + "Params": [ + { + "CName": "ui", + "CsName": "ui", + "CsType": "nint", + "Type": { + "Spelling": "cui_ctx *", + "Kind": "Pointer", + "Element": { + "Spelling": "cui_ctx", + "Kind": "Record" + } + } + }, + { + "CName": "text", + "CsName": "text", + "CsType": "nint", + "Type": { + "Spelling": "const char *", + "Kind": "Pointer", + "Element": { + "Spelling": "const char", + "Kind": "Char_S", + "IsConst": true + } + } + }, + { + "CName": "opts", + "CsName": "opts", + "CsType": "in NativeDotDisplayOpts", + "Type": { + "Spelling": "const cui_dot_display_opts *", + "Kind": "Pointer", + "Element": { + "Spelling": "const cui_dot_display_opts", + "Kind": "Record", + "IsConst": true + } + } + } + ], + "ReturnType": { + "Spelling": "void", + "Kind": "Void" + }, + "Module": "Instruments: dot-matrix chart, event track, readout, dot-matrix display", "Doc": "" }, { @@ -50834,7 +52742,7 @@ "Kind": "Void" }, "Module": "Custom drawing", - "Doc": "" + "Doc": "convex" }, { "CName": "cui_draw_circle", @@ -51770,7 +53678,7 @@ "Kind": "Void" }, "Module": "cui_app", - "Doc": "" + "Doc": "The functions below take NULL for \"the app that is running\", which is how a cui_app_run callback reaches its window: cui_app_quit(NULL). Ends the loop after the current frame: cui_app_frame returns false, cui_app_run returns." }, { "CName": "cui_app_set_title", @@ -51854,7 +53762,7 @@ "Kind": "Void" }, "Module": "cui_app", - "Doc": "" + "Doc": "The window's size in logical points (the same units as cui_app_desc.width)." }, { "CName": "cui_app_size", @@ -51906,7 +53814,7 @@ "Kind": "Bool" }, "Module": "cui_app", - "Doc": "" + "Doc": "True when the software renderer is drawing (no usable OpenGL, or it was asked for)." }, { "CName": "cui_app_native_window", diff --git a/bindings/coverage.txt b/bindings/coverage.txt index 8a5241c..0fc3020 100644 --- a/bindings/coverage.txt +++ b/bindings/coverage.txt @@ -1,10 +1,13 @@ Generated by tools/bindgen.cs. Do not edit. OPTIONS -Generated: 166; pending ownership/length semantics: 0 +Generated: 170; pending ownership/length semantics: 0 RECORDS -Data records generated as array items: 101 +Data records generated as array items: 104 +GENERATED cui_event_track_result -> EventTrackResult (+ write-back) +GENERATED cui_dot_chart_result -> DotChartResult (+ write-back) +GENERATED cui_chart_annotation -> ChartAnnotation GENERATED cui_trace_view -> TraceViewState (+ write-back) GENERATED cui_api_explorer_result -> ApiExplorerResult (+ write-back) GENERATED cui_feature_flags_result -> FeatureFlagsResult (+ write-back) @@ -109,7 +112,7 @@ GENERATED cui_hex_result -> HexResult (+ write-back) WIDGETS Wrapper emission is being migrated by header section (Phase 2, Step 2). Not a completed coverage gate. -Generated wrappers: 274; raw functions covered including scope ends: 314/492 +Generated wrappers: 277; raw functions covered including scope ends: 317/496 MANUAL cui_create: `CuiSurface.Create` owns context creation (CuiSurface.cs). MANUAL cui_destroy: `CuiSurface.Dispose` (CuiSurface.cs). MANUAL cui_set_renderer: `CuiSurface.Create` installs the software renderer; CuiApp lets CUI pick (CuiSurface.cs). @@ -553,6 +556,10 @@ GENERATED cui_coverage_ex GENERATED cui_blame_ex GENERATED cui_feature_flags_ex GENERATED cui_api_explorer_ex +MANUAL cui_dot_chart_ex: A dot series carries its samples as a bare pointer, and their number is the call's, not the series': the wrapper builds the array in the frame arena from managed series, as the line and bar charts do. +GENERATED cui_event_track_ex +GENERATED cui_readout_ex +GENERATED cui_dot_display_ex MANUAL cui_draw_rect: `ui.DrawRect` (Ui.Draw.cs): a RectF and a radius, no corners struct. MANUAL cui_draw_rect_border: `ui.DrawRect(rect, fill, border, width, radius)` (Ui.Draw.cs): the border overload. MANUAL cui_draw_rect_gradient: `ui.DrawRectGradient` (Ui.Draw.cs). diff --git a/bindings/overrides.json b/bindings/overrides.json index a2f050e..1a9a450 100644 --- a/bindings/overrides.json +++ b/bindings/overrides.json @@ -237,6 +237,28 @@ "why": "CUI takes an int* the method menu writes: the wrapper keeps the caller's HttpMethod and hands over the int behind it." } }, + "capacityParams": { + "cui_curve_editor_ex.capacity": { + "array": "keys", + "why": "The editor adds keys up to the buffer it was given: the span's length is that buffer." + }, + "cui_gradient_editor_ex.capacity": { + "array": "stops", + "why": "The editor adds stops up to the buffer it was given: the span's length is that buffer." + }, + "cui_kv_editor_ex.capacity": { + "array": "pairs", + "why": "The editor adds pairs up to the buffer it was given: the span's length is that buffer." + }, + "cui_query_builder_ex.capacity": { + "array": "nodes", + "why": "The builder adds nodes up to the buffer it was given: the span's length is that buffer." + }, + "cui_event_track_ex.capacity": { + "array": "times", + "why": "The track adds events up to the buffer it was given: the span's length is that buffer." + } + }, "scopes": { "cui_row_begin": { "end": "cui_box_end", @@ -801,6 +823,9 @@ }, "cui_filter_bar": { "why": "ui.FilterBar (Ui/Ui.BoolGroups.cs): the bar edits one option bitmask per field in the caller's array; the wrapper copies through a frame-arena uint block because native writes count masks, not one." + }, + "cui_dot_chart_ex": { + "why": "A dot series carries its samples as a bare pointer, and their number is the call's, not the series': the wrapper builds the array in the frame arena from managed series, as the line and bar charts do." } }, "outParams": { @@ -1269,6 +1294,18 @@ "cui_trace_view": { "name": "TraceViewState", "why": "The visible time range, the scroll and the measured range: the caller owns it and the viewer moves it. Named State because the widget's member is already TraceView." + }, + "cui_chart_annotation": { + "name": "ChartAnnotation", + "why": "Chart annotations are built by callers as a small record: the wrapper owns the array of them, and two of the fields are strings." + }, + "cui_dot_chart_result": { + "name": "DotChartResult", + "why": "What the dot chart reports back: the sample under the pointer and whether the plot was clicked." + }, + "cui_event_track_result": { + "name": "EventTrackResult", + "why": "What the event track reports back: whether it changed, and which event was added, removed or selected." } }, "extraOptionFields": { @@ -1646,6 +1683,10 @@ "cui_regex_tester_opts.flags": { "type": "RegexFlags", "why": "The CUI_REGEX_* flags the tester toggles, so the wrapper passes a ref RegexFlags and writes it back." + }, + "cui_event_track_opts.selected": { + "type": "int", + "why": "The selected event: the track moves it with the keys and a drag, so the wrapper writes it back." } }, "arrayParams": { @@ -1731,6 +1772,11 @@ "count": "count", "why": "Dragging reschedules a task in place: the wrapper copies the tasks back on the frame the widget names a moved one, because converting every task every frame would allocate strings for nothing.", "changedWhen": "__result >= 0" + }, + "cui_event_track_ex.times": { + "count": "count", + "why": "The track keeps its events sorted, moves them with the keys and a drag, adds on a click and removes on a double-click: the wrapper copies the array and its count back on the frames it reports a change.", + "changedWhen": "__result.Changed != 0" } }, "hiddenOptionFields": { diff --git a/docs/API-SURFACE.txt b/docs/API-SURFACE.txt index 44f6461..4f110ae 100644 --- a/docs/API-SURFACE.txt +++ b/docs/API-SURFACE.txt @@ -54,6 +54,10 @@ enum CuiSharp.Align End Start Stretch +enum CuiSharp.AnnotationKind + Point + X + Y struct CuiSharp.ApiEndpoint ctor(String, String, String, String, Boolean, ApiParam[]) field ApiParam[] Params @@ -115,6 +119,9 @@ struct CuiSharp.AvatarOpts field Single Size field String Status field UInt64 Image +enum CuiSharp.AxisUnits + Hours + Number struct CuiSharp.BadgeOpts ctor(Tone) field Boolean Dot @@ -246,7 +253,6 @@ struct CuiSharp.CandlestickOpts field Boolean Ohlc field Color Down field Color Up - field Int32 OverlayCount field Series[] Overlays field Single Height field Size Width @@ -298,6 +304,14 @@ struct CuiSharp.CarouselOpts field Single AutoAdvance field Single Gap field Single Height +struct CuiSharp.ChartAnnotation + ctor(AnnotationKind, Double, Double, String, String, Boolean) + field AnnotationKind Kind + field Boolean Accent + field Double X + field Double Y + field String Detail + field String Label class CuiSharp.ChartNormalizer static Int32 Normalize(ReadOnlySpan, Span, NormalizeMode) static Single FindBaseline(ReadOnlySpan) @@ -307,6 +321,7 @@ struct CuiSharp.ChartOpts field Boolean NoLegend field Boolean Smooth field Boolean Stacked + field ChartAnnotation[] Annotations field Int32 MaxPoints field NormalizeMode Normalize field Single Height @@ -353,7 +368,6 @@ struct CuiSharp.CodeEditorOpts field Boolean NoLineNumbers field Boolean ReadOnly field Boolean UseTabs - field Int32 MarkCount field Int32 TabSize field Single Height field Single Size @@ -495,7 +509,6 @@ enum CuiSharp.ComposerEvents struct CuiSharp.ComposerOpts field Boolean Busy field Int32 MaxLines - field Int32 ModelCount field Model[] Models field Size Width field String Placeholder @@ -514,7 +527,6 @@ struct CuiSharp.ConfirmPopoverOpts field String Description field String Title struct CuiSharp.ContextOpts - field Int32 PartCount field String Unit field VizItem[] Parts enum CuiSharp.ControlSize @@ -732,11 +744,11 @@ enum CuiSharp.Cursor ResizeNs Text class CuiSharp.CurveAndGradientEditorsUiExtensions - static CurveResult CurveEditor(Ui, UiText, Span, ref Int32, Int32, ref Int32, CurveOpts) - static GradientResult GradientEditor(Ui, UiText, Span, ref Int32, Int32, ref Int32, GradientOpts) + static CurveResult CurveEditor(Ui, UiText, Span, ref Int32, ref Int32, CurveOpts) + static GradientResult GradientEditor(Ui, UiText, Span, ref Int32, ref Int32, GradientOpts) class CuiSharp.CurveAndGradientEditorsUiExtensions+$2E78AC6C4589E2D26F56ACB2C0F932B4 - CurveResult CurveEditor(UiText, Span, ref Int32, Int32, ref Int32, CurveOpts) - GradientResult GradientEditor(UiText, Span, ref Int32, Int32, ref Int32, GradientOpts) + CurveResult CurveEditor(UiText, Span, ref Int32, ref Int32, CurveOpts) + GradientResult GradientEditor(UiText, Span, ref Int32, ref Int32, GradientOpts) class CuiSharp.CurveAndGradientEditorsUiExtensions+$2E78AC6C4589E2D26F56ACB2C0F932B4+$D152016828D0F2CB0A8B78500F4F70D3 struct CuiSharp.CurveKey ctor(Single, Single, Single, Single, Single, Single, Byte) @@ -1049,6 +1061,42 @@ struct CuiSharp.DockspaceOpts field Size Height field Size Width field String Layout +struct CuiSharp.DotChartOpts + field AxisUnits XUnits + field Boolean NoAxis + field Boolean NoGrid + field Boolean NoReadout + field ChartAnnotation[] Annotations + field Double XMax + field Double XMin + field Double XStep + field Single Height + field Single Max + field Single Min + field Single Pitch + field Size Width + field String Format + field String Unit + field String XFormat +struct CuiSharp.DotChartResult + ctor(Int32, Double, Single, Boolean) + field Boolean Clicked + field Double X + field Int32 Hovered + field Single Value +struct CuiSharp.DotDisplayOpts + field Boolean Accent + field Boolean Marquee + field Boolean NoDim + field Color Color + field Single Pitch + field Size Width + field TextAlign Align +struct CuiSharp.DotSeries + ctor(Single[], String, Boolean) + property Boolean Accent { get; } + property Single[] Values { get; } + property String Name { get; } class CuiSharp.DrawFn : MulticastDelegate IAsyncResult BeginInvoke(Ui, AsyncCallback, Object) Void EndInvoke(IAsyncResult) @@ -1099,6 +1147,22 @@ struct CuiSharp.EmptyOpts field String Action field String Description field String Icon +struct CuiSharp.EventTrackOpts + field AxisUnits Units + field Boolean NoAdd + field Boolean NoAxis + field Boolean NoRemove + field Double LabelStep + field Double Step + field Size Width + field String Format +struct CuiSharp.EventTrackResult + ctor(Boolean, Int32, Int32, Int32, Boolean) + field Boolean Changed + field Boolean Dragging + field Int32 Added + field Int32 Removed + field Int32 Selected struct CuiSharp.ExpandableCardOpts field String Badge field String Description @@ -1393,7 +1457,6 @@ struct CuiSharp.HexViewOpts field Boolean NoHeader field HexRange[] Ranges field Int32 BytesPerRow - field Int32 RangeCount field Single Height field Single Size field Size Width @@ -1770,6 +1833,15 @@ struct CuiSharp.InputResult struct CuiSharp.InspectorOpts field Single LabelWidth field Size Width +class CuiSharp.InstrumentsDotMatrixChartEventTrackReadoutDotMatrixDisplayUiExtensions + static EventTrackResult EventTrack(Ui, UiText, Span, ref Int32, Double, Double, ref Int32, EventTrackOpts) + static Void DotDisplay(Ui, UiText, DotDisplayOpts) + static Void Readout(Ui, UiText, UiText, ReadoutOpts) +class CuiSharp.InstrumentsDotMatrixChartEventTrackReadoutDotMatrixDisplayUiExtensions+$2E78AC6C4589E2D26F56ACB2C0F932B4 + EventTrackResult EventTrack(UiText, Span, ref Int32, Double, Double, ref Int32, EventTrackOpts) + Void DotDisplay(UiText, DotDisplayOpts) + Void Readout(UiText, UiText, ReadoutOpts) +class CuiSharp.InstrumentsDotMatrixChartEventTrackReadoutDotMatrixDisplayUiExtensions+$2E78AC6C4589E2D26F56ACB2C0F932B4+$D152016828D0F2CB0A8B78500F4F70D3 class CuiSharp.Interop.Native static Accent GetAccent(IntPtr) static Byte AccordionBegin(IntPtr, IntPtr, IntPtr) @@ -2013,6 +2085,8 @@ class CuiSharp.Interop.Native static NativeDate DateToday() static NativeDiffResult DiffView(IntPtr, IntPtr, IntPtr, IntPtr, in NativeDiffOpts) static NativeDocTabsResult DocTabs(IntPtr, IntPtr, IntPtr, Int32, ref Int32, in NativeDocTabsOpts) + static NativeDotChartResult DotChart(IntPtr, IntPtr, IntPtr, Int32, Int32, in NativeDotChartOpts) + static NativeEventTrackResult EventTrack(IntPtr, IntPtr, IntPtr, ref Int32, Int32, Double, Double, in NativeEventTrackOpts) static NativeFeatureFlagsResult FeatureFlags(IntPtr, IntPtr, IntPtr, Int32, IntPtr, Int32, in NativeFeatureFlagsOpts) static NativeFileBrowserResult FileBrowser(IntPtr, IntPtr, IntPtr, UIntPtr, in NativeFileBrowserOpts) static NativeFlameResult FlameGraph(IntPtr, IntPtr, IntPtr, Int32, ref NativeFlameView, ref Int32, in NativeFlameOpts) @@ -2109,6 +2183,7 @@ class CuiSharp.Interop.Native static Void DockspaceBegin(IntPtr, IntPtr, in NativeDockspaceOpts) static Void DockspaceEnd(IntPtr) static Void DonutChart(IntPtr, IntPtr, IntPtr, IntPtr, Int32, in NativeChartOpts) + static Void DotDisplay(IntPtr, IntPtr, in NativeDotDisplayOpts) static Void DrawArc(IntPtr, NativeVec2, Single, Single, Single, Single, NativeColor) static Void DrawCircle(IntPtr, NativeVec2, Single, NativeColor) static Void DrawEmoji(IntPtr, IntPtr, Int32, NativeRect) @@ -2193,6 +2268,7 @@ class CuiSharp.Interop.Native static Void PushId(IntPtr, IntPtr) static Void PushIdInt(IntPtr, Int32) static Void RadialGauge(IntPtr, IntPtr, Single, Single, Single, in NativeRadialGaugeOpts) + static Void Readout(IntPtr, IntPtr, IntPtr, in NativeReadoutOpts) static Void ReasoningEnd(IntPtr) static Void ReorderBegin(IntPtr, IntPtr, ref Int32, Int32) static Void ReorderItemBegin(IntPtr, Int32) @@ -2315,6 +2391,7 @@ struct CuiSharp.Interop.NativeAppDesc field Int32 MinHeight field Int32 MinWidth field Int32 Width + field IntPtr AppId field IntPtr Title field Renderer Renderer field Theme Theme @@ -2477,14 +2554,23 @@ struct CuiSharp.Interop.NativeCarouselOpts field Single AutoAdvance field Single Gap field Single Height +struct CuiSharp.Interop.NativeChartAnnotation + field AnnotationKind Kind + field Byte Accent + field Double X + field Double Y + field IntPtr Detail + field IntPtr Label struct CuiSharp.Interop.NativeChartOpts field Byte Area field Byte NoGrid field Byte NoLegend field Byte Smooth field Byte Stacked + field Int32 AnnotationCount field Int32 LabelCount field Int32 Sentinel + field IntPtr Annotations field IntPtr Format field IntPtr Labels field NativeSize Width @@ -2831,6 +2917,43 @@ struct CuiSharp.Interop.NativeDockspaceOpts field NativeSize Width field Single MinPanelHeight field Single MinPanelWidth +struct CuiSharp.Interop.NativeDotChartOpts + field AxisUnits XUnits + field Byte NoAxis + field Byte NoGrid + field Byte NoReadout + field Double XMax + field Double XMin + field Double XStep + field Int32 AnnotationCount + field Int32 Sentinel + field IntPtr Annotations + field IntPtr Format + field IntPtr Unit + field IntPtr XFormat + field NativeSize Width + field Single Height + field Single Max + field Single Min + field Single Pitch +struct CuiSharp.Interop.NativeDotChartResult + field Byte Clicked + field Double X + field Int32 Hovered + field Single Value +struct CuiSharp.Interop.NativeDotDisplayOpts + field Byte Accent + field Byte Marquee + field Byte NoDim + field Int32 Sentinel + field NativeColor Color + field NativeSize Width + field Single Pitch + field TextAlign Align +struct CuiSharp.Interop.NativeDotSeries + field Byte Accent + field IntPtr Name + field IntPtr Values struct CuiSharp.Interop.NativeDrawCmd field NativeRect Clip field UInt32 IndexCount @@ -2876,6 +2999,23 @@ struct CuiSharp.Interop.NativeEmptyOpts field IntPtr Action field IntPtr Description field IntPtr Icon +struct CuiSharp.Interop.NativeEventTrackOpts + field AxisUnits Units + field Byte NoAdd + field Byte NoAxis + field Byte NoRemove + field Double LabelStep + field Double Step + field Int32 Sentinel + field IntPtr Format + field IntPtr Selected + field NativeSize Width +struct CuiSharp.Interop.NativeEventTrackResult + field Byte Changed + field Byte Dragging + field Int32 Added + field Int32 Removed + field Int32 Selected struct CuiSharp.Interop.NativeExpandableCardOpts field Int32 Sentinel field IntPtr Badge @@ -3552,6 +3692,15 @@ struct CuiSharp.Interop.NativeReaction field Byte Active field Int32 Count field IntPtr Icon +struct CuiSharp.Interop.NativeReadoutOpts + field Byte Accent + field ControlSize Size + field Int32 Sentinel + field IntPtr Detail + field IntPtr Unit + field NativeSize Width + field TextAlign Align + field Tone Tone struct CuiSharp.Interop.NativeReasoningOpts field Byte Thinking field Int32 Sentinel @@ -4367,9 +4516,9 @@ struct CuiSharp.KeyValue field String Key field String Value class CuiSharp.KeyValueEditorUiExtensions - static Boolean KvEditor(Ui, UiText, Span, ref Int32, Int32, KvEditorOpts) + static Boolean KvEditor(Ui, UiText, Span, ref Int32, KvEditorOpts) class CuiSharp.KeyValueEditorUiExtensions+$2E78AC6C4589E2D26F56ACB2C0F932B4 - Boolean KvEditor(UiText, Span, ref Int32, Int32, KvEditorOpts) + Boolean KvEditor(UiText, Span, ref Int32, KvEditorOpts) class CuiSharp.KeyValueEditorUiExtensions+$2E78AC6C4589E2D26F56ACB2C0F932B4+$D152016828D0F2CB0A8B78500F4F70D3 struct CuiSharp.KeyedScope`1 Boolean MoveNext() @@ -5060,9 +5209,9 @@ struct CuiSharp.PropOpts field String Suffix field String Tooltip class CuiSharp.QueryBuilderUiExtensions - static Boolean QueryBuilder(Ui, UiText, ReadOnlySpan, Span, ref Int32, Int32, QueryOpts) + static Boolean QueryBuilder(Ui, UiText, ReadOnlySpan, Span, ref Int32, QueryOpts) class CuiSharp.QueryBuilderUiExtensions+$2E78AC6C4589E2D26F56ACB2C0F932B4 - Boolean QueryBuilder(UiText, ReadOnlySpan, Span, ref Int32, Int32, QueryOpts) + Boolean QueryBuilder(UiText, ReadOnlySpan, Span, ref Int32, QueryOpts) class CuiSharp.QueryBuilderUiExtensions+$2E78AC6C4589E2D26F56ACB2C0F932B4+$D152016828D0F2CB0A8B78500F4F70D3 struct CuiSharp.QueryField ctor(String, QueryType, String[]) @@ -5095,7 +5244,6 @@ struct CuiSharp.RadialGaugeOpts field Boolean NoNeedle field Boolean ShowTarget field GaugeBand[] Bands - field Int32 BandCount field Int32 Ticks field Single Size field Single Sweep @@ -5110,6 +5258,14 @@ struct CuiSharp.Reaction field Boolean Active field Int32 Count field String Icon +struct CuiSharp.ReadoutOpts + field Boolean Accent + field ControlSize Size + field Size Width + field String Detail + field String Unit + field TextAlign Align + field Tone Tone struct CuiSharp.ReasoningOpts field Boolean Thinking field Single Seconds @@ -5847,7 +6003,6 @@ struct CuiSharp.TraceMarker field String Name field Tone Tone struct CuiSharp.TraceOpts - field Int32 MarkerCount field Single Height field Single RowHeight field Size Width @@ -5969,6 +6124,7 @@ struct CuiSharp.Ui Color TokenColor(Token) DisabledScope Disabled(Boolean) DisabledScope Disabled(Boolean, DrawFn) + DotChartResult DotChart(UiText, ReadOnlySpan, Int32, DotChartOpts) IdScope Id(Int32) IdScope Id(UiText) InputResult Input(UiText, ref String, InputOpts) diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index 1c7cc02..938e6bc 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -43,7 +43,7 @@ src/CuiSharp.Tools/ dotnet cui: the docs and API offline, then build, src/CuiSharp.Templates/ dotnet new cui-app / cui-mini src/CuiSharp.Tests/ ABI, enums, marshalling, frame behaviour, hosting, tools, docs drift src/CuiSharp.Benchmarks/ BenchmarkDotNet suites + --fps and --scale harnesses -samples/CuiSharp.Gallery/ twenty-eight pages of every component, one file per page +samples/CuiSharp.Gallery/ twenty-nine pages of every component, one file per page native/ submodule + the two build scripts tools/ bindgen.cs, regen.ps1, verify-template.ps1, api-surface.ps1, snapshots.ps1 bindings/ api.json (generated IR), overrides.json (inputs), coverage.txt (report) @@ -88,12 +88,19 @@ The convention table the generator's default rules implement: | result flags (`CUI_CHANGED`, …) | `readonly struct` (`InputResult`) when the bits are shared and read one by one | | a widget's own event or action word | the `[Flags]` enum or enum it names (`PlayerEvents`, `TourAction`) | | `CUI_TONE_DANGER` | `Tone.Danger` | -| header comment | `/// ` | +| a comment in the header, beside a declaration, or above the definition | `/// ` | An array is a `const` pointer, and a widget that writes one value back through a pointer says so with a non-const one: `float *pos` is the compare divider, not a list of positions. That is why the plural-name heuristic in `Parameter()` is narrowed to const pointers — `pos` and `progress` end -in an `s` and are still one number. +in an `s` and are still one number. An `arrayParams` or `inOutArrays` entry overrides the heuristic +outright, which is how `double *times` on the event track is read as the array it is. + +**A length is passed once, never twice.** A count is derived from the array (`x`/`x_count`, or an +`optionFieldCounts` pair) and a `capacity` is the array's own length (`capacityParams`), so the +parameter leaves the signature. Two numbers for one buffer is a disagreement waiting to happen, and +the widget writes up to the number it was told: a capacity larger than the array is a buffer +overrun the type system would not catch. An `int` return is the last thing callers should have to decode. When the header documents it as one of `CUI_TOUR_*` or a `CUI_PLAYER_*` word, the wrapper returns that enum (`returnTypes` in @@ -104,6 +111,20 @@ Adding a wrapper to the hand-written layer instead of the generator is allowed, recorded in `bindings/overrides.json` as `MANUAL` with the member and the file, because `coverage.txt` claims that nothing wraps it otherwise. +**A wrapper's summary is upstream's own sentence, wherever upstream wrote it.** Five places, in +order: the comment above the declaration, the one beside it (`CUI_API void cui_gap(...); /* a gap */`, +which libclang does not attach to the declaration), the comment above the definition in the C source, +the paragraph above the options struct, and — because upstream attaches a block to the declaration +under it, and the component's paragraph often sits above an *item record* (`cui_blame_commit`) or an +*enum* (`cui_task_status`) instead — that declaration's paragraph, when this widget is the only +function that takes it. `cui_viz_item` opens the Treemap section and Funnel, Waffle and Bar list take +the same record, so its paragraph describes the record and is not used as their summary. Constant and +field comments become enum-member and field summaries the same way. Two things are not +documentation and are dropped: a section title bar (`---- Terminal ----`), which libclang attaches to +the declaration beneath it, and a note written to CUI's next reader (`left to right in any +interface: see cui__keep_ltr`), which would otherwise stand in for the description the header has. +What stays uncommented is counted in `docs/PLAN.md` rather than filled in by hand. + Record array counts derive only through explicit `recordFieldCounts` overrides identifying input-only metadata (`QueryField.Choices`, `ApiEndpoint.Params`, `UptimeService.Days`, `StackFrame.Source`, `FilterField.Options`). An output count is information, so declaration shape diff --git a/docs/PERFORMANCE.md b/docs/PERFORMANCE.md index e501d58..4e420af 100644 --- a/docs/PERFORMANCE.md +++ b/docs/PERFORMANCE.md @@ -38,12 +38,17 @@ on every pull request, every shape in the on-demand job. | Gallery frame, 1240x820, software raster | **0.83 ms** mean (p50 0.69, p95 1.16, p99 1.39) | budget 0.90 ms, `--fps 900` | | Build only (a GPU would rasterize) | 0.02 ms | same run | | Managed allocation per frame | **0 B** | `FrameLifecycleTests`, `NewComponentTests` | -| Gallery AOT executable, win-x64 | **2 878 976 B** | budget 2.95 MB | +| Gallery AOT executable, win-x64 | **2 918 400 B** | budget 2.95 MB | | A million virtual list rows | ~12 µs | `--scale` | | A million chart points, undecimated | 45.9 ms | why decimation exists | | A million chart points, decimated to 800 | 0.018 ms | same | | Idle window CPU | 0 % | by construction: CUI sleeps between frames | +The executable grew again with CUI 1.4, from 2 878 976 B to 2 918 400 B: the five instrument +components, and the header comments CUI 1.4 wrote for every field of every options struct, which +reach the gallery as generated documentation. Frame time is unchanged (p50 0.68, p95 1.10, p99 +1.33 ms) and a frame still allocates nothing. + The executable grew from 2 141 184 B to 2 579 456 B with CUI 1.3, and the growth is upstream's: the twenty components it added are about 5 000 lines of new C (`cui_devtools.c`, `cui_devpanels.c`, `cui_devviews.c`, `cui_graph.c`, `cui_regex.c`) compiled into the same library. The frame time did not @@ -61,7 +66,7 @@ What is inside the executable, and what each widget family costs: [SIZE.md](SIZE ## Gallery, page by page -`tools/page-costs.ps1` walks all twenty-eight pages in one headless process: it clicks each page, +`tools/page-costs.ps1` walks all twenty-nine pages in one headless process: it clicks each page, proves the heading says the page opened, parks the pointer, and then *dwells* — holding the page for three seconds while it really draws, through the silent `pulse` command, so the measurement never pays for serialising the tree it is measuring — while `dotnet cui` samples the app's @@ -111,7 +116,7 @@ What the table says: page burns ~3 000 cpu-ms per 3 000 wall-ms. It becomes a signal only when a page cannot keep a core fed — none today. - **ws and priv climb across the walk, not per page**: the steps are Tools (+21 MB) and Social - and media (+4 MB), both one-time native state. Walking the same twenty-eight pages a second time + and media (+4 MB), both one-time native state. Walking the same twenty-nine pages a second time in the same process adds **2.6 MB** (62.5 → 65.1), so nothing accumulates — the first walk is the process meeting each page for the first time. - **The 21 MB at Tools is the colour-emoji font**, and it is the only large one. CUI draws emoji diff --git a/docs/PLAN.md b/docs/PLAN.md index ca4650d..5351509 100644 --- a/docs/PLAN.md +++ b/docs/PLAN.md @@ -20,9 +20,14 @@ in [ARCHITECTURE.md](ARCHITECTURE.md). Every item here passes the same gates as painting a sample and comparing pixels, because a missing glyph still reports a `.notdef` advance. - **A window icon** on all three platforms, and `_NET_WM_ICON` on X11. The handle is now reachable (`CuiWindow.NativeWindow`), so an app can P/Invoke its own on Windows today. -- **Documentation on the declaration.** 208 of the 278 generated wrappers carry nothing but the C - name, because the header has no comment the generator can read, so `ui.TableRow` says - `cui_table_row_ex` and nothing more. +- **Documentation on the declaration.** 94 wrapped functions still say nothing but the C name. + Everything CUI writes now reaches the wrapper (above the declaration, beside it, above the + definition, the component's paragraph wherever upstream attached it, and every field and constant + comment), so what is left is what upstream has not written: `ui.Button`, `ui.Text`, `ui.Card` and + their neighbours get a sentence only when CUI documents the function itself. A few components are + documented in a block that no declaration follows — `cui_code_editor_ex`'s paragraph sits between + the previous struct's comment and `cui_text_mark`'s own one-liner — and libclang attaches it to + neither, so it is unreachable without reading sections rather than declarations. ## 3. Tracked gaps, not planned diff --git a/docs/RELEASING.md b/docs/RELEASING.md index 075c3ba..7f99f8f 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -46,7 +46,7 @@ what `release.yml` and `ci.yml` pin; `build-native.sh` fails if the produced `li ## 3. Regenerate the face of the release ```sh -pwsh tools/snapshots.ps1 # light, twenty-eight pages +pwsh tools/snapshots.ps1 # light, twenty-nine pages pwsh tools/snapshots.ps1 -Theme dark -Suffix -dark -Pages overview,charts,studio,data ``` diff --git a/docs/SIZE.md b/docs/SIZE.md index 359df01..6824575 100644 --- a/docs/SIZE.md +++ b/docs/SIZE.md @@ -55,7 +55,7 @@ way: | App | Before the profile | Shipped | |---|---|---| | minimal app | 1 498 112 | 1 165 312 (−22.2%) | -| gallery, 28 pages | 3 167 232 | 2 878 976 (−9.1%) | +| gallery, 29 pages | 3 167 232 | 2 918 400 (−7.9%) | | `dotnet new cui-app`, published | — | 2 282 496 | | `dotnet new cui-mini`, published | — | 1 198 080 | diff --git a/docs/WASM-NOTES.md b/docs/WASM-NOTES.md index d93f462..ead3cf8 100644 --- a/docs/WASM-NOTES.md +++ b/docs/WASM-NOTES.md @@ -35,7 +35,7 @@ still needs a full validation before adoption. pack also failed in `wasm-opt` (`Unknown option --enable-bulk-memory-opt`); the matching 3.1.56 archive publishes with Release `-Oz` and runs in Chrome. - **The full gallery and browser host run under the interpreter.** - `samples/CuiSharp.Gallery.Browser` links the real 28-page gallery and presents it to a canvas. A + `samples/CuiSharp.Gallery.Browser` links the real 29-page gallery and presents it to a canvas. A separate all-pages loop reported `GALLERY-28-PAGES-OK faults=0` with the .NET 10.0.403 optimized build. Headless Chrome screenshots show the rendered Overview and Buttons pages; a click changes the selected page, and an input smoke types `Browser Input` into the gallery's Full name field. @@ -58,7 +58,7 @@ artifacts have been removed from `docs/wasm-probe/` and replaced with the direct ## Size and dependency evidence -An earlier standalone **non-AOT** .NET 11 browser app using the current 28-page gallery, +An earlier standalone **non-AOT** .NET 11 browser app using the current 29-page gallery, `CuiSharp`, invariant culture/timezone, the size profile, the software-only CUI archive, and Release `-Oz` produced: diff --git a/docs/images/gallery/01-overview-dark.png b/docs/images/gallery/01-overview-dark.png index 2cae347..aa101c8 100644 Binary files a/docs/images/gallery/01-overview-dark.png and b/docs/images/gallery/01-overview-dark.png differ diff --git a/docs/images/gallery/01-overview.png b/docs/images/gallery/01-overview.png index fb6ffbd..106418a 100644 Binary files a/docs/images/gallery/01-overview.png and b/docs/images/gallery/01-overview.png differ diff --git a/docs/images/gallery/10-studio-dark.png b/docs/images/gallery/10-studio-dark.png index ebce450..d654de2 100644 Binary files a/docs/images/gallery/10-studio-dark.png and b/docs/images/gallery/10-studio-dark.png differ diff --git a/docs/images/gallery/10-studio.png b/docs/images/gallery/10-studio.png index d1081dc..78984ef 100644 Binary files a/docs/images/gallery/10-studio.png and b/docs/images/gallery/10-studio.png differ diff --git a/docs/images/gallery/11-tools.png b/docs/images/gallery/11-tools.png index 08bf0cd..991168d 100644 Binary files a/docs/images/gallery/11-tools.png and b/docs/images/gallery/11-tools.png differ diff --git a/docs/images/gallery/12-devtools.png b/docs/images/gallery/12-devtools.png index 44ca24d..f8a332b 100644 Binary files a/docs/images/gallery/12-devtools.png and b/docs/images/gallery/12-devtools.png differ diff --git a/docs/images/gallery/13-devtools2.png b/docs/images/gallery/13-devtools2.png index 6b424a0..6191d61 100644 Binary files a/docs/images/gallery/13-devtools2.png and b/docs/images/gallery/13-devtools2.png differ diff --git a/docs/images/gallery/14-actions.png b/docs/images/gallery/14-actions.png index 9d65e50..6a1749f 100644 Binary files a/docs/images/gallery/14-actions.png and b/docs/images/gallery/14-actions.png differ diff --git a/docs/images/gallery/15-smartinputs.png b/docs/images/gallery/15-smartinputs.png index b000b12..abe9ade 100644 Binary files a/docs/images/gallery/15-smartinputs.png and b/docs/images/gallery/15-smartinputs.png differ diff --git a/docs/images/gallery/16-pickers.png b/docs/images/gallery/16-pickers.png index e58a4d0..eeed927 100644 Binary files a/docs/images/gallery/16-pickers.png and b/docs/images/gallery/16-pickers.png differ diff --git a/docs/images/gallery/17-capture.png b/docs/images/gallery/17-capture.png index 40dc12e..23b8f62 100644 Binary files a/docs/images/gallery/17-capture.png and b/docs/images/gallery/17-capture.png differ diff --git a/docs/images/gallery/18-disclosure.png b/docs/images/gallery/18-disclosure.png index 840294f..3682bef 100644 Binary files a/docs/images/gallery/18-disclosure.png and b/docs/images/gallery/18-disclosure.png differ diff --git a/docs/images/gallery/19-reader.png b/docs/images/gallery/19-reader.png index 3067def..e8a24ce 100644 Binary files a/docs/images/gallery/19-reader.png and b/docs/images/gallery/19-reader.png differ diff --git a/docs/images/gallery/20-datagrid.png b/docs/images/gallery/20-datagrid.png index 15b3dc5..b014ce3 100644 Binary files a/docs/images/gallery/20-datagrid.png and b/docs/images/gallery/20-datagrid.png differ diff --git a/docs/images/gallery/21-code.png b/docs/images/gallery/21-code.png index 6f70450..c9d0578 100644 Binary files a/docs/images/gallery/21-code.png and b/docs/images/gallery/21-code.png differ diff --git a/docs/images/gallery/22-social.png b/docs/images/gallery/22-social.png index 903607f..209c9ba 100644 Binary files a/docs/images/gallery/22-social.png and b/docs/images/gallery/22-social.png differ diff --git a/docs/images/gallery/23-planning.png b/docs/images/gallery/23-planning.png index ba59efa..2f8fef5 100644 Binary files a/docs/images/gallery/23-planning.png and b/docs/images/gallery/23-planning.png differ diff --git a/docs/images/gallery/24-morecharts.png b/docs/images/gallery/24-morecharts.png index 1d669d2..8ae6e3b 100644 Binary files a/docs/images/gallery/24-morecharts.png and b/docs/images/gallery/24-morecharts.png differ diff --git a/docs/images/gallery/25-motion.png b/docs/images/gallery/25-motion.png index fccfc0c..e68c6c2 100644 Binary files a/docs/images/gallery/25-motion.png and b/docs/images/gallery/25-motion.png differ diff --git a/docs/images/gallery/26-ai.png b/docs/images/gallery/26-ai.png index 9472dc2..f57c4e6 100644 Binary files a/docs/images/gallery/26-ai.png and b/docs/images/gallery/26-ai.png differ diff --git a/docs/images/gallery/27-audio.png b/docs/images/gallery/27-audio.png index 1be3e2a..501a228 100644 Binary files a/docs/images/gallery/27-audio.png and b/docs/images/gallery/27-audio.png differ diff --git a/docs/images/gallery/28-files.png b/docs/images/gallery/28-files.png index 93a7891..1599996 100644 Binary files a/docs/images/gallery/28-files.png and b/docs/images/gallery/28-files.png differ diff --git a/docs/images/gallery/29-instruments-dark.png b/docs/images/gallery/29-instruments-dark.png new file mode 100644 index 0000000..d467201 Binary files /dev/null and b/docs/images/gallery/29-instruments-dark.png differ diff --git a/docs/images/gallery/29-instruments.png b/docs/images/gallery/29-instruments.png new file mode 100644 index 0000000..b5d5a65 Binary files /dev/null and b/docs/images/gallery/29-instruments.png differ diff --git a/native/CUI b/native/CUI index e8688b8..5a9c12b 160000 --- a/native/CUI +++ b/native/CUI @@ -1 +1 @@ -Subproject commit e8688b8fd85c7b07afbddbac5fc748a905c12be0 +Subproject commit 5a9c12b433d4501bc2f5632ead3a1cc05e5b1ee5 diff --git a/native/README.md b/native/README.md index 90933ea..22f4d12 100644 --- a/native/README.md +++ b/native/README.md @@ -11,6 +11,9 @@ build-native.sh Linux x64/ARM64 or macOS ARM64: shared library and libcui.a build-native-container.sh Linux: builds inside debian:11 (glibc 2.31) ``` +The container script hands its uid/gid to the image and chowns `runtimes/` on the way out, so +the files it writes are yours on the host — the same as `build-native.sh` would leave. + ## Build ```sh diff --git a/native/build-native-container.sh b/native/build-native-container.sh index bffe0b8..c7ecff5 100644 --- a/native/build-native-container.sh +++ b/native/build-native-container.sh @@ -10,13 +10,16 @@ # promise true rather than inherited from whichever runner happened to compile it. # # Needs docker; the image is pulled on first use. Runs as root inside the container, so the -# files it writes are root-owned: this is for CI, not for a working tree you keep editing. +# files it writes are root-owned unless it is told whose they should be: HOST_UID/HOST_GID are +# handed in and the outputs are chowned at the end, which is what keeps a local run from +# leaving a `runtimes/` that `rm`, `git clean` or the next non-root build cannot touch. set -euo pipefail here="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" repo="$(cd "$here/.." && pwd)" image="${1:-debian:11}" baseline="${CUI_GLIBC_BASELINE:-2.31}" +owner="$(id -u):$(id -g)" if ! command -v docker >/dev/null; then echo "docker is needed to build on the $image baseline image" >&2 @@ -28,6 +31,7 @@ docker run --rm \ -v "$repo:/work" \ -w /work \ -e CUI_GLIBC_BASELINE="$baseline" \ + -e HOST_OWNER="$owner" \ "$image" \ bash -c ' set -e @@ -56,6 +60,9 @@ docker run --rm \ echo " image: $PRETTY_NAME" echo " glibc: $(ldd --version | head -1 | awk "{print \$NF}")" bash native/build-native.sh + # Whatever the build touched is ours inside the container and yours on the host: the + # library, its import file, and the provenance line beside them. + chown -R "$HOST_OWNER" runtimes 2>/dev/null || true ' # The archive is what a packaged consumer links, so the file it actually got is worth saying. diff --git a/samples/CuiSharp.Gallery/GalleryApp.Shell.cs b/samples/CuiSharp.Gallery/GalleryApp.Shell.cs index 7326e8f..f8d203c 100644 --- a/samples/CuiSharp.Gallery/GalleryApp.Shell.cs +++ b/samples/CuiSharp.Gallery/GalleryApp.Shell.cs @@ -119,6 +119,7 @@ private void DrawPage(Ui ui) case 24: PageMotion(ui); break; case 25: PageAi(ui); break; case 26: PageAudio(ui); break; + case 28: PageInstruments(ui); break; default: PageFiles(ui); break; } } diff --git a/samples/CuiSharp.Gallery/GalleryApp.cs b/samples/CuiSharp.Gallery/GalleryApp.cs index ff2780f..372fe32 100644 --- a/samples/CuiSharp.Gallery/GalleryApp.cs +++ b/samples/CuiSharp.Gallery/GalleryApp.cs @@ -14,7 +14,7 @@ namespace CuiSharp.Gallery; internal sealed partial class GalleryApp : IDisposable { - public const int PageCount = 28; + public const int PageCount = 29; /// The first page ported from examples/gallery_more.c; from here on every /// page draws inside its own id scope, as the C gallery's second half does. @@ -31,7 +31,7 @@ internal sealed partial class GalleryApp : IDisposable "Developer tools", "More developer tools", "Actions", "Smart inputs", "Pickers", "Capture", "Disclosure", "Reader", "Data grid", "Code", "Social and media", "Planning", "More charts", - "Motion", "AI", "Audio", "Files", + "Motion", "AI", "Audio", "Files", "Instruments", }; internal static readonly string[] PageIcons = @@ -42,6 +42,7 @@ internal sealed partial class GalleryApp : IDisposable Icons.Command, Icons.SquarePen, Icons.Calendar, Icons.Upload, Icons.Layers, Icons.FileText, Icons.Grid3x3, Icons.Code, Icons.MessageSquare, Icons.ListChecks, Icons.ChartPie, Icons.Activity, Icons.MessageSquare, Icons.AudioLines, Icons.Folder, + Icons.Activity, }; private static readonly string[] AccentNames = diff --git a/samples/CuiSharp.Gallery/Pages/Ai.cs b/samples/CuiSharp.Gallery/Pages/Ai.cs index ff7506e..ff704f7 100644 --- a/samples/CuiSharp.Gallery/Pages/Ai.cs +++ b/samples/CuiSharp.Gallery/Pages/Ai.cs @@ -110,7 +110,6 @@ private void PageAi(Ui ui) ui.ContextMeter("ctx", 113400, 200000, new ContextOpts { Parts = ContextParts, - PartCount = ContextParts.Length, }); } ComposerEvents ce = ui.ChatComposer("composer", ref _aiDraft, 512, ref _aiRemoved, ref _aiModel, new ComposerOpts @@ -118,7 +117,6 @@ private void PageAi(Ui ui) Placeholder = "Ask a follow up", Busy = _aiBusy, Attachments = _aiAttachments, - ModelCount = AiModels.Length, Models = AiModels, }); if ((ce & ComposerEvents.Send) != 0) diff --git a/samples/CuiSharp.Gallery/Pages/DeveloperTools.cs b/samples/CuiSharp.Gallery/Pages/DeveloperTools.cs index d313b4e..942a3ef 100644 --- a/samples/CuiSharp.Gallery/Pages/DeveloperTools.cs +++ b/samples/CuiSharp.Gallery/Pages/DeveloperTools.cs @@ -181,14 +181,14 @@ private void PageDeveloperTools(Ui ui) Section(ui, "Key-value editor", "The checkbox turns a pair on or off, typing in the empty row adds one, the x removes one."); using (ui.Card(new Card())) { - ui.KvEditor("headers", _headers, ref _headerCount, _headers.Length, + ui.KvEditor("headers", _headers, ref _headerCount, new KvEditorOpts { KeyPlaceholder = "Header", ValuePlaceholder = "Value" }); } Section(ui, "Query builder", "Conditions joined by all or any, in groups you can nest."); using (ui.Card(new Card())) { - if (ui.QueryBuilder("query", QueryFields, _queryNodes, ref _queryCount, _queryNodes.Length)) + if (ui.QueryBuilder("query", QueryFields, _queryNodes, ref _queryCount)) { // Rendering the sentence builds a string, so it happens on a change and not every frame. _queryText = CuiQuery.Text(QueryFields, _queryNodes.AsSpan(0, _queryCount)); diff --git a/samples/CuiSharp.Gallery/Pages/Instruments.cs b/samples/CuiSharp.Gallery/Pages/Instruments.cs new file mode 100644 index 0000000..98f5471 --- /dev/null +++ b/samples/CuiSharp.Gallery/Pages/Instruments.cs @@ -0,0 +1,97 @@ +// Page 29 of 29: the instruments CUI 1.4 added: a dot-matrix chart with annotations, an +// event track lined up under it, readouts and a dot-matrix display. +// Part of the CuiSharp.Gallery sample: Instruments +using CuiSharp; + +namespace CuiSharp.Gallery; + +internal sealed partial class GalleryApp +{ + // One value every quarter hour, 06:00 to 06:00, as the C example has it. Built once: + // a series array rebuilt per frame is the page's own allocation. + private static readonly float[] Caffeine = BuildCaffeine(); + // The track edits this in place, so it is a field: a new array per frame would throw + // away every drag. Five cups, in the order they were poured. + private readonly double[] _cups = [6.5, 8, 11, 12.25, 15.5, 0, 0, 0]; + private int _cupCount = 5; + private int _cupSelected = -1; + + private static readonly ChartAnnotation[] Thresholds = + [ + new(AnnotationKind.Y, 0, 100, Label: "LIMIT", Detail: "the line at 23:00", Accent: true), + ]; + + private static float[] BuildCaffeine() + { + // Still in you at bedtime: three cups, each taken over half an hour and cleared at + // 100 mg an hour afterwards. One value every quarter hour from 06:00 to 06:00. + var cups = new (double At, float Mg)[] { (6.5, 90), (11, 90), (15.5, 120) }; + var values = new float[96]; + for (int i = 0; i < values.Length; i++) + { + double hour = 6 + i * 0.25; + double mg = 0; + foreach (var (at, dose) in cups) + { + double since = hour - at; + if (since <= 0) continue; + double left = since < 0.5 ? dose * (since / 0.5) : dose - 100 * (since - 0.5); + mg += Math.Max(0, left); + } + values[i] = (float)mg; + } + return values; + } + + private void PageInstruments(Ui ui) + { + Section(ui, "Dot-matrix chart", "Values as dots, lit up to each column's value; " + + "the pointer or the arrow keys read the value under them."); + using (ui.Card(new Card())) + { + // The series go in inline: the wrapper only reads them, so a span built on the stack + // costs nothing and the frame allocates nothing here. + var result = ui.DotChart("caffeine", [new(Caffeine, "Caffeine", accent: true)], Caffeine.Length, new DotChartOpts + { + Height = 168, + XMin = 6, + XMax = 30, + XUnits = AxisUnits.Hours, + Unit = "mg", + Annotations = Thresholds, + }); + if (result.Hovered >= 0) + ui.Secondary($"Sample {result.Hovered} at {result.X:0.00}: {result.Value:0} mg"); + } + + Section(ui, "Event track", "Click an empty spot to add a cup, double-click a dot to " + + "remove it, drag to move one; the keys do the same from the keyboard."); + using (ui.Card(new Card())) + { + var result = ui.EventTrack("cups", _cups, ref _cupCount, 6, 30, ref _cupSelected, + new EventTrackOpts { Step = 0.25, Units = AxisUnits.Hours }); + ui.Secondary(result.Changed + ? $"added {result.Added}, removed {result.Removed}, selected {result.Selected}" + : $"{_cupCount} cups, {(_cupSelected >= 0 ? _cups[_cupSelected].ToString("0.00") : "none selected")}"); + } + + Section(ui, "Readout", "One figure the way an instrument shows it: a label, the value " + + "in the monospaced font with its unit, and a muted line of context."); + using (ui.Row(new Box { Gap = 24, Align = Align.End })) + { + ui.Readout("STILL IN YOU", "54", new ReadoutOpts { Unit = "MG" }); + ui.Readout("AT BEDTIME", "23:00", new ReadoutOpts { Detail = "six hours from now", Tone = Tone.Neutral }); + ui.Readout("OVER THE LINE", "0", new ReadoutOpts { Unit = "MG", Detail = "under the 50 MG limit", Accent = true }); + } + + Section(ui, "Dot-matrix display", "Text in a 5 by 7 dot font, for clocks, counters and " + + "status lines; it shrinks to fit a narrow box, or scrolls."); + using (ui.Row(new Box { Gap = 24, Align = Align.End })) + { + ui.DotDisplay("23:00", new DotDisplayOpts { Pitch = 6 }); + ui.DotDisplay("54 MG", new DotDisplayOpts { Accent = true }); + using (ui.Box(new Box { Width = Size.Px(120) })) + ui.DotDisplay("SCROLLING", new DotDisplayOpts { Marquee = true }); + } + } +} diff --git a/skills/cui-dotnet/SKILL.md b/skills/cui-dotnet/SKILL.md index af0163e..455165f 100644 --- a/skills/cui-dotnet/SKILL.md +++ b/skills/cui-dotnet/SKILL.md @@ -661,10 +661,11 @@ dialog is modal, a dropzone returns the paths it received. - **Feedback** — `Alert`, `Progress`, `ProgressRing`, `Meter`, `Spinner`, `Skeleton`, `Badge`, `Avatar`, `AvatarGroup`, `TimelineItem`, `EmptyState` - **Data** — `Table(id, ReadOnlySpan, ref TableSort, TableOpts)` + `TableRow`/`TableCell`, `Tree`, `ListItem`, `Accordion`, `VirtualList`, `Metric`, `TreeTable`, `DataGrid` - **Charts** — `LineChart`, `BarChart`, `DonutChart`, `Sparkline`, `Candlestick`, `Gauge`, `RadialGauge` +- **Instruments** — `DotChart(id, series, count, DotChartOpts)` with `ChartAnnotation`s drawn over it, `EventTrack(id, times, ref int count, min, max, ref int selected, EventTrackOpts)`, `Readout(label, value, ReadoutOpts)`, `DotDisplay(text, DotDisplayOpts)` — dot-matrix charts and displays, and an event track that lines up under a dot chart of the same width - **Studio** — `Knob(id, ref float, min, max)`, `Fader(id, ref float, min, max)`, `LevelMeter(id, values)` - **Calendar** — `MonthCalendar(id, ref Date, events, ref Date selected, MonthOpts)` returning `MonthResult` - **Workspace** — `Terminal(id, terminal, TerminalOpts)`, `LogView(id, log, LogViewOpts)`, `HexView`, `DiffView`, `CodeEditor`, `FileBrowser`, `FilePicker`, `ImageViewer`, `Cropper` -- **Developer tools** — `TraceView(id, tracks, spans, ref TraceViewState, ref int selected)`, `Waterfall(id, requests, ref int selected)`, `GraphView(id, nodes, edges, ref int selected)`, `CommitGraph`, `Pipeline(id, stages, jobs, ref int selected)`, `Problems(id, items)`, `KvEditor(id, pairs, ref int count, capacity)`, `QueryBuilder(id, fields, nodes, ref int count, capacity)`, `SchedulePicker(id, ref string cron)`, `Keymap`, `TestExplorer`, `StackTrace`, `Blame`, `Coverage`, `RegexTester(id, ref pattern, patternCap, ref text, textCap, ref RegexFlags)`, `RequestBar(id, ref HttpMethod, ref url)` + `ResponseStatus`, `ApiExplorer`, `FeatureFlags(id, flags, envs)`, `Uptime`, `TimeHistogram` — each returns a typed result record, and the arrays it edits (`KvEditor`, `QueryBuilder`, `FeatureFlags`, the editors) come back through the `Span` you pass +- **Developer tools** — `TraceView(id, tracks, spans, ref TraceViewState, ref int selected)`, `Waterfall(id, requests, ref int selected)`, `GraphView(id, nodes, edges, ref int selected)`, `CommitGraph`, `Pipeline(id, stages, jobs, ref int selected)`, `Problems(id, items)`, `KvEditor(id, pairs, ref int count)`, `QueryBuilder(id, fields, nodes, ref int count)`, `SchedulePicker(id, ref string cron)`, `Keymap`, `TestExplorer`, `StackTrace`, `Blame`, `Coverage`, `RegexTester(id, ref pattern, patternCap, ref text, textCap, ref RegexFlags)`, `RequestBar(id, ref HttpMethod, ref url)` + `ResponseStatus`, `ApiExplorer`, `FeatureFlags(id, flags, envs)`, `Uptime`, `TimeHistogram` — each returns a typed result record, and the arrays it edits (`KvEditor`, `QueryBuilder`, `FeatureFlags`, the editors) come back through the `Span` you pass - **Without a frame** — the pure helpers the widgets use, callable from a component or a test: `CuiRegex.TrySearch(…)` with its groups, `CuiCron.TryNext(…)`, `CuiHttp.ParseQuery`/`SetQuery`/`Reason`/`MethodName`, `CuiQuery.Text`/`Match`/`OperatorName`, `CuiFiles.ListDirectory`/`SortFlameSpans`/`SortTraceSpans`, `CuiMath.EvaluateCurve`/`EvaluateGradient`/`DiffLines` - **AI interfaces** — `ChatComposer`, `ModelPicker`, `PromptSuggestions`, `Reasoning`, `ResponseActions`, `Citation`, `ContextMeter`, `AgentPlan`, `AgentStatus` - **Onboarding** — `Tour(id, steps, ref int step, TourOpts)`; build each `TourStep.Target` from `ui.LastId` right after the control diff --git a/skills/cui-dotnet/api/AiInterfaces.md b/skills/cui-dotnet/api/AiInterfaces.md index f0e5da3..e554e10 100644 --- a/skills/cui-dotnet/api/AiInterfaces.md +++ b/skills/cui-dotnet/api/AiInterfaces.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public int AgentPlan(UiText id, ReadOnlySpan steps, AgentPlanOpts o = default) ``` -cui_agent_plan_ex +Agent plan: steps with their status on a connected rail, and progress. ## `AgentStatus` @@ -28,7 +28,7 @@ cui_agent_plan_ex public void AgentStatus(UiText text, AgentStatusOpts o = default) ``` -cui_agent_status_ex +Agent status pill: what the agent is doing right now and for how long. ## `ChatComposer` @@ -52,7 +52,7 @@ cui_citation public void ContextMeter(UiText id, float used, float limit, ContextOpts o = default) ``` -cui_context_meter_ex +Context meter: a small ring of how full the context is; hover for a breakdown. It turns amber past 80% and red past 95%. ## `ModelPicker` @@ -60,7 +60,7 @@ cui_context_meter_ex public bool ModelPicker(UiText id, ReadOnlySpan models, ref int selected, ModelPickerOpts o = default) ``` -cui_model_picker_ex +Model picker: the current model on a button; a list with details opens. ## `PromptSuggestions` @@ -68,7 +68,7 @@ cui_model_picker_ex public int PromptSuggestions(UiText id, ReadOnlySpan items, PromptSuggestionsOpts o = default) ``` -cui_prompt_suggestions_ex +Prompt suggestions: cards to start a conversation with. ## `Reasoning` @@ -76,7 +76,7 @@ cui_prompt_suggestions_ex public OpenScope Reasoning(UiText id, ReasoningOpts o = default) ``` -cui_reasoning_begin +Reasoning: a model's thinking. While thinking, the header shimmers and counts the seconds; afterwards it reads "Thought for 12s" and the body folds away. Click the header to open or close it. Put text inside. ## `ResponseActions` diff --git a/skills/cui-dotnet/api/AppChrome.md b/skills/cui-dotnet/api/AppChrome.md index c795605..72cb84d 100644 --- a/skills/cui-dotnet/api/AppChrome.md +++ b/skills/cui-dotnet/api/AppChrome.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public DocTabsResult DocTabs(UiText id, ReadOnlySpan tabs, ref int selected, DocTabsOpts o = default) ``` -cui_doc_tabs_ex +Document tabs: editor style tabs. Clicking selects (*selected is updated), the x or a middle click asks to close, dragging reorders, and the strip scrolls sideways when the tabs do not fit. A dirty tab shows a dot that turns into the close button under the pointer. The selected tab is filled with the surface color so it joins the content below; the strip itself has no fill, like the other bars. Tabs keep their state by title, so give two tabs with the same name a key: "main.c##src". The component never removes or moves your tabs itself: it reports a close or a move in the result and you apply it (selection already follows a move). With keyboard focus on the strip, Left and Right select, Home and End jump, Shift+Left/Right move the tab and Delete closes it. With `shortcuts` set it also answers Ctrl+Tab, Ctrl+Shift+Tab, Ctrl+PageUp/Down and Ctrl+W (Cmd+W on macOS) from anywhere in the window. ## `MenuBar` @@ -28,7 +28,7 @@ cui_doc_tabs_ex public LayoutScope MenuBar(UiText id, MenuBarOpts o = default) ``` -cui_menu_bar_begin +Menu bar: File / Edit / View along the top of a window. Each menu holds the usual menu items (cui_menu_item, cui_menu_separator, cui_menu_label). Once a menu is open, hovering another one switches to it. Alt (on its own) or F10 focuses the bar; arrows move between menus and items, Enter chooses, Esc steps back. Alt + a menu's mnemonic letter opens it (the first letter of its label unless `mnemonic` says otherwise). ## `MenuBarMenu` @@ -36,7 +36,7 @@ cui_menu_bar_begin public OpenScope MenuBarMenu(UiText label, MenuBarMenuOpts o = default) ``` -cui_menu_bar_menu_begin +One menu of the bar. Returns true while its items should be built; call cui_menu_bar_menu_end only then. ## `StatusBar` @@ -44,7 +44,7 @@ cui_menu_bar_menu_begin public LayoutScope StatusBar(UiText id, StatusBarOpts o = default) ``` -cui_status_bar_begin +Status bar: a thin bar along the bottom of a window, with a hairline on top and no fill of its own (put it in a box with the background you want). Items go left to right; cui_status_bar_spacer sends the rest to the right edge. ## `StatusBarItem` @@ -60,7 +60,7 @@ A small clickable item ("Ln 12, Col 4", "UTF-8"). Returns true when clicked. public void StatusBarProgress(float value, StatusProgressOpts o = default) ``` -cui_status_bar_progress_ex +A small progress bar with an optional label. value is 0..1. ## `StatusBarSpacer` @@ -84,7 +84,7 @@ A message; `tone` colors its icon. public LayoutScope Toolbar(UiText id, ToolbarOpts o = default) ``` -cui_toolbar_begin +Toolbar: a row of compact icon buttons, toggles, separators and small text buttons. Icon only buttons show their tooltip as their name. Items that do not fit collapse, from the end, into a "more" menu; an item chosen there returns true on the next frame. ## `ToolbarButton` @@ -108,4 +108,4 @@ cui_toolbar_separator public void ToolbarSpacer() ``` -cui_toolbar_spacer +pushes the following items to the right diff --git a/skills/cui-dotnet/api/Blame.md b/skills/cui-dotnet/api/Blame.md index 5e27e27..aa7d1c8 100644 --- a/skills/cui-dotnet/api/Blame.md +++ b/skills/cui-dotnet/api/Blame.md @@ -20,4 +20,4 @@ protected override void Draw(Ui ui) public BlameResult Blame(UiText id, ReadOnlySpan lines, ReadOnlySpan lineCommit, ReadOnlySpan commits, BlameOpts o = default) ``` -cui_blame_ex +Source with who last changed each line: lines from one commit share one gutter entry with its author, age and hash, and a bar at the edge shades newer changes stronger. Hover a gutter entry for the commit's summary and to mark its lines; click it to get the commit. Only the lines in view are built. On a phone the gutter keeps only the shade and initials. diff --git a/skills/cui-dotnet/api/Buttons.md b/skills/cui-dotnet/api/Buttons.md index f622644..6e495ff 100644 --- a/skills/cui-dotnet/api/Buttons.md +++ b/skills/cui-dotnet/api/Buttons.md @@ -36,4 +36,4 @@ Square/round button with only an icon. Give it a tooltip so it has a name. public bool Segmented(UiText id, ReadOnlySpan items, ref int index, SegmentedOpts o = default) ``` -cui_segmented_ex +Segmented control: a row of options with a gliding highlight. diff --git a/skills/cui-dotnet/api/Capture.md b/skills/cui-dotnet/api/Capture.md index 2081bde..b07bd01 100644 --- a/skills/cui-dotnet/api/Capture.md +++ b/skills/cui-dotnet/api/Capture.md @@ -28,7 +28,7 @@ Avatar upload: a round avatar that takes a dropped image, with a camera badge on public int Dropzone(UiText id, DropzoneOpts o = default) ``` -cui_dropzone_ex +Dropzone: drop files from the OS, or click to browse. Returns the number of files dropped on it this frame (read them with cui_dropped_file), -1 when clicked (open a file dialog), 0 otherwise. accept filters by extension, e.g. "png;jpg;pdf". ## `SignatureClear` @@ -44,4 +44,4 @@ cui_signature_clear public bool SignaturePad(UiText id, SignatureOpts o = default) ``` -cui_signature_pad_ex +Signature pad: draw with the mouse or a pen. The strokes are kept for you; read them with cui_signature_points (stroke_ends[i] is one past the last point of stroke i). diff --git a/skills/cui-dotnet/api/Code.md b/skills/cui-dotnet/api/Code.md index d0709de..6035c38 100644 --- a/skills/cui-dotnet/api/Code.md +++ b/skills/cui-dotnet/api/Code.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public void CodeBlock(UiText id, UiText code, CodeOpts o = default) ``` -* left to right in any interface: see cui__keep_ltr +Code block with syntax highlighting (lang: "c", "cpp", "js", "ts", "python", "rust", "go", "json", "shell", or "text" for none), line numbers, a title bar and a copy button. Long lines scroll sideways. ## `JsonView` @@ -28,4 +28,4 @@ public void CodeBlock(UiText id, UiText code, CodeOpts o = default) public bool JsonView(UiText id, UiText json, JsonOpts o = default) ``` -* left to right in any interface: see cui__keep_ltr +JSON viewer: a collapsible tree with typed colors and item counts. Returns false when the text is not valid JSON (and shows the error). diff --git a/skills/cui-dotnet/api/CodeEditor.md b/skills/cui-dotnet/api/CodeEditor.md index 6494bd7..74172e0 100644 --- a/skills/cui-dotnet/api/CodeEditor.md +++ b/skills/cui-dotnet/api/CodeEditor.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public CodeEditorResult CodeEditor(UiText id, ref string buf, int cap, CodeEditorOpts o = default) ``` -* left to right in any interface: see cui__keep_ltr +cui_code_editor_ex ## `CodeEditorFind` diff --git a/skills/cui-dotnet/api/CommitGraph.md b/skills/cui-dotnet/api/CommitGraph.md index c371005..3010f77 100644 --- a/skills/cui-dotnet/api/CommitGraph.md +++ b/skills/cui-dotnet/api/CommitGraph.md @@ -20,4 +20,4 @@ protected override void Draw(Ui ui) public CommitGraphResult CommitGraph(UiText id, ReadOnlySpan commits, ref int selected, CommitGraphOpts o = default) ``` -cui_commit_graph_ex +Version history: the branch lanes drawn beside each commit, newest first, with its message, branch and tag names, author, date and short hash. Each commit names its parents by row (parents come later in the array), so merges and branches draw as lines between lanes. Only the rows in view are built. Up and Down move the selection; Enter or a double-click activates. diff --git a/skills/cui-dotnet/api/Conversation.md b/skills/cui-dotnet/api/Conversation.md index 2f64166..e2942c1 100644 --- a/skills/cui-dotnet/api/Conversation.md +++ b/skills/cui-dotnet/api/Conversation.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public void ChatDivider(UiText label) ``` -cui_chat_divider +"Today" ## `ChatMessage` @@ -28,7 +28,7 @@ cui_chat_divider public void ChatMessage(UiText text, ref MarkdownResult markdownResult, ChatOpts o = default) ``` -cui_chat_message_ex +Chat message bubble. Consecutive messages from one person set grouped so they stack tightly and show the avatar once. ## `Comment` @@ -44,7 +44,7 @@ cui_comment_ex public void Presence(UiText id, ReadOnlySpan users, int maxVisible, float size) ``` -cui_presence +Presence: who is here now. Overlapping avatars with a colored ring each, that spread out on hover and name themselves. ## `TypingIndicator` @@ -52,4 +52,4 @@ cui_presence public void TypingIndicator(UiText name) ``` -cui_typing_indicator +bouncing dots diff --git a/skills/cui-dotnet/api/Coverage.md b/skills/cui-dotnet/api/Coverage.md index ccb2a26..0779937 100644 --- a/skills/cui-dotnet/api/Coverage.md +++ b/skills/cui-dotnet/api/Coverage.md @@ -20,4 +20,4 @@ protected override void Draw(Ui ui) public CoverageResult Coverage(UiText id, ReadOnlySpan files, CoverageOpts o = default) ``` -cui_coverage_ex +Test coverage by folder and file: the files' paths make the tree, each folder sums up what it holds, and folders fold. Line coverage shows as a bar colored by thresholds, with branches and functions beside it. Click a column's title to sort. Enter or a double-click activates a file. Narrow panels show lines only. diff --git a/skills/cui-dotnet/api/CurveAndGradientEditors.md b/skills/cui-dotnet/api/CurveAndGradientEditors.md index ccd6f52..ceb25b1 100644 --- a/skills/cui-dotnet/api/CurveAndGradientEditors.md +++ b/skills/cui-dotnet/api/CurveAndGradientEditors.md @@ -17,7 +17,7 @@ protected override void Draw(Ui ui) ## `CurveEditor` ```csharp -public CurveResult CurveEditor(UiText id, Span keys, ref int count, int capacity, ref int selected, CurveOpts o = default) +public CurveResult CurveEditor(UiText id, Span keys, ref int count, ref int selected, CurveOpts o = default) ``` cui_curve_editor_ex @@ -25,7 +25,7 @@ cui_curve_editor_ex ## `GradientEditor` ```csharp -public GradientResult GradientEditor(UiText id, Span stops, ref int count, int capacity, ref int selected, GradientOpts o = default) +public GradientResult GradientEditor(UiText id, Span stops, ref int count, ref int selected, GradientOpts o = default) ``` cui_gradient_editor_ex diff --git a/skills/cui-dotnet/api/DataDisplay.md b/skills/cui-dotnet/api/DataDisplay.md index d0342d7..2bceefd 100644 --- a/skills/cui-dotnet/api/DataDisplay.md +++ b/skills/cui-dotnet/api/DataDisplay.md @@ -60,7 +60,7 @@ Returns true when the view changed. public bool ListItem(UiText title, ListItemOpts o = default) ``` -cui_list_item_ex +List item: a selectable row with optional icon, subtitle and trailing text. ## `Sparkline` @@ -116,7 +116,7 @@ cui_tree_begin public bool TreeClicked() ``` -cui_tree_clicked +the node created by the last cui_tree_begin was clicked ## `VirtualList` diff --git a/skills/cui-dotnet/api/DataGrid.md b/skills/cui-dotnet/api/DataGrid.md index ec271c4..3654279 100644 --- a/skills/cui-dotnet/api/DataGrid.md +++ b/skills/cui-dotnet/api/DataGrid.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public void DataGridCell() ``` -cui_data_grid_cell +next cell; put components inside ## `DataGridCellEdit` @@ -52,7 +52,7 @@ The same editable text, inside the current cell (after an avatar, say). public bool DataGridRow(int row) ``` -cui_data_grid_row +true when the row was clicked ## `TreeCell` diff --git a/skills/cui-dotnet/api/DependencyGraph.md b/skills/cui-dotnet/api/DependencyGraph.md index 1652b91..6a07fcb 100644 --- a/skills/cui-dotnet/api/DependencyGraph.md +++ b/skills/cui-dotnet/api/DependencyGraph.md @@ -20,4 +20,4 @@ protected override void Draw(Ui ui) public GraphResult GraphView(UiText id, ReadOnlySpan nodes, ReadOnlySpan edges, ref int selected, GraphOpts o = default) ``` -cui_graph_view_ex +Nodes and directed edges laid out in layers (each edge points to a later layer, cycles are broken), for build targets, packages, services or call graphs. The layout is computed when the graph changes. Wheel zooms, drag pans, click selects; hovering a node lights up what it depends on and what depends on it. F fits the graph. diff --git a/skills/cui-dotnet/api/DiffViewer.md b/skills/cui-dotnet/api/DiffViewer.md index 18aa282..0eb0b66 100644 --- a/skills/cui-dotnet/api/DiffViewer.md +++ b/skills/cui-dotnet/api/DiffViewer.md @@ -20,4 +20,4 @@ protected override void Draw(Ui ui) public DiffResult DiffView(UiText id, UiText oldText, UiText newText, ref int current, DiffOpts o = default) ``` -* left to right in any interface: see cui__keep_ltr +cui_diff_view_ex diff --git a/skills/cui-dotnet/api/Disclosure.md b/skills/cui-dotnet/api/Disclosure.md index adcfbcc..46a6afb 100644 --- a/skills/cui-dotnet/api/Disclosure.md +++ b/skills/cui-dotnet/api/Disclosure.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public bool ConfirmPopover(UiText id, ConfirmPopoverOpts o = default) ``` -cui_confirm_popover_ex +Confirm popover: a small question anchored to the previous component. Open it with cui_popover_open(ui, id). Returns true when confirmed. ## `ExpandableCard` @@ -28,7 +28,7 @@ cui_confirm_popover_ex public OpenScope ExpandableCard(UiText title, ref bool open, ExpandableCardOpts o = default) ``` -cui_expandable_card_begin +Expandable card: a card whose header opens a body with a height spring. ## `ExpandableText` @@ -36,7 +36,7 @@ cui_expandable_card_begin public bool ExpandableText(UiText id, UiText text, ExpandableTextOpts o = default) ``` -cui_expandable_text_ex +Text clamped to a few lines with a fade and Show more / Show less. ## `HoverCard` @@ -44,7 +44,7 @@ cui_expandable_text_ex public OpenScope HoverCard(UiText id, HoverCardOpts o = default) ``` -cui_hover_card_begin +Hover card: rich content that appears when the pointer rests on the previous component, and stays while the pointer is over either. ## `Toc` @@ -52,7 +52,7 @@ cui_hover_card_begin public int Toc(UiText scrollId, ReadOnlySpan items) ``` -cui_toc +Table of contents for a scroll area: highlights the section in view on a progress rail, and scrolls to a section when clicked. Put cui_toc_anchor(ui, "anchor") at each heading inside the scroll area, and call cui_toc in the same scope as the scroll area. Returns the active index. ## `TocAnchor` diff --git a/skills/cui-dotnet/api/Docking.md b/skills/cui-dotnet/api/Docking.md index b894603..58007d6 100644 --- a/skills/cui-dotnet/api/Docking.md +++ b/skills/cui-dotnet/api/Docking.md @@ -28,7 +28,7 @@ cui_dock_load public OpenScope DockPanel(UiText title, ref bool open, DockPanelOpts o = default) ``` -cui_dock_panel_begin_ex +Returns true while the panel's content should be built; then call cui_dock_panel_end. ## `DockSave` @@ -44,7 +44,7 @@ Saved layout: one line, e.g. dock1 h0.22([*Scene tree,Assets],v0.7([*Viewport],[ public LayoutScope Dockspace(UiText id, DockspaceOpts o = default) ``` -cui_dockspace_begin_ex +Dockspace: an IDE style workspace that lays out your panels in a tree of resizable splits whose leaves hold one or more panels as document tabs. Submit every panel each frame between cui_dockspace_begin and cui_dockspace_end; the dockspace decides where it goes, and a panel's content is built only while its tab is the one showing: ## `Inspector` @@ -52,7 +52,7 @@ cui_dockspace_begin_ex public OpenScope Inspector(UiText id, InspectorOpts o = default) ``` -cui_inspector_begin_ex +Property inspector: labelled rows in folding groups, a label column on the left (drag the line between the columns to resize it) and an editor on the right. Every row returns true when its value changed. Groups end at the next group or at cui_inspector_end. ## `InspectorGroup` diff --git a/skills/cui-dotnet/api/Emoji.md b/skills/cui-dotnet/api/Emoji.md index 6b6c211..0d65dac 100644 --- a/skills/cui-dotnet/api/Emoji.md +++ b/skills/cui-dotnet/api/Emoji.md @@ -28,7 +28,7 @@ cui_draw_emoji public void Emoji(UiText utf8, float size) ``` -cui_emoji +one emoji as a component ## `EmojiFontLoadFile` @@ -36,7 +36,7 @@ cui_emoji public bool EmojiFontLoadFile(UiText path) ``` ----- Emoji ---- Color emoji come from an emoji font: the system's (cui_emoji_font_load_system, which the picker calls by itself when nothing is loaded) or one the app ships. Bitmap color fonts (sbix as on macOS, CBDT as on Linux and Android) and layered ones (COLR version 0, as on Windows) are read, as is a plain outline font for one-color emoji. Sequences with skin tones, joined people and flags are looked up through the font's ligatures. Big fonts are read from the file as needed rather than loaded whole. Drawn emoji are kept in one texture and reused. +Color emoji come from an emoji font: the system's (cui_emoji_font_load_system, which the picker calls by itself when nothing is loaded) or one the app ships. Bitmap color fonts (sbix as on macOS, CBDT as on Linux and Android) and layered ones (COLR version 0, as on Windows) are read, as is a plain outline font for one-color emoji. Sequences with skin tones, joined people and flags are looked up through the font's ligatures. Big fonts are read from the file as needed rather than loaded whole. Drawn emoji are kept in one texture and reused. ## `EmojiFontLoadMemory` @@ -60,7 +60,7 @@ cui_emoji_font_load_system public string? EmojiPicker(UiText id, ref string recent, ref int tone, EmojiPickerOpts o = default) ``` -cui_emoji_picker_ex +Emoji picker: search, groups with tabs, recent emoji, skin tones and a preview with the name. Returns the emoji picked this frame (UTF-8, valid until the next frame) or NULL. Put it in a popover to open it from a button. ## `EmojiSupported` @@ -68,4 +68,4 @@ cui_emoji_picker_ex public bool EmojiSupported(UiText utf8) ``` -cui_emoji_supported +the font (or platform) can draw it diff --git a/skills/cui-dotnet/api/Instruments.md b/skills/cui-dotnet/api/Instruments.md new file mode 100644 index 0000000..2b6b689 --- /dev/null +++ b/skills/cui-dotnet/api/Instruments.md @@ -0,0 +1,39 @@ +# Instruments: dot-matrix chart, event track, readout, dot-matrix display + +Generated by `tools/bindgen.cs` from the CUI headers. Do not edit. + +Call these inside a frame, on a `Ui` value: + +```csharp +protected override void Draw(Ui ui) +{ + using (ui.EventTrack(/* options */)) + { + // ... + } +} +``` + +## `DotDisplay` + +```csharp +public void DotDisplay(UiText text, DotDisplayOpts o = default) +``` + +Dot-matrix display: text drawn with a 5 by 7 dot font, for clocks, counters and status lines. Printable ASCII, the degree sign and the middle dot have glyphs; anything else is a box. Unlit dots show dimly unless `no_dim` is set. In a box narrower than the text, the dots shrink to fit, or with `marquee` the text scrolls. + +## `EventTrack` + +```csharp +public EventTrackResult EventTrack(UiText id, Span times, ref int count, double min, double max, ref int selected, EventTrackOpts o = default) +``` + +Event track: moments on a time axis, as dots you drag along it. A click on an empty spot adds an event there and a double-click on one removes it. You own the array: the track keeps it sorted, edits it in place and never grows it past `capacity`. + +## `Readout` + +```csharp +public void Readout(UiText label, UiText value, ReadoutOpts o = default) +``` + +Readout: one figure as an instrument shows it. A small label, the value in the monospaced font with its unit, and a muted line of context under it. diff --git a/skills/cui-dotnet/api/KeyValueEditor.md b/skills/cui-dotnet/api/KeyValueEditor.md index 0c53cee..b14c4e0 100644 --- a/skills/cui-dotnet/api/KeyValueEditor.md +++ b/skills/cui-dotnet/api/KeyValueEditor.md @@ -17,7 +17,7 @@ protected override void Draw(Ui ui) ## `KvEditor` ```csharp -public bool KvEditor(UiText id, Span pairs, ref int count, int capacity, KvEditorOpts o = default) +public bool KvEditor(UiText id, Span pairs, ref int count, KvEditorOpts o = default) ``` cui_kv_editor_ex diff --git a/skills/cui-dotnet/api/Keymap.md b/skills/cui-dotnet/api/Keymap.md index 59610cc..e0ce561 100644 --- a/skills/cui-dotnet/api/Keymap.md +++ b/skills/cui-dotnet/api/Keymap.md @@ -20,4 +20,4 @@ protected override void Draw(Ui ui) public KeymapResult Keymap(UiText id, ReadOnlySpan bindings, ref Mods mods, KeymapOpts o = default) ``` -cui_keymap_ex +A keyboard with your shortcuts on it: each bound key shows its action and the color of its category, for the modifiers chosen above it. Keys bound twice are marked as conflicts. Hover a key for every binding on it; click it to get the key (to rebind it). The keyboard keeps its own layout in a right-to-left interface and scales to the width it gets. diff --git a/skills/cui-dotnet/api/Layout.md b/skills/cui-dotnet/api/Layout.md index 6879b2c..fe9bd86 100644 --- a/skills/cui-dotnet/api/Layout.md +++ b/skills/cui-dotnet/api/Layout.md @@ -28,7 +28,7 @@ cui_box_begin public LayoutScope Card(Card o = default) ``` -cui_card_begin +returns true when clicked (hoverable) ## `Column` @@ -44,7 +44,7 @@ cui_column_begin public void Gap(float size) ``` -cui_gap +fixed space ## `Row` @@ -60,7 +60,7 @@ cui_row_begin public LayoutScope Scroll(ScrollOpts o = default) ``` -cui_scroll_begin +Scroll area with smooth scrolling and overlay scrollbars. ## `ScrollTo` @@ -76,7 +76,7 @@ cui_scroll_to public void Separator() ``` -cui_separator +hairline, follows the parent direction ## `Spacer` @@ -84,7 +84,7 @@ cui_separator public void Spacer() ``` -cui_spacer +flexible space ## `Split` @@ -92,7 +92,7 @@ cui_spacer public LayoutScope Split(UiText id, ref float ratio, SplitOpts o = default) ``` -cui_split_begin +Resizable split view: two panes with a draggable divider. `ratio` is the size of the first pane in 0..1. Call cui_split_next between the panes. ## `SplitNext` diff --git a/skills/cui-dotnet/api/MarkdownView.md b/skills/cui-dotnet/api/MarkdownView.md index 06da654..e2a5c1e 100644 --- a/skills/cui-dotnet/api/MarkdownView.md +++ b/skills/cui-dotnet/api/MarkdownView.md @@ -20,4 +20,4 @@ protected override void Draw(Ui ui) public MarkdownResult Markdown(UiText id, UiText text, MarkdownOpts o = default) ``` -cui_markdown_ex +Markdown view: renders your markdown text (UTF-8) as native content, every frame, without keeping a copy: diff --git a/skills/cui-dotnet/api/Media.md b/skills/cui-dotnet/api/Media.md index 4250c68..a6ad66a 100644 --- a/skills/cui-dotnet/api/Media.md +++ b/skills/cui-dotnet/api/Media.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public int CardStack(UiText id, int count, CardStackOpts o = default) ``` -cui_card_stack_begin +Card stack: a deck where the top card can be flicked away left or right. Build `count` cards; card 0 is the top. end returns -1 or 1 on the frame the top card leaves (to the left or right), else 0. ## `CardStackItem` @@ -36,7 +36,7 @@ cui_card_stack_item_begin public OpenScope Carousel(UiText id, int count, ref int index, CarouselOpts o = default) ``` -cui_carousel_begin +Carousel: slides that you swipe, drag, scroll or page with the arrows and dots. Build every slide between begin and end: cui_carousel(ui, "tour", 4, &index, .height = 220) { for (int k = 0; k < 4; k++) cui_carousel_slide(ui) { ... } } ## `CarouselSlide` @@ -52,7 +52,7 @@ cui_carousel_slide_begin public void Counter(UiText id, double value, CounterOpts o = default) ``` -* left to right in any interface: see cui__keep_ltr +Odometer: a number whose digits roll to their new values. ## `ImageCompare` @@ -60,7 +60,7 @@ public void Counter(UiText id, double value, CounterOpts o = default) public bool ImageCompare(UiText id, ulong before, ulong after, ref float pos, CompareOpts o = default) ``` -cui_image_compare_ex +Before and after: drag the divider to compare two images. *pos is 0..1. ## `Ticker` @@ -68,4 +68,4 @@ cui_image_compare_ex public void Ticker(UiText id, ReadOnlySpan items, TickerOpts o = default) ``` -cui_ticker_ex +Ticker: items that scroll by continuously, pausing on hover. diff --git a/skills/cui-dotnet/api/MenusAndPopovers.md b/skills/cui-dotnet/api/MenusAndPopovers.md index c0b62fb..788e4ab 100644 --- a/skills/cui-dotnet/api/MenusAndPopovers.md +++ b/skills/cui-dotnet/api/MenusAndPopovers.md @@ -28,7 +28,7 @@ Context menu: opens on right click over the previous component. public OpenScope Menu(UiText label, MenuOpts o = default) ``` -cui_menu_begin +Dropdown menu: a button that opens a menu. Items return true when chosen. ## `MenuItem` @@ -60,7 +60,7 @@ cui_menu_separator public OpenScope Popover(UiText id, PopoverOpts o = default) ``` -cui_popover_begin +Popover anchored to the previous component. Toggle it with cui_popover_toggle / cui_popover_open. ## `PopoverClose` diff --git a/skills/cui-dotnet/api/MoreActions.md b/skills/cui-dotnet/api/MoreActions.md index 602edf2..80bf5eb 100644 --- a/skills/cui-dotnet/api/MoreActions.md +++ b/skills/cui-dotnet/api/MoreActions.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public bool ConfirmButton(UiText label, ConfirmOpts o = default) ``` -cui_confirm_button_ex +Two step destructive button: the first click morphs it into a confirm state with a countdown, the second click confirms. Returns true once. ## `Reactions` @@ -28,7 +28,7 @@ cui_confirm_button_ex public int Reactions(UiText id, Span items) ``` -cui_reactions +Reactions: icon pills with counts. Clicking toggles `active` and adjusts the count. Returns the index that changed, or -1. ## `SpeedDial` @@ -36,7 +36,7 @@ cui_reactions public int SpeedDial(UiText id, ReadOnlySpan actions, SpeedDialOpts o = default) ``` -cui_speed_dial_ex +Speed dial: a round floating action button that fans out related actions. Returns the chosen action index, or -1. ## `SplitButton` @@ -44,7 +44,7 @@ cui_speed_dial_ex public int SplitButton(UiText label, ReadOnlySpan items, SplitButtonOpts o = default) ``` -cui_split_button_ex +Split button: a main action with a menu of related actions on the chevron. Returns 0 when the main part is clicked, 1 + i when menu item i is chosen and -1 otherwise. ## `StatusButton` @@ -60,7 +60,7 @@ cui_status_button_ex public int SwipeItem(UiText id, ReadOnlySpan left, ReadOnlySpan right) ``` -cui_swipe_item_begin +Swipe actions: drag a row sideways (or swipe on a trackpad) to reveal actions behind it. A long swipe triggers the first action. The row content goes between begin and end; end returns the chosen action: 0..left_count-1 for left actions, 100 + i for right actions, or -1. ## `ThemeSwitcher` @@ -84,4 +84,4 @@ Sun and moon icon button that toggles the theme with a morph. public OpenScope UserMenu(UiText name, UserMenuOpts o = default) ``` -cui_user_menu_begin +User menu: an avatar, a name and a line of detail that opens a menu of account actions. Put menu items between begin and end. diff --git a/skills/cui-dotnet/api/MoreCharts.md b/skills/cui-dotnet/api/MoreCharts.md index 810c6ce..b52d954 100644 --- a/skills/cui-dotnet/api/MoreCharts.md +++ b/skills/cui-dotnet/api/MoreCharts.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public int ActivityRings(UiText id, ReadOnlySpan rings, RingsOpts o = default) ``` -cui_activity_rings_ex +Activity rings: concentric progress rings; values past 1 keep winding. ## `BarList` @@ -28,7 +28,7 @@ cui_activity_rings_ex public int BarList(UiText id, ReadOnlySpan items, BarListOpts o = default) ``` -cui_bar_list_ex +Bar list: ranked horizontal bars. Rows are keyed by label, so when the values change the bars grow and the rows slide to their new rank. ## `CalendarHeatmap` @@ -36,7 +36,7 @@ cui_bar_list_ex public int CalendarHeatmap(UiText id, Date start, ReadOnlySpan values, CalendarHeatmapOpts o = default) ``` -cui_calendar_heatmap_ex +Calendar heatmap: one cell per day from start, weeks as columns, in five levels, with month and weekday labels and a Less / More legend. ## `Candlestick` @@ -52,7 +52,7 @@ Returns the candle under the crosshair (pointer or keys), or -1. public int Funnel(UiText id, ReadOnlySpan stages, FunnelOpts o = default) ``` -cui_funnel_ex +Funnel: stages narrowing by value, with the conversion between them. ## `Heatmap` @@ -60,7 +60,7 @@ cui_funnel_ex public int Heatmap(UiText id, ReadOnlySpan values, int rows, int cols, HeatmapOpts o = default) ``` -cui_heatmap_ex +Heatmap: a rows x cols matrix (values[row * cols + col]) on one hue, light to dark, with a scale below. ## `RadarChart` @@ -68,7 +68,7 @@ cui_heatmap_ex public int RadarChart(UiText id, ReadOnlySpan series, ReadOnlySpan axes, RadarOpts o = default) ``` -cui_radar_chart_ex +Radar chart: series over shared axes (series[i].values[axis]). ## `RadialGauge` @@ -84,7 +84,7 @@ cui_radial_gauge_ex public int Sankey(UiText id, ReadOnlySpan nodes, ReadOnlySpan links, SankeyOpts o = default) ``` -cui_sankey_ex +Sankey: flows between nodes; columns follow the links from the sources. ## `ScatterChart` @@ -92,7 +92,7 @@ cui_sankey_ex public int ScatterChart(UiText id, ReadOnlySpan series, ScatterOpts o = default) ``` -cui_scatter_chart_ex +Scatter (or bubble) chart: points per series, optional sizes. ## `SplitBar` @@ -100,7 +100,7 @@ cui_scatter_chart_ex public int SplitBar(UiText id, ReadOnlySpan items, SplitBarOpts o = default) ``` -cui_split_bar_ex +Split bar: one bar split into parts, with a legend of values and shares. ## `Treemap` @@ -116,4 +116,4 @@ cui_treemap_ex public int Waffle(UiText id, ReadOnlySpan items, WaffleOpts o = default) ``` -cui_waffle_ex +Waffle: a 10 x 10 grid of squares split by share, with a legend. diff --git a/skills/cui-dotnet/api/MoreComponents.md b/skills/cui-dotnet/api/MoreComponents.md index db5e8e4..25cc837 100644 --- a/skills/cui-dotnet/api/MoreComponents.md +++ b/skills/cui-dotnet/api/MoreComponents.md @@ -28,7 +28,7 @@ Connected buttons. Put buttons between begin and end. public bool CopyButton(UiText id, UiText text) ``` -Icon button that copies text to the clipboard and confirms with a check. +Icon button that copies text to the clipboard and confirms with a check. Keyboard focus stays on the button when the check appears or disappears. ## `HoldButton` @@ -36,7 +36,7 @@ Icon button that copies text to the clipboard and confirms with a check. public bool HoldButton(UiText label, HoldOpts o = default) ``` -cui_hold_button_ex +Hold to confirm: a destructive action that fills while held and fires when full. Returns true once. ## `PasswordStrength` @@ -60,7 +60,7 @@ Circular progress with the value in the middle. public bool RadioCards(UiText id, ReadOnlySpan choices, ref int index, RadioCardsOpts o = default) ``` -cui_radio_cards_ex +Radio cards: larger selectable cards for choices that need a description (plans, templates). ## `TimelineItem` diff --git a/skills/cui-dotnet/api/MoreFeedback.md b/skills/cui-dotnet/api/MoreFeedback.md index 60615b7..af37db4 100644 --- a/skills/cui-dotnet/api/MoreFeedback.md +++ b/skills/cui-dotnet/api/MoreFeedback.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public bool Banner(UiText text, ref bool open, BannerOpts o = default) ``` -cui_banner_ex +Announcement banner across the top of a view. Collapses smoothly when dismissed (*open becomes false). Returns true when the action is clicked. ## `Checklist` @@ -28,7 +28,7 @@ cui_banner_ex public int Checklist(UiText id, ReadOnlySpan steps, ChecklistOpts o = default) ``` -cui_checklist_ex +Onboarding checklist: a card with progress and steps. The first open step shows its description and action. Clicking a step's circle toggles done. Returns the index whose action was clicked, or -1. ## `Countdown` @@ -36,4 +36,4 @@ cui_checklist_ex public void Countdown(UiText id, double secondsLeft, CountdownOpts o = default) ``` -* left to right in any interface: see cui__keep_ltr +Countdown: days, hours, minutes and seconds as tiles whose digits roll. diff --git a/skills/cui-dotnet/api/MoreInputs.md b/skills/cui-dotnet/api/MoreInputs.md index 5c91178..d762165 100644 --- a/skills/cui-dotnet/api/MoreInputs.md +++ b/skills/cui-dotnet/api/MoreInputs.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public int InlineEdit(UiText id, ref string buf, int cap = 256, InlineEditOpts o = default) ``` -cui_inline_edit_ex +Inline edit: text that turns into a field in place. Click (or Enter when focused) to edit, Enter or clicking away saves, Esc cancels. Returns CUI_CHANGED when an edit is committed. ## `MoneyInput` @@ -28,7 +28,7 @@ cui_inline_edit_ex public bool MoneyInput(UiText id, ref double value, MoneyOpts o = default) ``` -cui_money_input_ex +Money field: shows the amount with thousands separators, edits as plain digits, keeps a fixed number of decimals. ## `Scrub` @@ -36,7 +36,7 @@ cui_money_input_ex public bool Scrub(UiText label, ref float value, float min, float max, ScrubOpts o = default) ``` -cui_scrub_ex +Scrub field: drag sideways anywhere on it to change the value (Shift for fine steps), or click to type a number. Arrow keys step when focused. ## `ShortcutLabel` @@ -52,4 +52,4 @@ cui_shortcut_label public bool ShortcutRecorder(UiText id, ref KeyCombo combo, ShortcutRecorderOpts o = default) ``` -* left to right in any interface: see cui__keep_ltr +Shortcut recorder: click and press a key combination to record it. Backspace clears, Esc cancels. Returns true when the combination changed. cui_shortcut_label formats a combination ("Ctrl Shift K"). diff --git a/skills/cui-dotnet/api/MotionAndTextEffects.md b/skills/cui-dotnet/api/MotionAndTextEffects.md index 18f8860..aa62571 100644 --- a/skills/cui-dotnet/api/MotionAndTextEffects.md +++ b/skills/cui-dotnet/api/MotionAndTextEffects.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public bool ControlTile(UiText label, ref bool on, TileOpts o = default) ``` -cui_control_tile_ex +Control tile: a large toggle with an icon, a label and a state line. ## `Dock` @@ -28,7 +28,7 @@ cui_control_tile_ex public LayoutScope Dock(UiText id, DockOpts o = default) ``` -cui_dock_begin +Dock: a row of icons that grow as the pointer passes, with labels and a dot under the running ones. Each item returns true when clicked. ## `DockItem` @@ -52,7 +52,7 @@ cui_dock_separator public void GradientText(UiText text, GradientTextOpts o = default) ``` -cui_gradient_text_ex +Text painted with a gradient from one color to another; animate makes it drift. ## `Loader` @@ -68,7 +68,7 @@ cui_loader_ex public PlayerEvents NowPlaying(UiText id, ref NowPlayingState np, NowPlayingOpts o = default) ``` -cui_now_playing_ex +Now playing card: artwork, title, artist, a scrubber and transport buttons. ## `NumberRoll` @@ -92,7 +92,7 @@ Text with a highlight sweeping across it, for "Thinking..." states. public LayoutScope Spotlight(UiText id, SpotlightOpts o = default) ``` -cui_spotlight_begin +Spotlight card: a soft light follows the pointer across the card and lights the nearest stretch of its border. beam sends a light around the edge. ## `TabBar` @@ -100,7 +100,7 @@ cui_spotlight_begin public bool TabBar(UiText id, ReadOnlySpan items, ref int selected, TabBarOpts o = default) ``` -cui_tab_bar_ex +Bottom tab bar for compact layouts, with a pill that glides to the selection. ## `TextReveal` @@ -124,7 +124,7 @@ Types the text out. When the text grows (streamed tokens) it carries on from whe public bool Waveform(UiText id, ReadOnlySpan peaks, ref float progress, WaveformOpts o = default) ``` -cui_waveform_ex +Waveform: bars from peaks (0..1). With progress, the played part is colored and clicking or dragging seeks; returns true when it did. ## `WordRotate` diff --git a/skills/cui-dotnet/api/Navigation.md b/skills/cui-dotnet/api/Navigation.md index 3510a46..1ea1250 100644 --- a/skills/cui-dotnet/api/Navigation.md +++ b/skills/cui-dotnet/api/Navigation.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public int Breadcrumb(ReadOnlySpan items) ``` -cui_breadcrumb +returns clicked index or -1 ## `NavItem` @@ -28,7 +28,7 @@ cui_breadcrumb public bool NavItem(UiText label, NavOpts o = default) ``` -cui_nav_item_ex +Sidebar navigation item with a gliding selection highlight shared by all items in the same group. ## `NavSection` @@ -44,7 +44,7 @@ cui_nav_section public bool Pagination(UiText id, ref int page, int pageCount) ``` -cui_pagination +page is 0 based ## `Stepper` diff --git a/skills/cui-dotnet/api/NetworkWaterfall.md b/skills/cui-dotnet/api/NetworkWaterfall.md index 1091678..3f2211a 100644 --- a/skills/cui-dotnet/api/NetworkWaterfall.md +++ b/skills/cui-dotnet/api/NetworkWaterfall.md @@ -20,4 +20,4 @@ protected override void Draw(Ui ui) public WaterfallResult Waterfall(UiText id, ReadOnlySpan requests, ref int selected, WaterfallOpts o = default) ``` -cui_waterfall_ex +HTTP requests as a table with a timing bar each: queued, DNS, connect, TLS, waiting for the first byte and downloading, on one time scale with the page's DOMContentLoaded and load lines. Hover a bar for the breakdown. Narrow panels drop the type and size columns. Only the rows in view are built. Up and Down move the selection. diff --git a/skills/cui-dotnet/api/NodeEditor.md b/skills/cui-dotnet/api/NodeEditor.md index 53c7437..35a4fea 100644 --- a/skills/cui-dotnet/api/NodeEditor.md +++ b/skills/cui-dotnet/api/NodeEditor.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public OpenScope Node(int nodeId, ref float x, ref float y, UiText title, NodeOpts o = default) ``` -cui_node_begin_ex +A node at canvas position (*x, *y), updated while it is dragged. Returns true while the node is selected. ## `NodeContent` @@ -44,7 +44,7 @@ cui_node_deleted public OpenScope NodeEditor(UiText id, ref NodeView view, NodeEditorOpts o = default) ``` -cui_node_editor_begin_ex +Node editor: nodes with input and output pins on a canvas that pans and zooms, joined by curved links. You own the nodes, pins and links; the editor moves the node positions you pass and reports what the user did: ## `NodeInput` @@ -52,7 +52,7 @@ cui_node_editor_begin_ex public bool NodeInput(int pinId, UiText label, PinOpts o = default) ``` -cui_node_input_ex +A row with a pin on the left (input) or right (output). type picks the pin color from the series palette and limits links to pins of the same type (0 connects to anything). Returns true when the pin has a link. ## `NodeLink` @@ -84,4 +84,4 @@ Part of cui_node_link — A link from an output pin to an input pin. Returns tru public bool NodeOutput(int pinId, UiText label, PinOpts o = default) ``` -cui_node_output_ex +A row with a pin on the left (input) or right (output). type picks the pin color from the series palette and limits links to pins of the same type (0 connects to anything). Returns true when the pin has a link. diff --git a/skills/cui-dotnet/api/Options.md b/skills/cui-dotnet/api/Options.md index 8cff290..5b00dc3 100644 --- a/skills/cui-dotnet/api/Options.md +++ b/skills/cui-dotnet/api/Options.md @@ -158,7 +158,6 @@ C `cui_candlestick_opts`. - `Labels`: string[]? (default `UiMarshal.Strings(Labels)`) - `Format`: string? (default `Utf8.Get(Format)`) - `Overlays`: Series[]? (default `Series.ToFrameArray(Overlays)`) -- `OverlayCount`: int (default `OverlayCount`) - `NoVolume`: bool (default `(byte)(NoVolume ? 1 : 0)`) - `Ohlc`: bool (default `(byte)(Ohlc ? 1 : 0)`) - `Up`: Color (default `UiMarshal.ToNative(Up)`) @@ -218,6 +217,7 @@ C `cui_chart_opts`. - `Format`: string? (default `Utf8.Get(Format)`) - `Min`: float (default `Min`) - `Max`: float (default `Max`) +- `Annotations`: ChartAnnotation[]? (default `ChartAnnotation.ToFrameArray(Annotations)`) ## `ChatOpts` @@ -269,7 +269,6 @@ C `cui_code_editor_opts`. - `Autofocus`: bool (default `(byte)(Autofocus ? 1 : 0)`) - `Placeholder`: string? (default `Utf8.Get(Placeholder)`) - `Marks`: TextMark[]? (default `TextMark.ToFrameArray(Marks)`) -- `MarkCount`: int (default `MarkCount`) ## `CodeOpts` @@ -318,7 +317,6 @@ C `cui_composer_opts`. - `Busy`: bool (default `(byte)(Busy ? 1 : 0)`) - `Attachments`: string[]? (default `UiMarshal.Strings(Attachments)`) - `Models`: Model[]? (default `Model.ToFrameArray(Models)`) -- `ModelCount`: int (default `ModelCount`) - `MaxLines`: int (default `MaxLines`) - `Width`: Size (default `UiMarshal.ToNative(Width)`) @@ -348,7 +346,6 @@ C `cui_confirm_popover_opts`. C `cui_context_opts`. - `Parts`: VizItem[]? (default `VizItem.ToFrameArray(Parts)`) -- `PartCount`: int (default `PartCount`) - `Unit`: string? (default `Utf8.Get(Unit)`) ## `CountdownOpts` @@ -488,6 +485,39 @@ C `cui_dockspace_opts`. - `MinPanelHeight`: float (default `MinPanelHeight`) - `Shortcuts`: bool (default `(byte)(Shortcuts ? 1 : 0)`) +## `DotChartOpts` + +C `cui_dot_chart_opts`. + +- `Width`: Size (default `UiMarshal.ToNative(Width)`) +- `Height`: float (default `Height`) +- `XMin`: double (default `XMin`) +- `XMax`: double (default `XMax`) +- `XUnits`: AxisUnits (default `XUnits`) +- `XFormat`: string? (default `Utf8.Get(XFormat)`) +- `XStep`: double (default `XStep`) +- `Min`: float (default `Min`) +- `Max`: float (default `Max`) +- `Format`: string? (default `Utf8.Get(Format)`) +- `Unit`: string? (default `Utf8.Get(Unit)`) +- `Pitch`: float (default `Pitch`) +- `NoGrid`: bool (default `(byte)(NoGrid ? 1 : 0)`) +- `NoAxis`: bool (default `(byte)(NoAxis ? 1 : 0)`) +- `NoReadout`: bool (default `(byte)(NoReadout ? 1 : 0)`) +- `Annotations`: ChartAnnotation[]? (default `ChartAnnotation.ToFrameArray(Annotations)`) + +## `DotDisplayOpts` + +C `cui_dot_display_opts`. + +- `Pitch`: float (default `Pitch`) +- `Color`: Color (default `UiMarshal.ToNative(Color)`) +- `Accent`: bool (default `(byte)(Accent ? 1 : 0)`) +- `NoDim`: bool (default `(byte)(NoDim ? 1 : 0)`) +- `Marquee`: bool (default `(byte)(Marquee ? 1 : 0)`) +- `Align`: TextAlign (default `Align`) +- `Width`: Size (default `UiMarshal.ToNative(Width)`) + ## `DropzoneOpts` C `cui_dropzone_opts`. @@ -523,6 +553,19 @@ C `cui_empty_opts`. - `Description`: string? (default `Utf8.Get(Description)`) - `Action`: string? (default `Utf8.Get(Action)`) +## `EventTrackOpts` + +C `cui_event_track_opts`. + +- `Width`: Size (default `UiMarshal.ToNative(Width)`) +- `Step`: double (default `Step`) +- `Units`: AxisUnits (default `Units`) +- `Format`: string? (default `Utf8.Get(Format)`) +- `LabelStep`: double (default `LabelStep`) +- `NoAdd`: bool (default `(byte)(NoAdd ? 1 : 0)`) +- `NoRemove`: bool (default `(byte)(NoRemove ? 1 : 0)`) +- `NoAxis`: bool (default `(byte)(NoAxis ? 1 : 0)`) + ## `ExpandableCardOpts` C `cui_expandable_card_opts`. @@ -685,7 +728,6 @@ C `cui_hex_view_opts`. - `Base`: ulong (default `Base`) - `BytesPerRow`: int (default `BytesPerRow`) - `Ranges`: HexRange[]? (default `HexRange.ToFrameArray(Ranges)`) -- `RangeCount`: int (default `RangeCount`) - `NoAscii`: bool (default `(byte)(NoAscii ? 1 : 0)`) - `NoHeader`: bool (default `(byte)(NoHeader ? 1 : 0)`) - `Size`: float (default `Size`) @@ -1101,7 +1143,6 @@ C `cui_radial_gauge_opts`. - `Size`: float (default `Size`) - `Sweep`: float (default `Sweep`) - `Bands`: GaugeBand[]? (default `GaugeBand.ToFrameArray(Bands)`) -- `BandCount`: int (default `BandCount`) - `Ticks`: int (default `Ticks`) - `Target`: float (default `Target`) - `ShowTarget`: bool (default `(byte)(ShowTarget ? 1 : 0)`) @@ -1113,6 +1154,18 @@ C `cui_radio_cards_opts`. - `Columns`: int (default `Columns`) +## `ReadoutOpts` + +C `cui_readout_opts`. + +- `Unit`: string? (default `Utf8.Get(Unit)`) +- `Detail`: string? (default `Utf8.Get(Detail)`) +- `Size`: ControlSize (default `Size`) +- `Tone`: Tone (default `Tone`) +- `Accent`: bool (default `(byte)(Accent ? 1 : 0)`) +- `Align`: TextAlign (default `Align`) +- `Width`: Size (default `UiMarshal.ToNative(Width)`) + ## `ReasoningOpts` C `cui_reasoning_opts`. @@ -1564,7 +1617,6 @@ C `cui_trace_opts`. - `Height`: float (default `Height`) - `RowHeight`: float (default `RowHeight`) - `Markers`: TraceMarker[]? (default `TraceMarker.ToFrameArray(Markers)`) -- `MarkerCount`: int (default `MarkerCount`) ## `TreeOpts` diff --git a/skills/cui-dotnet/api/Pickers.md b/skills/cui-dotnet/api/Pickers.md index c91773b..4ac75f5 100644 --- a/skills/cui-dotnet/api/Pickers.md +++ b/skills/cui-dotnet/api/Pickers.md @@ -36,7 +36,7 @@ cui_fader_ex public bool HistogramSlider(UiText label, ReadOnlySpan bins, ref float lo, ref float hi, float min, float max, HistogramOpts o = default) ``` -cui_histogram_slider_ex +Range slider over a histogram of the data it filters. ## `Knob` @@ -44,7 +44,7 @@ cui_histogram_slider_ex public bool Knob(UiText id, ref float value, float min, float max, KnobOpts o = default) ``` -cui_knob_ex +Knob, fader and level meter: the controls of audio, synth and mixer panels. ## `LevelMeter` @@ -68,7 +68,7 @@ One or two months side by side; click a start and an end. public bool RulerSlider(UiText label, ref float value, float min, float max, RulerOpts o = default) ``` -cui_ruler_slider_ex +Ruler slider: a tape measure that slides under a fixed marker, with momentum and snapping to step. ## `TimeDial` @@ -84,7 +84,7 @@ Time dial: a clock face. Drag the hand to set hours, then minutes. public bool TimePicker(UiText id, ref int hour, ref int minute, TimeOpts o = default) ``` -cui_time_picker_ex +Time picker: a field that opens hour and minute columns. hour is 0..23. ## `WheelPicker` @@ -92,4 +92,4 @@ cui_time_picker_ex public bool WheelPicker(UiText id, ReadOnlySpan items, ref int index, WheelOpts o = default) ``` -cui_wheel_picker_ex +Wheel picker: a drum of options that you drag, scroll or arrow through. Several side by side make a date or time reel. join_left / join_right square off the selection band so wheels placed side by side share one continuous band. diff --git a/skills/cui-dotnet/api/Planning.md b/skills/cui-dotnet/api/Planning.md index d35461c..48d0059 100644 --- a/skills/cui-dotnet/api/Planning.md +++ b/skills/cui-dotnet/api/Planning.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public int Gantt(UiText id, Span tasks, Date origin, int days, GanttOpts o = default) ``` -* left to right in any interface: see cui__keep_ltr +Gantt chart: a task list beside a timeline of bars. Drag a bar to move it, its ends to resize it. Dependencies are drawn as elbow arrows. Returns the index of a clicked task, or -1. ## `Kanban` @@ -36,7 +36,7 @@ cui_kanban_begin public LayoutScope KanbanCard(int cardId) ``` -cui_kanban_card_begin +true when clicked ## `KanbanColumn` @@ -44,7 +44,7 @@ cui_kanban_card_begin public LayoutScope KanbanColumn(UiText title, int cardCount, KanbanColumnOpts o = default) ``` -cui_kanban_column_begin_ex +true: "+" clicked ## `MonthCalendar` @@ -52,7 +52,7 @@ cui_kanban_column_begin_ex public MonthResult MonthCalendar(UiText id, ref Date month, ReadOnlySpan events, ref Date selected, MonthOpts o = default) ``` -cui_month_calendar_ex +Month calendar: a month grid with events. All-day and multi-day events are bars across the days they cover; timed events are a dot, a time and a title. A day with more than fits says "+N more" and opens a list of them. On a narrow screen the cells show colored dots and the selected day's events are listed under the grid. ## `WeekCalendar` @@ -60,4 +60,4 @@ cui_month_calendar_ex public int WeekCalendar(UiText id, Date weekStart, Span events, WeekOpts o = default) ``` -* left to right in any interface: see cui__keep_ltr +Week calendar: seven day columns on an hour grid. Drag an event to move it (15 minute steps), drag its bottom edge to resize it. Returns the index of a clicked event, or -1. diff --git a/skills/cui-dotnet/api/QueryBuilder.md b/skills/cui-dotnet/api/QueryBuilder.md index 2b42a94..c6eeb54 100644 --- a/skills/cui-dotnet/api/QueryBuilder.md +++ b/skills/cui-dotnet/api/QueryBuilder.md @@ -17,7 +17,7 @@ protected override void Draw(Ui ui) ## `QueryBuilder` ```csharp -public bool QueryBuilder(UiText id, ReadOnlySpan fields, Span nodes, ref int count, int capacity, QueryOpts o = default) +public bool QueryBuilder(UiText id, ReadOnlySpan fields, Span nodes, ref int count, QueryOpts o = default) ``` cui_query_builder_ex diff --git a/skills/cui-dotnet/api/Records.md b/skills/cui-dotnet/api/Records.md index ccbe90f..7a16012 100644 --- a/skills/cui-dotnet/api/Records.md +++ b/skills/cui-dotnet/api/Records.md @@ -55,6 +55,15 @@ Value types for the widgets that take an array of items. - `Close`: float - `Volume`: float +## `ChartAnnotation` + +- `Kind`: AnnotationKind +- `X`: double +- `Y`: double +- `Label`: string? +- `Detail`: string? +- `Accent`: bool + ## `CheckStep` - `Title`: string? @@ -182,6 +191,21 @@ Value types for the widgets that take an array of items. - `MoveFrom`: int - `MoveTo`: int +## `DotChartResult` + +- `Hovered`: int +- `X`: double +- `Value`: float +- `Clicked`: bool + +## `EventTrackResult` + +- `Changed`: bool +- `Added`: int +- `Removed`: int +- `Selected`: int +- `Dragging`: bool + ## `FeatureFlag` - `Key`: string? diff --git a/skills/cui-dotnet/api/RegularExpressionsAndTheRegexTester.md b/skills/cui-dotnet/api/RegularExpressionsAndTheRegexTester.md index ae8a1e3..9c47ffd 100644 --- a/skills/cui-dotnet/api/RegularExpressionsAndTheRegexTester.md +++ b/skills/cui-dotnet/api/RegularExpressionsAndTheRegexTester.md @@ -20,4 +20,4 @@ protected override void Draw(Ui ui) public RegexTesterResult RegexTester(UiText id, ref string pattern, int patternCap, ref string text, int textCap, ref RegexFlags flags, RegexTesterOpts o = default) ``` -cui_regex_tester_ex +A pattern field with flags over a test text: every match is highlighted in the text and its groups in their own colors, and the list below shows each match with its groups. Errors show under the pattern. Both buffers are yours and edited in place. diff --git a/skills/cui-dotnet/api/SchedulePicker.md b/skills/cui-dotnet/api/SchedulePicker.md index 7802980..f1ee7ce 100644 --- a/skills/cui-dotnet/api/SchedulePicker.md +++ b/skills/cui-dotnet/api/SchedulePicker.md @@ -28,4 +28,4 @@ public string? CronDescribe(UiText cron) public ScheduleResult SchedulePicker(UiText id, ref string cron, int cap = 128, ScheduleOpts o = default) ``` -cui_schedule_picker_ex +A cron schedule edited the friendly way: every N minutes, hourly at a minute, daily at a time, weekly on chosen days, monthly on a day, or a custom expression. It reads and writes `cron` (five fields: minute hour day month weekday) and shows what it means and when it runs next. Weekday and month names come from cui_set_strings. diff --git a/skills/cui-dotnet/api/StackTrace.md b/skills/cui-dotnet/api/StackTrace.md index 445987a..9ac4766 100644 --- a/skills/cui-dotnet/api/StackTrace.md +++ b/skills/cui-dotnet/api/StackTrace.md @@ -20,4 +20,4 @@ protected override void Draw(Ui ui) public StackTraceResult StackTrace(UiText id, ReadOnlySpan frames, StackTraceOpts o = default) ``` -cui_stack_trace_ex +An exception and its call stack: the error's type and message, then each frame's function and position. Runs of library frames fold into one row. A frame with source opens to show the lines around it, the failing line marked; the first frame of your own code starts open. A button copies the whole trace as text. diff --git a/skills/cui-dotnet/api/TestExplorer.md b/skills/cui-dotnet/api/TestExplorer.md index 89d61df..ef0ab7c 100644 --- a/skills/cui-dotnet/api/TestExplorer.md +++ b/skills/cui-dotnet/api/TestExplorer.md @@ -20,4 +20,4 @@ protected override void Draw(Ui ui) public TestExplorerResult TestExplorer(UiText id, ReadOnlySpan items, TestExplorerOpts o = default) ``` -cui_test_explorer_ex +Test results as a tree: suites fold, each test shows its status and time, and a failure shows its message under it. A suite's status sums up its tests. The toolbar runs everything, counts results and filters by status and by name. Hover a row for its run button. Only the rows in view are built. Up and Down move, Left and Right fold, Enter activates. Items are in tree order with their depth; the statuses are the pipeline's. diff --git a/skills/cui-dotnet/api/Text.md b/skills/cui-dotnet/api/Text.md index e074b04..725eb30 100644 --- a/skills/cui-dotnet/api/Text.md +++ b/skills/cui-dotnet/api/Text.md @@ -20,7 +20,7 @@ protected override void Draw(Ui ui) public void Code(UiText text) ``` -cui_code +inline code ## `Heading` @@ -28,7 +28,7 @@ cui_code public void Heading(UiText text, int level = 2) ``` -cui_heading +1..4 ## `Kbd` @@ -36,7 +36,7 @@ cui_heading public void Kbd(UiText keys) ``` -* left to right in any interface: see cui__keep_ltr +keyboard keycap, e.g. "Ctrl K" ## `Label` @@ -44,7 +44,7 @@ public void Kbd(UiText keys) public void Label(UiText text) ``` -cui_label +medium weight ## `Link` @@ -60,7 +60,7 @@ cui_link public void Muted(UiText text) ``` -cui_muted +small, muted ## `Secondary` @@ -68,7 +68,7 @@ cui_muted public void Secondary(UiText text) ``` -cui_secondary +secondary color ## `Text` diff --git a/skills/cui-dotnet/api/TimeHistogram.md b/skills/cui-dotnet/api/TimeHistogram.md index 9003217..c1dedf9 100644 --- a/skills/cui-dotnet/api/TimeHistogram.md +++ b/skills/cui-dotnet/api/TimeHistogram.md @@ -20,4 +20,4 @@ protected override void Draw(Ui ui) public TimeHistogramResult TimeHistogram(UiText id, double start, double bucketSeconds, int buckets, ReadOnlySpan series, ref double selStart, ref double selEnd, TimeHistogramOpts o = default) ``` -cui_time_histogram_ex +Event counts over time, stacked by series (log levels, status classes), as above a log search. Drag across it to select a time range, click to clear. Hover a bar for its time and counts. Times are Unix seconds. diff --git a/skills/cui-dotnet/api/TraceViewer.md b/skills/cui-dotnet/api/TraceViewer.md index 578a27c..39b35ad 100644 --- a/skills/cui-dotnet/api/TraceViewer.md +++ b/skills/cui-dotnet/api/TraceViewer.md @@ -20,4 +20,4 @@ protected override void Draw(Ui ui) public TraceResult TraceView(UiText id, ReadOnlySpan tracks, ReadOnlySpan spans, ref TraceViewState view, ref int selected, TraceOpts o = default) ``` -cui_trace_view_ex +A tracing timeline: one lane per thread, process or service, each with its nested spans, on one time ruler, with markers (frames, GC pauses, deploys) drawn across every lane. Wheel zooms around the pointer, Shift+wheel or a drag pans, click selects a span, Shift+drag measures a time range. A lane's name folds it. Keys: Left and Right step through the selected span's lane, + and - zoom, F fits, Esc clears. Spans must be sorted by track, depth and start (cui_trace_sort), with no overlap within a depth of a track. Like the flame graph, only what is in view is visited. diff --git a/skills/cui-dotnet/api/TreeTableAndPathBar.md b/skills/cui-dotnet/api/TreeTableAndPathBar.md index aeba855..839a2f0 100644 --- a/skills/cui-dotnet/api/TreeTableAndPathBar.md +++ b/skills/cui-dotnet/api/TreeTableAndPathBar.md @@ -36,7 +36,7 @@ True once, with the chosen path in out, when the dialog is confirmed; *open turn public PathBarResult PathBar(UiText id, ReadOnlySpan segments, PathBarOpts o = default) ``` -cui_path_bar_ex +Path bar: a breadcrumb for file and scene paths. Segments are clickable, the last one is the current place. Middle segments that do not fit collapse into a "..." menu. With .menus, the chevron after segment k opens a menu you fill with the children of segment k (cui_path_bar_menu_begin). Click the empty part (or the current segment), or press Ctrl+L, to type a path: Enter submits it, Esc or clicking away cancels. ## `PathBarMenu` @@ -52,7 +52,7 @@ True while the menu of separator *segment is showing: build menu items for the c public int TreeTableDepth() ``` -cui_tree_table_depth +depth of the current row, 0 at the top ## `TreeTableName` diff --git a/skills/cui-dotnet/api/UptimeBars.md b/skills/cui-dotnet/api/UptimeBars.md index 64c9178..ca801dd 100644 --- a/skills/cui-dotnet/api/UptimeBars.md +++ b/skills/cui-dotnet/api/UptimeBars.md @@ -20,4 +20,4 @@ protected override void Draw(Ui ui) public UptimeResult Uptime(UiText id, ReadOnlySpan services, UptimeOpts o = default) ``` -cui_uptime_ex +A status page: each service with its current state, its uptime over the period, and one bar per day colored by availability (gray without data). Hover a bar for its day and uptime. On a narrow panel only the most recent days that fit are shown. diff --git a/skills/cui-dotnet/api/catalog.json b/skills/cui-dotnet/api/catalog.json index 3b2b3a4..3368f87 100644 --- a/skills/cui-dotnet/api/catalog.json +++ b/skills/cui-dotnet/api/catalog.json @@ -2,67 +2,70 @@ "schema": 1, "generator": "tools/export-api.cs", "assembly": "CuiSharp", - "version": "0.3.3", + "version": "0.4.0", "types": [ { "name": "CuiSharp.Accent", "displayName": "Accent", "kind": "enum", "summary": "cui_accent", "members": [{ "name": "Amber", "kind": "enum value", "id": "enum value|Amber|1|0|||4|hb84a41790e070f2a265681b9638bbc52c3d34e9476623901ef677160eb8b4ff0", "signature": "Amber = 4", "value": "4" }, { "name": "Blue", "kind": "enum value", "id": "enum value|Blue|1|0|||2|hae6194af00c6c4e650c47f94f829f3fce958e4562f08bc871170efbb12f3b54a", "signature": "Blue = 2", "value": "2" }, { "name": "Coral", "kind": "enum value", "id": "enum value|Coral|1|0|||6|h833b8014649fc7a89c4e8a37d302c40a0b531d53ed2586a0dbf52b29b4221c4a", "signature": "Coral = 6", "value": "6" }, { "name": "Count", "kind": "enum value", "id": "enum value|Count|1|0|||8|h504fc500c84acb9c4461033d4bf2c2e24c3d49dc31cfeac04efcdb70ee4211b6", "signature": "Count = 8", "value": "8" }, { "name": "Green", "kind": "enum value", "id": "enum value|Green|1|0|||3|he32a412158e517c36012258d7928ca2cff06804e1d2e4b587ed1044a7a2c427f", "signature": "Green = 3", "value": "3" }, { "name": "Neutral", "kind": "enum value", "id": "enum value|Neutral|1|0|||0|h7da2b00cd549e0ae5dedf23ebaa10ee7a6b5919fa688f312008de9ec173d7926", "signature": "Neutral = 0", "value": "0" }, { "name": "Orange", "kind": "enum value", "id": "enum value|Orange|1|0|||5|he4f322d5632c51b5963d91008dbdabdd40b5ac2e890fe816b3bb4fc01c465e6e", "signature": "Orange = 5", "value": "5" }, { "name": "Rose", "kind": "enum value", "id": "enum value|Rose|1|0|||7|ha5672793379d76359c9deeeb24b9e6e01894be1258c7570b394712a946dbaaab", "signature": "Rose = 7", "value": "7" }, { "name": "Violet", "kind": "enum value", "id": "enum value|Violet|1|0|||1|hc020cd8e2f7eef8bb100f85b5467256ec541008a30f6701459827540f40ba265", "signature": "Violet = 1", "value": "1" }] }, - { "name": "CuiSharp.AgentPlanOpts", "displayName": "AgentPlanOpts", "kind": "struct", "summary": "cui_agent_plan_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, - { "name": "CuiSharp.AgentStatusOpts", "displayName": "AgentStatusOpts", "kind": "struct", "summary": "cui_agent_status_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Status", "kind": "field", "id": "field|Status|0|0|CuiTaskStatus|||hc70e5654f5e0b77ce9da45f798c273c2ac66019dc100160d6f02b89ccf377bba", "signature": "public CuiTaskStatus Status", "summary": "cui_task_status status" }, { "name": "Seconds", "kind": "field", "id": "field|Seconds|0|0|float|||hb2b6bfb7a4abde73c46fe03cfd0492620c03edc110332cec5c1c257b49ebec83", "signature": "public float Seconds", "summary": "float seconds" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, - { "name": "CuiSharp.AlertOpts", "displayName": "AlertOpts", "kind": "struct", "summary": "cui_alert_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Dismissible", "kind": "field", "id": "field|Dismissible|0|0|bool|||h7796da526a083f4775f676304b27d97ecd77b43cfa36072c0cca539af9ae884b", "signature": "public bool Dismissible", "summary": "_Bool dismissible" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, - { "name": "CuiSharp.Align", "displayName": "Align", "kind": "enum", "summary": "cui_align", "members": [{ "name": "Center", "kind": "enum value", "id": "enum value|Center|1|0|||2|h0f287a514529f7e1e27faa2c72b51024434e23ff232719bfe637e86aabab4e90", "signature": "Center = 2", "value": "2" }, { "name": "Default", "kind": "enum value", "id": "enum value|Default|1|0|||0|h865e49ef9e11ff3a18410e624292e1e6225511c59ebfa8a1f5a7db0c73c44e9c", "signature": "Default = 0", "value": "0" }, { "name": "End", "kind": "enum value", "id": "enum value|End|1|0|||3|h276e94c9c2b2e4ae3c4e4210b498ee6ce992add0ff955d7bebecd7901fe79744", "signature": "End = 3", "value": "3" }, { "name": "Start", "kind": "enum value", "id": "enum value|Start|1|0|||1|hcedaebcb61bc9b81ef04fcd68abce3fe514c85f51394853de1eed61337b42837", "signature": "Start = 1", "value": "1" }, { "name": "Stretch", "kind": "enum value", "id": "enum value|Stretch|1|0|||4|hfea6ade01cdac1b2159392e856cb2fc01f8bd400306c13bd0158a7fac41b4e46", "signature": "Stretch = 4", "value": "4" }] }, - { "name": "CuiSharp.ApiEndpoint", "displayName": "ApiEndpoint", "kind": "struct", "summary": "cui_api_endpoint. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Method;string? Path = null;string? Summary = null;string? Tag = null;bool Deprecated = default;ApiParam[]? Params = null||h7fbc93b6712d20d56d5122f4d43d9d6a84c16b0535318406ddb2472252c2cb60", "signature": "ApiEndpoint(string? Method, string? Path = null, string? Summary = null, string? Tag = null, bool Deprecated = default, ApiParam[]? Params = null)", "parameters": [{ "name": "Method", "type": "string?" }, { "name": "Path", "type": "string?", "default": "null" }, { "name": "Summary", "type": "string?", "default": "null" }, { "name": "Tag", "type": "string?", "default": "null" }, { "name": "Deprecated", "type": "bool", "default": "default" }, { "name": "Params", "type": "ApiParam[]?", "default": "null" }] }, { "name": "Params", "kind": "field", "id": "field|Params|0|0|ApiParam[]?|||hdf473e089d087df8ada4eb61ed19fe5b7b79663d3098c7864d07ea10159cff8b", "signature": "public ApiParam[]? Params", "summary": "const cui_api_param * params" }, { "name": "Deprecated", "kind": "field", "id": "field|Deprecated|0|0|bool|||h5892366dadf7c82a21e2d480013a799152dc076731b1c38e054a312fce771a76", "signature": "public bool Deprecated", "summary": "_Bool deprecated" }, { "name": "Method", "kind": "field", "id": "field|Method|0|0|string?|||h43edb6c576a75b56573640fa1b3c3165aeef627fe5c8abe6714ca10bf2480613", "signature": "public string? Method", "summary": "\u0022GET\u0022" }, { "name": "Path", "kind": "field", "id": "field|Path|0|0|string?|||h38c25c9591c0c2e3c6198e606e0b33109c4c38f51d9f1d9bbf7ada51d909598f", "signature": "public string? Path", "summary": "\u0022/users/{id}\u0022" }, { "name": "Summary", "kind": "field", "id": "field|Summary|0|0|string?|||h8385df67ed47afeb0919f599fea724e61b9b1c51e95bd9d8ec4e369db57dbc8d", "signature": "public string? Summary", "summary": "const char * summary" }, { "name": "Tag", "kind": "field", "id": "field|Tag|0|0|string?|||h6f8b305884bbad494bc4c9a835ce35e2593e6c8254e66e3952774e0cac826906", "signature": "public string? Tag", "summary": "groups the list; NULL groups as \u0022Other\u0022" }] }, - { "name": "CuiSharp.ApiExplorerOpts", "displayName": "ApiExplorerOpts", "kind": "struct", "summary": "cui_api_explorer_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }] }, - { "name": "CuiSharp.ApiExplorerResult", "displayName": "ApiExplorerResult", "kind": "struct", "summary": "cui_api_explorer_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Selected;int TryIt = default||hac6596a15f6063fe4ce04a8c27bf6079bd6cc12e30e980f4bae515c0fdc822bd", "signature": "ApiExplorerResult(int Selected, int TryIt = default)", "parameters": [{ "name": "Selected", "type": "int" }, { "name": "TryIt", "type": "int", "default": "default" }] }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "endpoint, or -1" }, { "name": "TryIt", "kind": "field", "id": "field|TryIt|0|0|int|||h5b7497c7ff57eca579c0220484ed786050570c5aa1615b0f5118bc1ae8af3b74", "signature": "public int TryIt", "summary": "endpoint, or -1" }] }, - { "name": "CuiSharp.ApiParam", "displayName": "ApiParam", "kind": "struct", "summary": "cui_api_param. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;string? In = null;string? Type = null;bool Required = default;string? Description = null||h91ef145f6fd0be325481474d76af2a84766c93ba0b369ce9adf437fdd41951aa", "signature": "ApiParam(string? Name, string? In = null, string? Type = null, bool Required = default, string? Description = null)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "In", "type": "string?", "default": "null" }, { "name": "Type", "type": "string?", "default": "null" }, { "name": "Required", "type": "bool", "default": "default" }, { "name": "Description", "type": "string?", "default": "null" }] }, { "name": "Required", "kind": "field", "id": "field|Required|0|0|bool|||hb6aec04b549eaa0bb337715fa9a3aaa889086dfc1dbd6d0b555826d7ce836b48", "signature": "public bool Required", "summary": "_Bool required" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "In", "kind": "field", "id": "field|In|0|0|string?|||h5311dc7b652ebc0c442baa10c3ef5359c19f57d1feeb1a212fba7e36a425a488", "signature": "public string? In", "summary": "\u0022path\u0022, \u0022query\u0022, \u0022header\u0022, \u0022body\u0022" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "\u0022path\u0022, \u0022query\u0022, \u0022header\u0022, \u0022body\u0022" }, { "name": "Type", "kind": "field", "id": "field|Type|0|0|string?|||hd13f10c6a1a43e5dad4e56f1c9942eeda7e31c88858c2d5b682e8c3bf87faf1f", "signature": "public string? Type", "summary": "const char * type" }] }, - { "name": "CuiSharp.AvatarOpts", "displayName": "AvatarOpts", "kind": "struct", "summary": "cui_avatar_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Square", "kind": "field", "id": "field|Square|0|0|bool|||h3398a8febfe56ac8052a2486a1cba1999b01c4910184d7a2b01bd9600e1ed263", "signature": "public bool Square", "summary": "_Bool square" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|string?|||hea5150ac3e746a684c3b4c0832cabdae145da44e92c85bb412cef107598a117e", "signature": "public string? Status", "summary": "const char * status" }, { "name": "Image", "kind": "field", "id": "field|Image|0|0|ulong|||he25dd60d612e9a06babb072bcf3c76754f6f813f5113d829ed08e969dc20f672", "signature": "public ulong Image", "summary": "cui_texture image" }] }, - { "name": "CuiSharp.BadgeOpts", "displayName": "BadgeOpts", "kind": "struct", "summary": "cui_badge_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||Tone tone = Tone.Neutral||hf41ea10b22440a272ef4b1ca8ad61390d4b0450f2767621ad1e0bae737d0936f", "signature": "BadgeOpts(Tone tone = Tone.Neutral)", "parameters": [{ "name": "tone", "type": "Tone", "default": "Tone.Neutral" }], "summary": "A badge in one word: ui.Badge(\u0022Updating\u0022, new(Tone.Danger)). Every other field keeps its native default, exactly as the equivalent object initializer." }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Dot", "kind": "field", "id": "field|Dot|0|0|bool|||h2c1cc597459b498ce2f3dd2878d6499c9cf8ef48c0603c3a097c5f56751d30d9", "signature": "public bool Dot", "summary": "_Bool dot" }, { "name": "Solid", "kind": "field", "id": "field|Solid|0|0|bool|||h938690fcaa55f8f20d4eb1f6bdad82856b9119192f5dd841daa133c854056596", "signature": "public bool Solid", "summary": "_Bool solid" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, - { "name": "CuiSharp.BannerOpts", "displayName": "BannerOpts", "kind": "struct", "summary": "cui_banner_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Dismissible", "kind": "field", "id": "field|Dismissible|0|0|bool|||h7796da526a083f4775f676304b27d97ecd77b43cfa36072c0cca539af9ae884b", "signature": "public bool Dismissible", "summary": "_Bool dismissible" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|string?|||h288a83cea0bad5b5f38d9c844869a799f6116f3a3d074f257d6240feed95d754", "signature": "public string? Action", "summary": "const char * action" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, - { "name": "CuiSharp.BarListOpts", "displayName": "BarListOpts", "kind": "struct", "summary": "cui_bar_list_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "KeepOrder", "kind": "field", "id": "field|KeepOrder|0|0|bool|||hf12573cda7d5c6ce51d5a43ecfa5b8683a8482b185376fa3c1a76ee844ba6f3d", "signature": "public bool KeepOrder", "summary": "_Bool keep_order" }, { "name": "MaxRows", "kind": "field", "id": "field|MaxRows|0|0|int|||h82a530e961fd20944667ea1ad6f4d328cd4ce0e5c238e091ebaa74d2086ed486", "signature": "public int MaxRows", "summary": "int max_rows" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, - { "name": "CuiSharp.BlameCommit", "displayName": "BlameCommit", "kind": "struct", "summary": "cui_blame_commit. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Hash;string? Author = null;string? Summary = null;long Time = default||h05100a81b2f2d39e2e7a4db65654080df5fbd3a27ca828ee7e99e8810d69dfa9", "signature": "BlameCommit(string? Hash, string? Author = null, string? Summary = null, long Time = default)", "parameters": [{ "name": "Hash", "type": "string?" }, { "name": "Author", "type": "string?", "default": "null" }, { "name": "Summary", "type": "string?", "default": "null" }, { "name": "Time", "type": "long", "default": "default" }] }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|long|||h382e39ea1b3f79836fb7922bfa24e88b592f7f612357f065c055e7b46e60270d", "signature": "public long Time", "summary": "Unix seconds" }, { "name": "Author", "kind": "field", "id": "field|Author|0|0|string?|||h5d1fc170a7dcd4b8e80156dab09738bd64f10f589e9ac4a8e02e5fdc43adb431", "signature": "public string? Author", "summary": "Unix seconds" }, { "name": "Hash", "kind": "field", "id": "field|Hash|0|0|string?|||h95e6d6d6d205a91ba5b07f33a3714e158b5d5e595387bd4d4e731aadfa81def7", "signature": "public string? Hash", "summary": "Unix seconds" }, { "name": "Summary", "kind": "field", "id": "field|Summary|0|0|string?|||h8385df67ed47afeb0919f599fea724e61b9b1c51e95bd9d8ec4e369db57dbc8d", "signature": "public string? Summary", "summary": "Unix seconds" }] }, - { "name": "CuiSharp.BlameOpts", "displayName": "BlameOpts", "kind": "struct", "summary": "cui_blame_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 360" }, { "name": "FirstLine", "kind": "field", "id": "field|FirstLine|0|0|int|||h1ab09d25eaa64ebab6cfe486404f0958dc364ecc142585baf2abf1130d0833f3", "signature": "public int FirstLine", "summary": "number of the first line, default 1" }, { "name": "Now", "kind": "field", "id": "field|Now|0|0|long|||h949d29ec25550cd1c5e589c99b5e39471c9584ce47315d26d5fa02dc132525d7", "signature": "public long Now", "summary": "ages are counted to here; 0: the clock" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|string?|||h8fa7b7c8fe2a50b3a95391e856d3b6c823e1a596a3f5d40e9f37c84029dc2357", "signature": "public string? Lang", "summary": "highlights the code, as the code block" }] }, - { "name": "CuiSharp.BlameResult", "displayName": "BlameResult", "kind": "struct", "summary": "cui_blame_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Clicked;int Hovered = default||hb1adf65814756b5ef4c1181973a88397aa75de71ac6a215607b1f39e43c885d2", "signature": "BlameResult(int Clicked, int Hovered = default)", "parameters": [{ "name": "Clicked", "type": "int" }, { "name": "Hovered", "type": "int", "default": "default" }] }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "commits, or -1" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "commits, or -1" }] }, - { "name": "CuiSharp.Box", "displayName": "Box", "kind": "struct", "summary": "cui_box. All fields are optional; zero selects native defaults.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float gap = default;float pad = default;Align align = Align.Default;Size width = default;Size height = default||h7f1ba54cd72a71d55501a6362bc3f8446aef984e009632bc4e5ca8182ab543dd", "signature": "Box(float gap = default, float pad = default, Align align = Align.Default, Size width = default, Size height = default)", "parameters": [{ "name": "gap", "type": "float", "default": "default" }, { "name": "pad", "type": "float", "default": "default" }, { "name": "align", "type": "Align", "default": "Align.Default" }, { "name": "width", "type": "Size", "default": "default" }, { "name": "height", "type": "Size", "default": "default" }], "summary": "A box with its hot layout fields set: ui.Row(new(gap: 12, align: Align.Center)), ui.Column(new(pad: 18, gap: 12, height: Size.Fill)). Every other field keeps its native default, exactly as the equivalent object initializer." }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|Align|||hbfab2ef993c61054e2f8f5ce6be2dad9452bc3394d4804b70659bacd284f6875", "signature": "public Align Align", "summary": "cross axis alignment of children" }, { "name": "Bg", "kind": "field", "id": "field|Bg|0|0|Color|||h202c1642f9d390c957a66afa64c92a12856dec696301aef52d51b6cd0862c639", "signature": "public Color Bg", "summary": "background" }, { "name": "BorderColor", "kind": "field", "id": "field|BorderColor|0|0|Color|||h972eda0c8fa110c72268d5ac944f0b43c5dc51b304b4c62290999eb105e519cf", "signature": "public Color BorderColor", "summary": "defaults to CUI_COLOR_BORDER when border \u003E 0" }, { "name": "Dir", "kind": "field", "id": "field|Dir|0|0|Dir|||h4234b97a5550923f99238823065b45fc864e22c26f0c83f8c84555cb61b7d89b", "signature": "public Dir Dir", "summary": "CUI_COLUMN (default), CUI_ROW, CUI_STACK, CUI_GRID" }, { "name": "Direction", "kind": "field", "id": "field|Direction|0|0|Direction|||h894fea11f583bab4f597860149502f9c496b27b2c30b238beaf6828e963d3be0", "signature": "public Direction Direction", "summary": "inherited by default; mirrors horizontal layout and padding" }, { "name": "Elevation", "kind": "field", "id": "field|Elevation|0|0|Elevation|||he0a7c311160b4a1eff39232663778806740ff0dbee335caec9c9e85ca308541e", "signature": "public Elevation Elevation", "summary": "cui_elevation elevation" }, { "name": "Justify", "kind": "field", "id": "field|Justify|0|0|Justify|||hf004d9d46fdf7b0e648b8005eefcd94a2875126011393877c0f22d333513e2ef", "signature": "public Justify Justify", "summary": "main axis distribution" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default: fit content (columns stretch children horizontally)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default: fit content (columns stretch children horizontally)" }, { "name": "Clip", "kind": "field", "id": "field|Clip|0|0|bool|||h5216b6f2f31363ae7228e32f5ca20a079eb5e999fae48f94da46613946cce79d", "signature": "public bool Clip", "summary": "clip children to the box" }, { "name": "ScrollX", "kind": "field", "id": "field|ScrollX|0|0|bool|||h6ae2052c4eb70e4eb0304226ce6169523e57d8278e3ba35cca97ca3379370051", "signature": "public bool ScrollX", "summary": "make the box a scroll area (clips content)" }, { "name": "ScrollY", "kind": "field", "id": "field|ScrollY|0|0|bool|||h847b268e6ea6fa9b1edbf04544f448cf555492d55d4e2e09556e2e04c9ba939b", "signature": "public bool ScrollY", "summary": "make the box a scroll area (clips content)" }, { "name": "Wrap", "kind": "field", "id": "field|Wrap|0|0|bool|||h285798f359c0d7dbf8aab48f86fc58cedd7f2818d242a32ba0b3ce9bd903fb20", "signature": "public bool Wrap", "summary": "CUI_ROW: children that do not fit move to a new line" }, { "name": "Border", "kind": "field", "id": "field|Border|0|0|float|||h4bb5750724304a562c69bb723b5db8d43e5846d3b78c2e66ad01710cdfbf5191", "signature": "public float Border", "summary": "border width" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "space between children (and between wrapped lines)" }, { "name": "MaxHeight", "kind": "field", "id": "field|MaxHeight|0|0|float|||h362fb387f8c873f790106e0085b293b9836b14ef629bd38f56f23e0483ef699f", "signature": "public float MaxHeight", "summary": "float max_height" }, { "name": "MaxWidth", "kind": "field", "id": "field|MaxWidth|0|0|float|||h6955c9491dc05b5aeba77dc176d769dc41bee5636e74696cc5ac75aede49296b", "signature": "public float MaxWidth", "summary": "float max_width" }, { "name": "MinColumnWidth", "kind": "field", "id": "field|MinColumnWidth|0|0|float|||h3bf72f06ae16007da1aa4132cf4b98d6c659d256b3af795fc2b66943463ec497", "signature": "public float MinColumnWidth", "summary": "CUI_GRID: as many columns as fit at this width, at least one" }, { "name": "MinHeight", "kind": "field", "id": "field|MinHeight|0|0|float|||ha292b3b72be6a5893414fe5fc78e9c3c32fdca9ee4f85aaeb3161e6842440033", "signature": "public float MinHeight", "summary": "float min_height" }, { "name": "MinWidth", "kind": "field", "id": "field|MinWidth|0|0|float|||h7e959c77177556152f99de8073ad52de6c88f583955bbebe8b717d02776d9e64", "signature": "public float MinWidth", "summary": "float min_width" }, { "name": "Opacity", "kind": "field", "id": "field|Opacity|0|0|float|||hde7eb5efb94b5e9dd209e0982456759c12c57b2c83531f251a12e65cbe6b1e13", "signature": "public float Opacity", "summary": "0 means 1 (fully opaque)" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float pad" }, { "name": "PadBottom", "kind": "field", "id": "field|PadBottom|0|0|float|||hc1c67a6a2548abf224e047c651d6a7cb45329e967b322af5dfe524a07f5e2620", "signature": "public float PadBottom", "summary": "float pad_bottom" }, { "name": "PadLeft", "kind": "field", "id": "field|PadLeft|0|0|float|||h70bf8d58e7c7a29cfdb6a63424ba305385f7538afd0181c1518eee1ed9f61b1b", "signature": "public float PadLeft", "summary": "float pad_left" }, { "name": "PadRight", "kind": "field", "id": "field|PadRight|0|0|float|||h47fc325b4ba851dd9c4be8407fc7051641fbb4f71aae1b8cd4448ca21bb0f8b6", "signature": "public float PadRight", "summary": "float pad_right" }, { "name": "PadTop", "kind": "field", "id": "field|PadTop|0|0|float|||hbb5c17b3bf02fb73ab1351bef2ea7c7446fa1d77e66e8a8fa1077ff4b5f0ba3e", "signature": "public float PadTop", "summary": "float pad_top" }, { "name": "PadX", "kind": "field", "id": "field|PadX|0|0|float|||h173de26af4d61cccda65dc4e4a2134425ccb87e453814b3fc09477116f152937", "signature": "public float PadX", "summary": "float pad_x" }, { "name": "PadY", "kind": "field", "id": "field|PadY|0|0|float|||he7a54032c34537ad78c4c2a6e6dcd1656a79aa395a54ecd5a4ed46c891e7cf37", "signature": "public float PadY", "summary": "float pad_y" }, { "name": "Radius", "kind": "field", "id": "field|Radius|0|0|float|||h565c7c94c17c4e0d68e71b97e4dacf48df705124ce26655589804f82ae3a5afe", "signature": "public float Radius", "summary": "corner radius; use radius_tl.. for single corners" }, { "name": "RadiusBl", "kind": "field", "id": "field|RadiusBl|0|0|float|||h9dd1fafd2e82c84b61ae611cdc8a30354ae3db4a16a977547d65e6ba6c8f29cf", "signature": "public float RadiusBl", "summary": "float radius_bl" }, { "name": "RadiusBr", "kind": "field", "id": "field|RadiusBr|0|0|float|||h2234ef53764aea1f5c8535a3bf90ae370665341580a63b651f5d700ac65573ed", "signature": "public float RadiusBr", "summary": "float radius_br" }, { "name": "RadiusTl", "kind": "field", "id": "field|RadiusTl|0|0|float|||he23d55a47528087e12871dd0cfa80caa841145f35df4ceb0535f6351d0d1e78b", "signature": "public float RadiusTl", "summary": "float radius_tl" }, { "name": "RadiusTr", "kind": "field", "id": "field|RadiusTr|0|0|float|||hb0e758616eae542125924701530e0fd1f7106694d1eb38533996552033f3bac6", "signature": "public float RadiusTr", "summary": "float radius_tr" }, { "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "CUI_GRID: column count (with min_column_width: the most columns)" }, { "name": "Id", "kind": "field", "id": "field|Id|0|0|string?|||h903b441d2692d36130aa05f5607dedb9f29f50f33eb6b8e718d9e7958d011fa9", "signature": "public string? Id", "summary": "identity for scroll state etc. (defaults to an automatic id)" }] }, - { "name": "CuiSharp.ButtonOpts", "displayName": "ButtonOpts", "kind": "struct", "summary": "cui_button_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "cui_button_variant variant" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "text and icon color, e.g. CUI_COLOR_ACCENT for a toggled icon" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "FullWidth", "kind": "field", "id": "field|FullWidth|0|0|bool|||hdc8aafcce927648adf0c0145203424f8957fc857f5c4d890241daae15b5eac45", "signature": "public bool FullWidth", "summary": "_Bool full_width" }, { "name": "Loading", "kind": "field", "id": "field|Loading|0|0|bool|||h1a1df670039b692be8a827bee28c939371fe741e0871265ea4bdd3a172311bd8", "signature": "public bool Loading", "summary": "spinner, ignores clicks" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|bool|||ha8f1fe2a399f368a574176637903c3d9775d632126ad3ed2ba7d99d9787055da", "signature": "public bool Selected", "summary": "toggled look" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "leading icon, e.g. CUI_ICON_PLUS" }, { "name": "IconRight", "kind": "field", "id": "field|IconRight|0|0|string?|||hd9890d28fa630bfee88ff4a42700bc6620d173ee889863bcd75ad9b336da131f", "signature": "public string? IconRight", "summary": "trailing icon" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|string?|||hb24cee523e8070471058522244148c9ff58dd158ff50852f7a6257dc7fcab350", "signature": "public string? Shortcut", "summary": "shown as a hint in the tooltip, e.g. \u0022Ctrl S\u0022" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|string?|||h82837286b4f40e657285a1f72d68bcf8fa107f1c1022330456870eeab4fce431", "signature": "public string? Tooltip", "summary": "const char * tooltip" }] }, - { "name": "CuiSharp.ButtonVariant", "displayName": "ButtonVariant", "kind": "enum", "summary": "cui_button_variant", "members": [{ "name": "Danger", "kind": "enum value", "id": "enum value|Danger|1|0|||5|h154afd4a1e02206d84054a76e1820f500566fedea82541d87fd986309c744776", "signature": "Danger = 5", "value": "5" }, { "name": "Default", "kind": "enum value", "id": "enum value|Default|1|0|||0|h865e49ef9e11ff3a18410e624292e1e6225511c59ebfa8a1f5a7db0c73c44e9c", "signature": "Default = 0", "value": "0" }, { "name": "Ghost", "kind": "enum value", "id": "enum value|Ghost|1|0|||4|h967aa1d871ab9bf4d2721d9ba3d7b245fdc2b396eeaae0eac0db0e4015fd7812", "signature": "Ghost = 4", "value": "4" }, { "name": "Link", "kind": "enum value", "id": "enum value|Link|1|0|||6|h52ac401c000476e81f2f411c1f1152fa88e8a43c314ce0d42546a89b566e38ba", "signature": "Link = 6", "value": "6" }, { "name": "Outline", "kind": "enum value", "id": "enum value|Outline|1|0|||3|h3e8e4a2bec5c7c94933012284f777a915254f5efc780d8353778442f20cdb6a9", "signature": "Outline = 3", "value": "3" }, { "name": "Primary", "kind": "enum value", "id": "enum value|Primary|1|0|||2|h0e4c408ff3df183ec6a5bda2a176eb76858f0b55c583a21318273b354abb4333", "signature": "Primary = 2", "value": "2" }, { "name": "Secondary", "kind": "enum value", "id": "enum value|Secondary|1|0|||1|hee4108bb3088e87b92ae739cbff6ecedd6f67a4425f86e71ffef6503d0942708", "signature": "Secondary = 1", "value": "1" }] }, - { "name": "CuiSharp.CalendarEvent", "displayName": "CalendarEvent", "kind": "struct", "summary": "cui_cal_event. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Detail = null;int Day = default;float Start = default;float End = default;Tone Tone = Tone.Neutral||h7946645244d289112773e6e7bac57dd4abeb945a6a29fed738e0f7030997c2dd", "signature": "CalendarEvent(string? Title, string? Detail = null, int Day = default, float Start = default, float End = default, Tone Tone = Tone.Neutral)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Detail", "type": "string?", "default": "null" }, { "name": "Day", "type": "int", "default": "default" }, { "name": "Start", "type": "float", "default": "default" }, { "name": "End", "type": "float", "default": "default" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "End", "kind": "field", "id": "field|End|0|0|float|||h746aa4735d52d974b98a908b8c756c9e0c0f37203b3999ab7359e161064f649d", "signature": "public float End", "summary": "float end" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|float|||ha3e89c7d95d80cd26b26f17ad97c1dd953e50a5774663a52471d8a17579c8978", "signature": "public float Start", "summary": "float start" }, { "name": "Day", "kind": "field", "id": "field|Day|0|0|int|||h40d69339a69f05f7a1cf0fdcf537358258767e30cc6d07e430cb48196d28a0e1", "signature": "public int Day", "summary": "int day" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "const char * detail" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, - { "name": "CuiSharp.CalendarHeatmapOpts", "displayName": "CalendarHeatmapOpts", "kind": "struct", "summary": "cui_calendar_heatmap_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Cell", "kind": "field", "id": "field|Cell|0|0|float|||hf561982788f651cf6be459cbdafa3d95b9d0eec610073c6be9f8ee75925d3d45", "signature": "public float Cell", "summary": "float cell" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|string?|||h0c302a69bed7c7496c01c252ba72a9e4fdc11703160e8b42558740a0215d1888", "signature": "public string? Unit", "summary": "const char * unit" }] }, - { "name": "CuiSharp.Candle", "displayName": "Candle", "kind": "struct", "summary": "cui_candle. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float Open;float High = default;float Low = default;float Close = default;float Volume = default||h7c86989071a9997b55d9ad731004e8592e634e70e2a01a08c55f1d6f4c5fceb5", "signature": "Candle(float Open, float High = default, float Low = default, float Close = default, float Volume = default)", "parameters": [{ "name": "Open", "type": "float" }, { "name": "High", "type": "float", "default": "default" }, { "name": "Low", "type": "float", "default": "default" }, { "name": "Close", "type": "float", "default": "default" }, { "name": "Volume", "type": "float", "default": "default" }] }, { "name": "Close", "kind": "field", "id": "field|Close|0|0|float|||hdbf413c58a9f47dea0a50fed460dbd93d29daa77401f940f16af6251e2028722", "signature": "public float Close", "summary": "float close" }, { "name": "High", "kind": "field", "id": "field|High|0|0|float|||h8d86ceb8300b405923f523b6dfd491fceedb9688753dea5f6c0ed797466bffb1", "signature": "public float High", "summary": "float high" }, { "name": "Low", "kind": "field", "id": "field|Low|0|0|float|||h5bec759be4f0ae85b0ce5535aeb5d662da36d7c794ada46efc1c76f1e46fbd11", "signature": "public float Low", "summary": "float low" }, { "name": "Open", "kind": "field", "id": "field|Open|0|0|float|||hc9eb0b7a2eda17a016265abb4149c4d6320d1a0ad9e2d574af040fea57e2b535", "signature": "public float Open", "summary": "float open" }, { "name": "Volume", "kind": "field", "id": "field|Volume|0|0|float|||h4e862718c5c149dfe923f34f73565a8823a0e676880e4f814cc54cf696444405", "signature": "public float Volume", "summary": "float volume" }] }, - { "name": "CuiSharp.CandlestickOpts", "displayName": "CandlestickOpts", "kind": "struct", "summary": "cui_candlestick_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Down", "kind": "field", "id": "field|Down|0|0|Color|||hfa7033dc15fd180b0a52414254e800b520ddb1e0c5b9bd7d938efeead31cc834", "signature": "public Color Down", "summary": "default the success and danger colors" }, { "name": "Up", "kind": "field", "id": "field|Up|0|0|Color|||hfd2b630167ee38aa8121e0a1b046324c54fd844162ae66b0da436de2d6d4326e", "signature": "public Color Up", "summary": "default the success and danger colors" }, { "name": "Overlays", "kind": "field", "id": "field|Overlays|0|0|Series[]?|||h9c211d52d77baa0e5de591688834b2793f6d2e5f0705e1396cf270b69ca18777", "signature": "public Series[]? Overlays", "summary": "lines with one value per candle, e.g. moving averages" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "NoVolume", "kind": "field", "id": "field|NoVolume|0|0|bool|||h0c18beecfdc80f8b8f03426f8e5497e98d0a4473f1d296518dfd07f2b8d2ca54", "signature": "public bool NoVolume", "summary": "volume bars show when any candle has volume" }, { "name": "Ohlc", "kind": "field", "id": "field|Ohlc|0|0|bool|||h7780e0bece6df1b12f0cf07d686a977f39645b36c26f85569b5c945a8f1c5b72", "signature": "public bool Ohlc", "summary": "OHLC bars instead of candle bodies" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320" }, { "name": "OverlayCount", "kind": "field", "id": "field|OverlayCount|0|0|int|||ha8d99630aed0348e05d42fcd4a15671c1288e5c9fb38a9067b57636b13b7a171", "signature": "public int OverlayCount", "summary": "lines with one value per candle, e.g. moving averages" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "prices, default \u0022%.2f\u0022" }, { "name": "Labels", "kind": "field", "id": "field|Labels|0|0|string[]?|||h8fb4abf556b1cb1de99178be1a8d46296633251acb19bfe3c6cbb44da2314abf", "signature": "public string[]? Labels", "summary": "one per candle (dates or times): the time axis and the tooltip" }] }, + { "name": "CuiSharp.AgentPlanOpts", "displayName": "AgentPlanOpts", "kind": "struct", "summary": "Agent plan: steps with their status on a connected rail, and progress. All fields are optional; zero selects the native default.", "members": [{ "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "heading of the plan, default \u0022Plan\u0022" }] }, + { "name": "CuiSharp.AgentStatusOpts", "displayName": "AgentStatusOpts", "kind": "struct", "summary": "Agent status pill: what the agent is doing right now and for how long. All fields are optional; zero selects the native default.", "members": [{ "name": "Status", "kind": "field", "id": "field|Status|0|0|CuiTaskStatus|||hc70e5654f5e0b77ce9da45f798c273c2ac66019dc100160d6f02b89ccf377bba", "signature": "public CuiTaskStatus Status", "summary": "cui_task_status status" }, { "name": "Seconds", "kind": "field", "id": "field|Seconds|0|0|float|||hb2b6bfb7a4abde73c46fe03cfd0492620c03edc110332cec5c1c257b49ebec83", "signature": "public float Seconds", "summary": "elapsed time shown after the text, as 42s or 1m 05s; 0 hides it" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.AlertOpts", "displayName": "AlertOpts", "kind": "struct", "summary": "cui_alert_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Dismissible", "kind": "field", "id": "field|Dismissible|0|0|bool|||h7796da526a083f4775f676304b27d97ecd77b43cfa36072c0cca539af9ae884b", "signature": "public bool Dismissible", "summary": "_Bool dismissible" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.Align", "displayName": "Align", "kind": "enum", "summary": "CUI_ALIGN_DEFAULT: columns stretch their children, rows center them.", "members": [{ "name": "Center", "kind": "enum value", "id": "enum value|Center|1|0|||2|h0f287a514529f7e1e27faa2c72b51024434e23ff232719bfe637e86aabab4e90", "signature": "Center = 2", "value": "2" }, { "name": "Default", "kind": "enum value", "id": "enum value|Default|1|0|||0|h865e49ef9e11ff3a18410e624292e1e6225511c59ebfa8a1f5a7db0c73c44e9c", "signature": "Default = 0", "value": "0" }, { "name": "End", "kind": "enum value", "id": "enum value|End|1|0|||3|h276e94c9c2b2e4ae3c4e4210b498ee6ce992add0ff955d7bebecd7901fe79744", "signature": "End = 3", "value": "3" }, { "name": "Start", "kind": "enum value", "id": "enum value|Start|1|0|||1|hcedaebcb61bc9b81ef04fcd68abce3fe514c85f51394853de1eed61337b42837", "signature": "Start = 1", "value": "1" }, { "name": "Stretch", "kind": "enum value", "id": "enum value|Stretch|1|0|||4|hfea6ade01cdac1b2159392e856cb2fc01f8bd400306c13bd0158a7fac41b4e46", "signature": "Stretch = 4", "value": "4" }] }, + { "name": "CuiSharp.AnnotationKind", "displayName": "AnnotationKind", "kind": "enum", "summary": "A line, a threshold or a point drawn over a chart, with a two-line label: the label in the foreground color and a muted detail under it. Line and bar charts take them in cui_chart_opts, the dot chart in cui_dot_chart_opts. Labels that would overlap move to the other side of their line, then down.", "members": [{ "name": "Point", "kind": "enum value", "id": "enum value|Point|1|0|||2|h2f2184a5b0b655af7371ea19b52e1c1382921300e81a6e8ed0f1c6c00fdd2ecb", "signature": "Point = 2", "summary": "a dot at \u0060x\u0060, \u0060y\u0060, labelled beside it", "value": "2" }, { "name": "X", "kind": "enum value", "id": "enum value|X|1|0|||0|h616c9b4349705c2ced85185377cb127c144e7415c252cfdecec656e76f22c3e4", "signature": "X = 0", "summary": "a vertical line at \u0060x\u0060, labelled at its top", "value": "0" }, { "name": "Y", "kind": "enum value", "id": "enum value|Y|1|0|||1|h6f3eda40a938639d7516259fb408c614c65d5cb1deace898cd295832260ced11", "signature": "Y = 1", "summary": "a dashed horizontal line at the value \u0060y\u0060, labelled at its end", "value": "1" }] }, + { "name": "CuiSharp.ApiEndpoint", "displayName": "ApiEndpoint", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Method;string? Path = null;string? Summary = null;string? Tag = null;bool Deprecated = default;ApiParam[]? Params = null||h7fbc93b6712d20d56d5122f4d43d9d6a84c16b0535318406ddb2472252c2cb60", "signature": "ApiEndpoint(string? Method, string? Path = null, string? Summary = null, string? Tag = null, bool Deprecated = default, ApiParam[]? Params = null)", "parameters": [{ "name": "Method", "type": "string?" }, { "name": "Path", "type": "string?", "default": "null" }, { "name": "Summary", "type": "string?", "default": "null" }, { "name": "Tag", "type": "string?", "default": "null" }, { "name": "Deprecated", "type": "bool", "default": "default" }, { "name": "Params", "type": "ApiParam[]?", "default": "null" }] }, { "name": "Params", "kind": "field", "id": "field|Params|0|0|ApiParam[]?|||hdf473e089d087df8ada4eb61ed19fe5b7b79663d3098c7864d07ea10159cff8b", "signature": "public ApiParam[]? Params", "summary": "the parameters listed when the endpoint is opened; may be \u0060NULL\u0060" }, { "name": "Deprecated", "kind": "field", "id": "field|Deprecated|0|0|bool|||h5892366dadf7c82a21e2d480013a799152dc076731b1c38e054a312fce771a76", "signature": "public bool Deprecated", "summary": "struck through and muted, with a \u0022Deprecated\u0022 badge" }, { "name": "Method", "kind": "field", "id": "field|Method|0|0|string?|||h43edb6c576a75b56573640fa1b3c3165aeef627fe5c8abe6714ca10bf2480613", "signature": "public string? Method", "summary": "\u0022GET\u0022" }, { "name": "Path", "kind": "field", "id": "field|Path|0|0|string?|||h38c25c9591c0c2e3c6198e606e0b33109c4c38f51d9f1d9bbf7ada51d909598f", "signature": "public string? Path", "summary": "\u0022/users/{id}\u0022" }, { "name": "Summary", "kind": "field", "id": "field|Summary|0|0|string?|||h8385df67ed47afeb0919f599fea724e61b9b1c51e95bd9d8ec4e369db57dbc8d", "signature": "public string? Summary", "summary": "one line after the path; the filter field searches it" }, { "name": "Tag", "kind": "field", "id": "field|Tag|0|0|string?|||h6f8b305884bbad494bc4c9a835ce35e2593e6c8254e66e3952774e0cac826906", "signature": "public string? Tag", "summary": "groups the list; NULL groups as \u0022Other\u0022" }] }, + { "name": "CuiSharp.ApiExplorerOpts", "displayName": "ApiExplorerOpts", "kind": "struct", "summary": "cui_api_explorer_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }] }, + { "name": "CuiSharp.ApiExplorerResult", "displayName": "ApiExplorerResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Selected;int TryIt = default||hac6596a15f6063fe4ce04a8c27bf6079bd6cc12e30e980f4bae515c0fdc822bd", "signature": "ApiExplorerResult(int Selected, int TryIt = default)", "parameters": [{ "name": "Selected", "type": "int" }, { "name": "TryIt", "type": "int", "default": "default" }] }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "the selected endpoint, or -1" }, { "name": "TryIt", "kind": "field", "id": "field|TryIt|0|0|int|||h5b7497c7ff57eca579c0220484ed786050570c5aa1615b0f5118bc1ae8af3b74", "signature": "public int TryIt", "summary": "endpoint, or -1" }] }, + { "name": "CuiSharp.ApiParam", "displayName": "ApiParam", "kind": "struct", "summary": "Endpoints grouped by tag, each with its method, its path (parameters marked) and its summary; deprecated ones are struck through. A click opens an endpoint\u0027s parameters and a Try it button. A field filters by path or summary. Up and Down move, Enter opens. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;string? In = null;string? Type = null;bool Required = default;string? Description = null||h91ef145f6fd0be325481474d76af2a84766c93ba0b369ce9adf437fdd41951aa", "signature": "ApiParam(string? Name, string? In = null, string? Type = null, bool Required = default, string? Description = null)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "In", "type": "string?", "default": "null" }, { "name": "Type", "type": "string?", "default": "null" }, { "name": "Required", "type": "bool", "default": "default" }, { "name": "Description", "type": "string?", "default": "null" }] }, { "name": "Required", "kind": "field", "id": "field|Required|0|0|bool|||hb6aec04b549eaa0bb337715fa9a3aaa889086dfc1dbd6d0b555826d7ce836b48", "signature": "public bool Required", "summary": "a red asterisk after the name" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "what the parameter is for, shown after its type and place; may be \u0060NULL\u0060" }, { "name": "In", "kind": "field", "id": "field|In|0|0|string?|||h5311dc7b652ebc0c442baa10c3ef5359c19f57d1feeb1a212fba7e36a425a488", "signature": "public string? In", "summary": "where it goes: \u0022path\u0022, \u0022query\u0022, \u0022header\u0022 or \u0022body\u0022" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "the parameter\u0027s name, in the code font" }, { "name": "Type", "kind": "field", "id": "field|Type|0|0|string?|||hd13f10c6a1a43e5dad4e56f1c9942eeda7e31c88858c2d5b682e8c3bf87faf1f", "signature": "public string? Type", "summary": "e.g. \u0022string\u0022; shown before where it goes" }] }, + { "name": "CuiSharp.AvatarOpts", "displayName": "AvatarOpts", "kind": "struct", "summary": "cui_avatar_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Square", "kind": "field", "id": "field|Square|0|0|bool|||h3398a8febfe56ac8052a2486a1cba1999b01c4910184d7a2b01bd9600e1ed263", "signature": "public bool Square", "summary": "rounded square instead of a circle" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|string?|||hea5150ac3e746a684c3b4c0832cabdae145da44e92c85bb412cef107598a117e", "signature": "public string? Status", "summary": "a dot at the bottom right: \u0022online\u0022 green, \u0022busy\u0022 red, \u0022away\u0022 amber, anything else gray" }, { "name": "Image", "kind": "field", "id": "field|Image|0|0|ulong|||he25dd60d612e9a06babb072bcf3c76754f6f813f5113d829ed08e969dc20f672", "signature": "public ulong Image", "summary": "picture to show instead of the initials of the name" }] }, + { "name": "CuiSharp.AxisUnits", "displayName": "AxisUnits", "kind": "enum", "summary": "How an axis labels its values.", "members": [{ "name": "Hours", "kind": "enum value", "id": "enum value|Hours|1|0|||1|h2e6397363f85a55fab4cc07f0d8856167670796247dfd4d56322b5c0bef244fb", "signature": "Hours = 1", "summary": "hours shown as a time of day: 12.25 is 12:15, and 30 is 06:00 the next day", "value": "1" }, { "name": "Number", "kind": "enum value", "id": "enum value|Number|1|0|||0|ha89ea5252d4f981da6eac106b65a3b7e3f0db07159a95fcb9e536f5d78d51bb9", "signature": "Number = 0", "summary": "numbers, printed with the axis format (default \u0022%g\u0022)", "value": "0" }] }, + { "name": "CuiSharp.BadgeOpts", "displayName": "BadgeOpts", "kind": "struct", "summary": "cui_badge_opts. All fields are optional; zero selects the native default.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||Tone tone = Tone.Neutral||hf41ea10b22440a272ef4b1ca8ad61390d4b0450f2767621ad1e0bae737d0936f", "signature": "BadgeOpts(Tone tone = Tone.Neutral)", "parameters": [{ "name": "tone", "type": "Tone", "default": "Tone.Neutral" }], "summary": "A badge in one word: ui.Badge(\u0022Updating\u0022, new(Tone.Danger)). Every other field keeps its native default, exactly as the equivalent object initializer." }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Dot", "kind": "field", "id": "field|Dot|0|0|bool|||h2c1cc597459b498ce2f3dd2878d6499c9cf8ef48c0603c3a097c5f56751d30d9", "signature": "public bool Dot", "summary": "a small dot before the text, in the tone\u0027s color" }, { "name": "Solid", "kind": "field", "id": "field|Solid|0|0|bool|||h938690fcaa55f8f20d4eb1f6bdad82856b9119192f5dd841daa133c854056596", "signature": "public bool Solid", "summary": "filled with the tone\u0027s color instead of a light tint of it" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.BannerOpts", "displayName": "BannerOpts", "kind": "struct", "summary": "Announcement banner across the top of a view. Collapses smoothly when dismissed (*open becomes false). Returns true when the action is clicked. All fields are optional; zero selects the native default.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Dismissible", "kind": "field", "id": "field|Dismissible|0|0|bool|||h7796da526a083f4775f676304b27d97ecd77b43cfa36072c0cca539af9ae884b", "signature": "public bool Dismissible", "summary": "_Bool dismissible" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|string?|||h288a83cea0bad5b5f38d9c844869a799f6116f3a3d074f257d6240feed95d754", "signature": "public string? Action", "summary": "label of a button in the banner; the call returns true when it is clicked" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.BarListOpts", "displayName": "BarListOpts", "kind": "struct", "summary": "Bar list: ranked horizontal bars. Rows are keyed by label, so when the values change the bars grow and the rows slide to their new rank. All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "KeepOrder", "kind": "field", "id": "field|KeepOrder|0|0|bool|||hf12573cda7d5c6ce51d5a43ecfa5b8683a8482b185376fa3c1a76ee844ba6f3d", "signature": "public bool KeepOrder", "summary": "keeps the items in the order given instead of sorting them largest first" }, { "name": "MaxRows", "kind": "field", "id": "field|MaxRows|0|0|int|||h82a530e961fd20944667ea1ad6f4d328cd4ce0e5c238e091ebaa74d2086ed486", "signature": "public int MaxRows", "summary": "shows only this many rows from the top; 0 shows all" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, + { "name": "CuiSharp.BlameCommit", "displayName": "BlameCommit", "kind": "struct", "summary": "Source with who last changed each line: lines from one commit share one gutter entry with its author, age and hash, and a bar at the edge shades newer changes stronger. Hover a gutter entry for the commit\u0027s summary and to mark its lines; click it to get the commit. Only the lines in view are built. On a phone the gutter keeps only the shade and initials. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Hash;string? Author = null;string? Summary = null;long Time = default||h05100a81b2f2d39e2e7a4db65654080df5fbd3a27ca828ee7e99e8810d69dfa9", "signature": "BlameCommit(string? Hash, string? Author = null, string? Summary = null, long Time = default)", "parameters": [{ "name": "Hash", "type": "string?" }, { "name": "Author", "type": "string?", "default": "null" }, { "name": "Summary", "type": "string?", "default": "null" }, { "name": "Time", "type": "long", "default": "default" }] }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|long|||h382e39ea1b3f79836fb7922bfa24e88b592f7f612357f065c055e7b46e60270d", "signature": "public long Time", "summary": "Unix seconds" }, { "name": "Author", "kind": "field", "id": "field|Author|0|0|string?|||h5d1fc170a7dcd4b8e80156dab09738bd64f10f589e9ac4a8e02e5fdc43adb431", "signature": "public string? Author", "summary": "shown in the gutter; on a phone as initials" }, { "name": "Hash", "kind": "field", "id": "field|Hash|0|0|string?|||h95e6d6d6d205a91ba5b07f33a3714e158b5d5e595387bd4d4e731aadfa81def7", "signature": "public string? Hash", "summary": "the commit id; its first 7 characters are shown" }, { "name": "Summary", "kind": "field", "id": "field|Summary|0|0|string?|||h8385df67ed47afeb0919f599fea724e61b9b1c51e95bd9d8ec4e369db57dbc8d", "signature": "public string? Summary", "summary": "the commit\u0027s message line, shown in the gutter\u0027s tooltip" }] }, + { "name": "CuiSharp.BlameOpts", "displayName": "BlameOpts", "kind": "struct", "summary": "Source with who last changed each line: lines from one commit share one gutter entry with its author, age and hash, and a bar at the edge shades newer changes stronger. Hover a gutter entry for the commit\u0027s summary and to mark its lines; click it to get the commit. Only the lines in view are built. On a phone the gutter keeps only the shade and initials. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 360" }, { "name": "FirstLine", "kind": "field", "id": "field|FirstLine|0|0|int|||h1ab09d25eaa64ebab6cfe486404f0958dc364ecc142585baf2abf1130d0833f3", "signature": "public int FirstLine", "summary": "number of the first line, default 1" }, { "name": "Now", "kind": "field", "id": "field|Now|0|0|long|||h949d29ec25550cd1c5e589c99b5e39471c9584ce47315d26d5fa02dc132525d7", "signature": "public long Now", "summary": "ages are counted to here; 0: the clock" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|string?|||h8fa7b7c8fe2a50b3a95391e856d3b6c823e1a596a3f5d40e9f37c84029dc2357", "signature": "public string? Lang", "summary": "highlights the code, as the code block" }] }, + { "name": "CuiSharp.BlameResult", "displayName": "BlameResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Clicked;int Hovered = default||hb1adf65814756b5ef4c1181973a88397aa75de71ac6a215607b1f39e43c885d2", "signature": "BlameResult(int Clicked, int Hovered = default)", "parameters": [{ "name": "Clicked", "type": "int" }, { "name": "Hovered", "type": "int", "default": "default" }] }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "commit whose gutter entry was clicked this frame, or -1" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "commits, or -1" }] }, + { "name": "CuiSharp.Box", "displayName": "Box", "kind": "struct", "summary": "Options for every container. All fields are optional. All fields are optional; zero selects the native default.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float gap = default;float pad = default;Align align = Align.Default;Size width = default;Size height = default||h7f1ba54cd72a71d55501a6362bc3f8446aef984e009632bc4e5ca8182ab543dd", "signature": "Box(float gap = default, float pad = default, Align align = Align.Default, Size width = default, Size height = default)", "parameters": [{ "name": "gap", "type": "float", "default": "default" }, { "name": "pad", "type": "float", "default": "default" }, { "name": "align", "type": "Align", "default": "Align.Default" }, { "name": "width", "type": "Size", "default": "default" }, { "name": "height", "type": "Size", "default": "default" }], "summary": "A box with its hot layout fields set: ui.Row(new(gap: 12, align: Align.Center)), ui.Column(new(pad: 18, gap: 12, height: Size.Fill)). Every other field keeps its native default, exactly as the equivalent object initializer." }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|Align|||hbfab2ef993c61054e2f8f5ce6be2dad9452bc3394d4804b70659bacd284f6875", "signature": "public Align Align", "summary": "cross axis alignment of children" }, { "name": "Bg", "kind": "field", "id": "field|Bg|0|0|Color|||h202c1642f9d390c957a66afa64c92a12856dec696301aef52d51b6cd0862c639", "signature": "public Color Bg", "summary": "background" }, { "name": "BorderColor", "kind": "field", "id": "field|BorderColor|0|0|Color|||h972eda0c8fa110c72268d5ac944f0b43c5dc51b304b4c62290999eb105e519cf", "signature": "public Color BorderColor", "summary": "defaults to CUI_COLOR_BORDER when border \u003E 0" }, { "name": "Dir", "kind": "field", "id": "field|Dir|0|0|Dir|||h4234b97a5550923f99238823065b45fc864e22c26f0c83f8c84555cb61b7d89b", "signature": "public Dir Dir", "summary": "CUI_COLUMN (default), CUI_ROW, CUI_STACK, CUI_GRID" }, { "name": "Direction", "kind": "field", "id": "field|Direction|0|0|Direction|||h894fea11f583bab4f597860149502f9c496b27b2c30b238beaf6828e963d3be0", "signature": "public Direction Direction", "summary": "inherited by default; mirrors horizontal layout and padding" }, { "name": "Elevation", "kind": "field", "id": "field|Elevation|0|0|Elevation|||he0a7c311160b4a1eff39232663778806740ff0dbee335caec9c9e85ca308541e", "signature": "public Elevation Elevation", "summary": "cui_elevation elevation" }, { "name": "Justify", "kind": "field", "id": "field|Justify|0|0|Justify|||hf004d9d46fdf7b0e648b8005eefcd94a2875126011393877c0f22d333513e2ef", "signature": "public Justify Justify", "summary": "main axis distribution" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default: fit content (columns stretch children horizontally)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default: fit content (columns stretch children horizontally)" }, { "name": "Clip", "kind": "field", "id": "field|Clip|0|0|bool|||h5216b6f2f31363ae7228e32f5ca20a079eb5e999fae48f94da46613946cce79d", "signature": "public bool Clip", "summary": "clip children to the box" }, { "name": "ScrollX", "kind": "field", "id": "field|ScrollX|0|0|bool|||h6ae2052c4eb70e4eb0304226ce6169523e57d8278e3ba35cca97ca3379370051", "signature": "public bool ScrollX", "summary": "make the box a scroll area (clips content)" }, { "name": "ScrollY", "kind": "field", "id": "field|ScrollY|0|0|bool|||h847b268e6ea6fa9b1edbf04544f448cf555492d55d4e2e09556e2e04c9ba939b", "signature": "public bool ScrollY", "summary": "make the box a scroll area (clips content)" }, { "name": "Wrap", "kind": "field", "id": "field|Wrap|0|0|bool|||h285798f359c0d7dbf8aab48f86fc58cedd7f2818d242a32ba0b3ce9bd903fb20", "signature": "public bool Wrap", "summary": "CUI_ROW: children that do not fit move to a new line" }, { "name": "Border", "kind": "field", "id": "field|Border|0|0|float|||h4bb5750724304a562c69bb723b5db8d43e5846d3b78c2e66ad01710cdfbf5191", "signature": "public float Border", "summary": "border width" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "space between children (and between wrapped lines)" }, { "name": "MaxHeight", "kind": "field", "id": "field|MaxHeight|0|0|float|||h362fb387f8c873f790106e0085b293b9836b14ef629bd38f56f23e0483ef699f", "signature": "public float MaxHeight", "summary": "float max_height" }, { "name": "MaxWidth", "kind": "field", "id": "field|MaxWidth|0|0|float|||h6955c9491dc05b5aeba77dc176d769dc41bee5636e74696cc5ac75aede49296b", "signature": "public float MaxWidth", "summary": "float max_width" }, { "name": "MinColumnWidth", "kind": "field", "id": "field|MinColumnWidth|0|0|float|||h3bf72f06ae16007da1aa4132cf4b98d6c659d256b3af795fc2b66943463ec497", "signature": "public float MinColumnWidth", "summary": "CUI_GRID: as many columns as fit at this width, at least one" }, { "name": "MinHeight", "kind": "field", "id": "field|MinHeight|0|0|float|||ha292b3b72be6a5893414fe5fc78e9c3c32fdca9ee4f85aaeb3161e6842440033", "signature": "public float MinHeight", "summary": "float min_height" }, { "name": "MinWidth", "kind": "field", "id": "field|MinWidth|0|0|float|||h7e959c77177556152f99de8073ad52de6c88f583955bbebe8b717d02776d9e64", "signature": "public float MinWidth", "summary": "float min_width" }, { "name": "Opacity", "kind": "field", "id": "field|Opacity|0|0|float|||hde7eb5efb94b5e9dd209e0982456759c12c57b2c83531f251a12e65cbe6b1e13", "signature": "public float Opacity", "summary": "0 means 1 (fully opaque)" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float pad" }, { "name": "PadBottom", "kind": "field", "id": "field|PadBottom|0|0|float|||hc1c67a6a2548abf224e047c651d6a7cb45329e967b322af5dfe524a07f5e2620", "signature": "public float PadBottom", "summary": "float pad_bottom" }, { "name": "PadLeft", "kind": "field", "id": "field|PadLeft|0|0|float|||h70bf8d58e7c7a29cfdb6a63424ba305385f7538afd0181c1518eee1ed9f61b1b", "signature": "public float PadLeft", "summary": "float pad_left" }, { "name": "PadRight", "kind": "field", "id": "field|PadRight|0|0|float|||h47fc325b4ba851dd9c4be8407fc7051641fbb4f71aae1b8cd4448ca21bb0f8b6", "signature": "public float PadRight", "summary": "float pad_right" }, { "name": "PadTop", "kind": "field", "id": "field|PadTop|0|0|float|||hbb5c17b3bf02fb73ab1351bef2ea7c7446fa1d77e66e8a8fa1077ff4b5f0ba3e", "signature": "public float PadTop", "summary": "float pad_top" }, { "name": "PadX", "kind": "field", "id": "field|PadX|0|0|float|||h173de26af4d61cccda65dc4e4a2134425ccb87e453814b3fc09477116f152937", "signature": "public float PadX", "summary": "float pad_x" }, { "name": "PadY", "kind": "field", "id": "field|PadY|0|0|float|||he7a54032c34537ad78c4c2a6e6dcd1656a79aa395a54ecd5a4ed46c891e7cf37", "signature": "public float PadY", "summary": "float pad_y" }, { "name": "Radius", "kind": "field", "id": "field|Radius|0|0|float|||h565c7c94c17c4e0d68e71b97e4dacf48df705124ce26655589804f82ae3a5afe", "signature": "public float Radius", "summary": "corner radius; use radius_tl.. for single corners" }, { "name": "RadiusBl", "kind": "field", "id": "field|RadiusBl|0|0|float|||h9dd1fafd2e82c84b61ae611cdc8a30354ae3db4a16a977547d65e6ba6c8f29cf", "signature": "public float RadiusBl", "summary": "float radius_bl" }, { "name": "RadiusBr", "kind": "field", "id": "field|RadiusBr|0|0|float|||h2234ef53764aea1f5c8535a3bf90ae370665341580a63b651f5d700ac65573ed", "signature": "public float RadiusBr", "summary": "float radius_br" }, { "name": "RadiusTl", "kind": "field", "id": "field|RadiusTl|0|0|float|||he23d55a47528087e12871dd0cfa80caa841145f35df4ceb0535f6351d0d1e78b", "signature": "public float RadiusTl", "summary": "float radius_tl" }, { "name": "RadiusTr", "kind": "field", "id": "field|RadiusTr|0|0|float|||hb0e758616eae542125924701530e0fd1f7106694d1eb38533996552033f3bac6", "signature": "public float RadiusTr", "summary": "float radius_tr" }, { "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "CUI_GRID: column count (with min_column_width: the most columns)" }, { "name": "Id", "kind": "field", "id": "field|Id|0|0|string?|||h903b441d2692d36130aa05f5607dedb9f29f50f33eb6b8e718d9e7958d011fa9", "signature": "public string? Id", "summary": "identity for scroll state etc. (defaults to an automatic id)" }] }, + { "name": "CuiSharp.ButtonOpts", "displayName": "ButtonOpts", "kind": "struct", "summary": "cui_button_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "cui_button_variant variant" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "text and icon color, e.g. CUI_COLOR_ACCENT for a toggled icon" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "FullWidth", "kind": "field", "id": "field|FullWidth|0|0|bool|||hdc8aafcce927648adf0c0145203424f8957fc857f5c4d890241daae15b5eac45", "signature": "public bool FullWidth", "summary": "_Bool full_width" }, { "name": "Loading", "kind": "field", "id": "field|Loading|0|0|bool|||h1a1df670039b692be8a827bee28c939371fe741e0871265ea4bdd3a172311bd8", "signature": "public bool Loading", "summary": "spinner, ignores clicks" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|bool|||ha8f1fe2a399f368a574176637903c3d9775d632126ad3ed2ba7d99d9787055da", "signature": "public bool Selected", "summary": "toggled look" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "leading icon, e.g. CUI_ICON_PLUS" }, { "name": "IconRight", "kind": "field", "id": "field|IconRight|0|0|string?|||hd9890d28fa630bfee88ff4a42700bc6620d173ee889863bcd75ad9b336da131f", "signature": "public string? IconRight", "summary": "trailing icon" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|string?|||hb24cee523e8070471058522244148c9ff58dd158ff50852f7a6257dc7fcab350", "signature": "public string? Shortcut", "summary": "shown as a hint in the tooltip, e.g. \u0022Ctrl S\u0022" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|string?|||h82837286b4f40e657285a1f72d68bcf8fa107f1c1022330456870eeab4fce431", "signature": "public string? Tooltip", "summary": "const char * tooltip" }] }, + { "name": "CuiSharp.ButtonVariant", "displayName": "ButtonVariant", "kind": "enum", "summary": "cui_button_variant", "members": [{ "name": "Danger", "kind": "enum value", "id": "enum value|Danger|1|0|||5|h154afd4a1e02206d84054a76e1820f500566fedea82541d87fd986309c744776", "signature": "Danger = 5", "value": "5" }, { "name": "Default", "kind": "enum value", "id": "enum value|Default|1|0|||0|h865e49ef9e11ff3a18410e624292e1e6225511c59ebfa8a1f5a7db0c73c44e9c", "signature": "Default = 0", "summary": "secondary for buttons, ghost for icon buttons", "value": "0" }, { "name": "Ghost", "kind": "enum value", "id": "enum value|Ghost|1|0|||4|h967aa1d871ab9bf4d2721d9ba3d7b245fdc2b396eeaae0eac0db0e4015fd7812", "signature": "Ghost = 4", "value": "4" }, { "name": "Link", "kind": "enum value", "id": "enum value|Link|1|0|||6|h52ac401c000476e81f2f411c1f1152fa88e8a43c314ce0d42546a89b566e38ba", "signature": "Link = 6", "value": "6" }, { "name": "Outline", "kind": "enum value", "id": "enum value|Outline|1|0|||3|h3e8e4a2bec5c7c94933012284f777a915254f5efc780d8353778442f20cdb6a9", "signature": "Outline = 3", "value": "3" }, { "name": "Primary", "kind": "enum value", "id": "enum value|Primary|1|0|||2|h0e4c408ff3df183ec6a5bda2a176eb76858f0b55c583a21318273b354abb4333", "signature": "Primary = 2", "summary": "the one main action", "value": "2" }, { "name": "Secondary", "kind": "enum value", "id": "enum value|Secondary|1|0|||1|hee4108bb3088e87b92ae739cbff6ecedd6f67a4425f86e71ffef6503d0942708", "signature": "Secondary = 1", "summary": "neutral filled", "value": "1" }] }, + { "name": "CuiSharp.CalendarEvent", "displayName": "CalendarEvent", "kind": "struct", "summary": "Week calendar: seven day columns on an hour grid. Drag an event to move it (15 minute steps), drag its bottom edge to resize it. Returns the index of a clicked event, or -1. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Detail = null;int Day = default;float Start = default;float End = default;Tone Tone = Tone.Neutral||h7946645244d289112773e6e7bac57dd4abeb945a6a29fed738e0f7030997c2dd", "signature": "CalendarEvent(string? Title, string? Detail = null, int Day = default, float Start = default, float End = default, Tone Tone = Tone.Neutral)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Detail", "type": "string?", "default": "null" }, { "name": "Day", "type": "int", "default": "default" }, { "name": "Start", "type": "float", "default": "default" }, { "name": "End", "type": "float", "default": "default" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "End", "kind": "field", "id": "field|End|0|0|float|||h746aa4735d52d974b98a908b8c756c9e0c0f37203b3999ab7359e161064f649d", "signature": "public float End", "summary": "end in hours; moving or resizing the event changes it" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|float|||ha3e89c7d95d80cd26b26f17ad97c1dd953e50a5774663a52471d8a17579c8978", "signature": "public float Start", "summary": "start in hours (13.5 is 13:30); dragging the event changes it" }, { "name": "Day", "kind": "field", "id": "field|Day|0|0|int|||h40d69339a69f05f7a1cf0fdcf537358258767e30cc6d07e430cb48196d28a0e1", "signature": "public int Day", "summary": "day column, 0 (the day of \u0060week_start\u0060) to 6; dragging the event changes it" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "a second line such as the place, shown when the event is tall enough; may be \u0060NULL\u0060" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "shown on the event" }] }, + { "name": "CuiSharp.CalendarHeatmapOpts", "displayName": "CalendarHeatmapOpts", "kind": "struct", "summary": "Calendar heatmap: one cell per day from start, weeks as columns, in five levels, with month and weekday labels and a Less / More legend. All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Cell", "kind": "field", "id": "field|Cell|0|0|float|||hf561982788f651cf6be459cbdafa3d95b9d0eec610073c6be9f8ee75925d3d45", "signature": "public float Cell", "summary": "size of a day\u0027s square in points, default 11" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|string?|||h0c302a69bed7c7496c01c252ba72a9e4fdc11703160e8b42558740a0215d1888", "signature": "public string? Unit", "summary": "const char * unit" }] }, + { "name": "CuiSharp.Candle", "displayName": "Candle", "kind": "struct", "summary": "Candlestick chart: open, high, low and close per period with volume under it, for prices. The wheel zooms around the pointer, dragging (or Shift\u002Bwheel) pans, a crosshair shows each candle\u0027s values, and the price axis fits the candles in view. Zoomed out past a few points per candle, candles merge per pixel column, so a long history stays fast. When the view shows the newest candle it follows new ones as they are appended. With the chart focused, Left and Right move the crosshair (Shift: ten at a time), Home and End jump to the ends, \u002B and - zoom and 0 fits everything. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float Open;float High = default;float Low = default;float Close = default;float Volume = default||h7c86989071a9997b55d9ad731004e8592e634e70e2a01a08c55f1d6f4c5fceb5", "signature": "Candle(float Open, float High = default, float Low = default, float Close = default, float Volume = default)", "parameters": [{ "name": "Open", "type": "float" }, { "name": "High", "type": "float", "default": "default" }, { "name": "Low", "type": "float", "default": "default" }, { "name": "Close", "type": "float", "default": "default" }, { "name": "Volume", "type": "float", "default": "default" }] }, { "name": "Close", "kind": "field", "id": "field|Close|0|0|float|||hdbf413c58a9f47dea0a50fed460dbd93d29daa77401f940f16af6251e2028722", "signature": "public float Close", "summary": "price at the end of the period" }, { "name": "High", "kind": "field", "id": "field|High|0|0|float|||h8d86ceb8300b405923f523b6dfd491fceedb9688753dea5f6c0ed797466bffb1", "signature": "public float High", "summary": "highest price in the period" }, { "name": "Low", "kind": "field", "id": "field|Low|0|0|float|||h5bec759be4f0ae85b0ce5535aeb5d662da36d7c794ada46efc1c76f1e46fbd11", "signature": "public float Low", "summary": "lowest price in the period" }, { "name": "Open", "kind": "field", "id": "field|Open|0|0|float|||hc9eb0b7a2eda17a016265abb4149c4d6320d1a0ad9e2d574af040fea57e2b535", "signature": "public float Open", "summary": "price at the start of the period" }, { "name": "Volume", "kind": "field", "id": "field|Volume|0|0|float|||h4e862718c5c149dfe923f34f73565a8823a0e676880e4f814cc54cf696444405", "signature": "public float Volume", "summary": "amount traded in the period, drawn as a bar under the candle; 0 for none" }] }, + { "name": "CuiSharp.CandlestickOpts", "displayName": "CandlestickOpts", "kind": "struct", "summary": "cui_candlestick_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Down", "kind": "field", "id": "field|Down|0|0|Color|||hfa7033dc15fd180b0a52414254e800b520ddb1e0c5b9bd7d938efeead31cc834", "signature": "public Color Down", "summary": "default the success and danger colors" }, { "name": "Up", "kind": "field", "id": "field|Up|0|0|Color|||hfd2b630167ee38aa8121e0a1b046324c54fd844162ae66b0da436de2d6d4326e", "signature": "public Color Up", "summary": "default the success and danger colors" }, { "name": "Overlays", "kind": "field", "id": "field|Overlays|0|0|Series[]?|||h9c211d52d77baa0e5de591688834b2793f6d2e5f0705e1396cf270b69ca18777", "signature": "public Series[]? Overlays", "summary": "series drawn as lines over the candles; at most 4" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "NoVolume", "kind": "field", "id": "field|NoVolume|0|0|bool|||h0c18beecfdc80f8b8f03426f8e5497e98d0a4473f1d296518dfd07f2b8d2ca54", "signature": "public bool NoVolume", "summary": "volume bars show when any candle has volume" }, { "name": "Ohlc", "kind": "field", "id": "field|Ohlc|0|0|bool|||h7780e0bece6df1b12f0cf07d686a977f39645b36c26f85569b5c945a8f1c5b72", "signature": "public bool Ohlc", "summary": "OHLC bars instead of candle bodies" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "prices, default \u0022%.2f\u0022" }, { "name": "Labels", "kind": "field", "id": "field|Labels|0|0|string[]?|||h8fb4abf556b1cb1de99178be1a8d46296633251acb19bfe3c6cbb44da2314abf", "signature": "public string[]? Labels", "summary": "one per candle (dates or times): the time axis and the tooltip" }] }, { "name": "CuiSharp.CanvasResult", "displayName": "CanvasResult", "kind": "struct", "summary": "The result of a custom-drawn canvas.", "members": [{ "name": "Rect", "kind": "field", "id": "field|Rect|0|0|RectF|||h36c84f4bf259c7df4e00bfe92693bbcd043eb64d7e623295afc1e04bc98f27cf", "signature": "public readonly RectF Rect", "summary": "The rectangle the canvas was laid out into." }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|bool|||h2d9baa27957cae9c7eaba8beabe991c7b9ff9e07d168a554fa9f7da7a8f5d207", "signature": "public readonly bool Clicked", "summary": "The canvas was clicked this frame." }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|bool|||h49c38ab06e9dd9cfd6fcd6f9dea03371344678650491d1b5664641f3d03a56da", "signature": "public readonly bool Hovered", "summary": "The pointer is over the canvas." }, { "name": "Pressed", "kind": "field", "id": "field|Pressed|0|0|bool|||hab93d4072df49020fad47e7b93bc9764da989cb4e5e21bd8ff218213e1fbffe0", "signature": "public readonly bool Pressed", "summary": "The pointer is pressed on the canvas." }, { "name": "MouseX", "kind": "field", "id": "field|MouseX|0|0|float|||h70d7285a38a8c23aaa4a93d10f223cef0e113ddcd45851544484b2d50adf275c", "signature": "public readonly float MouseX", "summary": "Pointer position relative to the canvas origin." }, { "name": "MouseY", "kind": "field", "id": "field|MouseY|0|0|float|||h3c973c4669280a34439fe98b1c6ad895f07e3b0b2a68e846c1b4a4edfcbb3bfc", "signature": "public readonly float MouseY", "summary": "Pointer position relative to the canvas origin." }] }, - { "name": "CuiSharp.Card", "displayName": "Card", "kind": "struct", "summary": "cui_card_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float pad = default;float gap = default;Dir dir = Dir.Column;Size width = default;Size height = default||hdd0f075ff6e4e7b51c89f91648936ed18a626c0e0fcb4959315b90f8f0def6cd", "signature": "Card(float pad = default, float gap = default, Dir dir = Dir.Column, Size width = default, Size height = default)", "parameters": [{ "name": "pad", "type": "float", "default": "default" }, { "name": "gap", "type": "float", "default": "default" }, { "name": "dir", "type": "Dir", "default": "Dir.Column" }, { "name": "width", "type": "Size", "default": "default" }, { "name": "height", "type": "Size", "default": "default" }], "summary": "A card with its hot fields set: ui.Card(new(pad: 16, gap: 12, dir: Dir.Column)). Every other field keeps its native default, exactly as the equivalent object initializer." }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|Align|||hbfab2ef993c61054e2f8f5ce6be2dad9452bc3394d4804b70659bacd284f6875", "signature": "public Align Align", "summary": "cui_align align" }, { "name": "Dir", "kind": "field", "id": "field|Dir|0|0|Dir|||h4234b97a5550923f99238823065b45fc864e22c26f0c83f8c84555cb61b7d89b", "signature": "public Dir Dir", "summary": "cui_dir dir" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "cui_size height" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Hoverable", "kind": "field", "id": "field|Hoverable|0|0|bool|||h8bc3667c9d7573a6738403a706e069869cfc71d7687c3c23f76d42bca85f08c6", "signature": "public bool Hoverable", "summary": "lifts slightly on hover and returns clicks" }, { "name": "Muted", "kind": "field", "id": "field|Muted|0|0|bool|||h15f64003cacc444653e6f77aca48e4daa71cb73612c0c923d6d49ae8836b0bf3", "signature": "public bool Muted", "summary": "muted surface, no border" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|bool|||ha8f1fe2a399f368a574176637903c3d9775d632126ad3ed2ba7d99d9787055da", "signature": "public bool Selected", "summary": "accent border" }, { "name": "Wrap", "kind": "field", "id": "field|Wrap|0|0|bool|||h285798f359c0d7dbf8aab48f86fc58cedd7f2818d242a32ba0b3ce9bd903fb20", "signature": "public bool Wrap", "summary": "CUI_ROW cards: children that do not fit move to a new line" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float gap" }, { "name": "MaxWidth", "kind": "field", "id": "field|MaxWidth|0|0|float|||h6955c9491dc05b5aeba77dc176d769dc41bee5636e74696cc5ac75aede49296b", "signature": "public float MaxWidth", "summary": "e.g. CUI_FILL up to max_width: fills narrow screens, stops on wide ones" }, { "name": "MinWidth", "kind": "field", "id": "field|MinWidth|0|0|float|||h7e959c77177556152f99de8073ad52de6c88f583955bbebe8b717d02776d9e64", "signature": "public float MinWidth", "summary": "e.g. CUI_FILL up to max_width: fills narrow screens, stops on wide ones" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float pad" }, { "name": "PadX", "kind": "field", "id": "field|PadX|0|0|float|||h173de26af4d61cccda65dc4e4a2134425ccb87e453814b3fc09477116f152937", "signature": "public float PadX", "summary": "float pad_x" }, { "name": "PadY", "kind": "field", "id": "field|PadY|0|0|float|||he7a54032c34537ad78c4c2a6e6dcd1656a79aa395a54ecd5a4ed46c891e7cf37", "signature": "public float PadY", "summary": "float pad_y" }, { "name": "Id", "kind": "field", "id": "field|Id|0|0|string?|||h903b441d2692d36130aa05f5607dedb9f29f50f33eb6b8e718d9e7958d011fa9", "signature": "public string? Id", "summary": "const char * id" }] }, - { "name": "CuiSharp.CardStackOpts", "displayName": "CardStackOpts", "kind": "struct", "summary": "cui_card_stack_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Visible", "kind": "field", "id": "field|Visible|0|0|int|||h4fdf87b1e77faeb11e5326e71ffb6338d699f8b49d4a214a0b6bef7bf1309566", "signature": "public int Visible", "summary": "int visible" }] }, - { "name": "CuiSharp.CarouselOpts", "displayName": "CarouselOpts", "kind": "struct", "summary": "cui_carousel_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Loop", "kind": "field", "id": "field|Loop|0|0|bool|||h7274a1137877894804d8aab9d630e1af40661c2344ca1ff578904fa0bf31f6d9", "signature": "public bool Loop", "summary": "_Bool loop" }, { "name": "NoArrows", "kind": "field", "id": "field|NoArrows|0|0|bool|||he1e36f8505e4731fbd3d02c552fdf5018377bba3b4e8b69ddb70e7ba3da4e164", "signature": "public bool NoArrows", "summary": "_Bool no_arrows" }, { "name": "NoDots", "kind": "field", "id": "field|NoDots|0|0|bool|||h7736ebc5622d944b1450b6f0dfefc48695406941db021b1c3c53dca07781fbf1", "signature": "public bool NoDots", "summary": "_Bool no_dots" }, { "name": "AutoAdvance", "kind": "field", "id": "field|AutoAdvance|0|0|float|||h33329d1b2d0ca9a63bdd777428459fd84fbfa04489f913ad51d47d16c7581b9c", "signature": "public float AutoAdvance", "summary": "float auto_advance" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float gap" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }] }, + { "name": "CuiSharp.Card", "displayName": "Card", "kind": "struct", "summary": "Card: a bordered surface with generous padding. All fields are optional; zero selects the native default.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float pad = default;float gap = default;Dir dir = Dir.Column;Size width = default;Size height = default||hdd0f075ff6e4e7b51c89f91648936ed18a626c0e0fcb4959315b90f8f0def6cd", "signature": "Card(float pad = default, float gap = default, Dir dir = Dir.Column, Size width = default, Size height = default)", "parameters": [{ "name": "pad", "type": "float", "default": "default" }, { "name": "gap", "type": "float", "default": "default" }, { "name": "dir", "type": "Dir", "default": "Dir.Column" }, { "name": "width", "type": "Size", "default": "default" }, { "name": "height", "type": "Size", "default": "default" }], "summary": "A card with its hot fields set: ui.Card(new(pad: 16, gap: 12, dir: Dir.Column)). Every other field keeps its native default, exactly as the equivalent object initializer." }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|Align|||hbfab2ef993c61054e2f8f5ce6be2dad9452bc3394d4804b70659bacd284f6875", "signature": "public Align Align", "summary": "cui_align align" }, { "name": "Dir", "kind": "field", "id": "field|Dir|0|0|Dir|||h4234b97a5550923f99238823065b45fc864e22c26f0c83f8c84555cb61b7d89b", "signature": "public Dir Dir", "summary": "cui_dir dir" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "cui_size height" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Hoverable", "kind": "field", "id": "field|Hoverable|0|0|bool|||h8bc3667c9d7573a6738403a706e069869cfc71d7687c3c23f76d42bca85f08c6", "signature": "public bool Hoverable", "summary": "lifts slightly on hover and returns clicks" }, { "name": "Muted", "kind": "field", "id": "field|Muted|0|0|bool|||h15f64003cacc444653e6f77aca48e4daa71cb73612c0c923d6d49ae8836b0bf3", "signature": "public bool Muted", "summary": "muted surface, no border" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|bool|||ha8f1fe2a399f368a574176637903c3d9775d632126ad3ed2ba7d99d9787055da", "signature": "public bool Selected", "summary": "accent border" }, { "name": "Wrap", "kind": "field", "id": "field|Wrap|0|0|bool|||h285798f359c0d7dbf8aab48f86fc58cedd7f2818d242a32ba0b3ce9bd903fb20", "signature": "public bool Wrap", "summary": "CUI_ROW cards: children that do not fit move to a new line" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float gap" }, { "name": "MaxWidth", "kind": "field", "id": "field|MaxWidth|0|0|float|||h6955c9491dc05b5aeba77dc176d769dc41bee5636e74696cc5ac75aede49296b", "signature": "public float MaxWidth", "summary": "e.g. CUI_FILL up to max_width: fills narrow screens, stops on wide ones" }, { "name": "MinWidth", "kind": "field", "id": "field|MinWidth|0|0|float|||h7e959c77177556152f99de8073ad52de6c88f583955bbebe8b717d02776d9e64", "signature": "public float MinWidth", "summary": "e.g. CUI_FILL up to max_width: fills narrow screens, stops on wide ones" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float pad" }, { "name": "PadX", "kind": "field", "id": "field|PadX|0|0|float|||h173de26af4d61cccda65dc4e4a2134425ccb87e453814b3fc09477116f152937", "signature": "public float PadX", "summary": "left and right padding in points; 0 uses \u0060pad\u0060" }, { "name": "PadY", "kind": "field", "id": "field|PadY|0|0|float|||he7a54032c34537ad78c4c2a6e6dcd1656a79aa395a54ecd5a4ed46c891e7cf37", "signature": "public float PadY", "summary": "top and bottom padding in points; 0 uses \u0060pad\u0060" }, { "name": "Id", "kind": "field", "id": "field|Id|0|0|string?|||h903b441d2692d36130aa05f5607dedb9f29f50f33eb6b8e718d9e7958d011fa9", "signature": "public string? Id", "summary": "identity of the card, for its hover state (defaults to an automatic id)" }] }, + { "name": "CuiSharp.CardStackOpts", "displayName": "CardStackOpts", "kind": "struct", "summary": "Card stack: a deck where the top card can be flicked away left or right. Build \u0060count\u0060 cards; card 0 is the top. end returns -1 or 1 on the frame the top card leaves (to the left or right), else 0. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Visible", "kind": "field", "id": "field|Visible|0|0|int|||h4fdf87b1e77faeb11e5326e71ffb6338d699f8b49d4a214a0b6bef7bf1309566", "signature": "public int Visible", "summary": "cards of the deck that show at once, default 3" }] }, + { "name": "CuiSharp.CarouselOpts", "displayName": "CarouselOpts", "kind": "struct", "summary": "Carousel: slides that you swipe, drag, scroll or page with the arrows and dots. Build every slide between begin and end: cui_carousel(ui, \u0022tour\u0022, 4, \u0026index, .height = 220) { for (int k = 0; k \u003C 4; k\u002B\u002B) cui_carousel_slide(ui) { ... } } All fields are optional; zero selects the native default.", "members": [{ "name": "Loop", "kind": "field", "id": "field|Loop|0|0|bool|||h7274a1137877894804d8aab9d630e1af40661c2344ca1ff578904fa0bf31f6d9", "signature": "public bool Loop", "summary": "past the last slide comes the first again, and back from the first the last" }, { "name": "NoArrows", "kind": "field", "id": "field|NoArrows|0|0|bool|||he1e36f8505e4731fbd3d02c552fdf5018377bba3b4e8b69ddb70e7ba3da4e164", "signature": "public bool NoArrows", "summary": "hides the previous and next arrows that show on hover" }, { "name": "NoDots", "kind": "field", "id": "field|NoDots|0|0|bool|||h7736ebc5622d944b1450b6f0dfefc48695406941db021b1c3c53dca07781fbf1", "signature": "public bool NoDots", "summary": "hides the row of page dots under the slides" }, { "name": "AutoAdvance", "kind": "field", "id": "field|AutoAdvance|0|0|float|||h33329d1b2d0ca9a63bdd777428459fd84fbfa04489f913ad51d47d16c7581b9c", "signature": "public float AutoAdvance", "summary": "seconds on a slide before it moves to the next, paused while hovered; 0 turns it off" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float gap" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }] }, + { "name": "CuiSharp.ChartAnnotation", "displayName": "ChartAnnotation", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||AnnotationKind Kind;double X = default;double Y = default;string? Label = null;string? Detail = null;bool Accent = default||h54ce9b8922574b5e2c37038d3b2533ad54fa6dbcf1d814175dd17efdbf5d0f83", "signature": "ChartAnnotation(AnnotationKind Kind, double X = default, double Y = default, string? Label = null, string? Detail = null, bool Accent = default)", "parameters": [{ "name": "Kind", "type": "AnnotationKind" }, { "name": "X", "type": "double", "default": "default" }, { "name": "Y", "type": "double", "default": "default" }, { "name": "Label", "type": "string?", "default": "null" }, { "name": "Detail", "type": "string?", "default": "null" }, { "name": "Accent", "type": "bool", "default": "default" }] }, { "name": "Kind", "kind": "field", "id": "field|Kind|0|0|AnnotationKind|||h4da3120119ae2b3c496490c89e7b8b512d5ec36790a4241f43fe30b94980d5ff", "signature": "public AnnotationKind Kind", "summary": "cui_annotation_kind kind" }, { "name": "Accent", "kind": "field", "id": "field|Accent|0|0|bool|||h0431c455f6626321b1263c5930a5021e82041c457c7ddf40ab8be569200ff842", "signature": "public bool Accent", "summary": "the line, dot and label in the accent color" }, { "name": "X", "kind": "field", "id": "field|X|0|0|double|||ha5003241e77f21c568e126669d4eb833483db76ed13db54b5818340e60ef1785", "signature": "public double X", "summary": "in the chart\u0027s x units: the point\u0027s index for line and bar charts, x_min to x_max for the dot chart" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|double|||h42a9a4c0120db0eb8c86dc4aefd4a798a91aba3a1e505f466928c7e4829f513f", "signature": "public double Y", "summary": "a value, in the chart\u0027s value units" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "second line, muted, e.g. \u002213:06\u0022; \u0060NULL\u0060 for none" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "first line, e.g. \u0022PEAK 203 MG\u0022; \u0060NULL\u0060 for a line with no label" }] }, { "name": "CuiSharp.ChartNormalizer", "displayName": "ChartNormalizer", "kind": "static class", "summary": "Rescales a series against its baseline so several series share a comparable y range. The baseline is the first finite nonzero sample. A negative baseline is allowed and inverts the scale (-200 against -100 is Index100 200, not 50). The math is done in double and rounded to float once, so scaling does not compound rounding. A requested normalization rejects samples it cannot scale: NaN or infinity anywhere in the series, a series with no finite nonzero baseline (all zero, say), and results beyond the finite float range all throw ArgumentException rather than draw a line that silently lies. NaN is not a gap marker; the renderer has no gap concept. Copy-based and allocation-free like SeriesDecimator: the source is never mutated, results go into a caller-owned destination, and reuse keeps a frame at 0 B. The empty series is not an error \u2014 it means \u0022nothing to draw\u0022 and returns 0. None keeps the old pass-through behavior, validation included, so opting out opts out of everything.", "members": [{ "name": "FindBaseline", "kind": "method", "id": "method|FindBaseline|1|0|float|ReadOnlySpan\u003Cfloat\u003E values||h53868861596c7efd37a97cc1d36c50a380402d3ca6f15a0b0f2d073cca2f3c38", "signature": "static float FindBaseline(ReadOnlySpan\u003Cfloat\u003E values)", "parameters": [{ "name": "values", "type": "ReadOnlySpan\u003Cfloat\u003E" }], "summary": "The baseline a normalization would use: the first nonzero sample of values." }, { "name": "Normalize", "kind": "method", "id": "method|Normalize|1|0|int|ReadOnlySpan\u003Cfloat\u003E values;Span\u003Cfloat\u003E destination;NormalizeMode mode||hc219730abe578c57ea1e22a653fa86db0c9737b33627eb681ff18e7add343394", "signature": "static int Normalize(ReadOnlySpan\u003Cfloat\u003E values, Span\u003Cfloat\u003E destination, NormalizeMode mode)", "parameters": [{ "name": "values", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "destination", "type": "Span\u003Cfloat\u003E" }, { "name": "mode", "type": "NormalizeMode" }], "summary": "Writes values scaled against their baseline into destination and returns the number of points written." }] }, - { "name": "CuiSharp.ChartOpts", "displayName": "ChartOpts", "kind": "struct", "summary": "cui_chart_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Normalize", "kind": "field", "id": "field|Normalize|0|0|NormalizeMode|||h256fe14a078b8aa575d3880e26963f73dc9a07db47d6f9d95845fde79ffe2654", "signature": "public NormalizeMode Normalize", "summary": "C# only: Scale each series against its own first finite nonzero sample so series of different magnitudes compare by shape; see ChartNormalizer." }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Area", "kind": "field", "id": "field|Area|0|0|bool|||h5258652e0aa90cdc233857253e23843fa08ace551de565297c7fd1a6d3d5b39b", "signature": "public bool Area", "summary": "fill under lines" }, { "name": "NoGrid", "kind": "field", "id": "field|NoGrid|0|0|bool|||h3235658a755bd4564629364c715a172c1b27a0be758c9a47167e63c08938a56d", "signature": "public bool NoGrid", "summary": "_Bool no_grid" }, { "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|bool|||h250c4eea95a5d266560d2d964fb9559196dd3c844895b86f25edb16e6fe18fef", "signature": "public bool NoLegend", "summary": "_Bool no_legend" }, { "name": "Smooth", "kind": "field", "id": "field|Smooth|0|0|bool|||h1f23f1b174e637ce50e7c6158d9817f5467411003318e980ab1e81d7a965c008", "signature": "public bool Smooth", "summary": "curved lines" }, { "name": "Stacked", "kind": "field", "id": "field|Stacked|0|0|bool|||hdece4b272c81b345467a1a9b965aff06ac663b6b0602384d2f1f7b8ba7807eba", "signature": "public bool Stacked", "summary": "bar chart" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 220" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "fixed y range when min != max" }, { "name": "Min", "kind": "field", "id": "field|Min|0|0|float|||h81101b82558caea906d5838961d5313f13c99e7d68f18285b0cf84040f989d8a", "signature": "public float Min", "summary": "fixed y range when min != max" }, { "name": "MaxPoints", "kind": "field", "id": "field|MaxPoints|0|0|int|||h61fad7eaf34eea9e9232b042b34e6818e5a52c2f1db8f2fee7e2161f37a8cdfd", "signature": "public int MaxPoints", "summary": "C# only: Upper bound on drawn points. 0 derives twice the viewport width; longer series are min/max decimated into the frame arena." }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "value format for axis and tooltip, default \u0022%.0f\u0022" }, { "name": "Labels", "kind": "field", "id": "field|Labels|0|0|string[]?|||h8fb4abf556b1cb1de99178be1a8d46296633251acb19bfe3c6cbb44da2314abf", "signature": "public string[]? Labels", "summary": "x axis labels" }] }, - { "name": "CuiSharp.ChatOpts", "displayName": "ChatOpts", "kind": "struct", "summary": "cui_chat_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Grouped", "kind": "field", "id": "field|Grouped|0|0|bool|||hc680c213e3ec617dca9a7a343272ea4fd0730bdf400cc38a5bbe306f2c64a7bb", "signature": "public bool Grouped", "summary": "continues the previous message" }, { "name": "LastInGroup", "kind": "field", "id": "field|LastInGroup|0|0|bool|||h2689180cedbd5fa492aefb520cc6b005a7e82f1ca6125c932a29d222ac2f8906", "signature": "public bool LastInGroup", "summary": "shows the avatar (others) and status (mine)" }, { "name": "Markdown", "kind": "field", "id": "field|Markdown|0|0|bool|||h8646a503edb5fac09528cc1b3296c0e33fbed6c42e119b1cb999bafcfb06e318", "signature": "public bool Markdown", "summary": "render the text with cui_markdown (compact, as wide as it needs)" }, { "name": "Mine", "kind": "field", "id": "field|Mine|0|0|bool|||h152dcab50a106cee7066c57c9ad93d10f47f30a414176e6fdef78157bcf017d7", "signature": "public bool Mine", "summary": "right aligned, accent bubble" }, { "name": "Author", "kind": "field", "id": "field|Author|0|0|string?|||h5d1fc170a7dcd4b8e80156dab09738bd64f10f589e9ac4a8e02e5fdc43adb431", "signature": "public string? Author", "summary": "name above the first bubble of a group" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|string?|||hea5150ac3e746a684c3b4c0832cabdae145da44e92c85bb412cef107598a117e", "signature": "public string? Status", "summary": "under your own last message, e.g. \u0022Read\u0022" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|string?|||h3fa6df975c274c56979003cf790a67367077eb0ba02d23dac030823b376828bc", "signature": "public string? Time", "summary": "const char * time" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|ulong|||h6765b735e7badc83f84a351ff974e0656ad18b5550da2fa781650ae1ccda1d0d", "signature": "public ulong Avatar", "summary": "cui_texture avatar" }] }, - { "name": "CuiSharp.CheckOpts", "displayName": "CheckOpts", "kind": "struct", "summary": "cui_check_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Indeterminate", "kind": "field", "id": "field|Indeterminate|0|0|bool|||he38813187674932a5621bb6b38b49afa8004ab77baa2505c22f3600d136405a8", "signature": "public bool Indeterminate", "summary": "_Bool indeterminate" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }] }, - { "name": "CuiSharp.CheckStep", "displayName": "CheckStep", "kind": "struct", "summary": "cui_check_step. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Description = null;string? Action = null;bool Done = default||h11acbb85c777af80b2da820b9f9ea3866c944e58a45284b74a1020f1caa06456", "signature": "CheckStep(string? Title, string? Description = null, string? Action = null, bool Done = default)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Description", "type": "string?", "default": "null" }, { "name": "Action", "type": "string?", "default": "null" }, { "name": "Done", "type": "bool", "default": "default" }] }, { "name": "Done", "kind": "field", "id": "field|Done|0|0|bool|||h5497d5e8bf2538fda1c8cdc8402011bb90be2ccee1f0bf0226919c8061b80373", "signature": "public bool Done", "summary": "_Bool done" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|string?|||h288a83cea0bad5b5f38d9c844869a799f6116f3a3d074f257d6240feed95d754", "signature": "public string? Action", "summary": "const char * action" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, - { "name": "CuiSharp.ChecklistOpts", "displayName": "ChecklistOpts", "kind": "struct", "summary": "cui_checklist_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, - { "name": "CuiSharp.ChipOpts", "displayName": "ChipOpts", "kind": "struct", "summary": "cui_chip_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, - { "name": "CuiSharp.Choice", "displayName": "Choice", "kind": "struct", "summary": "cui_choice. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Description = null;string? Icon = null;string? Badge = null||h3bb4c646a718ef1d0a7a23de8207b83ecc689f18370f750a1309d7d05dc37eb8", "signature": "Choice(string? Title, string? Description = null, string? Icon = null, string? Badge = null)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Description", "type": "string?", "default": "null" }, { "name": "Icon", "type": "string?", "default": "null" }, { "name": "Badge", "type": "string?", "default": "null" }] }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|string?|||he7e7c071afd35c021d23c003aca00c74fdf6fc42e693819ce02b70951ea38c8d", "signature": "public string? Badge", "summary": "const char * badge" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, + { "name": "CuiSharp.ChartOpts", "displayName": "ChartOpts", "kind": "struct", "summary": "cui_chart_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Annotations", "kind": "field", "id": "field|Annotations|0|0|ChartAnnotation[]?|||hf572bbdc29b8091f17b704850c5c66da71922caeee0f68e21523c35390196d76", "signature": "public ChartAnnotation[]? Annotations", "summary": "lines and points drawn over the chart (line and bar charts)" }, { "name": "Normalize", "kind": "field", "id": "field|Normalize|0|0|NormalizeMode|||h256fe14a078b8aa575d3880e26963f73dc9a07db47d6f9d95845fde79ffe2654", "signature": "public NormalizeMode Normalize", "summary": "C# only: Scale each series against its own first finite nonzero sample so series of different magnitudes compare by shape; see ChartNormalizer." }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Area", "kind": "field", "id": "field|Area|0|0|bool|||h5258652e0aa90cdc233857253e23843fa08ace551de565297c7fd1a6d3d5b39b", "signature": "public bool Area", "summary": "fill under lines" }, { "name": "NoGrid", "kind": "field", "id": "field|NoGrid|0|0|bool|||h3235658a755bd4564629364c715a172c1b27a0be758c9a47167e63c08938a56d", "signature": "public bool NoGrid", "summary": "_Bool no_grid" }, { "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|bool|||h250c4eea95a5d266560d2d964fb9559196dd3c844895b86f25edb16e6fe18fef", "signature": "public bool NoLegend", "summary": "_Bool no_legend" }, { "name": "Smooth", "kind": "field", "id": "field|Smooth|0|0|bool|||h1f23f1b174e637ce50e7c6158d9817f5467411003318e980ab1e81d7a965c008", "signature": "public bool Smooth", "summary": "curved lines" }, { "name": "Stacked", "kind": "field", "id": "field|Stacked|0|0|bool|||hdece4b272c81b345467a1a9b965aff06ac663b6b0602384d2f1f7b8ba7807eba", "signature": "public bool Stacked", "summary": "bar chart" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 220" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "fixed y range when min != max" }, { "name": "Min", "kind": "field", "id": "field|Min|0|0|float|||h81101b82558caea906d5838961d5313f13c99e7d68f18285b0cf84040f989d8a", "signature": "public float Min", "summary": "fixed y range when min != max" }, { "name": "MaxPoints", "kind": "field", "id": "field|MaxPoints|0|0|int|||h61fad7eaf34eea9e9232b042b34e6818e5a52c2f1db8f2fee7e2161f37a8cdfd", "signature": "public int MaxPoints", "summary": "C# only: Upper bound on drawn points. 0 derives twice the viewport width; longer series are min/max decimated into the frame arena." }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "value format for axis and tooltip, default \u0022%.0f\u0022" }, { "name": "Labels", "kind": "field", "id": "field|Labels|0|0|string[]?|||h8fb4abf556b1cb1de99178be1a8d46296633251acb19bfe3c6cbb44da2314abf", "signature": "public string[]? Labels", "summary": "x axis labels" }] }, + { "name": "CuiSharp.ChatOpts", "displayName": "ChatOpts", "kind": "struct", "summary": "Chat message bubble. Consecutive messages from one person set grouped so they stack tightly and show the avatar once. All fields are optional; zero selects the native default.", "members": [{ "name": "Grouped", "kind": "field", "id": "field|Grouped|0|0|bool|||hc680c213e3ec617dca9a7a343272ea4fd0730bdf400cc38a5bbe306f2c64a7bb", "signature": "public bool Grouped", "summary": "continues the previous message" }, { "name": "LastInGroup", "kind": "field", "id": "field|LastInGroup|0|0|bool|||h2689180cedbd5fa492aefb520cc6b005a7e82f1ca6125c932a29d222ac2f8906", "signature": "public bool LastInGroup", "summary": "shows the avatar (others) and status (mine)" }, { "name": "Markdown", "kind": "field", "id": "field|Markdown|0|0|bool|||h8646a503edb5fac09528cc1b3296c0e33fbed6c42e119b1cb999bafcfb06e318", "signature": "public bool Markdown", "summary": "render the text with cui_markdown (compact, as wide as it needs)" }, { "name": "Mine", "kind": "field", "id": "field|Mine|0|0|bool|||h152dcab50a106cee7066c57c9ad93d10f47f30a414176e6fdef78157bcf017d7", "signature": "public bool Mine", "summary": "right aligned, accent bubble" }, { "name": "Author", "kind": "field", "id": "field|Author|0|0|string?|||h5d1fc170a7dcd4b8e80156dab09738bd64f10f589e9ac4a8e02e5fdc43adb431", "signature": "public string? Author", "summary": "name above the first bubble of a group" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|string?|||hea5150ac3e746a684c3b4c0832cabdae145da44e92c85bb412cef107598a117e", "signature": "public string? Status", "summary": "under your own last message, e.g. \u0022Read\u0022" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|string?|||h3fa6df975c274c56979003cf790a67367077eb0ba02d23dac030823b376828bc", "signature": "public string? Time", "summary": "shown after the author\u0027s name; on your own messages after \u0060status\u0060" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|ulong|||h6765b735e7badc83f84a351ff974e0656ad18b5550da2fa781650ae1ccda1d0d", "signature": "public ulong Avatar", "summary": "picture for the sender\u0027s avatar instead of initials (other people\u0027s messages)" }] }, + { "name": "CuiSharp.CheckOpts", "displayName": "CheckOpts", "kind": "struct", "summary": "cui_check_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Indeterminate", "kind": "field", "id": "field|Indeterminate|0|0|bool|||he38813187674932a5621bb6b38b49afa8004ab77baa2505c22f3600d136405a8", "signature": "public bool Indeterminate", "summary": "_Bool indeterminate" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }] }, + { "name": "CuiSharp.CheckStep", "displayName": "CheckStep", "kind": "struct", "summary": "Onboarding checklist: a card with progress and steps. The first open step shows its description and action. Clicking a step\u0027s circle toggles done. Returns the index whose action was clicked, or -1. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Description = null;string? Action = null;bool Done = default||h11acbb85c777af80b2da820b9f9ea3866c944e58a45284b74a1020f1caa06456", "signature": "CheckStep(string? Title, string? Description = null, string? Action = null, bool Done = default)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Description", "type": "string?", "default": "null" }, { "name": "Action", "type": "string?", "default": "null" }, { "name": "Done", "type": "bool", "default": "default" }] }, { "name": "Done", "kind": "field", "id": "field|Done|0|0|bool|||h5497d5e8bf2538fda1c8cdc8402011bb90be2ccee1f0bf0226919c8061b80373", "signature": "public bool Done", "summary": "the step is complete; clicking its circle flips this" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|string?|||h288a83cea0bad5b5f38d9c844869a799f6116f3a3d074f257d6240feed95d754", "signature": "public string? Action", "summary": "label of the button shown under the first step that is not done; \u0060NULL\u0060 for none" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "the step\u0027s text; muted once the step is done" }] }, + { "name": "CuiSharp.ChecklistOpts", "displayName": "ChecklistOpts", "kind": "struct", "summary": "Onboarding checklist: a card with progress and steps. The first open step shows its description and action. Clicking a step\u0027s circle toggles done. Returns the index whose action was clicked, or -1. All fields are optional; zero selects the native default.", "members": [{ "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "heading of the card, default \u0022Get started\u0022" }] }, + { "name": "CuiSharp.ChipOpts", "displayName": "ChipOpts", "kind": "struct", "summary": "cui_chip_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.Choice", "displayName": "Choice", "kind": "struct", "summary": "Radio cards: larger selectable cards for choices that need a description (plans, templates). Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Description = null;string? Icon = null;string? Badge = null||h3bb4c646a718ef1d0a7a23de8207b83ecc689f18370f750a1309d7d05dc37eb8", "signature": "Choice(string? Title, string? Description = null, string? Icon = null, string? Badge = null)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Description", "type": "string?", "default": "null" }, { "name": "Icon", "type": "string?", "default": "null" }, { "name": "Badge", "type": "string?", "default": "null" }] }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|string?|||he7e7c071afd35c021d23c003aca00c74fdf6fc42e693819ce02b70951ea38c8d", "signature": "public string? Badge", "summary": "small accent badge beside the title, e.g. \u0022Popular\u0022; \u0060NULL\u0060 for none" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "the card\u0027s heading, in medium weight; wraps when long" }] }, { "name": "CuiSharp.ClipScope", "displayName": "ClipScope", "kind": "ref struct", "summary": "Closes a clip opened by Clip.", "members": [{ "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()", "summary": "Pops the clip. Disposing twice does nothing." }] }, - { "name": "CuiSharp.CodeEditorOpts", "displayName": "CodeEditorOpts", "kind": "struct", "summary": "cui_code_editor_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "Marks", "kind": "field", "id": "field|Marks|0|0|TextMark[]?|||hf2c6adf393454d823eb10ac6123eef8069985302b5457007cd9ab114d5819e1c", "signature": "public TextMark[]? Marks", "summary": "ranges to highlight (search results, regex matches), sorted by start" }, { "name": "Autofocus", "kind": "field", "id": "field|Autofocus|0|0|bool|||h09659cd1edc89091c579e01492029e06adf81389533feb3ae65790f5a01be31e", "signature": "public bool Autofocus", "summary": "_Bool autofocus" }, { "name": "NoLineNumbers", "kind": "field", "id": "field|NoLineNumbers|0|0|bool|||hb5cc496b040e6bb46501892acb3b13db7559983e7c6d82801ba2f83cc793203a", "signature": "public bool NoLineNumbers", "summary": "_Bool no_line_numbers" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|bool|||he393614309fa34fbb6e0930aa04c288616abcb05d02f63ad9eb9cb23927877ad", "signature": "public bool ReadOnly", "summary": "_Bool read_only" }, { "name": "UseTabs", "kind": "field", "id": "field|UseTabs|0|0|bool|||he76d71839dc85068e0d8324e400fd58c8444d5abe4ef488a23e57222d8af7178", "signature": "public bool UseTabs", "summary": "indent with tab characters instead of spaces" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320; negative fills the space" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 13" }, { "name": "MarkCount", "kind": "field", "id": "field|MarkCount|0|0|int|||he0762e6e3d6ca8a079b9d863b518cc5bb337abac3fb7998e5089c8856059c47a", "signature": "public int MarkCount", "summary": "int mark_count" }, { "name": "TabSize", "kind": "field", "id": "field|TabSize|0|0|int|||h1fb69a62e48ce09519cd8bb8b90088cf5a2053b0f991052821d6e0a3f3dab47f", "signature": "public int TabSize", "summary": "columns per indentation level, default 4" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|string?|||h8fa7b7c8fe2a50b3a95391e856d3b6c823e1a596a3f5d40e9f37c84029dc2357", "signature": "public string? Lang", "summary": "as cui_code_block: \u0022c\u0022, \u0022cpp\u0022, \u0022js\u0022, \u0022ts\u0022, \u0022python\u0022, \u0022rust\u0022, \u0022go\u0022, \u0022json\u0022, \u0022shell\u0022; \u0022text\u0022 for none" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "shown while the text is empty" }] }, - { "name": "CuiSharp.CodeEditorResult", "displayName": "CodeEditorResult", "kind": "struct", "summary": "cui_code_editor_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Changed;bool Refused = default;bool Focused = default;int Cursor = default;int Anchor = default;int Line = default;int Column = default;int LineCount = default;int Length = default;int Bracket = default;int BracketMatch = default;int FindMatches = default;int FindIndex = default||h10d37050109b7b0ed6537ab21c05bd44ab3b7bebd67ac63bc68fecca0f07fa70", "signature": "CodeEditorResult(bool Changed, bool Refused = default, bool Focused = default, int Cursor = default, int Anchor = default, int Line = default, int Column = default, int LineCount = default, int Length = default, int Bracket = default, int BracketMatch = default, int FindMatches = default, int FindIndex = default)", "parameters": [{ "name": "Changed", "type": "bool" }, { "name": "Refused", "type": "bool", "default": "default" }, { "name": "Focused", "type": "bool", "default": "default" }, { "name": "Cursor", "type": "int", "default": "default" }, { "name": "Anchor", "type": "int", "default": "default" }, { "name": "Line", "type": "int", "default": "default" }, { "name": "Column", "type": "int", "default": "default" }, { "name": "LineCount", "type": "int", "default": "default" }, { "name": "Length", "type": "int", "default": "default" }, { "name": "Bracket", "type": "int", "default": "default" }, { "name": "BracketMatch", "type": "int", "default": "default" }, { "name": "FindMatches", "type": "int", "default": "default" }, { "name": "FindIndex", "type": "int", "default": "default" }] }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|bool|||h8c85f6cfc38e0138c8eb4125f6296f3a8f63126e75288f3d3b7fc9e85c6c1f63", "signature": "public bool Changed", "summary": "the text changed this frame" }, { "name": "Focused", "kind": "field", "id": "field|Focused|0|0|bool|||h03e74544391bd5f5b768e54fb7011da1a013b87b3221f57443f738bcc0ae57da", "signature": "public bool Focused", "summary": "the editor or its find bar has the keyboard" }, { "name": "Refused", "kind": "field", "id": "field|Refused|0|0|bool|||hc139b2d3b5ff44a547eedc172b84159ab68ce7aa184d45a0ddff68588c76d436", "signature": "public bool Refused", "summary": "an edit did not fit in the capacity and was dropped" }, { "name": "Anchor", "kind": "field", "id": "field|Anchor|0|0|int|||haebd09af400cd13b8e6a4d74ff68b178d1ce2cdb19d12950362ae273b212ff68", "signature": "public int Anchor", "summary": "caret and the other end of the selection, byte offsets" }, { "name": "Bracket", "kind": "field", "id": "field|Bracket|0|0|int|||h77d16f8f46588b03aef36d7c7700c16913abeb938081d48c601527ac49676ea8", "signature": "public int Bracket", "summary": "the bracket beside the caret and its partner, byte offsets, or -1" }, { "name": "BracketMatch", "kind": "field", "id": "field|BracketMatch|0|0|int|||hf4bcef73eb750933986b759052d8e30b7b10d167b65548578d889eef0a8d0447", "signature": "public int BracketMatch", "summary": "the bracket beside the caret and its partner, byte offsets, or -1" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "the caret, 1 based; columns count tabs to their stop" }, { "name": "Cursor", "kind": "field", "id": "field|Cursor|0|0|int|||h23aff42ff5d653e4a3b8a654aa17c4d9c160335133193db458a21e242a54d577", "signature": "public int Cursor", "summary": "caret and the other end of the selection, byte offsets" }, { "name": "FindIndex", "kind": "field", "id": "field|FindIndex|0|0|int|||h9901bf02470123f840113bd889b35049d5d57a39c279f06740fad0d72c6b6fae", "signature": "public int FindIndex", "summary": "with the find bar open: matches, and which one is selected (1 based, 0 none)" }, { "name": "FindMatches", "kind": "field", "id": "field|FindMatches|0|0|int|||hc7266e2f6ac242c69af5391be242aaa9b92542b13fe7206e4b7263e39078c2d2", "signature": "public int FindMatches", "summary": "with the find bar open: matches, and which one is selected (1 based, 0 none)" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|int|||hef2503a1d0b9fb909698fa12c327675bda30f8b40b00e879e548d3e8332f864d", "signature": "public int Length", "summary": "lines, and bytes of text" }, { "name": "Line", "kind": "field", "id": "field|Line|0|0|int|||h1879f4fdbcfa3a3747d1163cdd353585f2b2bd90bfd45d0dfb258aacbc098d3e", "signature": "public int Line", "summary": "the caret, 1 based; columns count tabs to their stop" }, { "name": "LineCount", "kind": "field", "id": "field|LineCount|0|0|int|||hbaa214fddd02d1ccffe160de438912c4aa7f3470b2479bc2583e4f2d2ebb1485", "signature": "public int LineCount", "summary": "lines, and bytes of text" }] }, - { "name": "CuiSharp.CodeOpts", "displayName": "CodeOpts", "kind": "struct", "summary": "cui_code_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "LineNumbers", "kind": "field", "id": "field|LineNumbers|0|0|bool|||hf97d043b6bbb7fd74c036a3d0e462dbeaf266c6bf806c893c89f61f222ab729c", "signature": "public bool LineNumbers", "summary": "_Bool line_numbers" }, { "name": "NoHeader", "kind": "field", "id": "field|NoHeader|0|0|bool|||h7922046bd3807eec795aa2981a7e08ccf6af18d5c0f9f9ef7f687eb187ccb398", "signature": "public bool NoHeader", "summary": "no title bar, even with a lang" }, { "name": "MaxHeight", "kind": "field", "id": "field|MaxHeight|0|0|float|||h362fb387f8c873f790106e0085b293b9836b14ef629bd38f56f23e0483ef699f", "signature": "public float MaxHeight", "summary": "scrolls beyond this, default none" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 13" }, { "name": "HighlightFrom", "kind": "field", "id": "field|HighlightFrom|0|0|int|||h3f447dcb0743179fec7a2dd4a9ce932f77873c9111e71c1fa0182456ef6a5ad8", "signature": "public int HighlightFrom", "summary": "1 based line range to emphasize" }, { "name": "HighlightTo", "kind": "field", "id": "field|HighlightTo|0|0|int|||h69877e6460a36c5400eb55f0445931950db5a7253630d30f09922f950fd37671", "signature": "public int HighlightTo", "summary": "1 based line range to emphasize" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|string?|||h8fa7b7c8fe2a50b3a95391e856d3b6c823e1a596a3f5d40e9f37c84029dc2357", "signature": "public string? Lang", "summary": "const char * lang" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "e.g. a file name" }] }, + { "name": "CuiSharp.CodeEditorOpts", "displayName": "CodeEditorOpts", "kind": "struct", "summary": "cui_code_editor_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "Marks", "kind": "field", "id": "field|Marks|0|0|TextMark[]?|||hf2c6adf393454d823eb10ac6123eef8069985302b5457007cd9ab114d5819e1c", "signature": "public TextMark[]? Marks", "summary": "ranges to highlight (search results, regex matches), sorted by start" }, { "name": "Autofocus", "kind": "field", "id": "field|Autofocus|0|0|bool|||h09659cd1edc89091c579e01492029e06adf81389533feb3ae65790f5a01be31e", "signature": "public bool Autofocus", "summary": "_Bool autofocus" }, { "name": "NoLineNumbers", "kind": "field", "id": "field|NoLineNumbers|0|0|bool|||hb5cc496b040e6bb46501892acb3b13db7559983e7c6d82801ba2f83cc793203a", "signature": "public bool NoLineNumbers", "summary": "hides the gutter of line numbers" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|bool|||he393614309fa34fbb6e0930aa04c288616abcb05d02f63ad9eb9cb23927877ad", "signature": "public bool ReadOnly", "summary": "_Bool read_only" }, { "name": "UseTabs", "kind": "field", "id": "field|UseTabs|0|0|bool|||he76d71839dc85068e0d8324e400fd58c8444d5abe4ef488a23e57222d8af7178", "signature": "public bool UseTabs", "summary": "indent with tab characters instead of spaces" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320; negative fills the space" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 13" }, { "name": "TabSize", "kind": "field", "id": "field|TabSize|0|0|int|||h1fb69a62e48ce09519cd8bb8b90088cf5a2053b0f991052821d6e0a3f3dab47f", "signature": "public int TabSize", "summary": "columns per indentation level, default 4" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|string?|||h8fa7b7c8fe2a50b3a95391e856d3b6c823e1a596a3f5d40e9f37c84029dc2357", "signature": "public string? Lang", "summary": "as cui_code_block: \u0022c\u0022, \u0022cpp\u0022, \u0022js\u0022, \u0022ts\u0022, \u0022python\u0022, \u0022rust\u0022, \u0022go\u0022, \u0022json\u0022, \u0022shell\u0022; \u0022text\u0022 for none" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "shown while the text is empty" }] }, + { "name": "CuiSharp.CodeEditorResult", "displayName": "CodeEditorResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Changed;bool Refused = default;bool Focused = default;int Cursor = default;int Anchor = default;int Line = default;int Column = default;int LineCount = default;int Length = default;int Bracket = default;int BracketMatch = default;int FindMatches = default;int FindIndex = default||h10d37050109b7b0ed6537ab21c05bd44ab3b7bebd67ac63bc68fecca0f07fa70", "signature": "CodeEditorResult(bool Changed, bool Refused = default, bool Focused = default, int Cursor = default, int Anchor = default, int Line = default, int Column = default, int LineCount = default, int Length = default, int Bracket = default, int BracketMatch = default, int FindMatches = default, int FindIndex = default)", "parameters": [{ "name": "Changed", "type": "bool" }, { "name": "Refused", "type": "bool", "default": "default" }, { "name": "Focused", "type": "bool", "default": "default" }, { "name": "Cursor", "type": "int", "default": "default" }, { "name": "Anchor", "type": "int", "default": "default" }, { "name": "Line", "type": "int", "default": "default" }, { "name": "Column", "type": "int", "default": "default" }, { "name": "LineCount", "type": "int", "default": "default" }, { "name": "Length", "type": "int", "default": "default" }, { "name": "Bracket", "type": "int", "default": "default" }, { "name": "BracketMatch", "type": "int", "default": "default" }, { "name": "FindMatches", "type": "int", "default": "default" }, { "name": "FindIndex", "type": "int", "default": "default" }] }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|bool|||h8c85f6cfc38e0138c8eb4125f6296f3a8f63126e75288f3d3b7fc9e85c6c1f63", "signature": "public bool Changed", "summary": "the text changed this frame" }, { "name": "Focused", "kind": "field", "id": "field|Focused|0|0|bool|||h03e74544391bd5f5b768e54fb7011da1a013b87b3221f57443f738bcc0ae57da", "signature": "public bool Focused", "summary": "the editor or its find bar has the keyboard" }, { "name": "Refused", "kind": "field", "id": "field|Refused|0|0|bool|||hc139b2d3b5ff44a547eedc172b84159ab68ce7aa184d45a0ddff68588c76d436", "signature": "public bool Refused", "summary": "an edit did not fit in the capacity and was dropped" }, { "name": "Anchor", "kind": "field", "id": "field|Anchor|0|0|int|||haebd09af400cd13b8e6a4d74ff68b178d1ce2cdb19d12950362ae273b212ff68", "signature": "public int Anchor", "summary": "caret and the other end of the selection, byte offsets" }, { "name": "Bracket", "kind": "field", "id": "field|Bracket|0|0|int|||h77d16f8f46588b03aef36d7c7700c16913abeb938081d48c601527ac49676ea8", "signature": "public int Bracket", "summary": "the bracket beside the caret and its partner, byte offsets, or -1" }, { "name": "BracketMatch", "kind": "field", "id": "field|BracketMatch|0|0|int|||hf4bcef73eb750933986b759052d8e30b7b10d167b65548578d889eef0a8d0447", "signature": "public int BracketMatch", "summary": "the bracket beside the caret and its partner, byte offsets, or -1" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "the caret, 1 based; columns count tabs to their stop" }, { "name": "Cursor", "kind": "field", "id": "field|Cursor|0|0|int|||h23aff42ff5d653e4a3b8a654aa17c4d9c160335133193db458a21e242a54d577", "signature": "public int Cursor", "summary": "caret and the other end of the selection, byte offsets" }, { "name": "FindIndex", "kind": "field", "id": "field|FindIndex|0|0|int|||h9901bf02470123f840113bd889b35049d5d57a39c279f06740fad0d72c6b6fae", "signature": "public int FindIndex", "summary": "with the find bar open: matches, and which one is selected (1 based, 0 none)" }, { "name": "FindMatches", "kind": "field", "id": "field|FindMatches|0|0|int|||hc7266e2f6ac242c69af5391be242aaa9b92542b13fe7206e4b7263e39078c2d2", "signature": "public int FindMatches", "summary": "with the find bar open: matches, and which one is selected (1 based, 0 none)" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|int|||hef2503a1d0b9fb909698fa12c327675bda30f8b40b00e879e548d3e8332f864d", "signature": "public int Length", "summary": "lines, and bytes of text" }, { "name": "Line", "kind": "field", "id": "field|Line|0|0|int|||h1879f4fdbcfa3a3747d1163cdd353585f2b2bd90bfd45d0dfb258aacbc098d3e", "signature": "public int Line", "summary": "the caret, 1 based; columns count tabs to their stop" }, { "name": "LineCount", "kind": "field", "id": "field|LineCount|0|0|int|||hbaa214fddd02d1ccffe160de438912c4aa7f3470b2479bc2583e4f2d2ebb1485", "signature": "public int LineCount", "summary": "lines, and bytes of text" }] }, + { "name": "CuiSharp.CodeOpts", "displayName": "CodeOpts", "kind": "struct", "summary": "Code block with syntax highlighting (lang: \u0022c\u0022, \u0022cpp\u0022, \u0022js\u0022, \u0022ts\u0022, \u0022python\u0022, \u0022rust\u0022, \u0022go\u0022, \u0022json\u0022, \u0022shell\u0022, or \u0022text\u0022 for none), line numbers, a title bar and a copy button. Long lines scroll sideways. All fields are optional; zero selects the native default.", "members": [{ "name": "LineNumbers", "kind": "field", "id": "field|LineNumbers|0|0|bool|||hf97d043b6bbb7fd74c036a3d0e462dbeaf266c6bf806c893c89f61f222ab729c", "signature": "public bool LineNumbers", "summary": "a column of line numbers on the left" }, { "name": "NoHeader", "kind": "field", "id": "field|NoHeader|0|0|bool|||h7922046bd3807eec795aa2981a7e08ccf6af18d5c0f9f9ef7f687eb187ccb398", "signature": "public bool NoHeader", "summary": "no title bar, even with a lang" }, { "name": "MaxHeight", "kind": "field", "id": "field|MaxHeight|0|0|float|||h362fb387f8c873f790106e0085b293b9836b14ef629bd38f56f23e0483ef699f", "signature": "public float MaxHeight", "summary": "scrolls beyond this, default none" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 13" }, { "name": "HighlightFrom", "kind": "field", "id": "field|HighlightFrom|0|0|int|||h3f447dcb0743179fec7a2dd4a9ce932f77873c9111e71c1fa0182456ef6a5ad8", "signature": "public int HighlightFrom", "summary": "1 based line range to emphasize" }, { "name": "HighlightTo", "kind": "field", "id": "field|HighlightTo|0|0|int|||h69877e6460a36c5400eb55f0445931950db5a7253630d30f09922f950fd37671", "signature": "public int HighlightTo", "summary": "1 based line range to emphasize" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|string?|||h8fa7b7c8fe2a50b3a95391e856d3b6c823e1a596a3f5d40e9f37c84029dc2357", "signature": "public string? Lang", "summary": "\u0022c\u0022, \u0022cpp\u0022, \u0022js\u0022, \u0022ts\u0022, \u0022python\u0022, \u0022rust\u0022, \u0022go\u0022, \u0022json\u0022, \u0022shell\u0022 or \u0022text\u0022 (no colors); shown in the title bar" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "e.g. a file name" }] }, { "name": "CuiSharp.Color", "displayName": "Color", "kind": "struct", "summary": "cui_color. Either four channels or a semantic token that follows the theme.", "members": [{ "name": "WithAlpha", "kind": "method", "id": "method|WithAlpha|0|0|Color|float multiplier||hd703c0157a4137aae6653d3bff5c236019738c6b77d9af6dc9d0622216c274aa", "signature": "Color WithAlpha(float multiplier)", "parameters": [{ "name": "multiplier", "type": "float" }], "summary": "Multiplies the color\u0027s alpha, for a disabled or washed-out variant." }, { "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||byte r;byte g;byte b;byte a = 255||hb2121e78947f0a93d18e10dc4600ee2b1aa6e5b3995552e2590e0df80f195aca", "signature": "Color(byte r, byte g, byte b, byte a = 255)", "parameters": [{ "name": "r", "type": "byte" }, { "name": "g", "type": "byte" }, { "name": "b", "type": "byte" }, { "name": "a", "type": "byte", "default": "255" }] }, { "name": "Equals", "kind": "method", "id": "method|Equals|0|0|bool|Color other||h5d0288e9ccfbd1184e3ecb193be0708fdc3eaf511e60bd843af50eedae64c964", "signature": "bool Equals(Color other)", "parameters": [{ "name": "other", "type": "Color" }], "summary": "The same four channels, or the same token. A token compares equal to itself and not to the channels it resolves to, because a token is what a widget draws with." }, { "name": "Equals", "kind": "method", "id": "method|Equals|0|0|bool|object? obj||hd3e92e37e2998ac34e36806ff7fcef181ad242dea4dc74cd082b2897104d07a6", "signature": "bool Equals(object? obj)", "parameters": [{ "name": "obj", "type": "object?" }] }, { "name": "IsToken", "kind": "property", "id": "property|IsToken|0|0|bool||get;|hfe9fb89ba2094af4625f9a23a8c6792c474de7efb997f176a4ebd39e6da47fed", "signature": "bool IsToken { get; }" }, { "name": "GetHashCode", "kind": "method", "id": "method|GetHashCode|0|0|int|||hdfcf1984bbd53bb9079a9b702ff4724865de4dcf06bbed07c42edbc8e1085a8d", "signature": "int GetHashCode()" }, { "name": "A", "kind": "field", "id": "field|A|0|0|byte|||h5f5606c1faa3bde12e471c6d45fbdbbb7b7b13c87a84c6c14640f875f2f6a1a2", "signature": "public readonly byte A" }, { "name": "B", "kind": "field", "id": "field|B|0|0|byte|||hf5ab11f712e47d0a4a2f743383c951d49899ebc92747d616fedc0babd7e745c8", "signature": "public readonly byte B" }, { "name": "G", "kind": "field", "id": "field|G|0|0|byte|||h7d3f01d8808a41c8e556108dd87173de783385b985d8744168b3c4172bd09b35", "signature": "public readonly byte G" }, { "name": "R", "kind": "field", "id": "field|R|0|0|byte|||h985a931c98c551bd094a81b5fe443fa38d6bc2ae6f0d15f34370509fc9dcd391", "signature": "public readonly byte R" }, { "name": "Transparent", "kind": "field", "id": "field|Transparent|1|0|Color|||h41a5ec8d188cdc30049557652b76378086851889c9fa07ab8c0af7306ea12dc7", "signature": "public static readonly Color Transparent" }, { "name": "Accent", "kind": "property", "id": "property|Accent|1|0|Color||get;|h8d69f38a4f15bea2935d1d4fc3628a46cea6ccfef14de994b60ef2d6b48edeaf", "signature": "static Color Accent { get; }" }, { "name": "AccentForeground", "kind": "property", "id": "property|AccentForeground|1|0|Color||get;|h2d4a1f3fb297c595b4064f97f1ea0a76ffded41e218420716307524e3a66e7f8", "signature": "static Color AccentForeground { get; }" }, { "name": "Background", "kind": "property", "id": "property|Background|1|0|Color||get;|he51585877825bba50d9093e9da71b040d9ed6a202aaaeb8575fceea6bb9bda1f", "signature": "static Color Background { get; }" }, { "name": "Border", "kind": "property", "id": "property|Border|1|0|Color||get;|h9873c74b5f65695efeb1a893646ad9674e90d89698fdb81de2afa801815d1cb1", "signature": "static Color Border { get; }" }, { "name": "BorderStrong", "kind": "property", "id": "property|BorderStrong|1|0|Color||get;|hea830f5db3592be34f46c3ec668e30dd7ab1d912414971463ecf0fa27914c0c6", "signature": "static Color BorderStrong { get; }" }, { "name": "Danger", "kind": "property", "id": "property|Danger|1|0|Color||get;|h99cba06ef8d7ea76015c92fb6663ae7505f5e1428aa24cb43e321e5ea6e666d0", "signature": "static Color Danger { get; }" }, { "name": "For", "kind": "method", "id": "method|For|1|0|Color|Tone tone||h4412f9f23c5bd32e18e34c3075655e6fa4a4c5dbf1be06e618ae345b2bd18d4e", "signature": "static Color For(Tone tone)", "parameters": [{ "name": "tone", "type": "Tone" }], "summary": "The theme color a semantic tone stands for, for the primitives that take a Color rather than a Tone (charts, sparklines, custom canvas drawing). Accent and the extra palette tones all resolve to the accent color." }, { "name": "Foreground", "kind": "property", "id": "property|Foreground|1|0|Color||get;|hfccef401e996b9dad2ca2d8fed68a78855a702326883118da37a51295e05eb0c", "signature": "static Color Foreground { get; }" }, { "name": "FromToken", "kind": "method", "id": "method|FromToken|1|0|Color|Token t||h9eafcdf7d2dadd67ddacb8e97905ba6611fd0d1dbee51ffd82593551fb624b1a", "signature": "static Color FromToken(Token t)", "parameters": [{ "name": "t", "type": "Token" }] }, { "name": "Info", "kind": "property", "id": "property|Info|1|0|Color||get;|hfaba701f2c9544d3ff7ad2d1df8f44dd1c689753f32974967d7d9f34dac23345", "signature": "static Color Info { get; }" }, { "name": "Mix", "kind": "method", "id": "method|Mix|1|0|Color|Color a;Color b;float t||he5d58d80e6b12084051425becf17b34e792dd1f4135d5670bc53e90c31e6bf0a", "signature": "static Color Mix(Color a, Color b, float t)", "parameters": [{ "name": "a", "type": "Color" }, { "name": "b", "type": "Color" }, { "name": "t", "type": "float" }], "summary": "Blends two colors: t 0 is a, 1 is b." }, { "name": "Oklch", "kind": "method", "id": "method|Oklch|1|0|Color|float lightness;float chroma;float hueDegrees;float alpha = 1f||hf1fc322887d714152ba0c9914ce19ea5bdf45b86c818fcfecd92e03ea6cf4242", "signature": "static Color Oklch(float lightness, float chroma, float hueDegrees, float alpha = 1f)", "parameters": [{ "name": "lightness", "type": "float" }, { "name": "chroma", "type": "float" }, { "name": "hueDegrees", "type": "float" }, { "name": "alpha", "type": "float", "default": "1f" }], "summary": "A color from an OKLCH triple: perceptual lightness 0..1, chroma, hue in degrees." }, { "name": "Rgb", "kind": "method", "id": "method|Rgb|1|0|Color|uint hex||h543e7417bb161fcbb860648cc48c6488fd3fc75b0c1f4ed5e8610f2ded59938e", "signature": "static Color Rgb(uint hex)", "parameters": [{ "name": "hex", "type": "uint" }], "summary": "CUI_RGB(0xRRGGBB)." }, { "name": "Rgba", "kind": "method", "id": "method|Rgba|1|0|Color|uint hex||h87bac9115999efb2b67af0db822c527527a8ff4fe817a430cc6bab981859c081", "signature": "static Color Rgba(uint hex)", "parameters": [{ "name": "hex", "type": "uint" }], "summary": "CUI_RGBA(0xRRGGBBAA)." }, { "name": "Series", "kind": "method", "id": "method|Series|1|0|Color|int n||heb0b07e61cefa3cf19ad9e6211c83a5dda949039dc7113ac2f07028f50aaabc9", "signature": "static Color Series(int n)", "parameters": [{ "name": "n", "type": "int" }], "summary": "CUI_COLOR_SERIES(n): cycles through the six chart colors." }, { "name": "Success", "kind": "property", "id": "property|Success|1|0|Color||get;|h1a7857cace5c8053e4af308c58b784dcca6f74f79d02fe3d2691e3b08d298a06", "signature": "static Color Success { get; }" }, { "name": "Surface", "kind": "property", "id": "property|Surface|1|0|Color||get;|ha5ac90d021d286432973b34f324d49876e3b58e6994a858e997aec71bcf77e0a", "signature": "static Color Surface { get; }" }, { "name": "SurfaceMuted", "kind": "property", "id": "property|SurfaceMuted|1|0|Color||get;|h8100076ef27b6f8037d5fddb5b39bf1aaae44daf458e422e9b71baad8a021627", "signature": "static Color SurfaceMuted { get; }" }, { "name": "SurfaceRaised", "kind": "property", "id": "property|SurfaceRaised|1|0|Color||get;|h956d3794784a39d0172a10e9452ad425828960b572c73832176094c26468677a", "signature": "static Color SurfaceRaised { get; }" }, { "name": "TextMuted", "kind": "property", "id": "property|TextMuted|1|0|Color||get;|hd8390cf8a32b88e88ff1086ab26309c2b21d1a4c24e54c5c8c0c6c0d63637f98", "signature": "static Color TextMuted { get; }" }, { "name": "TextSecondary", "kind": "property", "id": "property|TextSecondary|1|0|Color||get;|hbb3e2f4e83ec7dd25e89f1fc5ce197f4710e9b590d1b5e9e7208985698669558", "signature": "static Color TextSecondary { get; }" }, { "name": "Warning", "kind": "property", "id": "property|Warning|1|0|Color||get;|ha5291a19d9e6bda4a378d3459d58dea1ae05c73025987e7c6fa0ebce10a50421", "signature": "static Color Warning { get; }" }, { "name": "!=", "kind": "operator", "id": "operator|op_Inequality|1|0|bool|Color left;Color right||hebc2849fede2e4fe5539e9aa3c9f2fba9a5d90180e268e5719934267566ffc92", "signature": "static bool operator !=(Color left, Color right)", "member": "op_Inequality", "parameters": [{ "name": "left", "type": "Color" }, { "name": "right", "type": "Color" }] }, { "name": "==", "kind": "operator", "id": "operator|op_Equality|1|0|bool|Color left;Color right||h3611153c5abbd3f552dd55727f6a9e29b6d288ce6c7951410cd8400e97ddacff", "signature": "static bool operator ==(Color left, Color right)", "member": "op_Equality", "parameters": [{ "name": "left", "type": "Color" }, { "name": "right", "type": "Color" }] }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()", "summary": "#rrggbb, the token\u0027s name, or #rrggbbaa \u2014 whichever says the colour in a debugger or a failed assertion most usefully." }] }, - { "name": "CuiSharp.Command", "displayName": "Command", "kind": "struct", "summary": "cui_command. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Icon = null;string? Group = null;string? Shortcut = null||h6283c494eb865a4501b0d81cc6c67eea93f31757af5ee76334221efaf45e517f", "signature": "Command(string? Title, string? Icon = null, string? Group = null, string? Shortcut = null)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Icon", "type": "string?", "default": "null" }, { "name": "Group", "type": "string?", "default": "null" }, { "name": "Shortcut", "type": "string?", "default": "null" }] }, { "name": "Group", "kind": "field", "id": "field|Group|0|0|string?|||hf3da4970c81056945d7238681c51ca4ab28004c0ca941fabfe885256c6388d9b", "signature": "public string? Group", "summary": "const char * group" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|string?|||hb24cee523e8070471058522244148c9ff58dd158ff50852f7a6257dc7fcab350", "signature": "public string? Shortcut", "summary": "const char * shortcut" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, - { "name": "CuiSharp.CommentEvents", "displayName": "CommentEvents", "kind": "enum", "summary": "CUI_COMMENT_LIKE", "members": [{ "name": "Like", "kind": "enum value", "id": "enum value|Like|1|0|||1|h87cdacbf5b376ea5724eecb6ec0bc577e007cc2c6141407853fe1d6c2c70038b", "signature": "Like = 1", "value": "1" }, { "name": "None", "kind": "enum value", "id": "enum value|None|1|0|||0|h9e4e72abf0eaa3b853206f4d9ea0b0faabef40a12ba47974d4328c3a5bbf4faa", "signature": "None = 0", "value": "0" }, { "name": "Reply", "kind": "enum value", "id": "enum value|Reply|1|0|||2|h3390298ec50eb933c27c348b2dd6fd432aab04066fd68af15b17c8b8fc243129", "signature": "Reply = 2", "value": "2" }] }, - { "name": "CuiSharp.CommentOpts", "displayName": "CommentOpts", "kind": "struct", "summary": "cui_comment_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Edited", "kind": "field", "id": "field|Edited|0|0|bool|||he72494a4b154ed9e062a25161fb063fdcd50128995f66884e73c7d4fbe4e7b88", "signature": "public bool Edited", "summary": "_Bool edited" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "int depth" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|string?|||he7e7c071afd35c021d23c003aca00c74fdf6fc42e693819ce02b70951ea38c8d", "signature": "public string? Badge", "summary": "const char * badge" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|string?|||h3fa6df975c274c56979003cf790a67367077eb0ba02d23dac030823b376828bc", "signature": "public string? Time", "summary": "const char * time" }] }, - { "name": "CuiSharp.Commit", "displayName": "Commit", "kind": "struct", "summary": "cui_commit. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Hash;string? Message = null;string? Author = null;string? Date = null;string? Refs = null;int[]? Parent = null||hbfc2f97d923ab6800b6eb5ba4d9302bad305e808845bf9662856125d7286315d", "signature": "Commit(string? Hash, string? Message = null, string? Author = null, string? Date = null, string? Refs = null, int[]? Parent = null)", "parameters": [{ "name": "Hash", "type": "string?" }, { "name": "Message", "type": "string?", "default": "null" }, { "name": "Author", "type": "string?", "default": "null" }, { "name": "Date", "type": "string?", "default": "null" }, { "name": "Refs", "type": "string?", "default": "null" }, { "name": "Parent", "type": "int[]?", "default": "null" }] }, { "name": "Parent", "kind": "field", "id": "field|Parent|0|0|int[]?|||h3290295f61a92ec63399e7811db26f972a73b035a1e7a722916f2db21c9d15ef", "signature": "public int[]? Parent", "summary": "row of each parent, -1 for none" }, { "name": "Author", "kind": "field", "id": "field|Author|0|0|string?|||h5d1fc170a7dcd4b8e80156dab09738bd64f10f589e9ac4a8e02e5fdc43adb431", "signature": "public string? Author", "summary": "const char * author" }, { "name": "Date", "kind": "field", "id": "field|Date|0|0|string?|||h1fa114a81f8c4208e6687df35eac7c8b1c71f42a3f9bdd394e9acf22858ece8d", "signature": "public string? Date", "summary": "already formatted: \u00222 hours ago\u0022, \u0022Mar 3\u0022" }, { "name": "Hash", "kind": "field", "id": "field|Hash|0|0|string?|||h95e6d6d6d205a91ba5b07f33a3714e158b5d5e595387bd4d4e731aadfa81def7", "signature": "public string? Hash", "summary": "const char * hash" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|string?|||hef2e6225d86c6eb3366a0a172da793ed9f3ab16202af98b590c25bfb4adb1feb", "signature": "public string? Message", "summary": "the first line is shown" }, { "name": "Refs", "kind": "field", "id": "field|Refs|0|0|string?|||h659f06299af1f41b49d96e4362436f2a2a937c254f9f3928911d353b2afa91dd", "signature": "public string? Refs", "summary": "\u0022main, origin/main, tag: v1.2\u0022, may be NULL" }] }, - { "name": "CuiSharp.CommitGraphOpts", "displayName": "CommitGraphOpts", "kind": "struct", "summary": "cui_commit_graph_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }] }, - { "name": "CuiSharp.CommitGraphResult", "displayName": "CommitGraphResult", "kind": "struct", "summary": "cui_commit_graph_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Clicked;int Activated = default;int Hovered = default||ha1dfb8a4530b77a76ccd87518c28580e6dd1579074268ff12ec531fbda215c4b", "signature": "CommitGraphResult(int Clicked, int Activated = default, int Hovered = default)", "parameters": [{ "name": "Clicked", "type": "int" }, { "name": "Activated", "type": "int", "default": "default" }, { "name": "Hovered", "type": "int", "default": "default" }] }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "int activated" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "int clicked" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "int hovered" }] }, - { "name": "CuiSharp.CompareOpts", "displayName": "CompareOpts", "kind": "struct", "summary": "cui_compare_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Aspect", "kind": "field", "id": "field|Aspect|0|0|float|||h5a5a7490732f77b38ee208c886571caa7d8986b77932e6d27775bfe1970fb584", "signature": "public float Aspect", "summary": "the images\u0027 width / height: they are cropped to fill, never stretched" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "AfterLabel", "kind": "field", "id": "field|AfterLabel|0|0|string?|||h9407efffc0d0b92ce00638fc21b486c2422ae5dc5f66e0b4a2186d557aaff56e", "signature": "public string? AfterLabel", "summary": "const char * after_label" }, { "name": "BeforeLabel", "kind": "field", "id": "field|BeforeLabel|0|0|string?|||h9a2f4041febf7ef08a4b079cbee068c2578a48c8b58bb8cf6eb06da4f0de8d9c", "signature": "public string? BeforeLabel", "summary": "const char * before_label" }] }, - { "name": "CuiSharp.ComposerEvents", "displayName": "ComposerEvents", "kind": "enum", "summary": "CUI_COMPOSER_SEND", "members": [{ "name": "Attach", "kind": "enum value", "id": "enum value|Attach|1|0|||4|hb15466bf30d40baad233116e55d9dff0f68e6c1df3b1e8434b457086d9f8bed3", "signature": "Attach = 4", "value": "4" }, { "name": "Model", "kind": "enum value", "id": "enum value|Model|1|0|||16|ha2b2f411a73155fbc8794d3538859929fbaff4e7efcb6db74720e8c2eb3ceda9", "signature": "Model = 16", "value": "16" }, { "name": "None", "kind": "enum value", "id": "enum value|None|1|0|||0|h9e4e72abf0eaa3b853206f4d9ea0b0faabef40a12ba47974d4328c3a5bbf4faa", "signature": "None = 0", "value": "0" }, { "name": "Remove", "kind": "enum value", "id": "enum value|Remove|1|0|||8|hf86582dd57b26ece7a0aacdf1f7964b4c4ed6987f087e1f9f4406e5933f35607", "signature": "Remove = 8", "value": "8" }, { "name": "Send", "kind": "enum value", "id": "enum value|Send|1|0|||1|h5f27c6f7d12d788d837ea80ae1271f4421d8f040fd47479566542f832474ca48", "signature": "Send = 1", "value": "1" }, { "name": "Stop", "kind": "enum value", "id": "enum value|Stop|1|0|||2|he91aff6eb69a6e99cf0d39a7bb8969f2739288d451797390cd883571875d3f40", "signature": "Stop = 2", "value": "2" }] }, - { "name": "CuiSharp.ComposerOpts", "displayName": "ComposerOpts", "kind": "struct", "summary": "cui_composer_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Models", "kind": "field", "id": "field|Models|0|0|Model[]?|||h70b0d939d61656406de971fc69f5c44c93bf629e9f25753b6f09e8b3299a98ae", "signature": "public Model[]? Models", "summary": "const cui_model * models" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Busy", "kind": "field", "id": "field|Busy|0|0|bool|||hae101fd1ee42ec9c74033dff47632eb6091bf5510e4fd05fdbfc46291d361bda", "signature": "public bool Busy", "summary": "_Bool busy" }, { "name": "MaxLines", "kind": "field", "id": "field|MaxLines|0|0|int|||h995307b973f05cbe551b53177d0c23114013f6b5b22c835b2dc6609203e2b299", "signature": "public int MaxLines", "summary": "default 8" }, { "name": "ModelCount", "kind": "field", "id": "field|ModelCount|0|0|int|||hfbf7f87982dd42ccf2deda1d3ba7c988866b4826cb8f1dd682c00abe8a509e17", "signature": "public int ModelCount", "summary": "int model_count" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }, { "name": "Attachments", "kind": "field", "id": "field|Attachments|0|0|string[]?|||h4bfc64d1ee613d6d8fb84938b9ecd09a5efd00b1698138139445c83b984b7bf1", "signature": "public string[]? Attachments", "summary": "const char *const * attachments" }] }, - { "name": "CuiSharp.ConfirmOpts", "displayName": "ConfirmOpts", "kind": "struct", "summary": "cui_confirm_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "resting look, default secondary" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "Timeout", "kind": "field", "id": "field|Timeout|0|0|float|||h6fb556a50665c237ad9b5a3a89b5643838aa87632ece289264dbdaa96cf69904", "signature": "public float Timeout", "summary": "seconds before it disarms, default 3" }, { "name": "ConfirmLabel", "kind": "field", "id": "field|ConfirmLabel|0|0|string?|||ha00189bcd2ff96a065ec909117520cf3e7e7dfc9d96e67a4f3f3f911c4277510", "signature": "public string? ConfirmLabel", "summary": "default \u0022Click to confirm\u0022" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, - { "name": "CuiSharp.ConfirmPopoverOpts", "displayName": "ConfirmPopoverOpts", "kind": "struct", "summary": "cui_confirm_popover_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement placement" }, { "name": "Danger", "kind": "field", "id": "field|Danger|0|0|bool|||h3e552965bd0c23ceb0f571e7b36f3aff5b19af39ece9e0ca708e9a8028437fdf", "signature": "public bool Danger", "summary": "_Bool danger" }, { "name": "CancelLabel", "kind": "field", "id": "field|CancelLabel|0|0|string?|||h7d2e1fe0ecaf204d072ba162f3015e3cb10482bd21e29cffee925027ebcb6977", "signature": "public string? CancelLabel", "summary": "default \u0022Cancel\u0022" }, { "name": "ConfirmLabel", "kind": "field", "id": "field|ConfirmLabel|0|0|string?|||ha00189bcd2ff96a065ec909117520cf3e7e7dfc9d96e67a4f3f3f911c4277510", "signature": "public string? ConfirmLabel", "summary": "default \u0022Confirm\u0022" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, - { "name": "CuiSharp.ContextOpts", "displayName": "ContextOpts", "kind": "struct", "summary": "cui_context_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Parts", "kind": "field", "id": "field|Parts|0|0|VizItem[]?|||h5ad43bad662c7f177d0d19739aa3efb0debf95899709e32f560deb632cb9dc08", "signature": "public VizItem[]? Parts", "summary": "const cui_viz_item * parts" }, { "name": "PartCount", "kind": "field", "id": "field|PartCount|0|0|int|||h5342a94757f5e81a36c5b83bd0855847425988567f074994d88be7e774e54884", "signature": "public int PartCount", "summary": "int part_count" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|string?|||h0c302a69bed7c7496c01c252ba72a9e4fdc11703160e8b42558740a0215d1888", "signature": "public string? Unit", "summary": "const char * unit" }] }, + { "name": "CuiSharp.Command", "displayName": "Command", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Icon = null;string? Group = null;string? Shortcut = null||h6283c494eb865a4501b0d81cc6c67eea93f31757af5ee76334221efaf45e517f", "signature": "Command(string? Title, string? Icon = null, string? Group = null, string? Shortcut = null)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Icon", "type": "string?", "default": "null" }, { "name": "Group", "type": "string?", "default": "null" }, { "name": "Shortcut", "type": "string?", "default": "null" }] }, { "name": "Group", "kind": "field", "id": "field|Group|0|0|string?|||hf3da4970c81056945d7238681c51ca4ab28004c0ca941fabfe885256c6388d9b", "signature": "public string? Group", "summary": "heading above a run of commands with the same group, shown while the search is empty" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|string?|||hb24cee523e8070471058522244148c9ff58dd158ff50852f7a6257dc7fcab350", "signature": "public string? Shortcut", "summary": "const char * shortcut" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "the command\u0027s text in the list; what typing in the palette searches" }] }, + { "name": "CuiSharp.CommentEvents", "displayName": "CommentEvents", "kind": "enum", "summary": "Comment with replies. depth indents replies under a connector line. Returns CUI_COMMENT_LIKE or CUI_COMMENT_REPLY flags for what was clicked; *liked and *likes are updated for you.", "members": [{ "name": "Like", "kind": "enum value", "id": "enum value|Like|1|0|||1|h87cdacbf5b376ea5724eecb6ec0bc577e007cc2c6141407853fe1d6c2c70038b", "signature": "Like = 1", "value": "1" }, { "name": "None", "kind": "enum value", "id": "enum value|None|1|0|||0|h9e4e72abf0eaa3b853206f4d9ea0b0faabef40a12ba47974d4328c3a5bbf4faa", "signature": "None = 0", "value": "0" }, { "name": "Reply", "kind": "enum value", "id": "enum value|Reply|1|0|||2|h3390298ec50eb933c27c348b2dd6fd432aab04066fd68af15b17c8b8fc243129", "signature": "Reply = 2", "value": "2" }] }, + { "name": "CuiSharp.CommentOpts", "displayName": "CommentOpts", "kind": "struct", "summary": "cui_comment_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Edited", "kind": "field", "id": "field|Edited|0|0|bool|||he72494a4b154ed9e062a25161fb063fdcd50128995f66884e73c7d4fbe4e7b88", "signature": "public bool Edited", "summary": "adds \u0022edited\u0022 after the time" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "0 for a top level comment; each level indents a reply 44 points under a connector line" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|string?|||he7e7c071afd35c021d23c003aca00c74fdf6fc42e693819ce02b70951ea38c8d", "signature": "public string? Badge", "summary": "small badge after the author\u0027s name, e.g. \u0022Author\u0022" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|string?|||h3fa6df975c274c56979003cf790a67367077eb0ba02d23dac030823b376828bc", "signature": "public string? Time", "summary": "muted text after the author\u0027s name, e.g. \u00222h ago\u0022" }] }, + { "name": "CuiSharp.Commit", "displayName": "Commit", "kind": "struct", "summary": "Version history: the branch lanes drawn beside each commit, newest first, with its message, branch and tag names, author, date and short hash. Each commit names its parents by row (parents come later in the array), so merges and branches draw as lines between lanes. Only the rows in view are built. Up and Down move the selection; Enter or a double-click activates. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Hash;string? Message = null;string? Author = null;string? Date = null;string? Refs = null;int[]? Parent = null||hbfc2f97d923ab6800b6eb5ba4d9302bad305e808845bf9662856125d7286315d", "signature": "Commit(string? Hash, string? Message = null, string? Author = null, string? Date = null, string? Refs = null, int[]? Parent = null)", "parameters": [{ "name": "Hash", "type": "string?" }, { "name": "Message", "type": "string?", "default": "null" }, { "name": "Author", "type": "string?", "default": "null" }, { "name": "Date", "type": "string?", "default": "null" }, { "name": "Refs", "type": "string?", "default": "null" }, { "name": "Parent", "type": "int[]?", "default": "null" }] }, { "name": "Parent", "kind": "field", "id": "field|Parent|0|0|int[]?|||h3290295f61a92ec63399e7811db26f972a73b035a1e7a722916f2db21c9d15ef", "signature": "public int[]? Parent", "summary": "row of each parent, -1 for none" }, { "name": "Author", "kind": "field", "id": "field|Author|0|0|string?|||h5d1fc170a7dcd4b8e80156dab09738bd64f10f589e9ac4a8e02e5fdc43adb431", "signature": "public string? Author", "summary": "shown in its own column, which a narrow panel leaves out" }, { "name": "Date", "kind": "field", "id": "field|Date|0|0|string?|||h1fa114a81f8c4208e6687df35eac7c8b1c71f42a3f9bdd394e9acf22858ece8d", "signature": "public string? Date", "summary": "already formatted: \u00222 hours ago\u0022, \u0022Mar 3\u0022" }, { "name": "Hash", "kind": "field", "id": "field|Hash|0|0|string?|||h95e6d6d6d205a91ba5b07f33a3714e158b5d5e595387bd4d4e731aadfa81def7", "signature": "public string? Hash", "summary": "the commit id; its first 7 characters are shown" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|string?|||hef2e6225d86c6eb3366a0a172da793ed9f3ab16202af98b590c25bfb4adb1feb", "signature": "public string? Message", "summary": "the first line is shown" }, { "name": "Refs", "kind": "field", "id": "field|Refs|0|0|string?|||h659f06299af1f41b49d96e4362436f2a2a937c254f9f3928911d353b2afa91dd", "signature": "public string? Refs", "summary": "\u0022main, origin/main, tag: v1.2\u0022, may be NULL" }] }, + { "name": "CuiSharp.CommitGraphOpts", "displayName": "CommitGraphOpts", "kind": "struct", "summary": "Version history: the branch lanes drawn beside each commit, newest first, with its message, branch and tag names, author, date and short hash. Each commit names its parents by row (parents come later in the array), so merges and branches draw as lines between lanes. Only the rows in view are built. Up and Down move the selection; Enter or a double-click activates. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }] }, + { "name": "CuiSharp.CommitGraphResult", "displayName": "CommitGraphResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Clicked;int Activated = default;int Hovered = default||ha1dfb8a4530b77a76ccd87518c28580e6dd1579074268ff12ec531fbda215c4b", "signature": "CommitGraphResult(int Clicked, int Activated = default, int Hovered = default)", "parameters": [{ "name": "Clicked", "type": "int" }, { "name": "Activated", "type": "int", "default": "default" }, { "name": "Hovered", "type": "int", "default": "default" }] }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "row double-clicked or chosen with Enter this frame, or -1" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "row clicked this frame, or -1" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "row under the pointer, or -1" }] }, + { "name": "CuiSharp.CompareOpts", "displayName": "CompareOpts", "kind": "struct", "summary": "Before and after: drag the divider to compare two images. *pos is 0..1. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Aspect", "kind": "field", "id": "field|Aspect|0|0|float|||h5a5a7490732f77b38ee208c886571caa7d8986b77932e6d27775bfe1970fb584", "signature": "public float Aspect", "summary": "the images\u0027 width / height: they are cropped to fill, never stretched" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "AfterLabel", "kind": "field", "id": "field|AfterLabel|0|0|string?|||h9407efffc0d0b92ce00638fc21b486c2422ae5dc5f66e0b4a2186d557aaff56e", "signature": "public string? AfterLabel", "summary": "caption in the top right corner, default \u0022After\u0022" }, { "name": "BeforeLabel", "kind": "field", "id": "field|BeforeLabel|0|0|string?|||h9a2f4041febf7ef08a4b079cbee068c2578a48c8b58bb8cf6eb06da4f0de8d9c", "signature": "public string? BeforeLabel", "summary": "caption in the top left corner, default \u0022Before\u0022" }] }, + { "name": "CuiSharp.ComposerEvents", "displayName": "ComposerEvents", "kind": "enum", "summary": "Chat composer: a growing text area with attachments, a model picker and a send button that turns into stop while busy. Enter sends, Shift\u002BEnter adds a line. Returns CUI_COMPOSER_* flags; *removed is the attachment whose x was clicked.", "members": [{ "name": "Attach", "kind": "enum value", "id": "enum value|Attach|1|0|||4|hb15466bf30d40baad233116e55d9dff0f68e6c1df3b1e8434b457086d9f8bed3", "signature": "Attach = 4", "value": "4" }, { "name": "Model", "kind": "enum value", "id": "enum value|Model|1|0|||16|ha2b2f411a73155fbc8794d3538859929fbaff4e7efcb6db74720e8c2eb3ceda9", "signature": "Model = 16", "value": "16" }, { "name": "None", "kind": "enum value", "id": "enum value|None|1|0|||0|h9e4e72abf0eaa3b853206f4d9ea0b0faabef40a12ba47974d4328c3a5bbf4faa", "signature": "None = 0", "value": "0" }, { "name": "Remove", "kind": "enum value", "id": "enum value|Remove|1|0|||8|hf86582dd57b26ece7a0aacdf1f7964b4c4ed6987f087e1f9f4406e5933f35607", "signature": "Remove = 8", "value": "8" }, { "name": "Send", "kind": "enum value", "id": "enum value|Send|1|0|||1|h5f27c6f7d12d788d837ea80ae1271f4421d8f040fd47479566542f832474ca48", "signature": "Send = 1", "value": "1" }, { "name": "Stop", "kind": "enum value", "id": "enum value|Stop|1|0|||2|he91aff6eb69a6e99cf0d39a7bb8969f2739288d451797390cd883571875d3f40", "signature": "Stop = 2", "value": "2" }] }, + { "name": "CuiSharp.ComposerOpts", "displayName": "ComposerOpts", "kind": "struct", "summary": "cui_composer_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Models", "kind": "field", "id": "field|Models|0|0|Model[]?|||h70b0d939d61656406de971fc69f5c44c93bf629e9f25753b6f09e8b3299a98ae", "signature": "public Model[]? Models", "summary": "models for a picker beside the attach button; \u0060NULL\u0060 for no picker" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Busy", "kind": "field", "id": "field|Busy|0|0|bool|||hae101fd1ee42ec9c74033dff47632eb6091bf5510e4fd05fdbfc46291d361bda", "signature": "public bool Busy", "summary": "a reply is being generated: the send button becomes stop and Enter does not send" }, { "name": "MaxLines", "kind": "field", "id": "field|MaxLines|0|0|int|||h995307b973f05cbe551b53177d0c23114013f6b5b22c835b2dc6609203e2b299", "signature": "public int MaxLines", "summary": "default 8" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }, { "name": "Attachments", "kind": "field", "id": "field|Attachments|0|0|string[]?|||h4bfc64d1ee613d6d8fb84938b9ecd09a5efd00b1698138139445c83b984b7bf1", "signature": "public string[]? Attachments", "summary": "names of the attached files, shown as chips above the text, each with an x" }] }, + { "name": "CuiSharp.ConfirmOpts", "displayName": "ConfirmOpts", "kind": "struct", "summary": "Two step destructive button: the first click morphs it into a confirm state with a countdown, the second click confirms. Returns true once. All fields are optional; zero selects the native default.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "resting look, default secondary" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "Timeout", "kind": "field", "id": "field|Timeout|0|0|float|||h6fb556a50665c237ad9b5a3a89b5643838aa87632ece289264dbdaa96cf69904", "signature": "public float Timeout", "summary": "seconds before it disarms, default 3" }, { "name": "ConfirmLabel", "kind": "field", "id": "field|ConfirmLabel|0|0|string?|||ha00189bcd2ff96a065ec909117520cf3e7e7dfc9d96e67a4f3f3f911c4277510", "signature": "public string? ConfirmLabel", "summary": "default \u0022Click to confirm\u0022" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.ConfirmPopoverOpts", "displayName": "ConfirmPopoverOpts", "kind": "struct", "summary": "Confirm popover: a small question anchored to the previous component. Open it with cui_popover_open(ui, id). Returns true when confirmed. All fields are optional; zero selects the native default.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement placement" }, { "name": "Danger", "kind": "field", "id": "field|Danger|0|0|bool|||h3e552965bd0c23ceb0f571e7b36f3aff5b19af39ece9e0ca708e9a8028437fdf", "signature": "public bool Danger", "summary": "_Bool danger" }, { "name": "CancelLabel", "kind": "field", "id": "field|CancelLabel|0|0|string?|||h7d2e1fe0ecaf204d072ba162f3015e3cb10482bd21e29cffee925027ebcb6977", "signature": "public string? CancelLabel", "summary": "default \u0022Cancel\u0022" }, { "name": "ConfirmLabel", "kind": "field", "id": "field|ConfirmLabel|0|0|string?|||ha00189bcd2ff96a065ec909117520cf3e7e7dfc9d96e67a4f3f3f911c4277510", "signature": "public string? ConfirmLabel", "summary": "default \u0022Confirm\u0022" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "the question, in medium weight at the top, e.g. \u0022Delete this file?\u0022" }] }, + { "name": "CuiSharp.ContextOpts", "displayName": "ContextOpts", "kind": "struct", "summary": "Context meter: a small ring of how full the context is; hover for a breakdown. It turns amber past 80% and red past 95%. All fields are optional; zero selects the native default.", "members": [{ "name": "Parts", "kind": "field", "id": "field|Parts|0|0|VizItem[]?|||h5ad43bad662c7f177d0d19739aa3efb0debf95899709e32f560deb632cb9dc08", "signature": "public VizItem[]? Parts", "summary": "what fills the context (label, amount, color), for the breakdown on hover" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|string?|||h0c302a69bed7c7496c01c252ba72a9e4fdc11703160e8b42558740a0215d1888", "signature": "public string? Unit", "summary": "const char * unit" }] }, { "name": "CuiSharp.ControlSize", "displayName": "ControlSize", "kind": "enum", "summary": "cui_control_size", "members": [{ "name": "Lg", "kind": "enum value", "id": "enum value|Lg|1|0|||2|h679ef4558437456233aa4dd325a41b851d8aee99094c57ba5aef1a5c64f65a94", "signature": "Lg = 2", "value": "2" }, { "name": "Md", "kind": "enum value", "id": "enum value|Md|1|0|||0|haae5c5c1dbfb30e8e313da03df6578047dc53f886b10f0fd739252f3db40305c", "signature": "Md = 0", "value": "0" }, { "name": "Sm", "kind": "enum value", "id": "enum value|Sm|1|0|||1|h04aeae971ce9d7a484b07b5f4f92acbe5bc3d1c5706dfa602e261e378548ea1e", "signature": "Sm = 1", "value": "1" }] }, - { "name": "CuiSharp.CountdownOpts", "displayName": "CountdownOpts", "kind": "struct", "summary": "cui_countdown_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Compact", "kind": "field", "id": "field|Compact|0|0|bool|||h5a2127a1e548266f50dbac415de28c4f38d4739bc0238184acf147186e6e67f6", "signature": "public bool Compact", "summary": "_Bool compact" }, { "name": "HideDays", "kind": "field", "id": "field|HideDays|0|0|bool|||heb5d82549565d9fe214d52ce21b06bfce989aa231c4d6084ba87135b2966b212", "signature": "public bool HideDays", "summary": "_Bool hide_days" }] }, - { "name": "CuiSharp.CounterOpts", "displayName": "CounterOpts", "kind": "struct", "summary": "cui_counter_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "cui_font font" }, { "name": "GroupThousands", "kind": "field", "id": "field|GroupThousands|0|0|bool|||h081afdc03a58f3220b3f0100799570d8f61ba541512462dcf8bbac0d52f77c69", "signature": "public bool GroupThousands", "summary": "_Bool group_thousands" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, - { "name": "CuiSharp.CoverageFile", "displayName": "CoverageFile", "kind": "struct", "summary": "cui_coverage_file. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Path;int Lines = default;int LinesHit = default;int Branches = default;int BranchesHit = default;int Functions = default;int FunctionsHit = default||haf014615142cbd5c0a6d8bbd32d2a0be5ecdbec878987e4e47e8a393ae0cc87d", "signature": "CoverageFile(string? Path, int Lines = default, int LinesHit = default, int Branches = default, int BranchesHit = default, int Functions = default, int FunctionsHit = default)", "parameters": [{ "name": "Path", "type": "string?" }, { "name": "Lines", "type": "int", "default": "default" }, { "name": "LinesHit", "type": "int", "default": "default" }, { "name": "Branches", "type": "int", "default": "default" }, { "name": "BranchesHit", "type": "int", "default": "default" }, { "name": "Functions", "type": "int", "default": "default" }, { "name": "FunctionsHit", "type": "int", "default": "default" }] }, { "name": "Branches", "kind": "field", "id": "field|Branches|0|0|int|||h211a3c4c9be92003e91bc3dec56563a566cbd138480d4e790a58b46727fe63de", "signature": "public int Branches", "summary": "0 branches: not measured" }, { "name": "BranchesHit", "kind": "field", "id": "field|BranchesHit|0|0|int|||h7071ae5f37dcb0ef19b28606d22fcaaeeff37d96ceb673dee1e8b81c1dd21303", "signature": "public int BranchesHit", "summary": "0 branches: not measured" }, { "name": "Functions", "kind": "field", "id": "field|Functions|0|0|int|||h3c5e176fc0b1d841c718c27c1c6ee284fa20c31afd0c68c06de7f1ec57e71b41", "signature": "public int Functions", "summary": "int functions" }, { "name": "FunctionsHit", "kind": "field", "id": "field|FunctionsHit|0|0|int|||h3eaad292bc305e419d0766b41114cb76df3544fa8fd5978eeb5629ed562a4f07", "signature": "public int FunctionsHit", "summary": "int functions_hit" }, { "name": "Lines", "kind": "field", "id": "field|Lines|0|0|int|||hee1996ff73a3bb29577188d155832b95024d32ca718f5404022abdd064faf7d7", "signature": "public int Lines", "summary": "int lines" }, { "name": "LinesHit", "kind": "field", "id": "field|LinesHit|0|0|int|||h313bb4660008239d0f40b3e18169ad54d23586b86c87095aa77eaf76404cc445", "signature": "public int LinesHit", "summary": "int lines_hit" }, { "name": "Path", "kind": "field", "id": "field|Path|0|0|string?|||h38c25c9591c0c2e3c6198e606e0b33109c4c38f51d9f1d9bbf7ada51d909598f", "signature": "public string? Path", "summary": "\u0022src/core/layout.c\u0022" }] }, - { "name": "CuiSharp.CoverageOpts", "displayName": "CoverageOpts", "kind": "struct", "summary": "cui_coverage_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "percent; default 50 and 80" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "percent; default 50 and 80" }, { "name": "High", "kind": "field", "id": "field|High|0|0|float|||h8d86ceb8300b405923f523b6dfd491fceedb9688753dea5f6c0ed797466bffb1", "signature": "public float High", "summary": "percent; default 50 and 80" }, { "name": "Low", "kind": "field", "id": "field|Low|0|0|float|||h5bec759be4f0ae85b0ce5535aeb5d662da36d7c794ada46efc1c76f1e46fbd11", "signature": "public float Low", "summary": "percent; default 50 and 80" }] }, - { "name": "CuiSharp.CoverageResult", "displayName": "CoverageResult", "kind": "struct", "summary": "cui_coverage_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Activated;float Lines = default||h88da104828a28b86b9fec371bc715be464eef60466c69c4ac1d557fb947e2bd2", "signature": "CoverageResult(int Activated, float Lines = default)", "parameters": [{ "name": "Activated", "type": "int" }, { "name": "Lines", "type": "float", "default": "default" }] }, { "name": "Lines", "kind": "field", "id": "field|Lines|0|0|float|||h7ffa52c3fc8534cb001f45d21db0b1e58ef0821f4b768205d94dfde2e83269d5", "signature": "public float Lines", "summary": "percent of all lines covered" }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "file, or -1" }] }, - { "name": "CuiSharp.CropperOpts", "displayName": "CropperOpts", "kind": "struct", "summary": "cui_cropper_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default the width it gets and 360" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default the width it gets and 360" }, { "name": "Round", "kind": "field", "id": "field|Round|0|0|bool|||h2247de0cb34a1cb7366fbff40bf14d0e5f3e5d0075c0ba267ebb0ba013999829", "signature": "public bool Round", "summary": "a round mask, for avatars (keeps a 1:1 aspect)" }, { "name": "Aspect", "kind": "field", "id": "field|Aspect|0|0|float|||h5a5a7490732f77b38ee208c886571caa7d8986b77932e6d27775bfe1970fb584", "signature": "public float Aspect", "summary": "width / height to keep, 0 for free" }, { "name": "MinSize", "kind": "field", "id": "field|MinSize|0|0|float|||h1099d1058b339206047e2995d1f051ab14f9f598203af7d8b0e01d0afc83ece3", "signature": "public float MinSize", "summary": "smallest side, image pixels; default 16" }] }, + { "name": "CuiSharp.CountdownOpts", "displayName": "CountdownOpts", "kind": "struct", "summary": "Countdown: days, hours, minutes and seconds as tiles whose digits roll. All fields are optional; zero selects the native default.", "members": [{ "name": "Compact", "kind": "field", "id": "field|Compact|0|0|bool|||h5a2127a1e548266f50dbac415de28c4f38d4739bc0238184acf147186e6e67f6", "signature": "public bool Compact", "summary": "small tiles joined by colons, without the unit names under them" }, { "name": "HideDays", "kind": "field", "id": "field|HideDays|0|0|bool|||heb5d82549565d9fe214d52ce21b06bfce989aa231c4d6084ba87135b2966b212", "signature": "public bool HideDays", "summary": "no days tile; the hours tile counts the days in (49 hours, not 2 days and 1 hour)" }] }, + { "name": "CuiSharp.CounterOpts", "displayName": "CounterOpts", "kind": "struct", "summary": "Odometer: a number whose digits roll to their new values. All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "default \u0060CUI_FONT_DISPLAY\u0060" }, { "name": "GroupThousands", "kind": "field", "id": "field|GroupThousands|0|0|bool|||h081afdc03a58f3220b3f0100799570d8f61ba541512462dcf8bbac0d52f77c69", "signature": "public bool GroupThousands", "summary": "commas between thousands: 48210 shows as 48,210" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, + { "name": "CuiSharp.CoverageFile", "displayName": "CoverageFile", "kind": "struct", "summary": "Test coverage by folder and file: the files\u0027 paths make the tree, each folder sums up what it holds, and folders fold. Line coverage shows as a bar colored by thresholds, with branches and functions beside it. Click a column\u0027s title to sort. Enter or a double-click activates a file. Narrow panels show lines only. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Path;int Lines = default;int LinesHit = default;int Branches = default;int BranchesHit = default;int Functions = default;int FunctionsHit = default||haf014615142cbd5c0a6d8bbd32d2a0be5ecdbec878987e4e47e8a393ae0cc87d", "signature": "CoverageFile(string? Path, int Lines = default, int LinesHit = default, int Branches = default, int BranchesHit = default, int Functions = default, int FunctionsHit = default)", "parameters": [{ "name": "Path", "type": "string?" }, { "name": "Lines", "type": "int", "default": "default" }, { "name": "LinesHit", "type": "int", "default": "default" }, { "name": "Branches", "type": "int", "default": "default" }, { "name": "BranchesHit", "type": "int", "default": "default" }, { "name": "Functions", "type": "int", "default": "default" }, { "name": "FunctionsHit", "type": "int", "default": "default" }] }, { "name": "Branches", "kind": "field", "id": "field|Branches|0|0|int|||h211a3c4c9be92003e91bc3dec56563a566cbd138480d4e790a58b46727fe63de", "signature": "public int Branches", "summary": "0 branches: not measured" }, { "name": "BranchesHit", "kind": "field", "id": "field|BranchesHit|0|0|int|||h7071ae5f37dcb0ef19b28606d22fcaaeeff37d96ceb673dee1e8b81c1dd21303", "signature": "public int BranchesHit", "summary": "0 branches: not measured" }, { "name": "Functions", "kind": "field", "id": "field|Functions|0|0|int|||h3c5e176fc0b1d841c718c27c1c6ee284fa20c31afd0c68c06de7f1ec57e71b41", "signature": "public int Functions", "summary": "functions in the file" }, { "name": "FunctionsHit", "kind": "field", "id": "field|FunctionsHit|0|0|int|||h3eaad292bc305e419d0766b41114cb76df3544fa8fd5978eeb5629ed562a4f07", "signature": "public int FunctionsHit", "summary": "functions the tests called" }, { "name": "Lines", "kind": "field", "id": "field|Lines|0|0|int|||hee1996ff73a3bb29577188d155832b95024d32ca718f5404022abdd064faf7d7", "signature": "public int Lines", "summary": "lines that can be covered" }, { "name": "LinesHit", "kind": "field", "id": "field|LinesHit|0|0|int|||h313bb4660008239d0f40b3e18169ad54d23586b86c87095aa77eaf76404cc445", "signature": "public int LinesHit", "summary": "lines the tests ran" }, { "name": "Path", "kind": "field", "id": "field|Path|0|0|string?|||h38c25c9591c0c2e3c6198e606e0b33109c4c38f51d9f1d9bbf7ada51d909598f", "signature": "public string? Path", "summary": "\u0022src/core/layout.c\u0022" }] }, + { "name": "CuiSharp.CoverageOpts", "displayName": "CoverageOpts", "kind": "struct", "summary": "Test coverage by folder and file: the files\u0027 paths make the tree, each folder sums up what it holds, and folders fold. Line coverage shows as a bar colored by thresholds, with branches and functions beside it. Click a column\u0027s title to sort. Enter or a double-click activates a file. Narrow panels show lines only. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "percent; default 50 and 80" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "percent; default 50 and 80" }, { "name": "High", "kind": "field", "id": "field|High|0|0|float|||h8d86ceb8300b405923f523b6dfd491fceedb9688753dea5f6c0ed797466bffb1", "signature": "public float High", "summary": "percent; default 50 and 80" }, { "name": "Low", "kind": "field", "id": "field|Low|0|0|float|||h5bec759be4f0ae85b0ce5535aeb5d662da36d7c794ada46efc1c76f1e46fbd11", "signature": "public float Low", "summary": "percent; default 50 and 80" }] }, + { "name": "CuiSharp.CoverageResult", "displayName": "CoverageResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Activated;float Lines = default||h88da104828a28b86b9fec371bc715be464eef60466c69c4ac1d557fb947e2bd2", "signature": "CoverageResult(int Activated, float Lines = default)", "parameters": [{ "name": "Activated", "type": "int" }, { "name": "Lines", "type": "float", "default": "default" }] }, { "name": "Lines", "kind": "field", "id": "field|Lines|0|0|float|||h7ffa52c3fc8534cb001f45d21db0b1e58ef0821f4b768205d94dfde2e83269d5", "signature": "public float Lines", "summary": "percent of all lines covered" }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "file opened this frame (Enter or a double-click), or -1" }] }, + { "name": "CuiSharp.CropperOpts", "displayName": "CropperOpts", "kind": "struct", "summary": "Cropper: a crop rectangle over a picture, in image pixels. Drag inside to move it, drag a corner or an edge to resize it; the outside dims and thirds lines show while you drag. With it focused, the arrows move the crop (Shift for 10 pixels). A zeroed crop starts as the largest centered rectangle of the aspect. All fields are optional; zero selects the native default.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default the width it gets and 360" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default the width it gets and 360" }, { "name": "Round", "kind": "field", "id": "field|Round|0|0|bool|||h2247de0cb34a1cb7366fbff40bf14d0e5f3e5d0075c0ba267ebb0ba013999829", "signature": "public bool Round", "summary": "a round mask, for avatars (keeps a 1:1 aspect)" }, { "name": "Aspect", "kind": "field", "id": "field|Aspect|0|0|float|||h5a5a7490732f77b38ee208c886571caa7d8986b77932e6d27775bfe1970fb584", "signature": "public float Aspect", "summary": "width / height to keep, 0 for free" }, { "name": "MinSize", "kind": "field", "id": "field|MinSize|0|0|float|||h1099d1058b339206047e2995d1f051ab14f9f598203af7d8b0e01d0afc83ece3", "signature": "public float MinSize", "summary": "smallest side, image pixels; default 16" }] }, { "name": "CuiSharp.CuiApp", "displayName": "CuiApp", "kind": "class", "summary": "A native window, its message loop and a renderer, owned by CUI. Run does not run a loop of its own: it registers the draw callback with CUI and lets the native loop call it. That is what keeps the frame alive while the user drags a window edge \u2014 the OS runs a modal loop of its own there, so a managed while loop would stop painting mid-drag and the layout would go stale. See docs/ARCHITECTURE.md, \u0022Frame model\u0022.", "members": [{ "name": "Window", "kind": "property", "id": "property|Window|0|0|CuiWindow||get;|h30234236b9766cf473f95843df3e0b68850602aaa1331cda3e58cd6d41ae7c9f", "signature": "CuiWindow Window { get; }", "summary": "The same window, for code that takes one: branding, logging, OS queries." }, { "name": "Ui", "kind": "property", "id": "property|Ui|0|0|Ui||get;|h685fe5f6ba61ec184564140fd78ce0946ad40a4430d21b964ad24699b7e36a93", "signature": "Ui Ui { get; }", "summary": "A fresh stack-only drawing context for this window\u0027s current frame." }, { "name": "Frame", "kind": "method", "id": "method|Frame|0|0|bool|||hd2350cbedf0fa94ca88ae82211435f00739775c3f1842e63f1955ac8d86e4b35", "signature": "bool Frame()", "summary": "Presents the previous frame, waits for input or an animation, then begins a new one. Returns false once the window is closed." }, { "name": "IsMaximized", "kind": "property", "id": "property|IsMaximized|0|0|bool||get;|hfc25b64604e9ea0e3c723dbda0dbba4b18badeaba57aa00663e20ad1607f48ed", "signature": "bool IsMaximized { get; }", "summary": "True when this window is maximized." }, { "name": "IsSoftwareRenderer", "kind": "property", "id": "property|IsSoftwareRenderer|0|0|bool||get;|h3f27446eacdf04d1fecebceee1cefae62e919fd65275bec82b6fe24474df4568", "signature": "bool IsSoftwareRenderer { get; }", "summary": "True when the OpenGL context could not be created and CUI fell back to its software rasterizer." }, { "name": "Screenshot", "kind": "method", "id": "method|Screenshot|0|0|bool|byte[] rgba;int width;int height||h32c92697cf1a2a7266dac82b2c2cbea772c64fac0524d04dfdd03db1124294f0", "signature": "bool Screenshot(byte[] rgba, int width, int height)", "parameters": [{ "name": "rgba", "type": "byte[]" }, { "name": "width", "type": "int" }, { "name": "height", "type": "int" }], "summary": "Renders the current UI into an RGBA buffer. Handy for tests and screenshots." }, { "name": "NativeWindow", "kind": "property", "id": "property|NativeWindow|0|0|nint||get;|ha25309f909158c2015eb52345e6663cba17bb84816dcc0f42e5d0bc51c47a5b2", "signature": "nint NativeWindow { get; }", "summary": "The OS window: HWND on Windows, NSWindow* on macOS, X11 Window on Linux." }, { "name": "Create", "kind": "method", "id": "method|Create|1|0|CuiApp?|CuiAppOptions options||h47bc6dc638f13abf75db2728a013b0d6322fbc723cadb7cc47fcf35a1b2dd7e6", "signature": "static CuiApp? Create(CuiAppOptions options)", "parameters": [{ "name": "options", "type": "CuiAppOptions" }], "summary": "Creates the window. Returns null when the platform backend fails." }, { "name": "Run", "kind": "method", "id": "method|Run|1|0|int|CuiAppOptions options;DrawFn draw||hde074914b64b4a7f5c888bcc4a2fa6b9978ece1b7ee0fd5e684eebd62b88ec8b", "signature": "static int Run(CuiAppOptions options, DrawFn draw)", "parameters": [{ "name": "options", "type": "CuiAppOptions" }, { "name": "draw", "type": "DrawFn" }], "summary": "Creates a window and calls draw once per frame until the window closes. This is the whole host: no XAML, no dispatcher." }, { "name": "Backend", "kind": "property", "id": "property|Backend|0|0|string||get;|h71c8721a8cabf6ac9b6a38bb4aab8d0ede6c619052f697732584e574de3f6619", "signature": "string Backend { get; }", "summary": "The active backend: \u0022win32\u0022, \u0022cocoa\u0022, \u0022x11\u0022, \u0022sdl2\u0022 or \u0022glfw\u0022." }, { "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()" }, { "name": "Minimize", "kind": "method", "id": "method|Minimize|0|0|void|||h2860f633e87f0e7e97be2e82dd4b4b77230f13533c648a1be17c41020ae3d35b", "signature": "void Minimize()", "summary": "Minimizes this window." }, { "name": "Quit", "kind": "method", "id": "method|Quit|0|0|void|||h43270dda39df05fe7b0d4d45612873989592f1ccd4994286cad598aff83df2aa", "signature": "void Quit()", "summary": "Asks the loop to stop after the current frame." }, { "name": "RequestClose", "kind": "method", "id": "method|RequestClose|0|0|void|||hb8e5c8757281b7813c0ddf13bc355f759625e935e912784f82ffc434fb19a7d0", "signature": "void RequestClose()", "summary": "Closes this window, exactly as its own close button would." }, { "name": "SetAccent", "kind": "method", "id": "method|SetAccent|0|0|void|Accent accent||hab9da51d01cc626e42924bf5eb47253639c5bb688c42d447eed3e2bb8cb429b7", "signature": "void SetAccent(Accent accent)", "parameters": [{ "name": "accent", "type": "Accent" }], "summary": "Applies an accent now, or on the next frame if the window is not up yet." }, { "name": "SetTheme", "kind": "method", "id": "method|SetTheme|0|0|void|Theme theme||hdb1c01024b5fc0e6b77231b41e696500bb588bfde8080a16ba88452dac461341", "signature": "void SetTheme(Theme theme)", "parameters": [{ "name": "theme", "type": "Theme" }], "summary": "Applies a theme now, or on the next frame if the window is not up yet." }, { "name": "ToggleMaximize", "kind": "method", "id": "method|ToggleMaximize|0|0|void|||h7281054f8f114f52232a500cf106c448776f57d00b9485febb705097f13dec5c", "signature": "void ToggleMaximize()", "summary": "Maximizes this window, or restores it when it is already maximized." }] }, { "name": "CuiSharp.CuiAppOptions", "displayName": "CuiAppOptions", "kind": "class", "summary": "Everything CuiApp needs to create a window. All optional.", "members": [{ "name": "Accent", "kind": "property", "id": "property|Accent|0|0|Accent||get;set;|h601d9cfd9625a035242c1bcbf7277be4924bde18cceaaaa599fef54890ea0c9b", "signature": "Accent Accent { get; set; }", "summary": "Initial accent color." }, { "name": "WindowCreated", "kind": "property", "id": "property|WindowCreated|0|0|Action\u003CCuiWindow\u003E?||get;set;|hd97fe9c9f1235fd79b21c918d15f41213dde9a8ef7ac4022420008cb12c230af", "signature": "Action\u003CCuiWindow\u003E? WindowCreated { get; set; }", "summary": "Called once the window exists and before the first frame is drawn \u2014 the first moment there is a handle to brand, log or query. OnInitialized is earlier than this on purpose: it runs before there is a window, so anything that needs one belongs here." }, { "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||||h052338a3e42584e812cd5ade8d171240c2895e01b48ef404f5d41de8ed8a32c5", "signature": "CuiAppOptions()" }, { "name": "FileDialog", "kind": "property", "id": "property|FileDialog|0|0|IFileDialogProvider?||get;set;|hde52428aaf2aa6cff9d3fff69f2127e5ee0c64b9edb6d6d8bf27b268b54c5deb", "signature": "IFileDialogProvider? FileDialog { get; set; }", "summary": "What PickFile uses. Null asks the OS through CUI; a test supplies one so a picker flow runs with no display." }, { "name": "Renderer", "kind": "property", "id": "property|Renderer|0|0|Renderer||get;set;|h0f615c0e5b0af4a2b7c9934c403bbae0e54d46fe771b647c7749f48a921c8086", "signature": "Renderer Renderer { get; set; }", "summary": "OpenGL with a software fallback, or force one. Default Auto." }, { "name": "Theme", "kind": "property", "id": "property|Theme|0|0|Theme||get;set;|h898a02cacbcba9a905f94fba0740f328f89ab1e042e5fea5ff9d21a93e3e297d", "signature": "Theme Theme { get; set; }", "summary": "Initial theme." }, { "name": "Continuous", "kind": "property", "id": "property|Continuous|0|0|bool||get;set;|he6c5620a986c421d7d4bd7ff7ee4c1796d95707661214a1acfe1a009d3473483", "signature": "bool Continuous { get; set; }", "summary": "Draw every frame even when idle (games, video). Off by default: an idle app uses no CPU." }, { "name": "Equals", "kind": "method", "id": "method|Equals|0|0|bool|CuiAppOptions? other||h48d010e639d0a1df340d0abaf566f818724b7bdd6bc0cc3aca91e2dd0906ea6b", "signature": "bool Equals(CuiAppOptions? other)", "parameters": [{ "name": "other", "type": "CuiAppOptions?" }] }, { "name": "Equals", "kind": "method", "id": "method|Equals|0|0|bool|object? obj||hd3e92e37e2998ac34e36806ff7fcef181ad242dea4dc74cd082b2897104d07a6", "signature": "bool Equals(object? obj)", "parameters": [{ "name": "obj", "type": "object?" }] }, { "name": "FixedSize", "kind": "property", "id": "property|FixedSize|0|0|bool||get;set;|ha6b23ab95d1fde7263609d4caf6654afbdcab017618e1f8e261d306547d82c41", "signature": "bool FixedSize { get; set; }", "summary": "Not resizable." }, { "name": "FollowSystemTheme", "kind": "property", "id": "property|FollowSystemTheme|0|0|bool||get;set;|hb10ada4260f9d6ef673f3d93429bb4f2e293ac4ee0d134fda67099b5d4ef63ad", "signature": "bool FollowSystemTheme { get; set; }", "summary": "Use the OS light/dark setting where available." }, { "name": "Hidden", "kind": "property", "id": "property|Hidden|0|0|bool||get;set;|hdfde751b33801c3ad300b37b9b7b855c0618c927d1aaa34dded70c57e1176091", "signature": "bool Hidden { get; set; }", "summary": "Create the window hidden, for tests and screenshot runs." }, { "name": "LiveAttach", "kind": "property", "id": "property|LiveAttach|0|0|bool||get;set;|hb50db19bff424d76cbb7e20741dba8ba238352a23c4b6d2a6b63f152692b578e", "signature": "bool LiveAttach { get; set; }", "summary": "Let a tool on the same machine drive this window while a human watches it (LiveSession). Off by default and never automatic: an app is only driven when it says so here, or with CUISHARP_LIVE=1 / --live. Windows-only for now; asking for it elsewhere fails rather than silently doing nothing." }, { "name": "NoVsync", "kind": "property", "id": "property|NoVsync|0|0|bool||get;set;|h4bdbad4be8e7bf1a7a438a58268fc586d978e32a4b18a96357ec04b0b82ea237", "signature": "bool NoVsync { get; set; }", "summary": "Skip vsync." }, { "name": "GetHashCode", "kind": "method", "id": "method|GetHashCode|0|0|int|||hdfcf1984bbd53bb9079a9b702ff4724865de4dcf06bbed07c42edbc8e1085a8d", "signature": "int GetHashCode()" }, { "name": "Height", "kind": "property", "id": "property|Height|0|0|int||get;set;|hc7b93614a4ae8dd0ea39fa144f8777ad08a584d1f228dfd48ff13c50aadd20c6", "signature": "int Height { get; set; }", "summary": "Logical height in points. Default 720." }, { "name": "MinHeight", "kind": "property", "id": "property|MinHeight|0|0|int||get;set;|h1448407c9ebf6fa024da47950f5323ab1a0aa439306c5d9c75bc95179d546688", "signature": "int MinHeight { get; set; }", "summary": "Smallest the user can resize to. Default 360 x 280." }, { "name": "MinWidth", "kind": "property", "id": "property|MinWidth|0|0|int||get;set;|h8ece297c624a4a28500609df527eeb5587924f1cd96f776683f90be2f6a346ca", "signature": "int MinWidth { get; set; }", "summary": "Smallest the user can resize to. Default 360 x 280." }, { "name": "Width", "kind": "property", "id": "property|Width|0|0|int||get;set;|hfbff7e44ea4065be82fc63038674b5db073aeb7b1f403be45e0d50324c5363a2", "signature": "int Width { get; set; }", "summary": "Logical width in points. Default 1080." }, { "name": "!=", "kind": "operator", "id": "operator|op_Inequality|1|0|bool|CuiAppOptions? left;CuiAppOptions? right||h7c436fe756a67e79c4a97240925e849602fb4bc71a85d31398a5741f3437732a", "signature": "static bool operator !=(CuiAppOptions? left, CuiAppOptions? right)", "member": "op_Inequality", "parameters": [{ "name": "left", "type": "CuiAppOptions?" }, { "name": "right", "type": "CuiAppOptions?" }] }, { "name": "==", "kind": "operator", "id": "operator|op_Equality|1|0|bool|CuiAppOptions? left;CuiAppOptions? right||h5c33d0ca596aabf4dc3371c8cdacf711fe73f0d3d93b30bf96389af26a768e3e", "signature": "static bool operator ==(CuiAppOptions? left, CuiAppOptions? right)", "member": "op_Equality", "parameters": [{ "name": "left", "type": "CuiAppOptions?" }, { "name": "right", "type": "CuiAppOptions?" }] }, { "name": "Title", "kind": "property", "id": "property|Title|0|0|string||get;set;|hf262b48dcf29de55fc6a8387b0fde28b5cf9eb8c742679739af198676b83b528", "signature": "string Title { get; set; }", "summary": "Window title. Default \u0022CUI\u0022." }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()" }] }, { "name": "CuiSharp.CuiCron", "displayName": "CuiCron", "kind": "static class", "summary": "Cron schedules without a frame: when an expression runs next, using the same parser the schedule picker shows its next runs with. Five fields (minute, hour, day, month, weekday), with *, lists, ranges, steps and the month and weekday names.", "members": [{ "name": "TryNext", "kind": "method", "id": "method|TryNext|1|0|bool|string cron;DateTimeOffset after;out DateTimeOffset next;int utcOffsetMinutes = default||h45c9a2e0364603001de581bc113a9f93cd0f141398c41961947ee9675eb1e035", "signature": "static bool TryNext(string cron, DateTimeOffset after, out DateTimeOffset next, int utcOffsetMinutes = default)", "parameters": [{ "name": "cron", "type": "string" }, { "name": "after", "type": "DateTimeOffset" }, { "name": "next", "type": "out DateTimeOffset" }, { "name": "utcOffsetMinutes", "type": "int", "default": "default" }], "summary": "The first time after after that cron matches." }] }, @@ -74,85 +77,91 @@ { "name": "CuiSharp.CuiRegex", "displayName": "CuiRegex", "kind": "static class", "summary": "CUI\u0027s regular expression engine, usable without a frame: the same backtracking matcher the regex tester draws its highlights with. It supports the common syntax (classes, anchors, groups and the usual quantifiers) and no lookaround or backreferences.", "members": [{ "name": "TrySearch", "kind": "method", "id": "method|TrySearch|1|0|bool|string pattern;string text;out RegexMatch match;out string? error;int from = default;RegexFlags flags = RegexFlags.None||hb2d5b003461d8b1897c2d86a3e8e5b39c0447ee43b09f0319df8b21e6a26e012", "signature": "static bool TrySearch(string pattern, string text, out RegexMatch match, out string? error, int from = default, RegexFlags flags = RegexFlags.None)", "parameters": [{ "name": "pattern", "type": "string" }, { "name": "text", "type": "string" }, { "name": "match", "type": "out RegexMatch" }, { "name": "error", "type": "out string?" }, { "name": "from", "type": "int", "default": "default" }, { "name": "flags", "type": "RegexFlags", "default": "RegexFlags.None" }], "summary": "Finds the first match of pattern in text at or after from (a byte offset)." }, { "name": "Slice", "kind": "method", "id": "method|Slice|1|0|string|string text;RegexGroup group||h2b82ba310f5930d0a5935ef237fb39a338249e8785db65743e1a58e255ccb1ff", "signature": "static string Slice(string text, RegexGroup group)", "parameters": [{ "name": "text", "type": "string" }, { "name": "group", "type": "RegexGroup" }], "summary": "One group\u0027s text, which is what a caller marking the groups wants. Nothing is encoded again, so calling it per group over one match costs one substring each." }, { "name": "Slice", "kind": "method", "id": "method|Slice|1|0|string|string text;RegexMatch match||hc3106500ab56083da4c72cdbdb2c3eb7bd26ca73028fa3e6683c72062e654e6b", "signature": "static string Slice(string text, RegexMatch match)", "parameters": [{ "name": "text", "type": "string" }, { "name": "match", "type": "RegexMatch" }], "summary": "The whole match\u0027s text." }, { "name": "Slice", "kind": "method", "id": "method|Slice|1|0|string|string text;int start;int end||h607f1e88bd9a77d1ca487c76bc09d7749148df45f3d744269c4fce5fdf263bf6", "signature": "static string Slice(string text, int start, int end)", "parameters": [{ "name": "text", "type": "string" }, { "name": "start", "type": "int" }, { "name": "end", "type": "int" }], "summary": "The text between two UTF-8 byte offsets. The engine reports bytes, so a caller holding bytes uses them directly; a caller holding a string gets the characters they cover." }] }, { "name": "CuiSharp.CuiSharpNativeException", "displayName": "CuiSharpNativeException", "kind": "class", "summary": "The native library that draws could not be loaded, or does not match the managed one. The loader\u0027s own message has no context \u2014 a real app reported version \u0060GLIBC_2.43\u0027 not found, raised at the first frame, inside a test \u2014 so this type names what was shipped, what it promises, and what to do about it.", "members": [] }, { "name": "CuiSharp.CuiSurface", "displayName": "CuiSurface", "kind": "class", "summary": "A CUI context with no window, rendered by the built-in software rasterizer or handed to a GPU renderer as draw data (CreateGpu). This is the piece that makes UI code testable: the same CuiApp draw callback can run here, produce real pixels, and be asserted on in a unit test or a benchmark \u2014 no display, no GPU, no message loop. Frames are driven explicitly, which also makes it a stable way to measure build, layout and rasterization cost separately.", "members": [{ "name": "LastFrame", "kind": "property", "id": "property|LastFrame|0|0|FrameSample||get;|h5d220482c835fbe61d8c95e7613db0b9375f74f7460b6b5cd5596bdcfce3dae7", "signature": "FrameSample LastFrame { get; }", "summary": "What the last frame this surface drew cost: the same numbers as FrameStats, but owned by this surface, so a test that draws more than one \u2014 or a run with tests in parallel \u2014 reads the frame it drew rather than whichever frame finished last." }, { "name": "Faults", "kind": "property", "id": "property|Faults|0|0|IReadOnlyList\u003CException\u003E||get;|h4f10b41d7a3334d039192ccfb2968378893ebf27bc3e3666101eff230e00ebfb", "signature": "IReadOnlyList\u003CException\u003E Faults { get; }", "summary": "Exceptions a component threw while this surface drew. A component\u0027s error boundary keeps the frame going, which would otherwise make a broken page look like a passing render test; assert Assert.Empty(surface.Faults)." }, { "name": "SemanticFrame", "kind": "property", "id": "property|SemanticFrame|0|0|IReadOnlyList\u003CSemanticWidget\u003E||get;|h8f412fb194f3fab1ae344da5e6581baeb53f0b112d0db04f3574312c3606e25f", "signature": "IReadOnlyList\u003CSemanticWidget\u003E SemanticFrame { get; }", "summary": "Everything the last frame recorded, containers included and in drawing order: each entry\u0027s Depth is the nesting a tree can be rebuilt from." }, { "name": "Widgets", "kind": "property", "id": "property|Widgets|0|0|IReadOnlyList\u003CSemanticWidget\u003E||get;|hf361de9bebc687bd20b11a46c2e43f178f39634686b9f3b9e71cfcf153154f67", "signature": "IReadOnlyList\u003CSemanticWidget\u003E Widgets { get; }", "summary": "The controls the last completed frame drew, in drawing order." }, { "name": "LastDamage", "kind": "property", "id": "property|LastDamage|0|0|RectF?||get;|h886de16f648660ebaf8c90a11f1b17c7239d2ac8329f66ff56f8a41df7009b26", "signature": "RectF? LastDamage { get; }", "summary": "The rectangle the last render touched, or null when nothing was drawn." }, { "name": "Kind", "kind": "property", "id": "property|Kind|0|0|RendererKind||get;|hd242dfb74c058966b9133414069aaebf1cab2e2a791318e709d6bd747091b17f", "signature": "RendererKind Kind { get; }", "summary": "Which rasterizer this surface uses." }, { "name": "Ui", "kind": "property", "id": "property|Ui|0|0|Ui||get;|h685fe5f6ba61ec184564140fd78ce0946ad40a4430d21b964ad24699b7e36a93", "signature": "Ui Ui { get; }", "summary": "A fresh stack-only drawing context for the current frame." }, { "name": "FileDragActive", "kind": "property", "id": "property|FileDragActive|0|0|bool||get;|hc2e815e1a71bc6a75b5e19ff96d7c1ef201253bc7b4d7f60949c96df158538ac", "signature": "bool FileDragActive { get; }", "summary": "True while files are being dragged over the surface." }, { "name": "Incremental", "kind": "property", "id": "property|Incremental|0|0|bool||get;set;|hacb9ec72a98978bf472e802f469a46afecf64c7a317e69d960279507dbe0b8e5", "signature": "bool Incremental { get; set; }", "summary": "Renders only the part of the frame that changed since the last one." }, { "name": "LastFrameReady", "kind": "property", "id": "property|LastFrameReady|0|0|bool||get;|h3d304f4e1e9e1dd6ef3dfa5ea31e40bfcfb0af6b8c409d977112a2fe2165e791", "signature": "bool LastFrameReady { get; }", "summary": "Whether the latest completed frame declared its app data complete with MarkReady." }, { "name": "RecordWidgets", "kind": "property", "id": "property|RecordWidgets|0|0|bool||get;set;|h12ff7eba27f200a3b7c19203bce586ffee8d30f4d92e098b9ce3c98c5db904b5", "signature": "bool RecordWidgets { get; set; }", "summary": "Records every widget this surface draws, so a test can find one by its label." }, { "name": "Scale", "kind": "property", "id": "property|Scale|0|0|float||get;|h883e3357763ccf7007445c3d9be5685c0c7f1c33b640549c04f3194acd9d1d98", "signature": "float Scale { get; }", "summary": "Device pixels per point." }, { "name": "CommandCount", "kind": "property", "id": "property|CommandCount|0|0|int||get;|h7015d40e472d6bd097f66cebf670d3d6ab94440536251a89021f1b2b123d8fe2", "signature": "int CommandCount { get; }", "summary": "How many draw commands the last frame produced. Useful in assertions." }, { "name": "DroppedFileCount", "kind": "property", "id": "property|DroppedFileCount|0|0|int||get;|h5421210a1933793fbee263cb811628208321526d954709ce2c6f023389dc8e5d", "signature": "int DroppedFileCount { get; }", "summary": "Number of files the surface is tracking as dropped." }, { "name": "Height", "kind": "property", "id": "property|Height|0|0|int||get;|h6bb9d208a8c2d3f5c816b385df95628119cf129ab8d5cdd4b5e576b46037865c", "signature": "int Height { get; }", "summary": "Logical height in points." }, { "name": "PixelHeight", "kind": "property", "id": "property|PixelHeight|0|0|int||get;|h2bd224b0d7ef52ea2bc164604c2a48e2f715ab1a30078212b10a61040f105b5d", "signature": "int PixelHeight { get; }", "summary": "Framebuffer height in pixels." }, { "name": "PixelWidth", "kind": "property", "id": "property|PixelWidth|0|0|int||get;|h039e47804e7011558cf1a9c30c80148d2f7d83cc220bbc9ac831b2fa520315fe", "signature": "int PixelWidth { get; }", "summary": "Framebuffer width in pixels." }, { "name": "Width", "kind": "property", "id": "property|Width|0|0|int||get;|ha0864f5f4fda3365ae1a32446710954c2726b6bf0ae6f93e7b91c06c3464059b", "signature": "int Width { get; }", "summary": "Logical width in points." }, { "name": "GetDrawData", "kind": "method", "id": "method|GetDrawData|0|0|nint|||hf853755a9d099942cda373fc4b1f481b0efc5730bc6fe3feac273458b3769aa3", "signature": "nint GetDrawData()", "summary": "The draw data the last frame produced, for a GPU renderer." }, { "name": "Create", "kind": "method", "id": "method|Create|1|0|CuiSurface|int width;int height;float scale = 1f;int threads = 1;Theme theme = Theme.Light;Accent accent = Accent.Neutral||hc293129e10d7ddd50cc2c9ce993e45a91ec4818fb8e3d8b6ae3d2b77d5af2e28", "signature": "static CuiSurface Create(int width, int height, float scale = 1f, int threads = 1, Theme theme = Theme.Light, Accent accent = Accent.Neutral)", "parameters": [{ "name": "width", "type": "int" }, { "name": "height", "type": "int" }, { "name": "scale", "type": "float", "default": "1f" }, { "name": "threads", "type": "int", "default": "1" }, { "name": "theme", "type": "Theme", "default": "Theme.Light" }, { "name": "accent", "type": "Accent", "default": "Accent.Neutral" }], "summary": "Creates a windowless context backed by the software rasterizer." }, { "name": "CreateGpu", "kind": "method", "id": "method|CreateGpu|1|0|CuiSurface|int width;int height;in NativeRendererIface textures;float scale = 1f;Theme theme = Theme.Light;Accent accent = Accent.Neutral||h5e8778cc05fc81403bd9f6ffa144e82b703733e8f56f6b9743242f6e5b9daba6", "signature": "static CuiSurface CreateGpu(int width, int height, in NativeRendererIface textures, float scale = 1f, Theme theme = Theme.Light, Accent accent = Accent.Neutral)", "parameters": [{ "name": "width", "type": "int" }, { "name": "height", "type": "int" }, { "name": "textures", "type": "in NativeRendererIface" }, { "name": "scale", "type": "float", "default": "1f" }, { "name": "theme", "type": "Theme", "default": "Theme.Light" }, { "name": "accent", "type": "Accent", "default": "Accent.Neutral" }], "summary": "Creates a windowless context for a GPU renderer (WebGL2 in the browser)." }, { "name": "DroppedFile", "kind": "method", "id": "method|DroppedFile|0|0|string?|int index||hadc15393659f2bdf4574fe25868fce27bf8d063345e13c4c1b9285ed95d06a8e", "signature": "string? DroppedFile(int index)", "parameters": [{ "name": "index", "type": "int" }], "summary": "The path of a dropped file, or null when the index is out of range." }, { "name": "BeginFrame", "kind": "method", "id": "method|BeginFrame|0|0|void|float deltaSeconds = 0.016666668f||h08dcc7bc90dc1fbdc778c187534cdd6398e8ddf6390f6f1e80456526080c03af", "signature": "void BeginFrame(float deltaSeconds = 0.016666668f)", "parameters": [{ "name": "deltaSeconds", "type": "float", "default": "0.016666668f" }], "summary": "Starts a frame. Call EndFrame when the UI is built." }, { "name": "Click", "kind": "method", "id": "method|Click|0|0|void|MouseButton button = MouseButton.Left||h4d2f11669db57aa42eebc0eb7a4412070235903a0829a1bd133822b9b359c645", "signature": "void Click(MouseButton button = MouseButton.Left)", "parameters": [{ "name": "button", "type": "MouseButton", "default": "MouseButton.Left" }], "summary": "Presses and releases a button in one call, as a click through the frames that follow." }, { "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()" }, { "name": "Draw", "kind": "method", "id": "method|Draw|0|0|void|DrawFn draw;byte[] pixels;PixelFormat format = PixelFormat.Bgra||hd3406c88dd83c4d2c78435b959e74a3c6bdfdfbfaeb3b4a9155b371284ec9c58", "signature": "void Draw(DrawFn draw, byte[] pixels, PixelFormat format = PixelFormat.Bgra)", "parameters": [{ "name": "draw", "type": "DrawFn" }, { "name": "pixels", "type": "byte[]" }, { "name": "format", "type": "PixelFormat", "default": "PixelFormat.Bgra" }], "summary": "Convenience: build one frame with draw, end it and rasterize." }, { "name": "EndFrame", "kind": "method", "id": "method|EndFrame|0|0|void|||h11cffed674475ec67c9e1db52e8a9a166b9de0e3a7b8cd5de25bcef9c33eb0e5", "signature": "void EndFrame()", "summary": "Ends the frame, finalising layout and the draw list." }, { "name": "FileDrop", "kind": "method", "id": "method|FileDrop|0|0|void|ReadOnlySpan\u003Cstring\u003E paths;float x;float y||h8e6fa8c5438b8df376665746710240d45da51c3bfdf763a06c087deb7ccd4e8a", "signature": "void FileDrop(ReadOnlySpan\u003Cstring\u003E paths, float x, float y)", "parameters": [{ "name": "paths", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "x", "type": "float" }, { "name": "y", "type": "float" }], "summary": "Reports files dropped onto the surface at a position, in points." }, { "name": "FileHover", "kind": "method", "id": "method|FileHover|0|0|void|float x;float y||had6fb9fbe10cf6a7bcfe4b6ba2eb7aa741b5fed9e6167067f1a58d410338b3e1", "signature": "void FileHover(float x, float y)", "parameters": [{ "name": "x", "type": "float" }, { "name": "y", "type": "float" }], "summary": "Reports files dragged over the surface at a position, in points." }, { "name": "FileHoverEnd", "kind": "method", "id": "method|FileHoverEnd|0|0|void|||hf19c54630ff34fbe37cd70dd4eb1b999645a28f9577a369ac8c2d6035fca906d", "signature": "void FileHoverEnd()", "summary": "Reports that the drag left the surface." }, { "name": "Focus", "kind": "method", "id": "method|Focus|0|0|void|bool focused||ha34742eaa087dc3d112e143ded154bc310bcf0d4066b4ee49224925f287925dd", "signature": "void Focus(bool focused)", "parameters": [{ "name": "focused", "type": "bool" }], "summary": "Reports the window gaining or losing focus." }, { "name": "KeyDown", "kind": "method", "id": "method|KeyDown|0|0|void|Key key;Mods mods = (Mods)0||h9ed561245b24462be02e967c4af12b68cd5bfd3e9b3b5bdc127fd3ff8735ede0", "signature": "void KeyDown(Key key, Mods mods = (Mods)0)", "parameters": [{ "name": "key", "type": "Key" }, { "name": "mods", "type": "Mods", "default": "(Mods)0" }], "summary": "Presses a key, with the modifiers held at the same time." }, { "name": "KeyUp", "kind": "method", "id": "method|KeyUp|0|0|void|Key key;Mods mods = (Mods)0||h5f2f6b3f7a90feb6417e82e4faac750354301a486f0d7b94aedb59b6b10832e9", "signature": "void KeyUp(Key key, Mods mods = (Mods)0)", "parameters": [{ "name": "key", "type": "Key" }, { "name": "mods", "type": "Mods", "default": "(Mods)0" }], "summary": "Releases a key." }, { "name": "MouseDown", "kind": "method", "id": "method|MouseDown|0|0|void|MouseButton button = MouseButton.Left||hf7dc7f2f467e7a8890d3740e4dc73e761739a8203b3a6251f1a5834742b52913", "signature": "void MouseDown(MouseButton button = MouseButton.Left)", "parameters": [{ "name": "button", "type": "MouseButton", "default": "MouseButton.Left" }], "summary": "Presses a mouse button." }, { "name": "MouseLeave", "kind": "method", "id": "method|MouseLeave|0|0|void|||hb35bfc658e6ced59b07d192c7504782278306f4eddf257bf8675e58dc0821cd6", "signature": "void MouseLeave()", "summary": "The pointer left the window: hover state clears and no tooltip stays behind. This is what a screenshot wants, so the picture is the UI and not the mouse." }, { "name": "MouseMove", "kind": "method", "id": "method|MouseMove|0|0|void|float x;float y||h320f681d2766c5f9d42ab60fef452e41fb1d284a5964a4e65d43eac98f64ca07", "signature": "void MouseMove(float x, float y)", "parameters": [{ "name": "x", "type": "float" }, { "name": "y", "type": "float" }], "summary": "Moves the pointer, in points." }, { "name": "MouseUp", "kind": "method", "id": "method|MouseUp|0|0|void|MouseButton button = MouseButton.Left||h1dcbe29fd920bc03d7ec9c110aa2d027f329130e75a900307c3c5b385d99747a", "signature": "void MouseUp(MouseButton button = MouseButton.Left)", "parameters": [{ "name": "button", "type": "MouseButton", "default": "MouseButton.Left" }], "summary": "Releases a mouse button." }, { "name": "Render", "kind": "method", "id": "method|Render|0|0|void|byte[] pixels;PixelFormat format = PixelFormat.Bgra||h778b6c9b38e5bca115053abf3f2f16bdc2d9384aece41aa3e433b2d7b34de987", "signature": "void Render(byte[] pixels, PixelFormat format = PixelFormat.Bgra)", "parameters": [{ "name": "pixels", "type": "byte[]" }, { "name": "format", "type": "PixelFormat", "default": "PixelFormat.Bgra" }], "summary": "Rasterizes the last completed frame into pixels. The buffer must hold at least PixelWidth * PixelHeight * 4 bytes." }, { "name": "Resize", "kind": "method", "id": "method|Resize|0|0|void|int width;int height;float? scale = default||h13f0e92f027e4ff6e848843ffa015b7bd69d4175b6ae2f6da1fd43ed595e4f57", "signature": "void Resize(int width, int height, float? scale = default)", "parameters": [{ "name": "width", "type": "int" }, { "name": "height", "type": "int" }, { "name": "scale", "type": "float?", "default": "default" }], "summary": "Resizes the logical viewport." }, { "name": "Scroll", "kind": "method", "id": "method|Scroll|0|0|void|float dy;float dx = default||hab95d953d9270d2ab04de27d9a826699c8daf68a3a13e5d8fedeee40f363cd93", "signature": "void Scroll(float dy, float dx = default)", "parameters": [{ "name": "dy", "type": "float" }, { "name": "dx", "type": "float", "default": "default" }], "summary": "Scrolls at the pointer\u0027s position. The distance is in wheel notches, and a positive dy scrolls up, towards the start, exactly as a real wheel does." }, { "name": "Type", "kind": "method", "id": "method|Type|0|0|void|UiText text||h460d8a1f013378ef18c04a0824d73403c4c15b1fffc12a2b2d599ca01f3be8f6", "signature": "void Type(UiText text)", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "Types UTF-8 text, as the keyboard layout would deliver it." }] }, - { "name": "CuiSharp.CuiTaskStatus", "displayName": "CuiTaskStatus", "kind": "enum", "summary": "cui_task_status", "members": [{ "name": "Done", "kind": "enum value", "id": "enum value|Done|1|0|||2|h0d09b1ff6e353c36e5dd900182fe0c3ee544588418c008f9ec0398c0c6a3c5af", "signature": "Done = 2", "value": "2" }, { "name": "Failed", "kind": "enum value", "id": "enum value|Failed|1|0|||3|ha388847ac08b3e9c6aa93135681165d44342146d113eb7d424d79c6566af73e3", "signature": "Failed = 3", "value": "3" }, { "name": "Pending", "kind": "enum value", "id": "enum value|Pending|1|0|||0|hec96e2e3e744271639d8f4254e04687bf499d49642bb25da3eda1e9c5271971c", "signature": "Pending = 0", "value": "0" }, { "name": "Running", "kind": "enum value", "id": "enum value|Running|1|0|||1|h5fc8ea303ee3335e9b6c77adb13ed145130ac296d646919227c7232708248684", "signature": "Running = 1", "value": "1" }, { "name": "Skipped", "kind": "enum value", "id": "enum value|Skipped|1|0|||4|hc86a6a4cf9d7fbe0d4b4f660230c7effb152c9749550c01b40366787bc1640b4", "signature": "Skipped = 4", "value": "4" }] }, + { "name": "CuiSharp.CuiTaskStatus", "displayName": "CuiTaskStatus", "kind": "enum", "summary": "Tool call: a compact row with the tool, a detail and its status; opens to show the input and the output (shown as JSON when they parse).", "members": [{ "name": "Done", "kind": "enum value", "id": "enum value|Done|1|0|||2|h0d09b1ff6e353c36e5dd900182fe0c3ee544588418c008f9ec0398c0c6a3c5af", "signature": "Done = 2", "value": "2" }, { "name": "Failed", "kind": "enum value", "id": "enum value|Failed|1|0|||3|ha388847ac08b3e9c6aa93135681165d44342146d113eb7d424d79c6566af73e3", "signature": "Failed = 3", "value": "3" }, { "name": "Pending", "kind": "enum value", "id": "enum value|Pending|1|0|||0|hec96e2e3e744271639d8f4254e04687bf499d49642bb25da3eda1e9c5271971c", "signature": "Pending = 0", "value": "0" }, { "name": "Running", "kind": "enum value", "id": "enum value|Running|1|0|||1|h5fc8ea303ee3335e9b6c77adb13ed145130ac296d646919227c7232708248684", "signature": "Running = 1", "value": "1" }, { "name": "Skipped", "kind": "enum value", "id": "enum value|Skipped|1|0|||4|hc86a6a4cf9d7fbe0d4b4f660230c7effb152c9749550c01b40366787bc1640b4", "signature": "Skipped = 4", "value": "4" }] }, { "name": "CuiSharp.CuiTree", "displayName": "CuiTree", "kind": "static class", "summary": "Sorts a tree model the way the tree table expects: every sibling list, relinked.", "members": [{ "name": "Sort", "kind": "method", "id": "method|Sort|1|0|int|TreeNode[] nodes;int root;Comparison\u003Cint\u003E compare;string key = \u0022tree-sort\u0022||h55f0abe563ef752ff38a7832d697465670f98a7cd688f1af5cec9b962807946b", "signature": "static int Sort(TreeNode[] nodes, int root, Comparison\u003Cint\u003E compare, string key = \u0022tree-sort\u0022)", "parameters": [{ "name": "nodes", "type": "TreeNode[]" }, { "name": "root", "type": "int" }, { "name": "compare", "type": "Comparison\u003Cint\u003E" }, { "name": "key", "type": "string", "default": "\u0022tree-sort\u0022" }], "summary": "Sorts each sibling list of nodes with compare, relinking the indices, and returns the new first top level node." }] }, { "name": "CuiSharp.CuiWindow", "displayName": "CuiWindow", "kind": "class", "summary": "The OS window behind a running app: the handle to brand, log and query, without a P/Invoke of your own. WindowCreated hands one of these over after CUI has created the window and before the first frame draws, which is the first moment a window has a handle at all \u2014 far too late for OnInitialized, which runs before the window exists. Windows-only members report 0/false elsewhere: the app loop keeps its cui_app* to itself, and Windows is the one platform where the window can be asked for it back (its user data is that pointer).", "members": [{ "name": "PickFile", "kind": "method", "id": "method|PickFile|0|0|FilePickResult|FileDialogOpts options||h2f928bfe207b9eda497652e9a996483cfeda718eca492357c6eca5cebda1b45d", "signature": "FilePickResult PickFile(FileDialogOpts options)", "parameters": [{ "name": "options", "type": "FileDialogOpts" }], "summary": "Shows the OS\u0027s file, folder or save dialog and reports what the user did. Modal and blocking, so call it from a click, not from work that has to keep drawing." }, { "name": "FileDialog", "kind": "property", "id": "property|FileDialog|0|0|IFileDialogProvider?||get;set;|hde52428aaf2aa6cff9d3fff69f2127e5ee0c64b9edb6d6d8bf27b268b54c5deb", "signature": "IFileDialogProvider? FileDialog { get; set; }", "summary": "What PickFile uses. Null means the OS\u0027s own dialog through CUI; a test sets a provider here (or on FileDialog) and the picker flow runs with no display and no dialog in the way." }, { "name": "PixelSize", "kind": "property", "id": "property|PixelSize|0|0|ValueTuple\u003Cint, int\u003E||get;|h1049152ea53b5dff6fd469d3f658f0b563323b3eec4d42c550fc77f96c46bd59", "signature": "ValueTuple\u003Cint, int\u003E PixelSize { get; }", "summary": "The client area in physical pixels." }, { "name": "IsMaximized", "kind": "property", "id": "property|IsMaximized|0|0|bool||get;|hfc25b64604e9ea0e3c723dbda0dbba4b18badeaba57aa00663e20ad1607f48ed", "signature": "bool IsMaximized { get; }", "summary": "True when the window is maximized." }, { "name": "IsSoftwareRenderer", "kind": "property", "id": "property|IsSoftwareRenderer|0|0|bool||get;|h3f27446eacdf04d1fecebceee1cefae62e919fd65275bec82b6fe24474df4568", "signature": "bool IsSoftwareRenderer { get; }", "summary": "True when OpenGL was unavailable and CUI draws with its software rasterizer. Worth logging on a station or a remote session: it explains a frame rate nobody can reproduce." }, { "name": "NativeWindow", "kind": "property", "id": "property|NativeWindow|0|0|nint||get;|ha25309f909158c2015eb52345e6663cba17bb84816dcc0f42e5d0bc51c47a5b2", "signature": "nint NativeWindow { get; }", "summary": "The HWND on Windows, the X11 window id on Linux, and NSWindow * on macOS \u2014 whatever this platform\u0027s own APIs expect. 0 until the window exists." }, { "name": "OpenUrl", "kind": "method", "id": "method|OpenUrl|1|0|bool|string url||h36d4863040754a133b65165de645036cae9628789e921f86c4e96dcabe98a403", "signature": "static bool OpenUrl(string url)", "parameters": [{ "name": "url", "type": "string" }], "summary": "Opens an https: URL in the user\u0027s browser. False when the OS refused it." }, { "name": "Backend", "kind": "property", "id": "property|Backend|0|0|string||get;|h71c8721a8cabf6ac9b6a38bb4aab8d0ede6c619052f697732584e574de3f6619", "signature": "string Backend { get; }", "summary": "The backend that created the window: win32, x11, cocoa, \u2026" }, { "name": "Minimize", "kind": "method", "id": "method|Minimize|0|0|void|||h2860f633e87f0e7e97be2e82dd4b4b77230f13533c648a1be17c41020ae3d35b", "signature": "void Minimize()", "summary": "Minimizes the window." }, { "name": "RequestClose", "kind": "method", "id": "method|RequestClose|0|0|void|||hb8e5c8757281b7813c0ddf13bc355f759625e935e912784f82ffc434fb19a7d0", "signature": "void RequestClose()", "summary": "Closes the window, exactly as its own close button would." }, { "name": "SetTitle", "kind": "method", "id": "method|SetTitle|0|0|void|string title||he58ba132a5185e4a1d7f928750cc61d9fefcbceadcab750d0574f406cb35bd2a", "signature": "void SetTitle(string title)", "parameters": [{ "name": "title", "type": "string" }], "summary": "Retitles the window. Safe to call from a frame." }, { "name": "ToggleMaximize", "kind": "method", "id": "method|ToggleMaximize|0|0|void|||h7281054f8f114f52232a500cf106c448776f57d00b9485febb705097f13dec5c", "signature": "void ToggleMaximize()", "summary": "Maximizes the window, or restores it when it is already maximized." }] }, { "name": "CuiSharp.Cursor", "displayName": "Cursor", "kind": "enum", "summary": "cui_cursor", "members": [{ "name": "Arrow", "kind": "enum value", "id": "enum value|Arrow|1|0|||0|he628f805f4872ef32e752258104a4425fd452bfd6fe7649beec3fb542be1f6bd", "signature": "Arrow = 0", "value": "0" }, { "name": "Count", "kind": "enum value", "id": "enum value|Count|1|0|||7|h7859c8f1bb1bec2e5c97d316b1a626da70b0c405f9e5fbdf6bec58ec4312c728", "signature": "Count = 7", "value": "7" }, { "name": "Hand", "kind": "enum value", "id": "enum value|Hand|1|0|||1|h4c24050af635eb68434fcb535f5ac3da1e32ae7bce35f81ccd1203c716bfe02c", "signature": "Hand = 1", "value": "1" }, { "name": "Move", "kind": "enum value", "id": "enum value|Move|1|0|||5|h69b70a83fde72e4f437d33f2248d2c931e8530d9f4707308deca0a66d5a8c41f", "signature": "Move = 5", "value": "5" }, { "name": "NotAllowed", "kind": "enum value", "id": "enum value|NotAllowed|1|0|||6|hca8954aaa9355c25c73437f411ef88868e731cc2fd0d3c69af8d9eeab7304b22", "signature": "NotAllowed = 6", "value": "6" }, { "name": "ResizeEw", "kind": "enum value", "id": "enum value|ResizeEw|1|0|||3|h015f10a5fb877ff9fa86934adad29163d826e586e3dbe3ab7aba1f6509810ce9", "signature": "ResizeEw = 3", "value": "3" }, { "name": "ResizeNs", "kind": "enum value", "id": "enum value|ResizeNs|1|0|||4|h6c883530d3cab38822797ef3f3b22b6569dcc51800806628320969adb133dd7a", "signature": "ResizeNs = 4", "value": "4" }, { "name": "Text", "kind": "enum value", "id": "enum value|Text|1|0|||2|h9ec0ca63f26d725e2afcfe887440c6d7eb63dbf1584dc868341cf21fef75ad2e", "signature": "Text = 2", "value": "2" }] }, - { "name": "CuiSharp.CurveKey", "displayName": "CurveKey", "kind": "struct", "summary": "cui_curve_key. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float X;float Y = default;float InDx = default;float InDy = default;float OutDx = default;float OutDy = default;byte Mode = default||hc10b7aa7d11341f0a13757c05f71be9bbd68cfcaadac423d677213d02927107e", "signature": "CurveKey(float X, float Y = default, float InDx = default, float InDy = default, float OutDx = default, float OutDy = default, byte Mode = default)", "parameters": [{ "name": "X", "type": "float" }, { "name": "Y", "type": "float", "default": "default" }, { "name": "InDx", "type": "float", "default": "default" }, { "name": "InDy", "type": "float", "default": "default" }, { "name": "OutDx", "type": "float", "default": "default" }, { "name": "OutDy", "type": "float", "default": "default" }, { "name": "Mode", "type": "byte", "default": "default" }] }, { "name": "Mode", "kind": "field", "id": "field|Mode|0|0|byte|||hc48af46ab8df3bf1e9fde7c99f8133936d52727786d62bae83f6331816627f29", "signature": "public byte Mode", "summary": "cui_curve_mode" }, { "name": "InDx", "kind": "field", "id": "field|InDx|0|0|float|||hbe72f2ff8c6697c4162be844af44cfe03b76835f139b58149b32a476236a35d2", "signature": "public float InDx", "summary": "handle toward the previous key, relative to the key (FREE)" }, { "name": "InDy", "kind": "field", "id": "field|InDy|0|0|float|||h8ab7a07ad294963d27a205c1d82954649160a7ccd9b23bf44e1eaf0318aa1c22", "signature": "public float InDy", "summary": "handle toward the previous key, relative to the key (FREE)" }, { "name": "OutDx", "kind": "field", "id": "field|OutDx|0|0|float|||h1394b8fd1f988184d1bd9439e07af07e316f1dc2c8932927fabaa26ec0fe4108", "signature": "public float OutDx", "summary": "handle toward the next key, relative to the key (FREE)" }, { "name": "OutDy", "kind": "field", "id": "field|OutDy|0|0|float|||h6e703ef86fb213aac57080ac4be84bc37a398dab0c90e86c0f1faa95baba9d1a", "signature": "public float OutDy", "summary": "handle toward the next key, relative to the key (FREE)" }, { "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "float x" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "float y" }] }, - { "name": "CuiSharp.CurveMode", "displayName": "CurveMode", "kind": "enum", "summary": "cui_curve_mode", "members": [{ "name": "Free", "kind": "enum value", "id": "enum value|Free|1|0|||1|hc38bd2f786874c6869a1998a734b78095f094609911ca59e6c5c493274878a38", "signature": "Free = 1", "value": "1" }, { "name": "Linear", "kind": "enum value", "id": "enum value|Linear|1|0|||2|hc049ce403b50ef6f46315b2da911beb8a34e49aa7e1c6dd496892b53a7e0585f", "signature": "Linear = 2", "value": "2" }, { "name": "Smooth", "kind": "enum value", "id": "enum value|Smooth|1|0|||0|h8f9647c46e9001c3f8d1d41859b19820fd04f233c513bde75d40fa4aaab202d8", "signature": "Smooth = 0", "value": "0" }, { "name": "Step", "kind": "enum value", "id": "enum value|Step|1|0|||3|h9c63b64a5a7f5c7b96fcc58961e9ee1fb44462bbbefb39de0967c721956159d1", "signature": "Step = 3", "value": "3" }] }, - { "name": "CuiSharp.CurveOpts", "displayName": "CurveOpts", "kind": "struct", "summary": "cui_curve_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "ShowPlayhead", "kind": "field", "id": "field|ShowPlayhead|0|0|bool|||h781f42f25aa728e40e480491b58b8ad2b9c356aae84a4c9161fcbf0a8955df1d", "signature": "public bool ShowPlayhead", "summary": "a marker at x = playhead" }, { "name": "Snap", "kind": "field", "id": "field|Snap|0|0|bool|||h612a42847e34b7b01834bc2a9bc45d0054e96a246f1ee03334b8993523cd0d3f", "signature": "public bool Snap", "summary": "drags always snap to the grid (otherwise hold Shift)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "plot height, default 220" }, { "name": "Playhead", "kind": "field", "id": "field|Playhead|0|0|float|||h13b4f9a1d03e6abcc658a8690c7eb073e4494ac8809fcb0a505d727c35c95dc9", "signature": "public float Playhead", "summary": "float playhead" }, { "name": "XMax", "kind": "field", "id": "field|XMax|0|0|float|||hfde8cf024bcd80f7aeaeab1561a00a5999ca4e0a44c92833c650b5e8371f7d84", "signature": "public float XMax", "summary": "plotted range; both 0 = 0..1. Keys stay inside it" }, { "name": "XMin", "kind": "field", "id": "field|XMin|0|0|float|||hda34f3cf948ea1ccb86f31fa14c4b0ae01bb26591a830aa7cf4d6904bbf532a1", "signature": "public float XMin", "summary": "plotted range; both 0 = 0..1. Keys stay inside it" }, { "name": "YMax", "kind": "field", "id": "field|YMax|0|0|float|||h08c14e82ca6ca6de19498074d2f4276eeb0414b9289ba4f3aaa07cfcbabefcc5", "signature": "public float YMax", "summary": "both 0 = 0..1; leave room above and below for overshoot" }, { "name": "YMin", "kind": "field", "id": "field|YMin|0|0|float|||h9fe2b8139f946e78f990e4d05a003bc70a707dad54a59b5bfe7a704cb5bdb21a", "signature": "public float YMin", "summary": "both 0 = 0..1; leave room above and below for overshoot" }, { "name": "XFormat", "kind": "field", "id": "field|XFormat|0|0|string?|||h84bff9c35a9947f320862f17d212a1b90a915ce62a3a97933b6134f65d16e852", "signature": "public string? XFormat", "summary": "printf formats for labels and readouts, default from the grid step" }, { "name": "XLabel", "kind": "field", "id": "field|XLabel|0|0|string?|||h5bda4d949c0c6ca8d8d6347120ba210c06bb017646874d73dcfab798cd0f5724", "signature": "public string? XLabel", "summary": "readout names, default \u0022X\u0022 and \u0022Y\u0022 (e.g. \u0022Time\u0022, \u0022Value\u0022)" }, { "name": "YFormat", "kind": "field", "id": "field|YFormat|0|0|string?|||h8b96500d860715a132efa2f0dd7a26efcb7f23b9fe640633606ca592f8524e17", "signature": "public string? YFormat", "summary": "printf formats for labels and readouts, default from the grid step" }, { "name": "YLabel", "kind": "field", "id": "field|YLabel|0|0|string?|||h6f154799663b1b32e6e6b484a6c3d43ea71d2e2ce48ec0d8f1d95fefb34fab4d", "signature": "public string? YLabel", "summary": "readout names, default \u0022X\u0022 and \u0022Y\u0022 (e.g. \u0022Time\u0022, \u0022Value\u0022)" }] }, - { "name": "CuiSharp.CurveResult", "displayName": "CurveResult", "kind": "struct", "summary": "cui_curve_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Changed;int Added = default;int Removed = default;int Selected = default;bool Hovered = default;float HoverX = default;float HoverY = default||h4a0664fa222f43e36040c49902cdbc1386fdc31944ce99cfd1bf1bf446cfd3ab", "signature": "CurveResult(bool Changed, int Added = default, int Removed = default, int Selected = default, bool Hovered = default, float HoverX = default, float HoverY = default)", "parameters": [{ "name": "Changed", "type": "bool" }, { "name": "Added", "type": "int", "default": "default" }, { "name": "Removed", "type": "int", "default": "default" }, { "name": "Selected", "type": "int", "default": "default" }, { "name": "Hovered", "type": "bool", "default": "default" }, { "name": "HoverX", "type": "float", "default": "default" }, { "name": "HoverY", "type": "float", "default": "default" }] }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|bool|||h8c85f6cfc38e0138c8eb4125f6296f3a8f63126e75288f3d3b7fc9e85c6c1f63", "signature": "public bool Changed", "summary": "a key moved, a handle or mode changed, or a key was added or removed" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|bool|||h68c410e18b3a9cd7211ae1d44dffd6a46a8dccd1ff833d2154aaf2241bfe8a83", "signature": "public bool Hovered", "summary": "the pointer is over the plot:" }, { "name": "HoverX", "kind": "field", "id": "field|HoverX|0|0|float|||h6d3983e00fdd0dc802830b5a13e42596cd1ff3c17737924c3b437e01e780f5b3", "signature": "public float HoverX", "summary": "the x under it and the curve\u0027s value there" }, { "name": "HoverY", "kind": "field", "id": "field|HoverY|0|0|float|||h1ee83e1a2cff5f505adea50b07de7f70d2139ff513f4c2bf13c746028c5f45d7", "signature": "public float HoverY", "summary": "the x under it and the curve\u0027s value there" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "index of the key added this frame, or -1" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "index the removed key had, or -1" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "the selected key, or -1" }] }, + { "name": "CuiSharp.CurveKey", "displayName": "CurveKey", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float X;float Y = default;float InDx = default;float InDy = default;float OutDx = default;float OutDy = default;byte Mode = default||hc10b7aa7d11341f0a13757c05f71be9bbd68cfcaadac423d677213d02927107e", "signature": "CurveKey(float X, float Y = default, float InDx = default, float InDy = default, float OutDx = default, float OutDy = default, byte Mode = default)", "parameters": [{ "name": "X", "type": "float" }, { "name": "Y", "type": "float", "default": "default" }, { "name": "InDx", "type": "float", "default": "default" }, { "name": "InDy", "type": "float", "default": "default" }, { "name": "OutDx", "type": "float", "default": "default" }, { "name": "OutDy", "type": "float", "default": "default" }, { "name": "Mode", "type": "byte", "default": "default" }] }, { "name": "Mode", "kind": "field", "id": "field|Mode|0|0|byte|||hc48af46ab8df3bf1e9fde7c99f8133936d52727786d62bae83f6331816627f29", "signature": "public byte Mode", "summary": "cui_curve_mode" }, { "name": "InDx", "kind": "field", "id": "field|InDx|0|0|float|||hbe72f2ff8c6697c4162be844af44cfe03b76835f139b58149b32a476236a35d2", "signature": "public float InDx", "summary": "handle toward the previous key, relative to the key (FREE)" }, { "name": "InDy", "kind": "field", "id": "field|InDy|0|0|float|||h8ab7a07ad294963d27a205c1d82954649160a7ccd9b23bf44e1eaf0318aa1c22", "signature": "public float InDy", "summary": "handle toward the previous key, relative to the key (FREE)" }, { "name": "OutDx", "kind": "field", "id": "field|OutDx|0|0|float|||h1394b8fd1f988184d1bd9439e07af07e316f1dc2c8932927fabaa26ec0fe4108", "signature": "public float OutDx", "summary": "handle toward the next key, relative to the key (FREE)" }, { "name": "OutDy", "kind": "field", "id": "field|OutDy|0|0|float|||h6e703ef86fb213aac57080ac4be84bc37a398dab0c90e86c0f1faa95baba9d1a", "signature": "public float OutDy", "summary": "handle toward the next key, relative to the key (FREE)" }, { "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "position along the horizontal axis, in curve units (seconds in a timeline track)" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "the curve\u0027s value at the key" }] }, + { "name": "CuiSharp.CurveMode", "displayName": "CurveMode", "kind": "enum", "summary": "Curve editor: keyframes on a plot, for easing, animation timing and response curves. You own the array of keys, sorted by x; the editor edits it in place (moves, handles, modes, adds and removes) and reports what it did in the result, so data you keep beside each key can follow:", "members": [{ "name": "Free", "kind": "enum value", "id": "enum value|Free|1|0|||1|hc38bd2f786874c6869a1998a734b78095f094609911ca59e6c5c493274878a38", "signature": "Free = 1", "summary": "the key\u0027s own handles", "value": "1" }, { "name": "Linear", "kind": "enum value", "id": "enum value|Linear|1|0|||2|hc049ce403b50ef6f46315b2da911beb8a34e49aa7e1c6dd496892b53a7e0585f", "signature": "Linear = 2", "summary": "a straight line to the next key", "value": "2" }, { "name": "Smooth", "kind": "enum value", "id": "enum value|Smooth|1|0|||0|h8f9647c46e9001c3f8d1d41859b19820fd04f233c513bde75d40fa4aaab202d8", "signature": "Smooth = 0", "summary": "automatic tangents", "value": "0" }, { "name": "Step", "kind": "enum value", "id": "enum value|Step|1|0|||3|h9c63b64a5a7f5c7b96fcc58961e9ee1fb44462bbbefb39de0967c721956159d1", "signature": "Step = 3", "summary": "hold this value until the next key", "value": "3" }] }, + { "name": "CuiSharp.CurveOpts", "displayName": "CurveOpts", "kind": "struct", "summary": "cui_curve_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "ShowPlayhead", "kind": "field", "id": "field|ShowPlayhead|0|0|bool|||h781f42f25aa728e40e480491b58b8ad2b9c356aae84a4c9161fcbf0a8955df1d", "signature": "public bool ShowPlayhead", "summary": "a marker at x = playhead" }, { "name": "Snap", "kind": "field", "id": "field|Snap|0|0|bool|||h612a42847e34b7b01834bc2a9bc45d0054e96a246f1ee03334b8993523cd0d3f", "signature": "public bool Snap", "summary": "drags always snap to the grid (otherwise hold Shift)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "plot height, default 220" }, { "name": "Playhead", "kind": "field", "id": "field|Playhead|0|0|float|||h13b4f9a1d03e6abcc658a8690c7eb073e4494ac8809fcb0a505d727c35c95dc9", "signature": "public float Playhead", "summary": "x of the playhead marker, drawn when \u0060show_playhead\u0060 is set" }, { "name": "XMax", "kind": "field", "id": "field|XMax|0|0|float|||hfde8cf024bcd80f7aeaeab1561a00a5999ca4e0a44c92833c650b5e8371f7d84", "signature": "public float XMax", "summary": "plotted range; both 0 = 0..1. Keys stay inside it" }, { "name": "XMin", "kind": "field", "id": "field|XMin|0|0|float|||hda34f3cf948ea1ccb86f31fa14c4b0ae01bb26591a830aa7cf4d6904bbf532a1", "signature": "public float XMin", "summary": "plotted range; both 0 = 0..1. Keys stay inside it" }, { "name": "YMax", "kind": "field", "id": "field|YMax|0|0|float|||h08c14e82ca6ca6de19498074d2f4276eeb0414b9289ba4f3aaa07cfcbabefcc5", "signature": "public float YMax", "summary": "both 0 = 0..1; leave room above and below for overshoot" }, { "name": "YMin", "kind": "field", "id": "field|YMin|0|0|float|||h9fe2b8139f946e78f990e4d05a003bc70a707dad54a59b5bfe7a704cb5bdb21a", "signature": "public float YMin", "summary": "both 0 = 0..1; leave room above and below for overshoot" }, { "name": "XFormat", "kind": "field", "id": "field|XFormat|0|0|string?|||h84bff9c35a9947f320862f17d212a1b90a915ce62a3a97933b6134f65d16e852", "signature": "public string? XFormat", "summary": "printf formats for labels and readouts, default from the grid step" }, { "name": "XLabel", "kind": "field", "id": "field|XLabel|0|0|string?|||h5bda4d949c0c6ca8d8d6347120ba210c06bb017646874d73dcfab798cd0f5724", "signature": "public string? XLabel", "summary": "readout names, default \u0022X\u0022 and \u0022Y\u0022 (e.g. \u0022Time\u0022, \u0022Value\u0022)" }, { "name": "YFormat", "kind": "field", "id": "field|YFormat|0|0|string?|||h8b96500d860715a132efa2f0dd7a26efcb7f23b9fe640633606ca592f8524e17", "signature": "public string? YFormat", "summary": "printf formats for labels and readouts, default from the grid step" }, { "name": "YLabel", "kind": "field", "id": "field|YLabel|0|0|string?|||h6f154799663b1b32e6e6b484a6c3d43ea71d2e2ce48ec0d8f1d95fefb34fab4d", "signature": "public string? YLabel", "summary": "readout names, default \u0022X\u0022 and \u0022Y\u0022 (e.g. \u0022Time\u0022, \u0022Value\u0022)" }] }, + { "name": "CuiSharp.CurveResult", "displayName": "CurveResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Changed;int Added = default;int Removed = default;int Selected = default;bool Hovered = default;float HoverX = default;float HoverY = default||h4a0664fa222f43e36040c49902cdbc1386fdc31944ce99cfd1bf1bf446cfd3ab", "signature": "CurveResult(bool Changed, int Added = default, int Removed = default, int Selected = default, bool Hovered = default, float HoverX = default, float HoverY = default)", "parameters": [{ "name": "Changed", "type": "bool" }, { "name": "Added", "type": "int", "default": "default" }, { "name": "Removed", "type": "int", "default": "default" }, { "name": "Selected", "type": "int", "default": "default" }, { "name": "Hovered", "type": "bool", "default": "default" }, { "name": "HoverX", "type": "float", "default": "default" }, { "name": "HoverY", "type": "float", "default": "default" }] }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|bool|||h8c85f6cfc38e0138c8eb4125f6296f3a8f63126e75288f3d3b7fc9e85c6c1f63", "signature": "public bool Changed", "summary": "a key moved, a handle or mode changed, or a key was added or removed" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|bool|||h68c410e18b3a9cd7211ae1d44dffd6a46a8dccd1ff833d2154aaf2241bfe8a83", "signature": "public bool Hovered", "summary": "the pointer is over the plot:" }, { "name": "HoverX", "kind": "field", "id": "field|HoverX|0|0|float|||h6d3983e00fdd0dc802830b5a13e42596cd1ff3c17737924c3b437e01e780f5b3", "signature": "public float HoverX", "summary": "the x under it and the curve\u0027s value there" }, { "name": "HoverY", "kind": "field", "id": "field|HoverY|0|0|float|||h1ee83e1a2cff5f505adea50b07de7f70d2139ff513f4c2bf13c746028c5f45d7", "signature": "public float HoverY", "summary": "the x under it and the curve\u0027s value there" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "index of the key added this frame, or -1" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "index the removed key had, or -1" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "the selected key, or -1" }] }, { "name": "CuiSharp.Date", "displayName": "Date", "kind": "struct", "summary": "cui_renderer_kind: OpenGL with a software fallback, or forced.", "members": [{ "name": "AddDays", "kind": "method", "id": "method|AddDays|0|0|Date|int days||hc92baa551b2617103d21988b2499499f1c0ac319315079c3ed7f6a59b125caca", "signature": "Date AddDays(int days)", "parameters": [{ "name": "days", "type": "int" }], "summary": "A copy moved by days, positive or negative." }, { "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int y;int m;int d||he9b6caaa159c52666abfddfc4145676a6a1885413e0902c10d767a16f74e1b1f", "signature": "Date(int y, int m, int d)", "parameters": [{ "name": "y", "type": "int" }, { "name": "m", "type": "int" }, { "name": "d", "type": "int" }] }, { "name": "DayNumber", "kind": "property", "id": "property|DayNumber|0|0|int||get;|h90086cc7c542c944d7ea881c4f591c2ee25f9c0184972f6522e9f1a6c55be89d", "signature": "int DayNumber { get; }", "summary": "Days since 1970-01-01, which is what date arithmetic in CUI uses." }, { "name": "DaysUntil", "kind": "method", "id": "method|DaysUntil|0|0|int|Date other||h3240809729260a7002ed0f1e41311540c324c29550a027be4a50fa70fbaa2b91", "signature": "int DaysUntil(Date other)", "parameters": [{ "name": "other", "type": "Date" }], "summary": "Days from this date to other; negative when it is earlier." }, { "name": "Day", "kind": "field", "id": "field|Day|0|0|int|||h40d69339a69f05f7a1cf0fdcf537358258767e30cc6d07e430cb48196d28a0e1", "signature": "public int Day" }, { "name": "Month", "kind": "field", "id": "field|Month|0|0|int|||hcc05b036cc6bdfd0d27293432136b7293c2b0b8f7933726432712a3bbddfde9a", "signature": "public int Month" }, { "name": "Year", "kind": "field", "id": "field|Year|0|0|int|||h8b603079e90d1d910b69d673d70d00144bb31f3787b544bde4dced367798a4dc", "signature": "public int Year" }, { "name": "FromDayNumber", "kind": "method", "id": "method|FromDayNumber|1|0|Date|int days||h26dd562606c1487a6a6222860cb018055a326c909e73f489a9196346684baabe", "signature": "static Date FromDayNumber(int days)", "parameters": [{ "name": "days", "type": "int" }], "summary": "The date that many days after 1970-01-01." }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()" }] }, - { "name": "CuiSharp.DateOpts", "displayName": "DateOpts", "kind": "struct", "summary": "cui_date_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }] }, - { "name": "CuiSharp.DateRange", "displayName": "DateRange", "kind": "struct", "summary": "cui_date_range. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||Date Start;Date End = default||h98493b85740809da35fe54c9c629828ca79e25c692a3eb9d85605158cbb98f2d", "signature": "DateRange(Date Start, Date End = default)", "parameters": [{ "name": "Start", "type": "Date" }, { "name": "End", "type": "Date", "default": "default" }] }, { "name": "End", "kind": "field", "id": "field|End|0|0|Date|||h2f89325764b6e561f40d25c0710559925a9d23b2f268dee7a53f0a4c0e99f15b", "signature": "public Date End", "summary": "cui_date end" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|Date|||h5308fa14681e4e7754e3fa507d5ec9848904ff7bb147546c875b26a58cda5588", "signature": "public Date Start", "summary": "cui_date start" }] }, - { "name": "CuiSharp.DateRangeOpts", "displayName": "DateRangeOpts", "kind": "struct", "summary": "cui_date_range_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "NoPresets", "kind": "field", "id": "field|NoPresets|0|0|bool|||h932ec471b8be791805004f8890eecf57332f46929e361b815bc5d438ff3317d3", "signature": "public bool NoPresets", "summary": "_Bool no_presets" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }] }, - { "name": "CuiSharp.DialogOpts", "displayName": "DialogOpts", "kind": "struct", "summary": "cui_dialog_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "NoCloseButton", "kind": "field", "id": "field|NoCloseButton|0|0|bool|||h0746055151c2ac4beef2b9d3e99801998789cbdec9f10f0cb2a714543502d7c5", "signature": "public bool NoCloseButton", "summary": "_Bool no_close_button" }, { "name": "Persistent", "kind": "field", "id": "field|Persistent|0|0|bool|||h622426eaeefdec9f0a39d878efa240b1b88b6eb047c96ead08fdd7a581f2ae0d", "signature": "public bool Persistent", "summary": "clicking outside or Esc does not close" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "default 440" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }] }, + { "name": "CuiSharp.DateOpts", "displayName": "DateOpts", "kind": "struct", "summary": "cui_date_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }] }, + { "name": "CuiSharp.DateRange", "displayName": "DateRange", "kind": "struct", "summary": "Date ranges. A zero start means nothing is chosen. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||Date Start;Date End = default||h98493b85740809da35fe54c9c629828ca79e25c692a3eb9d85605158cbb98f2d", "signature": "DateRange(Date Start, Date End = default)", "parameters": [{ "name": "Start", "type": "Date" }, { "name": "End", "type": "Date", "default": "default" }] }, { "name": "End", "kind": "field", "id": "field|End|0|0|Date|||h2f89325764b6e561f40d25c0710559925a9d23b2f268dee7a53f0a4c0e99f15b", "signature": "public Date End", "summary": "last day of the range, inclusive" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|Date|||h5308fa14681e4e7754e3fa507d5ec9848904ff7bb147546c875b26a58cda5588", "signature": "public Date Start", "summary": "first day of the range; a zero date means nothing is chosen" }] }, + { "name": "CuiSharp.DateRangeOpts", "displayName": "DateRangeOpts", "kind": "struct", "summary": "cui_date_range_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "NoPresets", "kind": "field", "id": "field|NoPresets|0|0|bool|||h932ec471b8be791805004f8890eecf57332f46929e361b815bc5d438ff3317d3", "signature": "public bool NoPresets", "summary": "hides the list of preset ranges beside (or above) the calendar" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }] }, + { "name": "CuiSharp.DialogOpts", "displayName": "DialogOpts", "kind": "struct", "summary": "cui_dialog_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "NoCloseButton", "kind": "field", "id": "field|NoCloseButton|0|0|bool|||h0746055151c2ac4beef2b9d3e99801998789cbdec9f10f0cb2a714543502d7c5", "signature": "public bool NoCloseButton", "summary": "hides the x in the corner (Esc and a click outside still close it unless \u0060persistent\u0060)" }, { "name": "Persistent", "kind": "field", "id": "field|Persistent|0|0|bool|||h622426eaeefdec9f0a39d878efa240b1b88b6eb047c96ead08fdd7a581f2ae0d", "signature": "public bool Persistent", "summary": "clicking outside or Esc does not close" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "default 440" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }] }, { "name": "CuiSharp.DiffHunk", "displayName": "DiffHunk", "kind": "struct", "summary": "One hunk of a line diff: a run of lines replaced between the old and new text.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int oldStart;int oldCount;int newStart;int newCount||hbc4b7953620edb9d4b9407c73c3657cfb521ff57fc06aaa418fffa8cbcbfd705", "signature": "DiffHunk(int oldStart, int oldCount, int newStart, int newCount)", "parameters": [{ "name": "oldStart", "type": "int" }, { "name": "oldCount", "type": "int" }, { "name": "newStart", "type": "int" }, { "name": "newCount", "type": "int" }] }, { "name": "NewCount", "kind": "field", "id": "field|NewCount|0|0|int|||h5fa274030ae82c3e1e68ee6c2b839b804b014b4f89c7f9d04c0eab62802e8041", "signature": "public readonly int NewCount" }, { "name": "NewStart", "kind": "field", "id": "field|NewStart|0|0|int|||h80756981cf4b2c2ebe6c9924ca763b1d4d328cba8d43584eefb70cbc0fee729d", "signature": "public readonly int NewStart" }, { "name": "OldCount", "kind": "field", "id": "field|OldCount|0|0|int|||h81584aeb12451ae90730f73cfaae4d9748e1ba1c05bd83b0b682c6a51eacd89b", "signature": "public readonly int OldCount" }, { "name": "OldStart", "kind": "field", "id": "field|OldStart|0|0|int|||h0d4a9b9d5e1c6d2b13b6995f70766e8d2a88ca345681748d3f08007c236ee3e6", "signature": "public readonly int OldStart" }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()" }] }, - { "name": "CuiSharp.DiffMode", "displayName": "DiffMode", "kind": "enum", "summary": "cui_diff_mode", "members": [{ "name": "Inline", "kind": "enum value", "id": "enum value|Inline|1|0|||1|ha91d17941a0d6047dc035d24c3f6bb80def25dbbe72a36720789263461f17d13", "signature": "Inline = 1", "value": "1" }, { "name": "Split", "kind": "enum value", "id": "enum value|Split|1|0|||0|h6edd27fe278fbd520a0e7727318b318581b0a2d8fc192487c9e71a2072d0faca", "signature": "Split = 0", "value": "0" }] }, - { "name": "CuiSharp.DiffOpts", "displayName": "DiffOpts", "kind": "struct", "summary": "cui_diff_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Mode", "kind": "field", "id": "field|Mode|0|0|DiffMode|||hd3b30f92655838349c59825ab303a32d61934710651f0b99ceeb3740d4273609", "signature": "public DiffMode Mode", "summary": "cui_diff_mode mode" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "IgnoreEol", "kind": "field", "id": "field|IgnoreEol|0|0|bool|||hf2e54db86370c797bbadf9071b840f69209a327b7622f77825a133938dc6e9df", "signature": "public bool IgnoreEol", "summary": "\u0022\\r\\n\u0022 equals \u0022\\n\u0022, and a missing final newline does not count" }, { "name": "NoFold", "kind": "field", "id": "field|NoFold|0|0|bool|||he276b90ea8e4014b799b46490fde17110fe40505b4fd1647ec9e81a450652218", "signature": "public bool NoFold", "summary": "show every unchanged line" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default: the rows, up to 420; negative fills the space" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 12" }, { "name": "SplitMinWidth", "kind": "field", "id": "field|SplitMinWidth|0|0|float|||hc931e15221dec2e010745242455e00eba3f789c0449406ade12b6644a45a00b8", "signature": "public float SplitMinWidth", "summary": "below this width split shows inline, default 560" }, { "name": "Context", "kind": "field", "id": "field|Context|0|0|int|||h3378089986c603151e12fc1e07bbb36553bae2eccdf9eeeff4b37cc73b4ca195", "signature": "public int Context", "summary": "unchanged lines kept beside each change, default 3" }, { "name": "Language", "kind": "field", "id": "field|Language|0|0|string?|||h7b70233d756d8e3102bb14ac3853e782b0efc88f1e1296f5b020f3e57c961a9e", "signature": "public string? Language", "summary": "syntax colors, as cui_code_block: \u0022c\u0022, \u0022js\u0022, \u0022python\u0022, ..." }, { "name": "NewTitle", "kind": "field", "id": "field|NewTitle|0|0|string?|||ha4184120328b02b7243cad0ae26577a93e0ba5f3dc739c6ff1348d99bb144771", "signature": "public string? NewTitle", "summary": "a header above the sides, e.g. file names, with the \u002B/- summary" }, { "name": "OldTitle", "kind": "field", "id": "field|OldTitle|0|0|string?|||h2466fcf0ff3718f1967e1e5650fcbd4a3e6554ef873730dba46575b44cd299e8", "signature": "public string? OldTitle", "summary": "a header above the sides, e.g. file names, with the \u002B/- summary" }] }, + { "name": "CuiSharp.DiffMode", "displayName": "DiffMode", "kind": "enum", "summary": "Diff viewer: compares two versions of a text line by line, side by side or inline, with changed words marked inside changed lines. The texts are yours (UTF-8, read during the call); the view keeps a copy and diffs again only when one of them changes, so it is cheap to call every frame.", "members": [{ "name": "Inline", "kind": "enum value", "id": "enum value|Inline|1|0|||1|ha91d17941a0d6047dc035d24c3f6bb80def25dbbe72a36720789263461f17d13", "signature": "Inline = 1", "value": "1" }, { "name": "Split", "kind": "enum value", "id": "enum value|Split|1|0|||0|h6edd27fe278fbd520a0e7727318b318581b0a2d8fc192487c9e71a2072d0faca", "signature": "Split = 0", "value": "0" }] }, + { "name": "CuiSharp.DiffOpts", "displayName": "DiffOpts", "kind": "struct", "summary": "cui_diff_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Mode", "kind": "field", "id": "field|Mode|0|0|DiffMode|||hd3b30f92655838349c59825ab303a32d61934710651f0b99ceeb3740d4273609", "signature": "public DiffMode Mode", "summary": "cui_diff_mode mode" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "IgnoreEol", "kind": "field", "id": "field|IgnoreEol|0|0|bool|||hf2e54db86370c797bbadf9071b840f69209a327b7622f77825a133938dc6e9df", "signature": "public bool IgnoreEol", "summary": "\u0022\\r\\n\u0022 equals \u0022\\n\u0022, and a missing final newline does not count" }, { "name": "NoFold", "kind": "field", "id": "field|NoFold|0|0|bool|||he276b90ea8e4014b799b46490fde17110fe40505b4fd1647ec9e81a450652218", "signature": "public bool NoFold", "summary": "show every unchanged line" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default: the rows, up to 420; negative fills the space" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 12" }, { "name": "SplitMinWidth", "kind": "field", "id": "field|SplitMinWidth|0|0|float|||hc931e15221dec2e010745242455e00eba3f789c0449406ade12b6644a45a00b8", "signature": "public float SplitMinWidth", "summary": "below this width split shows inline, default 560" }, { "name": "Context", "kind": "field", "id": "field|Context|0|0|int|||h3378089986c603151e12fc1e07bbb36553bae2eccdf9eeeff4b37cc73b4ca195", "signature": "public int Context", "summary": "unchanged lines kept beside each change, default 3" }, { "name": "Language", "kind": "field", "id": "field|Language|0|0|string?|||h7b70233d756d8e3102bb14ac3853e782b0efc88f1e1296f5b020f3e57c961a9e", "signature": "public string? Language", "summary": "syntax colors, as cui_code_block: \u0022c\u0022, \u0022js\u0022, \u0022python\u0022, ..." }, { "name": "NewTitle", "kind": "field", "id": "field|NewTitle|0|0|string?|||ha4184120328b02b7243cad0ae26577a93e0ba5f3dc739c6ff1348d99bb144771", "signature": "public string? NewTitle", "summary": "a header above the sides, e.g. file names, with the \u002B/- summary" }, { "name": "OldTitle", "kind": "field", "id": "field|OldTitle|0|0|string?|||h2466fcf0ff3718f1967e1e5650fcbd4a3e6554ef873730dba46575b44cd299e8", "signature": "public string? OldTitle", "summary": "a header above the sides, e.g. file names, with the \u002B/- summary" }] }, { "name": "CuiSharp.DiffRange", "displayName": "DiffRange", "kind": "struct", "summary": "A byte range in a line, for the changed part a diff marks.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int start;int length||h65fd50b70cc83dc445b72bac24d2ee324b9c31bec17b214c408bdc04b31ee240", "signature": "DiffRange(int start, int length)", "parameters": [{ "name": "start", "type": "int" }, { "name": "length", "type": "int" }] }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|int|||hc4b3ac71cbcd00d1d31b5b805dfd7ad195ee9992a5d298ebbb38934c6467b484", "signature": "public readonly int Length", "summary": "Length in bytes." }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|int|||h04f3f89234f0f35afc07fb4501b63e42e82ec6f36ea1f2335cfcbd230aadab3d", "signature": "public readonly int Start", "summary": "Byte offset in the UTF-8 line." }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()" }] }, - { "name": "CuiSharp.DiffResult", "displayName": "DiffResult", "kind": "struct", "summary": "cui_diff_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Added;int Removed = default;int Changes = default;int Current = default;bool CurrentChanged = default;DiffMode Mode = DiffMode.Split;int Folds = default;int Hidden = default;bool Recomputed = default;bool Approximate = default||h31d3612b613afdb626baf93c229a386d517e2455eb78ddbd968ad2663924bba0", "signature": "DiffResult(int Added, int Removed = default, int Changes = default, int Current = default, bool CurrentChanged = default, DiffMode Mode = DiffMode.Split, int Folds = default, int Hidden = default, bool Recomputed = default, bool Approximate = default)", "parameters": [{ "name": "Added", "type": "int" }, { "name": "Removed", "type": "int", "default": "default" }, { "name": "Changes", "type": "int", "default": "default" }, { "name": "Current", "type": "int", "default": "default" }, { "name": "CurrentChanged", "type": "bool", "default": "default" }, { "name": "Mode", "type": "DiffMode", "default": "DiffMode.Split" }, { "name": "Folds", "type": "int", "default": "default" }, { "name": "Hidden", "type": "int", "default": "default" }, { "name": "Recomputed", "type": "bool", "default": "default" }, { "name": "Approximate", "type": "bool", "default": "default" }] }, { "name": "Mode", "kind": "field", "id": "field|Mode|0|0|DiffMode|||hd3b30f92655838349c59825ab303a32d61934710651f0b99ceeb3740d4273609", "signature": "public DiffMode Mode", "summary": "what is shown: inline when split did not fit" }, { "name": "Approximate", "kind": "field", "id": "field|Approximate|0|0|bool|||hb762ffbc26224d46b550902012a8430d0900dac14865e74e515a44abdce293c8", "signature": "public bool Approximate", "summary": "the search hit its limit: correct, maybe not the shortest" }, { "name": "CurrentChanged", "kind": "field", "id": "field|CurrentChanged|0|0|bool|||h0a7e78afdaa311073f4ca3a8d0a0e625728a0c729369c4e03009285d8e80fea3", "signature": "public bool CurrentChanged", "summary": "this frame, by the keys, a click or .current" }, { "name": "Recomputed", "kind": "field", "id": "field|Recomputed|0|0|bool|||h72cba9388c825911572f7859885f9c3e21a0e953037a4d7d1d6e32e99d124b1f", "signature": "public bool Recomputed", "summary": "a text changed and was diffed this frame" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "lines" }, { "name": "Changes", "kind": "field", "id": "field|Changes|0|0|int|||h92c3316a456e87daf1c99d309c6ac018fc064ebbe8a432c2918508944c45979d", "signature": "public int Changes", "summary": "change blocks (hunks without context)" }, { "name": "Current", "kind": "field", "id": "field|Current|0|0|int|||h59aa7f0912b0ac389ff87c88363f76f78980244723618daa28eabc29cf1fa3f3", "signature": "public int Current", "summary": "the selected change, -1 none" }, { "name": "Folds", "kind": "field", "id": "field|Folds|0|0|int|||hc44f599c59fbcd4b7acdf51032e00a2ac75aa19f9f370cc82e1597d9e6404aa2", "signature": "public int Folds", "summary": "folded rows shown, and the unchanged lines they hide" }, { "name": "Hidden", "kind": "field", "id": "field|Hidden|0|0|int|||h213f22e3210862a27f997f5a3526334cfa037d774da6ae2360261c0b06188ad6", "signature": "public int Hidden", "summary": "folded rows shown, and the unchanged lines they hide" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "lines" }] }, - { "name": "CuiSharp.DiffRow", "displayName": "DiffRow", "kind": "struct", "summary": "cui_diff_row. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||DiffRowKind Kind;int OldLine = default;int NewLine = default;int Change = default;int Hidden = default||ha2d8064030632ada48ae236bf85ab0f706deec680f6fc2584262333c568a40a8", "signature": "DiffRow(DiffRowKind Kind, int OldLine = default, int NewLine = default, int Change = default, int Hidden = default)", "parameters": [{ "name": "Kind", "type": "DiffRowKind" }, { "name": "OldLine", "type": "int", "default": "default" }, { "name": "NewLine", "type": "int", "default": "default" }, { "name": "Change", "type": "int", "default": "default" }, { "name": "Hidden", "type": "int", "default": "default" }] }, { "name": "Kind", "kind": "field", "id": "field|Kind|0|0|DiffRowKind|||h8492c9bbc0fe5406fdc5a7e026a21a97cf6263728ebe12e1fcfdb21739b0fcd3", "signature": "public DiffRowKind Kind", "summary": "cui_diff_row_kind kind" }, { "name": "Change", "kind": "field", "id": "field|Change|0|0|int|||ha5a0494f795169c13c7b208ca15443b22801d16f70d84413d071e3652a1e1062", "signature": "public int Change", "summary": "the change it belongs to, or -1" }, { "name": "Hidden", "kind": "field", "id": "field|Hidden|0|0|int|||h213f22e3210862a27f997f5a3526334cfa037d774da6ae2360261c0b06188ad6", "signature": "public int Hidden", "summary": "fold rows: lines hidden" }, { "name": "NewLine", "kind": "field", "id": "field|NewLine|0|0|int|||hde0ec57f4b0e4c2fe5cd0414edd2f43cc4af58e34cf20bda6c518b84db99d69d", "signature": "public int NewLine", "summary": "0 based, -1 for none" }, { "name": "OldLine", "kind": "field", "id": "field|OldLine|0|0|int|||h7fcc25b0716435ac3fd7f7a6e3876e316598838154f4a1c68b64fec59950312d", "signature": "public int OldLine", "summary": "0 based, -1 for none" }] }, - { "name": "CuiSharp.DiffRowKind", "displayName": "DiffRowKind", "kind": "enum", "summary": "cui_diff_row_kind", "members": [{ "name": "Added", "kind": "enum value", "id": "enum value|Added|1|0|||2|h4d4e483e2e312c5992fb528c223eae5663a2527afd328555a2be240d1eee4fd1", "signature": "Added = 2", "value": "2" }, { "name": "Changed", "kind": "enum value", "id": "enum value|Changed|1|0|||3|h2350243378f3a230ca61b743196f0f466cf475797f40f452865d2cc65a1d1f83", "signature": "Changed = 3", "value": "3" }, { "name": "Fold", "kind": "enum value", "id": "enum value|Fold|1|0|||4|h62676722a011105afee65b4e11d81d4cba36f1ddac5031284747524648c274ad", "signature": "Fold = 4", "value": "4" }, { "name": "Removed", "kind": "enum value", "id": "enum value|Removed|1|0|||1|h713a6a6381d066cca0e8f6fbadc6e7eb7cc87e6cf7fc7f23fe0cf00ec700e0fa", "signature": "Removed = 1", "value": "1" }, { "name": "Same", "kind": "enum value", "id": "enum value|Same|1|0|||0|hd6fa0e97d043d101a8bdba59ae7a7fcca05b969c0f2ace179be747cea4eb3353", "signature": "Same = 0", "value": "0" }] }, + { "name": "CuiSharp.DiffResult", "displayName": "DiffResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Added;int Removed = default;int Changes = default;int Current = default;bool CurrentChanged = default;DiffMode Mode = DiffMode.Split;int Folds = default;int Hidden = default;bool Recomputed = default;bool Approximate = default||h31d3612b613afdb626baf93c229a386d517e2455eb78ddbd968ad2663924bba0", "signature": "DiffResult(int Added, int Removed = default, int Changes = default, int Current = default, bool CurrentChanged = default, DiffMode Mode = DiffMode.Split, int Folds = default, int Hidden = default, bool Recomputed = default, bool Approximate = default)", "parameters": [{ "name": "Added", "type": "int" }, { "name": "Removed", "type": "int", "default": "default" }, { "name": "Changes", "type": "int", "default": "default" }, { "name": "Current", "type": "int", "default": "default" }, { "name": "CurrentChanged", "type": "bool", "default": "default" }, { "name": "Mode", "type": "DiffMode", "default": "DiffMode.Split" }, { "name": "Folds", "type": "int", "default": "default" }, { "name": "Hidden", "type": "int", "default": "default" }, { "name": "Recomputed", "type": "bool", "default": "default" }, { "name": "Approximate", "type": "bool", "default": "default" }] }, { "name": "Mode", "kind": "field", "id": "field|Mode|0|0|DiffMode|||hd3b30f92655838349c59825ab303a32d61934710651f0b99ceeb3740d4273609", "signature": "public DiffMode Mode", "summary": "what is shown: inline when split did not fit" }, { "name": "Approximate", "kind": "field", "id": "field|Approximate|0|0|bool|||hb762ffbc26224d46b550902012a8430d0900dac14865e74e515a44abdce293c8", "signature": "public bool Approximate", "summary": "the search hit its limit: correct, maybe not the shortest" }, { "name": "CurrentChanged", "kind": "field", "id": "field|CurrentChanged|0|0|bool|||h0a7e78afdaa311073f4ca3a8d0a0e625728a0c729369c4e03009285d8e80fea3", "signature": "public bool CurrentChanged", "summary": "this frame, by the keys, a click or .current" }, { "name": "Recomputed", "kind": "field", "id": "field|Recomputed|0|0|bool|||h72cba9388c825911572f7859885f9c3e21a0e953037a4d7d1d6e32e99d124b1f", "signature": "public bool Recomputed", "summary": "a text changed and was diffed this frame" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "lines" }, { "name": "Changes", "kind": "field", "id": "field|Changes|0|0|int|||h92c3316a456e87daf1c99d309c6ac018fc064ebbe8a432c2918508944c45979d", "signature": "public int Changes", "summary": "change blocks (hunks without context)" }, { "name": "Current", "kind": "field", "id": "field|Current|0|0|int|||h59aa7f0912b0ac389ff87c88363f76f78980244723618daa28eabc29cf1fa3f3", "signature": "public int Current", "summary": "the selected change, -1 none" }, { "name": "Folds", "kind": "field", "id": "field|Folds|0|0|int|||hc44f599c59fbcd4b7acdf51032e00a2ac75aa19f9f370cc82e1597d9e6404aa2", "signature": "public int Folds", "summary": "folded rows shown, and the unchanged lines they hide" }, { "name": "Hidden", "kind": "field", "id": "field|Hidden|0|0|int|||h213f22e3210862a27f997f5a3526334cfa037d774da6ae2360261c0b06188ad6", "signature": "public int Hidden", "summary": "folded rows shown, and the unchanged lines they hide" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "lines" }] }, + { "name": "CuiSharp.DiffRow", "displayName": "DiffRow", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||DiffRowKind Kind;int OldLine = default;int NewLine = default;int Change = default;int Hidden = default||ha2d8064030632ada48ae236bf85ab0f706deec680f6fc2584262333c568a40a8", "signature": "DiffRow(DiffRowKind Kind, int OldLine = default, int NewLine = default, int Change = default, int Hidden = default)", "parameters": [{ "name": "Kind", "type": "DiffRowKind" }, { "name": "OldLine", "type": "int", "default": "default" }, { "name": "NewLine", "type": "int", "default": "default" }, { "name": "Change", "type": "int", "default": "default" }, { "name": "Hidden", "type": "int", "default": "default" }] }, { "name": "Kind", "kind": "field", "id": "field|Kind|0|0|DiffRowKind|||h8492c9bbc0fe5406fdc5a7e026a21a97cf6263728ebe12e1fcfdb21739b0fcd3", "signature": "public DiffRowKind Kind", "summary": "cui_diff_row_kind kind" }, { "name": "Change", "kind": "field", "id": "field|Change|0|0|int|||ha5a0494f795169c13c7b208ca15443b22801d16f70d84413d071e3652a1e1062", "signature": "public int Change", "summary": "the change it belongs to, or -1" }, { "name": "Hidden", "kind": "field", "id": "field|Hidden|0|0|int|||h213f22e3210862a27f997f5a3526334cfa037d774da6ae2360261c0b06188ad6", "signature": "public int Hidden", "summary": "fold rows: lines hidden" }, { "name": "NewLine", "kind": "field", "id": "field|NewLine|0|0|int|||hde0ec57f4b0e4c2fe5cd0414edd2f43cc4af58e34cf20bda6c518b84db99d69d", "signature": "public int NewLine", "summary": "0 based, -1 for none" }, { "name": "OldLine", "kind": "field", "id": "field|OldLine|0|0|int|||h7fcc25b0716435ac3fd7f7a6e3876e316598838154f4a1c68b64fec59950312d", "signature": "public int OldLine", "summary": "0 based, -1 for none" }] }, + { "name": "CuiSharp.DiffRowKind", "displayName": "DiffRowKind", "kind": "enum", "summary": "The rows the view shows after folding, e.g. to put a comment button beside a line. Copies rows [first, first \u002B cap) and returns how many there are (0 before the view\u0027s first frame). Call it in the same id scope as the view.", "members": [{ "name": "Added", "kind": "enum value", "id": "enum value|Added|1|0|||2|h4d4e483e2e312c5992fb528c223eae5663a2527afd328555a2be240d1eee4fd1", "signature": "Added = 2", "value": "2" }, { "name": "Changed", "kind": "enum value", "id": "enum value|Changed|1|0|||3|h2350243378f3a230ca61b743196f0f466cf475797f40f452865d2cc65a1d1f83", "signature": "Changed = 3", "summary": "split: a removed line beside the added line that replaced it", "value": "3" }, { "name": "Fold", "kind": "enum value", "id": "enum value|Fold|1|0|||4|h62676722a011105afee65b4e11d81d4cba36f1ddac5031284747524648c274ad", "signature": "Fold = 4", "summary": "hidden unchanged lines, starting at old_line / new_line", "value": "4" }, { "name": "Removed", "kind": "enum value", "id": "enum value|Removed|1|0|||1|h713a6a6381d066cca0e8f6fbadc6e7eb7cc87e6cf7fc7f23fe0cf00ec700e0fa", "signature": "Removed = 1", "value": "1" }, { "name": "Same", "kind": "enum value", "id": "enum value|Same|1|0|||0|hd6fa0e97d043d101a8bdba59ae7a7fcca05b969c0f2ace179be747cea4eb3353", "signature": "Same = 0", "value": "0" }] }, { "name": "CuiSharp.DiffStats", "displayName": "DiffStats", "kind": "struct", "summary": "What a line diff found, including whether it had to approximate.", "members": [{ "name": "Approximate", "kind": "field", "id": "field|Approximate|0|0|bool|||h769a85b2c677f2fb012edee5ae252bf3a0b2e4ccf65cb5f37a1e347e1a762267", "signature": "public readonly bool Approximate", "summary": "True when the inputs were too large for an exact diff, so the hunks are approximate." }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h2459fc9e0ec1433e2ab1f198dc706c810f3f45e030af3a8956406808af8a7543", "signature": "public readonly int Added" }, { "name": "Hunks", "kind": "field", "id": "field|Hunks|0|0|int|||hfaf0466c9dba1e116b55c120b81c45c59fac4a8a35ba140ce50d9495d3498aef", "signature": "public readonly int Hunks" }, { "name": "NewLines", "kind": "field", "id": "field|NewLines|0|0|int|||h12e9ccbe3cd59a37ec2d56df70b0a83485e605dab336c0c515e8bb5b88f08bbb", "signature": "public readonly int NewLines" }, { "name": "OldLines", "kind": "field", "id": "field|OldLines|0|0|int|||hdbf09d51d7abc42e788d9d216a7bd316ee659ac3b7dc4fe26226ebe5f104e733", "signature": "public readonly int OldLines" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||h55ddd8c614db136ffb765a028b70ccb77721e2995e348cb5998d3b2b97c6d529", "signature": "public readonly int Removed" }] }, { "name": "CuiSharp.Dir", "displayName": "Dir", "kind": "enum", "summary": "cui_dir", "members": [{ "name": "Column", "kind": "enum value", "id": "enum value|Column|1|0|||0|hdc0ffc563d2d84071e89b6dc37af0391db3e179c0fea03a26c4887c2c2fca914", "signature": "Column = 0", "value": "0" }, { "name": "Grid", "kind": "enum value", "id": "enum value|Grid|1|0|||3|heab8b7c74bc4e6f706d70bc872a0f41e9e1846d1bf8a3c54ecc85a8fb002f41b", "signature": "Grid = 3", "value": "3" }, { "name": "Row", "kind": "enum value", "id": "enum value|Row|1|0|||1|h01b4d6d5e97c4e904a50f63964915be18cbc81ed58e8a8862caa8011428fc014", "signature": "Row = 1", "value": "1" }, { "name": "Stack", "kind": "enum value", "id": "enum value|Stack|1|0|||2|hb23a6ee1937f5075f878bd510a424ae01ee1cdc40ec392f5b1c96c3981b9da61", "signature": "Stack = 2", "value": "2" }] }, - { "name": "CuiSharp.Direction", "displayName": "Direction", "kind": "enum", "summary": "cui_direction", "members": [{ "name": "Auto", "kind": "enum value", "id": "enum value|Auto|1|0|||3|hf72d48c26d026930ece0857a52ce31269104f058d7c6303b8c7cb9932e20a0f7", "signature": "Auto = 3", "value": "3" }, { "name": "Inherit", "kind": "enum value", "id": "enum value|Inherit|1|0|||0|he2835ea7af3c110f1de6b7eec0e88f164a11899146ec5a87e050beebe18b6c11", "signature": "Inherit = 0", "value": "0" }, { "name": "Ltr", "kind": "enum value", "id": "enum value|Ltr|1|0|||1|h7f4b50e36d6bc42938dc15406c3b97ebc4653b03f3be8810fe401682fc4cc68a", "signature": "Ltr = 1", "value": "1" }, { "name": "Rtl", "kind": "enum value", "id": "enum value|Rtl|1|0|||2|h61be06b0c9df98eb5f2361e84be01d6f742bc9eb7f62d973e05e60dd38fe2794", "signature": "Rtl = 2", "value": "2" }] }, + { "name": "CuiSharp.Direction", "displayName": "Direction", "kind": "enum", "summary": "Zero inherits the parent, or LTR at the context root. With text shaping, AUTO uses the first strong character in descendant text, ignoring explicitly directed subtrees. Without text shaping, AUTO resolves to LTR.", "members": [{ "name": "Auto", "kind": "enum value", "id": "enum value|Auto|1|0|||3|hf72d48c26d026930ece0857a52ce31269104f058d7c6303b8c7cb9932e20a0f7", "signature": "Auto = 3", "value": "3" }, { "name": "Inherit", "kind": "enum value", "id": "enum value|Inherit|1|0|||0|he2835ea7af3c110f1de6b7eec0e88f164a11899146ec5a87e050beebe18b6c11", "signature": "Inherit = 0", "value": "0" }, { "name": "Ltr", "kind": "enum value", "id": "enum value|Ltr|1|0|||1|h7f4b50e36d6bc42938dc15406c3b97ebc4653b03f3be8810fe401682fc4cc68a", "signature": "Ltr = 1", "value": "1" }, { "name": "Rtl", "kind": "enum value", "id": "enum value|Rtl|1|0|||2|h61be06b0c9df98eb5f2361e84be01d6f742bc9eb7f62d973e05e60dd38fe2794", "signature": "Rtl = 2", "value": "2" }] }, { "name": "CuiSharp.DisabledScope", "displayName": "DisabledScope", "kind": "ref struct", "summary": "Closes a disabled gate opened by Disabled.", "members": [{ "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()", "summary": "Pops the gate. Disposing twice does nothing." }] }, - { "name": "CuiSharp.DocTab", "displayName": "DocTab", "kind": "struct", "summary": "cui_doc_tab. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Icon = null;string? Tooltip = null;bool Dirty = default||ha3538768ee8e2356e93fa244d043d5befec3145d4d7bf41a5ee5dfef36695067", "signature": "DocTab(string? Title, string? Icon = null, string? Tooltip = null, bool Dirty = default)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Icon", "type": "string?", "default": "null" }, { "name": "Tooltip", "type": "string?", "default": "null" }, { "name": "Dirty", "type": "bool", "default": "default" }] }, { "name": "Dirty", "kind": "field", "id": "field|Dirty|0|0|bool|||h42a2b5080bdcb5c06c19af46ce1fb5cee7bf132aabdcbce284b87b0006d19976", "signature": "public bool Dirty", "summary": "_Bool dirty" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|string?|||h82837286b4f40e657285a1f72d68bcf8fa107f1c1022330456870eeab4fce431", "signature": "public string? Tooltip", "summary": "const char * tooltip" }] }, - { "name": "CuiSharp.DocTabsOpts", "displayName": "DocTabsOpts", "kind": "struct", "summary": "cui_doc_tabs_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "NoClose", "kind": "field", "id": "field|NoClose|0|0|bool|||hfca81f4eb9e59ae96cde475ff7f7dda0ac1f605eb4bb446e5f2bb0678aef5aa1", "signature": "public bool NoClose", "summary": "_Bool no_close" }, { "name": "NoReorder", "kind": "field", "id": "field|NoReorder|0|0|bool|||h40e9e306cecd9e73b1d84769fb8b90372cf2ad2ee0ca9e2c1f0a076725bbc256", "signature": "public bool NoReorder", "summary": "_Bool no_reorder" }, { "name": "Shortcuts", "kind": "field", "id": "field|Shortcuts|0|0|bool|||h4e6eb384aa83d4f3f50e0a4cc9983840795f73909650a085beedd7b4f3eb5607", "signature": "public bool Shortcuts", "summary": "_Bool shortcuts" }] }, - { "name": "CuiSharp.DocTabsResult", "displayName": "DocTabsResult", "kind": "struct", "summary": "cui_doc_tabs_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Changed;int Close = default;int MoveFrom = default;int MoveTo = default||h608dddfcf287fc9da2670e5c40013276d15c48d128d68665d4c6ce31b81deb1f", "signature": "DocTabsResult(bool Changed, int Close = default, int MoveFrom = default, int MoveTo = default)", "parameters": [{ "name": "Changed", "type": "bool" }, { "name": "Close", "type": "int", "default": "default" }, { "name": "MoveFrom", "type": "int", "default": "default" }, { "name": "MoveTo", "type": "int", "default": "default" }] }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|bool|||h8c85f6cfc38e0138c8eb4125f6296f3a8f63126e75288f3d3b7fc9e85c6c1f63", "signature": "public bool Changed", "summary": "selected changed (click, keys or a move)" }, { "name": "Close", "kind": "field", "id": "field|Close|0|0|int|||hd66699e2f0c82a29493772269f2265430cd51ffdaea1b6e5a53620ccd8057858", "signature": "public int Close", "summary": "tab to close, or -1" }, { "name": "MoveFrom", "kind": "field", "id": "field|MoveFrom|0|0|int|||h5242007257927bf644e70880032ca9628cfdfcb01004763000e1099c7dc49aa8", "signature": "public int MoveFrom", "summary": "move the tab at move_from to move_to, or -1" }, { "name": "MoveTo", "kind": "field", "id": "field|MoveTo|0|0|int|||h9978012a238735312417aa1be6c6e404ffce2291eb4cc9867928d6eb35aebeac", "signature": "public int MoveTo", "summary": "move the tab at move_from to move_to, or -1" }] }, - { "name": "CuiSharp.DockItemOpts", "displayName": "DockItemOpts", "kind": "struct", "summary": "cui_dock_item_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Running", "kind": "field", "id": "field|Running|0|0|bool|||h2fd04b97026835fabd2b7359dcc11db3a29c3ff82f76076575e5902dbdd99c22", "signature": "public bool Running", "summary": "_Bool running" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|int|||h1ea0a5985eea3db7ed64622a6693b2d10e07bdfdc4610208a1b5ee962fce491c", "signature": "public int Badge", "summary": "int badge" }] }, - { "name": "CuiSharp.DockOpts", "displayName": "DockOpts", "kind": "struct", "summary": "cui_dock_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Magnify", "kind": "field", "id": "field|Magnify|0|0|float|||h1b7c2d09207b0b96fb623cbceda94330e8256fdb75cff5e9cb0e5693e018a756", "signature": "public float Magnify", "summary": "float magnify" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }] }, - { "name": "CuiSharp.DockPanelOpts", "displayName": "DockPanelOpts", "kind": "struct", "summary": "cui_dock_panel_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Dirty", "kind": "field", "id": "field|Dirty|0|0|bool|||h42a2b5080bdcb5c06c19af46ce1fb5cee7bf132aabdcbce284b87b0006d19976", "signature": "public bool Dirty", "summary": "_Bool dirty" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, - { "name": "CuiSharp.DockspaceOpts", "displayName": "DockspaceOpts", "kind": "struct", "summary": "cui_dockspace_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default fill" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "Shortcuts", "kind": "field", "id": "field|Shortcuts|0|0|bool|||h4e6eb384aa83d4f3f50e0a4cc9983840795f73909650a085beedd7b4f3eb5607", "signature": "public bool Shortcuts", "summary": "Ctrl\u002BTab, Ctrl\u002BShift\u002BTab and Ctrl\u002BW act on the focused leaf" }, { "name": "MinPanelHeight", "kind": "field", "id": "field|MinPanelHeight|0|0|float|||h477499d2af5c2fdee80ea8ecbb7b89b8cd2bc2693730e692f2b738fdae410cd7", "signature": "public float MinPanelHeight", "summary": "default 96" }, { "name": "MinPanelWidth", "kind": "field", "id": "field|MinPanelWidth|0|0|float|||hc8164d822bee1bca4df57bb3dbc7061e2e0cc00b5193fd5ee4341cbc793ce8d5", "signature": "public float MinPanelWidth", "summary": "default 120; splits stop here (and share what there is when too narrow)" }, { "name": "Layout", "kind": "field", "id": "field|Layout|0|0|string?|||h7807b455d7c8e77a74fac9c1ed12f22e7825f946f81c5f2e7061245ab3347feb", "signature": "public string? Layout", "summary": "first run layout, in the cui_dock_save format" }] }, + { "name": "CuiSharp.DocTab", "displayName": "DocTab", "kind": "struct", "summary": "Document tabs: editor style tabs. Clicking selects (*selected is updated), the x or a middle click asks to close, dragging reorders, and the strip scrolls sideways when the tabs do not fit. A dirty tab shows a dot that turns into the close button under the pointer. The selected tab is filled with the surface color so it joins the content below; the strip itself has no fill, like the other bars. Tabs keep their state by title, so give two tabs with the same name a key: \u0022main.c##src\u0022. The component never removes or moves your tabs itself: it reports a close or a move in the result and you apply it (selection already follows a move). With keyboard focus on the strip, Left and Right select, Home and End jump, Shift\u002BLeft/Right move the tab and Delete closes it. With \u0060shortcuts\u0060 set it also answers Ctrl\u002BTab, Ctrl\u002BShift\u002BTab, Ctrl\u002BPageUp/Down and Ctrl\u002BW (Cmd\u002BW on macOS) from anywhere in the window. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Icon = null;string? Tooltip = null;bool Dirty = default||ha3538768ee8e2356e93fa244d043d5befec3145d4d7bf41a5ee5dfef36695067", "signature": "DocTab(string? Title, string? Icon = null, string? Tooltip = null, bool Dirty = default)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Icon", "type": "string?", "default": "null" }, { "name": "Tooltip", "type": "string?", "default": "null" }, { "name": "Dirty", "type": "bool", "default": "default" }] }, { "name": "Dirty", "kind": "field", "id": "field|Dirty|0|0|bool|||h42a2b5080bdcb5c06c19af46ce1fb5cee7bf132aabdcbce284b87b0006d19976", "signature": "public bool Dirty", "summary": "unsaved changes: a dot in place of the x, which returns under the pointer" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "the tab\u0027s text and its identity; add \u0022##key\u0022 to tell two tabs with one name apart" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|string?|||h82837286b4f40e657285a1f72d68bcf8fa107f1c1022330456870eeab4fce431", "signature": "public string? Tooltip", "summary": "const char * tooltip" }] }, + { "name": "CuiSharp.DocTabsOpts", "displayName": "DocTabsOpts", "kind": "struct", "summary": "Document tabs: editor style tabs. Clicking selects (*selected is updated), the x or a middle click asks to close, dragging reorders, and the strip scrolls sideways when the tabs do not fit. A dirty tab shows a dot that turns into the close button under the pointer. The selected tab is filled with the surface color so it joins the content below; the strip itself has no fill, like the other bars. Tabs keep their state by title, so give two tabs with the same name a key: \u0022main.c##src\u0022. The component never removes or moves your tabs itself: it reports a close or a move in the result and you apply it (selection already follows a move). With keyboard focus on the strip, Left and Right select, Home and End jump, Shift\u002BLeft/Right move the tab and Delete closes it. With \u0060shortcuts\u0060 set it also answers Ctrl\u002BTab, Ctrl\u002BShift\u002BTab, Ctrl\u002BPageUp/Down and Ctrl\u002BW (Cmd\u002BW on macOS) from anywhere in the window. All fields are optional; zero selects the native default.", "members": [{ "name": "NoClose", "kind": "field", "id": "field|NoClose|0|0|bool|||hfca81f4eb9e59ae96cde475ff7f7dda0ac1f605eb4bb446e5f2bb0678aef5aa1", "signature": "public bool NoClose", "summary": "tabs have no x and cannot be closed (middle click, Delete and Ctrl\u002BW do nothing)" }, { "name": "NoReorder", "kind": "field", "id": "field|NoReorder|0|0|bool|||h40e9e306cecd9e73b1d84769fb8b90372cf2ad2ee0ca9e2c1f0a076725bbc256", "signature": "public bool NoReorder", "summary": "tabs cannot be dragged or moved with Shift\u002BLeft/Right" }, { "name": "Shortcuts", "kind": "field", "id": "field|Shortcuts|0|0|bool|||h4e6eb384aa83d4f3f50e0a4cc9983840795f73909650a085beedd7b4f3eb5607", "signature": "public bool Shortcuts", "summary": "Ctrl\u002BTab, Ctrl\u002BShift\u002BTab, Ctrl\u002BPageUp/Down and Ctrl\u002BW (Cmd\u002BW on macOS) work from anywhere in the window" }] }, + { "name": "CuiSharp.DocTabsResult", "displayName": "DocTabsResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Changed;int Close = default;int MoveFrom = default;int MoveTo = default||h608dddfcf287fc9da2670e5c40013276d15c48d128d68665d4c6ce31b81deb1f", "signature": "DocTabsResult(bool Changed, int Close = default, int MoveFrom = default, int MoveTo = default)", "parameters": [{ "name": "Changed", "type": "bool" }, { "name": "Close", "type": "int", "default": "default" }, { "name": "MoveFrom", "type": "int", "default": "default" }, { "name": "MoveTo", "type": "int", "default": "default" }] }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|bool|||h8c85f6cfc38e0138c8eb4125f6296f3a8f63126e75288f3d3b7fc9e85c6c1f63", "signature": "public bool Changed", "summary": "selected changed (click, keys or a move)" }, { "name": "Close", "kind": "field", "id": "field|Close|0|0|int|||hd66699e2f0c82a29493772269f2265430cd51ffdaea1b6e5a53620ccd8057858", "signature": "public int Close", "summary": "tab to close, or -1" }, { "name": "MoveFrom", "kind": "field", "id": "field|MoveFrom|0|0|int|||h5242007257927bf644e70880032ca9628cfdfcb01004763000e1099c7dc49aa8", "signature": "public int MoveFrom", "summary": "move the tab at move_from to move_to, or -1" }, { "name": "MoveTo", "kind": "field", "id": "field|MoveTo|0|0|int|||h9978012a238735312417aa1be6c6e404ffce2291eb4cc9867928d6eb35aebeac", "signature": "public int MoveTo", "summary": "move the tab at move_from to move_to, or -1" }] }, + { "name": "CuiSharp.DockItemOpts", "displayName": "DockItemOpts", "kind": "struct", "summary": "cui_dock_item_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Running", "kind": "field", "id": "field|Running|0|0|bool|||h2fd04b97026835fabd2b7359dcc11db3a29c3ff82f76076575e5902dbdd99c22", "signature": "public bool Running", "summary": "a small dot under the icon" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|int|||h1ea0a5985eea3db7ed64622a6693b2d10e07bdfdc4610208a1b5ee962fce491c", "signature": "public int Badge", "summary": "a count badge on the icon (\u002299\u002B\u0022 above 99); 0 for none" }] }, + { "name": "CuiSharp.DockOpts", "displayName": "DockOpts", "kind": "struct", "summary": "Dock: a row of icons that grow as the pointer passes, with labels and a dot under the running ones. Each item returns true when clicked. All fields are optional; zero selects the native default.", "members": [{ "name": "Magnify", "kind": "field", "id": "field|Magnify|0|0|float|||h1b7c2d09207b0b96fb623cbceda94330e8256fdb75cff5e9cb0e5693e018a756", "signature": "public float Magnify", "summary": "how much the icon under the pointer grows, default 1.55" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }] }, + { "name": "CuiSharp.DockPanelOpts", "displayName": "DockPanelOpts", "kind": "struct", "summary": "Returns true while the panel\u0027s content should be built; then call cui_dock_panel_end. All fields are optional; zero selects the native default.", "members": [{ "name": "Dirty", "kind": "field", "id": "field|Dirty|0|0|bool|||h42a2b5080bdcb5c06c19af46ce1fb5cee7bf132aabdcbce284b87b0006d19976", "signature": "public bool Dirty", "summary": "unsaved changes: the panel\u0027s tab shows a dot in place of its x" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.DockspaceOpts", "displayName": "DockspaceOpts", "kind": "struct", "summary": "Dockspace: an IDE style workspace that lays out your panels in a tree of resizable splits whose leaves hold one or more panels as document tabs. Submit every panel each frame between cui_dockspace_begin and cui_dockspace_end; the dockspace decides where it goes, and a panel\u0027s content is built only while its tab is the one showing: All fields are optional; zero selects the native default.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default fill" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "Shortcuts", "kind": "field", "id": "field|Shortcuts|0|0|bool|||h4e6eb384aa83d4f3f50e0a4cc9983840795f73909650a085beedd7b4f3eb5607", "signature": "public bool Shortcuts", "summary": "Ctrl\u002BTab, Ctrl\u002BShift\u002BTab and Ctrl\u002BW act on the focused leaf" }, { "name": "MinPanelHeight", "kind": "field", "id": "field|MinPanelHeight|0|0|float|||h477499d2af5c2fdee80ea8ecbb7b89b8cd2bc2693730e692f2b738fdae410cd7", "signature": "public float MinPanelHeight", "summary": "default 96" }, { "name": "MinPanelWidth", "kind": "field", "id": "field|MinPanelWidth|0|0|float|||hc8164d822bee1bca4df57bb3dbc7061e2e0cc00b5193fd5ee4341cbc793ce8d5", "signature": "public float MinPanelWidth", "summary": "default 120; splits stop here (and share what there is when too narrow)" }, { "name": "Layout", "kind": "field", "id": "field|Layout|0|0|string?|||h7807b455d7c8e77a74fac9c1ed12f22e7825f946f81c5f2e7061245ab3347feb", "signature": "public string? Layout", "summary": "first run layout, in the cui_dock_save format" }] }, + { "name": "CuiSharp.DotChartOpts", "displayName": "DotChartOpts", "kind": "struct", "summary": "cui_dot_chart_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "XUnits", "kind": "field", "id": "field|XUnits|0|0|AxisUnits|||hbd8eeab79a3da81515912236b933e365345927d35095add1f48e1f20674f5033", "signature": "public AxisUnits XUnits", "summary": "cui_axis_units x_units" }, { "name": "Annotations", "kind": "field", "id": "field|Annotations|0|0|ChartAnnotation[]?|||hf572bbdc29b8091f17b704850c5c66da71922caeee0f68e21523c35390196d76", "signature": "public ChartAnnotation[]? Annotations", "summary": "lines and points drawn over the dots" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "NoAxis", "kind": "field", "id": "field|NoAxis|0|0|bool|||h7ed3f5e19661414e8e5a34f5d26eebcb0221af8a315c52a29fefa02d1a393315", "signature": "public bool NoAxis", "summary": "hides the x labels, e.g. when an event track under the chart has them" }, { "name": "NoGrid", "kind": "field", "id": "field|NoGrid|0|0|bool|||h3235658a755bd4564629364c715a172c1b27a0be758c9a47167e63c08938a56d", "signature": "public bool NoGrid", "summary": "hides the dim dots of the empty grid" }, { "name": "NoReadout", "kind": "field", "id": "field|NoReadout|0|0|bool|||he836ca74ebe9bc70f72daf29dc6dbb612cab96c4ab137504208d381614005a54", "signature": "public bool NoReadout", "summary": "no value label under the pointer" }, { "name": "XMax", "kind": "field", "id": "field|XMax|0|0|double|||h8670655864949727cd765683d094d42e943d28bdbf4dfadf2a90a300b5bbb912", "signature": "public double XMax", "summary": "what the first and last sample stand for; equal: 0 to count - 1" }, { "name": "XMin", "kind": "field", "id": "field|XMin|0|0|double|||h18b9c91ac55c452b7a1b725e08dade1178a10f2c9d5c2f369ef7f17f24987231", "signature": "public double XMin", "summary": "what the first and last sample stand for; equal: 0 to count - 1" }, { "name": "XStep", "kind": "field", "id": "field|XStep|0|0|double|||h485ec828b04197a3e9f2f78a5eca4d285d15cca416141fe96c27673d53b62c8d", "signature": "public double XStep", "summary": "spacing of the x labels in x units; 0 picks one that fits" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "the plot and its labels, default 200" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "value range when min != max; otherwise 0 to the largest stacked value" }, { "name": "Min", "kind": "field", "id": "field|Min|0|0|float|||h81101b82558caea906d5838961d5313f13c99e7d68f18285b0cf84040f989d8a", "signature": "public float Min", "summary": "value range when min != max; otherwise 0 to the largest stacked value" }, { "name": "Pitch", "kind": "field", "id": "field|Pitch|0|0|float|||he40f86a7580124d2a0819c3cbc1f342652559fff082b9242e1fb4895ad770239", "signature": "public float Pitch", "summary": "distance between dot centers in points, default 6" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "values in the readout, default \u0022%.0f\u0022" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|string?|||h0c302a69bed7c7496c01c252ba72a9e4fdc11703160e8b42558740a0215d1888", "signature": "public string? Unit", "summary": "after values in the readout, e.g. \u0022MG\u0022" }, { "name": "XFormat", "kind": "field", "id": "field|XFormat|0|0|string?|||h84bff9c35a9947f320862f17d212a1b90a915ce62a3a97933b6134f65d16e852", "signature": "public string? XFormat", "summary": "x labels with CUI_AXIS_NUMBER, default \u0022%g\u0022" }] }, + { "name": "CuiSharp.DotChartResult", "displayName": "DotChartResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Hovered;double X = default;float Value = default;bool Clicked = default||h0fd76591e9b68232c04e57c63079f2406389dc44b48b216f8c0756c3c37b09da", "signature": "DotChartResult(int Hovered, double X = default, float Value = default, bool Clicked = default)", "parameters": [{ "name": "Hovered", "type": "int" }, { "name": "X", "type": "double", "default": "default" }, { "name": "Value", "type": "float", "default": "default" }, { "name": "Clicked", "type": "bool", "default": "default" }] }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|bool|||h85fd4a21f70f50045840117f43440ec2fab5969792a5040a0f59211069314baa", "signature": "public bool Clicked", "summary": "the plot was clicked, or Enter was pressed on it, this frame: \u0060x\u0060 is where" }, { "name": "X", "kind": "field", "id": "field|X|0|0|double|||ha5003241e77f21c568e126669d4eb833483db76ed13db54b5818340e60ef1785", "signature": "public double X", "summary": "that sample\u0027s x, in x units" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|float|||h8c20ac2e2f946bfe778b76ce5a0751e644f14cbfa254ac592650fe0166f91e91", "signature": "public float Value", "summary": "the stacked value there" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "the sample under the pointer or the keyboard cursor, or -1" }] }, + { "name": "CuiSharp.DotDisplayOpts", "displayName": "DotDisplayOpts", "kind": "struct", "summary": "Dot-matrix display: text drawn with a 5 by 7 dot font, for clocks, counters and status lines. Printable ASCII, the degree sign and the middle dot have glyphs; anything else is a box. Unlit dots show dimly unless \u0060no_dim\u0060 is set. In a box narrower than the text, the dots shrink to fit, or with \u0060marquee\u0060 the text scrolls. All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "lit dots; unset: the foreground" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fit to the text" }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "where the text sits in a wider box, default start" }, { "name": "Accent", "kind": "field", "id": "field|Accent|0|0|bool|||h0431c455f6626321b1263c5930a5021e82041c457c7ddf40ab8be569200ff842", "signature": "public bool Accent", "summary": "lit dots in the accent color" }, { "name": "Marquee", "kind": "field", "id": "field|Marquee|0|0|bool|||h6209b328aa18931a624e5cbed35cf21d0e140eb7fdd2cd1c03a697ae38a4405f", "signature": "public bool Marquee", "summary": "scrolls text that is wider than the box instead of shrinking it" }, { "name": "NoDim", "kind": "field", "id": "field|NoDim|0|0|bool|||h9a471f2046b1c477ae38c3ae2efca2483a9aec781ca4d6f81ea729fa18de4fb4", "signature": "public bool NoDim", "summary": "hides the unlit dots" }, { "name": "Pitch", "kind": "field", "id": "field|Pitch|0|0|float|||he40f86a7580124d2a0819c3cbc1f342652559fff082b9242e1fb4895ad770239", "signature": "public float Pitch", "summary": "distance between dot centers in points, default 4" }] }, + { "name": "CuiSharp.DotSeries", "displayName": "DotSeries", "kind": "struct", "summary": "One dot-matrix series: its samples, the name the readout shows beside the value, and whether it is drawn in the accent color. A series carries no count of its own \u2014 the number of samples is the call\u0027s, so every series reads the same number of values and they line up over the axis.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float[] values;string? name = null;bool accent = default||h3640615f946ff390bc248efb70a07293200c59c994e1c196bcd6190dbd2b64d5", "signature": "DotSeries(float[] values, string? name = null, bool accent = default)", "parameters": [{ "name": "values", "type": "float[]" }, { "name": "name", "type": "string?", "default": "null" }, { "name": "accent", "type": "bool", "default": "default" }], "summary": "A series over values, one sample every step from x_min to x_max." }, { "name": "Accent", "kind": "property", "id": "property|Accent|0|0|bool||get;|he17b4a189d68cf0e3026eed8438cb5e8d30168f2395026e46baed6ebb1408681", "signature": "bool Accent { get; }", "summary": "Draws this series in the accent color." }, { "name": "Values", "kind": "property", "id": "property|Values|0|0|float[]||get;|h9f47d9f586d02f78dbc66724dfccdd5187cd2f3f942817bd4caff92503a85c6d", "signature": "float[] Values { get; }", "summary": "The samples. Fewer than the call asked for are padded with zero, never read past." }, { "name": "Name", "kind": "property", "id": "property|Name|0|0|string?||get;|h7a0b85f429f62a0edb97e27eb9fe8881369e4ff9eed50c8941319c3f74ee15e1", "signature": "string? Name { get; }", "summary": "The name the readout shows when there is more than one series." }] }, { "name": "CuiSharp.DrawFn", "displayName": "DrawFn", "kind": "delegate", "summary": "A synchronous frame body. The UI cannot be captured or retained.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||object object;nint method||ha74493026c9de67ad69b8f35161e850315e72088b4317124a83ed60551932c34", "signature": "DrawFn(object @object, nint method)", "parameters": [{ "name": "object", "type": "object" }, { "name": "method", "type": "nint" }] }, { "name": "BeginInvoke", "kind": "method", "id": "method|BeginInvoke|0|0|IAsyncResult|Ui ui;AsyncCallback callback;object object||hac45c9831a9929ee04100a2592686ec77db7286035ae1280a8a0991cb1ae3be3", "signature": "IAsyncResult BeginInvoke(Ui ui, AsyncCallback callback, object @object)", "parameters": [{ "name": "ui", "type": "Ui" }, { "name": "callback", "type": "AsyncCallback" }, { "name": "object", "type": "object" }] }, { "name": "EndInvoke", "kind": "method", "id": "method|EndInvoke|0|0|void|IAsyncResult result||h477a5257f2f4c2172e54e854d9bc2f5c7bb790dade430a493c5a1c7d25248214", "signature": "void EndInvoke(IAsyncResult result)", "parameters": [{ "name": "result", "type": "IAsyncResult" }] }, { "name": "Invoke", "kind": "method", "id": "method|Invoke|0|0|void|Ui ui||h6cf12a559130f0cd4de4cd53bad7ece84ae886f89c24c8cde5b5abb7b8ec0223", "signature": "void Invoke(Ui ui)", "parameters": [{ "name": "ui", "type": "Ui" }] }] }, - { "name": "CuiSharp.DropzoneOpts", "displayName": "DropzoneOpts", "kind": "struct", "summary": "cui_dropzone_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|bool|||h5a2127a1e548266f50dbac415de28c4f38d4739bc0238184acf147186e6e67f6", "signature": "public bool Compact", "summary": "one row instead of a tall area" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 160" }, { "name": "Accept", "kind": "field", "id": "field|Accept|0|0|string?|||he1cd70d9dbbd9f84fd9ce4b5c3d19aa3c01a01f13616bb14cc0439178b505e31", "signature": "public string? Accept", "summary": "const char * accept" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "default \u0022or click to browse\u0022" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "default \u0022Drop files here\u0022" }] }, + { "name": "CuiSharp.DropzoneOpts", "displayName": "DropzoneOpts", "kind": "struct", "summary": "Dropzone: drop files from the OS, or click to browse. Returns the number of files dropped on it this frame (read them with cui_dropped_file), -1 when clicked (open a file dialog), 0 otherwise. accept filters by extension, e.g. \u0022png;jpg;pdf\u0022. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|bool|||h5a2127a1e548266f50dbac415de28c4f38d4739bc0238184acf147186e6e67f6", "signature": "public bool Compact", "summary": "one row instead of a tall area" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 160" }, { "name": "Accept", "kind": "field", "id": "field|Accept|0|0|string?|||he1cd70d9dbbd9f84fd9ce4b5c3d19aa3c01a01f13616bb14cc0439178b505e31", "signature": "public string? Accept", "summary": "extensions it takes, separated by semicolons, e.g. \u0022png;jpg;pdf\u0022; \u0060NULL\u0060 takes any file" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "default \u0022or click to browse\u0022" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "default \u0022Drop files here\u0022" }] }, { "name": "CuiSharp.Elevation", "displayName": "Elevation", "kind": "enum", "summary": "cui_elevation", "members": [{ "name": "Floating", "kind": "enum value", "id": "enum value|Floating|1|0|||3|hea861d50b6430afa49c308761158bbe38bf8658357985f957ce7935d5dc3d6a0", "signature": "Floating = 3", "value": "3" }, { "name": "None", "kind": "enum value", "id": "enum value|None|1|0|||0|h9e4e72abf0eaa3b853206f4d9ea0b0faabef40a12ba47974d4328c3a5bbf4faa", "signature": "None = 0", "value": "0" }, { "name": "Raised", "kind": "enum value", "id": "enum value|Raised|1|0|||2|h51cd57578ceace29bb2f45982e1f1be70d5ee21927853c4ee7416ca6afcd5d56", "signature": "Raised = 2", "value": "2" }, { "name": "Resting", "kind": "enum value", "id": "enum value|Resting|1|0|||1|h8ac65c1838c4d6f382fb1a100a957164102784f2c89ef84d1e759e6df2917199", "signature": "Resting = 1", "value": "1" }] }, - { "name": "CuiSharp.EmojiPickerOpts", "displayName": "EmojiPickerOpts", "kind": "struct", "summary": "cui_emoji_picker_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default up to 360" }, { "name": "NoPreview", "kind": "field", "id": "field|NoPreview|0|0|bool|||hbeaa404a65a9984c7454a2349b3c291f329b719ffe8f3385a0254312d5296ecf", "signature": "public bool NoPreview", "summary": "_Bool no_preview" }, { "name": "NoSearch", "kind": "field", "id": "field|NoSearch|0|0|bool|||h8e94ce70444af175e010e0b7f8ff2f0915d32ba5ec633f5ad9453567d32d7f78", "signature": "public bool NoSearch", "summary": "_Bool no_search" }, { "name": "NoTone", "kind": "field", "id": "field|NoTone|0|0|bool|||h260b857a4c1befdacb445624a62fd982ed4f73869740cc869039fdfb6494be78", "signature": "public bool NoTone", "summary": "_Bool no_tone" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "the grid; default 280" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "emoji size; default 26" }, { "name": "EmptyText", "kind": "field", "id": "field|EmptyText|0|0|string?|||hf342717e6ad669bb04ece3755e058da1432d4a41e61e0ea43136bbbef165f6be", "signature": "public string? EmptyText", "summary": "\u0022No emoji found\u0022" }, { "name": "Hint", "kind": "field", "id": "field|Hint|0|0|string?|||h6e4db358e5bb7cc3e8ac0f128ae742d77d252775d935f95c1c7492d00fc7cd97", "signature": "public string? Hint", "summary": "the preview with nothing to show: \u0022Pick an emoji\u0022" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "\u0022Search emoji\u0022" }, { "name": "GroupNames", "kind": "field", "id": "field|GroupNames|0|0|string[]?|||h328415c09df94848481e5a7363140eb990686579adea1f2281589310cfc9808e", "signature": "public string[]? GroupNames", "summary": "10 names: recent, then Unicode\u0027s nine groups" }] }, - { "name": "CuiSharp.EmptyOpts", "displayName": "EmptyOpts", "kind": "struct", "summary": "cui_empty_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Action", "kind": "field", "id": "field|Action|0|0|string?|||h288a83cea0bad5b5f38d9c844869a799f6116f3a3d074f257d6240feed95d754", "signature": "public string? Action", "summary": "const char * action" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, - { "name": "CuiSharp.ExpandableCardOpts", "displayName": "ExpandableCardOpts", "kind": "struct", "summary": "cui_expandable_card_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "BadgeTone", "kind": "field", "id": "field|BadgeTone|0|0|Tone|||h7d1e4a819759475402672321667bc594bcbc369a9973d1d17f2954d94090361f", "signature": "public Tone BadgeTone", "summary": "cui_tone badge_tone" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|string?|||he7e7c071afd35c021d23c003aca00c74fdf6fc42e693819ce02b70951ea38c8d", "signature": "public string? Badge", "summary": "const char * badge" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, - { "name": "CuiSharp.ExpandableTextOpts", "displayName": "ExpandableTextOpts", "kind": "struct", "summary": "cui_expandable_text_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "FadeTo", "kind": "field", "id": "field|FadeTo|0|0|Color|||h17b06b5593d3c727948dda416fb417a81cf58431563d79d9e2ad86da829d4e18", "signature": "public Color FadeTo", "summary": "cui_color fade_to" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }, { "name": "Lines", "kind": "field", "id": "field|Lines|0|0|int|||hee1996ff73a3bb29577188d155832b95024d32ca718f5404022abdd064faf7d7", "signature": "public int Lines", "summary": "int lines" }] }, - { "name": "CuiSharp.FaderOpts", "displayName": "FaderOpts", "kind": "struct", "summary": "cui_fader_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "HideValue", "kind": "field", "id": "field|HideValue|0|0|bool|||h20146cccd15f7f41f4700bc1046703defa878698eed0451ccdc8acf0325f3763", "signature": "public bool HideValue", "summary": "_Bool hide_value" }, { "name": "Horizontal", "kind": "field", "id": "field|Horizontal|0|0|bool|||h526d7918635bb7515376b05bb273960bfff3d8076453a269cb0cc74fef6ec108", "signature": "public bool Horizontal", "summary": "_Bool horizontal" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|float|||hde0ed5b9413eadd735eb6ae0346647e34ca58923c6d228bcc21459281e52a172", "signature": "public float Length", "summary": "track length, default 160" }, { "name": "Reset", "kind": "field", "id": "field|Reset|0|0|float|||h6f7e0b1685ab6d501be44af24ff4fc26ab960c5abf2371bc447d2d1768038172", "signature": "public float Reset", "summary": "double-click value, default 0 (clamped to the range)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "float step" }, { "name": "Meter", "kind": "field", "id": "field|Meter|0|0|float[]?|||h4733531ec8f1b28d8ffefa8a261909c9f0a67a6bf68cbefc3bde32b479d6d456", "signature": "public float[]? Meter", "summary": "a level meter beside the track (linear peaks, up to 8); a dB fader\u0027s range sets its scale" }, { "name": "Ticks", "kind": "field", "id": "field|Ticks|0|0|float[]?|||h568985bf4f209625e6445b6a87666db9cb9d1df9c66fe690bc3ea871ff1c40ed", "signature": "public float[]? Ticks", "summary": "scale marks in value units, labelled beside the track" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "default \u0022%.1f\u0022" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "under a vertical fader, before a horizontal one; the id when NULL" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|string?|||h0c302a69bed7c7496c01c252ba72a9e4fdc11703160e8b42558740a0215d1888", "signature": "public string? Unit", "summary": "const char * unit" }] }, - { "name": "CuiSharp.FeatureFlag", "displayName": "FeatureFlag", "kind": "struct", "summary": "cui_feature_flag. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Key;string? Description = null;bool[]? On = null;int[]? Rollout = null||hf6e76d11725ccb1702cf3044e35a9de7ac85b70e3297694ecaf77c591cc9f7f1", "signature": "FeatureFlag(string? Key, string? Description = null, bool[]? On = null, int[]? Rollout = null)", "parameters": [{ "name": "Key", "type": "string?" }, { "name": "Description", "type": "string?", "default": "null" }, { "name": "On", "type": "bool[]?", "default": "null" }, { "name": "Rollout", "type": "int[]?", "default": "null" }] }, { "name": "On", "kind": "field", "id": "field|On|0|0|bool[]?|||h73d90856923aaf0e3c785e4fbbd150102925e7f97fe12b709a2ed3c2b08b94ea", "signature": "public bool[]? On", "summary": "_Bool[8] on" }, { "name": "Rollout", "kind": "field", "id": "field|Rollout|0|0|int[]?|||h5a007ef18d7672d3a2d6cf8855f4dab254fdd7953013980ca29076a9f17d1346", "signature": "public int[]? Rollout", "summary": "percent of users while on; 0 and 100 mean everyone" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Key", "kind": "field", "id": "field|Key|0|0|string?|||h281882e813d8ea53a018b2a3c3109be418f13385ae48845424a2b53db1b89958", "signature": "public string? Key", "summary": "const char * key" }] }, - { "name": "CuiSharp.FeatureFlagsOpts", "displayName": "FeatureFlagsOpts", "kind": "struct", "summary": "cui_feature_flags_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fits the flags" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default fits the flags" }] }, - { "name": "CuiSharp.FeatureFlagsResult", "displayName": "FeatureFlagsResult", "kind": "struct", "summary": "cui_feature_flags_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Flag;int Env = default||h00ace949773ed8b78145fb22ffd942d177f945c92ac5b3ab1fc6064a04f7a1b7", "signature": "FeatureFlagsResult(int Flag, int Env = default)", "parameters": [{ "name": "Flag", "type": "int" }, { "name": "Env", "type": "int", "default": "default" }] }, { "name": "Env", "kind": "field", "id": "field|Env|0|0|int|||h269fe73fb8fabfdb994eca29622654e19b24a6ecb8611be18a698db081d93601", "signature": "public int Env", "summary": "changed this frame, or -1" }, { "name": "Flag", "kind": "field", "id": "field|Flag|0|0|int|||h8f33ee8f28f37670ad5fa060fa8a67e317f7a892fc622de79b672ab614aa1637", "signature": "public int Flag", "summary": "changed this frame, or -1" }] }, - { "name": "CuiSharp.FileBrowserOpts", "displayName": "FileBrowserOpts", "kind": "struct", "summary": "cui_file_browser_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default fill and 380" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill and 380" }, { "name": "FoldersOnly", "kind": "field", "id": "field|FoldersOnly|0|0|bool|||hd4a4b3af32b957c4b1a2c99c0fa5059efa4b339e4c87bd069ce62bd5ee1538e1", "signature": "public bool FoldersOnly", "summary": "_Bool folders_only" }, { "name": "Hidden", "kind": "field", "id": "field|Hidden|0|0|bool|||h824886caee00945c7c8430f150f6f9ebae2c31fa84b5a9df597acdd491d67531", "signature": "public bool Hidden", "summary": "show hidden files" }, { "name": "NoPlaces", "kind": "field", "id": "field|NoPlaces|0|0|bool|||h58e98131b4355be0155f7c399c74de85b84fa6757939ee13419ab927f3b24713", "signature": "public bool NoPlaces", "summary": "the sidebar of places" }, { "name": "MaxEntries", "kind": "field", "id": "field|MaxEntries|0|0|int|||h2695eb0ec10136d936d6e32d011a43f4405cf384da5a9a9b0c31d3fe6fea80a9", "signature": "public int MaxEntries", "summary": "default 20,000" }, { "name": "Filter", "kind": "field", "id": "field|Filter|0|0|string?|||h10b054d3af89b0f0488b555fdda99184421e59d9ce8a4d148cb733dd5d1b7914", "signature": "public string? Filter", "summary": "patterns that files must match, e.g. \u0022*.png;*.jpg\u0022; folders always show" }, { "name": "Places", "kind": "field", "id": "field|Places|0|0|string[]?|||h990fb79d8bafaa6917afcb8be44dfcc4493a6279144094fcd6473494d284e6a9", "signature": "public string[]? Places", "summary": "sidebar paths, default home, desktop, documents, downloads and the root" }] }, - { "name": "CuiSharp.FileBrowserResult", "displayName": "FileBrowserResult", "kind": "struct", "summary": "cui_file_browser_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Picked;string? Selected = null;bool Navigated = default;bool Error = default||he5088af553dcb9fdaf2f3c30532ac05bec6db922df4f680874f8bb5518eb3c97", "signature": "FileBrowserResult(string? Picked, string? Selected = null, bool Navigated = default, bool Error = default)", "parameters": [{ "name": "Picked", "type": "string?" }, { "name": "Selected", "type": "string?", "default": "null" }, { "name": "Navigated", "type": "bool", "default": "default" }, { "name": "Error", "type": "bool", "default": "default" }] }, { "name": "Error", "kind": "field", "id": "field|Error|0|0|bool|||hfd3432e69e2ee9d8db7e2cf8e846e6ac7fa7e98f45f67611fc47c03848a2c005", "signature": "public bool Error", "summary": "the folder could not be read" }, { "name": "Navigated", "kind": "field", "id": "field|Navigated|0|0|bool|||h7d8d88fb1663873906d90fd2bbc4febe3ad0264fb67b6f5fd54ac239688f8e3a", "signature": "public bool Navigated", "summary": "the folder in *path changed" }, { "name": "Picked", "kind": "field", "id": "field|Picked|0|0|string?|||he71fd616e11ffb9e4da1cc59b6bd371a33aa790a02f79d4af9201918912c8b28", "signature": "public string? Picked", "summary": "a file double-clicked or Entered, as a full path; valid this frame" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|string?|||h54e5042859558d471336a926eec4ae000369b42583863b5ecc399c5282d6f06f", "signature": "public string? Selected", "summary": "the selected entry as a full path, or NULL; valid this frame" }] }, - { "name": "CuiSharp.FileDialogKind", "displayName": "FileDialogKind", "kind": "enum", "summary": "cui_file_dialog_kind", "members": [{ "name": "Folder", "kind": "enum value", "id": "enum value|Folder|1|0|||2|hfad08ccc2097c52e94a8848d92d7296f90663bca9f46086f76e490a97544ffd6", "signature": "Folder = 2", "value": "2" }, { "name": "Open", "kind": "enum value", "id": "enum value|Open|1|0|||0|h86a861179fe6c6a3d949261e4d06eada700915f79e934f27203b73c0dfcac5ce", "signature": "Open = 0", "value": "0" }, { "name": "Save", "kind": "enum value", "id": "enum value|Save|1|0|||1|hfd7e65f5d4052b41e4b88420ff8555e791871fb72dca88a7756b690eec398289", "signature": "Save = 1", "value": "1" }] }, - { "name": "CuiSharp.FileDialogOpts", "displayName": "FileDialogOpts", "kind": "struct", "summary": "cui_file_dialog_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Kind", "kind": "field", "id": "field|Kind|0|0|FileDialogKind|||h512c396246ef17a640b367e83509222e0af62a830efa14c05edc36e5058f579d", "signature": "public FileDialogKind Kind", "summary": "cui_file_dialog_kind kind" }, { "name": "DefaultName", "kind": "field", "id": "field|DefaultName|0|0|string?|||h8ba7bcb3e3153953071109e359c6a8a1be52cc7c12fb8ceabb62d333927fa681", "signature": "public string? DefaultName", "summary": "save dialogs" }, { "name": "Filter", "kind": "field", "id": "field|Filter|0|0|string?|||h10b054d3af89b0f0488b555fdda99184421e59d9ce8a4d148cb733dd5d1b7914", "signature": "public string? Filter", "summary": "extensions separated by \u0027;\u0027, e.g. \u0022png;jpg\u0022" }, { "name": "FilterName", "kind": "field", "id": "field|FilterName|0|0|string?|||hb6099e8dce4d15e8c940b0b12de8a32f4ff43079315e297806daa40767e99ccc", "signature": "public string? FilterName", "summary": "e.g. \u0022Images\u0022" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, - { "name": "CuiSharp.FileEntry", "displayName": "FileEntry", "kind": "struct", "summary": "cui_file_entry. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;bool Dir = default;ulong Size = default;long Modified = default||hb29a6ee1fa60759debf709214f691bb649c27884369237c8bfb2d1307c3bf407", "signature": "FileEntry(string? Name, bool Dir = default, ulong Size = default, long Modified = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Dir", "type": "bool", "default": "default" }, { "name": "Size", "type": "ulong", "default": "default" }, { "name": "Modified", "type": "long", "default": "default" }] }, { "name": "Dir", "kind": "field", "id": "field|Dir|0|0|bool|||h5b6fe080acd870132c156e351057dc7979bbe734e126d0328692f8100fe564d8", "signature": "public bool Dir", "summary": "_Bool dir" }, { "name": "Modified", "kind": "field", "id": "field|Modified|0|0|long|||h04bbaccca73d0bdc4e3e9cdb87230703d5978e2d47288e2ef15a19ec65c6c575", "signature": "public long Modified", "summary": "seconds since 1970 (UTC); 0 unknown" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ulong|||h2db05cb8af3c713fe9425098cf97468b958626aa41fab04ccd53ea4cdfcbd5e5", "signature": "public ulong Size", "summary": "bytes" }] }, + { "name": "CuiSharp.EmojiPickerOpts", "displayName": "EmojiPickerOpts", "kind": "struct", "summary": "Emoji picker: search, groups with tabs, recent emoji, skin tones and a preview with the name. Returns the emoji picked this frame (UTF-8, valid until the next frame) or NULL. Put it in a popover to open it from a button. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default up to 360" }, { "name": "NoPreview", "kind": "field", "id": "field|NoPreview|0|0|bool|||hbeaa404a65a9984c7454a2349b3c291f329b719ffe8f3385a0254312d5296ecf", "signature": "public bool NoPreview", "summary": "hides the row at the bottom that shows the hovered emoji and its name" }, { "name": "NoSearch", "kind": "field", "id": "field|NoSearch|0|0|bool|||h8e94ce70444af175e010e0b7f8ff2f0915d32ba5ec633f5ad9453567d32d7f78", "signature": "public bool NoSearch", "summary": "hides the search field" }, { "name": "NoTone", "kind": "field", "id": "field|NoTone|0|0|bool|||h260b857a4c1befdacb445624a62fd982ed4f73869740cc869039fdfb6494be78", "signature": "public bool NoTone", "summary": "hides the skin tone button" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "the grid; default 280" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "emoji size; default 26" }, { "name": "EmptyText", "kind": "field", "id": "field|EmptyText|0|0|string?|||hf342717e6ad669bb04ece3755e058da1432d4a41e61e0ea43136bbbef165f6be", "signature": "public string? EmptyText", "summary": "\u0022No emoji found\u0022" }, { "name": "Hint", "kind": "field", "id": "field|Hint|0|0|string?|||h6e4db358e5bb7cc3e8ac0f128ae742d77d252775d935f95c1c7492d00fc7cd97", "signature": "public string? Hint", "summary": "the preview with nothing to show: \u0022Pick an emoji\u0022" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "\u0022Search emoji\u0022" }, { "name": "GroupNames", "kind": "field", "id": "field|GroupNames|0|0|string[]?|||h328415c09df94848481e5a7363140eb990686579adea1f2281589310cfc9808e", "signature": "public string[]? GroupNames", "summary": "10 names: recent, then Unicode\u0027s nine groups" }] }, + { "name": "CuiSharp.EmptyOpts", "displayName": "EmptyOpts", "kind": "struct", "summary": "cui_empty_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Action", "kind": "field", "id": "field|Action|0|0|string?|||h288a83cea0bad5b5f38d9c844869a799f6116f3a3d074f257d6240feed95d754", "signature": "public string? Action", "summary": "label of a button under the text; the call returns true when it is clicked" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.EventTrackOpts", "displayName": "EventTrackOpts", "kind": "struct", "summary": "Event track: moments on a time axis, as dots you drag along it. A click on an empty spot adds an event there and a double-click on one removes it. You own the array: the track keeps it sorted, edits it in place and never grows it past \u0060capacity\u0060. All fields are optional; zero selects the native default.", "members": [{ "name": "Units", "kind": "field", "id": "field|Units|0|0|AxisUnits|||h63b6ee14fa0335e8be197bcb98a871d4f0e10fa29be03fdec029ae8840bfccae", "signature": "public AxisUnits Units", "summary": "cui_axis_units units" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "NoAdd", "kind": "field", "id": "field|NoAdd|0|0|bool|||ha91b3bb6e2ed8e935b42cf65a1f680eff499f79b6dc5beceb4693c56fe574679", "signature": "public bool NoAdd", "summary": "clicks and Enter do not add events" }, { "name": "NoAxis", "kind": "field", "id": "field|NoAxis|0|0|bool|||h7ed3f5e19661414e8e5a34f5d26eebcb0221af8a315c52a29fefa02d1a393315", "signature": "public bool NoAxis", "summary": "hides the axis labels under the dots" }, { "name": "NoRemove", "kind": "field", "id": "field|NoRemove|0|0|bool|||h6d749b7d1dd93b81de6cec7403cd10c65f14ddd118a5f756a92c61a762f016d0", "signature": "public bool NoRemove", "summary": "double-clicks and Delete do not remove events" }, { "name": "LabelStep", "kind": "field", "id": "field|LabelStep|0|0|double|||h60141412fe8d82d9094acc17d26c58134494eb1ce6013b29291851f8a0d2f7ed", "signature": "public double LabelStep", "summary": "spacing of the axis labels; 0 picks one that fits" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|double|||h44b63c009d1e13f96b6beedec59bbb32a22e099dcdc403d6954e0407657f670a", "signature": "public double Step", "summary": "events snap to multiples of this from \u0060min\u0060; 0 does not snap" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "labels with CUI_AXIS_NUMBER, default \u0022%g\u0022" }] }, + { "name": "CuiSharp.EventTrackResult", "displayName": "EventTrackResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Changed;int Added = default;int Removed = default;int Selected = default;bool Dragging = default||hd188d9be6ceb36745986d0dff9f3d7f3913b2b2eaca016a7e14b22dab3b9a267", "signature": "EventTrackResult(bool Changed, int Added = default, int Removed = default, int Selected = default, bool Dragging = default)", "parameters": [{ "name": "Changed", "type": "bool" }, { "name": "Added", "type": "int", "default": "default" }, { "name": "Removed", "type": "int", "default": "default" }, { "name": "Selected", "type": "int", "default": "default" }, { "name": "Dragging", "type": "bool", "default": "default" }] }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|bool|||h8c85f6cfc38e0138c8eb4125f6296f3a8f63126e75288f3d3b7fc9e85c6c1f63", "signature": "public bool Changed", "summary": "an event was moved, added or removed this frame" }, { "name": "Dragging", "kind": "field", "id": "field|Dragging|0|0|bool|||h5965d29566343ca8b43dd43cec152687072d2f1dd1c64533331cd1d4cd519356", "signature": "public bool Dragging", "summary": "an event is being dragged" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "index of the event added this frame, or -1" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "index the removed event had, or -1" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "the selected event after this frame, or -1" }] }, + { "name": "CuiSharp.ExpandableCardOpts", "displayName": "ExpandableCardOpts", "kind": "struct", "summary": "Expandable card: a card whose header opens a body with a height spring. All fields are optional; zero selects the native default.", "members": [{ "name": "BadgeTone", "kind": "field", "id": "field|BadgeTone|0|0|Tone|||h7d1e4a819759475402672321667bc594bcbc369a9973d1d17f2954d94090361f", "signature": "public Tone BadgeTone", "summary": "cui_tone badge_tone" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|string?|||he7e7c071afd35c021d23c003aca00c74fdf6fc42e693819ce02b70951ea38c8d", "signature": "public string? Badge", "summary": "small badge in the header before the chevron, colored by \u0060badge_tone\u0060; \u0060NULL\u0060 for none" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.ExpandableTextOpts", "displayName": "ExpandableTextOpts", "kind": "struct", "summary": "Text clamped to a few lines with a fade and Show more / Show less. All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "FadeTo", "kind": "field", "id": "field|FadeTo|0|0|Color|||h17b06b5593d3c727948dda416fb417a81cf58431563d79d9e2ad86da829d4e18", "signature": "public Color FadeTo", "summary": "color the last line fades into; set it to the surface behind the text, default the background" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }, { "name": "Lines", "kind": "field", "id": "field|Lines|0|0|int|||hee1996ff73a3bb29577188d155832b95024d32ca718f5404022abdd064faf7d7", "signature": "public int Lines", "summary": "lines shown while collapsed, default 3" }] }, + { "name": "CuiSharp.FaderOpts", "displayName": "FaderOpts", "kind": "struct", "summary": "cui_fader_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "HideValue", "kind": "field", "id": "field|HideValue|0|0|bool|||h20146cccd15f7f41f4700bc1046703defa878698eed0451ccdc8acf0325f3763", "signature": "public bool HideValue", "summary": "_Bool hide_value" }, { "name": "Horizontal", "kind": "field", "id": "field|Horizontal|0|0|bool|||h526d7918635bb7515376b05bb273960bfff3d8076453a269cb0cc74fef6ec108", "signature": "public bool Horizontal", "summary": "the track runs left to right, with the label before it, instead of bottom to top" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|float|||hde0ed5b9413eadd735eb6ae0346647e34ca58923c6d228bcc21459281e52a172", "signature": "public float Length", "summary": "track length, default 160" }, { "name": "Reset", "kind": "field", "id": "field|Reset|0|0|float|||h6f7e0b1685ab6d501be44af24ff4fc26ab960c5abf2371bc447d2d1768038172", "signature": "public float Reset", "summary": "double-click value, default 0 (clamped to the range)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "float step" }, { "name": "Meter", "kind": "field", "id": "field|Meter|0|0|float[]?|||h4733531ec8f1b28d8ffefa8a261909c9f0a67a6bf68cbefc3bde32b479d6d456", "signature": "public float[]? Meter", "summary": "linear sample peaks, one per channel, for a level meter beside the track; \u0060NULL\u0060 for none" }, { "name": "Ticks", "kind": "field", "id": "field|Ticks|0|0|float[]?|||h568985bf4f209625e6445b6a87666db9cb9d1df9c66fe690bc3ea871ff1c40ed", "signature": "public float[]? Ticks", "summary": "values to mark and label beside the track, e.g. dB marks; at most 32" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "default \u0022%.1f\u0022" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "under a vertical fader, before a horizontal one; the id when NULL" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|string?|||h0c302a69bed7c7496c01c252ba72a9e4fdc11703160e8b42558740a0215d1888", "signature": "public string? Unit", "summary": "const char * unit" }] }, + { "name": "CuiSharp.FeatureFlag", "displayName": "FeatureFlag", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Key;string? Description = null;bool[]? On = null;int[]? Rollout = null||hf6e76d11725ccb1702cf3044e35a9de7ac85b70e3297694ecaf77c591cc9f7f1", "signature": "FeatureFlag(string? Key, string? Description = null, bool[]? On = null, int[]? Rollout = null)", "parameters": [{ "name": "Key", "type": "string?" }, { "name": "Description", "type": "string?", "default": "null" }, { "name": "On", "type": "bool[]?", "default": "null" }, { "name": "Rollout", "type": "int[]?", "default": "null" }] }, { "name": "On", "kind": "field", "id": "field|On|0|0|bool[]?|||h73d90856923aaf0e3c785e4fbbd150102925e7f97fe12b709a2ed3c2b08b94ea", "signature": "public bool[]? On", "summary": "the flag\u0027s switch in each environment, in the order of \u0060envs\u0060" }, { "name": "Rollout", "kind": "field", "id": "field|Rollout|0|0|int[]?|||h5a007ef18d7672d3a2d6cf8855f4dab254fdd7953013980ca29076a9f17d1346", "signature": "public int[]? Rollout", "summary": "percent of users while on; 0 and 100 mean everyone" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Key", "kind": "field", "id": "field|Key|0|0|string?|||h281882e813d8ea53a018b2a3c3109be418f13385ae48845424a2b53db1b89958", "signature": "public string? Key", "summary": "the flag\u0027s name, in the code font; the filter field searches it" }] }, + { "name": "CuiSharp.FeatureFlagsOpts", "displayName": "FeatureFlagsOpts", "kind": "struct", "summary": "cui_feature_flags_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fits the flags" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default fits the flags" }] }, + { "name": "CuiSharp.FeatureFlagsResult", "displayName": "FeatureFlagsResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Flag;int Env = default||h00ace949773ed8b78145fb22ffd942d177f945c92ac5b3ab1fc6064a04f7a1b7", "signature": "FeatureFlagsResult(int Flag, int Env = default)", "parameters": [{ "name": "Flag", "type": "int" }, { "name": "Env", "type": "int", "default": "default" }] }, { "name": "Env", "kind": "field", "id": "field|Env|0|0|int|||h269fe73fb8fabfdb994eca29622654e19b24a6ecb8611be18a698db081d93601", "signature": "public int Env", "summary": "changed this frame, or -1" }, { "name": "Flag", "kind": "field", "id": "field|Flag|0|0|int|||h8f33ee8f28f37670ad5fa060fa8a67e317f7a892fc622de79b672ab614aa1637", "signature": "public int Flag", "summary": "changed this frame, or -1" }] }, + { "name": "CuiSharp.FileBrowserOpts", "displayName": "FileBrowserOpts", "kind": "struct", "summary": "cui_file_browser_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default fill and 380" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill and 380" }, { "name": "FoldersOnly", "kind": "field", "id": "field|FoldersOnly|0|0|bool|||hd4a4b3af32b957c4b1a2c99c0fa5059efa4b339e4c87bd069ce62bd5ee1538e1", "signature": "public bool FoldersOnly", "summary": "lists folders and leaves the files out" }, { "name": "Hidden", "kind": "field", "id": "field|Hidden|0|0|bool|||h824886caee00945c7c8430f150f6f9ebae2c31fa84b5a9df597acdd491d67531", "signature": "public bool Hidden", "summary": "show hidden files" }, { "name": "NoPlaces", "kind": "field", "id": "field|NoPlaces|0|0|bool|||h58e98131b4355be0155f7c399c74de85b84fa6757939ee13419ab927f3b24713", "signature": "public bool NoPlaces", "summary": "the sidebar of places" }, { "name": "MaxEntries", "kind": "field", "id": "field|MaxEntries|0|0|int|||h2695eb0ec10136d936d6e32d011a43f4405cf384da5a9a9b0c31d3fe6fea80a9", "signature": "public int MaxEntries", "summary": "default 20,000" }, { "name": "Filter", "kind": "field", "id": "field|Filter|0|0|string?|||h10b054d3af89b0f0488b555fdda99184421e59d9ce8a4d148cb733dd5d1b7914", "signature": "public string? Filter", "summary": "patterns that files must match, e.g. \u0022*.png;*.jpg\u0022; folders always show" }, { "name": "Places", "kind": "field", "id": "field|Places|0|0|string[]?|||h990fb79d8bafaa6917afcb8be44dfcc4493a6279144094fcd6473494d284e6a9", "signature": "public string[]? Places", "summary": "full paths for the sidebar, each shown by its last part; at most 6" }] }, + { "name": "CuiSharp.FileBrowserResult", "displayName": "FileBrowserResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Picked;string? Selected = null;bool Navigated = default;bool Error = default||he5088af553dcb9fdaf2f3c30532ac05bec6db922df4f680874f8bb5518eb3c97", "signature": "FileBrowserResult(string? Picked, string? Selected = null, bool Navigated = default, bool Error = default)", "parameters": [{ "name": "Picked", "type": "string?" }, { "name": "Selected", "type": "string?", "default": "null" }, { "name": "Navigated", "type": "bool", "default": "default" }, { "name": "Error", "type": "bool", "default": "default" }] }, { "name": "Error", "kind": "field", "id": "field|Error|0|0|bool|||hfd3432e69e2ee9d8db7e2cf8e846e6ac7fa7e98f45f67611fc47c03848a2c005", "signature": "public bool Error", "summary": "the folder could not be read" }, { "name": "Navigated", "kind": "field", "id": "field|Navigated|0|0|bool|||h7d8d88fb1663873906d90fd2bbc4febe3ad0264fb67b6f5fd54ac239688f8e3a", "signature": "public bool Navigated", "summary": "the folder in *path changed" }, { "name": "Picked", "kind": "field", "id": "field|Picked|0|0|string?|||he71fd616e11ffb9e4da1cc59b6bd371a33aa790a02f79d4af9201918912c8b28", "signature": "public string? Picked", "summary": "a file double-clicked or Entered, as a full path; valid this frame" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|string?|||h54e5042859558d471336a926eec4ae000369b42583863b5ecc399c5282d6f06f", "signature": "public string? Selected", "summary": "the selected entry as a full path, or NULL; valid this frame" }] }, + { "name": "CuiSharp.FileDialogKind", "displayName": "FileDialogKind", "kind": "enum", "summary": "Native file dialogs. Blocking; returns true and writes the chosen path (UTF-8) to out when the user confirms. On Linux this uses zenity or kdialog when installed. Pass NULL as app to use the current app (handy in cui_app_run callbacks).", "members": [{ "name": "Folder", "kind": "enum value", "id": "enum value|Folder|1|0|||2|hfad08ccc2097c52e94a8848d92d7296f90663bca9f46086f76e490a97544ffd6", "signature": "Folder = 2", "value": "2" }, { "name": "Open", "kind": "enum value", "id": "enum value|Open|1|0|||0|h86a861179fe6c6a3d949261e4d06eada700915f79e934f27203b73c0dfcac5ce", "signature": "Open = 0", "value": "0" }, { "name": "Save", "kind": "enum value", "id": "enum value|Save|1|0|||1|hfd7e65f5d4052b41e4b88420ff8555e791871fb72dca88a7756b690eec398289", "signature": "Save = 1", "value": "1" }] }, + { "name": "CuiSharp.FileDialogOpts", "displayName": "FileDialogOpts", "kind": "struct", "summary": "cui_file_dialog_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Kind", "kind": "field", "id": "field|Kind|0|0|FileDialogKind|||h512c396246ef17a640b367e83509222e0af62a830efa14c05edc36e5058f579d", "signature": "public FileDialogKind Kind", "summary": "cui_file_dialog_kind kind" }, { "name": "DefaultName", "kind": "field", "id": "field|DefaultName|0|0|string?|||h8ba7bcb3e3153953071109e359c6a8a1be52cc7c12fb8ceabb62d333927fa681", "signature": "public string? DefaultName", "summary": "save dialogs" }, { "name": "Filter", "kind": "field", "id": "field|Filter|0|0|string?|||h10b054d3af89b0f0488b555fdda99184421e59d9ce8a4d148cb733dd5d1b7914", "signature": "public string? Filter", "summary": "extensions separated by \u0027;\u0027, e.g. \u0022png;jpg\u0022" }, { "name": "FilterName", "kind": "field", "id": "field|FilterName|0|0|string?|||hb6099e8dce4d15e8c940b0b12de8a32f4ff43079315e297806daa40767e99ccc", "signature": "public string? FilterName", "summary": "e.g. \u0022Images\u0022" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, + { "name": "CuiSharp.FileEntry", "displayName": "FileEntry", "kind": "struct", "summary": "File browser and file picker (an open or save dialog drawn by CUI, like the rest of the window; cui_app_file_dialog in cui_app.h opens the system\u0027s own). The browser lists a folder (name, date modified and size; folders first, any column sorts), with back, forward and up, a path bar you can type into, a filter field and a sidebar of places. Double-click or Enter opens a folder or picks a file; Backspace goes up, Alt\u002BLeft and Alt\u002BRight go back and forward, F5 reloads, and typing a letter jumps to the next name that starts with it. A folder is read when you enter it (or reload), not every frame, and only the rows in view are built. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;bool Dir = default;ulong Size = default;long Modified = default||hb29a6ee1fa60759debf709214f691bb649c27884369237c8bfb2d1307c3bf407", "signature": "FileEntry(string? Name, bool Dir = default, ulong Size = default, long Modified = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Dir", "type": "bool", "default": "default" }, { "name": "Size", "type": "ulong", "default": "default" }, { "name": "Modified", "type": "long", "default": "default" }] }, { "name": "Dir", "kind": "field", "id": "field|Dir|0|0|bool|||h5b6fe080acd870132c156e351057dc7979bbe734e126d0328692f8100fe564d8", "signature": "public bool Dir", "summary": "_Bool dir" }, { "name": "Modified", "kind": "field", "id": "field|Modified|0|0|long|||h04bbaccca73d0bdc4e3e9cdb87230703d5978e2d47288e2ef15a19ec65c6c575", "signature": "public long Modified", "summary": "seconds since 1970 (UTC); 0 unknown" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ulong|||h2db05cb8af3c713fe9425098cf97468b958626aa41fab04ccd53ea4cdfcbd5e5", "signature": "public ulong Size", "summary": "bytes" }] }, { "name": "CuiSharp.FilePickResult", "displayName": "FilePickResult", "kind": "class", "summary": "What a picker did: a path, a cancel, or a failure with a reason worth printing.", "members": [{ "name": "Cancelled", "kind": "property", "id": "property|Cancelled|0|0|bool||get;|h2efcc25de1ef9a19e95ed116a6aabd55673ae9c4e69603b2c98c7bef7023bb92", "signature": "bool Cancelled { get; }", "summary": "Cancelled, or the dialog failed before the user could choose." }, { "name": "Equals", "kind": "method", "id": "method|Equals|0|0|bool|FilePickResult? other||h9ce70d8b527b9cfa7ed1e66007729646bf7d86751f07f2be0705afb73b3bcb8a", "signature": "bool Equals(FilePickResult? other)", "parameters": [{ "name": "other", "type": "FilePickResult?" }] }, { "name": "Equals", "kind": "method", "id": "method|Equals|0|0|bool|object? obj||hd3e92e37e2998ac34e36806ff7fcef181ad242dea4dc74cd082b2897104d07a6", "signature": "bool Equals(object? obj)", "parameters": [{ "name": "obj", "type": "object?" }] }, { "name": "Picked", "kind": "property", "id": "property|Picked|0|0|bool||get;|h124b2629e64434532e57ab0205c35c265a98a47237a6f716133e09134d671d11", "signature": "bool Picked { get; }", "summary": "True when the user chose something." }, { "name": "GetHashCode", "kind": "method", "id": "method|GetHashCode|0|0|int|||hdfcf1984bbd53bb9079a9b702ff4724865de4dcf06bbed07c42edbc8e1085a8d", "signature": "int GetHashCode()" }, { "name": "CancelledResult", "kind": "property", "id": "property|CancelledResult|1|0|FilePickResult||get;|hfc5ad99f2303ca14cba250eba8965f1df63d64fce3932ad9619a208b39777d01", "signature": "static FilePickResult CancelledResult { get; }", "summary": "The user closed the dialog without choosing." }, { "name": "Chosen", "kind": "method", "id": "method|Chosen|1|0|FilePickResult|string path||hb47fcfcd2c9a117d964f3b36ce4984322d03510dc09048c95b5afd9c2cd7ff7e", "signature": "static FilePickResult Chosen(string path)", "parameters": [{ "name": "path", "type": "string" }], "summary": "The user chose path." }, { "name": "Failed", "kind": "method", "id": "method|Failed|1|0|FilePickResult|string error||h9fd50455442ba6e7c8ed43db4092f8fea6317e2d31a0da05c1bf2b3999a1a392", "signature": "static FilePickResult Failed(string error)", "parameters": [{ "name": "error", "type": "string" }], "summary": "The dialog could not be shown." }, { "name": "!=", "kind": "operator", "id": "operator|op_Inequality|1|0|bool|FilePickResult? left;FilePickResult? right||ha12706fc20b86fee0c0a8e6e90e6caea3a575fbc4605c760c5a29a1592a71cea", "signature": "static bool operator !=(FilePickResult? left, FilePickResult? right)", "member": "op_Inequality", "parameters": [{ "name": "left", "type": "FilePickResult?" }, { "name": "right", "type": "FilePickResult?" }] }, { "name": "==", "kind": "operator", "id": "operator|op_Equality|1|0|bool|FilePickResult? left;FilePickResult? right||hd3da337c2e6e5b79fc5043c88cd32fd5b5516be70a29e3a13aa51e45f857ade8", "signature": "static bool operator ==(FilePickResult? left, FilePickResult? right)", "member": "op_Equality", "parameters": [{ "name": "left", "type": "FilePickResult?" }, { "name": "right", "type": "FilePickResult?" }] }, { "name": "Path", "kind": "property", "id": "property|Path|0|0|string||get;|hb2d3527ced8c78e3ca97b5a77f9028096a1989cb0f7317d6116bac0bf5229f5e", "signature": "string Path { get; }", "summary": "The chosen path, or an empty string." }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()" }, { "name": "Error", "kind": "property", "id": "property|Error|0|0|string?||get;|hee4bd919bee3b8555023d32e2e1acf1654145ae953f84f375813f5fc00769b4f", "signature": "string? Error { get; }", "summary": "Why the dialog failed, or null. A cancel is not a failure." }] }, - { "name": "CuiSharp.FilePickerOpts", "displayName": "FilePickerOpts", "kind": "struct", "summary": "cui_file_picker_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Folders", "kind": "field", "id": "field|Folders|0|0|bool|||h33f2f773db778578dcfc274e5f92eb5a8feea7f48cc49e26a4b5f5487da1bcd6", "signature": "public bool Folders", "summary": "choose a folder" }, { "name": "Save", "kind": "field", "id": "field|Save|0|0|bool|||h2d63f65a9a7c18ba2a6c6e9ec7f14d22db9f8742938973a56d005f03196a145e", "signature": "public bool Save", "summary": "a name field and Save" }, { "name": "Filter", "kind": "field", "id": "field|Filter|0|0|string?|||h10b054d3af89b0f0488b555fdda99184421e59d9ce8a4d148cb733dd5d1b7914", "signature": "public string? Filter", "summary": "e.g. \u0022*.png;*.jpg\u0022" }, { "name": "FilterLabel", "kind": "field", "id": "field|FilterLabel|0|0|string?|||h06004dfec934f098fc5fcecfaf55e2280c8fbcb5cb4a0bef30940fea6bd7e857", "signature": "public string? FilterLabel", "summary": "e.g. \u0022Images\u0022" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "save: the name to start with" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|string?|||hd7a47b4a9c53b2aaebb334edff5874b7a281154d7f7f23ba58cda72a8cabeea3", "signature": "public string? Start", "summary": "the folder to start in, default the current directory" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "default \u0022Open\u0022, \u0022Save\u0022 or \u0022Choose a folder\u0022" }] }, - { "name": "CuiSharp.FilterField", "displayName": "FilterField", "kind": "struct", "summary": "cui_filter_field. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;string? Icon = null;string[]? Options = null||h13daed72ec0a543c60cc62f5d03d693637a8930d8cb5bdab023ecb23298d8659", "signature": "FilterField(string? Name, string? Icon = null, string[]? Options = null)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Icon", "type": "string?", "default": "null" }, { "name": "Options", "type": "string[]?", "default": "null" }] }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }, { "name": "Options", "kind": "field", "id": "field|Options|0|0|string[]?|||hdfda7102d5f8aaac0d147fd21e4bc444c34f0ec45a85854dfa823ce5ed2aa5b5", "signature": "public string[]? Options", "summary": "const char *const * options" }] }, - { "name": "CuiSharp.FlameOpts", "displayName": "FlameOpts", "kind": "struct", "summary": "cui_flame_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "MinRange", "kind": "field", "id": "field|MinRange|0|0|double|||h48e306cd4a74be0e663f2bc1ccdd39cb18de01460b82a3a6f2849dc1999e1208", "signature": "public double MinRange", "summary": "deepest zoom in seconds, default 1e-8" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default: fits the rows (up to 360)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "default 20" }] }, - { "name": "CuiSharp.FlameResult", "displayName": "FlameResult", "kind": "struct", "summary": "cui_flame_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool SelectionChanged;bool ViewChanged = default;int Hovered = default;int Zoomed = default||h9c0aaf1abf86053442ace7190869b10a958ac03bb9756b6666234e6be88cfb30", "signature": "FlameResult(bool SelectionChanged, bool ViewChanged = default, int Hovered = default, int Zoomed = default)", "parameters": [{ "name": "SelectionChanged", "type": "bool" }, { "name": "ViewChanged", "type": "bool", "default": "default" }, { "name": "Hovered", "type": "int", "default": "default" }, { "name": "Zoomed", "type": "int", "default": "default" }] }, { "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|bool|||h05b0cea014ff6284a7cc2c58dd6fb1035a7e0e81c25aa7972d22ca756915ea7a", "signature": "public bool SelectionChanged", "summary": "selected changed (click or keys)" }, { "name": "ViewChanged", "kind": "field", "id": "field|ViewChanged|0|0|bool|||h644da108e153019ae339e325a567b1b89a1cc6e0c8470c8761ac096a08aee5ee", "signature": "public bool ViewChanged", "summary": "view changed (zoom, pan, fit, animation)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "span under the pointer, or -1" }, { "name": "Zoomed", "kind": "field", "id": "field|Zoomed|0|0|int|||he68f9a8e48bcbe09fa4ffc168bada70699938bf2b39fa8565e6f8b914b559293", "signature": "public int Zoomed", "summary": "span zoomed to this frame (double-click, Enter), or -1" }] }, - { "name": "CuiSharp.FlameSpan", "displayName": "FlameSpan", "kind": "struct", "summary": "cui_flame_span. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;double Start = default;double End = default;int Depth = default;uint ColorKey = default||hacb7d1e351415c7269afc1d950f3cc04372fb2e2a502e6d23b7e651bfec0d46e", "signature": "FlameSpan(string? Name, double Start = default, double End = default, int Depth = default, uint ColorKey = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Start", "type": "double", "default": "default" }, { "name": "End", "type": "double", "default": "default" }, { "name": "Depth", "type": "int", "default": "default" }, { "name": "ColorKey", "type": "uint", "default": "default" }] }, { "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "seconds, end \u003E= start" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "seconds, end \u003E= start" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "row, 0 = top" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }, { "name": "ColorKey", "kind": "field", "id": "field|ColorKey|0|0|uint|||hbbc8b9d5c464ef1cd597c6f62696a77755f8847c84433421ceea1723416ab5bd", "signature": "public uint ColorKey", "summary": "0: hashed from name" }] }, - { "name": "CuiSharp.FlameView", "displayName": "FlameView", "kind": "struct", "summary": "cui_flame_view. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||double Start;double End = default;float Scroll = default||h4d53ee93963f5b7f706dad2a77d1699eb54189f20f8cfd510e4962cfc315d15a", "signature": "FlameView(double Start, double End = default, float Scroll = default)", "parameters": [{ "name": "Start", "type": "double" }, { "name": "End", "type": "double", "default": "default" }, { "name": "Scroll", "type": "float", "default": "default" }] }, { "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "visible time range; end \u003C= start fits every span" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "visible time range; end \u003C= start fits every span" }, { "name": "Scroll", "kind": "field", "id": "field|Scroll|0|0|float|||h0dfb15b9f1ad3ea27fb4bb36094488302791ae6da1fc5727249bcba34280b5fb", "signature": "public float Scroll", "summary": "rows scrolled off the top, in points" }] }, - { "name": "CuiSharp.Font", "displayName": "Font", "kind": "enum", "summary": "CUI_FONT_BODY", "members": [{ "name": "Body", "kind": "enum value", "id": "enum value|Body|1|0|||0|head7b7cd177853d0234edaa27edf0066fb6648b51a2c13fd1667d8e0f5dc7e11", "signature": "Body = 0", "value": "0" }, { "name": "Display", "kind": "enum value", "id": "enum value|Display|1|0|||2|ha32cca83e476dc525655d0a0229dc15801c768508937166b293f6470140d6bff", "signature": "Display = 2", "value": "2" }, { "name": "Icons", "kind": "enum value", "id": "enum value|Icons|1|0|||4|h1ea650d93e0720121b0919070e31b946ba0bbc170e675510337914a9b0986718", "signature": "Icons = 4", "value": "4" }, { "name": "Medium", "kind": "enum value", "id": "enum value|Medium|1|0|||1|h19ce8beaa16ab17ff34a75e17ba974241b6d50308f7d530f6dc388ad4df3fbb2", "signature": "Medium = 1", "value": "1" }, { "name": "Mono", "kind": "enum value", "id": "enum value|Mono|1|0|||3|h624cfcc0c05230c502eddf6a005885c4886fd79c316eef10dbed8d09bd564cc8", "signature": "Mono = 3", "value": "3" }] }, - { "name": "CuiSharp.FunnelOpts", "displayName": "FunnelOpts", "kind": "struct", "summary": "cui_funnel_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, - { "name": "CuiSharp.GanttOpts", "displayName": "GanttOpts", "kind": "struct", "summary": "cui_gantt_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "cui_size height" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|bool|||he393614309fa34fbb6e0930aa04c288616abcb05d02f63ad9eb9cb23927877ad", "signature": "public bool ReadOnly", "summary": "_Bool read_only" }, { "name": "DayWidth", "kind": "field", "id": "field|DayWidth|0|0|float|||hc29d4a66435c10834835d199d7668ed8a85501e1faf9bcdacb721c3b354f46c0", "signature": "public float DayWidth", "summary": "float day_width" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "float row_height" }, { "name": "Today", "kind": "field", "id": "field|Today|0|0|int|||h3dbc223105bf4f83f66479770b59a229a8203cf99f501b627d518e1cb56f4b2c", "signature": "public int Today", "summary": "int today" }] }, - { "name": "CuiSharp.GanttTask", "displayName": "GanttTask", "kind": "struct", "summary": "cui_gantt_task. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;string? Owner = null;int Start = default;int End = default;float Progress = default;Tone Tone = Tone.Neutral;int DependsOn = default;bool Milestone = default||hcd916955eb89d122feb09f40a84b333e302a9bcf904d50eb5dfd80cad57266c9", "signature": "GanttTask(string? Name, string? Owner = null, int Start = default, int End = default, float Progress = default, Tone Tone = Tone.Neutral, int DependsOn = default, bool Milestone = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Owner", "type": "string?", "default": "null" }, { "name": "Start", "type": "int", "default": "default" }, { "name": "End", "type": "int", "default": "default" }, { "name": "Progress", "type": "float", "default": "default" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }, { "name": "DependsOn", "type": "int", "default": "default" }, { "name": "Milestone", "type": "bool", "default": "default" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Milestone", "kind": "field", "id": "field|Milestone|0|0|bool|||h433394e3fd6c232db062a8b9150bf3faf1310940dd4b8d970df182a9a23d89b9", "signature": "public bool Milestone", "summary": "_Bool milestone" }, { "name": "Progress", "kind": "field", "id": "field|Progress|0|0|float|||h7ee3c00970d0194eef8a3de43a8432ca8168034fc90ca2ab893b22ce785d5b05", "signature": "public float Progress", "summary": "float progress" }, { "name": "DependsOn", "kind": "field", "id": "field|DependsOn|0|0|int|||hc6f9ef65ae7e49def7df7a36abf53610c60718d6c6c30ab4038ec669e19b2558", "signature": "public int DependsOn", "summary": "int depends_on" }, { "name": "End", "kind": "field", "id": "field|End|0|0|int|||h101ad3d5ebda13e9c347a22363390231322c8fbb64d191c3a092d362955b7964", "signature": "public int End", "summary": "int end" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|int|||ha1b0c3e4699fce964620bef0f781444da21c0b72084141f26a9e30e25bf70e5f", "signature": "public int Start", "summary": "int start" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }, { "name": "Owner", "kind": "field", "id": "field|Owner|0|0|string?|||hc52cc9cd37f4d39f31b7eeb6e1f29b6af483245edbb4a7005806a8e0e05d5d6b", "signature": "public string? Owner", "summary": "const char * owner" }] }, - { "name": "CuiSharp.GaugeBand", "displayName": "GaugeBand", "kind": "struct", "summary": "cui_gauge_band. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float To;Tone Tone = Tone.Neutral||he5303332621f5d63926c3958a8da5fbcb33a4212e32316d7bb1310b540b7a156", "signature": "GaugeBand(float To, Tone Tone = Tone.Neutral)", "parameters": [{ "name": "To", "type": "float" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "from the band before (or min) up to \u0060to\u0060" }, { "name": "To", "kind": "field", "id": "field|To|0|0|float|||hf8849e6dc06eacb246cf9418bb9bdf8b9b9026e6b10eb69f5c9835b3923929db", "signature": "public float To", "summary": "from the band before (or min) up to \u0060to\u0060" }] }, - { "name": "CuiSharp.GradientOpts", "displayName": "GradientOpts", "kind": "struct", "summary": "cui_gradient_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "ramp height, default 28" }] }, - { "name": "CuiSharp.GradientResult", "displayName": "GradientResult", "kind": "struct", "summary": "cui_gradient_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Changed;int Added = default;int Removed = default;int Selected = default||h95a0af232e33852796673a1bd1dfda1c5a5df36662b49e9aeb4ff595a54049d3", "signature": "GradientResult(bool Changed, int Added = default, int Removed = default, int Selected = default)", "parameters": [{ "name": "Changed", "type": "bool" }, { "name": "Added", "type": "int", "default": "default" }, { "name": "Removed", "type": "int", "default": "default" }, { "name": "Selected", "type": "int", "default": "default" }] }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|bool|||h8c85f6cfc38e0138c8eb4125f6296f3a8f63126e75288f3d3b7fc9e85c6c1f63", "signature": "public bool Changed", "summary": "a stop moved, changed color, or was added or removed" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "index of the stop added this frame, or -1" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "index the removed stop had, or -1" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "the selected stop" }] }, - { "name": "CuiSharp.GradientStop", "displayName": "GradientStop", "kind": "struct", "summary": "cui_gradient_stop. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float Pos;Color Color = default||h3c0f7d9eb0c50de558822455e566d97186a79f892b2a555a28d22fd1c2db49b0", "signature": "GradientStop(float Pos, Color Color = default)", "parameters": [{ "name": "Pos", "type": "float" }, { "name": "Color", "type": "Color", "default": "default" }] }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "pos 0..1" }, { "name": "Pos", "kind": "field", "id": "field|Pos|0|0|float|||h9aac977227e3823ee394b51dffa79203fcc9f0c18ab3d961f658a2082fe8ef7e", "signature": "public float Pos", "summary": "pos 0..1" }] }, - { "name": "CuiSharp.GradientTextOpts", "displayName": "GradientTextOpts", "kind": "struct", "summary": "cui_gradient_text_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "From", "kind": "field", "id": "field|From|0|0|Color|||h4a10f176a9d7bda1f8fab6d1f082005e51eeee4bb2e0de61a9f55996b3ed28ea", "signature": "public Color From", "summary": "cui_color from" }, { "name": "To", "kind": "field", "id": "field|To|0|0|Color|||h542b5266588ba47fb0aac706b708415d8904c3fb7631605542c17b1d55706474", "signature": "public Color To", "summary": "cui_color to" }, { "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "cui_font font" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Animate", "kind": "field", "id": "field|Animate|0|0|bool|||h5a82b6367d0084f17617e03959d7b06969fb9a29249f0eb55062c75a02ab9912", "signature": "public bool Animate", "summary": "_Bool animate" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }] }, - { "name": "CuiSharp.GraphEdge", "displayName": "GraphEdge", "kind": "struct", "summary": "cui_graph_edge. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int From;int To = default||h45b66cd03dba9138c65a55e8d718609dfc21acdf17cee7e874ca2e37890deff9", "signature": "GraphEdge(int From, int To = default)", "parameters": [{ "name": "From", "type": "int" }, { "name": "To", "type": "int", "default": "default" }] }, { "name": "From", "kind": "field", "id": "field|From|0|0|int|||h11f7cebcf77a074c120dda4af3a2c2a7d6533333236d3fbb272c705fd58fd693", "signature": "public int From", "summary": "int from" }, { "name": "To", "kind": "field", "id": "field|To|0|0|int|||h51c44d9327d4ff5ec543672605cdc9085758c30f02fb02478eed8ab117d48e44", "signature": "public int To", "summary": "int to" }] }, - { "name": "CuiSharp.GraphNode", "displayName": "GraphNode", "kind": "struct", "summary": "cui_graph_node. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Label;string? Detail = null;Tone Tone = Tone.Neutral||hfb28e9974288016cabfd90678125df7f5034bb8f3c61d02cd478c85f2414fd25", "signature": "GraphNode(string? Label, string? Detail = null, Tone Tone = Tone.Neutral)", "parameters": [{ "name": "Label", "type": "string?" }, { "name": "Detail", "type": "string?", "default": "null" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "const char * detail" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, - { "name": "CuiSharp.GraphOpts", "displayName": "GraphOpts", "kind": "struct", "summary": "cui_graph_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "TopDown", "kind": "field", "id": "field|TopDown|0|0|bool|||hab9fd86f1e6b6c244739e2e145b8663acced7deec0e8cf7a9f458d15f6d24847", "signature": "public bool TopDown", "summary": "_Bool top_down" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }] }, - { "name": "CuiSharp.GraphResult", "displayName": "GraphResult", "kind": "struct", "summary": "cui_graph_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Clicked;int Activated = default;int Hovered = default||h08eae20e62b95faa32d7edc2fa8a719fc4bd9849f5194d1e248c07ac87aafc23", "signature": "GraphResult(int Clicked, int Activated = default, int Hovered = default)", "parameters": [{ "name": "Clicked", "type": "int" }, { "name": "Activated", "type": "int", "default": "default" }, { "name": "Hovered", "type": "int", "default": "default" }] }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "int activated" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "int clicked" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "int hovered" }] }, - { "name": "CuiSharp.GridColumn", "displayName": "GridColumn", "kind": "struct", "summary": "cui_grid_column. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;float Width = default;TextAlign Align = TextAlign.Start;bool Sortable = default;bool Fixed = default;int Priority = default||hb81cc8a31d1cb30c1fff1e990e575eb309947fe9585f9a9583ce0536b507c528", "signature": "GridColumn(string? Title, float Width = default, TextAlign Align = TextAlign.Start, bool Sortable = default, bool Fixed = default, int Priority = default)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Width", "type": "float", "default": "default" }, { "name": "Align", "type": "TextAlign", "default": "TextAlign.Start" }, { "name": "Sortable", "type": "bool", "default": "default" }, { "name": "Fixed", "type": "bool", "default": "default" }, { "name": "Priority", "type": "int", "default": "default" }] }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "cui_text_align align" }, { "name": "Fixed", "kind": "field", "id": "field|Fixed|0|0|bool|||h6f301dff6b9a83ab8f47d07a691dc00f4145c0537d753274b38bf0d43c5f0a06", "signature": "public bool Fixed", "summary": "not resizable" }, { "name": "Sortable", "kind": "field", "id": "field|Sortable|0|0|bool|||ha21687844f87f043066ecf4a581aada41967a9906bbaa3897b2a88d640efc033", "signature": "public bool Sortable", "summary": "_Bool sortable" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "initial width in points, default 150" }, { "name": "Priority", "kind": "field", "id": "field|Priority|0|0|int|||hbaa8b212dbdc34fa1179a77ab76338f94bb35b6954915c627238c0927fab9d97", "signature": "public int Priority", "summary": "0 always shown; when the grid is too narrow, columns with a priority hide, the highest number first, until the rest fit" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, - { "name": "CuiSharp.GridOpts", "displayName": "GridOpts", "kind": "struct", "summary": "cui_grid_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default fill" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "HideCheckboxes", "kind": "field", "id": "field|HideCheckboxes|0|0|bool|||h4ad130a86b135f34b02c88c4b70d50112b1d85a3e2911e18fd02faa702da9a35", "signature": "public bool HideCheckboxes", "summary": "with selected: rows still select (click, Shift, Ctrl) but no checkbox column" }, { "name": "Striped", "kind": "field", "id": "field|Striped|0|0|bool|||h8ee3cac64f2feaa8e6270ae2b329845033941012b85937e8fd5ac134a90bb7dc", "signature": "public bool Striped", "summary": "_Bool striped" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "default 40" }] }, + { "name": "CuiSharp.FilePickerOpts", "displayName": "FilePickerOpts", "kind": "struct", "summary": "cui_file_picker_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Folders", "kind": "field", "id": "field|Folders|0|0|bool|||h33f2f773db778578dcfc274e5f92eb5a8feea7f48cc49e26a4b5f5487da1bcd6", "signature": "public bool Folders", "summary": "choose a folder" }, { "name": "Save", "kind": "field", "id": "field|Save|0|0|bool|||h2d63f65a9a7c18ba2a6c6e9ec7f14d22db9f8742938973a56d005f03196a145e", "signature": "public bool Save", "summary": "a name field and Save" }, { "name": "Filter", "kind": "field", "id": "field|Filter|0|0|string?|||h10b054d3af89b0f0488b555fdda99184421e59d9ce8a4d148cb733dd5d1b7914", "signature": "public string? Filter", "summary": "e.g. \u0022*.png;*.jpg\u0022" }, { "name": "FilterLabel", "kind": "field", "id": "field|FilterLabel|0|0|string?|||h06004dfec934f098fc5fcecfaf55e2280c8fbcb5cb4a0bef30940fea6bd7e857", "signature": "public string? FilterLabel", "summary": "e.g. \u0022Images\u0022" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "save: the name to start with" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|string?|||hd7a47b4a9c53b2aaebb334edff5874b7a281154d7f7f23ba58cda72a8cabeea3", "signature": "public string? Start", "summary": "the folder to start in, default the current directory" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "default \u0022Open\u0022, \u0022Save\u0022 or \u0022Choose a folder\u0022" }] }, + { "name": "CuiSharp.FilterField", "displayName": "FilterField", "kind": "struct", "summary": "Filter bar: a search field, a chip per active filter (click it to pick values) and \u0022\u002B Filter\u0022 to add one. selected[i] is a bit mask of the chosen options of fields[i]. Returns true when anything changed. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;string? Icon = null;string[]? Options = null||h13daed72ec0a543c60cc62f5d03d693637a8930d8cb5bdab023ecb23298d8659", "signature": "FilterField(string? Name, string? Icon = null, string[]? Options = null)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Icon", "type": "string?", "default": "null" }, { "name": "Options", "type": "string[]?", "default": "null" }] }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "the field\u0027s name, on its chip and in the \u0022\u002B Filter\u0022 menu" }, { "name": "Options", "kind": "field", "id": "field|Options|0|0|string[]?|||hdfda7102d5f8aaac0d147fd21e4bc444c34f0ec45a85854dfa823ce5ed2aa5b5", "signature": "public string[]? Options", "summary": "the values to choose from; at most 32, one bit of the mask each" }] }, + { "name": "CuiSharp.FlameOpts", "displayName": "FlameOpts", "kind": "struct", "summary": "cui_flame_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "MinRange", "kind": "field", "id": "field|MinRange|0|0|double|||h48e306cd4a74be0e663f2bc1ccdd39cb18de01460b82a3a6f2849dc1999e1208", "signature": "public double MinRange", "summary": "deepest zoom in seconds, default 1e-8" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default: fits the rows (up to 360)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "default 20" }] }, + { "name": "CuiSharp.FlameResult", "displayName": "FlameResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool SelectionChanged;bool ViewChanged = default;int Hovered = default;int Zoomed = default||h9c0aaf1abf86053442ace7190869b10a958ac03bb9756b6666234e6be88cfb30", "signature": "FlameResult(bool SelectionChanged, bool ViewChanged = default, int Hovered = default, int Zoomed = default)", "parameters": [{ "name": "SelectionChanged", "type": "bool" }, { "name": "ViewChanged", "type": "bool", "default": "default" }, { "name": "Hovered", "type": "int", "default": "default" }, { "name": "Zoomed", "type": "int", "default": "default" }] }, { "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|bool|||h05b0cea014ff6284a7cc2c58dd6fb1035a7e0e81c25aa7972d22ca756915ea7a", "signature": "public bool SelectionChanged", "summary": "selected changed (click or keys)" }, { "name": "ViewChanged", "kind": "field", "id": "field|ViewChanged|0|0|bool|||h644da108e153019ae339e325a567b1b89a1cc6e0c8470c8761ac096a08aee5ee", "signature": "public bool ViewChanged", "summary": "view changed (zoom, pan, fit, animation)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "span under the pointer, or -1" }, { "name": "Zoomed", "kind": "field", "id": "field|Zoomed|0|0|int|||he68f9a8e48bcbe09fa4ffc168bada70699938bf2b39fa8565e6f8b914b559293", "signature": "public int Zoomed", "summary": "span zoomed to this frame (double-click, Enter), or -1" }] }, + { "name": "CuiSharp.FlameSpan", "displayName": "FlameSpan", "kind": "struct", "summary": "Flame graph / profiler timeline: time runs left to right, call depth top to bottom (row d holds the spans at depth d). You own the spans, the view and the selection; the component pans and zooms *view and writes *selected. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;double Start = default;double End = default;int Depth = default;uint ColorKey = default||hacb7d1e351415c7269afc1d950f3cc04372fb2e2a502e6d23b7e651bfec0d46e", "signature": "FlameSpan(string? Name, double Start = default, double End = default, int Depth = default, uint ColorKey = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Start", "type": "double", "default": "default" }, { "name": "End", "type": "double", "default": "default" }, { "name": "Depth", "type": "int", "default": "default" }, { "name": "ColorKey", "type": "uint", "default": "default" }] }, { "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "seconds, end \u003E= start" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "seconds, end \u003E= start" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "row, 0 = top" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "drawn in the span when it fits, and in its tooltip" }, { "name": "ColorKey", "kind": "field", "id": "field|ColorKey|0|0|uint|||hbbc8b9d5c464ef1cd597c6f62696a77755f8847c84433421ceea1723416ab5bd", "signature": "public uint ColorKey", "summary": "0: hashed from name" }] }, + { "name": "CuiSharp.FlameView", "displayName": "FlameView", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||double Start;double End = default;float Scroll = default||h4d53ee93963f5b7f706dad2a77d1699eb54189f20f8cfd510e4962cfc315d15a", "signature": "FlameView(double Start, double End = default, float Scroll = default)", "parameters": [{ "name": "Start", "type": "double" }, { "name": "End", "type": "double", "default": "default" }, { "name": "Scroll", "type": "float", "default": "default" }] }, { "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "visible time range; end \u003C= start fits every span" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "visible time range; end \u003C= start fits every span" }, { "name": "Scroll", "kind": "field", "id": "field|Scroll|0|0|float|||h0dfb15b9f1ad3ea27fb4bb36094488302791ae6da1fc5727249bcba34280b5fb", "signature": "public float Scroll", "summary": "rows scrolled off the top, in points" }] }, + { "name": "CuiSharp.Font", "displayName": "Font", "kind": "enum", "summary": "CUI_FONT_BODY", "members": [{ "name": "Body", "kind": "enum value", "id": "enum value|Body|1|0|||0|head7b7cd177853d0234edaa27edf0066fb6648b51a2c13fd1667d8e0f5dc7e11", "signature": "Body = 0", "summary": "Inter Regular", "value": "0" }, { "name": "Display", "kind": "enum value", "id": "enum value|Display|1|0|||2|ha32cca83e476dc525655d0a0229dc15801c768508937166b293f6470140d6bff", "signature": "Display = 2", "summary": "Geist Medium, for headings 28pt and up", "value": "2" }, { "name": "Icons", "kind": "enum value", "id": "enum value|Icons|1|0|||4|h1ea650d93e0720121b0919070e31b946ba0bbc170e675510337914a9b0986718", "signature": "Icons = 4", "summary": "Lucide icons", "value": "4" }, { "name": "Medium", "kind": "enum value", "id": "enum value|Medium|1|0|||1|h19ce8beaa16ab17ff34a75e17ba974241b6d50308f7d530f6dc388ad4df3fbb2", "signature": "Medium = 1", "summary": "Inter Medium", "value": "1" }, { "name": "Mono", "kind": "enum value", "id": "enum value|Mono|1|0|||3|h624cfcc0c05230c502eddf6a005885c4886fd79c316eef10dbed8d09bd564cc8", "signature": "Mono = 3", "summary": "Geist Mono", "value": "3" }] }, + { "name": "CuiSharp.FunnelOpts", "displayName": "FunnelOpts", "kind": "struct", "summary": "Funnel: stages narrowing by value, with the conversion between them. All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, + { "name": "CuiSharp.GanttOpts", "displayName": "GanttOpts", "kind": "struct", "summary": "Gantt chart: a task list beside a timeline of bars. Drag a bar to move it, its ends to resize it. Dependencies are drawn as elbow arrows. Returns the index of a clicked task, or -1. All fields are optional; zero selects the native default.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "cui_size height" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|bool|||he393614309fa34fbb6e0930aa04c288616abcb05d02f63ad9eb9cb23927877ad", "signature": "public bool ReadOnly", "summary": "_Bool read_only" }, { "name": "DayWidth", "kind": "field", "id": "field|DayWidth|0|0|float|||hc29d4a66435c10834835d199d7668ed8a85501e1faf9bcdacb721c3b354f46c0", "signature": "public float DayWidth", "summary": "points per day, default 30" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "points per task row, default 40" }, { "name": "Today", "kind": "field", "id": "field|Today|0|0|int|||h3dbc223105bf4f83f66479770b59a229a8203cf99f501b627d518e1cb56f4b2c", "signature": "public int Today", "summary": "day to mark as today, counted from \u0060origin\u0060; 0 marks none" }] }, + { "name": "CuiSharp.GanttTask", "displayName": "GanttTask", "kind": "struct", "summary": "Gantt chart: a task list beside a timeline of bars. Drag a bar to move it, its ends to resize it. Dependencies are drawn as elbow arrows. Returns the index of a clicked task, or -1. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;string? Owner = null;int Start = default;int End = default;float Progress = default;Tone Tone = Tone.Neutral;int DependsOn = default;bool Milestone = default||hcd916955eb89d122feb09f40a84b333e302a9bcf904d50eb5dfd80cad57266c9", "signature": "GanttTask(string? Name, string? Owner = null, int Start = default, int End = default, float Progress = default, Tone Tone = Tone.Neutral, int DependsOn = default, bool Milestone = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Owner", "type": "string?", "default": "null" }, { "name": "Start", "type": "int", "default": "default" }, { "name": "End", "type": "int", "default": "default" }, { "name": "Progress", "type": "float", "default": "default" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }, { "name": "DependsOn", "type": "int", "default": "default" }, { "name": "Milestone", "type": "bool", "default": "default" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Milestone", "kind": "field", "id": "field|Milestone|0|0|bool|||h433394e3fd6c232db062a8b9150bf3faf1310940dd4b8d970df182a9a23d89b9", "signature": "public bool Milestone", "summary": "a diamond at \u0060start\u0060 instead of a bar; it cannot be resized" }, { "name": "Progress", "kind": "field", "id": "field|Progress|0|0|float|||h7ee3c00970d0194eef8a3de43a8432ca8168034fc90ca2ab893b22ce785d5b05", "signature": "public float Progress", "summary": "0..1: the part of the bar drawn darker, as done" }, { "name": "DependsOn", "kind": "field", "id": "field|DependsOn|0|0|int|||hc6f9ef65ae7e49def7df7a36abf53610c60718d6c6c30ab4038ec669e19b2558", "signature": "public int DependsOn", "summary": "index of the task this one waits for: an arrow runs from its end to this start. -1 for none" }, { "name": "End", "kind": "field", "id": "field|End|0|0|int|||h101ad3d5ebda13e9c347a22363390231322c8fbb64d191c3a092d362955b7964", "signature": "public int End", "summary": "day the bar ends, counted from \u0060origin\u0060 (it is end - start days long); dragging changes it" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|int|||ha1b0c3e4699fce964620bef0f781444da21c0b72084141f26a9e30e25bf70e5f", "signature": "public int Start", "summary": "day the bar starts, counted from \u0060origin\u0060; dragging the bar changes it" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "shown in the task list and, when it fits, on the bar" }, { "name": "Owner", "kind": "field", "id": "field|Owner|0|0|string?|||hc52cc9cd37f4d39f31b7eeb6e1f29b6af483245edbb4a7005806a8e0e05d5d6b", "signature": "public string? Owner", "summary": "a name: shows that person\u0027s avatar in the task list; \u0060NULL\u0060 for none" }] }, + { "name": "CuiSharp.GaugeBand", "displayName": "GaugeBand", "kind": "struct", "summary": "Radial gauge: one value on a dial with colored bands, labelled ticks, a needle and a target marker, for dashboards (speed, load, temperature, a score against a goal). The needle springs to new values. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float To;Tone Tone = Tone.Neutral||he5303332621f5d63926c3958a8da5fbcb33a4212e32316d7bb1310b540b7a156", "signature": "GaugeBand(float To, Tone Tone = Tone.Neutral)", "parameters": [{ "name": "To", "type": "float" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "from the band before (or min) up to \u0060to\u0060" }, { "name": "To", "kind": "field", "id": "field|To|0|0|float|||hf8849e6dc06eacb246cf9418bb9bdf8b9b9026e6b10eb69f5c9835b3923929db", "signature": "public float To", "summary": "from the band before (or min) up to \u0060to\u0060" }] }, + { "name": "CuiSharp.GradientOpts", "displayName": "GradientOpts", "kind": "struct", "summary": "cui_gradient_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "ramp height, default 28" }] }, + { "name": "CuiSharp.GradientResult", "displayName": "GradientResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Changed;int Added = default;int Removed = default;int Selected = default||h95a0af232e33852796673a1bd1dfda1c5a5df36662b49e9aeb4ff595a54049d3", "signature": "GradientResult(bool Changed, int Added = default, int Removed = default, int Selected = default)", "parameters": [{ "name": "Changed", "type": "bool" }, { "name": "Added", "type": "int", "default": "default" }, { "name": "Removed", "type": "int", "default": "default" }, { "name": "Selected", "type": "int", "default": "default" }] }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|bool|||h8c85f6cfc38e0138c8eb4125f6296f3a8f63126e75288f3d3b7fc9e85c6c1f63", "signature": "public bool Changed", "summary": "a stop moved, changed color, or was added or removed" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "index of the stop added this frame, or -1" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "index the removed stop had, or -1" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "the selected stop" }] }, + { "name": "CuiSharp.GradientStop", "displayName": "GradientStop", "kind": "struct", "summary": "Gradient editor: a color ramp over a checkerboard (so alpha shows) with the stops underneath. You own the stops; the editor edits them in place and keeps them sorted by position. Drag a stop to move it (it may pass its neighbours), drag it off the ramp or press Delete to remove it (never fewer than two), click the ramp or the empty track to add a stop with the color found there. Double click a stop (or Enter on a focused one) to open the color picker; the row under the ramp shows the selected stop\u0027s color, location and opacity. Stops are focusable: Tab moves through them, Left and Right nudge (Shift for fine steps). Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float Pos;Color Color = default||h3c0f7d9eb0c50de558822455e566d97186a79f892b2a555a28d22fd1c2db49b0", "signature": "GradientStop(float Pos, Color Color = default)", "parameters": [{ "name": "Pos", "type": "float" }, { "name": "Color", "type": "Color", "default": "default" }] }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Pos", "kind": "field", "id": "field|Pos|0|0|float|||h9aac977227e3823ee394b51dffa79203fcc9f0c18ab3d961f658a2082fe8ef7e", "signature": "public float Pos", "summary": "position along the ramp, 0..1" }] }, + { "name": "CuiSharp.GradientTextOpts", "displayName": "GradientTextOpts", "kind": "struct", "summary": "Text painted with a gradient from one color to another; animate makes it drift. All fields are optional; zero selects the native default.", "members": [{ "name": "From", "kind": "field", "id": "field|From|0|0|Color|||h4a10f176a9d7bda1f8fab6d1f082005e51eeee4bb2e0de61a9f55996b3ed28ea", "signature": "public Color From", "summary": "color at the left edge; default the accent, or the text color under the neutral accent" }, { "name": "To", "kind": "field", "id": "field|To|0|0|Color|||h542b5266588ba47fb0aac706b708415d8904c3fb7631605542c17b1d55706474", "signature": "public Color To", "summary": "color at the right edge, default \u0060from\u0060 blended toward the foreground color" }, { "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "default \u0060CUI_FONT_BODY\u0060 (0)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Animate", "kind": "field", "id": "field|Animate|0|0|bool|||h5a82b6367d0084f17617e03959d7b06969fb9a29249f0eb55062c75a02ab9912", "signature": "public bool Animate", "summary": "the gradient drifts along the text" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }] }, + { "name": "CuiSharp.GraphEdge", "displayName": "GraphEdge", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int From;int To = default||h45b66cd03dba9138c65a55e8d718609dfc21acdf17cee7e874ca2e37890deff9", "signature": "GraphEdge(int From, int To = default)", "parameters": [{ "name": "From", "type": "int" }, { "name": "To", "type": "int", "default": "default" }] }, { "name": "From", "kind": "field", "id": "field|From|0|0|int|||h11f7cebcf77a074c120dda4af3a2c2a7d6533333236d3fbb272c705fd58fd693", "signature": "public int From", "summary": "index of the node the arrow starts at" }, { "name": "To", "kind": "field", "id": "field|To|0|0|int|||h51c44d9327d4ff5ec543672605cdc9085758c30f02fb02478eed8ab117d48e44", "signature": "public int To", "summary": "index of the node the arrow points to" }] }, + { "name": "CuiSharp.GraphNode", "displayName": "GraphNode", "kind": "struct", "summary": "Nodes and directed edges laid out in layers (each edge points to a later layer, cycles are broken), for build targets, packages, services or call graphs. The layout is computed when the graph changes. Wheel zooms, drag pans, click selects; hovering a node lights up what it depends on and what depends on it. F fits the graph. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Label;string? Detail = null;Tone Tone = Tone.Neutral||hfb28e9974288016cabfd90678125df7f5034bb8f3c61d02cd478c85f2414fd25", "signature": "GraphNode(string? Label, string? Detail = null, Tone Tone = Tone.Neutral)", "parameters": [{ "name": "Label", "type": "string?" }, { "name": "Detail", "type": "string?", "default": "null" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "smaller second line under the label, e.g. the node\u0027s kind; \u0060NULL\u0060 for none" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, + { "name": "CuiSharp.GraphOpts", "displayName": "GraphOpts", "kind": "struct", "summary": "Nodes and directed edges laid out in layers (each edge points to a later layer, cycles are broken), for build targets, packages, services or call graphs. The layout is computed when the graph changes. Wheel zooms, drag pans, click selects; hovering a node lights up what it depends on and what depends on it. F fits the graph. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "TopDown", "kind": "field", "id": "field|TopDown|0|0|bool|||hab9fd86f1e6b6c244739e2e145b8663acced7deec0e8cf7a9f458d15f6d24847", "signature": "public bool TopDown", "summary": "layers stack from top to bottom instead of running side by side" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }] }, + { "name": "CuiSharp.GraphResult", "displayName": "GraphResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Clicked;int Activated = default;int Hovered = default||h08eae20e62b95faa32d7edc2fa8a719fc4bd9849f5194d1e248c07ac87aafc23", "signature": "GraphResult(int Clicked, int Activated = default, int Hovered = default)", "parameters": [{ "name": "Clicked", "type": "int" }, { "name": "Activated", "type": "int", "default": "default" }, { "name": "Hovered", "type": "int", "default": "default" }] }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "node double-clicked or chosen with Enter this frame, or -1" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "node clicked this frame, or -1" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "node under the pointer, or -1" }] }, + { "name": "CuiSharp.GridColumn", "displayName": "GridColumn", "kind": "struct", "summary": "A virtualized table for large data: sticky header, resizable and sortable columns, checkbox selection (click, Ctrl\u002Bclick, Shift\u002Bclick, Ctrl\u002BA), keyboard navigation and editable cells. Build only the rows in [first, last): Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;float Width = default;TextAlign Align = TextAlign.Start;bool Sortable = default;bool Fixed = default;int Priority = default||hb81cc8a31d1cb30c1fff1e990e575eb309947fe9585f9a9583ce0536b507c528", "signature": "GridColumn(string? Title, float Width = default, TextAlign Align = TextAlign.Start, bool Sortable = default, bool Fixed = default, int Priority = default)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Width", "type": "float", "default": "default" }, { "name": "Align", "type": "TextAlign", "default": "TextAlign.Start" }, { "name": "Sortable", "type": "bool", "default": "default" }, { "name": "Fixed", "type": "bool", "default": "default" }, { "name": "Priority", "type": "int", "default": "default" }] }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "cui_text_align align" }, { "name": "Fixed", "kind": "field", "id": "field|Fixed|0|0|bool|||h6f301dff6b9a83ab8f47d07a691dc00f4145c0537d753274b38bf0d43c5f0a06", "signature": "public bool Fixed", "summary": "not resizable" }, { "name": "Sortable", "kind": "field", "id": "field|Sortable|0|0|bool|||ha21687844f87f043066ecf4a581aada41967a9906bbaa3897b2a88d640efc033", "signature": "public bool Sortable", "summary": "_Bool sortable" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "initial width in points, default 150" }, { "name": "Priority", "kind": "field", "id": "field|Priority|0|0|int|||hbaa8b212dbdc34fa1179a77ab76338f94bb35b6954915c627238c0927fab9d97", "signature": "public int Priority", "summary": "0 always shown; when the grid is too narrow, columns with a priority hide, the highest number first, until the rest fit" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "text of the column\u0027s header" }] }, + { "name": "CuiSharp.GridOpts", "displayName": "GridOpts", "kind": "struct", "summary": "cui_grid_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default fill" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "HideCheckboxes", "kind": "field", "id": "field|HideCheckboxes|0|0|bool|||h4ad130a86b135f34b02c88c4b70d50112b1d85a3e2911e18fd02faa702da9a35", "signature": "public bool HideCheckboxes", "summary": "with selected: rows still select (click, Shift, Ctrl) but no checkbox column" }, { "name": "Striped", "kind": "field", "id": "field|Striped|0|0|bool|||h8ee3cac64f2feaa8e6270ae2b329845033941012b85937e8fd5ac134a90bb7dc", "signature": "public bool Striped", "summary": "_Bool striped" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "default 40" }] }, { "name": "CuiSharp.GridScope", "displayName": "GridScope", "kind": "ref struct", "summary": "A grid scope that publishes row interactions back to its state when closed.", "members": [{ "name": "Open", "kind": "property", "id": "property|Open|0|0|bool||get;|h6f230c8664d026604496adcaeb16e6ee760fdae9254fd2f5c98a7b49ae4549e6", "signature": "bool Open { get; }", "summary": "Whether the grid body should draw." }, { "name": "implicit operator bool", "kind": "conversion", "id": "conversion|op_Implicit|1|0|bool|GridScope scope||h15a2d714d98bad8c57763c6a13e39476fd35ce6e15414c2c173ae50e0ab60b95", "signature": "static implicit operator bool(GridScope scope)", "member": "op_Implicit", "parameters": [{ "name": "scope", "type": "GridScope" }], "summary": "Whether the grid body should draw." }, { "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()", "summary": "Closes the grid and writes selection, sort and keyboard state back." }] }, { "name": "CuiSharp.GridState", "displayName": "GridState", "kind": "class", "summary": "Persistent selection, sort and keyboard state for one data grid.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int rowCount = default||ha060aa7c4f76f21c13982f61d1c809c01e02b29c0a2c0f2bbba7800b84812b38", "signature": "GridState(int rowCount = default)", "parameters": [{ "name": "rowCount", "type": "int", "default": "default" }], "summary": "Creates state with selection storage for the given row count." }, { "name": "Sort", "kind": "field", "id": "field|Sort|0|0|TableSort|||hf23262a6945f5072e90f8eac87676cbcdc74b7e163a586d29c358767b23773cb", "signature": "public TableSort Sort", "summary": "The column and direction chosen in the header." }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|bool[]|||hddc7041e966ecc1097b5b8a70ffca49a86f14b33d689e1ffebc22b7523c6e3c3", "signature": "public bool[] Selected", "summary": "One selection flag per row. Resize when the model changes, not while drawing." }, { "name": "Anchor", "kind": "field", "id": "field|Anchor|0|0|int|||haebd09af400cd13b8e6a4d74ff68b178d1ce2cdb19d12950362ae273b212ff68", "signature": "public int Anchor", "summary": "The start of a Shift selection range, or -1." }, { "name": "Cursor", "kind": "field", "id": "field|Cursor|0|0|int|||h23aff42ff5d653e4a3b8a654aa17c4d9c160335133193db458a21e242a54d577", "signature": "public int Cursor", "summary": "The keyboard row, or -1." }, { "name": "First", "kind": "field", "id": "field|First|0|0|int|||hddb39d158b15c0e54cb1ea0a7e52a0d84393cbbb9cb6d04a44db44d9fd9a4c88", "signature": "public int First", "summary": "First visible row (inclusive), updated when the grid opens." }, { "name": "Last", "kind": "field", "id": "field|Last|0|0|int|||h11145872766e93785d8ad349ad1ba99a65becac1ce8821ae0af4af913590a891", "signature": "public int Last", "summary": "Last visible row (exclusive), updated when the grid opens." }] }, - { "name": "CuiSharp.HeatmapOpts", "displayName": "HeatmapOpts", "kind": "struct", "summary": "cui_heatmap_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "hue of the scale, default the accent" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Cell", "kind": "field", "id": "field|Cell|0|0|float|||hf561982788f651cf6be459cbdafa3d95b9d0eec610073c6be9f8ee75925d3d45", "signature": "public float Cell", "summary": "cell size, default fits the width" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "value range, default the data\u0027s" }, { "name": "Min", "kind": "field", "id": "field|Min|0|0|float|||h81101b82558caea906d5838961d5313f13c99e7d68f18285b0cf84040f989d8a", "signature": "public float Min", "summary": "value range, default the data\u0027s" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }, { "name": "ColLabels", "kind": "field", "id": "field|ColLabels|0|0|string[]?|||h5800c8037a98a165ea2a527f6d5f1c1bae0f28b3151aa0a580d087e428a89357", "signature": "public string[]? ColLabels", "summary": "const char *const * col_labels" }, { "name": "RowLabels", "kind": "field", "id": "field|RowLabels|0|0|string[]?|||h7bee2ab87cd8efe11a75bafbcd33cea67c8aa2a530cd01efa8f54125ba081c6c", "signature": "public string[]? RowLabels", "summary": "const char *const * row_labels" }] }, - { "name": "CuiSharp.HexRange", "displayName": "HexRange", "kind": "struct", "summary": "cui_hex_range. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||ulong Offset;ulong Length = default;Tone Tone = Tone.Neutral;string? Label = null||h2596b050bce12b4f7987243bd2588f9d1f53adc6a9a15d86766d74bc6215d56d", "signature": "HexRange(ulong Offset, ulong Length = default, Tone Tone = Tone.Neutral, string? Label = null)", "parameters": [{ "name": "Offset", "type": "ulong" }, { "name": "Length", "type": "ulong", "default": "default" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }, { "name": "Label", "type": "string?", "default": "null" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "tints the range\u0027s background" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "tooltip for the range; may be NULL" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|ulong|||h9211b674b545dc64e10d1c3d245897135e2c99ff1498bfce4768f2b18f2a59b6", "signature": "public ulong Length", "summary": "size_t length" }, { "name": "Offset", "kind": "field", "id": "field|Offset|0|0|ulong|||h551e41a24460675e284010a5af686471e6984d12957a75afe1617a2b52cae613", "signature": "public ulong Offset", "summary": "size_t offset" }] }, - { "name": "CuiSharp.HexResult", "displayName": "HexResult", "kind": "struct", "summary": "cui_hex_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||HexSelection Selection;bool SelectionChanged = default;bool Edited = default;ulong EditOffset = default;ulong EditLength = default;long Hovered = default;bool Copied = default||hc471966445cd926e7a1663121584874b4550e5dfe253c5cc24aa3c25493dcc72", "signature": "HexResult(HexSelection Selection, bool SelectionChanged = default, bool Edited = default, ulong EditOffset = default, ulong EditLength = default, long Hovered = default, bool Copied = default)", "parameters": [{ "name": "Selection", "type": "HexSelection" }, { "name": "SelectionChanged", "type": "bool", "default": "default" }, { "name": "Edited", "type": "bool", "default": "default" }, { "name": "EditOffset", "type": "ulong", "default": "default" }, { "name": "EditLength", "type": "ulong", "default": "default" }, { "name": "Hovered", "type": "long", "default": "default" }, { "name": "Copied", "type": "bool", "default": "default" }] }, { "name": "Selection", "kind": "field", "id": "field|Selection|0|0|HexSelection|||hbeca68c97c3c5dd43a840c25be2d4ae9734905244bf5dd7ce6c34203015193bb", "signature": "public HexSelection Selection", "summary": "after this frame (the same as *sel when you pass one)" }, { "name": "Copied", "kind": "field", "id": "field|Copied|0|0|bool|||hc8797770e8e8292abfba6ca130e5028e2e0d1c15d5595ecb27010f6f9d90dc29", "signature": "public bool Copied", "summary": "Ctrl\u002BC or Ctrl\u002BShift\u002BC put the selection on the clipboard" }, { "name": "Edited", "kind": "field", "id": "field|Edited|0|0|bool|||he72494a4b154ed9e062a25161fb063fdcd50128995f66884e73c7d4fbe4e7b88", "signature": "public bool Edited", "summary": "bytes in .edit were overwritten this frame" }, { "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|bool|||h05b0cea014ff6284a7cc2c58dd6fb1035a7e0e81c25aa7972d22ca756915ea7a", "signature": "public bool SelectionChanged", "summary": "by the pointer, the keys or cui_hex_view_goto" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|long|||hbe1c39e7bbdecc557c8876890e8eac9658e0fa1fd65737f5d44c9f0b0cf4e2d9", "signature": "public long Hovered", "summary": "byte under the pointer, or -1" }, { "name": "EditLength", "kind": "field", "id": "field|EditLength|0|0|ulong|||h66a400d24c2bcc6360469f4a4692e40110aeb039982f00e721a6b211f11c894f", "signature": "public ulong EditLength", "summary": "size_t edit_length" }, { "name": "EditOffset", "kind": "field", "id": "field|EditOffset|0|0|ulong|||h4a499a954baf5dc83819cf8b6a96a7ea8d3b7cfd43644a2dffb73eba4670fe6a", "signature": "public ulong EditOffset", "summary": "size_t edit_offset" }] }, - { "name": "CuiSharp.HexSelection", "displayName": "HexSelection", "kind": "struct", "summary": "cui_hex_selection. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||ulong Start;ulong Length = default;ulong Cursor = default||hc60277f02e8ae476f3ccaac6328780dacc66d0c8663af6c227887ded348c6bfa", "signature": "HexSelection(ulong Start, ulong Length = default, ulong Cursor = default)", "parameters": [{ "name": "Start", "type": "ulong" }, { "name": "Length", "type": "ulong", "default": "default" }, { "name": "Cursor", "type": "ulong", "default": "default" }] }, { "name": "Cursor", "kind": "field", "id": "field|Cursor|0|0|ulong|||hfcbcd4bd9c8959404ba53364315fdc79909689596fa3560cbab04a7c9e5291ba", "signature": "public ulong Cursor", "summary": "size_t cursor" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|ulong|||h9211b674b545dc64e10d1c3d245897135e2c99ff1498bfce4768f2b18f2a59b6", "signature": "public ulong Length", "summary": "size_t length" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|ulong|||hd5d86251473efab40ee9afffd915b80f4ffa0f9346d99fba8e024520db5e0883", "signature": "public ulong Start", "summary": "size_t start" }] }, - { "name": "CuiSharp.HexViewOpts", "displayName": "HexViewOpts", "kind": "struct", "summary": "cui_hex_view_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Ranges", "kind": "field", "id": "field|Ranges|0|0|HexRange[]?|||h759276f4d6d25dd7f328281301b9eb787fec9d21308c8d84b973ee90c0ac2478", "signature": "public HexRange[]? Ranges", "summary": "drawn in order, later ones on top" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "NoAscii", "kind": "field", "id": "field|NoAscii|0|0|bool|||h7925a745769e3fe8563fa4944c4520308e70e48a6fd6d7aa0c5747cecd70c645", "signature": "public bool NoAscii", "summary": "hide the ASCII column" }, { "name": "NoHeader", "kind": "field", "id": "field|NoHeader|0|0|bool|||h7922046bd3807eec795aa2981a7e08ccf6af18d5c0f9f9ef7f687eb187ccb398", "signature": "public bool NoHeader", "summary": "hide the column header (00 01 .. 0F)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default: the rows, up to 320; negative fills the space" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 12" }, { "name": "BytesPerRow", "kind": "field", "id": "field|BytesPerRow|0|0|int|||hd61386e0b1631168d5ba3121886245ecce5b4ff2f8648ec936c3d6745e973f40", "signature": "public int BytesPerRow", "summary": "8, 16 (default) or 32" }, { "name": "RangeCount", "kind": "field", "id": "field|RangeCount|0|0|int|||h7cf44af00c194dbcd2d248d6d668d0e792ba9f5e70caed801178c75e0527cb4e", "signature": "public int RangeCount", "summary": "drawn in order, later ones on top" }, { "name": "Base", "kind": "field", "id": "field|Base|0|0|ulong|||h2d347b8391ce7744ac9390fd5433f8b42dd856f120afc62df3093dae04e197ff", "signature": "public ulong Base", "summary": "address shown for byte 0 in the offset column" }] }, - { "name": "CuiSharp.HistogramOpts", "displayName": "HistogramOpts", "kind": "struct", "summary": "cui_histogram_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, - { "name": "CuiSharp.HistogramSeries", "displayName": "HistogramSeries", "kind": "struct", "summary": "cui_histogram_series. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;float[]? Counts = null;Tone Tone = Tone.Neutral||h22dfe55b4dedc67503ff6c18e7c65a376e62e8f5d079237bd6340cb06b5f3e36", "signature": "HistogramSeries(string? Name, float[]? Counts = null, Tone Tone = Tone.Neutral)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Counts", "type": "float[]?", "default": "null" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Counts", "kind": "field", "id": "field|Counts|0|0|float[]?|||hff18f72ca2d86479e823b489ba7a3caad9dc2a83eaf827e4e926d8c237d1e689", "signature": "public float[]? Counts", "summary": "const float * counts" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }] }, - { "name": "CuiSharp.HoldOpts", "displayName": "HoldOpts", "kind": "struct", "summary": "cui_hold_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "cui_button_variant variant" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "float duration" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.HeatmapOpts", "displayName": "HeatmapOpts", "kind": "struct", "summary": "Heatmap: a rows x cols matrix (values[row * cols \u002B col]) on one hue, light to dark, with a scale below. All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "hue of the scale, default the accent" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Cell", "kind": "field", "id": "field|Cell|0|0|float|||hf561982788f651cf6be459cbdafa3d95b9d0eec610073c6be9f8ee75925d3d45", "signature": "public float Cell", "summary": "cell size, default fits the width" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "value range, default the data\u0027s" }, { "name": "Min", "kind": "field", "id": "field|Min|0|0|float|||h81101b82558caea906d5838961d5313f13c99e7d68f18285b0cf84040f989d8a", "signature": "public float Min", "summary": "value range, default the data\u0027s" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }, { "name": "ColLabels", "kind": "field", "id": "field|ColLabels|0|0|string[]?|||h5800c8037a98a165ea2a527f6d5f1c1bae0f28b3151aa0a580d087e428a89357", "signature": "public string[]? ColLabels", "summary": "one label per column, under the grid; labels that would overlap are skipped" }, { "name": "RowLabels", "kind": "field", "id": "field|RowLabels|0|0|string[]?|||h7bee2ab87cd8efe11a75bafbcd33cea67c8aa2a530cd01efa8f54125ba081c6c", "signature": "public string[]? RowLabels", "summary": "one label per row, left of the grid; \u0060NULL\u0060 for none" }] }, + { "name": "CuiSharp.HexRange", "displayName": "HexRange", "kind": "struct", "summary": "Hex viewer: offsets, bytes in hex and the same bytes as ASCII, in the code font, for binary tools, emulators and debuggers. You own the bytes (they are read during the call, never kept) and, optionally, the selection: Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||ulong Offset;ulong Length = default;Tone Tone = Tone.Neutral;string? Label = null||h2596b050bce12b4f7987243bd2588f9d1f53adc6a9a15d86766d74bc6215d56d", "signature": "HexRange(ulong Offset, ulong Length = default, Tone Tone = Tone.Neutral, string? Label = null)", "parameters": [{ "name": "Offset", "type": "ulong" }, { "name": "Length", "type": "ulong", "default": "default" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }, { "name": "Label", "type": "string?", "default": "null" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "tints the range\u0027s background" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "tooltip for the range; may be NULL" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|ulong|||h9211b674b545dc64e10d1c3d245897135e2c99ff1498bfce4768f2b18f2a59b6", "signature": "public ulong Length", "summary": "size_t length" }, { "name": "Offset", "kind": "field", "id": "field|Offset|0|0|ulong|||h551e41a24460675e284010a5af686471e6984d12957a75afe1617a2b52cae613", "signature": "public ulong Offset", "summary": "size_t offset" }] }, + { "name": "CuiSharp.HexResult", "displayName": "HexResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||HexSelection Selection;bool SelectionChanged = default;bool Edited = default;ulong EditOffset = default;ulong EditLength = default;long Hovered = default;bool Copied = default||hc471966445cd926e7a1663121584874b4550e5dfe253c5cc24aa3c25493dcc72", "signature": "HexResult(HexSelection Selection, bool SelectionChanged = default, bool Edited = default, ulong EditOffset = default, ulong EditLength = default, long Hovered = default, bool Copied = default)", "parameters": [{ "name": "Selection", "type": "HexSelection" }, { "name": "SelectionChanged", "type": "bool", "default": "default" }, { "name": "Edited", "type": "bool", "default": "default" }, { "name": "EditOffset", "type": "ulong", "default": "default" }, { "name": "EditLength", "type": "ulong", "default": "default" }, { "name": "Hovered", "type": "long", "default": "default" }, { "name": "Copied", "type": "bool", "default": "default" }] }, { "name": "Selection", "kind": "field", "id": "field|Selection|0|0|HexSelection|||hbeca68c97c3c5dd43a840c25be2d4ae9734905244bf5dd7ce6c34203015193bb", "signature": "public HexSelection Selection", "summary": "after this frame (the same as *sel when you pass one)" }, { "name": "Copied", "kind": "field", "id": "field|Copied|0|0|bool|||hc8797770e8e8292abfba6ca130e5028e2e0d1c15d5595ecb27010f6f9d90dc29", "signature": "public bool Copied", "summary": "Ctrl\u002BC or Ctrl\u002BShift\u002BC put the selection on the clipboard" }, { "name": "Edited", "kind": "field", "id": "field|Edited|0|0|bool|||he72494a4b154ed9e062a25161fb063fdcd50128995f66884e73c7d4fbe4e7b88", "signature": "public bool Edited", "summary": "bytes in .edit were overwritten this frame" }, { "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|bool|||h05b0cea014ff6284a7cc2c58dd6fb1035a7e0e81c25aa7972d22ca756915ea7a", "signature": "public bool SelectionChanged", "summary": "by the pointer, the keys or cui_hex_view_goto" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|long|||hbe1c39e7bbdecc557c8876890e8eac9658e0fa1fd65737f5d44c9f0b0cf4e2d9", "signature": "public long Hovered", "summary": "byte under the pointer, or -1" }, { "name": "EditLength", "kind": "field", "id": "field|EditLength|0|0|ulong|||h66a400d24c2bcc6360469f4a4692e40110aeb039982f00e721a6b211f11c894f", "signature": "public ulong EditLength", "summary": "with \u0060edited\u0060: bytes from \u0060edit_offset\u0060 up to the last one overwritten" }, { "name": "EditOffset", "kind": "field", "id": "field|EditOffset|0|0|ulong|||h4a499a954baf5dc83819cf8b6a96a7ea8d3b7cfd43644a2dffb73eba4670fe6a", "signature": "public ulong EditOffset", "summary": "with \u0060edited\u0060: offset of the first byte overwritten this frame" }] }, + { "name": "CuiSharp.HexSelection", "displayName": "HexSelection", "kind": "struct", "summary": "The selected bytes. length 0 means nothing is selected; cursor is the byte the keys move from and is one end of a selection. Set it yourself to select from code. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||ulong Start;ulong Length = default;ulong Cursor = default||hc60277f02e8ae476f3ccaac6328780dacc66d0c8663af6c227887ded348c6bfa", "signature": "HexSelection(ulong Start, ulong Length = default, ulong Cursor = default)", "parameters": [{ "name": "Start", "type": "ulong" }, { "name": "Length", "type": "ulong", "default": "default" }, { "name": "Cursor", "type": "ulong", "default": "default" }] }, { "name": "Cursor", "kind": "field", "id": "field|Cursor|0|0|ulong|||hfcbcd4bd9c8959404ba53364315fdc79909689596fa3560cbab04a7c9e5291ba", "signature": "public ulong Cursor", "summary": "the byte the keys move from; one end of the selection" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|ulong|||h9211b674b545dc64e10d1c3d245897135e2c99ff1498bfce4768f2b18f2a59b6", "signature": "public ulong Length", "summary": "bytes selected; 0 means nothing is selected" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|ulong|||hd5d86251473efab40ee9afffd915b80f4ffa0f9346d99fba8e024520db5e0883", "signature": "public ulong Start", "summary": "offset of the first selected byte" }] }, + { "name": "CuiSharp.HexViewOpts", "displayName": "HexViewOpts", "kind": "struct", "summary": "cui_hex_view_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Ranges", "kind": "field", "id": "field|Ranges|0|0|HexRange[]?|||h759276f4d6d25dd7f328281301b9eb787fec9d21308c8d84b973ee90c0ac2478", "signature": "public HexRange[]? Ranges", "summary": "byte ranges to highlight, each with a tone and a tooltip label" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "NoAscii", "kind": "field", "id": "field|NoAscii|0|0|bool|||h7925a745769e3fe8563fa4944c4520308e70e48a6fd6d7aa0c5747cecd70c645", "signature": "public bool NoAscii", "summary": "hide the ASCII column" }, { "name": "NoHeader", "kind": "field", "id": "field|NoHeader|0|0|bool|||h7922046bd3807eec795aa2981a7e08ccf6af18d5c0f9f9ef7f687eb187ccb398", "signature": "public bool NoHeader", "summary": "hide the column header (00 01 .. 0F)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default: the rows, up to 320; negative fills the space" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 12" }, { "name": "BytesPerRow", "kind": "field", "id": "field|BytesPerRow|0|0|int|||hd61386e0b1631168d5ba3121886245ecce5b4ff2f8648ec936c3d6745e973f40", "signature": "public int BytesPerRow", "summary": "8, 16 (default) or 32" }, { "name": "Base", "kind": "field", "id": "field|Base|0|0|ulong|||h2d347b8391ce7744ac9390fd5433f8b42dd856f120afc62df3093dae04e197ff", "signature": "public ulong Base", "summary": "address shown for byte 0 in the offset column" }] }, + { "name": "CuiSharp.HistogramOpts", "displayName": "HistogramOpts", "kind": "struct", "summary": "Range slider over a histogram of the data it filters. All fields are optional; zero selects the native default.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, + { "name": "CuiSharp.HistogramSeries", "displayName": "HistogramSeries", "kind": "struct", "summary": "Event counts over time, stacked by series (log levels, status classes), as above a log search. Drag across it to select a time range, click to clear. Hover a bar for its time and counts. Times are Unix seconds. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;float[]? Counts = null;Tone Tone = Tone.Neutral||h22dfe55b4dedc67503ff6c18e7c65a376e62e8f5d079237bd6340cb06b5f3e36", "signature": "HistogramSeries(string? Name, float[]? Counts = null, Tone Tone = Tone.Neutral)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Counts", "type": "float[]?", "default": "null" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Counts", "kind": "field", "id": "field|Counts|0|0|float[]?|||hff18f72ca2d86479e823b489ba7a3caad9dc2a83eaf827e4e926d8c237d1e689", "signature": "public float[]? Counts", "summary": "one count per bucket; \u0060NULL\u0060 counts as zeros" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "shown in the legend and in the hover tooltip" }] }, + { "name": "CuiSharp.HoldOpts", "displayName": "HoldOpts", "kind": "struct", "summary": "Hold to confirm: a destructive action that fills while held and fires when full. Returns true once. All fields are optional; zero selects the native default.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "cui_button_variant variant" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "seconds the button must be held before it fires, default 1.2" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, { "name": "CuiSharp.Hosting.Component", "displayName": "Component", "kind": "class", "summary": "A screen or a piece of one. A component owns its state as fields and rebuilds its UI every frame; there is no view model, no binding and nothing to notify. Create one per screen and resolve it from the container, or inject it into a parent and draw it with ui.Component(child).", "members": [{ "name": "PendingOperations", "kind": "property", "id": "property|PendingOperations|1|0|int||get;|hee628d969b22780660d09ca1c50645b7e1d6cfe7d74fcfdc73b9e25b7cc4c256", "signature": "static int PendingOperations { get; }", "summary": "Operations in flight across every component. For diagnostics." }, { "name": "Title", "kind": "property", "id": "property|Title|0|0|string||get;|h1a5144edebd2302f2df682473a55bddfa3884fcaf42154ed160883561d2c6d0c", "signature": "string Title { get; }", "summary": "Label for this component, used by a shell\u0027s page switch. Defaults to the type name; override it to change the wording without renaming the class." }, { "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()" }, { "name": "Render", "kind": "method", "id": "method|Render|0|0|void|Ui ui||hbaa6010b96c22685859b7add6311bd79c53028719d2917a690e154fc16e7bf34", "signature": "void Render(Ui ui)", "parameters": [{ "name": "ui", "type": "Ui" }], "summary": "Draws this component, containing a failure to this component instead of the whole window. A throw inside Draw is reported inline and the frame keeps going." }] }, { "name": "CuiSharp.Hosting.CuiApplication", "displayName": "CuiApplication", "kind": "class", "summary": "The composition root, generic-host style: services, window options, then one call to run the root component on the calling thread.", "members": [{ "name": "Window", "kind": "property", "id": "property|Window|0|0|CuiWindow?||get;|hf3de09ee57e388e31206bb0271f82b51e5004c79b853a175519e5292ae423efc", "signature": "CuiWindow? Window { get; }", "summary": "The OS window \u2014 the native handle, the backend, and which renderer actually drew \u2014 available from the first frame onward, and null before the loop starts. This is what WindowCreated hands over." }, { "name": "Services", "kind": "property", "id": "property|Services|0|0|IServiceProvider||get;|h6e5ef0b533cfb9cfd35d0dbee45c548b360248d85ca017ca1f68d469ad2db805", "signature": "IServiceProvider Services { get; }", "summary": "The container, for resolving a component yourself when you do not use Run\u0060\u00601." }, { "name": "Run", "kind": "method", "id": "method|Run|0|0|int|Component root||h3f8b92df676ffda9da7145eee518ec034ccbeda36764f3149bd80d0066348afd", "signature": "int Run(Component root)", "parameters": [{ "name": "root", "type": "Component" }], "summary": "Runs an already-built root component in a window, or \u2014 when the process was started headless \u2014 answers frames and commands on stdin/stdout instead. Useful for tests and tools." }, { "name": "Run", "kind": "method", "id": "method|Run|0|1|int|||h8d998b64d8ab0e49cb1d8acc0675fe2f028b5ce2fe7fd47e90ead6686fd155ec", "signature": "int Run\u003CTRoot\u003E() where TRoot : Component", "summary": "Resolves the root component and runs the UI loop on the calling thread until the window closes. The window owns the loop: CUI\u0027s callback drives every frame, including the frames the OS asks for while a window is being resized." }, { "name": "CreateBuilder", "kind": "method", "id": "method|CreateBuilder|1|0|CuiApplicationBuilder|string[]? args = null||h4e0ebcac83d8a132de21df7a45eab1ba58925f027c38ff20549f7a0cc36a5008", "signature": "static CuiApplicationBuilder CreateBuilder(string[]? args = null)", "parameters": [{ "name": "args", "type": "string[]?", "default": "null" }], "summary": "Starts a builder with the framework\u0027s dependency injection container." }, { "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()" }] }, { "name": "CuiSharp.Hosting.CuiApplicationBuilder", "displayName": "CuiApplicationBuilder", "kind": "class", "summary": "Collects services and window options before the window exists.", "members": [{ "name": "Window", "kind": "property", "id": "property|Window|0|0|CuiAppOptions||get;set;|hb4f402a692934c77e62da0173ddd890f74e45c40f58fa933ff2536baedc0fe79", "signature": "CuiAppOptions Window { get; set; }", "summary": "Window options: title, size, renderer, theme, accent." }, { "name": "Build", "kind": "method", "id": "method|Build|0|0|CuiApplication|||h9d2e6ba46af012770ff325c47a1dd1a56cfe59b9a18204feffa806a963f69a68", "signature": "CuiApplication Build()", "summary": "Builds the container. The window itself is created by Run\u0060\u00601." }, { "name": "Services", "kind": "property", "id": "property|Services|0|0|IServiceCollection||get;|h0f02e1c313ac8a81062e4bd937a51a3b05a63a9a49ae45ff523b68ec55bf3e96", "signature": "IServiceCollection Services { get; }", "summary": "The container. Register services and components here." }, { "name": "Args", "kind": "property", "id": "property|Args|0|0|string[]||get;|h7a56b0f7d1c60a9bad709dda1a5112461efb41c9711599d27545d3a75b062410", "signature": "string[] Args { get; }", "summary": "Command-line arguments, as handed to the process." }] }, @@ -164,537 +173,546 @@ { "name": "CuiSharp.Hosting.Mutation", "displayName": "Mutation", "kind": "class", "summary": "A Mutation\u00601 whose work has no result.", "members": [{ "name": "Error", "kind": "property", "id": "property|Error|0|0|Exception?||get;|hb67d4cbeee04c77705d935c8f9afc91d020a674a85f3ebb45a3c6dfd8005cfea", "signature": "Exception? Error { get; }", "summary": "The failure that ended the last run, or null. Read it every frame; it costs nothing." }, { "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||Func\u003CCancellationToken, Task\u003E work||hfcf9ec1d5f318ee6d44a793ffdd1166e6d4e6b9833fa1bcdd8717280dcbda975", "signature": "Mutation(Func\u003CCancellationToken, Task\u003E work)", "parameters": [{ "name": "work", "type": "Func\u003CCancellationToken, Task\u003E" }], "summary": "Creates a mutation around the work it runs." }, { "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||Func\u003CCancellationToken, Task\u003E work;Action? onSuccess||h089de149d2fa382d351a6f8460c423879bd62eceb657211b45a1c1b69d25f3fb", "signature": "Mutation(Func\u003CCancellationToken, Task\u003E work, Action? onSuccess)", "parameters": [{ "name": "work", "type": "Func\u003CCancellationToken, Task\u003E" }, { "name": "onSuccess", "type": "Action?" }], "summary": "Creates a mutation that calls onSuccess on the UI thread, before the next frame draws, once the work completes." }, { "name": "IsRunning", "kind": "property", "id": "property|IsRunning|0|0|bool||get;|hdb50b35f9f11d94a95bf6f33b6d55042e6ef5b6754a94143c75a7814c03fafc3", "signature": "bool IsRunning { get; }", "summary": "True while the operation is in flight." }, { "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()", "summary": "Cancels a running operation. Optional." }, { "name": "Run", "kind": "method", "id": "method|Run|0|0|void|||h7fa7970a6de0dd0432fb375a6fdd0984556b406ca72f5dcb18c83b9546faba45", "signature": "void Run()", "summary": "Starts the operation. Re-entry is ignored, so it is safe to call every frame." }] }, { "name": "CuiSharp.Hosting.Mutation\u00601", "displayName": "Mutation", "kind": "class", "summary": "One background operation owned by a component: start it, keep drawing, and see the result on a later frame. The frame loop is synchronous, so nothing inside Draw may await. A mutation is the shape that makes that safe: it runs the work on the pool, holds the outcome, and never touches a Ui from a pool thread. While the operation runs \u2014 and for the one frame its result still needs to be drawn \u2014 the host keeps requesting frames, so the state appears immediately instead of on the next mouse move. Error and IsRunning are always current and cost nothing to read, so a fire-and-forget mutation needs no bookkeeping in Draw. Pass an apply callback when the result has to change state, and Draw never polls: the callback runs on the UI thread, before the next frame draws.", "members": [{ "name": "Error", "kind": "property", "id": "property|Error|0|0|Exception?||get;|hb67d4cbeee04c77705d935c8f9afc91d020a674a85f3ebb45a3c6dfd8005cfea", "signature": "Exception? Error { get; }", "summary": "The failure that ended the last run, or null. Cached when the operation completes, so reading it every frame allocates nothing." }, { "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||Func\u003CCancellationToken, Task\u003CT\u003E\u003E work||h407c67811e4cd751644c16cd780b2aa8f6144d3999000bb9a13e4867a2511590", "signature": "Mutation\u003CT\u003E(Func\u003CCancellationToken, Task\u003CT\u003E\u003E work)", "parameters": [{ "name": "work", "type": "Func\u003CCancellationToken, Task\u003CT\u003E\u003E" }], "summary": "Creates a mutation around the work it runs." }, { "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||Func\u003CCancellationToken, Task\u003CT\u003E\u003E work;Action\u003CT\u003E? apply||h439a867bc51e16192ebb428f43d5d5ad97e83f3395e337d6fadd63dfcb5ec734", "signature": "Mutation\u003CT\u003E(Func\u003CCancellationToken, Task\u003CT\u003E\u003E work, Action\u003CT\u003E? apply)", "parameters": [{ "name": "work", "type": "Func\u003CCancellationToken, Task\u003CT\u003E\u003E" }, { "name": "apply", "type": "Action\u003CT\u003E?" }], "summary": "Creates a mutation that hands its result to apply on the UI thread, before the next frame draws." }, { "name": "IsRunning", "kind": "property", "id": "property|IsRunning|0|0|bool||get;|hdb50b35f9f11d94a95bf6f33b6d55042e6ef5b6754a94143c75a7814c03fafc3", "signature": "bool IsRunning { get; }", "summary": "True while the operation is in flight." }, { "name": "TryPublish", "kind": "method", "id": "method|TryPublish|0|0|bool|out T result||ha98becc21c9c0f32b7a93fa1ebe90da051774564169240986c82f6a725c2b6ce", "signature": "bool TryPublish(out T? result)", "parameters": [{ "name": "result", "type": "out T?" }], "summary": "Takes the result if the operation finished. Needed only when the result has no apply callback; an operation that was given one has already applied it." }, { "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()", "summary": "Cancels a running operation and drops its result. Optional: a mutation that is never disposed is cancelled when the process exits, which is what an app usually wants. After this, a completion that arrives late \u2014 the work finished just before the page was navigated away from \u2014 is dropped instead of applying into a component that no longer exists." }, { "name": "Run", "kind": "method", "id": "method|Run|0|0|void|||h7fa7970a6de0dd0432fb375a6fdd0984556b406ca72f5dcb18c83b9546faba45", "signature": "void Run()", "summary": "Starts the operation \u2014 on the pool, never on the frame thread. Re-entry is ignored, so it is safe to call every frame, and a run started after Dispose is ignored too: the component that owned it is gone." }] }, { "name": "CuiSharp.Hosting.WidgetTarget", "displayName": "WidgetTarget", "kind": "struct", "summary": "One control of a frame, as something to act on: hover it, click it, read where it is.", "members": [{ "name": "ClickAndFrame", "kind": "method", "id": "method|ClickAndFrame|0|0|HeadlessApp|||h43e085aa37f6bc8677e3c93bfcfbbe3239ac58d49311d15cc64e9a3dd3a90869", "signature": "HeadlessApp ClickAndFrame()", "summary": "Clicks the widget and returns the app, whose last frame reacted to it." }, { "name": "Rect", "kind": "property", "id": "property|Rect|0|0|RectF||get;|hf755173a5fe47fca342422117b9258f72be7002a01ae38cb809f072f70e4e9a6", "signature": "RectF Rect { get; }", "summary": "Where it was laid out in the frame it was found in." }, { "name": "Click", "kind": "method", "id": "method|Click|0|0|WidgetTarget|||hfad9f154f0bc2a0506748d7415467cb904dbe6fe379b297d23818d6cfe8d4c8d", "signature": "WidgetTarget Click()", "summary": "Clicks the widget: pointer over it, a press frame, a release frame. The widget reports the click on the release, so the frame after this one shows the result." }, { "name": "Hover", "kind": "method", "id": "method|Hover|0|0|WidgetTarget|||ha21b70758524839ef7605ba94fb74e78ebfe78f13e935f313437213f5181cf7c", "signature": "WidgetTarget Hover()", "summary": "Moves the pointer to the middle of the widget and draws a frame." }, { "name": "Kind", "kind": "property", "id": "property|Kind|0|0|string||get;|h388961e1f6a3037bd4a4c8333a144e60a99cdcd3bd10798d477a76bdae288a1d", "signature": "string Kind { get; }", "summary": "The wrapper that drew it: Button, Input, ListItem." }, { "name": "Text", "kind": "property", "id": "property|Text|0|0|string||get;|h221097532e4154611cbbc42c65b80d74f8055bd282efb709184598cd9d2c27bb", "signature": "string Text { get; }", "summary": "The id, or the label when the widget takes no id." }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()" }] }, - { "name": "CuiSharp.HoverCardOpts", "displayName": "HoverCardOpts", "kind": "struct", "summary": "cui_hover_card_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement placement" }, { "name": "Delay", "kind": "field", "id": "field|Delay|0|0|float|||h3a45177d911de60d3c1058d19f965797cda6f4da3e3656b82d0a5ea6832de388", "signature": "public float Delay", "summary": "float delay" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float width" }] }, - { "name": "CuiSharp.HttpMethod", "displayName": "HttpMethod", "kind": "enum", "summary": "cui_http_method", "members": [{ "name": "Delete", "kind": "enum value", "id": "enum value|Delete|1|0|||4|h9c468745566016a9c9cd155b92c193f000d5b19f89810867856e1f2f52312bd9", "signature": "Delete = 4", "value": "4" }, { "name": "Get", "kind": "enum value", "id": "enum value|Get|1|0|||0|h9153c85d369ed9b213b8a6e77e3578dd074be635790c6a90cb0629bdc57c85cc", "signature": "Get = 0", "value": "0" }, { "name": "Head", "kind": "enum value", "id": "enum value|Head|1|0|||5|h3d6dda8de06597da50de06458717cab0b7b2c733d52a788ca282b383cf0bfb65", "signature": "Head = 5", "value": "5" }, { "name": "Options", "kind": "enum value", "id": "enum value|Options|1|0|||6|hcec4abdffc7cd43823b24cd6e2e845efc356fd48586425123fd465da5f30bce5", "signature": "Options = 6", "value": "6" }, { "name": "Patch", "kind": "enum value", "id": "enum value|Patch|1|0|||3|h8b76e70de6458fbb533b60ab1f264a9389387456acfbf14b70f1fb58e8cd5329", "signature": "Patch = 3", "value": "3" }, { "name": "Post", "kind": "enum value", "id": "enum value|Post|1|0|||1|h23f6c8de17ade41606d842189999c39a12d8f067379eed85f69c848179f5c17e", "signature": "Post = 1", "value": "1" }, { "name": "Put", "kind": "enum value", "id": "enum value|Put|1|0|||2|h9f14b11672b7c798b0eae55b6dcaa0c9d267b4df15d58a6850da1e061969155f", "signature": "Put = 2", "value": "2" }] }, + { "name": "CuiSharp.HoverCardOpts", "displayName": "HoverCardOpts", "kind": "struct", "summary": "Hover card: rich content that appears when the pointer rests on the previous component, and stays while the pointer is over either. All fields are optional; zero selects the native default.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement placement" }, { "name": "Delay", "kind": "field", "id": "field|Delay|0|0|float|||h3a45177d911de60d3c1058d19f965797cda6f4da3e3656b82d0a5ea6832de388", "signature": "public float Delay", "summary": "seconds the pointer must rest on the component before the card shows, default 0.45" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float width" }] }, + { "name": "CuiSharp.HttpMethod", "displayName": "HttpMethod", "kind": "enum", "summary": "The method, the URL and Send, as in an API client. Enter in the URL sends; while \u0060loading\u0060 the button cancels. cui_response_status shows a response\u0027s status, time and size in one line. cui_url_params and cui_url_set_params move a URL\u0027s query to and from key-value pairs, decoding and encoding it, so a parameters table can stay in step with the URL.", "members": [{ "name": "Delete", "kind": "enum value", "id": "enum value|Delete|1|0|||4|h9c468745566016a9c9cd155b92c193f000d5b19f89810867856e1f2f52312bd9", "signature": "Delete = 4", "value": "4" }, { "name": "Get", "kind": "enum value", "id": "enum value|Get|1|0|||0|h9153c85d369ed9b213b8a6e77e3578dd074be635790c6a90cb0629bdc57c85cc", "signature": "Get = 0", "value": "0" }, { "name": "Head", "kind": "enum value", "id": "enum value|Head|1|0|||5|h3d6dda8de06597da50de06458717cab0b7b2c733d52a788ca282b383cf0bfb65", "signature": "Head = 5", "value": "5" }, { "name": "Options", "kind": "enum value", "id": "enum value|Options|1|0|||6|hcec4abdffc7cd43823b24cd6e2e845efc356fd48586425123fd465da5f30bce5", "signature": "Options = 6", "value": "6" }, { "name": "Patch", "kind": "enum value", "id": "enum value|Patch|1|0|||3|h8b76e70de6458fbb533b60ab1f264a9389387456acfbf14b70f1fb58e8cd5329", "signature": "Patch = 3", "value": "3" }, { "name": "Post", "kind": "enum value", "id": "enum value|Post|1|0|||1|h23f6c8de17ade41606d842189999c39a12d8f067379eed85f69c848179f5c17e", "signature": "Post = 1", "value": "1" }, { "name": "Put", "kind": "enum value", "id": "enum value|Put|1|0|||2|h9f14b11672b7c798b0eae55b6dcaa0c9d267b4df15d58a6850da1e061969155f", "signature": "Put = 2", "value": "2" }] }, { "name": "CuiSharp.IFileDialogProvider", "displayName": "IFileDialogProvider", "kind": "interface", "summary": "Picks a file, a folder or a save path with the OS\u0027s own dialog, and returns what happened instead of a bool and an empty string. Native dialogs are modal and blocking on every platform, so call this from a button\u0027s click in a frame, never from work that has to keep drawing. The default implementation asks the OS through CUI; a test replaces it, so a picker flow can be exercised without a display or a dialog.", "members": [{ "name": "Pick", "kind": "method", "id": "method|Pick|0|0|FilePickResult|CuiWindow window;FileDialogOpts options||h9f867669da4a21c3b53bce004250b8d1847a0abeb5d7077e199bd76432ff6d37", "signature": "FilePickResult Pick(CuiWindow window, FileDialogOpts options)", "parameters": [{ "name": "window", "type": "CuiWindow" }, { "name": "options", "type": "FileDialogOpts" }], "summary": "Shows the dialog and returns the choice, or a cancelled result." }] }, { "name": "CuiSharp.Icons", "displayName": "Icons", "kind": "static class", "summary": "The Lucide glyphs CUI embeds, one private-use code point each, from CUI_ICON_* in cui_icons.h.", "members": [{ "name": "Activity", "kind": "constant", "id": "constant|Activity|1|0|string||\uE038|ha7907bd574f24d18b99f09b5096af243b50926c11d33511c745a200d37f955d7", "signature": "public const string Activity = \u0022\\uE038\u0022", "value": "\uE038" }, { "name": "AlignLeft", "kind": "constant", "id": "constant|AlignLeft|1|0|string||\uE185|h7a766b995d5357b6dd17a9951770a525188f66bec946beafd84d2732291bad82", "signature": "public const string AlignLeft = \u0022\\uE185\u0022", "value": "\uE185" }, { "name": "Archive", "kind": "constant", "id": "constant|Archive|1|0|string||\uE041|h518a1151535331e639f0d82c601c44ae3f66bbb9ce76a1aee96aed571fb5c287", "signature": "public const string Archive = \u0022\\uE041\u0022", "value": "\uE041" }, { "name": "ArrowDown", "kind": "constant", "id": "constant|ArrowDown|1|0|string||\uE042|hdf25b690f19fcdf4afd9ea8d93b9941f88bc8c2b90812df81492297dc1646d7e", "signature": "public const string ArrowDown = \u0022\\uE042\u0022", "value": "\uE042" }, { "name": "ArrowLeft", "kind": "constant", "id": "constant|ArrowLeft|1|0|string||\uE048|hb37a7fe0eb6716833ca418595a5cfac42c92ea84eb6155efbcc4465923b7108e", "signature": "public const string ArrowLeft = \u0022\\uE048\u0022", "value": "\uE048" }, { "name": "ArrowRight", "kind": "constant", "id": "constant|ArrowRight|1|0|string||\uE049|h1b4c8c2181c0d4673e998f6ab6d70c11027deab161a082150ddb40e02657ba2f", "signature": "public const string ArrowRight = \u0022\\uE049\u0022", "value": "\uE049" }, { "name": "ArrowUp", "kind": "constant", "id": "constant|ArrowUp|1|0|string||\uE04A|h9502cc62990b0cbe5369eb31b79abdabd9300969b952fc898778840a9be2c6be", "signature": "public const string ArrowUp = \u0022\\uE04A\u0022", "value": "\uE04A" }, { "name": "ArrowUpRight", "kind": "constant", "id": "constant|ArrowUpRight|1|0|string||\uE04D|h8653e745e609220a4abd6dd2d8b7c08d6f53d6a064bb1f2018fc9e3c23dc57d1", "signature": "public const string ArrowUpRight = \u0022\\uE04D\u0022", "value": "\uE04D" }, { "name": "AtSign", "kind": "constant", "id": "constant|AtSign|1|0|string||\uE04E|h36c9b528954782753b0cc938d9a630f784644313c53df2d2ee682b9269927f5e", "signature": "public const string AtSign = \u0022\\uE04E\u0022", "value": "\uE04E" }, { "name": "AudioLines", "kind": "constant", "id": "constant|AudioLines|1|0|string||\uE55A|hb46a61df71dc9d51f484b961a5d2bc9cbad8b583dcdd052e430cb73fe802ebf9", "signature": "public const string AudioLines = \u0022\\uE55A\u0022", "value": "\uE55A" }, { "name": "Award", "kind": "constant", "id": "constant|Award|1|0|string||\uE04F|h449a94806de77ccde99cb78a356b4ea3ac218d79b3afc89d80fae5b8c64bf245", "signature": "public const string Award = \u0022\\uE04F\u0022", "value": "\uE04F" }, { "name": "BadgeCheck", "kind": "constant", "id": "constant|BadgeCheck|1|0|string||\uE241|h7f131959864092141db4e64f746861f17587195d31c80a53d8a6ce29ed08062a", "signature": "public const string BadgeCheck = \u0022\\uE241\u0022", "value": "\uE241" }, { "name": "Battery", "kind": "constant", "id": "constant|Battery|1|0|string||\uE053|h047664889136f4a035c5df236cf9126031e5c095468f32738f143b58558d7616", "signature": "public const string Battery = \u0022\\uE053\u0022", "value": "\uE053" }, { "name": "Bell", "kind": "constant", "id": "constant|Bell|1|0|string||\uE059|h902e535fac72838cb18d5aeb1f89276885cc2d0b693cddf889c4181aa70e56da", "signature": "public const string Bell = \u0022\\uE059\u0022", "value": "\uE059" }, { "name": "Bold", "kind": "constant", "id": "constant|Bold|1|0|string||\uE05D|h25c22eed51c6d6db6f9f4b35040cd54f36d025c2d5b75e0c07a064d2e8084393", "signature": "public const string Bold = \u0022\\uE05D\u0022", "value": "\uE05D" }, { "name": "Bookmark", "kind": "constant", "id": "constant|Bookmark|1|0|string||\uE060|h0ae9252448b2f4f2027fc8241380ddd5c3b6c1fc0cf8808098d37c4035d69815", "signature": "public const string Bookmark = \u0022\\uE060\u0022", "value": "\uE060" }, { "name": "Box", "kind": "constant", "id": "constant|Box|1|0|string||\uE061|hceb2cc8893a1b2f4845ca28945c0201e5476a3068df8b526cc591f9c4fc18d4b", "signature": "public const string Box = \u0022\\uE061\u0022", "value": "\uE061" }, { "name": "Briefcase", "kind": "constant", "id": "constant|Briefcase|1|0|string||\uE062|h512449c1ee15adcde0a5e67cd71fb6ca413e96bf95eec2f414c7a53028aed661", "signature": "public const string Briefcase = \u0022\\uE062\u0022", "value": "\uE062" }, { "name": "Bug", "kind": "constant", "id": "constant|Bug|1|0|string||\uE20C|h9a0d1b58918909d340bf2cfa75e738a7752caa21eddf001ef55d7bde25d7669b", "signature": "public const string Bug = \u0022\\uE20C\u0022", "value": "\uE20C" }, { "name": "Building2", "kind": "constant", "id": "constant|Building2|1|0|string||\uE290|h376335730454bd030bb3e6351942ef4db138e345044ad4f9165d97834852facb", "signature": "public const string Building2 = \u0022\\uE290\u0022", "value": "\uE290" }, { "name": "Calendar", "kind": "constant", "id": "constant|Calendar|1|0|string||\uE063|hd7ab81b6b8e0878d93abf29bc5a9b65e4c0e905c1dec0d4f652673865b615a2e", "signature": "public const string Calendar = \u0022\\uE063\u0022", "value": "\uE063" }, { "name": "Camera", "kind": "constant", "id": "constant|Camera|1|0|string||\uE064|h3c761ff1290732f74654320794257e3f6b7da64929c06b8f3ec4b2466dd48492", "signature": "public const string Camera = \u0022\\uE064\u0022", "value": "\uE064" }, { "name": "ChartBar", "kind": "constant", "id": "constant|ChartBar|1|0|string||\uE2A2|h3a59e88bacd73354d2a85051a21ff4092add6725c92777c0efd1074726954ada", "signature": "public const string ChartBar = \u0022\\uE2A2\u0022", "value": "\uE2A2" }, { "name": "ChartLine", "kind": "constant", "id": "constant|ChartLine|1|0|string||\uE2A5|h3f9d7728174b49d3311af1d8ab9a2dd63d97eae61831d93766e189f1027a45d0", "signature": "public const string ChartLine = \u0022\\uE2A5\u0022", "value": "\uE2A5" }, { "name": "ChartPie", "kind": "constant", "id": "constant|ChartPie|1|0|string||\uE06B|h1c9f3fd9df9d04ac67fb3dfa67ca69523d1d5e8e48a6f7939047360ad4db4695", "signature": "public const string ChartPie = \u0022\\uE06B\u0022", "value": "\uE06B" }, { "name": "Check", "kind": "constant", "id": "constant|Check|1|0|string||\uE06C|hd34976564ca444916524a18154e5c10483c0fb8bbdcb75684db3932d38740f69", "signature": "public const string Check = \u0022\\uE06C\u0022", "value": "\uE06C" }, { "name": "CheckCheck", "kind": "constant", "id": "constant|CheckCheck|1|0|string||\uE38E|h977e2aaca3102ad60b42e8778609bb6188e0f7bdbdad7b1355d90acef63b2c02", "signature": "public const string CheckCheck = \u0022\\uE38E\u0022", "value": "\uE38E" }, { "name": "ChevronDown", "kind": "constant", "id": "constant|ChevronDown|1|0|string||\uE06D|h3efc1c9ecc669ed6019d1d73a04ce2f3b0827eced6ff4a361bf701db6dfea75e", "signature": "public const string ChevronDown = \u0022\\uE06D\u0022", "value": "\uE06D" }, { "name": "ChevronLeft", "kind": "constant", "id": "constant|ChevronLeft|1|0|string||\uE06E|h7fbd5ceefe64982355e2fe3854082aa771fb20eb7e8a4bef493e83d914ad73ee", "signature": "public const string ChevronLeft = \u0022\\uE06E\u0022", "value": "\uE06E" }, { "name": "ChevronRight", "kind": "constant", "id": "constant|ChevronRight|1|0|string||\uE06F|hdfdf63073a4888e2dc2f1c55602922b1fe51fb89500bdeee5f336bac4624a4bb", "signature": "public const string ChevronRight = \u0022\\uE06F\u0022", "value": "\uE06F" }, { "name": "ChevronUp", "kind": "constant", "id": "constant|ChevronUp|1|0|string||\uE070|h117a7a1d45bc880a715d04e07214c1fc06c788a96b64f5e520ee868912aece1b", "signature": "public const string ChevronUp = \u0022\\uE070\u0022", "value": "\uE070" }, { "name": "ChevronsLeft", "kind": "constant", "id": "constant|ChevronsLeft|1|0|string||\uE072|h66dbe21b55fd4fd3e109f1e5f34de514e2a7b5bd77983a1d246790580247aaa1", "signature": "public const string ChevronsLeft = \u0022\\uE072\u0022", "value": "\uE072" }, { "name": "ChevronsRight", "kind": "constant", "id": "constant|ChevronsRight|1|0|string||\uE073|hd9a958422253a785ef99397b252b238cd6212c87d76ab207cf10c4d262ce20d9", "signature": "public const string ChevronsRight = \u0022\\uE073\u0022", "value": "\uE073" }, { "name": "ChevronsUpDown", "kind": "constant", "id": "constant|ChevronsUpDown|1|0|string||\uE211|h1023ad06b012cbffc8d220fa5e30f13173c96bf131fb1b95d1b6dc5030a6951a", "signature": "public const string ChevronsUpDown = \u0022\\uE211\u0022", "value": "\uE211" }, { "name": "Circle", "kind": "constant", "id": "constant|Circle|1|0|string||\uE076|h89f1393951197f3182148e0a2f3483504d7e490b1f3653caeb32838a5a3df68f", "signature": "public const string Circle = \u0022\\uE076\u0022", "value": "\uE076" }, { "name": "CircleAlert", "kind": "constant", "id": "constant|CircleAlert|1|0|string||\uE077|hfa99b1ebdb0fcfc1ae26e2d4d21d34c75ed47a42a03131a155d867f18ce49d77", "signature": "public const string CircleAlert = \u0022\\uE077\u0022", "value": "\uE077" }, { "name": "CircleCheck", "kind": "constant", "id": "constant|CircleCheck|1|0|string||\uE226|hffc4a2f6068228dcecc31297556c55bdd529261e4b98e0b082fa2377011ff76a", "signature": "public const string CircleCheck = \u0022\\uE226\u0022", "value": "\uE226" }, { "name": "CircleDot", "kind": "constant", "id": "constant|CircleDot|1|0|string||\uE345|h96a35a92ebd44e133758285e82048f761728bc3b7a3aa217574e6b5977de1c09", "signature": "public const string CircleDot = \u0022\\uE345\u0022", "value": "\uE345" }, { "name": "CircleHelp", "kind": "constant", "id": "constant|CircleHelp|1|0|string||\uE082|hb2a1acfd6a631106923b6cc9ee1213fa21c077072b83efb8438e390dcab72aec", "signature": "public const string CircleHelp = \u0022\\uE082\u0022", "value": "\uE082" }, { "name": "CircleUser", "kind": "constant", "id": "constant|CircleUser|1|0|string||\uE461|h3e8493acf66d87b1581ea2a3a750281fa415aa4bf1ad639822092193d37a788b", "signature": "public const string CircleUser = \u0022\\uE461\u0022", "value": "\uE461" }, { "name": "CircleX", "kind": "constant", "id": "constant|CircleX|1|0|string||\uE084|h6f2e7f2710104b7d83523878b08d2e2affd02f7ad449f357a6e7b09ca228153d", "signature": "public const string CircleX = \u0022\\uE084\u0022", "value": "\uE084" }, { "name": "Clipboard", "kind": "constant", "id": "constant|Clipboard|1|0|string||\uE085|hed3618bcf17beb34fafc9a1d495515100066ea771a7f1f2e837be1aab67cf7e0", "signature": "public const string Clipboard = \u0022\\uE085\u0022", "value": "\uE085" }, { "name": "Clock", "kind": "constant", "id": "constant|Clock|1|0|string||\uE087|h6b25441fc9791c0be1a517f72549e15349e5b19ea3530fc72c0b77bd34f618b0", "signature": "public const string Clock = \u0022\\uE087\u0022", "value": "\uE087" }, { "name": "Cloud", "kind": "constant", "id": "constant|Cloud|1|0|string||\uE088|hef618cbd9297ae56fb3205d988657b722e0b12fef7037d98f6f89f25928491de", "signature": "public const string Cloud = \u0022\\uE088\u0022", "value": "\uE088" }, { "name": "Code", "kind": "constant", "id": "constant|Code|1|0|string||\uE093|h4feb3cb84e87a9469a6736c31dd9eafd7858ec365a4912ff3cad2a88a63f8a88", "signature": "public const string Code = \u0022\\uE093\u0022", "value": "\uE093" }, { "name": "Command", "kind": "constant", "id": "constant|Command|1|0|string||\uE09A|hb0531a0a996bd3894d4da5f7f2b9382c0a0b608f20a676d12cf9608ae35a351a", "signature": "public const string Command = \u0022\\uE09A\u0022", "value": "\uE09A" }, { "name": "Compass", "kind": "constant", "id": "constant|Compass|1|0|string||\uE09B|h3a9899c1f1292c4fdb22bba5ff8003664591991e34d08a3b882f3ad00c8b1e37", "signature": "public const string Compass = \u0022\\uE09B\u0022", "value": "\uE09B" }, { "name": "Copy", "kind": "constant", "id": "constant|Copy|1|0|string||\uE09E|hc8a19aa077bd5016fad8ff440977b53e1212f8dca3c2e6c096b14098e147e48e", "signature": "public const string Copy = \u0022\\uE09E\u0022", "value": "\uE09E" }, { "name": "Cpu", "kind": "constant", "id": "constant|Cpu|1|0|string||\uE0A9|h0c085b5ddfedec085a5ad6f2b6d07107a3ed3d81649ccb3b6bfb5debc2332dd7", "signature": "public const string Cpu = \u0022\\uE0A9\u0022", "value": "\uE0A9" }, { "name": "CreditCard", "kind": "constant", "id": "constant|CreditCard|1|0|string||\uE0AA|h35d88b9e84e51f89378532f7238532f7a74674863653a39451b79b3cd75045f8", "signature": "public const string CreditCard = \u0022\\uE0AA\u0022", "value": "\uE0AA" }, { "name": "Database", "kind": "constant", "id": "constant|Database|1|0|string||\uE0AD|h99ab2949c26829b430a1cb00f7b78e8d9f83a49f54dafea5605f1d4d5d648841", "signature": "public const string Database = \u0022\\uE0AD\u0022", "value": "\uE0AD" }, { "name": "DollarSign", "kind": "constant", "id": "constant|DollarSign|1|0|string||\uE0B1|hcbeb1942fc285ef90b52ca0c2a3c876e6347f29ab71046c2766755b0b8bf60fa", "signature": "public const string DollarSign = \u0022\\uE0B1\u0022", "value": "\uE0B1" }, { "name": "Dot", "kind": "constant", "id": "constant|Dot|1|0|string||\uE44F|h2784a915c8e8b3486f396f59c423a9986b1ad06dadfebedf3d56b61cb8ca6c82", "signature": "public const string Dot = \u0022\\uE44F\u0022", "value": "\uE44F" }, { "name": "Download", "kind": "constant", "id": "constant|Download|1|0|string||\uE0B2|h9121af1b290dc46fafb0ef11f4796322c15a232e0c1e91606108b2443c76497c", "signature": "public const string Download = \u0022\\uE0B2\u0022", "value": "\uE0B2" }, { "name": "Ellipsis", "kind": "constant", "id": "constant|Ellipsis|1|0|string||\uE0B6|h886dc6938aeda1096b683c4250a8cb91f29b258d49c67ef57bd089aed3d03ecd", "signature": "public const string Ellipsis = \u0022\\uE0B6\u0022", "value": "\uE0B6" }, { "name": "EllipsisVertical", "kind": "constant", "id": "constant|EllipsisVertical|1|0|string||\uE0B7|h73ad56a661b6fbde6027f4a7c869f765217ca2b8d24d82e4cceb75d86e764626", "signature": "public const string EllipsisVertical = \u0022\\uE0B7\u0022", "value": "\uE0B7" }, { "name": "ExternalLink", "kind": "constant", "id": "constant|ExternalLink|1|0|string||\uE0B9|h90ac89e75b91b140742adba158ac3b7cc5e66c62dd0a38e10a8fb1c378a70c2f", "signature": "public const string ExternalLink = \u0022\\uE0B9\u0022", "value": "\uE0B9" }, { "name": "Eye", "kind": "constant", "id": "constant|Eye|1|0|string||\uE0BA|hb2bb7c84b6bcd760cfde54762c69030ff9c27dcd7e0b639979d3e5b7bbd5a8ab", "signature": "public const string Eye = \u0022\\uE0BA\u0022", "value": "\uE0BA" }, { "name": "EyeOff", "kind": "constant", "id": "constant|EyeOff|1|0|string||\uE0BB|hec324931538c8f0fccdcef7ad7c4ba6fabcbb9f1e0a3c0455ba612fa8ee71292", "signature": "public const string EyeOff = \u0022\\uE0BB\u0022", "value": "\uE0BB" }, { "name": "File", "kind": "constant", "id": "constant|File|1|0|string||\uE0C0|h295e6a5c9248bd9aa0f335783c17666fb43e0da33954b0315787dbb6d0b4ced3", "signature": "public const string File = \u0022\\uE0C0\u0022", "value": "\uE0C0" }, { "name": "FileText", "kind": "constant", "id": "constant|FileText|1|0|string||\uE0CC|hff139c25d93436aa19a4eb50667b89aa66bd38ebec7d5a37a80ee6f3fc4e93e8", "signature": "public const string FileText = \u0022\\uE0CC\u0022", "value": "\uE0CC" }, { "name": "Filter", "kind": "constant", "id": "constant|Filter|1|0|string||\uE0DC|h62c1d1505d6e6d1ddc50faefc1a0029e9b39fbf429674ff3ef96e27c8418841e", "signature": "public const string Filter = \u0022\\uE0DC\u0022", "value": "\uE0DC" }, { "name": "Fingerprint", "kind": "constant", "id": "constant|Fingerprint|1|0|string||\uE2CB|h396476dd193211dfd5877370efa741fac346d97ba01b130ecb7e8e13146cfabb", "signature": "public const string Fingerprint = \u0022\\uE2CB\u0022", "value": "\uE2CB" }, { "name": "Flag", "kind": "constant", "id": "constant|Flag|1|0|string||\uE0D1|hbf886900951f7ffcccf18e63708784e5885c52c4e2c19e8fc6c9699a0a1eaf80", "signature": "public const string Flag = \u0022\\uE0D1\u0022", "value": "\uE0D1" }, { "name": "Folder", "kind": "constant", "id": "constant|Folder|1|0|string||\uE0D7|h725eff19426fbc484411c58b802e3d9977572d9dd45b06b71f97ff3559db228a", "signature": "public const string Folder = \u0022\\uE0D7\u0022", "value": "\uE0D7" }, { "name": "FolderOpen", "kind": "constant", "id": "constant|FolderOpen|1|0|string||\uE247|h0349a10c485e4f8e148f8b5cfab26020c71b40366f791eec25e5f82eba96ecdd", "signature": "public const string FolderOpen = \u0022\\uE247\u0022", "value": "\uE247" }, { "name": "Gift", "kind": "constant", "id": "constant|Gift|1|0|string||\uE0E1|ha2bd4ab8e9f99eab557c272c3e263a85b94fabcea070abfa4a8fbd5415e5d5fa", "signature": "public const string Gift = \u0022\\uE0E1\u0022", "value": "\uE0E1" }, { "name": "GitBranch", "kind": "constant", "id": "constant|GitBranch|1|0|string||\uE0E2|h6b781073ac68ad76c0494b8e3fca2a4f23eeb8c86d2607af41f0e3aadf3215a6", "signature": "public const string GitBranch = \u0022\\uE0E2\u0022", "value": "\uE0E2" }, { "name": "Globe", "kind": "constant", "id": "constant|Globe|1|0|string||\uE0E8|h8017e3336c9c8c97305d75b09b6d4fcdf9966e8f7386fcea4c895339694657b7", "signature": "public const string Globe = \u0022\\uE0E8\u0022", "value": "\uE0E8" }, { "name": "Grid3x3", "kind": "constant", "id": "constant|Grid3x3|1|0|string||\uE0E9|ha6f9668404525dc7fe99123e032a1a877ac64ab46dbd6b342523b1e34fc15d11", "signature": "public const string Grid3x3 = \u0022\\uE0E9\u0022", "value": "\uE0E9" }, { "name": "GripVertical", "kind": "constant", "id": "constant|GripVertical|1|0|string||\uE0EB|h02ad2a02250b9fd7bd57e4350af85fa06327f7018b8ef2a8d23ffd6b6253150f", "signature": "public const string GripVertical = \u0022\\uE0EB\u0022", "value": "\uE0EB" }, { "name": "Hash", "kind": "constant", "id": "constant|Hash|1|0|string||\uE0EF|he77ef05afef7c633ca9971266b2b0c172f76a64a78d61b4bad5f91527da32cb4", "signature": "public const string Hash = \u0022\\uE0EF\u0022", "value": "\uE0EF" }, { "name": "Heart", "kind": "constant", "id": "constant|Heart|1|0|string||\uE0F2|hf5a0879af47d2445973eb1fccc3871d0ac2964bd33fe10be342aa9b81e35ad05", "signature": "public const string Heart = \u0022\\uE0F2\u0022", "value": "\uE0F2" }, { "name": "History", "kind": "constant", "id": "constant|History|1|0|string||\uE1F5|hf23e7358625a1bf7978ed39d6d4da332014ca52e2cad609a451dcc43fbd84c66", "signature": "public const string History = \u0022\\uE1F5\u0022", "value": "\uE1F5" }, { "name": "House", "kind": "constant", "id": "constant|House|1|0|string||\uE0F5|hd5913d28e1bf06bbee348873bd9545adfe3d111c39e16a324e003d9cfa003be7", "signature": "public const string House = \u0022\\uE0F5\u0022", "value": "\uE0F5" }, { "name": "Image", "kind": "constant", "id": "constant|Image|1|0|string||\uE0F6|h2c369caf90e7e99b1d501b08a0d3e5897aecab4aa19a642af19d75af945aded7", "signature": "public const string Image = \u0022\\uE0F6\u0022", "value": "\uE0F6" }, { "name": "Inbox", "kind": "constant", "id": "constant|Inbox|1|0|string||\uE0F7|h61a4b0b0ed73d73cc4e84eac5270810bd38dba482d9c85f95b0a57d23097e0f8", "signature": "public const string Inbox = \u0022\\uE0F7\u0022", "value": "\uE0F7" }, { "name": "Info", "kind": "constant", "id": "constant|Info|1|0|string||\uE0F9|hcc47f2b3d80eb7a0099f5e17404d347757f3edd534b459ff618884371aad3f35", "signature": "public const string Info = \u0022\\uE0F9\u0022", "value": "\uE0F9" }, { "name": "Italic", "kind": "constant", "id": "constant|Italic|1|0|string||\uE0FB|h9e23cc60f23be4d487a863796d76cbe997909154a8e2b05ab2c9fdf8a150739b", "signature": "public const string Italic = \u0022\\uE0FB\u0022", "value": "\uE0FB" }, { "name": "KeyRound", "kind": "constant", "id": "constant|KeyRound|1|0|string||\uE4A3|ha2c187ec0b24c15950668e6e6080d92061186c6aab5aff73f4e26efc68136906", "signature": "public const string KeyRound = \u0022\\uE4A3\u0022", "value": "\uE4A3" }, { "name": "Keyboard", "kind": "constant", "id": "constant|Keyboard|1|0|string||\uE284|hdbe558dcd39818469d630854af3a116df2e8d87c17db824a926c2655332bece1", "signature": "public const string Keyboard = \u0022\\uE284\u0022", "value": "\uE284" }, { "name": "Layers", "kind": "constant", "id": "constant|Layers|1|0|string||\uE529|h882580aa55ce7fd8b90b8155517cdd2a593a293c743540155fa410822a24ab91", "signature": "public const string Layers = \u0022\\uE529\u0022", "value": "\uE529" }, { "name": "LayoutDashboard", "kind": "constant", "id": "constant|LayoutDashboard|1|0|string||\uE1C1|hdcd670f46cddd4e1af6331dcd853a801465579697f6363248ecad2a503400099", "signature": "public const string LayoutDashboard = \u0022\\uE1C1\u0022", "value": "\uE1C1" }, { "name": "Link", "kind": "constant", "id": "constant|Link|1|0|string||\uE102|h4c8a9d8944cfce5d4e29cb97808db6dba18ad8ebe1f5a48124119484d97ccd4f", "signature": "public const string Link = \u0022\\uE102\u0022", "value": "\uE102" }, { "name": "List", "kind": "constant", "id": "constant|List|1|0|string||\uE106|ha8d9b9c693a187732b2054a430ee5fe7164e2723eee57e6126008114f3193e6a", "signature": "public const string List = \u0022\\uE106\u0022", "value": "\uE106" }, { "name": "ListChecks", "kind": "constant", "id": "constant|ListChecks|1|0|string||\uE1D0|h222f2c09c86375bf219c39fde41af7162c029aef3b35fcaca0371c372b5d7eb6", "signature": "public const string ListChecks = \u0022\\uE1D0\u0022", "value": "\uE1D0" }, { "name": "LoaderCircle", "kind": "constant", "id": "constant|LoaderCircle|1|0|string||\uE10A|hfb769ba1d8de3a60d1a098816ff66f554efce27d4a86f23bc4e0b85a4aed9d67", "signature": "public const string LoaderCircle = \u0022\\uE10A\u0022", "value": "\uE10A" }, { "name": "Lock", "kind": "constant", "id": "constant|Lock|1|0|string||\uE10B|ha3caadc85e303a98036fe39a607f2648ba707148ed359155b11f556bed24b76c", "signature": "public const string Lock = \u0022\\uE10B\u0022", "value": "\uE10B" }, { "name": "LogIn", "kind": "constant", "id": "constant|LogIn|1|0|string||\uE10D|h2f4cff668340423c95e320d8109463e1b90763e18f1a4de8e6cffff83b042e73", "signature": "public const string LogIn = \u0022\\uE10D\u0022", "value": "\uE10D" }, { "name": "LogOut", "kind": "constant", "id": "constant|LogOut|1|0|string||\uE10E|h27c6bfee3565d975408ea45e163cfda17457f23a0883298e6b9d8e3cd51d069a", "signature": "public const string LogOut = \u0022\\uE10E\u0022", "value": "\uE10E" }, { "name": "Mail", "kind": "constant", "id": "constant|Mail|1|0|string||\uE10F|h74dd2c9bc04f1ca4541687c37a8c688298f8b0eb39d156de19aac76e057a6ed8", "signature": "public const string Mail = \u0022\\uE10F\u0022", "value": "\uE10F" }, { "name": "MapPin", "kind": "constant", "id": "constant|MapPin|1|0|string||\uE111|h46c60276dc7b29a9e0f43f11b814b366f6dfe7da8f8b1c1d6502fad031c77f39", "signature": "public const string MapPin = \u0022\\uE111\u0022", "value": "\uE111" }, { "name": "Maximize2", "kind": "constant", "id": "constant|Maximize2|1|0|string||\uE113|hfc0dd1c4da9b10d67a14126d6e5046d533d8646618e4c577d191f5c8315e2745", "signature": "public const string Maximize2 = \u0022\\uE113\u0022", "value": "\uE113" }, { "name": "Menu", "kind": "constant", "id": "constant|Menu|1|0|string||\uE115|h0deb4670f85d5dff72ae3bf690c41ac166e176fe413fc84d4664a87774da4dd5", "signature": "public const string Menu = \u0022\\uE115\u0022", "value": "\uE115" }, { "name": "MessageSquare", "kind": "constant", "id": "constant|MessageSquare|1|0|string||\uE117|h198c9405b406934436d0f5925acd794aeba4da4ae2f4b6f60a20c1ca6ef0d575", "signature": "public const string MessageSquare = \u0022\\uE117\u0022", "value": "\uE117" }, { "name": "Mic", "kind": "constant", "id": "constant|Mic|1|0|string||\uE118|he7b1ee946c64130a3215496e500d7647821e0f4104ce9fd9930963a69fcfb00e", "signature": "public const string Mic = \u0022\\uE118\u0022", "value": "\uE118" }, { "name": "Minimize2", "kind": "constant", "id": "constant|Minimize2|1|0|string||\uE11B|h623d79f8d006140a7f620074cd1f5d0f293d8e054db75bf3de4aa29ec72efc13", "signature": "public const string Minimize2 = \u0022\\uE11B\u0022", "value": "\uE11B" }, { "name": "Minus", "kind": "constant", "id": "constant|Minus|1|0|string||\uE11C|h8495237334def6ea617a9ddb469f297778b74b5ae102ee8ac0cd7405306d1fca", "signature": "public const string Minus = \u0022\\uE11C\u0022", "value": "\uE11C" }, { "name": "Monitor", "kind": "constant", "id": "constant|Monitor|1|0|string||\uE11D|h42da833913b88c7303ffff038609e92475244a673d4a03bf05328d5a965e715c", "signature": "public const string Monitor = \u0022\\uE11D\u0022", "value": "\uE11D" }, { "name": "Moon", "kind": "constant", "id": "constant|Moon|1|0|string||\uE11E|h8cb4045ee25477989342d9c10a4469f3eebbcc975bd4c1f88c0cdd5468e7113a", "signature": "public const string Moon = \u0022\\uE11E\u0022", "value": "\uE11E" }, { "name": "Move", "kind": "constant", "id": "constant|Move|1|0|string||\uE121|h351703b216dd622cb07832f3fd77debb3d7251abe255dad19f3dc8efec39f310", "signature": "public const string Move = \u0022\\uE121\u0022", "value": "\uE121" }, { "name": "Music", "kind": "constant", "id": "constant|Music|1|0|string||\uE122|h9e71ccd246eb53d9fb53b54a24cd5107bc9a301fb265fbf1b03d99fea425844f", "signature": "public const string Music = \u0022\\uE122\u0022", "value": "\uE122" }, { "name": "NotebookPen", "kind": "constant", "id": "constant|NotebookPen|1|0|string||\uE596|he7522254bf31d9efcd80f605faec537d3a81ea300910a97c05285e7109b717a3", "signature": "public const string NotebookPen = \u0022\\uE596\u0022", "value": "\uE596" }, { "name": "Package", "kind": "constant", "id": "constant|Package|1|0|string||\uE129|h28bf4bb7863c763f8ee4376431a0d6a65d781a7213426f15412d7b4c37453cc8", "signature": "public const string Package = \u0022\\uE129\u0022", "value": "\uE129" }, { "name": "Palette", "kind": "constant", "id": "constant|Palette|1|0|string||\uE1DD|hbb7bf1795cdebae03bacd2de7f4053bca035a34fcd905f85ecb55ede23f53511", "signature": "public const string Palette = \u0022\\uE1DD\u0022", "value": "\uE1DD" }, { "name": "PanelLeft", "kind": "constant", "id": "constant|PanelLeft|1|0|string||\uE12A|h3ec34a3b9e94863403e833ccadd51bdd2362ac3abfb1d8a66a3e55d69fbfb22b", "signature": "public const string PanelLeft = \u0022\\uE12A\u0022", "value": "\uE12A" }, { "name": "Paperclip", "kind": "constant", "id": "constant|Paperclip|1|0|string||\uE12D|hd1ea1ae433435958c3b9006a0f97fac6cc6babec85d3fad058a69bb8e6b3fc65", "signature": "public const string Paperclip = \u0022\\uE12D\u0022", "value": "\uE12D" }, { "name": "Pause", "kind": "constant", "id": "constant|Pause|1|0|string||\uE12E|h90dd32d9714518651305668ed17b05a57078f6ca2b513ebf6c8421cef7d1093d", "signature": "public const string Pause = \u0022\\uE12E\u0022", "value": "\uE12E" }, { "name": "Pencil", "kind": "constant", "id": "constant|Pencil|1|0|string||\uE1F9|h9e9c229158dbb3dc7e516bf362b9236c84022376db6b9ebd7125263e7bf187b5", "signature": "public const string Pencil = \u0022\\uE1F9\u0022", "value": "\uE1F9" }, { "name": "Percent", "kind": "constant", "id": "constant|Percent|1|0|string||\uE132|h508f809e8498c8b800612dd80253420b0ba1a4c7d4bbebfd27bf93472a910430", "signature": "public const string Percent = \u0022\\uE132\u0022", "value": "\uE132" }, { "name": "Phone", "kind": "constant", "id": "constant|Phone|1|0|string||\uE133|h331bff306f836e37141d783542e6840134bc2a8aa81be70402c100efe5e0e082", "signature": "public const string Phone = \u0022\\uE133\u0022", "value": "\uE133" }, { "name": "Play", "kind": "constant", "id": "constant|Play|1|0|string||\uE13C|h335e1fb9266c845f81cff8ef361614523089706b1f1e692196d59af9b9aadf57", "signature": "public const string Play = \u0022\\uE13C\u0022", "value": "\uE13C" }, { "name": "Plus", "kind": "constant", "id": "constant|Plus|1|0|string||\uE13D|h06bddead0a8e95082f386380dcf459ea8576b829a673b9130816ec2400b03c16", "signature": "public const string Plus = \u0022\\uE13D\u0022", "value": "\uE13D" }, { "name": "PlusCircle", "kind": "constant", "id": "constant|PlusCircle|1|0|string||\uE081|hda1d13bc58d5dee1c858b68744ab32397fd17c70e91f8effbf8c7c88d0a0e40c", "signature": "public const string PlusCircle = \u0022\\uE081\u0022", "value": "\uE081" }, { "name": "Printer", "kind": "constant", "id": "constant|Printer|1|0|string||\uE141|h515fcfc132460e684c852a21373b35511d27412f8cbff0cc806b3c64467e278e", "signature": "public const string Printer = \u0022\\uE141\u0022", "value": "\uE141" }, { "name": "Radio", "kind": "constant", "id": "constant|Radio|1|0|string||\uE142|h72aad404107aae757ac163aef6141591d2f2ce09a30a5223675eba239d29b4e3", "signature": "public const string Radio = \u0022\\uE142\u0022", "value": "\uE142" }, { "name": "Redo2", "kind": "constant", "id": "constant|Redo2|1|0|string||\uE2A0|h964646a6cf8e8b25b333268dadc4fb1edea064e60798f05728aa0da06ad85f10", "signature": "public const string Redo2 = \u0022\\uE2A0\u0022", "value": "\uE2A0" }, { "name": "RefreshCw", "kind": "constant", "id": "constant|RefreshCw|1|0|string||\uE145|h2532037d5aa2277df1b0520de1abe286da30b471ed8f724ecf1f3e46f3814788", "signature": "public const string RefreshCw = \u0022\\uE145\u0022", "value": "\uE145" }, { "name": "Repeat", "kind": "constant", "id": "constant|Repeat|1|0|string||\uE146|h26a64781c40ed42b2e13691c512e7c0a5ff4da07e5552a6f4e21fd346bddcebb", "signature": "public const string Repeat = \u0022\\uE146\u0022", "value": "\uE146" }, { "name": "Rocket", "kind": "constant", "id": "constant|Rocket|1|0|string||\uE286|ha78f55071189a3cf030284741a51bc7bb9ed27c4ad44422acab44095639a1ffc", "signature": "public const string Rocket = \u0022\\uE286\u0022", "value": "\uE286" }, { "name": "RotateCcw", "kind": "constant", "id": "constant|RotateCcw|1|0|string||\uE148|hcbcbc4a65d18d9b359f6253e74f7d5c4aca425c96b366f6d3fdaea9b2a0d8f3e", "signature": "public const string RotateCcw = \u0022\\uE148\u0022", "value": "\uE148" }, { "name": "Save", "kind": "constant", "id": "constant|Save|1|0|string||\uE14D|h24b9c87c2cef9cd3583b5b394f0a6e462516e29d4e5c758b8726af36608cd868", "signature": "public const string Save = \u0022\\uE14D\u0022", "value": "\uE14D" }, { "name": "Scissors", "kind": "constant", "id": "constant|Scissors|1|0|string||\uE14E|h9325b7687ec0c6c3bf4c7fac8c9c1c44efba6765cf5f30a6d55d1cc9bee8b6f0", "signature": "public const string Scissors = \u0022\\uE14E\u0022", "value": "\uE14E" }, { "name": "Search", "kind": "constant", "id": "constant|Search|1|0|string||\uE151|h18fab552379e40d60171c508fdf3ff9478dca979e23554b1620c0e4164555378", "signature": "public const string Search = \u0022\\uE151\u0022", "value": "\uE151" }, { "name": "Send", "kind": "constant", "id": "constant|Send|1|0|string||\uE152|h0b77d0be923a4c9bf6da00589cbf4323752c011b143b428fa19a7cc6959fcfba", "signature": "public const string Send = \u0022\\uE152\u0022", "value": "\uE152" }, { "name": "Server", "kind": "constant", "id": "constant|Server|1|0|string||\uE153|h3641c466ba976050d4c546ab79b437729624609f7aaddee86684cc06f3a23357", "signature": "public const string Server = \u0022\\uE153\u0022", "value": "\uE153" }, { "name": "Settings", "kind": "constant", "id": "constant|Settings|1|0|string||\uE154|ha1dfa80a41cfa93e688c7e8a1b06bd8ade0209ed50011e7a9bddf93c36862937", "signature": "public const string Settings = \u0022\\uE154\u0022", "value": "\uE154" }, { "name": "Share2", "kind": "constant", "id": "constant|Share2|1|0|string||\uE156|h444e447a9f9b61f2267618b7b38ba8b760f373636e2c4804b99bca18b9821a22", "signature": "public const string Share2 = \u0022\\uE156\u0022", "value": "\uE156" }, { "name": "Shield", "kind": "constant", "id": "constant|Shield|1|0|string||\uE158|h1d743c0cabff80fbdeeb4a22129b29e7d7a8fcd7164012956dfc104a5a9e244a", "signature": "public const string Shield = \u0022\\uE158\u0022", "value": "\uE158" }, { "name": "ShoppingCart", "kind": "constant", "id": "constant|ShoppingCart|1|0|string||\uE15C|hc17e8930d7d0b6501e5ebf9b349d73a2717053b7af9a473f13ae27bdc8d308c6", "signature": "public const string ShoppingCart = \u0022\\uE15C\u0022", "value": "\uE15C" }, { "name": "Shuffle", "kind": "constant", "id": "constant|Shuffle|1|0|string||\uE15E|h6bd7fd2707901794d66ce8895fd762abfe6bf945847dd32f34f738975cda559b", "signature": "public const string Shuffle = \u0022\\uE15E\u0022", "value": "\uE15E" }, { "name": "SkipBack", "kind": "constant", "id": "constant|SkipBack|1|0|string||\uE15F|hc2b533f0ef6ddd4dca3e4964825a902ecd00b5e221f9f8fcd45f0eeffd7b9c76", "signature": "public const string SkipBack = \u0022\\uE15F\u0022", "value": "\uE15F" }, { "name": "SkipForward", "kind": "constant", "id": "constant|SkipForward|1|0|string||\uE160|h19611d66a2ba3d61b5d3ff5cc3d7104097d0bb8c8beb36f9a814bf6dfab92aab", "signature": "public const string SkipForward = \u0022\\uE160\u0022", "value": "\uE160" }, { "name": "SlidersHorizontal", "kind": "constant", "id": "constant|SlidersHorizontal|1|0|string||\uE29A|h4500d15f4784c2ea6ae38aae5e5a86bfa3cb8e6cbf4009c69dc0400f4aeaae19", "signature": "public const string SlidersHorizontal = \u0022\\uE29A\u0022", "value": "\uE29A" }, { "name": "Smile", "kind": "constant", "id": "constant|Smile|1|0|string||\uE164|hae9d58f7e77003c94cd7af2d855849fd77337a48046d5918e03b3091c1efd4a7", "signature": "public const string Smile = \u0022\\uE164\u0022", "value": "\uE164" }, { "name": "Sparkles", "kind": "constant", "id": "constant|Sparkles|1|0|string||\uE412|hbf4313c2486fc9fa972d91279059edbbcea4a786ac5618875ae7fc2b84f98c2f", "signature": "public const string Sparkles = \u0022\\uE412\u0022", "value": "\uE412" }, { "name": "Square", "kind": "constant", "id": "constant|Square|1|0|string||\uE167|h4885b7f76cb0306f27ec79c3333f518dc1c9eba2bbb1436ec6917a2822f4f62a", "signature": "public const string Square = \u0022\\uE167\u0022", "value": "\uE167" }, { "name": "SquareCheck", "kind": "constant", "id": "constant|SquareCheck|1|0|string||\uE559|hef9cba6b7afd93e11e5e4d7c62ab7472b34dcfa36a2464e52ab121ef039ce896", "signature": "public const string SquareCheck = \u0022\\uE559\u0022", "value": "\uE559" }, { "name": "SquarePen", "kind": "constant", "id": "constant|SquarePen|1|0|string||\uE172|h30ca6f7be695c045b912174c930a2f581d792e680d31a13dbe556feabd86ca55", "signature": "public const string SquarePen = \u0022\\uE172\u0022", "value": "\uE172" }, { "name": "SquareTerminal", "kind": "constant", "id": "constant|SquareTerminal|1|0|string||\uE20A|h2a0267518240d2994d438edcd0ded11459f4af734f4c458aed5df302d428a470", "signature": "public const string SquareTerminal = \u0022\\uE20A\u0022", "value": "\uE20A" }, { "name": "Star", "kind": "constant", "id": "constant|Star|1|0|string||\uE176|hd978f7d25c97fd63c69c95119f71e5eae46a259ab0e2c659e77d284e5b78256e", "signature": "public const string Star = \u0022\\uE176\u0022", "value": "\uE176" }, { "name": "Sun", "kind": "constant", "id": "constant|Sun|1|0|string||\uE178|ha4ee382078ab14819babee115dbf060cfb732e84ff8e60fe9601d86c20f76c5f", "signature": "public const string Sun = \u0022\\uE178\u0022", "value": "\uE178" }, { "name": "Tag", "kind": "constant", "id": "constant|Tag|1|0|string||\uE17F|hca49e98804f2e7790148cf445b3feb3635e3433f054af46a6f3e1bdf052e107c", "signature": "public const string Tag = \u0022\\uE17F\u0022", "value": "\uE17F" }, { "name": "Target", "kind": "constant", "id": "constant|Target|1|0|string||\uE180|h3bba0fd4c0cef129f74266e3ae2f6b1b2807f49ac124dceb94ef177e6155f3d0", "signature": "public const string Target = \u0022\\uE180\u0022", "value": "\uE180" }, { "name": "Terminal", "kind": "constant", "id": "constant|Terminal|1|0|string||\uE181|hd8bbe7cd5f3714dd81b6d0e492c23c42a5bd7bfc8520b7f39d1f4000e1ad4354", "signature": "public const string Terminal = \u0022\\uE181\u0022", "value": "\uE181" }, { "name": "ThumbsDown", "kind": "constant", "id": "constant|ThumbsDown|1|0|string||\uE189|h9b5c6339ea1b0c206cd0281afcc8861b708db5aabc1b79d4aa0ff6620f5a48bc", "signature": "public const string ThumbsDown = \u0022\\uE189\u0022", "value": "\uE189" }, { "name": "ThumbsUp", "kind": "constant", "id": "constant|ThumbsUp|1|0|string||\uE18A|hce30df47f4b77cc3720c8fc07a6fe6b45ef74c84931addc58593a86014135caa", "signature": "public const string ThumbsUp = \u0022\\uE18A\u0022", "value": "\uE18A" }, { "name": "Trash2", "kind": "constant", "id": "constant|Trash2|1|0|string||\uE18E|h444799a5b8986b5b4c62700e2d91867db93020047981d83c6b9078ca828e7267", "signature": "public const string Trash2 = \u0022\\uE18E\u0022", "value": "\uE18E" }, { "name": "TrendingDown", "kind": "constant", "id": "constant|TrendingDown|1|0|string||\uE190|h6d11a36355b886e94a446a0f958fb55802c1ba9d21c06879dea99fb083b2a515", "signature": "public const string TrendingDown = \u0022\\uE190\u0022", "value": "\uE190" }, { "name": "TrendingUp", "kind": "constant", "id": "constant|TrendingUp|1|0|string||\uE191|hcde1fe51a8b18e17ed3b494c5e5a33c225936713c95b9252cc2f092ffdc89abf", "signature": "public const string TrendingUp = \u0022\\uE191\u0022", "value": "\uE191" }, { "name": "TriangleAlert", "kind": "constant", "id": "constant|TriangleAlert|1|0|string||\uE193|h963f5a130f0663fc09c97f452c07fb9fd61cb610b3d03ce63c6915a2b55af832", "signature": "public const string TriangleAlert = \u0022\\uE193\u0022", "value": "\uE193" }, { "name": "Type", "kind": "constant", "id": "constant|Type|1|0|string||\uE198|h1328c380cb91a71d7120708846dbfacd6b48b39530e94463e5851cc0873f6660", "signature": "public const string Type = \u0022\\uE198\u0022", "value": "\uE198" }, { "name": "Underline", "kind": "constant", "id": "constant|Underline|1|0|string||\uE19A|h645bace764c9e3e97933964e50d83418694fc013ded435ce785b5e615eacc063", "signature": "public const string Underline = \u0022\\uE19A\u0022", "value": "\uE19A" }, { "name": "Undo2", "kind": "constant", "id": "constant|Undo2|1|0|string||\uE2A1|h18369df45d1ccf896965e003a9522d40e1f7b6117ddf2b43f17d00960a39da02", "signature": "public const string Undo2 = \u0022\\uE2A1\u0022", "value": "\uE2A1" }, { "name": "Unlock", "kind": "constant", "id": "constant|Unlock|1|0|string||\uE10C|h15d45e734b4489f9fca4efb526cf4489b18b32c185313104fa45a65e9ee9a7a7", "signature": "public const string Unlock = \u0022\\uE10C\u0022", "value": "\uE10C" }, { "name": "Upload", "kind": "constant", "id": "constant|Upload|1|0|string||\uE19E|h01554d33f9ca872b5f8f3b204c56a26978d9c1b699eed2cd0efd08f8da8829cf", "signature": "public const string Upload = \u0022\\uE19E\u0022", "value": "\uE19E" }, { "name": "User", "kind": "constant", "id": "constant|User|1|0|string||\uE19F|h874af7f139ecc20518b3d82b1b358702caf46198cefcb78f05da9885cac701e4", "signature": "public const string User = \u0022\\uE19F\u0022", "value": "\uE19F" }, { "name": "UserPlus", "kind": "constant", "id": "constant|UserPlus|1|0|string||\uE1A2|ha433ba3eb8acfeeea9059ac9ee5011cc18b29f8d15753b4f3110300c130a6af7", "signature": "public const string UserPlus = \u0022\\uE1A2\u0022", "value": "\uE1A2" }, { "name": "Users", "kind": "constant", "id": "constant|Users|1|0|string||\uE1A4|h9ef8f13f972574e2144a7d7c4376d8fb740e719f780f2a201d4ac0d0a1b650d4", "signature": "public const string Users = \u0022\\uE1A4\u0022", "value": "\uE1A4" }, { "name": "Video", "kind": "constant", "id": "constant|Video|1|0|string||\uE1A5|h4ce3282b7aec6764a6c5cd5e66ded016bb6873a620b756c5e95b067715bf808c", "signature": "public const string Video = \u0022\\uE1A5\u0022", "value": "\uE1A5" }, { "name": "Volume2", "kind": "constant", "id": "constant|Volume2|1|0|string||\uE1AB|hfce6909e57b8242ee62e4ee6ff81ee4f6bdf024472dbb5ff69a268f5ac68d0e7", "signature": "public const string Volume2 = \u0022\\uE1AB\u0022", "value": "\uE1AB" }, { "name": "VolumeX", "kind": "constant", "id": "constant|VolumeX|1|0|string||\uE1AC|he6d8e29b018ed70f81cf793af43047bb0c79f5c2e9db95afd198dfe88868c03a", "signature": "public const string VolumeX = \u0022\\uE1AC\u0022", "value": "\uE1AC" }, { "name": "Wallet", "kind": "constant", "id": "constant|Wallet|1|0|string||\uE204|h3bd56acf73384a92b12fb1f7e381b1af46d1d98411dd52614dfd9afee68f9c27", "signature": "public const string Wallet = \u0022\\uE204\u0022", "value": "\uE204" }, { "name": "Wifi", "kind": "constant", "id": "constant|Wifi|1|0|string||\uE1AE|h800108e86f353c47649620bc8e77c4362695c9319bdfc3c7496d71a66478f76a", "signature": "public const string Wifi = \u0022\\uE1AE\u0022", "value": "\uE1AE" }, { "name": "X", "kind": "constant", "id": "constant|X|1|0|string||\uE1B2|hf735ddc7b53c38d2a3635e61f2f0afad4321b7338f78c88a2d57f8da32f7ad52", "signature": "public const string X = \u0022\\uE1B2\u0022", "value": "\uE1B2" }, { "name": "Zap", "kind": "constant", "id": "constant|Zap|1|0|string||\uE1B4|h2f90946cfe4ea40cc06b32c0a682124997026f6ce26c8548279734e25582b32f", "signature": "public const string Zap = \u0022\\uE1B4\u0022", "value": "\uE1B4" }, { "name": "ZoomIn", "kind": "constant", "id": "constant|ZoomIn|1|0|string||\uE1B6|h11291b6686a09424204df82cf2c780bbed6fd19dc05d7d0af797901d63a55e2b", "signature": "public const string ZoomIn = \u0022\\uE1B6\u0022", "value": "\uE1B6" }, { "name": "ZoomOut", "kind": "constant", "id": "constant|ZoomOut|1|0|string||\uE1B7|hf2faba0e2aae00c6f2e6c8361a09e46fff910a412b8b1566bac5285c976cb7f3", "signature": "public const string ZoomOut = \u0022\\uE1B7\u0022", "value": "\uE1B7" }] }, { "name": "CuiSharp.IdScope", "displayName": "IdScope", "kind": "ref struct", "summary": "Pushes an id onto CUI\u0027s id stack: every child created inside gets its ids mixed with this one, so identical labels in different rows stay distinct. Use using; disposal pops, including on exceptions.", "members": [{ "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()", "summary": "Pops the id. Disposing the same instance again does nothing." }] }, - { "name": "CuiSharp.ImageOpts", "displayName": "ImageOpts", "kind": "struct", "summary": "cui_image_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Tint", "kind": "field", "id": "field|Tint|0|0|Color|||h4c1e63030135daa3aaeaa4caac83904965fe369b39c4dd59e42da4a0203e5937", "signature": "public Color Tint", "summary": "cui_color tint" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "cui_size height" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Radius", "kind": "field", "id": "field|Radius|0|0|float|||h565c7c94c17c4e0d68e71b97e4dacf48df705124ce26655589804f82ae3a5afe", "signature": "public float Radius", "summary": "float radius" }] }, - { "name": "CuiSharp.ImageView", "displayName": "ImageView", "kind": "struct", "summary": "cui_image_view. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float Zoom;float Cx = default;float Cy = default||h50b0571064dbf35f0978f89f10193589b0d9b0d069d013e4fd3faf000fece541", "signature": "ImageView(float Zoom, float Cx = default, float Cy = default)", "parameters": [{ "name": "Zoom", "type": "float" }, { "name": "Cx", "type": "float", "default": "default" }, { "name": "Cy", "type": "float", "default": "default" }] }, { "name": "Cx", "kind": "field", "id": "field|Cx|0|0|float|||ha089bd3bc9b64b88c76a4d49417464e60089fa8c4949692935cd9a1cbeeb26f2", "signature": "public float Cx", "summary": "the image point at the middle of the view, in pixels" }, { "name": "Cy", "kind": "field", "id": "field|Cy|0|0|float|||h47bd658ecc744271b6a80f35df93f81c2391730563046a45c3923e15cf53aceb", "signature": "public float Cy", "summary": "the image point at the middle of the view, in pixels" }, { "name": "Zoom", "kind": "field", "id": "field|Zoom|0|0|float|||h15d1ab2e6f15237e95efde0c028fdb5a985bc69724f9d1c2dfbc7d04a92a3d84", "signature": "public float Zoom", "summary": "screen points per image pixel; 0 fits the image in the view" }] }, - { "name": "CuiSharp.ImageViewerOpts", "displayName": "ImageViewerOpts", "kind": "struct", "summary": "cui_image_viewer_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default the width it gets and 360" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default the width it gets and 360" }, { "name": "Checkerboard", "kind": "field", "id": "field|Checkerboard|0|0|bool|||h93bd131a8766c8dc59ee9e673b6ee411d7f97b90dcffaca4012f68b9c73eaa2b", "signature": "public bool Checkerboard", "summary": "a grid behind transparent images" }, { "name": "NoToolbar", "kind": "field", "id": "field|NoToolbar|0|0|bool|||h860df392a169878debf9e5d580124ccf63bf097014494370a8967baea8fd1225", "signature": "public bool NoToolbar", "summary": "the zoom buttons and percentage in the corner" }, { "name": "MaxZoom", "kind": "field", "id": "field|MaxZoom|0|0|float|||hce7b521ad509796f5171145038456d5846fb43275f5ab2bd1dd22e941b179f55", "signature": "public float MaxZoom", "summary": "default 16 (1600%)" }] }, - { "name": "CuiSharp.InlineEditOpts", "displayName": "InlineEditOpts", "kind": "struct", "summary": "cui_inline_edit_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "cui_font font" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }] }, - { "name": "CuiSharp.InputOpts", "displayName": "InputOpts", "kind": "struct", "summary": "cui_input_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "AutoFocus", "kind": "field", "id": "field|AutoFocus|0|0|bool|||h601f2630021b0c0e1d2b6721c001025a62214f3f2addd79686868f8880b04eff", "signature": "public bool AutoFocus", "summary": "_Bool autofocus" }, { "name": "Clearable", "kind": "field", "id": "field|Clearable|0|0|bool|||h6c109d13986a73e984d4593cc36a35a869c3dd971ed04225b9d50e228461fced", "signature": "public bool Clearable", "summary": "x button when not empty" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Password", "kind": "field", "id": "field|Password|0|0|bool|||h50eb3f60189d83d6114de9b4aed27a0c5bd20a485faa81345174d38ce81760e1", "signature": "public bool Password", "summary": "_Bool password" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|bool|||he393614309fa34fbb6e0930aa04c288616abcb05d02f63ad9eb9cb23927877ad", "signature": "public bool ReadOnly", "summary": "_Bool read_only" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "textarea: height in points; negative fills the space" }, { "name": "Error", "kind": "field", "id": "field|Error|0|0|string?|||h0b7f7e3a629b91e7b6cf4f9562657aad586fd4666941bbac0e0e8fccbc0ea31d", "signature": "public string? Error", "summary": "error text below (red)" }, { "name": "Hint", "kind": "field", "id": "field|Hint|0|0|string?|||h6e4db358e5bb7cc3e8ac0f128ae742d77d252775d935f95c1c7492d00fc7cd97", "signature": "public string? Hint", "summary": "helper text below" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "leading icon" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "label above the field" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }, { "name": "Prefix", "kind": "field", "id": "field|Prefix|0|0|string?|||ha89c8f719381155b96917a6c6badfc774eb4e767b8c9d68948547da7457f51b8", "signature": "public string? Prefix", "summary": "muted text before the value, e.g. \u0022$\u0022 or \u0022https://\u0022" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|string?|||h2c79c464acb56463b20bda4e8b606074d49aaf774f54ac687c0b7a5ece4147df", "signature": "public string? Suffix", "summary": "muted text after the value, e.g. \u0022USD\u0022 or \u0022kg\u0022" }] }, + { "name": "CuiSharp.ImageOpts", "displayName": "ImageOpts", "kind": "struct", "summary": "cui_image_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Tint", "kind": "field", "id": "field|Tint|0|0|Color|||h4c1e63030135daa3aaeaa4caac83904965fe369b39c4dd59e42da4a0203e5937", "signature": "public Color Tint", "summary": "color the image is multiplied by; unset draws it as it is" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "cui_size height" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Radius", "kind": "field", "id": "field|Radius|0|0|float|||h565c7c94c17c4e0d68e71b97e4dacf48df705124ce26655589804f82ae3a5afe", "signature": "public float Radius", "summary": "corner radius in points" }] }, + { "name": "CuiSharp.ImageView", "displayName": "ImageView", "kind": "struct", "summary": "Image viewer: zoom and pan a picture. The wheel (or a pinch, which comes as Ctrl\u002Bwheel) zooms around the pointer, dragging pans, double-click switches between fitting the view and 100%. With the viewer focused, \u002B and - zoom, 0 fits, 1 shows actual pixels and the arrows pan. Zoom and pan ease. Keep a cui_image_view to keep the zoom and position (zeroed: fit). Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float Zoom;float Cx = default;float Cy = default||h50b0571064dbf35f0978f89f10193589b0d9b0d069d013e4fd3faf000fece541", "signature": "ImageView(float Zoom, float Cx = default, float Cy = default)", "parameters": [{ "name": "Zoom", "type": "float" }, { "name": "Cx", "type": "float", "default": "default" }, { "name": "Cy", "type": "float", "default": "default" }] }, { "name": "Cx", "kind": "field", "id": "field|Cx|0|0|float|||ha089bd3bc9b64b88c76a4d49417464e60089fa8c4949692935cd9a1cbeeb26f2", "signature": "public float Cx", "summary": "the image point at the middle of the view, in pixels" }, { "name": "Cy", "kind": "field", "id": "field|Cy|0|0|float|||h47bd658ecc744271b6a80f35df93f81c2391730563046a45c3923e15cf53aceb", "signature": "public float Cy", "summary": "the image point at the middle of the view, in pixels" }, { "name": "Zoom", "kind": "field", "id": "field|Zoom|0|0|float|||h15d1ab2e6f15237e95efde0c028fdb5a985bc69724f9d1c2dfbc7d04a92a3d84", "signature": "public float Zoom", "summary": "screen points per image pixel; 0 fits the image in the view" }] }, + { "name": "CuiSharp.ImageViewerOpts", "displayName": "ImageViewerOpts", "kind": "struct", "summary": "cui_image_viewer_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default the width it gets and 360" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default the width it gets and 360" }, { "name": "Checkerboard", "kind": "field", "id": "field|Checkerboard|0|0|bool|||h93bd131a8766c8dc59ee9e673b6ee411d7f97b90dcffaca4012f68b9c73eaa2b", "signature": "public bool Checkerboard", "summary": "a grid behind transparent images" }, { "name": "NoToolbar", "kind": "field", "id": "field|NoToolbar|0|0|bool|||h860df392a169878debf9e5d580124ccf63bf097014494370a8967baea8fd1225", "signature": "public bool NoToolbar", "summary": "the zoom buttons and percentage in the corner" }, { "name": "MaxZoom", "kind": "field", "id": "field|MaxZoom|0|0|float|||hce7b521ad509796f5171145038456d5846fb43275f5ab2bd1dd22e941b179f55", "signature": "public float MaxZoom", "summary": "default 16 (1600%)" }] }, + { "name": "CuiSharp.InlineEditOpts", "displayName": "InlineEditOpts", "kind": "struct", "summary": "Inline edit: text that turns into a field in place. Click (or Enter when focused) to edit, Enter or clicking away saves, Esc cancels. Returns CUI_CHANGED when an edit is committed. All fields are optional; zero selects the native default.", "members": [{ "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "font of the text and of the field, default \u0060CUI_FONT_MEDIUM\u0060" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }] }, + { "name": "CuiSharp.InputOpts", "displayName": "InputOpts", "kind": "struct", "summary": "cui_input_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "AutoFocus", "kind": "field", "id": "field|AutoFocus|0|0|bool|||h601f2630021b0c0e1d2b6721c001025a62214f3f2addd79686868f8880b04eff", "signature": "public bool AutoFocus", "summary": "_Bool autofocus" }, { "name": "Clearable", "kind": "field", "id": "field|Clearable|0|0|bool|||h6c109d13986a73e984d4593cc36a35a869c3dd971ed04225b9d50e228461fced", "signature": "public bool Clearable", "summary": "x button when not empty" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Password", "kind": "field", "id": "field|Password|0|0|bool|||h50eb3f60189d83d6114de9b4aed27a0c5bd20a485faa81345174d38ce81760e1", "signature": "public bool Password", "summary": "shows dots instead of the text, with an eye button that reveals it" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|bool|||he393614309fa34fbb6e0930aa04c288616abcb05d02f63ad9eb9cb23927877ad", "signature": "public bool ReadOnly", "summary": "_Bool read_only" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "textarea: height in points; negative fills the space" }, { "name": "Error", "kind": "field", "id": "field|Error|0|0|string?|||h0b7f7e3a629b91e7b6cf4f9562657aad586fd4666941bbac0e0e8fccbc0ea31d", "signature": "public string? Error", "summary": "error text below (red)" }, { "name": "Hint", "kind": "field", "id": "field|Hint|0|0|string?|||h6e4db358e5bb7cc3e8ac0f128ae742d77d252775d935f95c1c7492d00fc7cd97", "signature": "public string? Hint", "summary": "helper text below" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "leading icon" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "label above the field" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }, { "name": "Prefix", "kind": "field", "id": "field|Prefix|0|0|string?|||ha89c8f719381155b96917a6c6badfc774eb4e767b8c9d68948547da7457f51b8", "signature": "public string? Prefix", "summary": "muted text before the value, e.g. \u0022$\u0022 or \u0022https://\u0022" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|string?|||h2c79c464acb56463b20bda4e8b606074d49aaf774f54ac687c0b7a5ece4147df", "signature": "public string? Suffix", "summary": "muted text after the value, e.g. \u0022USD\u0022 or \u0022kg\u0022" }] }, { "name": "CuiSharp.InputResult", "displayName": "InputResult", "kind": "struct", "summary": "What a text field reported this frame. CUI returns these as bit flags; the struct keeps them readable and prevents an int being mistaken for a count or an index.", "members": [{ "name": "Any", "kind": "property", "id": "property|Any|0|0|bool||get;|h930dcd2224677e27a1cda693bd9514b225687a6bdad27e9d226bb0aeae366e00", "signature": "bool Any { get; }", "summary": "True when anything at all was reported." }, { "name": "Blurred", "kind": "property", "id": "property|Blurred|0|0|bool||get;|hd3bf2df3ff712050fbecea60d95b7dfa78bb64388198358d48e99d4f1b489926", "signature": "bool Blurred { get; }", "summary": "The field lost keyboard focus this frame." }, { "name": "Changed", "kind": "property", "id": "property|Changed|0|0|bool||get;|hea4ecece0ae8756575c834ca7f9d9eada8b4728eabb34a32ec877cd8bf490ef5", "signature": "bool Changed { get; }", "summary": "The user edited the text; the value was written back." }, { "name": "Focused", "kind": "property", "id": "property|Focused|0|0|bool||get;|h91b314080731fb3280cc6476dac3288f9a114bd7e0e6bfcc7e7a57b0c4726903", "signature": "bool Focused { get; }", "summary": "The field gained keyboard focus this frame." }, { "name": "Submitted", "kind": "property", "id": "property|Submitted|0|0|bool||get;|h26a74337803e726e5b1481c208d421b95ab55ce5d076670fe5766ab429753042", "signature": "bool Submitted { get; }", "summary": "The user pressed Enter (or the field\u0027s submit gesture)." }, { "name": "Flags", "kind": "property", "id": "property|Flags|0|0|int||get;|he59986d855236c1155889b5b622053bf03d3ec822a5a7d91e9995b7810773a77", "signature": "int Flags { get; }", "summary": "The raw flag bits, for code that must forward them unchanged." }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()" }] }, - { "name": "CuiSharp.InspectorOpts", "displayName": "InspectorOpts", "kind": "struct", "summary": "cui_inspector_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "LabelWidth", "kind": "field", "id": "field|LabelWidth|0|0|float|||h993f466ab627a21c24b5cbf05bd27e3424e345f9dda31611b0dbd719a33e2e12", "signature": "public float LabelWidth", "summary": "initial label column in points, default 38% of the width" }] }, - { "name": "CuiSharp.Interop.Native", "displayName": "Native", "kind": "static class", "summary": "Raw P/Invoke for cui.dll: one method per CUI_API function.", "members": [{ "name": "GetAccent", "kind": "method", "id": "method|GetAccent|1|0|Accent|nint ui||h4b5f008e77f36e753c29f584e84c7e8249ea899a16121c4a9ab6a5e3d2e462d6", "signature": "static Accent GetAccent(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_get_accent" }, { "name": "GetCursor", "kind": "method", "id": "method|GetCursor|1|0|Cursor|nint ui||h9592bd795030ec6f07a1b68093cf60e0ddb49ad084262abef2006bc6c6c5e263", "signature": "static Cursor GetCursor(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_get_cursor" }, { "name": "FontLoadFile", "kind": "method", "id": "method|FontLoadFile|1|0|Font|nint ui;nint path||h45e3467937e6440386ba379704bca3b0aca47850d974f4abb9c8c86279f26276", "signature": "static Font FontLoadFile(nint ui, nint path)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "path", "type": "nint" }], "summary": "cui_font_load_file" }, { "name": "FontLoadMemory", "kind": "method", "id": "method|FontLoadMemory|1|0|Font|nint ui;nint data;nuint size;byte copy||h0dbc267103f6d17b74a64b86ef08af5d19d591a58bfe2d1cb2c66bce90a33d17", "signature": "static Font FontLoadMemory(nint ui, nint data, nuint size, byte copy)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "data", "type": "nint" }, { "name": "size", "type": "nuint" }, { "name": "copy", "type": "byte" }], "summary": "cui_font_load_memory" }, { "name": "ApiExplorer", "kind": "method", "id": "method|ApiExplorer|1|0|NativeApiExplorerResult|nint ui;nint id;nint endpoints;int count;in NativeApiExplorerOpts opts||hf224b6dffe9e3dda0f0308f3af34d5a163659fc92533358cfa712df17d1a639e", "signature": "static NativeApiExplorerResult ApiExplorer(nint ui, nint id, nint endpoints, int count, in NativeApiExplorerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "endpoints", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeApiExplorerOpts" }], "summary": "cui_api_explorer_ex" }, { "name": "Blame", "kind": "method", "id": "method|Blame|1|0|NativeBlameResult|nint ui;nint id;nint lines;nint lineCommit;int lineCount;nint commits;int commitCount;in NativeBlameOpts opts||h4038398c6e9c93c3d4c2bfc504f5192b4a691dd68bae5b401920ae508d57dffd", "signature": "static NativeBlameResult Blame(nint ui, nint id, nint lines, nint lineCommit, int lineCount, nint commits, int commitCount, in NativeBlameOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "lines", "type": "nint" }, { "name": "lineCommit", "type": "nint" }, { "name": "lineCount", "type": "int" }, { "name": "commits", "type": "nint" }, { "name": "commitCount", "type": "int" }, { "name": "opts", "type": "in NativeBlameOpts" }], "summary": "cui_blame_ex" }, { "name": "Canvas", "kind": "method", "id": "method|Canvas|1|0|NativeCanvasResult|nint ui;nint id;NativeSize width;NativeSize height;nint paint;nint user;nuint userSize||he97d81faab75b76f5c111bd6c8ac29454458429f209b9d1d3db7c880e9656350", "signature": "static NativeCanvasResult Canvas(nint ui, nint id, NativeSize width, NativeSize height, nint paint, nint user, nuint userSize)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "width", "type": "NativeSize" }, { "name": "height", "type": "NativeSize" }, { "name": "paint", "type": "nint" }, { "name": "user", "type": "nint" }, { "name": "userSize", "type": "nuint" }], "summary": "cui_canvas" }, { "name": "CodeEditor", "kind": "method", "id": "method|CodeEditor|1|0|NativeCodeEditorResult|nint ui;nint id;nint buf;nuint cap;in NativeCodeEditorOpts opts||h25f359abfb59fb635c63f3409cffc0221ce1b73aecd18481b8bf55e7015fcead", "signature": "static NativeCodeEditorResult CodeEditor(nint ui, nint id, nint buf, nuint cap, in NativeCodeEditorOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeCodeEditorOpts" }], "summary": "cui_code_editor_ex" }, { "name": "Alpha", "kind": "method", "id": "method|Alpha|1|0|NativeColor|NativeColor c;float alphaMultiplier||h6f6dc7f18231ffd4e72a98ba480ab083b4d26389e8ae083debcf59c9dd9da08f", "signature": "static NativeColor Alpha(NativeColor c, float alphaMultiplier)", "parameters": [{ "name": "c", "type": "NativeColor" }, { "name": "alphaMultiplier", "type": "float" }], "summary": "cui_alpha" }, { "name": "ColorOf", "kind": "method", "id": "method|ColorOf|1|0|NativeColor|nint ui;NativeColor c||h54ccc38136527a38949cb0d73367b6a6e3137b549bc57ee96e1a2a475d8f4089", "signature": "static NativeColor ColorOf(nint ui, NativeColor c)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "c", "type": "NativeColor" }], "summary": "cui_color_of" }, { "name": "GradientEval", "kind": "method", "id": "method|GradientEval|1|0|NativeColor|nint stops;int count;float t||ha841b21375b91451bf65ef779e13748e49ce1347627211578ad95f0700a1616d", "signature": "static NativeColor GradientEval(nint stops, int count, float t)", "parameters": [{ "name": "stops", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "t", "type": "float" }], "summary": "cui_gradient_eval" }, { "name": "Mix", "kind": "method", "id": "method|Mix|1|0|NativeColor|NativeColor a;NativeColor b;float t||hda3f5edb5311ba1769ae795a7dfd6a98f20c60db5bb606d95b5810cbc9d83d4a", "signature": "static NativeColor Mix(NativeColor a, NativeColor b, float t)", "parameters": [{ "name": "a", "type": "NativeColor" }, { "name": "b", "type": "NativeColor" }, { "name": "t", "type": "float" }], "summary": "cui_mix" }, { "name": "Oklch", "kind": "method", "id": "method|Oklch|1|0|NativeColor|float l;float c;float hDegrees;float alpha||h26e67a65df209683f5291a98b82c8a5cabd7337b202d5d5c21c2ddc07fcb2232", "signature": "static NativeColor Oklch(float l, float c, float hDegrees, float alpha)", "parameters": [{ "name": "l", "type": "float" }, { "name": "c", "type": "float" }, { "name": "hDegrees", "type": "float" }, { "name": "alpha", "type": "float" }], "summary": "cui_oklch" }, { "name": "TokenColor", "kind": "method", "id": "method|TokenColor|1|0|NativeColor|nint ui;Token token||h90e46c89d5e70f5f21daa0f9b683a793e619fecb1ab9c0a299de0471b3426f32", "signature": "static NativeColor TokenColor(nint ui, Token token)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "token", "type": "Token" }], "summary": "cui_token_color" }, { "name": "CommitGraph", "kind": "method", "id": "method|CommitGraph|1|0|NativeCommitGraphResult|nint ui;nint id;nint commits;int count;in NativeCommitGraphOpts opts||h45d73cd59f1de127d447c740e1830e6b5a5b060bba456bfafde41fa92f64c74e", "signature": "static NativeCommitGraphResult CommitGraph(nint ui, nint id, nint commits, int count, in NativeCommitGraphOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "commits", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeCommitGraphOpts" }], "summary": "cui_commit_graph_ex" }, { "name": "Coverage", "kind": "method", "id": "method|Coverage|1|0|NativeCoverageResult|nint ui;nint id;nint files;int count;in NativeCoverageOpts opts||h1b0a2f1fdc7808920e72995a8476b64bef4b6f5f5a6712da0ad04749a085826a", "signature": "static NativeCoverageResult Coverage(nint ui, nint id, nint files, int count, in NativeCoverageOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "files", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeCoverageOpts" }], "summary": "cui_coverage_ex" }, { "name": "CurveEditor", "kind": "method", "id": "method|CurveEditor|1|0|NativeCurveResult|nint ui;nint id;nint keys;ref int count;int capacity;in NativeCurveOpts opts||h96718fdb1bc3448845d2464d7bb341aaa324a86a9faea4496630c39fb7ca169a", "signature": "static NativeCurveResult CurveEditor(nint ui, nint id, nint keys, ref int count, int capacity, in NativeCurveOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "keys", "type": "nint" }, { "name": "count", "type": "ref int" }, { "name": "capacity", "type": "int" }, { "name": "opts", "type": "in NativeCurveOpts" }], "summary": "cui_curve_editor_ex" }, { "name": "DateFromDays", "kind": "method", "id": "method|DateFromDays|1|0|NativeDate|int days||h1feda9236ea087efd2070df1a696cc0677817502ff785ff54c56c9bded66c802", "signature": "static NativeDate DateFromDays(int days)", "parameters": [{ "name": "days", "type": "int" }], "summary": "cui_date_from_days" }, { "name": "DateToday", "kind": "method", "id": "method|DateToday|1|0|NativeDate|||hb0af2f41da02d6baf40ca220344dbbc0745b0b07b0017d8945ba60b14f23d7bf", "signature": "static NativeDate DateToday()", "summary": "cui_date_today" }, { "name": "DiffView", "kind": "method", "id": "method|DiffView|1|0|NativeDiffResult|nint ui;nint id;nint oldText;nint newText;in NativeDiffOpts opts||h9938cb3dcf99694ce2c1936767de75bdf0ab18f91c7c4f698ac795cc563ccbf8", "signature": "static NativeDiffResult DiffView(nint ui, nint id, nint oldText, nint newText, in NativeDiffOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "oldText", "type": "nint" }, { "name": "newText", "type": "nint" }, { "name": "opts", "type": "in NativeDiffOpts" }], "summary": "cui_diff_view_ex" }, { "name": "DocTabs", "kind": "method", "id": "method|DocTabs|1|0|NativeDocTabsResult|nint ui;nint id;nint tabs;int count;ref int selected;in NativeDocTabsOpts opts||hecb3160d850e49f639702d27b881b59b7defdcb80863fe9009dccc178a9136a2", "signature": "static NativeDocTabsResult DocTabs(nint ui, nint id, nint tabs, int count, ref int selected, in NativeDocTabsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "tabs", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "selected", "type": "ref int" }, { "name": "opts", "type": "in NativeDocTabsOpts" }], "summary": "cui_doc_tabs_ex" }, { "name": "FeatureFlags", "kind": "method", "id": "method|FeatureFlags|1|0|NativeFeatureFlagsResult|nint ui;nint id;nint flags;int count;nint envs;int envCount;in NativeFeatureFlagsOpts opts||hb5efa0dddbc12664f0d095e30db5d75f7fa84690d18c2b2a95e8e380c02a06ea", "signature": "static NativeFeatureFlagsResult FeatureFlags(nint ui, nint id, nint flags, int count, nint envs, int envCount, in NativeFeatureFlagsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "flags", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "envs", "type": "nint" }, { "name": "envCount", "type": "int" }, { "name": "opts", "type": "in NativeFeatureFlagsOpts" }], "summary": "cui_feature_flags_ex" }, { "name": "FileBrowser", "kind": "method", "id": "method|FileBrowser|1|0|NativeFileBrowserResult|nint ui;nint id;nint path;nuint pathCap;in NativeFileBrowserOpts opts||h08099d06b6206902f3eacf84023b3f3700251302fc626d834bfc0c98b509520c", "signature": "static NativeFileBrowserResult FileBrowser(nint ui, nint id, nint path, nuint pathCap, in NativeFileBrowserOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "path", "type": "nint" }, { "name": "pathCap", "type": "nuint" }, { "name": "opts", "type": "in NativeFileBrowserOpts" }], "summary": "cui_file_browser_ex" }, { "name": "FlameGraph", "kind": "method", "id": "method|FlameGraph|1|0|NativeFlameResult|nint ui;nint id;nint spans;int count;ref NativeFlameView view;ref int selected;in NativeFlameOpts opts||h572e9eae08f26d8c3ef0ce6dd6873004c38722dc8d44d901d89cf381a4bcad20", "signature": "static NativeFlameResult FlameGraph(nint ui, nint id, nint spans, int count, ref NativeFlameView view, ref int selected, in NativeFlameOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "spans", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "view", "type": "ref NativeFlameView" }, { "name": "selected", "type": "ref int" }, { "name": "opts", "type": "in NativeFlameOpts" }], "summary": "cui_flame_graph_ex" }, { "name": "GradientEditor", "kind": "method", "id": "method|GradientEditor|1|0|NativeGradientResult|nint ui;nint id;nint stops;ref int count;int capacity;in NativeGradientOpts opts||h8c5d8f1ee3133998b21568f32399f5f1066973b6fe35c0d2c046bde0f3711fa7", "signature": "static NativeGradientResult GradientEditor(nint ui, nint id, nint stops, ref int count, int capacity, in NativeGradientOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "stops", "type": "nint" }, { "name": "count", "type": "ref int" }, { "name": "capacity", "type": "int" }, { "name": "opts", "type": "in NativeGradientOpts" }], "summary": "cui_gradient_editor_ex" }, { "name": "GraphView", "kind": "method", "id": "method|GraphView|1|0|NativeGraphResult|nint ui;nint id;nint nodes;int nodeCount;nint edges;int edgeCount;in NativeGraphOpts opts||hd5b1f3cf7868c7e999da3ea9b89f9abd50a2a2e5fa0cabce9dbf681f75d6c217", "signature": "static NativeGraphResult GraphView(nint ui, nint id, nint nodes, int nodeCount, nint edges, int edgeCount, in NativeGraphOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "nodes", "type": "nint" }, { "name": "nodeCount", "type": "int" }, { "name": "edges", "type": "nint" }, { "name": "edgeCount", "type": "int" }, { "name": "opts", "type": "in NativeGraphOpts" }], "summary": "cui_graph_view_ex" }, { "name": "HexView", "kind": "method", "id": "method|HexView|1|0|NativeHexResult|nint ui;nint id;nint data;nuint size;ref NativeHexSelection sel;in NativeHexViewOpts opts||hb15e58797f8b99309bce8f61db678bf1d7abbcda46acc035b9be9c5cd6e53e85", "signature": "static NativeHexResult HexView(nint ui, nint id, nint data, nuint size, ref NativeHexSelection sel, in NativeHexViewOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "data", "type": "nint" }, { "name": "size", "type": "nuint" }, { "name": "sel", "type": "ref NativeHexSelection" }, { "name": "opts", "type": "in NativeHexViewOpts" }], "summary": "cui_hex_view_ex" }, { "name": "Keymap", "kind": "method", "id": "method|Keymap|1|0|NativeKeymapResult|nint ui;nint id;nint bindings;int count;in NativeKeymapOpts opts||h9217cafc1fe775ad6698a0f05dd5582060c83090eedef5d953fbdf4293837498", "signature": "static NativeKeymapResult Keymap(nint ui, nint id, nint bindings, int count, in NativeKeymapOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "bindings", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeKeymapOpts" }], "summary": "cui_keymap_ex" }, { "name": "Markdown", "kind": "method", "id": "method|Markdown|1|0|NativeMarkdownResult|nint ui;nint id;nint text;in NativeMarkdownOpts opts||heaa94f7d43805d3025afbd720deb33d8585c24b46340d859317c44d35a8dc81a", "signature": "static NativeMarkdownResult Markdown(nint ui, nint id, nint text, in NativeMarkdownOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeMarkdownOpts" }], "summary": "cui_markdown_ex" }, { "name": "MonthCalendar", "kind": "method", "id": "method|MonthCalendar|1|0|NativeMonthResult|nint ui;nint id;ref NativeDate month;nint events;int count;in NativeMonthOpts opts||h44b8b3863faad3edc72fb84b70f78ff6c0786b4dbffd156203510cd11e19c2b8", "signature": "static NativeMonthResult MonthCalendar(nint ui, nint id, ref NativeDate month, nint events, int count, in NativeMonthOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "month", "type": "ref NativeDate" }, { "name": "events", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeMonthOpts" }], "summary": "cui_month_calendar_ex" }, { "name": "PathBar", "kind": "method", "id": "method|PathBar|1|0|NativePathBarResult|nint ui;nint id;nint segments;int count;in NativePathBarOpts opts||h91468a1041cda9c640d4d69a543f01f0eadaf8a0f81f1e0f31cc82613550c097", "signature": "static NativePathBarResult PathBar(nint ui, nint id, nint segments, int count, in NativePathBarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "segments", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativePathBarOpts" }], "summary": "cui_path_bar_ex" }, { "name": "Pipeline", "kind": "method", "id": "method|Pipeline|1|0|NativePipelineResult|nint ui;nint id;nint stages;int stageCount;nint jobs;int jobCount;in NativePipelineOpts opts||h822fa481b7070f67b506e9542f7480a3c3e7b0682bcc85d6c91293d82634ca39", "signature": "static NativePipelineResult Pipeline(nint ui, nint id, nint stages, int stageCount, nint jobs, int jobCount, in NativePipelineOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "stages", "type": "nint" }, { "name": "stageCount", "type": "int" }, { "name": "jobs", "type": "nint" }, { "name": "jobCount", "type": "int" }, { "name": "opts", "type": "in NativePipelineOpts" }], "summary": "cui_pipeline_ex" }, { "name": "Problems", "kind": "method", "id": "method|Problems|1|0|NativeProblemsResult|nint ui;nint id;nint diags;int count;in NativeProblemsOpts opts||h117f40fd2f6fef166ca95e09841a9367ad807c7ceb667067317604d7ebaaae04", "signature": "static NativeProblemsResult Problems(nint ui, nint id, nint diags, int count, in NativeProblemsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "diags", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeProblemsOpts" }], "summary": "cui_problems_ex" }, { "name": "FlameSpanRect", "kind": "method", "id": "method|FlameSpanRect|1|0|NativeRect|nint ui;uint flame;in NativeFlameSpan span||h40857a4a550d0690331d16f0f488573f3a49d975293a36369b1bf7c4d088bedc", "signature": "static NativeRect FlameSpanRect(nint ui, uint flame, in NativeFlameSpan span)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "flame", "type": "uint" }, { "name": "span", "type": "in NativeFlameSpan" }], "summary": "cui_flame_span_rect" }, { "name": "GetRect", "kind": "method", "id": "method|GetRect|1|0|NativeRect|nint ui;uint id||hfffd1bbdffac717a67f0184e99f213c780291e8ec750c8b06b21c9e1589aef60", "signature": "static NativeRect GetRect(nint ui, uint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "uint" }], "summary": "cui_get_rect" }, { "name": "LastRect", "kind": "method", "id": "method|LastRect|1|0|NativeRect|nint ui||hd3fce3194b991a66cf4c7eebf1b6f7cc7d75664cdc7eb24d369ed74fd947f6f3", "signature": "static NativeRect LastRect(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_last_rect" }, { "name": "RegexTester", "kind": "method", "id": "method|RegexTester|1|0|NativeRegexTesterResult|nint ui;nint id;nint pattern;nuint patternCap;nint text;nuint textCap;in NativeRegexTesterOpts opts||hdd04993c7dbcec6516f8b55b6fd473b17d8db4afcc6584202728b7a7d698e35f", "signature": "static NativeRegexTesterResult RegexTester(nint ui, nint id, nint pattern, nuint patternCap, nint text, nuint textCap, in NativeRegexTesterOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "pattern", "type": "nint" }, { "name": "patternCap", "type": "nuint" }, { "name": "text", "type": "nint" }, { "name": "textCap", "type": "nuint" }, { "name": "opts", "type": "in NativeRegexTesterOpts" }], "summary": "cui_regex_tester_ex" }, { "name": "GlIface", "kind": "method", "id": "method|GlIface|1|0|NativeRendererIface|nint r||h795e70c9de3d729a8866ef635bab08eeb83d4375a5f987962f843af30ddd3e6d", "signature": "static NativeRendererIface GlIface(nint r)", "parameters": [{ "name": "r", "type": "nint" }], "summary": "cui_gl_iface" }, { "name": "SwIface", "kind": "method", "id": "method|SwIface|1|0|NativeRendererIface|nint r||h5464602ec3a20f54b913735aaa2ec3c5b7fe93367a5b041be05e6e377b4daeb0", "signature": "static NativeRendererIface SwIface(nint r)", "parameters": [{ "name": "r", "type": "nint" }], "summary": "cui_sw_iface" }, { "name": "RequestBar", "kind": "method", "id": "method|RequestBar|1|0|NativeRequestBarResult|nint ui;nint id;ref int method;nint url;nuint cap;in NativeRequestBarOpts opts||he5f65f42fef8d87f2cfdfdf610eeb6fbfcdef6aead78fd4bb2a46e976b4e987b", "signature": "static NativeRequestBarResult RequestBar(nint ui, nint id, ref int method, nint url, nuint cap, in NativeRequestBarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "method", "type": "ref int" }, { "name": "url", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeRequestBarOpts" }], "summary": "cui_request_bar_ex" }, { "name": "SchedulePicker", "kind": "method", "id": "method|SchedulePicker|1|0|NativeScheduleResult|nint ui;nint id;nint cron;nuint cap;in NativeScheduleOpts opts||hdcfde877a035f281ea3fbe1375a4525a8b839e69848900f711b119fb68040038", "signature": "static NativeScheduleResult SchedulePicker(nint ui, nint id, nint cron, nuint cap, in NativeScheduleOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "cron", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeScheduleOpts" }], "summary": "cui_schedule_picker_ex" }, { "name": "StackTrace", "kind": "method", "id": "method|StackTrace|1|0|NativeStackTraceResult|nint ui;nint id;nint frames;int count;in NativeStackTraceOpts opts||h9f73202328ea1e1acd56bdbbb0145c51176116307ced16ae48c761e993751c43", "signature": "static NativeStackTraceResult StackTrace(nint ui, nint id, nint frames, int count, in NativeStackTraceOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "frames", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeStackTraceOpts" }], "summary": "cui_stack_trace_ex" }, { "name": "Terminal", "kind": "method", "id": "method|Terminal|1|0|NativeTerminalResult|nint ui;nint id;ref NativeTerminalBuffer t;in NativeTerminalOpts opts||h542c3a2dd62619cc3ea7fe3ac18031b59cba9cfdc574ed6c5b0dd6b5b0fa11ad", "signature": "static NativeTerminalResult Terminal(nint ui, nint id, ref NativeTerminalBuffer t, in NativeTerminalOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "t", "type": "ref NativeTerminalBuffer" }, { "name": "opts", "type": "in NativeTerminalOpts" }], "summary": "cui_terminal_ex" }, { "name": "TestExplorer", "kind": "method", "id": "method|TestExplorer|1|0|NativeTestExplorerResult|nint ui;nint id;nint items;int count;in NativeTestExplorerOpts opts||h9f9556409348b1762b26e56637cef03ff46bdee0a835046a3c6df37e7afef027", "signature": "static NativeTestExplorerResult TestExplorer(nint ui, nint id, nint items, int count, in NativeTestExplorerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeTestExplorerOpts" }], "summary": "cui_test_explorer_ex" }, { "name": "MeasureText", "kind": "method", "id": "method|MeasureText|1|0|NativeTextMetrics|nint ui;Font font;float size;nint text;int len||hc0767d4a4f1ef0e4b660dee972d158dcdee74407c51c840bb833f43a4857ba5d", "signature": "static NativeTextMetrics MeasureText(nint ui, Font font, float size, nint text, int len)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "font", "type": "Font" }, { "name": "size", "type": "float" }, { "name": "text", "type": "nint" }, { "name": "len", "type": "int" }], "summary": "cui_measure_text" }, { "name": "TimeHistogram", "kind": "method", "id": "method|TimeHistogram|1|0|NativeTimeHistogramResult|nint ui;nint id;double start;double bucketSeconds;int buckets;nint series;int seriesCount;ref double selStart;ref double selEnd;in NativeTimeHistogramOpts opts||hfa1f5b5edf695e77944ae27c1a7d2971389e8adf5c2986b00bd0343fa941466f", "signature": "static NativeTimeHistogramResult TimeHistogram(nint ui, nint id, double start, double bucketSeconds, int buckets, nint series, int seriesCount, ref double selStart, ref double selEnd, in NativeTimeHistogramOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "start", "type": "double" }, { "name": "bucketSeconds", "type": "double" }, { "name": "buckets", "type": "int" }, { "name": "series", "type": "nint" }, { "name": "seriesCount", "type": "int" }, { "name": "selStart", "type": "ref double" }, { "name": "selEnd", "type": "ref double" }, { "name": "opts", "type": "in NativeTimeHistogramOpts" }], "summary": "cui_time_histogram_ex" }, { "name": "TimelineEditor", "kind": "method", "id": "method|TimelineEditor|1|0|NativeTimelineEditorResult|nint ui;nint id;nint tracks;int count;ref float time;in NativeTimelineEditorOpts opts||hb2351de7669631a8a067960970da082a535fcae1ee61308afd9d8e8a739fa48a", "signature": "static NativeTimelineEditorResult TimelineEditor(nint ui, nint id, nint tracks, int count, ref float time, in NativeTimelineEditorOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "tracks", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "time", "type": "ref float" }, { "name": "opts", "type": "in NativeTimelineEditorOpts" }], "summary": "cui_timeline_editor_ex" }, { "name": "TraceView", "kind": "method", "id": "method|TraceView|1|0|NativeTraceResult|nint ui;nint id;nint tracks;int trackCount;nint spans;int spanCount;ref NativeTraceView view;ref int selected;in NativeTraceOpts opts||h73907b2dca89e0d041b59dfd17100da9cea8e43016feff734544ec106467a465", "signature": "static NativeTraceResult TraceView(nint ui, nint id, nint tracks, int trackCount, nint spans, int spanCount, ref NativeTraceView view, ref int selected, in NativeTraceOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "tracks", "type": "nint" }, { "name": "trackCount", "type": "int" }, { "name": "spans", "type": "nint" }, { "name": "spanCount", "type": "int" }, { "name": "view", "type": "ref NativeTraceView" }, { "name": "selected", "type": "ref int" }, { "name": "opts", "type": "in NativeTraceOpts" }], "summary": "cui_trace_view_ex" }, { "name": "TreeTableEnd", "kind": "method", "id": "method|TreeTableEnd|1|0|NativeTreeTableEvents|nint ui||h4eee805112b7850f0485af91222e57e0a8f2c649236ae73d46f82c976dc53c29", "signature": "static NativeTreeTableEvents TreeTableEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_tree_table_end" }, { "name": "Uptime", "kind": "method", "id": "method|Uptime|1|0|NativeUptimeResult|nint ui;nint id;nint services;int count;in NativeUptimeOpts opts||hc265bb0f05628c0fb22bbf75876b45305005dc6eac18ab16dfb505efd5f0da2f", "signature": "static NativeUptimeResult Uptime(nint ui, nint id, nint services, int count, in NativeUptimeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "services", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeUptimeOpts" }], "summary": "cui_uptime_ex" }, { "name": "AppSize", "kind": "method", "id": "method|AppSize|1|0|NativeVec2|nint app||ha74729608d621b24bc8ffdd406a5b45ae9fa70dab961521f18833480ef16f6bd", "signature": "static NativeVec2 AppSize(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "cui_app_size" }, { "name": "MousePos", "kind": "method", "id": "method|MousePos|1|0|NativeVec2|nint ui||hd2c7d87a1a27b098cfb7f49fa68afdafabac9d9acecf9d42a72652db8ea7f7f3", "signature": "static NativeVec2 MousePos(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_mouse_pos" }, { "name": "ViewportSize", "kind": "method", "id": "method|ViewportSize|1|0|NativeVec2|nint ui||h655b0214496432d350fa7c5aa2dbfca82105134c4828a721a360598172ef33c0", "signature": "static NativeVec2 ViewportSize(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_viewport_size" }, { "name": "Waterfall", "kind": "method", "id": "method|Waterfall|1|0|NativeWaterfallResult|nint ui;nint id;nint requests;int count;in NativeWaterfallOpts opts||h36804244956e9d24e6feeb89cc3e7c1fb527ba4c1aa4e926e783be74cd6cdfce", "signature": "static NativeWaterfallResult Waterfall(nint ui, nint id, nint requests, int count, in NativeWaterfallOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "requests", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeWaterfallOpts" }], "summary": "cui_waterfall_ex" }, { "name": "GetThemeMode", "kind": "method", "id": "method|GetThemeMode|1|0|Theme|nint ui||hd5dd420a6020ca9e2b3b03f97b96bc85c5a27efd6ee6df0eae33870895d7a9d3", "signature": "static Theme GetThemeMode(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_get_theme_mode" }, { "name": "AccordionBegin", "kind": "method", "id": "method|AccordionBegin|1|0|byte|nint ui;nint title;nint open||h59a40c85c4909ae585d78fc0410d19198504d98fdc3315c31c6b29cbd5093b22", "signature": "static byte AccordionBegin(nint ui, nint title, nint open)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "open", "type": "nint" }], "summary": "cui_accordion_begin" }, { "name": "Alert", "kind": "method", "id": "method|Alert|1|0|byte|nint ui;nint title;in NativeAlertOpts opts||h4a50e5754338f20bc39ed71731aa6b5f2a164fde306492214009bd2a0a9b6dcc", "signature": "static byte Alert(nint ui, nint title, in NativeAlertOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "opts", "type": "in NativeAlertOpts" }], "summary": "cui_alert_ex" }, { "name": "AppFileDialog", "kind": "method", "id": "method|AppFileDialog|1|0|byte|nint app;in NativeFileDialogOpts opts;nint out;nuint cap||h0e53b3363f81f00bce2f7dad5b3517ceb5c80e01cf9ec62825cfa5a6a93295ad", "signature": "static byte AppFileDialog(nint app, in NativeFileDialogOpts opts, nint @out, nuint cap)", "parameters": [{ "name": "app", "type": "nint" }, { "name": "opts", "type": "in NativeFileDialogOpts" }, { "name": "out", "type": "nint" }, { "name": "cap", "type": "nuint" }], "summary": "cui_app_file_dialog" }, { "name": "AppFrame", "kind": "method", "id": "method|AppFrame|1|0|byte|nint app||he4db78bd95169682f895be0dff74b53e3973f2db55ce753f0d144b3beb0db873", "signature": "static byte AppFrame(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "cui_app_frame" }, { "name": "AppIsSoftware", "kind": "method", "id": "method|AppIsSoftware|1|0|byte|nint app||h7cfe758e335174ee97ad36da7db9f00b8a23df3abdef176d7ee242cf54f423b0", "signature": "static byte AppIsSoftware(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "cui_app_is_software" }, { "name": "AppOpenUrl", "kind": "method", "id": "method|AppOpenUrl|1|0|byte|nint url||ha4a1975a2f8bd8f16549e1c2e2d0fdb3377790f3b33115a0de136383555329f4", "signature": "static byte AppOpenUrl(nint url)", "parameters": [{ "name": "url", "type": "nint" }], "summary": "cui_app_open_url" }, { "name": "AppScreenshot", "kind": "method", "id": "method|AppScreenshot|1|0|byte|nint app;nint rgba;int width;int height||h3c30ad02d7c81cec1318052acb1ae7dffc5d7b4922a5a5b1a1e61dc3ca38b950", "signature": "static byte AppScreenshot(nint app, nint rgba, int width, int height)", "parameters": [{ "name": "app", "type": "nint" }, { "name": "rgba", "type": "nint" }, { "name": "width", "type": "int" }, { "name": "height", "type": "int" }], "summary": "cui_app_screenshot" }, { "name": "Banner", "kind": "method", "id": "method|Banner|1|0|byte|nint ui;nint text;nint open;in NativeBannerOpts opts||hb5ad03ccbefd63827bc917d6263f04db05dcdf2dbb1c4571eb9d4f94f5388d42", "signature": "static byte Banner(nint ui, nint text, nint open, in NativeBannerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "opts", "type": "in NativeBannerOpts" }], "summary": "cui_banner_ex" }, { "name": "Button", "kind": "method", "id": "method|Button|1|0|byte|nint ui;nint label;in NativeButtonOpts opts||hbf77c65cd58bceccdde70f6c89f7363b8da26191c316501dbe5bcdd8d43ac2b6", "signature": "static byte Button(nint ui, nint label, in NativeButtonOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeButtonOpts" }], "summary": "cui_button_ex" }, { "name": "Calendar", "kind": "method", "id": "method|Calendar|1|0|byte|nint ui;nint id;ref NativeDate value||h95efe1a12806e2a8561314e3a70abd0ff38a240e350c2f061307438ff122ab4a", "signature": "static byte Calendar(nint ui, nint id, ref NativeDate value)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref NativeDate" }], "summary": "cui_calendar" }, { "name": "CardBegin", "kind": "method", "id": "method|CardBegin|1|0|byte|nint ui;in NativeCardOpts opts||h8eb89566776b1709be89f536ce55eef794eacc637d7c3737090c86333c2ae707", "signature": "static byte CardBegin(nint ui, in NativeCardOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "opts", "type": "in NativeCardOpts" }], "summary": "cui_card_begin" }, { "name": "CarouselBegin", "kind": "method", "id": "method|CarouselBegin|1|0|byte|nint ui;nint id;int count;ref int index;in NativeCarouselOpts opts||hb18645d7f90ffa240dcb88b8de82f4d32e264fa620a19d90c2fd6da2e5cee0fd", "signature": "static byte CarouselBegin(nint ui, nint id, int count, ref int index, in NativeCarouselOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "opts", "type": "in NativeCarouselOpts" }], "summary": "cui_carousel_begin" }, { "name": "Checkbox", "kind": "method", "id": "method|Checkbox|1|0|byte|nint ui;nint label;nint value;in NativeCheckOpts opts||hff3bc3ffdd5a33d31ff9b97fc872eb4f252bd3b9b1aace78eb72c45dd110e46e", "signature": "static byte Checkbox(nint ui, nint label, nint value, in NativeCheckOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "nint" }, { "name": "opts", "type": "in NativeCheckOpts" }], "summary": "cui_checkbox_ex" }, { "name": "Chip", "kind": "method", "id": "method|Chip|1|0|byte|nint ui;nint label;nint selected;in NativeChipOpts opts||head6d3534ffead4ac5649c1e26da63fd27441e52ad599488313efd3171e7911a", "signature": "static byte Chip(nint ui, nint label, nint selected, in NativeChipOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "selected", "type": "nint" }, { "name": "opts", "type": "in NativeChipOpts" }], "summary": "cui_chip_ex" }, { "name": "Citation", "kind": "method", "id": "method|Citation|1|0|byte|nint ui;int number;in NativeSource source||hffed798222a8e812b80fd9a4f8de893f54f9aa2a9ba39b646c7fc4c36d97028f", "signature": "static byte Citation(nint ui, int number, in NativeSource source)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "number", "type": "int" }, { "name": "source", "type": "in NativeSource" }], "summary": "cui_citation" }, { "name": "ColorPicker", "kind": "method", "id": "method|ColorPicker|1|0|byte|nint ui;nint id;ref NativeColor value||h989743a93cec76d361912fe0c33e29894c7ec163dd928db2f27ddbdb49ad5854", "signature": "static byte ColorPicker(nint ui, nint id, ref NativeColor value)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref NativeColor" }], "summary": "cui_color_picker" }, { "name": "ConfirmButton", "kind": "method", "id": "method|ConfirmButton|1|0|byte|nint ui;nint label;in NativeConfirmOpts opts||h8f8604ad0f24f547d8d6d8e28fd22bc47b268f0f807bac020f240abd4080dcab", "signature": "static byte ConfirmButton(nint ui, nint label, in NativeConfirmOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeConfirmOpts" }], "summary": "cui_confirm_button_ex" }, { "name": "ConfirmPopover", "kind": "method", "id": "method|ConfirmPopover|1|0|byte|nint ui;nint id;in NativeConfirmPopoverOpts opts||hfd5da6244ccd11ef60923dd471ea00e6d60fd8d3c20af199c7ec8b39412c7e29", "signature": "static byte ConfirmPopover(nint ui, nint id, in NativeConfirmPopoverOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeConfirmPopoverOpts" }], "summary": "cui_confirm_popover_ex" }, { "name": "ContextMenuBegin", "kind": "method", "id": "method|ContextMenuBegin|1|0|byte|nint ui;nint id||hbf71c286d5bec94ffe1f78068f50bcf6f4a63edd23157d4b17db003f83e58a19", "signature": "static byte ContextMenuBegin(nint ui, nint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }], "summary": "cui_context_menu_begin" }, { "name": "ControlTile", "kind": "method", "id": "method|ControlTile|1|0|byte|nint ui;nint label;nint on;in NativeTileOpts opts||he10e62b5f2afeb2033d2a9ebe247f8cd89cb234fb240344bc1e9c9c4c5e11100", "signature": "static byte ControlTile(nint ui, nint label, nint on, in NativeTileOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "on", "type": "nint" }, { "name": "opts", "type": "in NativeTileOpts" }], "summary": "cui_control_tile_ex" }, { "name": "CopyButton", "kind": "method", "id": "method|CopyButton|1|0|byte|nint ui;nint id;nint text||h48aef3359811011144831ea4ef53df4f260c450ae1e3945f43837aaebb616498", "signature": "static byte CopyButton(nint ui, nint id, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "cui_copy_button" }, { "name": "CronNext", "kind": "method", "id": "method|CronNext|1|0|byte|nint cron;long after;int utcOffset;ref long next||h56b578400ea3104a21e21cd8839e108a8122060418bfd3101cd73d569ce1a8d7", "signature": "static byte CronNext(nint cron, long after, int utcOffset, ref long next)", "parameters": [{ "name": "cron", "type": "nint" }, { "name": "after", "type": "long" }, { "name": "utcOffset", "type": "int" }, { "name": "next", "type": "ref long" }], "summary": "cui_cron_next" }, { "name": "Cropper", "kind": "method", "id": "method|Cropper|1|0|byte|nint ui;nint id;nuint tex;int imageW;int imageH;ref NativeRect crop;in NativeCropperOpts opts||h5fd51a4a0b5e8135c4015f9e0676d9658dfd816f02d1edc2d56d69a43eb847ef", "signature": "static byte Cropper(nint ui, nint id, nuint tex, int imageW, int imageH, ref NativeRect crop, in NativeCropperOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "tex", "type": "nuint" }, { "name": "imageW", "type": "int" }, { "name": "imageH", "type": "int" }, { "name": "crop", "type": "ref NativeRect" }, { "name": "opts", "type": "in NativeCropperOpts" }], "summary": "cui_cropper_ex" }, { "name": "DataGridBegin", "kind": "method", "id": "method|DataGridBegin|1|0|byte|nint ui;nint id;nint columns;int columnCount;int rowCount;ref int first;ref int last;in NativeGridOpts opts||h8592e38778819eb9396c680798d4a23f61ab9bb95e979589695c061d8a2c9bc3", "signature": "static byte DataGridBegin(nint ui, nint id, nint columns, int columnCount, int rowCount, ref int first, ref int last, in NativeGridOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "columns", "type": "nint" }, { "name": "columnCount", "type": "int" }, { "name": "rowCount", "type": "int" }, { "name": "first", "type": "ref int" }, { "name": "last", "type": "ref int" }, { "name": "opts", "type": "in NativeGridOpts" }], "summary": "cui_data_grid_begin_ex" }, { "name": "DataGridCellEdit", "kind": "method", "id": "method|DataGridCellEdit|1|0|byte|nint ui;nint buf;nuint cap||hd29cacae4bc510ac2073f2ec3dafbd6d3eedeecb1d2f8f9b273a1c95a0a6b969", "signature": "static byte DataGridCellEdit(nint ui, nint buf, nuint cap)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }], "summary": "cui_data_grid_cell_edit" }, { "name": "DataGridEdit", "kind": "method", "id": "method|DataGridEdit|1|0|byte|nint ui;nint buf;nuint cap||hb51d44fa028a4498c2a366835b6380815a5dcf187320d5c580b357792b24f825", "signature": "static byte DataGridEdit(nint ui, nint buf, nuint cap)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }], "summary": "cui_data_grid_edit" }, { "name": "DataGridRow", "kind": "method", "id": "method|DataGridRow|1|0|byte|nint ui;int row||h17f96bb5d180e97edcb36108118e13a70709ad758013a1a088b598046886a76a", "signature": "static byte DataGridRow(nint ui, int row)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "row", "type": "int" }], "summary": "cui_data_grid_row" }, { "name": "DatePicker", "kind": "method", "id": "method|DatePicker|1|0|byte|nint ui;nint id;ref NativeDate value;in NativeDateOpts opts||hd9d76b72b2af7c46bcbc08a04498bedac51208539abc4f8f01f7f4d614059494", "signature": "static byte DatePicker(nint ui, nint id, ref NativeDate value, in NativeDateOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref NativeDate" }, { "name": "opts", "type": "in NativeDateOpts" }], "summary": "cui_date_picker_ex" }, { "name": "DateRangePicker", "kind": "method", "id": "method|DateRangePicker|1|0|byte|nint ui;nint id;ref NativeDateRange range;in NativeDateRangeOpts opts||h92533d23ef098f513ceea3b01553a6a49f16335ddfdb3eadc4ec0264e939998f", "signature": "static byte DateRangePicker(nint ui, nint id, ref NativeDateRange range, in NativeDateRangeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "range", "type": "ref NativeDateRange" }, { "name": "opts", "type": "in NativeDateRangeOpts" }], "summary": "cui_date_range_picker_ex" }, { "name": "DialogBegin", "kind": "method", "id": "method|DialogBegin|1|0|byte|nint ui;nint title;nint open;in NativeDialogOpts opts||hd616f3e3c8148d7400e20e570bff72cb6c0caf2d7b9fec5daa919f5f471430f2", "signature": "static byte DialogBegin(nint ui, nint title, nint open, in NativeDialogOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "opts", "type": "in NativeDialogOpts" }], "summary": "cui_dialog_begin" }, { "name": "DiffWords", "kind": "method", "id": "method|DiffWords|1|0|byte|nint oldLine;int oldLen;nint newLine;int newLen;nint oldRanges;ref int oldCount;nint newRanges;ref int newCount;int cap||hcda9f2ec29f0648dbedd75e9fd2669ff2851a76de74593a5fdcfaba7e38ffbd9", "signature": "static byte DiffWords(nint oldLine, int oldLen, nint newLine, int newLen, nint oldRanges, ref int oldCount, nint newRanges, ref int newCount, int cap)", "parameters": [{ "name": "oldLine", "type": "nint" }, { "name": "oldLen", "type": "int" }, { "name": "newLine", "type": "nint" }, { "name": "newLen", "type": "int" }, { "name": "oldRanges", "type": "nint" }, { "name": "oldCount", "type": "ref int" }, { "name": "newRanges", "type": "nint" }, { "name": "newCount", "type": "ref int" }, { "name": "cap", "type": "int" }], "summary": "cui_diff_words" }, { "name": "DockItem", "kind": "method", "id": "method|DockItem|1|0|byte|nint ui;nint icon;nint label;in NativeDockItemOpts opts||hc98fe4669f05c98a74eb98bebd4a9d1a85e10093aaf887a346a97ed55781ed98", "signature": "static byte DockItem(nint ui, nint icon, nint label, in NativeDockItemOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "icon", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeDockItemOpts" }], "summary": "cui_dock_item_ex" }, { "name": "DockLoad", "kind": "method", "id": "method|DockLoad|1|0|byte|nint ui;nint id;nint text||h621beeb19268aecd384a174a3f46f3fe2f0067bb2eeedd194a6bd4b1e781efaa", "signature": "static byte DockLoad(nint ui, nint id, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "cui_dock_load" }, { "name": "DockPanelBegin", "kind": "method", "id": "method|DockPanelBegin|1|0|byte|nint ui;nint title;nint open;in NativeDockPanelOpts opts||h2744ffb49bc263bc86741c7e6c0e58f096dc2dc91857010058a19ee69cb87dd2", "signature": "static byte DockPanelBegin(nint ui, nint title, nint open, in NativeDockPanelOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "opts", "type": "in NativeDockPanelOpts" }], "summary": "cui_dock_panel_begin_ex" }, { "name": "EmojiFontLoadFile", "kind": "method", "id": "method|EmojiFontLoadFile|1|0|byte|nint ui;nint path||h1fa3b59d3fb51cc55806ab6720350790ed1dea427bd97ef45db889a9e9068855", "signature": "static byte EmojiFontLoadFile(nint ui, nint path)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "path", "type": "nint" }], "summary": "cui_emoji_font_load_file" }, { "name": "EmojiFontLoadMemory", "kind": "method", "id": "method|EmojiFontLoadMemory|1|0|byte|nint ui;nint data;nuint size;byte copy||h58c96f83873fb0393db7455ce5c340f9d15f089541c178d904efa392b2dfc00c", "signature": "static byte EmojiFontLoadMemory(nint ui, nint data, nuint size, byte copy)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "data", "type": "nint" }, { "name": "size", "type": "nuint" }, { "name": "copy", "type": "byte" }], "summary": "cui_emoji_font_load_memory" }, { "name": "EmojiFontLoadSystem", "kind": "method", "id": "method|EmojiFontLoadSystem|1|0|byte|nint ui||hadc7b19a2a9a2e65695fc9817a04d4a731c2b5afaf61701ae690292273e13310", "signature": "static byte EmojiFontLoadSystem(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_emoji_font_load_system" }, { "name": "EmojiSupported", "kind": "method", "id": "method|EmojiSupported|1|0|byte|nint ui;nint utf8;int len||haa623954e33273c01efadb0b164b0325a036fa5aac7ebf21338630f47cc6f329", "signature": "static byte EmojiSupported(nint ui, nint utf8, int len)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "utf8", "type": "nint" }, { "name": "len", "type": "int" }], "summary": "cui_emoji_supported" }, { "name": "EmptyState", "kind": "method", "id": "method|EmptyState|1|0|byte|nint ui;nint title;in NativeEmptyOpts opts||h941a84eed00b9099f9a69276a71aef1c42cd24b1ed9125fcce7b3ed9cc5d56a3", "signature": "static byte EmptyState(nint ui, nint title, in NativeEmptyOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "opts", "type": "in NativeEmptyOpts" }], "summary": "cui_empty_state_ex" }, { "name": "ExpandableCardBegin", "kind": "method", "id": "method|ExpandableCardBegin|1|0|byte|nint ui;nint title;nint open;in NativeExpandableCardOpts opts||hc4f35bb8b4e0a5b5c51ced2e3eb8913efcb5526a0978d715299a9d3e6425d85a", "signature": "static byte ExpandableCardBegin(nint ui, nint title, nint open, in NativeExpandableCardOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "opts", "type": "in NativeExpandableCardOpts" }], "summary": "cui_expandable_card_begin" }, { "name": "ExpandableText", "kind": "method", "id": "method|ExpandableText|1|0|byte|nint ui;nint id;nint text;in NativeExpandableTextOpts opts||he923421a6ed1305bf9a9239a09a90cb844e441a563ed0b79c1088be082b68db2", "signature": "static byte ExpandableText(nint ui, nint id, nint text, in NativeExpandableTextOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeExpandableTextOpts" }], "summary": "cui_expandable_text_ex" }, { "name": "Fader", "kind": "method", "id": "method|Fader|1|0|byte|nint ui;nint id;ref float value;float min;float max;in NativeFaderOpts opts||h6ed38dfc9564ca40874ecea6cd058d18d45a5b3df90662647f6d22fa1b43a8e9", "signature": "static byte Fader(nint ui, nint id, ref float value, float min, float max, in NativeFaderOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "opts", "type": "in NativeFaderOpts" }], "summary": "cui_fader_ex" }, { "name": "FileDragActive", "kind": "method", "id": "method|FileDragActive|1|0|byte|nint ui||h06689d0f1f6ad622bd4ede35fde7d9e4b27bf818d7051e398763c4d0d6c69752", "signature": "static byte FileDragActive(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_file_drag_active" }, { "name": "FilePicker", "kind": "method", "id": "method|FilePicker|1|0|byte|nint ui;nint id;nint open;nint out;nuint outCap;in NativeFilePickerOpts opts||hce1d0bb445dc444bcb9f6dbdd7fe0abd2e09e043e7ff5498e06a7087f0238d63", "signature": "static byte FilePicker(nint ui, nint id, nint open, nint @out, nuint outCap, in NativeFilePickerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "out", "type": "nint" }, { "name": "outCap", "type": "nuint" }, { "name": "opts", "type": "in NativeFilePickerOpts" }], "summary": "cui_file_picker_ex" }, { "name": "FilterBar", "kind": "method", "id": "method|FilterBar|1|0|byte|nint ui;nint id;nint fields;int count;ref uint selected;nint search;nuint searchCap||h439da7369bd0a7c312d2f90525f951269174bf9f93f1ea661122ad8a8220c491", "signature": "static byte FilterBar(nint ui, nint id, nint fields, int count, ref uint selected, nint search, nuint searchCap)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "fields", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "selected", "type": "ref uint" }, { "name": "search", "type": "nint" }, { "name": "searchCap", "type": "nuint" }], "summary": "cui_filter_bar" }, { "name": "GlIsSoftware", "kind": "method", "id": "method|GlIsSoftware|1|0|byte|nint r||h6f0d04c2dca4916b21cc9dbb2f1f9a0b5ae9561aa7f132235ee5f35dc9629684", "signature": "static byte GlIsSoftware(nint r)", "parameters": [{ "name": "r", "type": "nint" }], "summary": "cui_gl_is_software" }, { "name": "HistogramSlider", "kind": "method", "id": "method|HistogramSlider|1|0|byte|nint ui;nint label;nint bins;int binCount;ref float lo;ref float hi;float min;float max;in NativeHistogramOpts opts||h76a57b17c94377856e726b8b08e866628238cda2c53b31a54f9aef2d181fa40e", "signature": "static byte HistogramSlider(nint ui, nint label, nint bins, int binCount, ref float lo, ref float hi, float min, float max, in NativeHistogramOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "bins", "type": "nint" }, { "name": "binCount", "type": "int" }, { "name": "lo", "type": "ref float" }, { "name": "hi", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "opts", "type": "in NativeHistogramOpts" }], "summary": "cui_histogram_slider_ex" }, { "name": "HoldButton", "kind": "method", "id": "method|HoldButton|1|0|byte|nint ui;nint label;in NativeHoldOpts opts||h1870c44b154f6e64561e0bc2872a662ce1c6077c5faa415f3313612b05e2df33", "signature": "static byte HoldButton(nint ui, nint label, in NativeHoldOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeHoldOpts" }], "summary": "cui_hold_button_ex" }, { "name": "HoverCardBegin", "kind": "method", "id": "method|HoverCardBegin|1|0|byte|nint ui;nint id;in NativeHoverCardOpts opts||h2acd4cd766bdafd791de91155afcbe9fcb949f5209b01f218aa8bb2ab0561e1d", "signature": "static byte HoverCardBegin(nint ui, nint id, in NativeHoverCardOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeHoverCardOpts" }], "summary": "cui_hover_card_begin" }, { "name": "IconButton", "kind": "method", "id": "method|IconButton|1|0|byte|nint ui;nint icon;in NativeButtonOpts opts||h2d23f5f0de85e2fcf802f1b534bb88b5c109da6930af15f92ad95402c5f2af72", "signature": "static byte IconButton(nint ui, nint icon, in NativeButtonOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "icon", "type": "nint" }, { "name": "opts", "type": "in NativeButtonOpts" }], "summary": "cui_icon_button_ex" }, { "name": "ImageCompare", "kind": "method", "id": "method|ImageCompare|1|0|byte|nint ui;nint id;nuint before;nuint after;ref float pos;in NativeCompareOpts opts||hc06a5f26d4dc2f33c6e9de17a4f5d692a8a125973f156fd9d4fa451a2bd5285b", "signature": "static byte ImageCompare(nint ui, nint id, nuint before, nuint after, ref float pos, in NativeCompareOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "before", "type": "nuint" }, { "name": "after", "type": "nuint" }, { "name": "pos", "type": "ref float" }, { "name": "opts", "type": "in NativeCompareOpts" }], "summary": "cui_image_compare_ex" }, { "name": "ImageViewer", "kind": "method", "id": "method|ImageViewer|1|0|byte|nint ui;nint id;nuint tex;int imageW;int imageH;ref NativeImageView view;in NativeImageViewerOpts opts||h0cf78963603044f43e01c356a5265e35ab70d8179f729c4a4dc7c8e5f69cd296", "signature": "static byte ImageViewer(nint ui, nint id, nuint tex, int imageW, int imageH, ref NativeImageView view, in NativeImageViewerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "tex", "type": "nuint" }, { "name": "imageW", "type": "int" }, { "name": "imageH", "type": "int" }, { "name": "view", "type": "ref NativeImageView" }, { "name": "opts", "type": "in NativeImageViewerOpts" }], "summary": "cui_image_viewer_ex" }, { "name": "InspectorBegin", "kind": "method", "id": "method|InspectorBegin|1|0|byte|nint ui;nint id;in NativeInspectorOpts opts||haf0c110106f31d9e3d2a18a9340f0a4f30ab977c0436d21cadd58b7d87812a8d", "signature": "static byte InspectorBegin(nint ui, nint id, in NativeInspectorOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeInspectorOpts" }], "summary": "cui_inspector_begin_ex" }, { "name": "InspectorGroup", "kind": "method", "id": "method|InspectorGroup|1|0|byte|nint ui;nint title;nint open||h497e9d988565ae5ca3b5c08f689dd3254225d3a3d9dc0ecf312ef898a908c201", "signature": "static byte InspectorGroup(nint ui, nint title, nint open)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "open", "type": "nint" }], "summary": "cui_inspector_group" }, { "name": "IsDisabled", "kind": "method", "id": "method|IsDisabled|1|0|byte|nint ui||h0f0e74072e7126efe97cf7c822e7ed9b4fd1b9ba5c5e78d6566ffb90b9ad1596", "signature": "static byte IsDisabled(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_is_disabled" }, { "name": "JsonView", "kind": "method", "id": "method|JsonView|1|0|byte|nint ui;nint id;nint json;in NativeJsonOpts opts||hdb710bc8e1b81b610086d6b063db3f139a632b10befa8e75576ebfdb26aed829", "signature": "static byte JsonView(nint ui, nint id, nint json, in NativeJsonOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "json", "type": "nint" }, { "name": "opts", "type": "in NativeJsonOpts" }], "summary": "cui_json_view_ex" }, { "name": "KanbanCardBegin", "kind": "method", "id": "method|KanbanCardBegin|1|0|byte|nint ui;int cardId||hb10022a44f071459906d2056eaf86e971ba0fd1d1e8298e8e3512e2c40305731", "signature": "static byte KanbanCardBegin(nint ui, int cardId)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "cardId", "type": "int" }], "summary": "cui_kanban_card_begin" }, { "name": "KanbanColumnBegin", "kind": "method", "id": "method|KanbanColumnBegin|1|0|byte|nint ui;nint title;int cardCount;in NativeKanbanColumnOpts opts||h31707cec7d02a90fb9ca22b004120125fc7c64fe847a796ff10f143a5970e8d0", "signature": "static byte KanbanColumnBegin(nint ui, nint title, int cardCount, in NativeKanbanColumnOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "cardCount", "type": "int" }, { "name": "opts", "type": "in NativeKanbanColumnOpts" }], "summary": "cui_kanban_column_begin_ex" }, { "name": "KanbanEnd", "kind": "method", "id": "method|KanbanEnd|1|0|byte|nint ui;ref NativeKanbanMove move||h53bbfa00ebd29bb312c1e760325bdacf4768ff044b242e3f05cb6702bfc46d51", "signature": "static byte KanbanEnd(nint ui, ref NativeKanbanMove move)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "move", "type": "ref NativeKanbanMove" }], "summary": "cui_kanban_end" }, { "name": "KeyDown", "kind": "method", "id": "method|KeyDown|1|0|byte|nint ui;Key key||h6d4445c5b57a82d91cda591d976850ee3d0eb9a02ac7a9a0c7f8fadba8cab1cb", "signature": "static byte KeyDown(nint ui, Key key)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "key", "type": "Key" }], "summary": "cui_key_down" }, { "name": "KeyPressed", "kind": "method", "id": "method|KeyPressed|1|0|byte|nint ui;Key key||h4b8d48010a1a9850c0768747a30fbb0ec8ff46600a7bfbab7928db9651a84957", "signature": "static byte KeyPressed(nint ui, Key key)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "key", "type": "Key" }], "summary": "cui_key_pressed" }, { "name": "Knob", "kind": "method", "id": "method|Knob|1|0|byte|nint ui;nint id;ref float value;float min;float max;in NativeKnobOpts opts||h9ee3cc21d4102e0742c3a600bae25092222ba9a1071838d49a0ca2698c8c7920", "signature": "static byte Knob(nint ui, nint id, ref float value, float min, float max, in NativeKnobOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "opts", "type": "in NativeKnobOpts" }], "summary": "cui_knob_ex" }, { "name": "KvEditor", "kind": "method", "id": "method|KvEditor|1|0|byte|nint ui;nint id;nint pairs;ref int count;int capacity;in NativeKvEditorOpts opts||hb2614aaec9d451a0e5bdf229887d837d6bb7b2c23a13770a65a365eb3466709e", "signature": "static byte KvEditor(nint ui, nint id, nint pairs, ref int count, int capacity, in NativeKvEditorOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "pairs", "type": "nint" }, { "name": "count", "type": "ref int" }, { "name": "capacity", "type": "int" }, { "name": "opts", "type": "in NativeKvEditorOpts" }], "summary": "cui_kv_editor_ex" }, { "name": "LastHovered", "kind": "method", "id": "method|LastHovered|1|0|byte|nint ui||h41176bf534c908b00ace79674d97cffea1848ac349fe99eb9b1adf5c37669bb4", "signature": "static byte LastHovered(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_last_hovered" }, { "name": "LevelMeter", "kind": "method", "id": "method|LevelMeter|1|0|byte|nint ui;nint id;nint levels;int channels;in NativeLevelMeterOpts opts||hfc5e9178ec7f3614a5efade5d6dcdbf414075f81c96b3f6cc266f87b30516a1c", "signature": "static byte LevelMeter(nint ui, nint id, nint levels, int channels, in NativeLevelMeterOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "levels", "type": "nint" }, { "name": "channels", "type": "int" }, { "name": "opts", "type": "in NativeLevelMeterOpts" }], "summary": "cui_level_meter_ex" }, { "name": "Link", "kind": "method", "id": "method|Link|1|0|byte|nint ui;nint text||h8460add3477f455cc2ee1c287e47ae31f0d673f5f961821dfdc3cd857ceadb3d", "signature": "static byte Link(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "cui_link" }, { "name": "ListItem", "kind": "method", "id": "method|ListItem|1|0|byte|nint ui;nint title;in NativeListItemOpts opts||h1bdd6b290a5d46e3fbc94460f2cf1e811f7ab4fb32aa4edd105643c1387b6160", "signature": "static byte ListItem(nint ui, nint title, in NativeListItemOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "opts", "type": "in NativeListItemOpts" }], "summary": "cui_list_item_ex" }, { "name": "MarkdownApplyTask", "kind": "method", "id": "method|MarkdownApplyTask|1|0|byte|nint text;in NativeMarkdownResult result||h65c0748daeaff3d922677db26ff783f06848918f3064226056c488ad839a3f6e", "signature": "static byte MarkdownApplyTask(nint text, in NativeMarkdownResult result)", "parameters": [{ "name": "text", "type": "nint" }, { "name": "result", "type": "in NativeMarkdownResult" }], "summary": "cui_markdown_apply_task" }, { "name": "MenuBarMenuBegin", "kind": "method", "id": "method|MenuBarMenuBegin|1|0|byte|nint ui;nint label;in NativeMenuBarMenuOpts opts||hdce92dc64169719fd1caac182b3b3f1c1e69c519f083e93adad353ffa0087006", "signature": "static byte MenuBarMenuBegin(nint ui, nint label, in NativeMenuBarMenuOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeMenuBarMenuOpts" }], "summary": "cui_menu_bar_menu_begin" }, { "name": "MenuBegin", "kind": "method", "id": "method|MenuBegin|1|0|byte|nint ui;nint label;in NativeMenuOpts opts||h0c701f73327f9a30be5cfb7c34816c1cdc4252ab5276470c412478196efce7ef", "signature": "static byte MenuBegin(nint ui, nint label, in NativeMenuOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeMenuOpts" }], "summary": "cui_menu_begin" }, { "name": "MenuItem", "kind": "method", "id": "method|MenuItem|1|0|byte|nint ui;nint label;in NativeMenuItemOpts opts||haf30308e41d50cd536bc2cf08e9736e8d2b49efc929acc8bca93a84950068f4d", "signature": "static byte MenuItem(nint ui, nint label, in NativeMenuItemOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeMenuItemOpts" }], "summary": "cui_menu_item_ex" }, { "name": "ModelPicker", "kind": "method", "id": "method|ModelPicker|1|0|byte|nint ui;nint id;nint models;int count;ref int selected;in NativeModelPickerOpts opts||hc29cc09c2e34215fa836775b784ea5bfb4f3bba7656e378d58ce8f73bff1c6fd", "signature": "static byte ModelPicker(nint ui, nint id, nint models, int count, ref int selected, in NativeModelPickerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "models", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "selected", "type": "ref int" }, { "name": "opts", "type": "in NativeModelPickerOpts" }], "summary": "cui_model_picker_ex" }, { "name": "MoneyInput", "kind": "method", "id": "method|MoneyInput|1|0|byte|nint ui;nint id;ref double value;in NativeMoneyOpts opts||h3ff760afb37f0e62af2cb05228c843fa66a95eada822c1352ada152ad8c575eb", "signature": "static byte MoneyInput(nint ui, nint id, ref double value, in NativeMoneyOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref double" }, { "name": "opts", "type": "in NativeMoneyOpts" }], "summary": "cui_money_input_ex" }, { "name": "MouseClicked", "kind": "method", "id": "method|MouseClicked|1|0|byte|nint ui;MouseButton b||h15a448a8dcf4692f7df7c145b73d244866d5e5a4f735572ef4999a267379b68f", "signature": "static byte MouseClicked(nint ui, MouseButton b)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "b", "type": "MouseButton" }], "summary": "cui_mouse_clicked" }, { "name": "MouseDown", "kind": "method", "id": "method|MouseDown|1|0|byte|nint ui;MouseButton b||hff24d7015a9ce35f643c5082bcb54be0985bb3f9f3dc211436da7b65f16590a5", "signature": "static byte MouseDown(nint ui, MouseButton b)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "b", "type": "MouseButton" }], "summary": "cui_mouse_down" }, { "name": "MultiSelect", "kind": "method", "id": "method|MultiSelect|1|0|byte|nint ui;nint id;nint items;int count;nint selected;in NativeMultiSelectOpts opts||h5c9472439fb3846e3da639dcd77abda0ffc6983f39a8cd8f69537665395592e6", "signature": "static byte MultiSelect(nint ui, nint id, nint items, int count, nint selected, in NativeMultiSelectOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "selected", "type": "nint" }, { "name": "opts", "type": "in NativeMultiSelectOpts" }], "summary": "cui_multi_select_ex" }, { "name": "NavItem", "kind": "method", "id": "method|NavItem|1|0|byte|nint ui;nint label;in NativeNavOpts opts||h12f929fa43eef8aaeeb499331c925a0a27b6aa2101c772e1fd311a90aa4ce8f5", "signature": "static byte NavItem(nint ui, nint label, in NativeNavOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeNavOpts" }], "summary": "cui_nav_item_ex" }, { "name": "NeedsRedraw", "kind": "method", "id": "method|NeedsRedraw|1|0|byte|nint ui||h7b43442d721907c639ef1f2c082c75d198b178de187caf3ecd27a9945fc8ea8e", "signature": "static byte NeedsRedraw(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_needs_redraw" }, { "name": "NodeBegin", "kind": "method", "id": "method|NodeBegin|1|0|byte|nint ui;int nodeId;ref float x;ref float y;nint title;in NativeNodeOpts opts||h3ff767afdc5dc754f45f111bbc023fd04d09391838171174875147ff26ab10ac", "signature": "static byte NodeBegin(nint ui, int nodeId, ref float x, ref float y, nint title, in NativeNodeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "nodeId", "type": "int" }, { "name": "x", "type": "ref float" }, { "name": "y", "type": "ref float" }, { "name": "title", "type": "nint" }, { "name": "opts", "type": "in NativeNodeOpts" }], "summary": "cui_node_begin_ex" }, { "name": "NodeDeleted", "kind": "method", "id": "method|NodeDeleted|1|0|byte|nint ui;ref int nodeId||h26a2e21e519d12482534c9be0e688659e537c8c649731c62b8e07fd20f3aec51", "signature": "static byte NodeDeleted(nint ui, ref int nodeId)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "nodeId", "type": "ref int" }], "summary": "cui_node_deleted" }, { "name": "NodeEditorBegin", "kind": "method", "id": "method|NodeEditorBegin|1|0|byte|nint ui;nint id;ref NativeNodeView view;in NativeNodeEditorOpts opts||h5c300457768c76f92734ac1a0ccff610d8565ca52667e6bf8de7cf33ec5195f0", "signature": "static byte NodeEditorBegin(nint ui, nint id, ref NativeNodeView view, in NativeNodeEditorOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "view", "type": "ref NativeNodeView" }, { "name": "opts", "type": "in NativeNodeEditorOpts" }], "summary": "cui_node_editor_begin_ex" }, { "name": "NodeInput", "kind": "method", "id": "method|NodeInput|1|0|byte|nint ui;int pinId;nint label;in NativePinOpts opts||h05349be34aeb5552ca0fe0e8e2faa4b0c88bf38b8ddfb94e56cb059827927b43", "signature": "static byte NodeInput(nint ui, int pinId, nint label, in NativePinOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "pinId", "type": "int" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativePinOpts" }], "summary": "cui_node_input_ex" }, { "name": "NodeLink", "kind": "method", "id": "method|NodeLink|1|0|byte|nint ui;int linkId;int fromPin;int toPin||h4fd0ea27954b724e7cdccedf031de49905dc5d5397d14cb610cc8b072c2c611e", "signature": "static byte NodeLink(nint ui, int linkId, int fromPin, int toPin)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "linkId", "type": "int" }, { "name": "fromPin", "type": "int" }, { "name": "toPin", "type": "int" }], "summary": "cui_node_link" }, { "name": "NodeLinkCreated", "kind": "method", "id": "method|NodeLinkCreated|1|0|byte|nint ui;ref int fromPin;ref int toPin||hc82624810a72f602e276268bcdcac44230c240176da8b76b33de074633261bb1", "signature": "static byte NodeLinkCreated(nint ui, ref int fromPin, ref int toPin)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "fromPin", "type": "ref int" }, { "name": "toPin", "type": "ref int" }], "summary": "cui_node_link_created" }, { "name": "NodeLinkRemoved", "kind": "method", "id": "method|NodeLinkRemoved|1|0|byte|nint ui;ref int linkId||h4f0501cd14e679dd9c71ff20df58c61cd5ece412c9274982ca5977467578e59a", "signature": "static byte NodeLinkRemoved(nint ui, ref int linkId)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "linkId", "type": "ref int" }], "summary": "cui_node_link_removed" }, { "name": "NodeOutput", "kind": "method", "id": "method|NodeOutput|1|0|byte|nint ui;int pinId;nint label;in NativePinOpts opts||h889d0c43d378b6488c82d0644a74fb8447e2024e5a741797063399e6bb76d271", "signature": "static byte NodeOutput(nint ui, int pinId, nint label, in NativePinOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "pinId", "type": "int" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativePinOpts" }], "summary": "cui_node_output_ex" }, { "name": "Number", "kind": "method", "id": "method|Number|1|0|byte|nint ui;nint id;ref double value;double min;double max;in NativeNumberOpts opts||h8dd3807fc82451dff355298afa82bd3d8d760f6aa9f4843c1afbf90c116722b4", "signature": "static byte Number(nint ui, nint id, ref double value, double min, double max, in NativeNumberOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref double" }, { "name": "min", "type": "double" }, { "name": "max", "type": "double" }, { "name": "opts", "type": "in NativeNumberOpts" }], "summary": "cui_number_ex" }, { "name": "OtpInput", "kind": "method", "id": "method|OtpInput|1|0|byte|nint ui;nint id;nint code;int length||h1d5f76d56771b0e941f76735b57fccf346364b04e9b6b30fc767d8c8b1a3373d", "signature": "static byte OtpInput(nint ui, nint id, nint code, int length)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "code", "type": "nint" }, { "name": "length", "type": "int" }], "summary": "cui_otp_input" }, { "name": "Pagination", "kind": "method", "id": "method|Pagination|1|0|byte|nint ui;nint id;ref int page;int pageCount||h9c6541597a311583fe7438c482c8224f55d8b6301216af97fb09d2b1b7c0dbc4", "signature": "static byte Pagination(nint ui, nint id, ref int page, int pageCount)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "page", "type": "ref int" }, { "name": "pageCount", "type": "int" }], "summary": "cui_pagination" }, { "name": "PathBarMenuBegin", "kind": "method", "id": "method|PathBarMenuBegin|1|0|byte|nint ui;nint id;ref int segment||h920519871dd34b39dc6f632fd5641a9c1fe9d2e1484743facc6341b86f2c90a4", "signature": "static byte PathBarMenuBegin(nint ui, nint id, ref int segment)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "segment", "type": "ref int" }], "summary": "cui_path_bar_menu_begin" }, { "name": "PathHasExtension", "kind": "method", "id": "method|PathHasExtension|1|0|byte|nint path;nint accept||h51473867a382392260bce03dcd8573965a7a41479b3d86ba74646ab4589e6839", "signature": "static byte PathHasExtension(nint path, nint accept)", "parameters": [{ "name": "path", "type": "nint" }, { "name": "accept", "type": "nint" }], "summary": "cui_path_has_extension" }, { "name": "PopoverBegin", "kind": "method", "id": "method|PopoverBegin|1|0|byte|nint ui;nint id;in NativePopoverOpts opts||hf7b2799f846341c5588cdd893e7efea99901ef279d1c3689385c06ab0b3c2312", "signature": "static byte PopoverBegin(nint ui, nint id, in NativePopoverOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativePopoverOpts" }], "summary": "cui_popover_begin" }, { "name": "PopoverIsOpen", "kind": "method", "id": "method|PopoverIsOpen|1|0|byte|nint ui;nint id||h9af29adcf835a4877879bb5a326360b02b8b2db888492f0eeffdd9983f5fdd5e", "signature": "static byte PopoverIsOpen(nint ui, nint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }], "summary": "cui_popover_is_open" }, { "name": "PropBool", "kind": "method", "id": "method|PropBool|1|0|byte|nint ui;nint label;nint value;in NativePropOpts opts||h00756c3152ec3f53862faae2e0bf373d9e2e3c324e60827347892307afe460f6", "signature": "static byte PropBool(nint ui, nint label, nint value, in NativePropOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "nint" }, { "name": "opts", "type": "in NativePropOpts" }], "summary": "cui_prop_bool_ex" }, { "name": "PropColor", "kind": "method", "id": "method|PropColor|1|0|byte|nint ui;nint label;ref NativeColor value;in NativePropOpts opts||h97930e1593c9f3f948176eb0694ffbf4bb35e3ed3da460000a4985b7ab379333", "signature": "static byte PropColor(nint ui, nint label, ref NativeColor value, in NativePropOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref NativeColor" }, { "name": "opts", "type": "in NativePropOpts" }], "summary": "cui_prop_color_ex" }, { "name": "PropEnum", "kind": "method", "id": "method|PropEnum|1|0|byte|nint ui;nint label;nint items;int count;ref int index;in NativePropOpts opts||hc25983cec08cc4d09953634b896fbda541bc2371db435897002a158aa7ccfb96", "signature": "static byte PropEnum(nint ui, nint label, nint items, int count, ref int index, in NativePropOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "opts", "type": "in NativePropOpts" }], "summary": "cui_prop_enum_ex" }, { "name": "PropFloat", "kind": "method", "id": "method|PropFloat|1|0|byte|nint ui;nint label;ref float value;in NativePropOpts opts||he71b383273784a5057e7581fe417bf0b1982ba24f1a722d7c19dfbeda8447dd5", "signature": "static byte PropFloat(nint ui, nint label, ref float value, in NativePropOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref float" }, { "name": "opts", "type": "in NativePropOpts" }], "summary": "cui_prop_float_ex" }, { "name": "PropInt", "kind": "method", "id": "method|PropInt|1|0|byte|nint ui;nint label;ref int value;in NativePropOpts opts||h5f2a28c9b5e8da8289424bf17db307be852cceb9edb2a35a223c89709c234b01", "signature": "static byte PropInt(nint ui, nint label, ref int value, in NativePropOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref int" }, { "name": "opts", "type": "in NativePropOpts" }], "summary": "cui_prop_int_ex" }, { "name": "PropText", "kind": "method", "id": "method|PropText|1|0|byte|nint ui;nint label;nint buf;nuint cap;in NativePropOpts opts||hd1c1ba855ea422da71f45b7f54b25eba0185da4756c1cfd3f84326ce7a5ea219", "signature": "static byte PropText(nint ui, nint label, nint buf, nuint cap, in NativePropOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativePropOpts" }], "summary": "cui_prop_text_ex" }, { "name": "PropVec", "kind": "method", "id": "method|PropVec|1|0|byte|nint ui;nint label;ref float value;int components;in NativePropOpts opts||h86de2489ef65fd8442a3d0247ae840a33f6e3fcfbecbba07f586a9f869e29231", "signature": "static byte PropVec(nint ui, nint label, ref float value, int components, in NativePropOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref float" }, { "name": "components", "type": "int" }, { "name": "opts", "type": "in NativePropOpts" }], "summary": "cui_prop_vec_ex" }, { "name": "QueryBuilder", "kind": "method", "id": "method|QueryBuilder|1|0|byte|nint ui;nint id;nint fields;int fieldCount;nint nodes;ref int count;int capacity;in NativeQueryOpts opts||h9e99d805b9400574ba394e2f6497a861baa88e0ba6b4a8e520aa819e41d38975", "signature": "static byte QueryBuilder(nint ui, nint id, nint fields, int fieldCount, nint nodes, ref int count, int capacity, in NativeQueryOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "fields", "type": "nint" }, { "name": "fieldCount", "type": "int" }, { "name": "nodes", "type": "nint" }, { "name": "count", "type": "ref int" }, { "name": "capacity", "type": "int" }, { "name": "opts", "type": "in NativeQueryOpts" }], "summary": "cui_query_builder_ex" }, { "name": "QueryMatch", "kind": "method", "id": "method|QueryMatch|1|0|byte|nint fields;int fieldCount;nint nodes;int count;nint values||h029c8a4faaccfacab37fbdf6a5e0cbdad3ec4789fe25a84c817b9b30b1a0c9d3", "signature": "static byte QueryMatch(nint fields, int fieldCount, nint nodes, int count, nint values)", "parameters": [{ "name": "fields", "type": "nint" }, { "name": "fieldCount", "type": "int" }, { "name": "nodes", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "values", "type": "nint" }], "summary": "cui_query_match" }, { "name": "Radio", "kind": "method", "id": "method|Radio|1|0|byte|nint ui;nint label;ref int value;int option;in NativeCheckOpts opts||hcdcef5ad8085ac53ef4c7df825d71526f96787cbe7e0056fa365c0afe2d5ee48", "signature": "static byte Radio(nint ui, nint label, ref int value, int option, in NativeCheckOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref int" }, { "name": "option", "type": "int" }, { "name": "opts", "type": "in NativeCheckOpts" }], "summary": "cui_radio_ex" }, { "name": "RadioCards", "kind": "method", "id": "method|RadioCards|1|0|byte|nint ui;nint id;nint choices;int count;ref int index;in NativeRadioCardsOpts opts||h2fc7b0b667bf08b9f7ac97eaea453441474e71299379f834d802cf253d5781d5", "signature": "static byte RadioCards(nint ui, nint id, nint choices, int count, ref int index, in NativeRadioCardsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "choices", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "opts", "type": "in NativeRadioCardsOpts" }], "summary": "cui_radio_cards_ex" }, { "name": "RadioGroup", "kind": "method", "id": "method|RadioGroup|1|0|byte|nint ui;nint id;nint items;int count;ref int index||h41fdeaf6779c042bf31b87c0f44e30b210b8c874a28e0273fb4c1badde4f41f1", "signature": "static byte RadioGroup(nint ui, nint id, nint items, int count, ref int index)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }], "summary": "cui_radio_group" }, { "name": "RangeCalendar", "kind": "method", "id": "method|RangeCalendar|1|0|byte|nint ui;nint id;ref NativeDateRange range;int months||h170335980cd92550862e1bf6633a11da9b020be711e236ecce1a60296fdf8c5a", "signature": "static byte RangeCalendar(nint ui, nint id, ref NativeDateRange range, int months)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "range", "type": "ref NativeDateRange" }, { "name": "months", "type": "int" }], "summary": "cui_range_calendar" }, { "name": "RangeSlider", "kind": "method", "id": "method|RangeSlider|1|0|byte|nint ui;nint label;ref float lo;ref float hi;float min;float max||h32f96bb5dbbbeefb9ddb110ad492e7e78912f7cc36806f9c027d16296a34ff63", "signature": "static byte RangeSlider(nint ui, nint label, ref float lo, ref float hi, float min, float max)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "lo", "type": "ref float" }, { "name": "hi", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }], "summary": "cui_range_slider" }, { "name": "Rating", "kind": "method", "id": "method|Rating|1|0|byte|nint ui;nint id;ref int value;int max||h04004cebb5c1581168f84691d3658abaf8d40451dd82ca2ff535542955e396a3", "signature": "static byte Rating(nint ui, nint id, ref int value, int max)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref int" }, { "name": "max", "type": "int" }], "summary": "cui_rating" }, { "name": "ReasoningBegin", "kind": "method", "id": "method|ReasoningBegin|1|0|byte|nint ui;nint id;in NativeReasoningOpts opts||ha24ccd4e6415a9f80d7679fc60373a33e2e4979ed946fe51f20466c85714765b", "signature": "static byte ReasoningBegin(nint ui, nint id, in NativeReasoningOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeReasoningOpts" }], "summary": "cui_reasoning_begin" }, { "name": "ReorderEnd", "kind": "method", "id": "method|ReorderEnd|1|0|byte|nint ui||h52ff8179fcb274432849c6012a35f6479cf5b716aca5b93b2293b9ac61f63631", "signature": "static byte ReorderEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_reorder_end" }, { "name": "RulerSlider", "kind": "method", "id": "method|RulerSlider|1|0|byte|nint ui;nint label;ref float value;float min;float max;in NativeRulerOpts opts||h3d06261b67662650a9f462da7f534bd41b808c4cb0aed2d0d52ee4161f8b20d0", "signature": "static byte RulerSlider(nint ui, nint label, ref float value, float min, float max, in NativeRulerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "opts", "type": "in NativeRulerOpts" }], "summary": "cui_ruler_slider_ex" }, { "name": "Scrub", "kind": "method", "id": "method|Scrub|1|0|byte|nint ui;nint label;ref float value;float min;float max;in NativeScrubOpts opts||hd488ae4441e78805976672ba9c7ab7dd5bd7bfce82c675683fa86ea3adaa4c00", "signature": "static byte Scrub(nint ui, nint label, ref float value, float min, float max, in NativeScrubOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "opts", "type": "in NativeScrubOpts" }], "summary": "cui_scrub_ex" }, { "name": "Segmented", "kind": "method", "id": "method|Segmented|1|0|byte|nint ui;nint id;nint items;int count;ref int index;in NativeSegmentedOpts opts||h07fbd0f03f7b9d2479970a93a825fb7854a583ea1fe82a108d6d5146138f8789", "signature": "static byte Segmented(nint ui, nint id, nint items, int count, ref int index, in NativeSegmentedOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "opts", "type": "in NativeSegmentedOpts" }], "summary": "cui_segmented_ex" }, { "name": "Select", "kind": "method", "id": "method|Select|1|0|byte|nint ui;nint id;nint items;int count;ref int index;in NativeSelectOpts opts||hc4cc1709b9bbacfdd0684ecb3db4fa731502a5cc6c03eadad82e4d691c403b4e", "signature": "static byte Select(nint ui, nint id, nint items, int count, ref int index, in NativeSelectOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "opts", "type": "in NativeSelectOpts" }], "summary": "cui_select_ex" }, { "name": "SheetBegin", "kind": "method", "id": "method|SheetBegin|1|0|byte|nint ui;nint title;nint open;in NativeSheetOpts opts||h63513bae0643d65f342e309d1d5dd8742da4175344baeb0d2fdd1b8bc869d7bd", "signature": "static byte SheetBegin(nint ui, nint title, nint open, in NativeSheetOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "opts", "type": "in NativeSheetOpts" }], "summary": "cui_sheet_begin" }, { "name": "Shortcut", "kind": "method", "id": "method|Shortcut|1|0|byte|nint ui;int mods;Key key||hd27db9793043c7739eb655fd479c45377af310b81113193e71c0cdcadcba8001", "signature": "static byte Shortcut(nint ui, int mods, Key key)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "mods", "type": "int" }, { "name": "key", "type": "Key" }], "summary": "cui_shortcut" }, { "name": "ShortcutRecorder", "kind": "method", "id": "method|ShortcutRecorder|1|0|byte|nint ui;nint id;ref NativeKeyCombo combo;in NativeShortcutRecorderOpts opts||hbe04823b844ed3ff35a1a180f568892ebc52d0cb046997cd7c852b370dd58a2a", "signature": "static byte ShortcutRecorder(nint ui, nint id, ref NativeKeyCombo combo, in NativeShortcutRecorderOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "combo", "type": "ref NativeKeyCombo" }, { "name": "opts", "type": "in NativeShortcutRecorderOpts" }], "summary": "cui_shortcut_recorder_ex" }, { "name": "SignaturePad", "kind": "method", "id": "method|SignaturePad|1|0|byte|nint ui;nint id;in NativeSignatureOpts opts||h3930868f0cb4d0c6dafbecf0ea3749ab6cde4dfae8fd98f814843a267000b9b6", "signature": "static byte SignaturePad(nint ui, nint id, in NativeSignatureOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeSignatureOpts" }], "summary": "cui_signature_pad_ex" }, { "name": "Slider", "kind": "method", "id": "method|Slider|1|0|byte|nint ui;nint label;ref float value;float min;float max;in NativeSliderOpts opts||h578e587703e448688123d0b004b5c8aca34572c3f3351a481cddc7fc655425cc", "signature": "static byte Slider(nint ui, nint label, ref float value, float min, float max, in NativeSliderOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "opts", "type": "in NativeSliderOpts" }], "summary": "cui_slider_ex" }, { "name": "StatusBarItem", "kind": "method", "id": "method|StatusBarItem|1|0|byte|nint ui;nint label;in NativeStatusItemOpts opts||h4790c555513598595f49e5d19ae07a5f8771dafa02a0285d7ce3a8e968abd2af", "signature": "static byte StatusBarItem(nint ui, nint label, in NativeStatusItemOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeStatusItemOpts" }], "summary": "cui_status_bar_item_ex" }, { "name": "StatusButton", "kind": "method", "id": "method|StatusButton|1|0|byte|nint ui;nint label;Status status;in NativeStatusButtonOpts opts||hbd6cdabc808f2abbd5e15ee20adc0f511c02054771b4253e14b383238529a1a3", "signature": "static byte StatusButton(nint ui, nint label, Status status, in NativeStatusButtonOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "status", "type": "Status" }, { "name": "opts", "type": "in NativeStatusButtonOpts" }], "summary": "cui_status_button_ex" }, { "name": "SwLastDamage", "kind": "method", "id": "method|SwLastDamage|1|0|byte|nint r;ref int x;ref int y;ref int w;ref int h||h30233e8faa58656654e4f604218a579860dd2a7cb7bd6c5783181ae5c0625ad0", "signature": "static byte SwLastDamage(nint r, ref int x, ref int y, ref int w, ref int h)", "parameters": [{ "name": "r", "type": "nint" }, { "name": "x", "type": "ref int" }, { "name": "y", "type": "ref int" }, { "name": "w", "type": "ref int" }, { "name": "h", "type": "ref int" }], "summary": "cui_sw_last_damage" }, { "name": "Switch", "kind": "method", "id": "method|Switch|1|0|byte|nint ui;nint label;nint value;in NativeCheckOpts opts||hc0a92c21627fec7195b958312e07a90e476a927d664950cd0c27890469716786", "signature": "static byte Switch(nint ui, nint label, nint value, in NativeCheckOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "nint" }, { "name": "opts", "type": "in NativeCheckOpts" }], "summary": "cui_switch_ex" }, { "name": "TabBar", "kind": "method", "id": "method|TabBar|1|0|byte|nint ui;nint id;nint items;int count;ref int selected;in NativeTabBarOpts opts||h84a537ef295b05ec9a7875c20f88a0981f676e0519a819543ecd2cb53df679dd", "signature": "static byte TabBar(nint ui, nint id, nint items, int count, ref int selected, in NativeTabBarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "selected", "type": "ref int" }, { "name": "opts", "type": "in NativeTabBarOpts" }], "summary": "cui_tab_bar_ex" }, { "name": "TableBegin", "kind": "method", "id": "method|TableBegin|1|0|byte|nint ui;nint id;nint columns;int columnCount;in NativeTableOpts opts||h813dd66787d9f3a118c5213b3c708d32a3f8b37e8f9b6d23892055c031061a91", "signature": "static byte TableBegin(nint ui, nint id, nint columns, int columnCount, in NativeTableOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "columns", "type": "nint" }, { "name": "columnCount", "type": "int" }, { "name": "opts", "type": "in NativeTableOpts" }], "summary": "cui_table_begin_ex" }, { "name": "TableRow", "kind": "method", "id": "method|TableRow|1|0|byte|nint ui;byte selected||h10abf29c8d0d297c4ae783e8573bf59af256507d548fed3846f6cb8d1e33af7f", "signature": "static byte TableRow(nint ui, byte selected)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "selected", "type": "byte" }], "summary": "cui_table_row" }, { "name": "Tabs", "kind": "method", "id": "method|Tabs|1|0|byte|nint ui;nint id;nint items;int count;ref int index;in NativeTabsOpts opts||h3f80b81e7e4481583c25cf0e2c4a863b9d3dc7ffcf927d6efaa5eecc40d72708", "signature": "static byte Tabs(nint ui, nint id, nint items, int count, ref int index, in NativeTabsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "opts", "type": "in NativeTabsOpts" }], "summary": "cui_tabs_ex" }, { "name": "TagInput", "kind": "method", "id": "method|TagInput|1|0|byte|nint ui;nint id;nint buf;nuint cap;in NativeTagOpts opts||h770b3a4c31eea60fa381775eb2891a91e34ad5496273b9758511cc9495c5c5bc", "signature": "static byte TagInput(nint ui, nint id, nint buf, nuint cap, in NativeTagOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeTagOpts" }], "summary": "cui_tag_input_ex" }, { "name": "ThemeSwitcher", "kind": "method", "id": "method|ThemeSwitcher|1|0|byte|nint ui;ref int mode;byte withSystem||hca6a471cd4a87cc19eff3f9a4fadc50a73d523e83d0a773a344adbe1b0d04866", "signature": "static byte ThemeSwitcher(nint ui, ref int mode, byte withSystem)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "mode", "type": "ref int" }, { "name": "withSystem", "type": "byte" }], "summary": "cui_theme_switcher" }, { "name": "ThemeToggle", "kind": "method", "id": "method|ThemeToggle|1|0|byte|nint ui||h4609d89e653a3baaef3cea4c9659df20b1303da3806ee0320fb59809f3fc6265", "signature": "static byte ThemeToggle(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_theme_toggle" }, { "name": "TimeDial", "kind": "method", "id": "method|TimeDial|1|0|byte|nint ui;nint id;ref int hour;ref int minute;float size||hac05b892060233f70ac054ae631a05408fc9ed16c3e54e39475eeaee7a5752d7", "signature": "static byte TimeDial(nint ui, nint id, ref int hour, ref int minute, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "hour", "type": "ref int" }, { "name": "minute", "type": "ref int" }, { "name": "size", "type": "float" }], "summary": "cui_time_dial" }, { "name": "TimePicker", "kind": "method", "id": "method|TimePicker|1|0|byte|nint ui;nint id;ref int hour;ref int minute;in NativeTimeOpts opts||h76c1a6f222300c98ffc9ee66d84b4eab5447a305ed64bd77d24dd358dc4c225c", "signature": "static byte TimePicker(nint ui, nint id, ref int hour, ref int minute, in NativeTimeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "hour", "type": "ref int" }, { "name": "minute", "type": "ref int" }, { "name": "opts", "type": "in NativeTimeOpts" }], "summary": "cui_time_picker_ex" }, { "name": "ToastActionClicked", "kind": "method", "id": "method|ToastActionClicked|1|0|byte|nint ui;int handle||hc310181a49b561232fbe10a57b50969930e55cb20455bdd700c79f6c1d3cf32a", "signature": "static byte ToastActionClicked(nint ui, int handle)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "handle", "type": "int" }], "summary": "cui_toast_action_clicked" }, { "name": "ToggleGroup", "kind": "method", "id": "method|ToggleGroup|1|0|byte|nint ui;nint id;nint labels;int count;nint values;in NativeToggleGroupOpts opts||h9bfed721c10f74f2140e62a76fe5591423ccc4e2e91b1106c38fc1b1869b9c88", "signature": "static byte ToggleGroup(nint ui, nint id, nint labels, int count, nint values, in NativeToggleGroupOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "labels", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "values", "type": "nint" }, { "name": "opts", "type": "in NativeToggleGroupOpts" }], "summary": "cui_toggle_group_ex" }, { "name": "ToolbarButton", "kind": "method", "id": "method|ToolbarButton|1|0|byte|nint ui;nint icon;in NativeToolOpts opts||h994afb837ec2079774d6535e3a3cb0d1881de0153fe23fc39186b0605a2cb2da", "signature": "static byte ToolbarButton(nint ui, nint icon, in NativeToolOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "icon", "type": "nint" }, { "name": "opts", "type": "in NativeToolOpts" }], "summary": "cui_toolbar_button_ex" }, { "name": "TreeBegin", "kind": "method", "id": "method|TreeBegin|1|0|byte|nint ui;nint label;nint open;in NativeTreeOpts opts||hebd9789f6109d185bae7dcc7dea5d5ef0a57172e5fbb10bd0bff64c10944485e", "signature": "static byte TreeBegin(nint ui, nint label, nint open, in NativeTreeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "opts", "type": "in NativeTreeOpts" }], "summary": "cui_tree_begin" }, { "name": "TreeCell", "kind": "method", "id": "method|TreeCell|1|0|byte|nint ui;nint label;int depth;byte hasChildren;nint open;nint icon||h92fbcfdc4fbc2346e13caf9792c234af2e9a400f3d4ebb54ad1a8eff50cb83ab", "signature": "static byte TreeCell(nint ui, nint label, int depth, byte hasChildren, nint open, nint icon)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "depth", "type": "int" }, { "name": "hasChildren", "type": "byte" }, { "name": "open", "type": "nint" }, { "name": "icon", "type": "nint" }], "summary": "cui_tree_cell" }, { "name": "TreeClicked", "kind": "method", "id": "method|TreeClicked|1|0|byte|nint ui||hd91dfe2b074aa7b109f468e8b4040c694aef31ff296cba3699a36fe57032280a", "signature": "static byte TreeClicked(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_tree_clicked" }, { "name": "Typewriter", "kind": "method", "id": "method|Typewriter|1|0|byte|nint ui;nint id;nint text;in NativeTextFxOpts opts||h7fb0abddf731ca6f9ade4f67404605f67cc2bbeca56950e6b83ec10b732cc13a", "signature": "static byte Typewriter(nint ui, nint id, nint text, in NativeTextFxOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeTextFxOpts" }], "summary": "cui_typewriter_ex" }, { "name": "UrlSetParams", "kind": "method", "id": "method|UrlSetParams|1|0|byte|nint url;nuint cap;nint pairs;int count||hc0576428de8a5e20674dd0ecdfe704641f86a7c317e52d5d3c5a26126e5b907d", "signature": "static byte UrlSetParams(nint url, nuint cap, nint pairs, int count)", "parameters": [{ "name": "url", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "pairs", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "cui_url_set_params" }, { "name": "UserMenuBegin", "kind": "method", "id": "method|UserMenuBegin|1|0|byte|nint ui;nint name;in NativeUserMenuOpts opts||hb48d59d99a73868669d0b331ec83192210a0c833e3988ef13eda6fb5658c27a4", "signature": "static byte UserMenuBegin(nint ui, nint name, in NativeUserMenuOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "name", "type": "nint" }, { "name": "opts", "type": "in NativeUserMenuOpts" }], "summary": "cui_user_menu_begin" }, { "name": "VoiceOrb", "kind": "method", "id": "method|VoiceOrb|1|0|byte|nint ui;nint id;VoiceState state;float level;in NativeVoiceOrbOpts opts||h93f6b3e912f2a6852d94df96ec4a2f9302788d4dd152171fe341f961c7b04563", "signature": "static byte VoiceOrb(nint ui, nint id, VoiceState state, float level, in NativeVoiceOrbOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "state", "type": "VoiceState" }, { "name": "level", "type": "float" }, { "name": "opts", "type": "in NativeVoiceOrbOpts" }], "summary": "cui_voice_orb_ex" }, { "name": "WantsKeyboard", "kind": "method", "id": "method|WantsKeyboard|1|0|byte|nint ui||hf239c9950a859c2b1ee4d96bd406f245de4535bec30ad74ba5dc5886536c1718", "signature": "static byte WantsKeyboard(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_wants_keyboard" }, { "name": "WantsMouse", "kind": "method", "id": "method|WantsMouse|1|0|byte|nint ui||h43a7d8c4da0674c3b57b4bbff09e3dc88bc0b56f3d7496e133fbdf99b6439585", "signature": "static byte WantsMouse(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_wants_mouse" }, { "name": "Waveform", "kind": "method", "id": "method|Waveform|1|0|byte|nint ui;nint id;nint peaks;int count;ref float progress;in NativeWaveformOpts opts||hde8136d458f7da0d7a74fe40a2f5009959fe7d3a370e498fe9d7bf29214ded9a", "signature": "static byte Waveform(nint ui, nint id, nint peaks, int count, ref float progress, in NativeWaveformOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "peaks", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "progress", "type": "ref float" }, { "name": "opts", "type": "in NativeWaveformOpts" }], "summary": "cui_waveform_ex" }, { "name": "WheelPicker", "kind": "method", "id": "method|WheelPicker|1|0|byte|nint ui;nint id;nint items;int count;ref int index;in NativeWheelOpts opts||hf3c3b0182f87f1b680f739b50bb8d87c9cabfee03586951ac62bf65b871448ef", "signature": "static byte WheelPicker(nint ui, nint id, nint items, int count, ref int index, in NativeWheelOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "opts", "type": "in NativeWheelOpts" }], "summary": "cui_wheel_picker_ex" }, { "name": "WritePng", "kind": "method", "id": "method|WritePng|1|0|byte|nint path;nint rgba;int width;int height;int stride||h85e643ea1e51d20a5fdccd30c3478c4965e2c38118937188e217dd742b1b2308", "signature": "static byte WritePng(nint path, nint rgba, int width, int height, int stride)", "parameters": [{ "name": "path", "type": "nint" }, { "name": "rgba", "type": "nint" }, { "name": "width", "type": "int" }, { "name": "height", "type": "int" }, { "name": "stride", "type": "int" }], "summary": "cui_write_png" }, { "name": "Time", "kind": "method", "id": "method|Time|1|0|double|nint ui||hb2f1ad77b6f92fa1a452bb4566892538d32ec9562aa9a5dbf0d51f163236ee63", "signature": "static double Time(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_time" }, { "name": "Animate", "kind": "method", "id": "method|Animate|1|0|float|nint ui;uint id;float target||h783081c7165f6473b03c87976bf42bd71bb8dba6a771cc8e726a95e9b31185e5", "signature": "static float Animate(nint ui, uint id, float target)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "uint" }, { "name": "target", "type": "float" }], "summary": "cui_animate" }, { "name": "AnimateSpring", "kind": "method", "id": "method|AnimateSpring|1|0|float|nint ui;uint id;float target;float duration;float bounce||haadb48d9ac3326b48d979e354207d7fe478973a6fbc31ca176c063059ee82e70", "signature": "static float AnimateSpring(nint ui, uint id, float target, float duration, float bounce)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "uint" }, { "name": "target", "type": "float" }, { "name": "duration", "type": "float" }, { "name": "bounce", "type": "float" }], "summary": "cui_animate_spring" }, { "name": "CurveEval", "kind": "method", "id": "method|CurveEval|1|0|float|nint keys;int count;float x||ha777fdac9157752521a46d103b76d33d1192ee259722b6dea4faf21e203b3d94", "signature": "static float CurveEval(nint keys, int count, float x)", "parameters": [{ "name": "keys", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "x", "type": "float" }], "summary": "cui_curve_eval" }, { "name": "DeltaTime", "kind": "method", "id": "method|DeltaTime|1|0|float|nint ui||h6ee192edd9536831c0243d007d39a8bf5a8f54a0151b686bc63099af3951e2db", "signature": "static float DeltaTime(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_delta_time" }, { "name": "DpiScale", "kind": "method", "id": "method|DpiScale|1|0|float|nint ui||h634ef8f8003d098e28306a7d54dcf08d6cf9a3c70bd47e93dcfc9e6237125047", "signature": "static float DpiScale(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dpi_scale" }, { "name": "NextWakeup", "kind": "method", "id": "method|NextWakeup|1|0|float|nint ui||heaa3059e89c281cf8618ccc70329affe44629f9bfd94615949690fb4265bbc46", "signature": "static float NextWakeup(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_next_wakeup" }, { "name": "ActivityRings", "kind": "method", "id": "method|ActivityRings|1|0|int|nint ui;nint id;nint rings;int count;in NativeRingsOpts opts||hfab99a08b98a1a46a19500c9dc566de59336b84686e088b3b08aa493b5bfb5f1", "signature": "static int ActivityRings(nint ui, nint id, nint rings, int count, in NativeRingsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "rings", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeRingsOpts" }], "summary": "cui_activity_rings_ex" }, { "name": "AgentPlan", "kind": "method", "id": "method|AgentPlan|1|0|int|nint ui;nint id;nint steps;int count;in NativeAgentPlanOpts opts||h783bd47ee92e5be4ecf611f1b10dcce34680176116584cb837c3d63ece939fc8", "signature": "static int AgentPlan(nint ui, nint id, nint steps, int count, in NativeAgentPlanOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "steps", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeAgentPlanOpts" }], "summary": "cui_agent_plan_ex" }, { "name": "AppRun", "kind": "method", "id": "method|AppRun|1|0|int|in NativeAppDesc desc;nint frame;nint user||h5b274bb4d7f996aa456c048eb630e0e5d79c988ae23fb56e20e90dae2e8d2ff9", "signature": "static int AppRun(in NativeAppDesc desc, nint frame, nint user)", "parameters": [{ "name": "desc", "type": "in NativeAppDesc" }, { "name": "frame", "type": "nint" }, { "name": "user", "type": "nint" }], "summary": "cui_app_run" }, { "name": "AvatarUpload", "kind": "method", "id": "method|AvatarUpload|1|0|int|nint ui;nint id;nint name;ref nuint image;float size||h5fd1064396ca10dd1719ccec083429b0c356210c39e3ce7cc0cd28642b6b2c70", "signature": "static int AvatarUpload(nint ui, nint id, nint name, ref nuint image, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "name", "type": "nint" }, { "name": "image", "type": "ref nuint" }, { "name": "size", "type": "float" }], "summary": "cui_avatar_upload" }, { "name": "BarList", "kind": "method", "id": "method|BarList|1|0|int|nint ui;nint id;nint items;int count;in NativeBarListOpts opts||h38c11ff449d272606355ff091085f89c94306998c17998930106f4560b27dea7", "signature": "static int BarList(nint ui, nint id, nint items, int count, in NativeBarListOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeBarListOpts" }], "summary": "cui_bar_list_ex" }, { "name": "Breadcrumb", "kind": "method", "id": "method|Breadcrumb|1|0|int|nint ui;nint items;int count||h63c8fc446537769f774a935e4558c83571acc23d75274e5d703a72ce1523fe85", "signature": "static int Breadcrumb(nint ui, nint items, int count)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "cui_breadcrumb" }, { "name": "CalendarHeatmap", "kind": "method", "id": "method|CalendarHeatmap|1|0|int|nint ui;nint id;NativeDate start;nint values;int days;in NativeCalendarHeatmapOpts opts||hc23599f375fea1dfd07e8380e49bd8fac1279ab8e2e5d142291dd4196e1fafa3", "signature": "static int CalendarHeatmap(nint ui, nint id, NativeDate start, nint values, int days, in NativeCalendarHeatmapOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "start", "type": "NativeDate" }, { "name": "values", "type": "nint" }, { "name": "days", "type": "int" }, { "name": "opts", "type": "in NativeCalendarHeatmapOpts" }], "summary": "cui_calendar_heatmap_ex" }, { "name": "Candlestick", "kind": "method", "id": "method|Candlestick|1|0|int|nint ui;nint id;nint candles;int count;in NativeCandlestickOpts opts||ha23000c433513bc9358604c3881de3ea161c7d64c66e39fc7756d310c341ad95", "signature": "static int Candlestick(nint ui, nint id, nint candles, int count, in NativeCandlestickOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "candles", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeCandlestickOpts" }], "summary": "cui_candlestick_ex" }, { "name": "CardStackEnd", "kind": "method", "id": "method|CardStackEnd|1|0|int|nint ui||hf8bca440238fade3f7ea582ac1602ee0127f53a72ac52ee2411e8f8aaf5686d8", "signature": "static int CardStackEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_card_stack_end" }, { "name": "ChatComposer", "kind": "method", "id": "method|ChatComposer|1|0|int|nint ui;nint id;nint buf;nuint cap;in NativeComposerOpts opts||h0d83db53b76632a1fc4d48dd72406263140ececde44c22bc339467a5acb583ca", "signature": "static int ChatComposer(nint ui, nint id, nint buf, nuint cap, in NativeComposerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeComposerOpts" }], "summary": "cui_chat_composer_ex" }, { "name": "Checklist", "kind": "method", "id": "method|Checklist|1|0|int|nint ui;nint id;nint steps;int count;in NativeChecklistOpts opts||hdba0108e3588df0823f7df8666b548f9fb5aec5772f65711074a08a7380e60f8", "signature": "static int Checklist(nint ui, nint id, nint steps, int count, in NativeChecklistOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "steps", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeChecklistOpts" }], "summary": "cui_checklist_ex" }, { "name": "CommandPalette", "kind": "method", "id": "method|CommandPalette|1|0|int|nint ui;nint open;nint commands;int count||hd92303b12ad508c387686648ab58b2eddf7ba0e5c16ecb04f912944ea3c865d7", "signature": "static int CommandPalette(nint ui, nint open, nint commands, int count)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "commands", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "cui_command_palette" }, { "name": "Comment", "kind": "method", "id": "method|Comment|1|0|int|nint ui;nint id;nint author;nint text;in NativeCommentOpts opts||hdd03cdb9d470cd5bf5dfd06ad2a88b6454a330709bd3321ca9b851600542d1e5", "signature": "static int Comment(nint ui, nint id, nint author, nint text, in NativeCommentOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "author", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeCommentOpts" }], "summary": "cui_comment_ex" }, { "name": "DateToDays", "kind": "method", "id": "method|DateToDays|1|0|int|NativeDate d||hb0dad71dec46af8c99d25fcad3b990e1cf144e3e1a5ee8bc6add3ecdca7e5e6b", "signature": "static int DateToDays(NativeDate d)", "parameters": [{ "name": "d", "type": "NativeDate" }], "summary": "cui_date_to_days" }, { "name": "DiffCompute", "kind": "method", "id": "method|DiffCompute|1|0|int|nint oldText;nuint oldLen;nint newText;nuint newLen;uint flags;nint hunks;int cap;nint stats||h82ddb4b348995156267eb2bef2eae0291066bdc321677b8c61be53c7eab5aad1", "signature": "static int DiffCompute(nint oldText, nuint oldLen, nint newText, nuint newLen, uint flags, nint hunks, int cap, nint stats)", "parameters": [{ "name": "oldText", "type": "nint" }, { "name": "oldLen", "type": "nuint" }, { "name": "newText", "type": "nint" }, { "name": "newLen", "type": "nuint" }, { "name": "flags", "type": "uint" }, { "name": "hunks", "type": "nint" }, { "name": "cap", "type": "int" }, { "name": "stats", "type": "nint" }], "summary": "cui_diff_compute" }, { "name": "DiffViewRows", "kind": "method", "id": "method|DiffViewRows|1|0|int|nint ui;nint id;nint rows;int first;int cap||h1c7aade1dc1cf7abe185f6b4cc3cfa64e49ade089a1fc6d704e67924616863fd", "signature": "static int DiffViewRows(nint ui, nint id, nint rows, int first, int cap)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "rows", "type": "nint" }, { "name": "first", "type": "int" }, { "name": "cap", "type": "int" }], "summary": "cui_diff_view_rows" }, { "name": "DroppedFileCount", "kind": "method", "id": "method|DroppedFileCount|1|0|int|nint ui||h6b75c3c22dbbb1f2ce9ee98bd11d91fbbaf2729d2d06380e850cf9b5fd8ba0e5", "signature": "static int DroppedFileCount(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dropped_file_count" }, { "name": "Dropzone", "kind": "method", "id": "method|Dropzone|1|0|int|nint ui;nint id;in NativeDropzoneOpts opts||h7d55496ae62b3bf291f2e1623067e800421a125a3441fbd4b22bd9880aebf298", "signature": "static int Dropzone(nint ui, nint id, in NativeDropzoneOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeDropzoneOpts" }], "summary": "cui_dropzone_ex" }, { "name": "FsList", "kind": "method", "id": "method|FsList|1|0|int|nint user;nint path;ref NativeFileEntry out;int cap;nint names;nuint namesCap;byte hidden||hd5649b458090896f6f4fbe09028211015d616bc8d57d5b7d15d708aebc4b6edf", "signature": "static int FsList(nint user, nint path, ref NativeFileEntry @out, int cap, nint names, nuint namesCap, byte hidden)", "parameters": [{ "name": "user", "type": "nint" }, { "name": "path", "type": "nint" }, { "name": "out", "type": "ref NativeFileEntry" }, { "name": "cap", "type": "int" }, { "name": "names", "type": "nint" }, { "name": "namesCap", "type": "nuint" }, { "name": "hidden", "type": "byte" }], "summary": "cui_fs_list" }, { "name": "Funnel", "kind": "method", "id": "method|Funnel|1|0|int|nint ui;nint id;nint stages;int count;in NativeFunnelOpts opts||h5da5cae7c9d4360a84a6d41280b3d14dc41d9b0d80485581d03d051408bdc6f0", "signature": "static int Funnel(nint ui, nint id, nint stages, int count, in NativeFunnelOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "stages", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeFunnelOpts" }], "summary": "cui_funnel_ex" }, { "name": "Gantt", "kind": "method", "id": "method|Gantt|1|0|int|nint ui;nint id;nint tasks;int count;NativeDate origin;int days;in NativeGanttOpts opts||hc253df918bb421e7723ead0a131a534d65e811db10c12d19569f79ca874ef106", "signature": "static int Gantt(nint ui, nint id, nint tasks, int count, NativeDate origin, int days, in NativeGanttOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "tasks", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "origin", "type": "NativeDate" }, { "name": "days", "type": "int" }, { "name": "opts", "type": "in NativeGanttOpts" }], "summary": "cui_gantt_ex" }, { "name": "Heatmap", "kind": "method", "id": "method|Heatmap|1|0|int|nint ui;nint id;nint values;int rows;int cols;in NativeHeatmapOpts opts||h4df783b0c75a2cc42ad921f03a3a1e2694072d72a3a65780abd6d65acdb7f3fd", "signature": "static int Heatmap(nint ui, nint id, nint values, int rows, int cols, in NativeHeatmapOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "values", "type": "nint" }, { "name": "rows", "type": "int" }, { "name": "cols", "type": "int" }, { "name": "opts", "type": "in NativeHeatmapOpts" }], "summary": "cui_heatmap_ex" }, { "name": "InlineEdit", "kind": "method", "id": "method|InlineEdit|1|0|int|nint ui;nint id;nint buf;nuint cap;in NativeInlineEditOpts opts||hccdf1e7bb740c0ba86c761bc926887dbf86ce6f5ec79a2780c0322e2e37c736d", "signature": "static int InlineEdit(nint ui, nint id, nint buf, nuint cap, in NativeInlineEditOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeInlineEditOpts" }], "summary": "cui_inline_edit_ex" }, { "name": "Input", "kind": "method", "id": "method|Input|1|0|int|nint ui;nint id;nint buf;nuint cap;in NativeInputOpts opts||had2ed9e86f3f40ca5c2e77ab62a2b0ee00eebe31d56f728629d93e0007859326", "signature": "static int Input(nint ui, nint id, nint buf, nuint cap, in NativeInputOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeInputOpts" }], "summary": "cui_input_ex" }, { "name": "KeyMods", "kind": "method", "id": "method|KeyMods|1|0|int|nint ui||h293d80845300d58f2995a5510e21c1111fca0df2e690ba98a8a8d63d903fbeb5", "signature": "static int KeyMods(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_key_mods" }, { "name": "NowPlaying", "kind": "method", "id": "method|NowPlaying|1|0|int|nint ui;nint id;ref NativeNowPlaying np;in NativeNowPlayingOpts opts||h3305da350f9305ad71c56ecfc831c7c04162ba1bc05e8da67efa84f26e701d7f", "signature": "static int NowPlaying(nint ui, nint id, ref NativeNowPlaying np, in NativeNowPlayingOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "np", "type": "ref NativeNowPlaying" }, { "name": "opts", "type": "in NativeNowPlayingOpts" }], "summary": "cui_now_playing_ex" }, { "name": "PasswordStrength", "kind": "method", "id": "method|PasswordStrength|1|0|int|nint ui;nint password||h296f8bc019e9a78a40862348b6ef154911727f24b96d3ce53528bf23cef3905a", "signature": "static int PasswordStrength(nint ui, nint password)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "password", "type": "nint" }], "summary": "cui_password_strength" }, { "name": "PromptSuggestions", "kind": "method", "id": "method|PromptSuggestions|1|0|int|nint ui;nint id;nint items;int count;in NativePromptSuggestionsOpts opts||h39cb0ee93a2df36c51cfb2d9a4e30d06e4b34a4e8cd1c660fe0ae0bcd00797fa", "signature": "static int PromptSuggestions(nint ui, nint id, nint items, int count, in NativePromptSuggestionsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativePromptSuggestionsOpts" }], "summary": "cui_prompt_suggestions_ex" }, { "name": "RadarChart", "kind": "method", "id": "method|RadarChart|1|0|int|nint ui;nint id;nint series;int count;nint axes;int axisCount;in NativeRadarOpts opts||h06cae4d94cc306c429feaef1500dc5b79741ac577050107bd413b612a5a4205b", "signature": "static int RadarChart(nint ui, nint id, nint series, int count, nint axes, int axisCount, in NativeRadarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "series", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "axes", "type": "nint" }, { "name": "axisCount", "type": "int" }, { "name": "opts", "type": "in NativeRadarOpts" }], "summary": "cui_radar_chart_ex" }, { "name": "Reactions", "kind": "method", "id": "method|Reactions|1|0|int|nint ui;nint id;nint items;int count||h143216460130bd0a205a3323a055f03e662c39c9993e057c4a7be569e363e3e4", "signature": "static int Reactions(nint ui, nint id, nint items, int count)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "cui_reactions" }, { "name": "RegexSearch", "kind": "method", "id": "method|RegexSearch|1|0|int|nint pattern;int flags;nint text;int len;int from;ref NativeRegexMatch m;nint error||h72d881084b53fb08b98d00025e7a3aa54591c236a477a81dec5980fdd339b3a2", "signature": "static int RegexSearch(nint pattern, int flags, nint text, int len, int from, ref NativeRegexMatch m, nint error)", "parameters": [{ "name": "pattern", "type": "nint" }, { "name": "flags", "type": "int" }, { "name": "text", "type": "nint" }, { "name": "len", "type": "int" }, { "name": "from", "type": "int" }, { "name": "m", "type": "ref NativeRegexMatch" }, { "name": "error", "type": "nint" }], "summary": "cui_regex_search" }, { "name": "ResponseActions", "kind": "method", "id": "method|ResponseActions|1|0|int|nint ui;nint id;in NativeResponseActionsOpts opts||hf0045bf0fe8346d68d3e858a4d4fd84158f1d7b3705a5b21433eb294b616ad2d", "signature": "static int ResponseActions(nint ui, nint id, in NativeResponseActionsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeResponseActionsOpts" }], "summary": "cui_response_actions_ex" }, { "name": "Sankey", "kind": "method", "id": "method|Sankey|1|0|int|nint ui;nint id;nint nodes;int nodeCount;nint links;int linkCount;in NativeSankeyOpts opts||hd7ee09dc37ead6c7726c9f6e58362252feb879f0f2a23e2b42b5ad14fb4cf537", "signature": "static int Sankey(nint ui, nint id, nint nodes, int nodeCount, nint links, int linkCount, in NativeSankeyOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "nodes", "type": "nint" }, { "name": "nodeCount", "type": "int" }, { "name": "links", "type": "nint" }, { "name": "linkCount", "type": "int" }, { "name": "opts", "type": "in NativeSankeyOpts" }], "summary": "cui_sankey_ex" }, { "name": "ScatterChart", "kind": "method", "id": "method|ScatterChart|1|0|int|nint ui;nint id;nint series;int count;in NativeScatterOpts opts||hb705f85ec95b21fc19db4370c4a67ef8c487d162f3f505dcc1dd6fd9e348f603", "signature": "static int ScatterChart(nint ui, nint id, nint series, int count, in NativeScatterOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "series", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeScatterOpts" }], "summary": "cui_scatter_chart_ex" }, { "name": "Search", "kind": "method", "id": "method|Search|1|0|int|nint ui;nint id;nint buf;nuint cap;in NativeInputOpts opts||hec35c305c318680f13baf5b94c7ece8717d2ed4f3939142db7c29e2383a8de54", "signature": "static int Search(nint ui, nint id, nint buf, nuint cap, in NativeInputOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeInputOpts" }], "summary": "cui_search_ex" }, { "name": "SignaturePoints", "kind": "method", "id": "method|SignaturePoints|1|0|int|nint ui;nint id;nint points;nint strokeEnds;ref int strokeCount||h4c2f8ff2aa2236c71ac5c2e55e5c4fdf8cd9f1ba3b97c9da2fe3262b3c0283b1", "signature": "static int SignaturePoints(nint ui, nint id, nint points, nint strokeEnds, ref int strokeCount)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "points", "type": "nint" }, { "name": "strokeEnds", "type": "nint" }, { "name": "strokeCount", "type": "ref int" }], "summary": "cui_signature_points" }, { "name": "SourceList", "kind": "method", "id": "method|SourceList|1|0|int|nint ui;nint id;nint sources;int count||h173d8ddb8e06588e29b9b6561cae327c824de30f3eeac0263ad449aae20a4ff5", "signature": "static int SourceList(nint ui, nint id, nint sources, int count)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "sources", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "cui_source_list" }, { "name": "SpeedDial", "kind": "method", "id": "method|SpeedDial|1|0|int|nint ui;nint id;nint actions;int count;in NativeSpeedDialOpts opts||h589b0efb656624188f68c92733ef84b7e64202167ff454647d6b39f7a6f5146f", "signature": "static int SpeedDial(nint ui, nint id, nint actions, int count, in NativeSpeedDialOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "actions", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeSpeedDialOpts" }], "summary": "cui_speed_dial_ex" }, { "name": "SplitBar", "kind": "method", "id": "method|SplitBar|1|0|int|nint ui;nint id;nint items;int count;in NativeSplitBarOpts opts||h97364f98499ce83e79a8207d604d42304a76619dccbb7e144242711cd7feefe0", "signature": "static int SplitBar(nint ui, nint id, nint items, int count, in NativeSplitBarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeSplitBarOpts" }], "summary": "cui_split_bar_ex" }, { "name": "SplitButton", "kind": "method", "id": "method|SplitButton|1|0|int|nint ui;nint label;nint items;int count;in NativeSplitButtonOpts opts||h331bb07f0620c9a28f4f5de29ae68a66b96a56a79d295f7f529aecf5476464a4", "signature": "static int SplitButton(nint ui, nint label, nint items, int count, in NativeSplitButtonOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeSplitButtonOpts" }], "summary": "cui_split_button_ex" }, { "name": "SwipeItemEnd", "kind": "method", "id": "method|SwipeItemEnd|1|0|int|nint ui||h5bd4f1ea033d2888651ca8ea05a6e9ca8f4ff11e33d9ecce300b4141f39e6311", "signature": "static int SwipeItemEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_swipe_item_end" }, { "name": "Textarea", "kind": "method", "id": "method|Textarea|1|0|int|nint ui;nint id;nint buf;nuint cap;in NativeInputOpts opts||h039644aa55c787cc40104a4f00e3e729b4cf1284c577cc6f3455cbbc16f963aa", "signature": "static int Textarea(nint ui, nint id, nint buf, nuint cap, in NativeInputOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeInputOpts" }], "summary": "cui_textarea_ex" }, { "name": "Toast", "kind": "method", "id": "method|Toast|1|0|int|nint ui;nint title;in NativeToastOpts opts||h13689b750de406a3341573c925e1a79dc5c11ea4aeb2cf3aad8fe0526dd629f7", "signature": "static int Toast(nint ui, nint title, in NativeToastOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "opts", "type": "in NativeToastOpts" }], "summary": "cui_toast_ex" }, { "name": "Toc", "kind": "method", "id": "method|Toc|1|0|int|nint ui;nint scrollId;nint items;int count||h1230ef692ba1345b1fbff1069d5f78b9a0a304715bed3abbaee1e82ceb24a4cb", "signature": "static int Toc(nint ui, nint scrollId, nint items, int count)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "scrollId", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "cui_toc" }, { "name": "Tour", "kind": "method", "id": "method|Tour|1|0|int|nint ui;nint id;nint steps;int count;ref int step;in NativeTourOpts opts||h28473eff703cdbd0694b161e355986bc70e34dc0659fc87a6119eb709b790561", "signature": "static int Tour(nint ui, nint id, nint steps, int count, ref int step, in NativeTourOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "steps", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "step", "type": "ref int" }, { "name": "opts", "type": "in NativeTourOpts" }], "summary": "cui_tour_ex" }, { "name": "TreeSort", "kind": "method", "id": "method|TreeSort|1|0|int|nint nodes;int nodeCount;int root;nint cmp;nint user||h79bd46996209a0fd369858d15348bb23447681cc8b613944658f76ba8529d25c", "signature": "static int TreeSort(nint nodes, int nodeCount, int root, nint cmp, nint user)", "parameters": [{ "name": "nodes", "type": "nint" }, { "name": "nodeCount", "type": "int" }, { "name": "root", "type": "int" }, { "name": "cmp", "type": "nint" }, { "name": "user", "type": "nint" }], "summary": "cui_tree_sort" }, { "name": "TreeTableDepth", "kind": "method", "id": "method|TreeTableDepth|1|0|int|nint ui||hc408f5ee6df386b4c209cc868243614a0ed9d7c32fb85223d03be490a22102dc", "signature": "static int TreeTableDepth(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_tree_table_depth" }, { "name": "TreeTableRow", "kind": "method", "id": "method|TreeTableRow|1|0|int|nint ui||h9f2f1f1e2af816caaefbd73d6eb5c028cf4ca05ce516a6861b821ab370909f09", "signature": "static int TreeTableRow(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_tree_table_row" }, { "name": "Treemap", "kind": "method", "id": "method|Treemap|1|0|int|nint ui;nint id;nint items;int count;in NativeTreemapOpts opts||hc1888700abb5f35fb2ed06350215c4685126a96420dc7007fe9df21a5d90613c", "signature": "static int Treemap(nint ui, nint id, nint items, int count, in NativeTreemapOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeTreemapOpts" }], "summary": "cui_treemap_ex" }, { "name": "UrlParams", "kind": "method", "id": "method|UrlParams|1|0|int|nint url;nint pairs;int cap||h4a23f39a17798b564160832286c89313233b789ff2c9d29b58ff79e7c2856e40", "signature": "static int UrlParams(nint url, nint pairs, int cap)", "parameters": [{ "name": "url", "type": "nint" }, { "name": "pairs", "type": "nint" }, { "name": "cap", "type": "int" }], "summary": "cui_url_params" }, { "name": "Waffle", "kind": "method", "id": "method|Waffle|1|0|int|nint ui;nint id;nint items;int count;in NativeWaffleOpts opts||h91d5a6b00273ece9452eeaeb494d083c353c673614d055269b1169331a6b4ae4", "signature": "static int Waffle(nint ui, nint id, nint items, int count, in NativeWaffleOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeWaffleOpts" }], "summary": "cui_waffle_ex" }, { "name": "WeekCalendar", "kind": "method", "id": "method|WeekCalendar|1|0|int|nint ui;nint id;NativeDate weekStart;nint events;int count;in NativeWeekOpts opts||hbb095a1e64e8bbd711e67c7cfcdb9a58e9f785211803178c11cd6f1bf8b7b015", "signature": "static int WeekCalendar(nint ui, nint id, NativeDate weekStart, nint events, int count, in NativeWeekOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "weekStart", "type": "NativeDate" }, { "name": "events", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeWeekOpts" }], "summary": "cui_week_calendar_ex" }, { "name": "AccentName", "kind": "method", "id": "method|AccentName|1|0|nint|Accent accent||h706d6dd77c55c7ddda285af111782b2f11f32d8769bbf2cb681be21d5ac8ada9", "signature": "static nint AccentName(Accent accent)", "parameters": [{ "name": "accent", "type": "Accent" }], "summary": "cui_accent_name" }, { "name": "AppBackend", "kind": "method", "id": "method|AppBackend|1|0|nint|nint app||h52b17123ad3c9d4bd9d419ef74b1e518ec62cddbbec3c96e735713a188ef3647", "signature": "static nint AppBackend(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "cui_app_backend" }, { "name": "AppCreate", "kind": "method", "id": "method|AppCreate|1|0|nint|in NativeAppDesc desc||h35637a56c67acf9c38029480b98d63c25370c8a38b76ad57061048a14e7b3835", "signature": "static nint AppCreate(in NativeAppDesc desc)", "parameters": [{ "name": "desc", "type": "in NativeAppDesc" }], "summary": "cui_app_create" }, { "name": "AppNativeWindow", "kind": "method", "id": "method|AppNativeWindow|1|0|nint|nint app||h64a22aaf8ee82f2330b25966dcae3689117de90e79ce550123e6d8e3ac44b8a3", "signature": "static nint AppNativeWindow(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "cui_app_native_window" }, { "name": "AppUi", "kind": "method", "id": "method|AppUi|1|0|nint|nint app||h181845c0c76d32f823bb1ae6e8b1ac2ffa8da1e9507fababe6aacd5b36ca8787", "signature": "static nint AppUi(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "cui_app_ui" }, { "name": "Create", "kind": "method", "id": "method|Create|1|0|nint|in NativeCtxDesc desc||h4eb43e2edd735d5e2a219bc13dd5e7e88e8991d095f239299ba4c8d1e1becdb7", "signature": "static nint Create(in NativeCtxDesc desc)", "parameters": [{ "name": "desc", "type": "in NativeCtxDesc" }], "summary": "cui_create" }, { "name": "CronDescribe", "kind": "method", "id": "method|CronDescribe|1|0|nint|nint ui;nint cron||h786e314b78b7a1d02be17656e35b267435a967dc15aee3127a55a4c392f0761b", "signature": "static nint CronDescribe(nint ui, nint cron)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "cron", "type": "nint" }], "summary": "cui_cron_describe" }, { "name": "DroppedFile", "kind": "method", "id": "method|DroppedFile|1|0|nint|nint ui;int index||h47fbe595a1de4b0d7c2064f6bac755f6564e54de2ce919af26ca16d376f3a004", "signature": "static nint DroppedFile(nint ui, int index)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "index", "type": "int" }], "summary": "cui_dropped_file" }, { "name": "EmojiPicker", "kind": "method", "id": "method|EmojiPicker|1|0|nint|nint ui;nint id;in NativeEmojiPickerOpts opts||hd4a4fecb1d681bd9183b353fd4fcdfe846f9ec3cc23071692271717d065d270e", "signature": "static nint EmojiPicker(nint ui, nint id, in NativeEmojiPickerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeEmojiPickerOpts" }], "summary": "cui_emoji_picker_ex" }, { "name": "GetDrawData", "kind": "method", "id": "method|GetDrawData|1|0|nint|nint ui||h556e604418b97276b8abf660206d9ef57103fe5e6ce1b2e1b6830472e86d11d1", "signature": "static nint GetDrawData(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_get_draw_data" }, { "name": "GetStrings", "kind": "method", "id": "method|GetStrings|1|0|nint|nint ui||h76f1e0d35595d1e771ffc072c6754f0a77374e2794e542b92996eba3e6da5ab6", "signature": "static nint GetStrings(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_get_strings" }, { "name": "GlCreate", "kind": "method", "id": "method|GlCreate|1|0|nint|nint loader||haf2665bd70b61421a86f653e37f52a7a893a83f60b653d37f28c47443757d28c", "signature": "static nint GlCreate(nint loader)", "parameters": [{ "name": "loader", "type": "nint" }], "summary": "cui_gl_create" }, { "name": "HttpMethodName", "kind": "method", "id": "method|HttpMethodName|1|0|nint|int method||hb7e8187e99b53389dc6e86e151d986b3cf309f38635df0577a3fe962daa521ae", "signature": "static nint HttpMethodName(int method)", "parameters": [{ "name": "method", "type": "int" }], "summary": "cui_http_method_name" }, { "name": "HttpReason", "kind": "method", "id": "method|HttpReason|1|0|nint|int status||h695531bbc242279e6965807c5ef206851620bc61925a48efc1c70490e259e991", "signature": "static nint HttpReason(int status)", "parameters": [{ "name": "status", "type": "int" }], "summary": "cui_http_reason" }, { "name": "KeyName", "kind": "method", "id": "method|KeyName|1|0|nint|Key key||h33e5cc4941073359fa23837fde165bfa9ecb77851d42ec00ee3f76716ba7d095", "signature": "static nint KeyName(Key key)", "parameters": [{ "name": "key", "type": "Key" }], "summary": "cui_key_name" }, { "name": "LogGet", "kind": "method", "id": "method|LogGet|1|0|nint|in NativeLogBuffer buf;int i;nint text||h5eb523fd02830629ff354a65a7f0c9484a2db18400dd03d40b164c8544a52139", "signature": "static nint LogGet(in NativeLogBuffer buf, int i, nint text)", "parameters": [{ "name": "buf", "type": "in NativeLogBuffer" }, { "name": "i", "type": "int" }, { "name": "text", "type": "nint" }], "summary": "cui_log_get" }, { "name": "QueryOpName", "kind": "method", "id": "method|QueryOpName|1|0|nint|QueryType type;int op||hed4479b8d55e4aa5481e595c8b70182622151b68aad3431d8bad265aafd06359", "signature": "static nint QueryOpName(QueryType type, int op)", "parameters": [{ "name": "type", "type": "QueryType" }, { "name": "op", "type": "int" }], "summary": "cui_query_op_name" }, { "name": "ShortcutLabel", "kind": "method", "id": "method|ShortcutLabel|1|0|nint|nint ui;NativeKeyCombo combo||hfd8f3dac138b4eccd820249ccad5a1166cf9a64f912805326c24f1606089921a", "signature": "static nint ShortcutLabel(nint ui, NativeKeyCombo combo)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "combo", "type": "NativeKeyCombo" }], "summary": "cui_shortcut_label" }, { "name": "State", "kind": "method", "id": "method|State|1|0|nint|nint ui;uint id;nuint size||he77c93e7e985428e6413cee2cfa17096c39bbe25d2cc77c33b245fe378f87e67", "signature": "static nint State(nint ui, uint id, nuint size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "uint" }, { "name": "size", "type": "nuint" }], "summary": "cui_state" }, { "name": "SwCreate", "kind": "method", "id": "method|SwCreate|1|0|nint|||h85597fbde117bcfd906be42a5c6a3ede7c97fcede8c3e83adaaf4bcd0d2a149f", "signature": "static nint SwCreate()", "summary": "cui_sw_create" }, { "name": "ThemeGet", "kind": "method", "id": "method|ThemeGet|1|0|nint|nint ui||h38d0e1dce01bdd529849c410dd4462bf3383282d767baa343a527aa15ef23465", "signature": "static nint ThemeGet(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_theme_get" }, { "name": "DockSave", "kind": "method", "id": "method|DockSave|1|0|nuint|nint ui;nint id;nint buf;nuint cap||h97cbdd62c2deb4dfc5b9e1466366ff222261a2fc5d0d7c5961bd9281c01921ae", "signature": "static nuint DockSave(nint ui, nint id, nint buf, nuint cap)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }], "summary": "cui_dock_save" }, { "name": "ImageCreate", "kind": "method", "id": "method|ImageCreate|1|0|nuint|nint ui;int w;int h;nint rgba||hd066d185cd3b97f795c55dd3af8098c6b7c44dee971f48783ce88732f7052b23", "signature": "static nuint ImageCreate(nint ui, int w, int h, nint rgba)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "w", "type": "int" }, { "name": "h", "type": "int" }, { "name": "rgba", "type": "nint" }], "summary": "cui_image_create" }, { "name": "ImageLoad", "kind": "method", "id": "method|ImageLoad|1|0|nuint|nint ui;nint path;ref int w;ref int h||h4155150152dbc3dd6f4802b7f2095f0a203c7e60cab7ed364e860a8bdf930947", "signature": "static nuint ImageLoad(nint ui, nint path, ref int w, ref int h)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "path", "type": "nint" }, { "name": "w", "type": "ref int" }, { "name": "h", "type": "ref int" }], "summary": "cui_image_load" }, { "name": "QueryText", "kind": "method", "id": "method|QueryText|1|0|nuint|nint fields;int fieldCount;nint nodes;int count;nint out;nuint cap||hbd3cb3c6609b3e3305c99214b7e32085614fc24e222ea232c2e5bea8e8c1cd69", "signature": "static nuint QueryText(nint fields, int fieldCount, nint nodes, int count, nint @out, nuint cap)", "parameters": [{ "name": "fields", "type": "nint" }, { "name": "fieldCount", "type": "int" }, { "name": "nodes", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "out", "type": "nint" }, { "name": "cap", "type": "nuint" }], "summary": "cui_query_text" }, { "name": "BoxBegin", "kind": "method", "id": "method|BoxBegin|1|0|uint|nint ui;in NativeBox opts||h78b4f546a22c8dcff5d224c08405fd0b5e2821851dcdb4e55096c0e8693f0956", "signature": "static uint BoxBegin(nint ui, in NativeBox opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "opts", "type": "in NativeBox" }], "summary": "cui_box_begin" }, { "name": "ColumnBegin", "kind": "method", "id": "method|ColumnBegin|1|0|uint|nint ui;in NativeBox opts||h45c09e63ed196b77333af8e46712ff2505cc3f8bcc07a627029a9cd094146d62", "signature": "static uint ColumnBegin(nint ui, in NativeBox opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "opts", "type": "in NativeBox" }], "summary": "cui_column_begin" }, { "name": "LastId", "kind": "method", "id": "method|LastId|1|0|uint|nint ui||h83f5914b8fbddf1b6874121e162f8f3564ee535fdfd0aa48b3aedc3f658526e2", "signature": "static uint LastId(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_last_id" }, { "name": "MakeId", "kind": "method", "id": "method|MakeId|1|0|uint|nint ui;nint str||h810e16e55563121eca53f068456f007d3a658359e80b4d6baf960fb19eda3a49", "signature": "static uint MakeId(nint ui, nint str)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "str", "type": "nint" }], "summary": "cui_make_id" }, { "name": "RowBegin", "kind": "method", "id": "method|RowBegin|1|0|uint|nint ui;in NativeBox opts||h51dd108e72913a38e43c2096668b66dca76f36804a325a70e49280eba7b71acd", "signature": "static uint RowBegin(nint ui, in NativeBox opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "opts", "type": "in NativeBox" }], "summary": "cui_row_begin" }, { "name": "FrameCount", "kind": "method", "id": "method|FrameCount|1|0|ulong|nint ui||hb2e86c14dd9b07f2eea60b7c8d55b65e02ffff62e411ee7cb0672b10e126b5b9", "signature": "static ulong FrameCount(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_frame_count" }, { "name": "AccordionEnd", "kind": "method", "id": "method|AccordionEnd|1|0|void|nint ui||h3d97ebd000bc2ec6e1a7150b220a9becc237dc2bba7aded857d0ea19c78017a0", "signature": "static void AccordionEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_accordion_end" }, { "name": "AgentStatus", "kind": "method", "id": "method|AgentStatus|1|0|void|nint ui;nint text;in NativeAgentStatusOpts opts||h3677239a52459a84a94838abb70788ec3897854d3ce45365570b8f83594a74ae", "signature": "static void AgentStatus(nint ui, nint text, in NativeAgentStatusOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeAgentStatusOpts" }], "summary": "cui_agent_status_ex" }, { "name": "AppDestroy", "kind": "method", "id": "method|AppDestroy|1|0|void|nint app||hc989924b2fd6d017f98d26fff662487b516cbab9500766f46d09255919df7950", "signature": "static void AppDestroy(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "cui_app_destroy" }, { "name": "AppQuit", "kind": "method", "id": "method|AppQuit|1|0|void|nint app||hd6cde514c822ba2738ba9206f51fb83f9f92c4b6dc7b57f3205c1b2ec2155ce0", "signature": "static void AppQuit(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "cui_app_quit" }, { "name": "AppSetSize", "kind": "method", "id": "method|AppSetSize|1|0|void|nint app;int width;int height||hd48949a2e472726eb44e6fc0879c3ea5484809ef2886b68422478fd7bec09d5b", "signature": "static void AppSetSize(nint app, int width, int height)", "parameters": [{ "name": "app", "type": "nint" }, { "name": "width", "type": "int" }, { "name": "height", "type": "int" }], "summary": "cui_app_set_size" }, { "name": "AppSetTitle", "kind": "method", "id": "method|AppSetTitle|1|0|void|nint app;nint title||ha3182099a994045166b2e57cb91f7e7db7a36a218a967dd2deb49aead615196e", "signature": "static void AppSetTitle(nint app, nint title)", "parameters": [{ "name": "app", "type": "nint" }, { "name": "title", "type": "nint" }], "summary": "cui_app_set_title" }, { "name": "Avatar", "kind": "method", "id": "method|Avatar|1|0|void|nint ui;nint name;in NativeAvatarOpts opts||ha7c7fbd501ba6d9a9d0c85f18993dbc5f695aefb665ecd71a483b21a8c3377ee", "signature": "static void Avatar(nint ui, nint name, in NativeAvatarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "name", "type": "nint" }, { "name": "opts", "type": "in NativeAvatarOpts" }], "summary": "cui_avatar_ex" }, { "name": "AvatarGroup", "kind": "method", "id": "method|AvatarGroup|1|0|void|nint ui;nint names;int count;int maxVisible;float size||hd3b5566e6c93bb5d7fae387200441ac86d6327854ecf6e3c4a06b607f77bcffe", "signature": "static void AvatarGroup(nint ui, nint names, int count, int maxVisible, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "names", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "maxVisible", "type": "int" }, { "name": "size", "type": "float" }], "summary": "cui_avatar_group" }, { "name": "Badge", "kind": "method", "id": "method|Badge|1|0|void|nint ui;nint text;in NativeBadgeOpts opts||h4c699e61ab328131bdd5a979f9042f4fafff7936f9a9a83e0f2d684598518848", "signature": "static void Badge(nint ui, nint text, in NativeBadgeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeBadgeOpts" }], "summary": "cui_badge_ex" }, { "name": "BarChart", "kind": "method", "id": "method|BarChart|1|0|void|nint ui;nint id;nint series;int count;in NativeChartOpts opts||haf0da3ee52487e3934a5089881f58e28122f995fc45f0b8639ffb1e8b41e372c", "signature": "static void BarChart(nint ui, nint id, nint series, int count, in NativeChartOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "series", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeChartOpts" }], "summary": "cui_bar_chart_ex" }, { "name": "BeginFrame", "kind": "method", "id": "method|BeginFrame|1|0|void|nint ui;float dt||h0577f006e4965cf88c6cd51c68044ddf72298474e56596fcd27493fea2d564f7", "signature": "static void BeginFrame(nint ui, float dt)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "dt", "type": "float" }], "summary": "cui_begin_frame" }, { "name": "BoxEnd", "kind": "method", "id": "method|BoxEnd|1|0|void|nint ui||h4d9efc3d8f8ab981898dbe51c6008187153af8998858cae8e0858f28c2551207", "signature": "static void BoxEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_box_end" }, { "name": "ButtonGroupBegin", "kind": "method", "id": "method|ButtonGroupBegin|1|0|void|nint ui||h0be043c8228e09eadff1fdf48fdf8a66080fd96c5ef0e9b37c0cc15269b57f42", "signature": "static void ButtonGroupBegin(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_button_group_begin" }, { "name": "ButtonGroupEnd", "kind": "method", "id": "method|ButtonGroupEnd|1|0|void|nint ui||h02a77719946880966ef2607e9618fff0d27e7c0065a03aab8a008dd70e998a12", "signature": "static void ButtonGroupEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_button_group_end" }, { "name": "CardEnd", "kind": "method", "id": "method|CardEnd|1|0|void|nint ui||hb2b95a09c234214774fc081e54ee7667e81fa37a371cd5d16ce1480dfdb60c4d", "signature": "static void CardEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_card_end" }, { "name": "CardStackBegin", "kind": "method", "id": "method|CardStackBegin|1|0|void|nint ui;nint id;int count;in NativeCardStackOpts opts||h3d0bcb79a71984d808a89084a4967995247c9e125c4ca94c2b207e6b96afc939", "signature": "static void CardStackBegin(nint ui, nint id, int count, in NativeCardStackOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeCardStackOpts" }], "summary": "cui_card_stack_begin" }, { "name": "CardStackItemBegin", "kind": "method", "id": "method|CardStackItemBegin|1|0|void|nint ui;int depth||h8d8dd4e573301cd6d4e5489717cedafd511c28b35aa8d35537bd8de8eea7a3e7", "signature": "static void CardStackItemBegin(nint ui, int depth)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "depth", "type": "int" }], "summary": "cui_card_stack_item_begin" }, { "name": "CardStackItemEnd", "kind": "method", "id": "method|CardStackItemEnd|1|0|void|nint ui||h1da0d16400e5185d4662ae573e720650ce7b2bbaf941ee9a7b61b6e2a81c2d30", "signature": "static void CardStackItemEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_card_stack_item_end" }, { "name": "CarouselEnd", "kind": "method", "id": "method|CarouselEnd|1|0|void|nint ui||h88ea0dcb5f23fd135d74954d156bc1ff125fdb2bd9df4ec846916a88306bff74", "signature": "static void CarouselEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_carousel_end" }, { "name": "CarouselSlideBegin", "kind": "method", "id": "method|CarouselSlideBegin|1|0|void|nint ui||h3599a68cab9230fb08a3258faaddefe1ad6161a4751519cf1c5a7b1f3d05b88c", "signature": "static void CarouselSlideBegin(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_carousel_slide_begin" }, { "name": "CarouselSlideEnd", "kind": "method", "id": "method|CarouselSlideEnd|1|0|void|nint ui||h9d93eb90d33062dc61cddff987460dea38282ff61648715c18c958d279799780", "signature": "static void CarouselSlideEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_carousel_slide_end" }, { "name": "ChatDivider", "kind": "method", "id": "method|ChatDivider|1|0|void|nint ui;nint label||hfd5fbcb1a8c9848c9cae6bcfb8ace33dea4f91925d47c2ec2a7a551ecaddc080", "signature": "static void ChatDivider(nint ui, nint label)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }], "summary": "cui_chat_divider" }, { "name": "ChatMessage", "kind": "method", "id": "method|ChatMessage|1|0|void|nint ui;nint text;in NativeChatOpts opts||h9e6d0b3029b5c2a5c4d1d658db09d4bc4ff66df880e976004f40e1ef92503075", "signature": "static void ChatMessage(nint ui, nint text, in NativeChatOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeChatOpts" }], "summary": "cui_chat_message_ex" }, { "name": "Code", "kind": "method", "id": "method|Code|1|0|void|nint ui;nint text||h99721e62b2be9508d09c56055eece668035a2c7fc409d3f008528fbea17ed941", "signature": "static void Code(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "cui_code" }, { "name": "CodeBlock", "kind": "method", "id": "method|CodeBlock|1|0|void|nint ui;nint id;nint code;in NativeCodeOpts opts||hc751583c23a944f06a82072454dab93ff848eaf6a783795ed53ef837152ce5bf", "signature": "static void CodeBlock(nint ui, nint id, nint code, in NativeCodeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "code", "type": "nint" }, { "name": "opts", "type": "in NativeCodeOpts" }], "summary": "cui_code_block_ex" }, { "name": "CodeEditorFind", "kind": "method", "id": "method|CodeEditorFind|1|0|void|nint ui;nint id;nint query||h86eb240d8430ac800b8696eaf2e4dde832bb2d4df1029cefecb3cc66b188f092", "signature": "static void CodeEditorFind(nint ui, nint id, nint query)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "query", "type": "nint" }], "summary": "cui_code_editor_find" }, { "name": "CodeEditorGoto", "kind": "method", "id": "method|CodeEditorGoto|1|0|void|nint ui;nint id;int line;int column||h9f1be9ecc4d2d37691a36fcc31fd91af3053120e20a573470af630765075c911", "signature": "static void CodeEditorGoto(nint ui, nint id, int line, int column)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "line", "type": "int" }, { "name": "column", "type": "int" }], "summary": "cui_code_editor_goto" }, { "name": "CodeEditorSelect", "kind": "method", "id": "method|CodeEditorSelect|1|0|void|nint ui;nint id;int anchor;int cursor||h3f435189695be2273ac362b4b8bb4c94c643bb1d5f309e0e171b605288490a7e", "signature": "static void CodeEditorSelect(nint ui, nint id, int anchor, int cursor)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "anchor", "type": "int" }, { "name": "cursor", "type": "int" }], "summary": "cui_code_editor_select" }, { "name": "ContextMenuEnd", "kind": "method", "id": "method|ContextMenuEnd|1|0|void|nint ui||h921a6627edea7d846f50a3e71d7b3e158ceadca1488f42e38e93435efd23a46f", "signature": "static void ContextMenuEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_context_menu_end" }, { "name": "ContextMeter", "kind": "method", "id": "method|ContextMeter|1|0|void|nint ui;nint id;float used;float limit;in NativeContextOpts opts||h47503ec60b3931c234feb4cd2d90839bdc3a1bb69dd18f89b089869f5a1c895d", "signature": "static void ContextMeter(nint ui, nint id, float used, float limit, in NativeContextOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "used", "type": "float" }, { "name": "limit", "type": "float" }, { "name": "opts", "type": "in NativeContextOpts" }], "summary": "cui_context_meter_ex" }, { "name": "Countdown", "kind": "method", "id": "method|Countdown|1|0|void|nint ui;nint id;double secondsLeft;in NativeCountdownOpts opts||hb12db0b3493545831fc11d40595fe30a6cf1b530f5533674661079b5ecc31292", "signature": "static void Countdown(nint ui, nint id, double secondsLeft, in NativeCountdownOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "secondsLeft", "type": "double" }, { "name": "opts", "type": "in NativeCountdownOpts" }], "summary": "cui_countdown_ex" }, { "name": "Counter", "kind": "method", "id": "method|Counter|1|0|void|nint ui;nint id;double value;in NativeCounterOpts opts||h0fe352fbd522ca0b3418a4868a6bc25bdd30bd5b7a45c3d575b696fa20480b07", "signature": "static void Counter(nint ui, nint id, double value, in NativeCounterOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "double" }, { "name": "opts", "type": "in NativeCounterOpts" }], "summary": "cui_counter_ex" }, { "name": "DataGridCell", "kind": "method", "id": "method|DataGridCell|1|0|void|nint ui||h73b91589e91a8d1c4fc2073886ea6ff3cd347f193f612e4c8ae3082fce77bb43", "signature": "static void DataGridCell(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_data_grid_cell" }, { "name": "DataGridCellText", "kind": "method", "id": "method|DataGridCellText|1|0|void|nint ui;nint text||h370160bb44c12b1662d2a793b63e6c0a6aca8fae93f701d7e43389419aa2172a", "signature": "static void DataGridCellText(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "cui_data_grid_cell_text" }, { "name": "DataGridEnd", "kind": "method", "id": "method|DataGridEnd|1|0|void|nint ui||h5a5f8cdf9f134bef7b75a46527cce4859b6badb8313e4fe7ab28a5450fed97dc", "signature": "static void DataGridEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_data_grid_end" }, { "name": "Destroy", "kind": "method", "id": "method|Destroy|1|0|void|nint ui||h05cb071f6685432b523c0036d1761c8893330558489e46e6985cc34dd129a3fe", "signature": "static void Destroy(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_destroy" }, { "name": "DialogEnd", "kind": "method", "id": "method|DialogEnd|1|0|void|nint ui||h9bd7a6a951ef94643a54e664aad2535ec3a7207333a2d8e783d8149451981865", "signature": "static void DialogEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dialog_end" }, { "name": "DialogFooterBegin", "kind": "method", "id": "method|DialogFooterBegin|1|0|void|nint ui||hf839714f8840afc193f5a953838c7c6f9547c52a59b7f6be7bd0a708283b4307", "signature": "static void DialogFooterBegin(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dialog_footer_begin" }, { "name": "DialogFooterEnd", "kind": "method", "id": "method|DialogFooterEnd|1|0|void|nint ui||h5d76c827818ed14d8e202fcabac61bc9196e05b890413440004aaddbec16e336", "signature": "static void DialogFooterEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dialog_footer_end" }, { "name": "DockBegin", "kind": "method", "id": "method|DockBegin|1|0|void|nint ui;nint id;in NativeDockOpts opts||h6f3edeceeaf66c008a7996f96822dbd6d090c09f8bf4cfc6d6b4e778e7d8b5f2", "signature": "static void DockBegin(nint ui, nint id, in NativeDockOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeDockOpts" }], "summary": "cui_dock_begin" }, { "name": "DockEnd", "kind": "method", "id": "method|DockEnd|1|0|void|nint ui||hb760c60156b670f25e6f5d8cbc9737800b9d21c04e9535b205b0ba253774446d", "signature": "static void DockEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dock_end" }, { "name": "DockPanelEnd", "kind": "method", "id": "method|DockPanelEnd|1|0|void|nint ui||h5de954501994a4036fa179afa8289522d9752e1163c4188891a0abae283ed03a", "signature": "static void DockPanelEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dock_panel_end" }, { "name": "DockSeparator", "kind": "method", "id": "method|DockSeparator|1|0|void|nint ui||h15a570c703a4ce8ae58a2b8b48ead6e62f25de766708db20c7715a8b4bbe3434", "signature": "static void DockSeparator(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dock_separator" }, { "name": "DockspaceBegin", "kind": "method", "id": "method|DockspaceBegin|1|0|void|nint ui;nint id;in NativeDockspaceOpts opts||h00aaa3e5f30c8089c428f17db11c00696eb0a3c959fa8a01013dcf8705152753", "signature": "static void DockspaceBegin(nint ui, nint id, in NativeDockspaceOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeDockspaceOpts" }], "summary": "cui_dockspace_begin_ex" }, { "name": "DockspaceEnd", "kind": "method", "id": "method|DockspaceEnd|1|0|void|nint ui||hdc6d3cdf73135422a36fc8ea6bb35188568f5636e9cb4b4fdcf94c091abdfd75", "signature": "static void DockspaceEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dockspace_end" }, { "name": "DonutChart", "kind": "method", "id": "method|DonutChart|1|0|void|nint ui;nint id;nint values;nint labels;int count;in NativeChartOpts opts||hc0548e7a422b79e5d257e4b35eb6309134be0175ce42f28f063fbb6590f3223f", "signature": "static void DonutChart(nint ui, nint id, nint values, nint labels, int count, in NativeChartOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "values", "type": "nint" }, { "name": "labels", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeChartOpts" }], "summary": "cui_donut_chart_ex" }, { "name": "DrawArc", "kind": "method", "id": "method|DrawArc|1|0|void|nint ui;NativeVec2 center;float radius;float a0;float a1;float thickness;NativeColor color||h8295de68de771f7ea4b447a1b85536fc822114e72d10c5c5d5a8f77b855e8b65", "signature": "static void DrawArc(nint ui, NativeVec2 center, float radius, float a0, float a1, float thickness, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "center", "type": "NativeVec2" }, { "name": "radius", "type": "float" }, { "name": "a0", "type": "float" }, { "name": "a1", "type": "float" }, { "name": "thickness", "type": "float" }, { "name": "color", "type": "NativeColor" }], "summary": "cui_draw_arc" }, { "name": "DrawCircle", "kind": "method", "id": "method|DrawCircle|1|0|void|nint ui;NativeVec2 center;float radius;NativeColor color||hb2c7ac883387890ae23baf3494c5f980bbff8565f3aa92e4b1c68bfc815bc634", "signature": "static void DrawCircle(nint ui, NativeVec2 center, float radius, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "center", "type": "NativeVec2" }, { "name": "radius", "type": "float" }, { "name": "color", "type": "NativeColor" }], "summary": "cui_draw_circle" }, { "name": "DrawEmoji", "kind": "method", "id": "method|DrawEmoji|1|0|void|nint ui;nint utf8;int len;NativeRect r||h22f8e14bbcea26fad35db047ca50800680362cc351944170bc0ee2cd483f4cd6", "signature": "static void DrawEmoji(nint ui, nint utf8, int len, NativeRect r)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "utf8", "type": "nint" }, { "name": "len", "type": "int" }, { "name": "r", "type": "NativeRect" }], "summary": "cui_draw_emoji" }, { "name": "DrawIcon", "kind": "method", "id": "method|DrawIcon|1|0|void|nint ui;nint icon;NativeRect r;float size;NativeColor color||h5b0d1e4fd4dff20bc9477435bc42d68f4ad7d83a08f09a30a929c5edc919364b", "signature": "static void DrawIcon(nint ui, nint icon, NativeRect r, float size, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "icon", "type": "nint" }, { "name": "r", "type": "NativeRect" }, { "name": "size", "type": "float" }, { "name": "color", "type": "NativeColor" }], "summary": "cui_draw_icon" }, { "name": "DrawImage", "kind": "method", "id": "method|DrawImage|1|0|void|nint ui;nuint tex;NativeRect r;NativeRect uv;NativeCorners radius;NativeColor tint||h80dcecd6098295e3e8b542fa8741f2a2cf4a9419b577d024628a94127250ae6b", "signature": "static void DrawImage(nint ui, nuint tex, NativeRect r, NativeRect uv, NativeCorners radius, NativeColor tint)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "tex", "type": "nuint" }, { "name": "r", "type": "NativeRect" }, { "name": "uv", "type": "NativeRect" }, { "name": "radius", "type": "NativeCorners" }, { "name": "tint", "type": "NativeColor" }], "summary": "cui_draw_image" }, { "name": "DrawLine", "kind": "method", "id": "method|DrawLine|1|0|void|nint ui;NativeVec2 a;NativeVec2 b;float thickness;NativeColor color||he3578bcb0522121dfd056009e1b35d5d30a75130a7a38c0f51ed6d8fac4fc3b0", "signature": "static void DrawLine(nint ui, NativeVec2 a, NativeVec2 b, float thickness, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "a", "type": "NativeVec2" }, { "name": "b", "type": "NativeVec2" }, { "name": "thickness", "type": "float" }, { "name": "color", "type": "NativeColor" }], "summary": "cui_draw_line" }, { "name": "DrawPolygon", "kind": "method", "id": "method|DrawPolygon|1|0|void|nint ui;nint points;int count;NativeColor color||hee4fb990119035a52fcf521dd800de932f8242a1e8a16076d55dcf65f4100dc9", "signature": "static void DrawPolygon(nint ui, nint points, int count, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "points", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "color", "type": "NativeColor" }], "summary": "cui_draw_polygon" }, { "name": "DrawPolyline", "kind": "method", "id": "method|DrawPolyline|1|0|void|nint ui;nint points;int count;float thickness;NativeColor color;byte closed||h4ad84f0066e3ab9a3a06cf60ccf987cb6bc98a64f0f3fcb9460f78bd3a809c8a", "signature": "static void DrawPolyline(nint ui, nint points, int count, float thickness, NativeColor color, byte closed)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "points", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "thickness", "type": "float" }, { "name": "color", "type": "NativeColor" }, { "name": "closed", "type": "byte" }], "summary": "cui_draw_polyline" }, { "name": "DrawRect", "kind": "method", "id": "method|DrawRect|1|0|void|nint ui;NativeRect r;NativeCorners radius;NativeColor fill||hfe26311cf9bae1a4548048b162121debfa9ed2c49fe5b6156697b75c61ef16ac", "signature": "static void DrawRect(nint ui, NativeRect r, NativeCorners radius, NativeColor fill)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "r", "type": "NativeRect" }, { "name": "radius", "type": "NativeCorners" }, { "name": "fill", "type": "NativeColor" }], "summary": "cui_draw_rect" }, { "name": "DrawRectBorder", "kind": "method", "id": "method|DrawRectBorder|1|0|void|nint ui;NativeRect r;NativeCorners radius;NativeColor fill;NativeColor border;float borderWidth||h0c3c3d48ab680a667e97dd2c382028f9c818564a905007232aaf41011f511106", "signature": "static void DrawRectBorder(nint ui, NativeRect r, NativeCorners radius, NativeColor fill, NativeColor border, float borderWidth)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "r", "type": "NativeRect" }, { "name": "radius", "type": "NativeCorners" }, { "name": "fill", "type": "NativeColor" }, { "name": "border", "type": "NativeColor" }, { "name": "borderWidth", "type": "float" }], "summary": "cui_draw_rect_border" }, { "name": "DrawRectGradient", "kind": "method", "id": "method|DrawRectGradient|1|0|void|nint ui;NativeRect r;NativeCorners radius;NativeColor top;NativeColor bottom||h20692c7cd3bd979d311205e190b3c434adb4e5c4e20999958918dc0db918ff41", "signature": "static void DrawRectGradient(nint ui, NativeRect r, NativeCorners radius, NativeColor top, NativeColor bottom)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "r", "type": "NativeRect" }, { "name": "radius", "type": "NativeCorners" }, { "name": "top", "type": "NativeColor" }, { "name": "bottom", "type": "NativeColor" }], "summary": "cui_draw_rect_gradient" }, { "name": "DrawShadow", "kind": "method", "id": "method|DrawShadow|1|0|void|nint ui;NativeRect r;NativeCorners radius;float blur;float spread;NativeVec2 offset;NativeColor color||hce3e65faa7aa8dc55c83a032ad2f23ad8dc999105f20b0bbfeaa1f774e1a49b3", "signature": "static void DrawShadow(nint ui, NativeRect r, NativeCorners radius, float blur, float spread, NativeVec2 offset, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "r", "type": "NativeRect" }, { "name": "radius", "type": "NativeCorners" }, { "name": "blur", "type": "float" }, { "name": "spread", "type": "float" }, { "name": "offset", "type": "NativeVec2" }, { "name": "color", "type": "NativeColor" }], "summary": "cui_draw_shadow" }, { "name": "DrawText", "kind": "method", "id": "method|DrawText|1|0|void|nint ui;Font font;float size;NativeVec2 pos;NativeColor color;nint text;int len||hc2f27110ba2d6fbe45d096508ff3fad13a507ee2bf39df0e0d443bc523e0c664", "signature": "static void DrawText(nint ui, Font font, float size, NativeVec2 pos, NativeColor color, nint text, int len)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "font", "type": "Font" }, { "name": "size", "type": "float" }, { "name": "pos", "type": "NativeVec2" }, { "name": "color", "type": "NativeColor" }, { "name": "text", "type": "nint" }, { "name": "len", "type": "int" }], "summary": "cui_draw_text" }, { "name": "Emoji", "kind": "method", "id": "method|Emoji|1|0|void|nint ui;nint utf8;float size||h03c0443d50e5a072c0253a97bce2fa8faee0949ec19ecd141417da32f8fd5329", "signature": "static void Emoji(nint ui, nint utf8, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "utf8", "type": "nint" }, { "name": "size", "type": "float" }], "summary": "cui_emoji" }, { "name": "EndFrame", "kind": "method", "id": "method|EndFrame|1|0|void|nint ui||h31b18c88ba32cd1c6cff6cb5b6d37c8737f4f80a8df45b310f28cac1548a28e5", "signature": "static void EndFrame(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_end_frame" }, { "name": "ExpandableCardEnd", "kind": "method", "id": "method|ExpandableCardEnd|1|0|void|nint ui||h021bc28e25114a32e55f17a5833e96d5310be1e1406fcd3b8fb9953100360644", "signature": "static void ExpandableCardEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_expandable_card_end" }, { "name": "FlameSort", "kind": "method", "id": "method|FlameSort|1|0|void|nint spans;int count||h0991e6f38190c13942ffa39a630d77506b361220708585e719a9c35eb9d97659", "signature": "static void FlameSort(nint spans, int count)", "parameters": [{ "name": "spans", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "cui_flame_sort" }, { "name": "FontAddFallback", "kind": "method", "id": "method|FontAddFallback|1|0|void|nint ui;Font font;Font fallback||hdf010fb946a48d289df8be37b90cfa127248a6b0b637cbf46fdbabcadaefefdc", "signature": "static void FontAddFallback(nint ui, Font font, Font fallback)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "font", "type": "Font" }, { "name": "fallback", "type": "Font" }], "summary": "cui_font_add_fallback" }, { "name": "FontSetRole", "kind": "method", "id": "method|FontSetRole|1|0|void|nint ui;Font role;Font font||habee93e00846743b067b5bc61fefcc6e9708412e2fa47530423be4dc7f05f0e7", "signature": "static void FontSetRole(nint ui, Font role, Font font)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "role", "type": "Font" }, { "name": "font", "type": "Font" }], "summary": "cui_font_set_role" }, { "name": "Gap", "kind": "method", "id": "method|Gap|1|0|void|nint ui;float size||h72ded2697cd72ab69e9854d5b60bbdab7d81198e2d51aafd8b161d9dad5f76f2", "signature": "static void Gap(nint ui, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "size", "type": "float" }], "summary": "cui_gap" }, { "name": "Gauge", "kind": "method", "id": "method|Gauge|1|0|void|nint ui;nint label;float value;float size||h7f72645a7be87c086ff175cefaa6de27d61de542a45562f0ee65926cc4159201", "signature": "static void Gauge(nint ui, nint label, float value, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "float" }, { "name": "size", "type": "float" }], "summary": "cui_gauge" }, { "name": "GlDestroy", "kind": "method", "id": "method|GlDestroy|1|0|void|nint r||h0409b70021c2ece5ae11d86ffa0a1b54a38b4d8871d19f9fbc68a159a9368fec", "signature": "static void GlDestroy(nint r)", "parameters": [{ "name": "r", "type": "nint" }], "summary": "cui_gl_destroy" }, { "name": "GlReadPixels", "kind": "method", "id": "method|GlReadPixels|1|0|void|nint r;int width;int height;nint rgba||haee94127f9e202f09a7395d3fc94e7655c4b9dbdd1e3442de02294565ea69d3b", "signature": "static void GlReadPixels(nint r, int width, int height, nint rgba)", "parameters": [{ "name": "r", "type": "nint" }, { "name": "width", "type": "int" }, { "name": "height", "type": "int" }, { "name": "rgba", "type": "nint" }], "summary": "cui_gl_read_pixels" }, { "name": "GlRender", "kind": "method", "id": "method|GlRender|1|0|void|nint r;in NativeDrawData dd;byte clear||h28c93a9bcb0a414099f8be1f4ae2d08dfe74881324f5e398a8f7ca2b6342d2e2", "signature": "static void GlRender(nint r, in NativeDrawData dd, byte clear)", "parameters": [{ "name": "r", "type": "nint" }, { "name": "dd", "type": "in NativeDrawData" }, { "name": "clear", "type": "byte" }], "summary": "cui_gl_render" }, { "name": "GradientText", "kind": "method", "id": "method|GradientText|1|0|void|nint ui;nint text;in NativeGradientTextOpts opts||h6c797e7f12adc043c2730857e1e257efee47cd48a6574ca561e9edd7348d6eb3", "signature": "static void GradientText(nint ui, nint text, in NativeGradientTextOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeGradientTextOpts" }], "summary": "cui_gradient_text_ex" }, { "name": "Heading", "kind": "method", "id": "method|Heading|1|0|void|nint ui;nint text;int level||ha3ccb600076c2097c212a0b747c3a17ee1400a5050e89087bb278fa0d69c0a56", "signature": "static void Heading(nint ui, nint text, int level)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "level", "type": "int" }], "summary": "cui_heading" }, { "name": "HexViewGoto", "kind": "method", "id": "method|HexViewGoto|1|0|void|nint ui;nint id;nuint offset||h652ff40b89a50ddcfe94df2541bc6bcacff1078574e1e3f68cd4b49f07bffbf6", "signature": "static void HexViewGoto(nint ui, nint id, nuint offset)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "offset", "type": "nuint" }], "summary": "cui_hex_view_goto" }, { "name": "HoverCardEnd", "kind": "method", "id": "method|HoverCardEnd|1|0|void|nint ui||h5cfa5bf8fd516aeba07a65fa1d7553759b7ecd2643d8054765a4684f067d85fe", "signature": "static void HoverCardEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_hover_card_end" }, { "name": "Icon", "kind": "method", "id": "method|Icon|1|0|void|nint ui;nint icon;float size;NativeColor color||hfe918e7ebd91e9d0f04d1321aa645b768e0750e48e2f70701bdb84394c7e4bdb", "signature": "static void Icon(nint ui, nint icon, float size, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "icon", "type": "nint" }, { "name": "size", "type": "float" }, { "name": "color", "type": "NativeColor" }], "summary": "cui_icon" }, { "name": "Image", "kind": "method", "id": "method|Image|1|0|void|nint ui;nuint tex;in NativeImageOpts opts||h46d3bd25f42e44e36fb57f73efa84b4a6db4adb78527d895d2e47bc3c110a386", "signature": "static void Image(nint ui, nuint tex, in NativeImageOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "tex", "type": "nuint" }, { "name": "opts", "type": "in NativeImageOpts" }], "summary": "cui_image_ex" }, { "name": "ImageDestroy", "kind": "method", "id": "method|ImageDestroy|1|0|void|nint ui;nuint tex||h8e51e8b79329b7fc75974cca89c9f82af337ea77de536984eaa9ed8699237678", "signature": "static void ImageDestroy(nint ui, nuint tex)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "tex", "type": "nuint" }], "summary": "cui_image_destroy" }, { "name": "InputFileDrop", "kind": "method", "id": "method|InputFileDrop|1|0|void|nint ui;nint paths;int count;float x;float y||h2dc0aedb8bd58c5dabe372e22f6a7c5338330b523568883aae3c63281400af28", "signature": "static void InputFileDrop(nint ui, nint paths, int count, float x, float y)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "paths", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "x", "type": "float" }, { "name": "y", "type": "float" }], "summary": "cui_input_file_drop" }, { "name": "InputFileHover", "kind": "method", "id": "method|InputFileHover|1|0|void|nint ui;byte hovering;float x;float y||hfce5ebf2d37de57aeea32ce290ddb90f6a34478a69e1b80e64e15369c054cfe1", "signature": "static void InputFileHover(nint ui, byte hovering, float x, float y)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "hovering", "type": "byte" }, { "name": "x", "type": "float" }, { "name": "y", "type": "float" }], "summary": "cui_input_file_hover" }, { "name": "InputFocus", "kind": "method", "id": "method|InputFocus|1|0|void|nint ui;byte windowFocused||hb9c96e7b6b0b4495072fdbfc2b45487d04e64d46106d311f6b41f9ca0979dd5b", "signature": "static void InputFocus(nint ui, byte windowFocused)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "windowFocused", "type": "byte" }], "summary": "cui_input_focus" }, { "name": "InputKey", "kind": "method", "id": "method|InputKey|1|0|void|nint ui;Key key;byte down;int mods||he9e25baee090dd81f87a3359f812b0affe80d87f185a5e496c5f94d4d600b4a7", "signature": "static void InputKey(nint ui, Key key, byte down, int mods)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "key", "type": "Key" }, { "name": "down", "type": "byte" }, { "name": "mods", "type": "int" }], "summary": "cui_input_key" }, { "name": "InputMouseButton", "kind": "method", "id": "method|InputMouseButton|1|0|void|nint ui;MouseButton button;byte down||h6270e6c39ec308c89fdc117c2bc93e497b893943bf9c0f297eb3bc8bd9926c3c", "signature": "static void InputMouseButton(nint ui, MouseButton button, byte down)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "button", "type": "MouseButton" }, { "name": "down", "type": "byte" }], "summary": "cui_input_mouse_button" }, { "name": "InputMouseLeave", "kind": "method", "id": "method|InputMouseLeave|1|0|void|nint ui||h9036a64e5dd7d1da6320ba5086cefe6e3867e714461040256010cf82d367941e", "signature": "static void InputMouseLeave(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_input_mouse_leave" }, { "name": "InputMouseMove", "kind": "method", "id": "method|InputMouseMove|1|0|void|nint ui;float x;float y||hd0c123e0767faf579c286e823d9a962b112570997e9e663592cbd209faa1031a", "signature": "static void InputMouseMove(nint ui, float x, float y)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "x", "type": "float" }, { "name": "y", "type": "float" }], "summary": "cui_input_mouse_move" }, { "name": "InputScroll", "kind": "method", "id": "method|InputScroll|1|0|void|nint ui;float dx;float dy||hc8cbc117e3db6a84144252e54692e3b66351e54d1c46990d7afde3e8b30195a4", "signature": "static void InputScroll(nint ui, float dx, float dy)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "dx", "type": "float" }, { "name": "dy", "type": "float" }], "summary": "cui_input_scroll" }, { "name": "InputText", "kind": "method", "id": "method|InputText|1|0|void|nint ui;nint utf8||hfb99b27e7589d689af11e1f3b33b999fd83f8b96dfc59bfec214a2d9ed87e63c", "signature": "static void InputText(nint ui, nint utf8)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "utf8", "type": "nint" }], "summary": "cui_input_text" }, { "name": "InspectorEnd", "kind": "method", "id": "method|InspectorEnd|1|0|void|nint ui||hbae2a784f117cc7cf8fde59d927783452fb610145ee483403247a944453c2ee4", "signature": "static void InspectorEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_inspector_end" }, { "name": "KanbanBegin", "kind": "method", "id": "method|KanbanBegin|1|0|void|nint ui;nint id||h3a6b1c97ed7644e95a939ad84eb74872b36457939226042cb87047ea3415722c", "signature": "static void KanbanBegin(nint ui, nint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }], "summary": "cui_kanban_begin" }, { "name": "KanbanCardEnd", "kind": "method", "id": "method|KanbanCardEnd|1|0|void|nint ui||h6e4eb5e54f70e5e1b090f9fb90691e52a75493fc367b8dca9b723cf7fe51af88", "signature": "static void KanbanCardEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_kanban_card_end" }, { "name": "KanbanColumnEnd", "kind": "method", "id": "method|KanbanColumnEnd|1|0|void|nint ui||h9b6ffeadf22b51cea43f39f69a6c0af698e8dd7afba1ba450a994457d7bb3af5", "signature": "static void KanbanColumnEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_kanban_column_end" }, { "name": "Kbd", "kind": "method", "id": "method|Kbd|1|0|void|nint ui;nint keys||h9a69f5968b341ca3bc4847f30a367580e3a295109d39c5a22d98f4a2e4413d28", "signature": "static void Kbd(nint ui, nint keys)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "keys", "type": "nint" }], "summary": "cui_kbd" }, { "name": "Label", "kind": "method", "id": "method|Label|1|0|void|nint ui;nint text||h662088f013009dfe935af56487bec74180d254e361741c4e018b2fa56a1f0353", "signature": "static void Label(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "cui_label" }, { "name": "LineChart", "kind": "method", "id": "method|LineChart|1|0|void|nint ui;nint id;nint series;int count;in NativeChartOpts opts||hbafa428eb32bcb4432f697971202f9feb226e72be253d1846779b4c42195fc35", "signature": "static void LineChart(nint ui, nint id, nint series, int count, in NativeChartOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "series", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeChartOpts" }], "summary": "cui_line_chart_ex" }, { "name": "Loader", "kind": "method", "id": "method|Loader|1|0|void|nint ui;in NativeLoaderOpts opts||he7826de7d57fcc29cdd3f4f18ad2b445818fbe8e1dda524d58d9f0192869e1ef", "signature": "static void Loader(nint ui, in NativeLoaderOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "opts", "type": "in NativeLoaderOpts" }], "summary": "cui_loader_ex" }, { "name": "LogAppendText", "kind": "method", "id": "method|LogAppendText|1|0|void|ref NativeLogBuffer buf;LogLevel level;double time;nint text;int len||h4a7ed9d39233b97d0669e5a37da7ee40aa53dad0a7cf65470776649966b86e51", "signature": "static void LogAppendText(ref NativeLogBuffer buf, LogLevel level, double time, nint text, int len)", "parameters": [{ "name": "buf", "type": "ref NativeLogBuffer" }, { "name": "level", "type": "LogLevel" }, { "name": "time", "type": "double" }, { "name": "text", "type": "nint" }, { "name": "len", "type": "int" }], "summary": "cui_log_append_text" }, { "name": "LogAppendv", "kind": "method", "id": "method|LogAppendv|1|0|void|ref NativeLogBuffer buf;LogLevel level;nint fmt;nint ap||hee49e56c9ba82b42b6b99183ff76f0f63f31b9ba7042c57f73ad71629d84df23", "signature": "static void LogAppendv(ref NativeLogBuffer buf, LogLevel level, nint fmt, nint ap)", "parameters": [{ "name": "buf", "type": "ref NativeLogBuffer" }, { "name": "level", "type": "LogLevel" }, { "name": "fmt", "type": "nint" }, { "name": "ap", "type": "nint" }], "summary": "cui_log_appendv" }, { "name": "LogClear", "kind": "method", "id": "method|LogClear|1|0|void|ref NativeLogBuffer buf||h7bae18e46b5b4237b0f1cd653cef0790433b1718a8ce8005293d709c247b6295", "signature": "static void LogClear(ref NativeLogBuffer buf)", "parameters": [{ "name": "buf", "type": "ref NativeLogBuffer" }], "summary": "cui_log_clear" }, { "name": "LogInit", "kind": "method", "id": "method|LogInit|1|0|void|ref NativeLogBuffer buf;nint lines;int lineCap;nint text;nuint textCap||h00f3179c5a7fabfc02fad6b1038a28c209c3e2c974c13ea73bbd0a2978eddee4", "signature": "static void LogInit(ref NativeLogBuffer buf, nint lines, int lineCap, nint text, nuint textCap)", "parameters": [{ "name": "buf", "type": "ref NativeLogBuffer" }, { "name": "lines", "type": "nint" }, { "name": "lineCap", "type": "int" }, { "name": "text", "type": "nint" }, { "name": "textCap", "type": "nuint" }], "summary": "cui_log_init" }, { "name": "LogView", "kind": "method", "id": "method|LogView|1|0|void|nint ui;nint id;ref NativeLogBuffer buf;in NativeLogViewOpts opts||h3bf31c940bcf0f123937456ea18917c5b12879732b8c742acf7864b43941bce8", "signature": "static void LogView(nint ui, nint id, ref NativeLogBuffer buf, in NativeLogViewOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "ref NativeLogBuffer" }, { "name": "opts", "type": "in NativeLogViewOpts" }], "summary": "cui_log_view_ex" }, { "name": "MenuBarBegin", "kind": "method", "id": "method|MenuBarBegin|1|0|void|nint ui;nint id;in NativeMenuBarOpts opts||h2d170d38dd10fffeba6f35c2286b8e949c1277d362990277a723f1c7f53c2061", "signature": "static void MenuBarBegin(nint ui, nint id, in NativeMenuBarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeMenuBarOpts" }], "summary": "cui_menu_bar_begin" }, { "name": "MenuBarEnd", "kind": "method", "id": "method|MenuBarEnd|1|0|void|nint ui||hb13e4f4b0dcb3f8fd8d21d8b00ea5fa6017723b169df7398cf86511fddc6e8f3", "signature": "static void MenuBarEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_menu_bar_end" }, { "name": "MenuBarMenuEnd", "kind": "method", "id": "method|MenuBarMenuEnd|1|0|void|nint ui||hed83615b225f71ed8013d397272be3081c1221a7036bbee6e4346e0c6777179f", "signature": "static void MenuBarMenuEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_menu_bar_menu_end" }, { "name": "MenuEnd", "kind": "method", "id": "method|MenuEnd|1|0|void|nint ui||hd514b968798469a91f7171fc3c11d2bc443560fedb439de13a6107be3c6a544b", "signature": "static void MenuEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_menu_end" }, { "name": "MenuLabel", "kind": "method", "id": "method|MenuLabel|1|0|void|nint ui;nint text||ha4b8ad0e5b82fc1548f6ba84530f37adf4d9f0a532b3709d195d073699bcac3d", "signature": "static void MenuLabel(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "cui_menu_label" }, { "name": "MenuSeparator", "kind": "method", "id": "method|MenuSeparator|1|0|void|nint ui||h43baafe94729515380b87ebc65483aa6d85741aeb6bba325ece2d1eabae0797a", "signature": "static void MenuSeparator(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_menu_separator" }, { "name": "Meter", "kind": "method", "id": "method|Meter|1|0|void|nint ui;nint label;float used;float total;nint unit||h30ed539c27876837b8db7a1089daa25a6062adad4a0f9d03e8ada4e2ee7b7543", "signature": "static void Meter(nint ui, nint label, float used, float total, nint unit)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "used", "type": "float" }, { "name": "total", "type": "float" }, { "name": "unit", "type": "nint" }], "summary": "cui_meter" }, { "name": "Metric", "kind": "method", "id": "method|Metric|1|0|void|nint ui;nint label;nint value;in NativeMetricOpts opts||h523a868a2b31da0883e292d982d5cac253880c98471f114d39a6aa1967937f65", "signature": "static void Metric(nint ui, nint label, nint value, in NativeMetricOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "nint" }, { "name": "opts", "type": "in NativeMetricOpts" }], "summary": "cui_metric_ex" }, { "name": "Muted", "kind": "method", "id": "method|Muted|1|0|void|nint ui;nint text||hdda682be0e03b2adcd33ac4733279d81dcae507f3677762d1bbd5faa3973441d", "signature": "static void Muted(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "cui_muted" }, { "name": "NavSection", "kind": "method", "id": "method|NavSection|1|0|void|nint ui;nint title||h6cda75c653da98b8d8a4e1d3184c2f0372398fe655428979078fb1b9830a64f3", "signature": "static void NavSection(nint ui, nint title)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }], "summary": "cui_nav_section" }, { "name": "NodeContentBegin", "kind": "method", "id": "method|NodeContentBegin|1|0|void|nint ui||h8aaeefd8936d2e56b0ac7cfd0e4fe1ec0163a3f32ead969c8a6b272cb8c33c33", "signature": "static void NodeContentBegin(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_node_content_begin" }, { "name": "NodeContentEnd", "kind": "method", "id": "method|NodeContentEnd|1|0|void|nint ui||h8d1d8b82c2faed633dc8e3790241846c336d16db75745737aa16e5cdd4f03101", "signature": "static void NodeContentEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_node_content_end" }, { "name": "NodeEditorEnd", "kind": "method", "id": "method|NodeEditorEnd|1|0|void|nint ui||h8e2de39479bf3039a75ad1a43e67864e2fdedbcfa3d0ea17890714f79153cf0a", "signature": "static void NodeEditorEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_node_editor_end" }, { "name": "NodeEnd", "kind": "method", "id": "method|NodeEnd|1|0|void|nint ui||h776ebaba5480021545ebdcc94862ed3b0f4ad3392a425a74c78a1a85ae8f894c", "signature": "static void NodeEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_node_end" }, { "name": "NumberRoll", "kind": "method", "id": "method|NumberRoll|1|0|void|nint ui;nint id;nint text;in NativeTextFxOpts opts||hab625d06c0b1cdefddb6d8384378241c49e2b7ee8ad244ab3a68b2c5cd72a66b", "signature": "static void NumberRoll(nint ui, nint id, nint text, in NativeTextFxOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeTextFxOpts" }], "summary": "cui_number_roll_ex" }, { "name": "PathBarMenuEnd", "kind": "method", "id": "method|PathBarMenuEnd|1|0|void|nint ui||h997f537d82bf299ed326f925257b8510b206db162119f5f76a82e4c4c64949ff", "signature": "static void PathBarMenuEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_path_bar_menu_end" }, { "name": "PopClip", "kind": "method", "id": "method|PopClip|1|0|void|nint ui||h63c0504d7458e435fcb1ffd50d073429edcc2e5de95c4b16ded5217563b6dc92", "signature": "static void PopClip(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_pop_clip" }, { "name": "PopDisabled", "kind": "method", "id": "method|PopDisabled|1|0|void|nint ui||he2561f8c20dccea5c0d16cff7db5d33fa51f16e2405105c51b70cdf03d1cb051", "signature": "static void PopDisabled(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_pop_disabled" }, { "name": "PopId", "kind": "method", "id": "method|PopId|1|0|void|nint ui||hb10c43cb5fb600005cd12d82cd44778b6b2d85fcd1aa993b6d5ac4ad52c80022", "signature": "static void PopId(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_pop_id" }, { "name": "PopoverClose", "kind": "method", "id": "method|PopoverClose|1|0|void|nint ui;nint id||h77cfcef0fa0acec5febc68b8745c36a30c41f550fcf802f10f1f29ce3cb99f0b", "signature": "static void PopoverClose(nint ui, nint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }], "summary": "cui_popover_close" }, { "name": "PopoverEnd", "kind": "method", "id": "method|PopoverEnd|1|0|void|nint ui||h3a90dbcf8257c5a18ecbf028f1dd1f2b0738316b1e71ed2ed00b83ac007ae51b", "signature": "static void PopoverEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_popover_end" }, { "name": "PopoverOpen", "kind": "method", "id": "method|PopoverOpen|1|0|void|nint ui;nint id||he1d748eab3cdbe7c6819f4982df24d6dd06f0ba4256858420b9291cdc94efaeb", "signature": "static void PopoverOpen(nint ui, nint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }], "summary": "cui_popover_open" }, { "name": "PopoverToggle", "kind": "method", "id": "method|PopoverToggle|1|0|void|nint ui;nint id||hf969fb3316a6f58bf6652dd965ae15925db3bbf664294da71aef8af21d99664d", "signature": "static void PopoverToggle(nint ui, nint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }], "summary": "cui_popover_toggle" }, { "name": "Presence", "kind": "method", "id": "method|Presence|1|0|void|nint ui;nint id;nint users;int count;int maxVisible;float size||ha18a6116c23c2a9b36bda9eaba4ac8b6d4cef8d2512e11df8496374e2915d918", "signature": "static void Presence(nint ui, nint id, nint users, int count, int maxVisible, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "users", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "maxVisible", "type": "int" }, { "name": "size", "type": "float" }], "summary": "cui_presence" }, { "name": "Progress", "kind": "method", "id": "method|Progress|1|0|void|nint ui;float value;in NativeProgressOpts opts||ha6c27a7e9e6567cb5e505a6c043a703129bff9e7f726b7b8ee84206931d4ae3c", "signature": "static void Progress(nint ui, float value, in NativeProgressOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "value", "type": "float" }, { "name": "opts", "type": "in NativeProgressOpts" }], "summary": "cui_progress_ex" }, { "name": "ProgressRing", "kind": "method", "id": "method|ProgressRing|1|0|void|nint ui;nint label;float value;float size||hf23fdb90419b8cc9503afed3ebdd63578f6707f7e317f73a33cccdef064b21fd", "signature": "static void ProgressRing(nint ui, nint label, float value, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "float" }, { "name": "size", "type": "float" }], "summary": "cui_progress_ring" }, { "name": "PushClip", "kind": "method", "id": "method|PushClip|1|0|void|nint ui;NativeRect r||h5e48edf0962d24abc38b2b811582434e972f2fc2bbe2e43bf552cef8b8bdda49", "signature": "static void PushClip(nint ui, NativeRect r)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "r", "type": "NativeRect" }], "summary": "cui_push_clip" }, { "name": "PushDisabled", "kind": "method", "id": "method|PushDisabled|1|0|void|nint ui;byte disabled||h0491a2ed86913b2fc3fa8007bbf0284aaece1e82513ff70a1f38943a8495ee62", "signature": "static void PushDisabled(nint ui, byte disabled)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "disabled", "type": "byte" }], "summary": "cui_push_disabled" }, { "name": "PushId", "kind": "method", "id": "method|PushId|1|0|void|nint ui;nint str||h6fb92263648fbe47b124cd60a2bb1f0194b441b80b610b9f33550aa562437492", "signature": "static void PushId(nint ui, nint str)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "str", "type": "nint" }], "summary": "cui_push_id" }, { "name": "PushIdInt", "kind": "method", "id": "method|PushIdInt|1|0|void|nint ui;int value||h50055247580a4f4fa0392b341c835a51a52a72b4f34bb1f4c613242daeea3ecc", "signature": "static void PushIdInt(nint ui, int value)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "value", "type": "int" }], "summary": "cui_push_id_int" }, { "name": "RadialGauge", "kind": "method", "id": "method|RadialGauge|1|0|void|nint ui;nint id;float value;float min;float max;in NativeRadialGaugeOpts opts||h4f8518675e6c379418dc5d18483c1736619dcc5322b6ec788f182e70d2744138", "signature": "static void RadialGauge(nint ui, nint id, float value, float min, float max, in NativeRadialGaugeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "opts", "type": "in NativeRadialGaugeOpts" }], "summary": "cui_radial_gauge_ex" }, { "name": "ReasoningEnd", "kind": "method", "id": "method|ReasoningEnd|1|0|void|nint ui||h3d7a570a4d95899a623aba8b34225b94fe8e298223296a8b417ba68577277f1c", "signature": "static void ReasoningEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_reasoning_end" }, { "name": "ReorderBegin", "kind": "method", "id": "method|ReorderBegin|1|0|void|nint ui;nint id;ref int order;int count||h91b67144d6c858e6046d3e88798f968c4b7717073334cfb0e25b0e4e03429f65", "signature": "static void ReorderBegin(nint ui, nint id, ref int order, int count)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "order", "type": "ref int" }, { "name": "count", "type": "int" }], "summary": "cui_reorder_begin" }, { "name": "ReorderItemBegin", "kind": "method", "id": "method|ReorderItemBegin|1|0|void|nint ui;int position||hc8aab216de052d8eec1b27621290e2c67cf005624582def3cde53d7c629abf2d", "signature": "static void ReorderItemBegin(nint ui, int position)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "position", "type": "int" }], "summary": "cui_reorder_item_begin" }, { "name": "ReorderItemEnd", "kind": "method", "id": "method|ReorderItemEnd|1|0|void|nint ui||he5f9866dc46db08efe5e2ec97c8f7cb9dcaf3dda4dbec7c6cecb97404aa0cac2", "signature": "static void ReorderItemEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_reorder_item_end" }, { "name": "RequestRedraw", "kind": "method", "id": "method|RequestRedraw|1|0|void|nint ui||haa3c00370fae8d80bb9419af2e90690a039bfdc6b9696bf7ec766b11d67053b6", "signature": "static void RequestRedraw(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_request_redraw" }, { "name": "RequestWakeup", "kind": "method", "id": "method|RequestWakeup|1|0|void|nint ui;float seconds||h4c1697d95f098be55214b6596a6d2d431ababeb4b7aeee1a3a5c7b4c9ec1014d", "signature": "static void RequestWakeup(nint ui, float seconds)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "seconds", "type": "float" }], "summary": "cui_request_wakeup" }, { "name": "ResponseStatus", "kind": "method", "id": "method|ResponseStatus|1|0|void|nint ui;int status;double seconds;double bytes||h6bf64977b38462ced090956d263a7ca82b23aaf9c4eb8826267ac35f603593a4", "signature": "static void ResponseStatus(nint ui, int status, double seconds, double bytes)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "status", "type": "int" }, { "name": "seconds", "type": "double" }, { "name": "bytes", "type": "double" }], "summary": "cui_response_status" }, { "name": "ScrollBegin", "kind": "method", "id": "method|ScrollBegin|1|0|void|nint ui;in NativeScrollOpts opts||hccf27da1d078b4595fdc9f11585d8d946c5ee619a7122ded6d4f0212402cf5c8", "signature": "static void ScrollBegin(nint ui, in NativeScrollOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "opts", "type": "in NativeScrollOpts" }], "summary": "cui_scroll_begin" }, { "name": "ScrollEnd", "kind": "method", "id": "method|ScrollEnd|1|0|void|nint ui||h5c13b2e28e6ee670888611965b36901a2f68e9b77c2798b783d4cd1039b6b9fb", "signature": "static void ScrollEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_scroll_end" }, { "name": "ScrollTo", "kind": "method", "id": "method|ScrollTo|1|0|void|nint ui;nint scrollId;float y||h23b87c2c57323b5eec317ad983e363d4a22bcfbeb280f4cee0e098567f3c4686", "signature": "static void ScrollTo(nint ui, nint scrollId, float y)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "scrollId", "type": "nint" }, { "name": "y", "type": "float" }], "summary": "cui_scroll_to" }, { "name": "Secondary", "kind": "method", "id": "method|Secondary|1|0|void|nint ui;nint text||h8c8af7950942ddc4910460d7cd39b63b771e005a78f3d6c721494d9c3c9e8a9b", "signature": "static void Secondary(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "cui_secondary" }, { "name": "Separator", "kind": "method", "id": "method|Separator|1|0|void|nint ui||h46e03a6322e7ff314ff9145e05fc878a8ef074c48477fdfa72eef15647ab1ce6", "signature": "static void Separator(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_separator" }, { "name": "SetAccent", "kind": "method", "id": "method|SetAccent|1|0|void|nint ui;Accent accent||haaabdbf69a955a9add0a9acc324c39f604d971cd839fc29f7592edd0e72bd52e", "signature": "static void SetAccent(nint ui, Accent accent)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "accent", "type": "Accent" }], "summary": "cui_set_accent" }, { "name": "SetPlatform", "kind": "method", "id": "method|SetPlatform|1|0|void|nint ui;in NativePlatformIface platform||h622526b30b257fe65cd0827a815d82bd5b01d7a35bbec3fba719fcffbf9877a9", "signature": "static void SetPlatform(nint ui, in NativePlatformIface platform)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "platform", "type": "in NativePlatformIface" }], "summary": "cui_set_platform" }, { "name": "SetReducedMotion", "kind": "method", "id": "method|SetReducedMotion|1|0|void|nint ui;byte reduced||hf68a9d8f75523bd677993d42d4b723a079b2492a26f565814f77b0f795732b6a", "signature": "static void SetReducedMotion(nint ui, byte reduced)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "reduced", "type": "byte" }], "summary": "cui_set_reduced_motion" }, { "name": "SetRenderer", "kind": "method", "id": "method|SetRenderer|1|0|void|nint ui;in NativeRendererIface renderer||hdbd27894e6a941293fab67adf26129d544c8f69e78c535ee83fb40689647a17e", "signature": "static void SetRenderer(nint ui, in NativeRendererIface renderer)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "renderer", "type": "in NativeRendererIface" }], "summary": "cui_set_renderer" }, { "name": "SetStrings", "kind": "method", "id": "method|SetStrings|1|0|void|nint ui;nint strings||hf673ccc8351e0077ec04e8e52c88524e21f92c433996f4d11fb38d37f6ce3e4c", "signature": "static void SetStrings(nint ui, nint strings)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "strings", "type": "nint" }], "summary": "cui_set_strings" }, { "name": "SetTheme", "kind": "method", "id": "method|SetTheme|1|0|void|nint ui;Theme mode||he438c162911cf2b181388de75abb1e0fbfc9fccf62191c0c78a14324c8f8d67e", "signature": "static void SetTheme(nint ui, Theme mode)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "mode", "type": "Theme" }], "summary": "cui_set_theme" }, { "name": "SetViewport", "kind": "method", "id": "method|SetViewport|1|0|void|nint ui;float width;float height;float scale||hf74647d478ddd211eaf64bf0ca79714dd3761805f2dc0aeaa820806cdc485ce1", "signature": "static void SetViewport(nint ui, float width, float height, float scale)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "width", "type": "float" }, { "name": "height", "type": "float" }, { "name": "scale", "type": "float" }], "summary": "cui_set_viewport" }, { "name": "SheetEnd", "kind": "method", "id": "method|SheetEnd|1|0|void|nint ui||h755e8a9b487011b773092e6c07731052b68899276185054b447af8330fa23cef", "signature": "static void SheetEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_sheet_end" }, { "name": "ShimmerText", "kind": "method", "id": "method|ShimmerText|1|0|void|nint ui;nint text;in NativeTextFxOpts opts||hc19c7328a7355de44b28fdbfba2b3d8a03763b03b03d31b020777541cf193b87", "signature": "static void ShimmerText(nint ui, nint text, in NativeTextFxOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeTextFxOpts" }], "summary": "cui_shimmer_text_ex" }, { "name": "SignatureClear", "kind": "method", "id": "method|SignatureClear|1|0|void|nint ui;nint id||hc0eecd4bc3b717f1e8b91695f778ccd32566c7f13ed423d7e6b59f94052613c7", "signature": "static void SignatureClear(nint ui, nint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }], "summary": "cui_signature_clear" }, { "name": "Skeleton", "kind": "method", "id": "method|Skeleton|1|0|void|nint ui;NativeSize width;float height||hbc0c03c46cfd766c307600dc73e54a4ce856f1311af31af59206cbb964d0b537", "signature": "static void Skeleton(nint ui, NativeSize width, float height)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "width", "type": "NativeSize" }, { "name": "height", "type": "float" }], "summary": "cui_skeleton" }, { "name": "Spacer", "kind": "method", "id": "method|Spacer|1|0|void|nint ui||haf848915bff67f68bd2719ee3c0bba3024a1eb67d973fda3cb8f6fd6d8bda46d", "signature": "static void Spacer(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_spacer" }, { "name": "Sparkline", "kind": "method", "id": "method|Sparkline|1|0|void|nint ui;nint values;int count;NativeSize width;float height;NativeColor color||h472c1899de78ca26befe4486df72311abfb910f99a70c749777e8bce3ead8e6c", "signature": "static void Sparkline(nint ui, nint values, int count, NativeSize width, float height, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "values", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "width", "type": "NativeSize" }, { "name": "height", "type": "float" }, { "name": "color", "type": "NativeColor" }], "summary": "cui_sparkline" }, { "name": "Spinner", "kind": "method", "id": "method|Spinner|1|0|void|nint ui;float size||h79e05ad32fd9183b8abef18a003c42c2efb983f5f3dc41cb0d986befa1e14607", "signature": "static void Spinner(nint ui, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "size", "type": "float" }], "summary": "cui_spinner" }, { "name": "SplitBegin", "kind": "method", "id": "method|SplitBegin|1|0|void|nint ui;nint id;ref float ratio;in NativeSplitOpts opts||h8e1cfc21d02f926a599a7b9fd32a463c34f116012625ed954ebabe3eda0b218c", "signature": "static void SplitBegin(nint ui, nint id, ref float ratio, in NativeSplitOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "ratio", "type": "ref float" }, { "name": "opts", "type": "in NativeSplitOpts" }], "summary": "cui_split_begin" }, { "name": "SplitEnd", "kind": "method", "id": "method|SplitEnd|1|0|void|nint ui||h3f556aa6a80585d876fdcab26d6a691809a4c59857fb96c820d7ce63f02567f5", "signature": "static void SplitEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_split_end" }, { "name": "SplitNext", "kind": "method", "id": "method|SplitNext|1|0|void|nint ui||h31dc7568501ad9f8fd786663ada605e96397f17a3b5d5da6ab7f9b6cc0f76982", "signature": "static void SplitNext(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_split_next" }, { "name": "SpotlightBegin", "kind": "method", "id": "method|SpotlightBegin|1|0|void|nint ui;nint id;in NativeSpotlightOpts opts||h963693d8664d583e71befca392e8b3c9a5ba239feb7aaf2df1083b5a16a5557f", "signature": "static void SpotlightBegin(nint ui, nint id, in NativeSpotlightOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeSpotlightOpts" }], "summary": "cui_spotlight_begin" }, { "name": "SpotlightEnd", "kind": "method", "id": "method|SpotlightEnd|1|0|void|nint ui||h0c73da51d3dde86dbb2ef775471416fa9b9baa4fe4d82d5379a1a0874cda7890", "signature": "static void SpotlightEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_spotlight_end" }, { "name": "StateOnFree", "kind": "method", "id": "method|StateOnFree|1|0|void|nint ui;uint id;nint fn||h14b5dc9f39df6208158ac8c6ae25df41995cc8a66f0fd49778bd67518233fb53", "signature": "static void StateOnFree(nint ui, uint id, nint fn)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "uint" }, { "name": "fn", "type": "nint" }], "summary": "cui_state_on_free" }, { "name": "StatusBarBegin", "kind": "method", "id": "method|StatusBarBegin|1|0|void|nint ui;nint id;in NativeStatusBarOpts opts||h0ab9af3979891707f59e475e805ef3326b8e428b0787763856b3bb5f91e167d1", "signature": "static void StatusBarBegin(nint ui, nint id, in NativeStatusBarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeStatusBarOpts" }], "summary": "cui_status_bar_begin" }, { "name": "StatusBarEnd", "kind": "method", "id": "method|StatusBarEnd|1|0|void|nint ui||hfe889f07a7b2493dd34050626f8b25502ec3780753f2da61e485cf5851b53a8f", "signature": "static void StatusBarEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_status_bar_end" }, { "name": "StatusBarProgress", "kind": "method", "id": "method|StatusBarProgress|1|0|void|nint ui;float value;in NativeStatusProgressOpts opts||h2e2514329347cd72bc4da650e5035a15a358812e6c7d0653a7530568ee5e6bd7", "signature": "static void StatusBarProgress(nint ui, float value, in NativeStatusProgressOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "value", "type": "float" }, { "name": "opts", "type": "in NativeStatusProgressOpts" }], "summary": "cui_status_bar_progress_ex" }, { "name": "StatusBarSpacer", "kind": "method", "id": "method|StatusBarSpacer|1|0|void|nint ui||h6f6ec7af809873713139db42be67fec0525aab67fc40f3fb3a4e4d13b9364c23", "signature": "static void StatusBarSpacer(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_status_bar_spacer" }, { "name": "StatusBarText", "kind": "method", "id": "method|StatusBarText|1|0|void|nint ui;nint text;in NativeStatusItemOpts opts||h932eb9ea317e3daa001764723c6e67f68d748dbf6010f7d85aa4976712031b71", "signature": "static void StatusBarText(nint ui, nint text, in NativeStatusItemOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeStatusItemOpts" }], "summary": "cui_status_bar_text_ex" }, { "name": "Stepper", "kind": "method", "id": "method|Stepper|1|0|void|nint ui;nint steps;int count;int current||h6dc16579869bceefc9c1731229696cb78560f6f3caab3b13b0b3de481ac33cc1", "signature": "static void Stepper(nint ui, nint steps, int count, int current)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "steps", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "current", "type": "int" }], "summary": "cui_stepper" }, { "name": "SwDestroy", "kind": "method", "id": "method|SwDestroy|1|0|void|nint r||h0be21b0a0affe749f9f0be7261a36a00aeaf8b0842dec23c6d43e92f8dfd56ad", "signature": "static void SwDestroy(nint r)", "parameters": [{ "name": "r", "type": "nint" }], "summary": "cui_sw_destroy" }, { "name": "SwRender", "kind": "method", "id": "method|SwRender|1|0|void|nint r;in NativeDrawData dd;nint pixels;int width;int height;int stride;SwFormat format||h925ce92039facee940d37c72a24d58ed861e8d2428f045e01248136712bd27d3", "signature": "static void SwRender(nint r, in NativeDrawData dd, nint pixels, int width, int height, int stride, SwFormat format)", "parameters": [{ "name": "r", "type": "nint" }, { "name": "dd", "type": "in NativeDrawData" }, { "name": "pixels", "type": "nint" }, { "name": "width", "type": "int" }, { "name": "height", "type": "int" }, { "name": "stride", "type": "int" }, { "name": "format", "type": "SwFormat" }], "summary": "cui_sw_render" }, { "name": "SwSetIncremental", "kind": "method", "id": "method|SwSetIncremental|1|0|void|nint r;byte on||h35784ddf9e6e2ff25d8c10204553e0402b67e13e77d8272ab56f0c994fc7247b", "signature": "static void SwSetIncremental(nint r, byte on)", "parameters": [{ "name": "r", "type": "nint" }, { "name": "on", "type": "byte" }], "summary": "cui_sw_set_incremental" }, { "name": "SwSetThreads", "kind": "method", "id": "method|SwSetThreads|1|0|void|nint r;int threads||h34a2c21d60bb367d5b1aacc5f2e0a24cc1fd4fc2f7af20d0078cb2693d57cb3d", "signature": "static void SwSetThreads(nint r, int threads)", "parameters": [{ "name": "r", "type": "nint" }, { "name": "threads", "type": "int" }], "summary": "cui_sw_set_threads" }, { "name": "SwipeItemBegin", "kind": "method", "id": "method|SwipeItemBegin|1|0|void|nint ui;nint id;nint left;int leftCount;nint right;int rightCount||he356b37e0bb4b9d789e5c769a16e8687b4b7c08507d6f7ccb21de0c58296ee1e", "signature": "static void SwipeItemBegin(nint ui, nint id, nint left, int leftCount, nint right, int rightCount)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "left", "type": "nint" }, { "name": "leftCount", "type": "int" }, { "name": "right", "type": "nint" }, { "name": "rightCount", "type": "int" }], "summary": "cui_swipe_item_begin" }, { "name": "TableCell", "kind": "method", "id": "method|TableCell|1|0|void|nint ui||h58c1c69464959545f2c0c22eb0645330579440d8f636f3602edb6d4218b27d19", "signature": "static void TableCell(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_table_cell" }, { "name": "TableCellText", "kind": "method", "id": "method|TableCellText|1|0|void|nint ui;nint text||hda71654f59a916615205136e685705fde1ced9f7607676b2b05742f84907a3f9", "signature": "static void TableCellText(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "cui_table_cell_text" }, { "name": "TableEnd", "kind": "method", "id": "method|TableEnd|1|0|void|nint ui||hc984d1509de63bf52b50c7a34ca3189a0bb153d3ea71eca8518f7cdbdd00f65c", "signature": "static void TableEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_table_end" }, { "name": "TerminalClear", "kind": "method", "id": "method|TerminalClear|1|0|void|ref NativeTerminalBuffer t||h2c35a3f1e8ac6abb885522cc4abf14b1aba391dfcffdb7e8162392ec1efbac69", "signature": "static void TerminalClear(ref NativeTerminalBuffer t)", "parameters": [{ "name": "t", "type": "ref NativeTerminalBuffer" }], "summary": "cui_terminal_clear" }, { "name": "TerminalInit", "kind": "method", "id": "method|TerminalInit|1|0|void|ref NativeTerminalBuffer t;nint text;nuint textCap;nint lines;int lineCap||hae969ea7a1dcf1b992acba2fc390063b42a9269de36456dc381e9f5d23d2902f", "signature": "static void TerminalInit(ref NativeTerminalBuffer t, nint text, nuint textCap, nint lines, int lineCap)", "parameters": [{ "name": "t", "type": "ref NativeTerminalBuffer" }, { "name": "text", "type": "nint" }, { "name": "textCap", "type": "nuint" }, { "name": "lines", "type": "nint" }, { "name": "lineCap", "type": "int" }], "summary": "cui_terminal_init" }, { "name": "TerminalWrite", "kind": "method", "id": "method|TerminalWrite|1|0|void|ref NativeTerminalBuffer t;nint data;int len||h7db23fca94baa41b713b578a3f7f2eb4edde9296bb42f48ffbc41cacffcab173", "signature": "static void TerminalWrite(ref NativeTerminalBuffer t, nint data, int len)", "parameters": [{ "name": "t", "type": "ref NativeTerminalBuffer" }, { "name": "data", "type": "nint" }, { "name": "len", "type": "int" }], "summary": "cui_terminal_write" }, { "name": "Text", "kind": "method", "id": "method|Text|1|0|void|nint ui;nint text;in NativeTextOpts opts||h272e9e5fd15e3e439624830da1a61bd8173755af5237d17c5de5b35b2b7fcc78", "signature": "static void Text(nint ui, nint text, in NativeTextOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeTextOpts" }], "summary": "cui_text_ex" }, { "name": "TextReveal", "kind": "method", "id": "method|TextReveal|1|0|void|nint ui;nint id;nint text;in NativeTextFxOpts opts||h810e5b8c5623cd79b19e255847e1b2350f771771bc43231ebd67d24fef43bf45", "signature": "static void TextReveal(nint ui, nint id, nint text, in NativeTextFxOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeTextFxOpts" }], "summary": "cui_text_reveal_ex" }, { "name": "Ticker", "kind": "method", "id": "method|Ticker|1|0|void|nint ui;nint id;nint items;int count;in NativeTickerOpts opts||hcf89f408f6d2cc69a1d015b699a290c0ae5b7441df2a83b42e3fb27d70c27db6", "signature": "static void Ticker(nint ui, nint id, nint items, int count, in NativeTickerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeTickerOpts" }], "summary": "cui_ticker_ex" }, { "name": "TimelineItem", "kind": "method", "id": "method|TimelineItem|1|0|void|nint ui;nint title;in NativeTimelineOpts opts||h9b4bdedc14e8242b067d1b691d32b876cb84a64b2324bf04fca99f755cd7d46e", "signature": "static void TimelineItem(nint ui, nint title, in NativeTimelineOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "opts", "type": "in NativeTimelineOpts" }], "summary": "cui_timeline_item_ex" }, { "name": "ToastDismiss", "kind": "method", "id": "method|ToastDismiss|1|0|void|nint ui;int handle||h75880d60348ac0f108d23509a49259435396571a873cbcbfabc7a7ce03565c56", "signature": "static void ToastDismiss(nint ui, int handle)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "handle", "type": "int" }], "summary": "cui_toast_dismiss" }, { "name": "TocAnchor", "kind": "method", "id": "method|TocAnchor|1|0|void|nint ui;nint anchor||hbf2b12d07854201eb614389915564e72b12beaca82777abc523cfd00e4b0202d", "signature": "static void TocAnchor(nint ui, nint anchor)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "anchor", "type": "nint" }], "summary": "cui_toc_anchor" }, { "name": "ToolCall", "kind": "method", "id": "method|ToolCall|1|0|void|nint ui;nint id;nint name;in NativeToolCallOpts opts||hec6f0eb79910da856e82af5251fb47ff3cdd8859d6b96873d1dfaa3e22d9187d", "signature": "static void ToolCall(nint ui, nint id, nint name, in NativeToolCallOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "name", "type": "nint" }, { "name": "opts", "type": "in NativeToolCallOpts" }], "summary": "cui_tool_call_ex" }, { "name": "ToolbarBegin", "kind": "method", "id": "method|ToolbarBegin|1|0|void|nint ui;nint id;in NativeToolbarOpts opts||ha8e07119a1461f0bb5edde4ce58cdc0140369f80e0033f3f208dffb00d98ee5d", "signature": "static void ToolbarBegin(nint ui, nint id, in NativeToolbarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeToolbarOpts" }], "summary": "cui_toolbar_begin" }, { "name": "ToolbarEnd", "kind": "method", "id": "method|ToolbarEnd|1|0|void|nint ui||hb80555fe0cf6dfda93d88a72607be9a5c706625fab680a97936dbf6533b176e3", "signature": "static void ToolbarEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_toolbar_end" }, { "name": "ToolbarSeparator", "kind": "method", "id": "method|ToolbarSeparator|1|0|void|nint ui||h2f525a4e5418c61ca18349feb1c7a95baee6b316f2e23e1d6aa18232e5ec4341", "signature": "static void ToolbarSeparator(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_toolbar_separator" }, { "name": "ToolbarSpacer", "kind": "method", "id": "method|ToolbarSpacer|1|0|void|nint ui||hd061dc8872d0ac7eb8238161e16cb000d93d422443f622ebb1121fae117ed97e", "signature": "static void ToolbarSpacer(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_toolbar_spacer" }, { "name": "Tooltip", "kind": "method", "id": "method|Tooltip|1|0|void|nint ui;nint text||h1f9de01bb16e1558786abe4c1b14699c29b647b8cd8553afed19fc2b4b3caa84", "signature": "static void Tooltip(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "cui_tooltip" }, { "name": "TraceSort", "kind": "method", "id": "method|TraceSort|1|0|void|nint spans;int count||ha66d747d05ad548296f53fcbb98f77b31eae6b02c6b8b6ec977000c7b3fe3a5f", "signature": "static void TraceSort(nint spans, int count)", "parameters": [{ "name": "spans", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "cui_trace_sort" }, { "name": "TreeEnd", "kind": "method", "id": "method|TreeEnd|1|0|void|nint ui||ha713edeffbaee9686dc29a28c602d73338ef0b3cf4fb5902d41efc308ec5b21a", "signature": "static void TreeEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_tree_end" }, { "name": "TreeTableBegin", "kind": "method", "id": "method|TreeTableBegin|1|0|void|nint ui;nint id;nint columns;int columnCount;nint nodes;int nodeCount;in NativeTreeTableOpts opts||hd0eb2658a484bda8296e5b59fad3baf23f8729e625357b5dbf526e06cfecbf42", "signature": "static void TreeTableBegin(nint ui, nint id, nint columns, int columnCount, nint nodes, int nodeCount, in NativeTreeTableOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "columns", "type": "nint" }, { "name": "columnCount", "type": "int" }, { "name": "nodes", "type": "nint" }, { "name": "nodeCount", "type": "int" }, { "name": "opts", "type": "in NativeTreeTableOpts" }], "summary": "cui_tree_table_begin_ex" }, { "name": "TreeTableName", "kind": "method", "id": "method|TreeTableName|1|0|void|nint ui;nint label;nint icon||h0751fd004c88e946e3cf26f6e5601c4d76cd57fd60d2086a0ff269e9d881a24c", "signature": "static void TreeTableName(nint ui, nint label, nint icon)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "icon", "type": "nint" }], "summary": "cui_tree_table_name" }, { "name": "TypingIndicator", "kind": "method", "id": "method|TypingIndicator|1|0|void|nint ui;nint name||hd81aef062aabdc6d41e05b88c87b46aefd6e009c83910f8ed3f0426342c0c825", "signature": "static void TypingIndicator(nint ui, nint name)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "name", "type": "nint" }], "summary": "cui_typing_indicator" }, { "name": "UserMenuEnd", "kind": "method", "id": "method|UserMenuEnd|1|0|void|nint ui||h9f762ffe81925fac89d4361eb1562a613e9eaa270d61fd325ab25799fa0afe27", "signature": "static void UserMenuEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_user_menu_end" }, { "name": "VirtualListBegin", "kind": "method", "id": "method|VirtualListBegin|1|0|void|nint ui;nint id;int count;float rowHeight;NativeSize height;ref int first;ref int last||ha61ead8705d1939e2b7fe69f251360a61fe18faef67fa9137031b1fe6ce05ff1", "signature": "static void VirtualListBegin(nint ui, nint id, int count, float rowHeight, NativeSize height, ref int first, ref int last)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "rowHeight", "type": "float" }, { "name": "height", "type": "NativeSize" }, { "name": "first", "type": "ref int" }, { "name": "last", "type": "ref int" }], "summary": "cui_virtual_list_begin" }, { "name": "VirtualListEnd", "kind": "method", "id": "method|VirtualListEnd|1|0|void|nint ui||h17bfe0f38637d279b00163d916474f0367149d134f26d7350a37198637c0da59", "signature": "static void VirtualListEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_virtual_list_end" }, { "name": "WordRotate", "kind": "method", "id": "method|WordRotate|1|0|void|nint ui;nint id;nint words;int count;float interval;in NativeTextFxOpts opts||he94d507dcc15d0bcfc24aaaa9f83e04c779d69d75f151da8f8f8749dac8b28c2", "signature": "static void WordRotate(nint ui, nint id, nint words, int count, float interval, in NativeTextFxOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "words", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "interval", "type": "float" }, { "name": "opts", "type": "in NativeTextFxOpts" }], "summary": "cui_word_rotate_ex" }] }, - { "name": "CuiSharp.Interop.NativeAgentPlanOpts", "displayName": "NativeAgentPlanOpts", "kind": "struct", "summary": "cui_agent_plan_opts, 16 bytes.", "members": [{ "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeAgentStatusOpts", "displayName": "NativeAgentStatusOpts", "kind": "struct", "summary": "cui_agent_status_opts, 24 bytes.", "members": [{ "name": "Status", "kind": "field", "id": "field|Status|0|0|CuiTaskStatus|||hc70e5654f5e0b77ce9da45f798c273c2ac66019dc100160d6f02b89ccf377bba", "signature": "public CuiTaskStatus Status", "summary": "cui_task_status (offset 4)" }, { "name": "Seconds", "kind": "field", "id": "field|Seconds|0|0|float|||hb2b6bfb7a4abde73c46fe03cfd0492620c03edc110332cec5c1c257b49ebec83", "signature": "public float Seconds", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeAlertOpts", "displayName": "NativeAlertOpts", "kind": "struct", "summary": "cui_alert_opts, 40 bytes.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 16)" }, { "name": "Dismissible", "kind": "field", "id": "field|Dismissible|0|0|byte|||h3a9a514414e8a3ecdae7b6c0427c4f7e74781101755b94b83ff8501a761b98fa", "signature": "public byte Dismissible", "summary": "_Bool (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeAllocator", "displayName": "NativeAllocator", "kind": "struct", "summary": "cui_allocator, 32 bytes.", "members": [{ "name": "Alloc", "kind": "field", "id": "field|Alloc|0|0|nint|||h008f8ed9c545969f3618469bfbdb960809941ae71c353e66c3783bc0e897bd86", "signature": "public nint Alloc", "summary": "void *(*)(size_t, void *) (offset 0)" }, { "name": "Free", "kind": "field", "id": "field|Free|0|0|nint|||h2b0ee121ff0eea411e91116f99e57c9d169fd8013409c5074adba7bf1338974b", "signature": "public nint Free", "summary": "void (*)(void *, void *) (offset 16)" }, { "name": "Realloc", "kind": "field", "id": "field|Realloc|0|0|nint|||hfb9838851c5f25308e1da0489fcc12e941a79aedf7acce9d5093aeba36fa76fe", "signature": "public nint Realloc", "summary": "void *(*)(void *, size_t, void *) (offset 8)" }, { "name": "User", "kind": "field", "id": "field|User|0|0|nint|||hbb8b86031509e9566eb92455c659fd89532fcd8a35724b86f43a45f38dc8e34f", "signature": "public nint User", "summary": "void * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeApiEndpoint", "displayName": "NativeApiEndpoint", "kind": "struct", "summary": "cui_api_endpoint, 56 bytes.", "members": [{ "name": "Deprecated", "kind": "field", "id": "field|Deprecated|0|0|byte|||h118d1356fb24fc834db797c62dc912f5c50347fe56e7c7621c9993ea487c27d8", "signature": "public byte Deprecated", "summary": "_Bool (offset 32)" }, { "name": "ParamCount", "kind": "field", "id": "field|ParamCount|0|0|int|||ha28b8117e80b2618337252b05244c82cc8197210fd8cfaa4612313257de71369", "signature": "public int ParamCount", "summary": "int (offset 48)" }, { "name": "Method", "kind": "field", "id": "field|Method|0|0|nint|||h123da31d283a687cfb3fc23d6dc7a6d0bf14af9e0cd472e209f6019e3b48bd09", "signature": "public nint Method", "summary": "const char * (offset 0)" }, { "name": "Params", "kind": "field", "id": "field|Params|0|0|nint|||h32e76c35cfb0857d4a19444471d9dda92debe0f324d84f5f4d0a7a2578edbb5d", "signature": "public nint Params", "summary": "const cui_api_param * (offset 40)" }, { "name": "Path", "kind": "field", "id": "field|Path|0|0|nint|||h8bba30a3af23f0921f87758138aaec20cd68b286c4244f14af28ea447646c5f3", "signature": "public nint Path", "summary": "const char * (offset 8)" }, { "name": "Summary", "kind": "field", "id": "field|Summary|0|0|nint|||h256f1fb1795e5df56b6da0ba33cf4c905459dc6d5e01539977148ac9a7e35d98", "signature": "public nint Summary", "summary": "const char * (offset 16)" }, { "name": "Tag", "kind": "field", "id": "field|Tag|0|0|nint|||h8e8f4162f0ef376dc891e10b9d854f04a09049bc3f9c6ef49fd11d1e3283c552", "signature": "public nint Tag", "summary": "const char * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeApiExplorerOpts", "displayName": "NativeApiExplorerOpts", "kind": "struct", "summary": "cui_api_explorer_opts, 24 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "int * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeApiExplorerResult", "displayName": "NativeApiExplorerResult", "kind": "struct", "summary": "cui_api_explorer_result, 8 bytes.", "members": [{ "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "int (offset 0)" }, { "name": "TryIt", "kind": "field", "id": "field|TryIt|0|0|int|||h5b7497c7ff57eca579c0220484ed786050570c5aa1615b0f5118bc1ae8af3b74", "signature": "public int TryIt", "summary": "int (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeApiParam", "displayName": "NativeApiParam", "kind": "struct", "summary": "cui_api_param, 40 bytes.", "members": [{ "name": "Required", "kind": "field", "id": "field|Required|0|0|byte|||h1a3af43b954883cd8432d9b5221a16371cd78abed44f2f2fbcfef531a562c34b", "signature": "public byte Required", "summary": "_Bool (offset 24)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 32)" }, { "name": "In", "kind": "field", "id": "field|In|0|0|nint|||h63687a4cc9c3aa327d17f7a3675e77e3cdff1e19aabfd8647bad98e3874e5f5b", "signature": "public nint In", "summary": "const char * (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }, { "name": "Type", "kind": "field", "id": "field|Type|0|0|nint|||h08ef46c97f44246852387cb0db61193354036168da9659fe690b19c9be180ecd", "signature": "public nint Type", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeAppDesc", "displayName": "NativeAppDesc", "kind": "struct", "summary": "cui_app_desc, 48 bytes.", "members": [{ "name": "Accent", "kind": "field", "id": "field|Accent|0|0|Accent|||h71052de13333411c0ea4ea9fd862bffc6c17770b3cd6a8d9e8d2bd9946427e80", "signature": "public Accent Accent", "summary": "cui_accent (offset 36)" }, { "name": "Renderer", "kind": "field", "id": "field|Renderer|0|0|Renderer|||h02bb378d95b6dccf4c48468a5cedcc8a1eb5e62c8b3f6def255345e2084c71da", "signature": "public Renderer Renderer", "summary": "cui_renderer_kind (offset 28)" }, { "name": "Theme", "kind": "field", "id": "field|Theme|0|0|Theme|||hc03062bcd5b400bad341e4abf4eced6f575572c853644893313e624c9667b6d8", "signature": "public Theme Theme", "summary": "cui_theme_mode (offset 32)" }, { "name": "Continuous", "kind": "field", "id": "field|Continuous|0|0|byte|||hf2b455e067c03fa095924e6359e38896423f8b87f43c5ff9421e149e2d79a771", "signature": "public byte Continuous", "summary": "_Bool (offset 25)" }, { "name": "FixedSize", "kind": "field", "id": "field|FixedSize|0|0|byte|||h3539fe6510c42c32f38f915daf424b43ed63fcbab6906963bf5878728a51d14d", "signature": "public byte FixedSize", "summary": "_Bool (offset 24)" }, { "name": "FollowSystemTheme", "kind": "field", "id": "field|FollowSystemTheme|0|0|byte|||h04801d61686302d7b69f7876e01e91e976b87da820e0e1d33f4666700f2da5ab", "signature": "public byte FollowSystemTheme", "summary": "_Bool (offset 40)" }, { "name": "Hidden", "kind": "field", "id": "field|Hidden|0|0|byte|||h09d64fd87a2ea3d6dc71208d5d191ef6983ee56f643ddde81b958e84c34b17b8", "signature": "public byte Hidden", "summary": "_Bool (offset 27)" }, { "name": "NoVsync", "kind": "field", "id": "field|NoVsync|0|0|byte|||ha03bf38afb5c85107eca7224756dd2dea79fd3efc171f22b28d872ae5f390e35", "signature": "public byte NoVsync", "summary": "_Bool (offset 26)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|int|||h52495b8092c70bc2ab79420020dea8829a5d21b13502d02d4d3876b4e6344385", "signature": "public int Height", "summary": "int (offset 12)" }, { "name": "MinHeight", "kind": "field", "id": "field|MinHeight|0|0|int|||ha9923860663e934851ae42ff98e9dfb070366310ecc14f385685bbc3585bbf65", "signature": "public int MinHeight", "summary": "int (offset 20)" }, { "name": "MinWidth", "kind": "field", "id": "field|MinWidth|0|0|int|||h4c1c24fa7ad7638870d99dd112c1f3bee470dbea9a43f4a22238041222847345", "signature": "public int MinWidth", "summary": "int (offset 16)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|int|||ha520b8ffe64569abde298f583f1cebdf54a0fcf8f8c03a737243848cb9cd9ae5", "signature": "public int Width", "summary": "int (offset 8)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeAvatarOpts", "displayName": "NativeAvatarOpts", "kind": "struct", "summary": "cui_avatar_opts, 32 bytes.", "members": [{ "name": "Square", "kind": "field", "id": "field|Square|0|0|byte|||h8271ae9bf49e9464a144633f5391cf90166c1b6df513611e60cdf9c987f3a4d9", "signature": "public byte Square", "summary": "_Bool (offset 24)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|nint|||h5eb064e9f4d4ca19be69b5617dddc7619d74afabd85bd1578dc70d05818e080a", "signature": "public nint Status", "summary": "const char * (offset 16)" }, { "name": "Image", "kind": "field", "id": "field|Image|0|0|nuint|||hde12e2664af440184d2bb6e1b9e23d1b0129ddc2beb2f73e0e61d1dd4992031e", "signature": "public nuint Image", "summary": "cui_texture (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeBadgeOpts", "displayName": "NativeBadgeOpts", "kind": "struct", "summary": "cui_badge_opts, 32 bytes.", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 24)" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 4)" }, { "name": "Dot", "kind": "field", "id": "field|Dot|0|0|byte|||h3ae15341111db9635d36c494735d2956621314bfb54e9984860313e9b5a6a292", "signature": "public byte Dot", "summary": "_Bool (offset 8)" }, { "name": "Solid", "kind": "field", "id": "field|Solid|0|0|byte|||h7eea20659a45a5ea7894a8523b52271603fb5b4c884a1b3440fbdbeee4c65b06", "signature": "public byte Solid", "summary": "_Bool (offset 9)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeBannerOpts", "displayName": "NativeBannerOpts", "kind": "struct", "summary": "cui_banner_opts, 32 bytes.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 4)" }, { "name": "Dismissible", "kind": "field", "id": "field|Dismissible|0|0|byte|||h3a9a514414e8a3ecdae7b6c0427c4f7e74781101755b94b83ff8501a761b98fa", "signature": "public byte Dismissible", "summary": "_Bool (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|nint|||h7dfe2a16d24f5ae17516623e6e776336e0c9174236c2f3e6d25910fcd1c88c17", "signature": "public nint Action", "summary": "const char * (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeBarListOpts", "displayName": "NativeBarListOpts", "kind": "struct", "summary": "cui_bar_list_opts, 40 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 29)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "KeepOrder", "kind": "field", "id": "field|KeepOrder|0|0|byte|||hfbebf017a95d56629f37455bf04c5c22d795a9eefb6852d664cef873fcce979d", "signature": "public byte KeepOrder", "summary": "_Bool (offset 28)" }, { "name": "MaxRows", "kind": "field", "id": "field|MaxRows|0|0|int|||h82a530e961fd20944667ea1ad6f4d328cd4ce0e5c238e091ebaa74d2086ed486", "signature": "public int MaxRows", "summary": "int (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeBlameCommit", "displayName": "NativeBlameCommit", "kind": "struct", "summary": "cui_blame_commit, 32 bytes.", "members": [{ "name": "Time", "kind": "field", "id": "field|Time|0|0|long|||h382e39ea1b3f79836fb7922bfa24e88b592f7f612357f065c055e7b46e60270d", "signature": "public long Time", "summary": "int64_t (offset 24)" }, { "name": "Author", "kind": "field", "id": "field|Author|0|0|nint|||h42259eda4a5cd5217e3ff4e52e5ab08ff4edda9240aaa452d4af2589b41bd856", "signature": "public nint Author", "summary": "const char * (offset 8)" }, { "name": "Hash", "kind": "field", "id": "field|Hash|0|0|nint|||he32f0dd10af599ae75494fa806f33e8cdb244a3710820ad4341060ace91d091b", "signature": "public nint Hash", "summary": "const char * (offset 0)" }, { "name": "Summary", "kind": "field", "id": "field|Summary|0|0|nint|||h256f1fb1795e5df56b6da0ba33cf4c905459dc6d5e01539977148ac9a7e35d98", "signature": "public nint Summary", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeBlameOpts", "displayName": "NativeBlameOpts", "kind": "struct", "summary": "cui_blame_opts, 40 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "FirstLine", "kind": "field", "id": "field|FirstLine|0|0|int|||h1ab09d25eaa64ebab6cfe486404f0958dc364ecc142585baf2abf1130d0833f3", "signature": "public int FirstLine", "summary": "int (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Now", "kind": "field", "id": "field|Now|0|0|long|||h949d29ec25550cd1c5e589c99b5e39471c9584ce47315d26d5fa02dc132525d7", "signature": "public long Now", "summary": "int64_t (offset 24)" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|nint|||h47e017876cc656beadab67c2a3da7d17ebe65dbbb9bf477edfc76ac1167c397a", "signature": "public nint Lang", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeBlameResult", "displayName": "NativeBlameResult", "kind": "struct", "summary": "cui_blame_result, 8 bytes.", "members": [{ "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "int (offset 0)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "int (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeBox", "displayName": "NativeBox", "kind": "struct", "summary": "cui_box, 152 bytes.", "members": [{ "name": "Align", "kind": "field", "id": "field|Align|0|0|Align|||hbfab2ef993c61054e2f8f5ce6be2dad9452bc3394d4804b70659bacd284f6875", "signature": "public Align Align", "summary": "cui_align (offset 96)" }, { "name": "Dir", "kind": "field", "id": "field|Dir|0|0|Dir|||h4234b97a5550923f99238823065b45fc864e22c26f0c83f8c84555cb61b7d89b", "signature": "public Dir Dir", "summary": "cui_dir (offset 16)" }, { "name": "Direction", "kind": "field", "id": "field|Direction|0|0|Direction|||h894fea11f583bab4f597860149502f9c496b27b2c30b238beaf6828e963d3be0", "signature": "public Direction Direction", "summary": "cui_direction (offset 148)" }, { "name": "Elevation", "kind": "field", "id": "field|Elevation|0|0|Elevation|||he0a7c311160b4a1eff39232663778806740ff0dbee335caec9c9e85ca308541e", "signature": "public Elevation Elevation", "summary": "cui_elevation (offset 136)" }, { "name": "Justify", "kind": "field", "id": "field|Justify|0|0|Justify|||hf004d9d46fdf7b0e648b8005eefcd94a2875126011393877c0f22d333513e2ef", "signature": "public Justify Justify", "summary": "cui_justify (offset 100)" }, { "name": "Bg", "kind": "field", "id": "field|Bg|0|0|NativeColor|||h6f869c9680b9bcadaa8163f1a7b4c921422de3cd091b4aec5a79f6a6f73907b3", "signature": "public NativeColor Bg", "summary": "cui_color (offset 104)" }, { "name": "BorderColor", "kind": "field", "id": "field|BorderColor|0|0|NativeColor|||h6c242cb21110bdcec7298ca27c1f6fe09c2e439c7c00a703fbb920a55723822b", "signature": "public NativeColor BorderColor", "summary": "cui_color (offset 108)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 28)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 20)" }, { "name": "Clip", "kind": "field", "id": "field|Clip|0|0|byte|||h87b02ea94fec37cb7fee0351f29041bc6b6199f026a41ad462f237f50b98bec3", "signature": "public byte Clip", "summary": "_Bool (offset 142)" }, { "name": "ScrollX", "kind": "field", "id": "field|ScrollX|0|0|byte|||hcb881677d4e52dd63807646ee0838816375200eb04840f0477e671f96bcdfc1f", "signature": "public byte ScrollX", "summary": "_Bool (offset 140)" }, { "name": "ScrollY", "kind": "field", "id": "field|ScrollY|0|0|byte|||hf4eebbb4e6a3c9f46c66487c90fcd6b5dfaed09e9c01caa1daf7467bacbc1743", "signature": "public byte ScrollY", "summary": "_Bool (offset 141)" }, { "name": "Wrap", "kind": "field", "id": "field|Wrap|0|0|byte|||h6a568b83b5ebf923fcc8d84bac649c39f1522c51c4635ba194b84fe57992fecf", "signature": "public byte Wrap", "summary": "_Bool (offset 92)" }, { "name": "Border", "kind": "field", "id": "field|Border|0|0|float|||h4bb5750724304a562c69bb723b5db8d43e5846d3b78c2e66ad01710cdfbf5191", "signature": "public float Border", "summary": "float (offset 112)" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float (offset 80)" }, { "name": "MaxHeight", "kind": "field", "id": "field|MaxHeight|0|0|float|||h362fb387f8c873f790106e0085b293b9836b14ef629bd38f56f23e0483ef699f", "signature": "public float MaxHeight", "summary": "float (offset 48)" }, { "name": "MaxWidth", "kind": "field", "id": "field|MaxWidth|0|0|float|||h6955c9491dc05b5aeba77dc176d769dc41bee5636e74696cc5ac75aede49296b", "signature": "public float MaxWidth", "summary": "float (offset 40)" }, { "name": "MinColumnWidth", "kind": "field", "id": "field|MinColumnWidth|0|0|float|||h3bf72f06ae16007da1aa4132cf4b98d6c659d256b3af795fc2b66943463ec497", "signature": "public float MinColumnWidth", "summary": "float (offset 88)" }, { "name": "MinHeight", "kind": "field", "id": "field|MinHeight|0|0|float|||ha292b3b72be6a5893414fe5fc78e9c3c32fdca9ee4f85aaeb3161e6842440033", "signature": "public float MinHeight", "summary": "float (offset 44)" }, { "name": "MinWidth", "kind": "field", "id": "field|MinWidth|0|0|float|||h7e959c77177556152f99de8073ad52de6c88f583955bbebe8b717d02776d9e64", "signature": "public float MinWidth", "summary": "float (offset 36)" }, { "name": "Opacity", "kind": "field", "id": "field|Opacity|0|0|float|||hde7eb5efb94b5e9dd209e0982456759c12c57b2c83531f251a12e65cbe6b1e13", "signature": "public float Opacity", "summary": "float (offset 144)" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float (offset 52)" }, { "name": "PadBottom", "kind": "field", "id": "field|PadBottom|0|0|float|||hc1c67a6a2548abf224e047c651d6a7cb45329e967b322af5dfe524a07f5e2620", "signature": "public float PadBottom", "summary": "float (offset 72)" }, { "name": "PadLeft", "kind": "field", "id": "field|PadLeft|0|0|float|||h70bf8d58e7c7a29cfdb6a63424ba305385f7538afd0181c1518eee1ed9f61b1b", "signature": "public float PadLeft", "summary": "float (offset 76)" }, { "name": "PadRight", "kind": "field", "id": "field|PadRight|0|0|float|||h47fc325b4ba851dd9c4be8407fc7051641fbb4f71aae1b8cd4448ca21bb0f8b6", "signature": "public float PadRight", "summary": "float (offset 68)" }, { "name": "PadTop", "kind": "field", "id": "field|PadTop|0|0|float|||hbb5c17b3bf02fb73ab1351bef2ea7c7446fa1d77e66e8a8fa1077ff4b5f0ba3e", "signature": "public float PadTop", "summary": "float (offset 64)" }, { "name": "PadX", "kind": "field", "id": "field|PadX|0|0|float|||h173de26af4d61cccda65dc4e4a2134425ccb87e453814b3fc09477116f152937", "signature": "public float PadX", "summary": "float (offset 56)" }, { "name": "PadY", "kind": "field", "id": "field|PadY|0|0|float|||he7a54032c34537ad78c4c2a6e6dcd1656a79aa395a54ecd5a4ed46c891e7cf37", "signature": "public float PadY", "summary": "float (offset 60)" }, { "name": "Radius", "kind": "field", "id": "field|Radius|0|0|float|||h565c7c94c17c4e0d68e71b97e4dacf48df705124ce26655589804f82ae3a5afe", "signature": "public float Radius", "summary": "float (offset 116)" }, { "name": "RadiusBl", "kind": "field", "id": "field|RadiusBl|0|0|float|||h9dd1fafd2e82c84b61ae611cdc8a30354ae3db4a16a977547d65e6ba6c8f29cf", "signature": "public float RadiusBl", "summary": "float (offset 132)" }, { "name": "RadiusBr", "kind": "field", "id": "field|RadiusBr|0|0|float|||h2234ef53764aea1f5c8535a3bf90ae370665341580a63b651f5d700ac65573ed", "signature": "public float RadiusBr", "summary": "float (offset 128)" }, { "name": "RadiusTl", "kind": "field", "id": "field|RadiusTl|0|0|float|||he23d55a47528087e12871dd0cfa80caa841145f35df4ceb0535f6351d0d1e78b", "signature": "public float RadiusTl", "summary": "float (offset 120)" }, { "name": "RadiusTr", "kind": "field", "id": "field|RadiusTr|0|0|float|||hb0e758616eae542125924701530e0fd1f7106694d1eb38533996552033f3bac6", "signature": "public float RadiusTr", "summary": "float (offset 124)" }, { "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "int (offset 84)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Id", "kind": "field", "id": "field|Id|0|0|nint|||h776d0e60aed221d94e76ec8f19e3fe1a92e74b03003d575f9b4eaa98ff45a530", "signature": "public nint Id", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeButtonOpts", "displayName": "NativeButtonOpts", "kind": "struct", "summary": "cui_button_opts, 72 bytes.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "cui_button_variant (offset 4)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 8)" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 64)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 56)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 32)" }, { "name": "FullWidth", "kind": "field", "id": "field|FullWidth|0|0|byte|||hd01f4e7d92479240099d4691e65654bcd8a680160c7cec92dbd21a81d9339563", "signature": "public byte FullWidth", "summary": "_Bool (offset 34)" }, { "name": "Loading", "kind": "field", "id": "field|Loading|0|0|byte|||h20a09ddc6a79c663a1d4f8d2042bef2401f8094388c708c582468cf01c1a7c8e", "signature": "public byte Loading", "summary": "_Bool (offset 33)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|byte|||h48f54c1c7f1477a898313a8a1128d8456b17a09db15f6c9d1b8c0f9629b7fdf5", "signature": "public byte Selected", "summary": "_Bool (offset 35)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 16)" }, { "name": "IconRight", "kind": "field", "id": "field|IconRight|0|0|nint|||he262569cc3c6864a108c94fc21aea5e54176cde0382004e0e7ec9c1afae1ecbb", "signature": "public nint IconRight", "summary": "const char * (offset 24)" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|nint|||hc6bbf869e5f430ce1cb0bb80bcc43a44ef490242700d9eccaf018d9378a8f2dd", "signature": "public nint Shortcut", "summary": "const char * (offset 48)" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|nint|||hccbc32a161449afe62353b5d908ca3da9aecdd74fe8acbce624e4004ec4575e7", "signature": "public nint Tooltip", "summary": "const char * (offset 40)" }] }, - { "name": "CuiSharp.Interop.NativeCalEvent", "displayName": "NativeCalEvent", "kind": "struct", "summary": "cui_cal_event, 32 bytes.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 28)" }, { "name": "End", "kind": "field", "id": "field|End|0|0|float|||h746aa4735d52d974b98a908b8c756c9e0c0f37203b3999ab7359e161064f649d", "signature": "public float End", "summary": "float (offset 24)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|float|||ha3e89c7d95d80cd26b26f17ad97c1dd953e50a5774663a52471d8a17579c8978", "signature": "public float Start", "summary": "float (offset 20)" }, { "name": "Day", "kind": "field", "id": "field|Day|0|0|int|||h40d69339a69f05f7a1cf0fdcf537358258767e30cc6d07e430cb48196d28a0e1", "signature": "public int Day", "summary": "int (offset 16)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "const char * (offset 8)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeCalendarHeatmapOpts", "displayName": "NativeCalendarHeatmapOpts", "kind": "struct", "summary": "cui_calendar_heatmap_opts, 32 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 8)" }, { "name": "Cell", "kind": "field", "id": "field|Cell|0|0|float|||hf561982788f651cf6be459cbdafa3d95b9d0eec610073c6be9f8ee75925d3d45", "signature": "public float Cell", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|nint|||h708409b7ee1912ab128b9f78a22e55e9f298402bb842be865ac89fa44f207c93", "signature": "public nint Unit", "summary": "const char * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeCandle", "displayName": "NativeCandle", "kind": "struct", "summary": "cui_candle, 20 bytes.", "members": [{ "name": "Close", "kind": "field", "id": "field|Close|0|0|float|||hdbf413c58a9f47dea0a50fed460dbd93d29daa77401f940f16af6251e2028722", "signature": "public float Close", "summary": "float (offset 12)" }, { "name": "High", "kind": "field", "id": "field|High|0|0|float|||h8d86ceb8300b405923f523b6dfd491fceedb9688753dea5f6c0ed797466bffb1", "signature": "public float High", "summary": "float (offset 4)" }, { "name": "Low", "kind": "field", "id": "field|Low|0|0|float|||h5bec759be4f0ae85b0ce5535aeb5d662da36d7c794ada46efc1c76f1e46fbd11", "signature": "public float Low", "summary": "float (offset 8)" }, { "name": "Open", "kind": "field", "id": "field|Open|0|0|float|||hc9eb0b7a2eda17a016265abb4149c4d6320d1a0ad9e2d574af040fea57e2b535", "signature": "public float Open", "summary": "float (offset 0)" }, { "name": "Volume", "kind": "field", "id": "field|Volume|0|0|float|||h4e862718c5c149dfe923f34f73565a8823a0e676880e4f814cc54cf696444405", "signature": "public float Volume", "summary": "float (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeCandlestickOpts", "displayName": "NativeCandlestickOpts", "kind": "struct", "summary": "cui_candlestick_opts, 56 bytes.", "members": [{ "name": "Down", "kind": "field", "id": "field|Down|0|0|NativeColor|||h1d93d88dd7af41d779829138ba47cee1a6470acb6ca713705fe15371dcdfba46", "signature": "public NativeColor Down", "summary": "cui_color (offset 50)" }, { "name": "Up", "kind": "field", "id": "field|Up|0|0|NativeColor|||h6c614ddfd4c7a017e934dabe7b14d544bd135b07cb7e407ba5ca9c623727efc5", "signature": "public NativeColor Up", "summary": "cui_color (offset 46)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoVolume", "kind": "field", "id": "field|NoVolume|0|0|byte|||ha6f36cb4a8eda5ebb266df5faa191299bd09d69efb7fb8902bcb7b006b0ffb37", "signature": "public byte NoVolume", "summary": "_Bool (offset 44)" }, { "name": "Ohlc", "kind": "field", "id": "field|Ohlc|0|0|byte|||h1e30ff96134fc3b7acf81409678eab06a6554790f0c50ab9be0186be2d0ce454", "signature": "public byte Ohlc", "summary": "_Bool (offset 45)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "OverlayCount", "kind": "field", "id": "field|OverlayCount|0|0|int|||ha8d99630aed0348e05d42fcd4a15671c1288e5c9fb38a9067b57636b13b7a171", "signature": "public int OverlayCount", "summary": "int (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 24)" }, { "name": "Labels", "kind": "field", "id": "field|Labels|0|0|nint|||h0891cfd95c52c3d740759d7929c72841b5dbbfe2ec9c515f56c7e5d7f437cf1c", "signature": "public nint Labels", "summary": "const char *const * (offset 16)" }, { "name": "Overlays", "kind": "field", "id": "field|Overlays|0|0|nint|||h021a199bb5e2c7a0a556a28b5ae8d86ad089d753201dbb356fcc37d440c86007", "signature": "public nint Overlays", "summary": "const cui_series * (offset 32)" }] }, - { "name": "CuiSharp.Interop.NativeCanvasResult", "displayName": "NativeCanvasResult", "kind": "struct", "summary": "cui_canvas_result, 28 bytes.", "members": [{ "name": "Rect", "kind": "field", "id": "field|Rect|0|0|NativeRect|||h964ee6adc69a0c4dfcb768a65e0bd2593f7822cdb42a503c61eb22297e35e501", "signature": "public NativeRect Rect", "summary": "cui_rect (offset 0)" }, { "name": "Mouse", "kind": "field", "id": "field|Mouse|0|0|NativeVec2|||h4864848e36236e0fb4802b34934376806309db6f11dfce83ac4ce023859b8bc5", "signature": "public NativeVec2 Mouse", "summary": "cui_vec2 (offset 20)" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|byte|||ha05657db5453f9006479c7302f1de41db5688caa6f77ee5b281698777aae4c92", "signature": "public byte Clicked", "summary": "_Bool (offset 18)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|byte|||h4785e3188428a52694c64922b42544b998ea3d0d8b2bcc971ccfdabce4e24659", "signature": "public byte Hovered", "summary": "_Bool (offset 16)" }, { "name": "Pressed", "kind": "field", "id": "field|Pressed|0|0|byte|||hb6470ad375156d9021a10d87080ef8f821c05fe70f0cfaf89c7856934425b3a7", "signature": "public byte Pressed", "summary": "_Bool (offset 17)" }] }, - { "name": "CuiSharp.Interop.NativeCardOpts", "displayName": "NativeCardOpts", "kind": "struct", "summary": "cui_card_opts, 72 bytes.", "members": [{ "name": "Align", "kind": "field", "id": "field|Align|0|0|Align|||hbfab2ef993c61054e2f8f5ce6be2dad9452bc3394d4804b70659bacd284f6875", "signature": "public Align Align", "summary": "cui_align (offset 60)" }, { "name": "Dir", "kind": "field", "id": "field|Dir|0|0|Dir|||h4234b97a5550923f99238823065b45fc864e22c26f0c83f8c84555cb61b7d89b", "signature": "public Dir Dir", "summary": "cui_dir (offset 56)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 16)" }, { "name": "Hoverable", "kind": "field", "id": "field|Hoverable|0|0|byte|||hf8a7939bb5942cafd3e7e6eb20598fe4f669ee8209d65f33197f45e54bd2f8ae", "signature": "public byte Hoverable", "summary": "_Bool (offset 65)" }, { "name": "Muted", "kind": "field", "id": "field|Muted|0|0|byte|||hd394c2e19613033efcc4a61fa3171f5cdac77c142705edaa16ede4fb74398475", "signature": "public byte Muted", "summary": "_Bool (offset 66)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|byte|||h48f54c1c7f1477a898313a8a1128d8456b17a09db15f6c9d1b8c0f9629b7fdf5", "signature": "public byte Selected", "summary": "_Bool (offset 67)" }, { "name": "Wrap", "kind": "field", "id": "field|Wrap|0|0|byte|||h6a568b83b5ebf923fcc8d84bac649c39f1522c51c4635ba194b84fe57992fecf", "signature": "public byte Wrap", "summary": "_Bool (offset 64)" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float (offset 52)" }, { "name": "MaxWidth", "kind": "field", "id": "field|MaxWidth|0|0|float|||h6955c9491dc05b5aeba77dc176d769dc41bee5636e74696cc5ac75aede49296b", "signature": "public float MaxWidth", "summary": "float (offset 36)" }, { "name": "MinWidth", "kind": "field", "id": "field|MinWidth|0|0|float|||h7e959c77177556152f99de8073ad52de6c88f583955bbebe8b717d02776d9e64", "signature": "public float MinWidth", "summary": "float (offset 32)" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float (offset 40)" }, { "name": "PadX", "kind": "field", "id": "field|PadX|0|0|float|||h173de26af4d61cccda65dc4e4a2134425ccb87e453814b3fc09477116f152937", "signature": "public float PadX", "summary": "float (offset 44)" }, { "name": "PadY", "kind": "field", "id": "field|PadY|0|0|float|||he7a54032c34537ad78c4c2a6e6dcd1656a79aa395a54ecd5a4ed46c891e7cf37", "signature": "public float PadY", "summary": "float (offset 48)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Id", "kind": "field", "id": "field|Id|0|0|nint|||h776d0e60aed221d94e76ec8f19e3fe1a92e74b03003d575f9b4eaa98ff45a530", "signature": "public nint Id", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeCardStackOpts", "displayName": "NativeCardStackOpts", "kind": "struct", "summary": "cui_card_stack_opts, 20 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Visible", "kind": "field", "id": "field|Visible|0|0|int|||h4fdf87b1e77faeb11e5326e71ffb6338d699f8b49d4a214a0b6bef7bf1309566", "signature": "public int Visible", "summary": "int (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeCarouselOpts", "displayName": "NativeCarouselOpts", "kind": "struct", "summary": "cui_carousel_opts, 20 bytes.", "members": [{ "name": "Loop", "kind": "field", "id": "field|Loop|0|0|byte|||h3ea3d61078da90ba0c3355d3ef0183631b189a2445b74ebdb98d33d3479d2b7e", "signature": "public byte Loop", "summary": "_Bool (offset 18)" }, { "name": "NoArrows", "kind": "field", "id": "field|NoArrows|0|0|byte|||h7a6a12415b4c6dab1df3ff5c83c6bb25f115313482e4ca44ed78af5fc6a75854", "signature": "public byte NoArrows", "summary": "_Bool (offset 16)" }, { "name": "NoDots", "kind": "field", "id": "field|NoDots|0|0|byte|||hf9ef934ce44c465e4ec7f41621759281b8a5473953f2999e98657ef9ea08ba38", "signature": "public byte NoDots", "summary": "_Bool (offset 17)" }, { "name": "AutoAdvance", "kind": "field", "id": "field|AutoAdvance|0|0|float|||h33329d1b2d0ca9a63bdd777428459fd84fbfa04489f913ad51d47d16c7581b9c", "signature": "public float AutoAdvance", "summary": "float (offset 8)" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float (offset 12)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeChartOpts", "displayName": "NativeChartOpts", "kind": "struct", "summary": "cui_chart_opts, 56 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Area", "kind": "field", "id": "field|Area|0|0|byte|||he8d3e8e8bb4ce63a9137e3d4828bc93f823171d1a6f241ca48772fa8dc7c11c5", "signature": "public byte Area", "summary": "_Bool (offset 28)" }, { "name": "NoGrid", "kind": "field", "id": "field|NoGrid|0|0|byte|||h026f953f32349519b56ea40bf2b85e0b94dcd1027cc2c5b4a4388f7196a50566", "signature": "public byte NoGrid", "summary": "_Bool (offset 29)" }, { "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|byte|||h1f8a110b3f30258fe29c926542fc3ebe7571478d3c055e1b3267d8e06e0b33f4", "signature": "public byte NoLegend", "summary": "_Bool (offset 30)" }, { "name": "Smooth", "kind": "field", "id": "field|Smooth|0|0|byte|||h8b09e18311bbb164f88305b5cff80844717a74f7fa25b154b9b3c08afe4cdcc0", "signature": "public byte Smooth", "summary": "_Bool (offset 32)" }, { "name": "Stacked", "kind": "field", "id": "field|Stacked|0|0|byte|||h693692fdffed29590d3fe4ff4aa98f0b1a5a647b80ba9fbd6a002ea4005f895f", "signature": "public byte Stacked", "summary": "_Bool (offset 31)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "float (offset 52)" }, { "name": "Min", "kind": "field", "id": "field|Min|0|0|float|||h81101b82558caea906d5838961d5313f13c99e7d68f18285b0cf84040f989d8a", "signature": "public float Min", "summary": "float (offset 48)" }, { "name": "LabelCount", "kind": "field", "id": "field|LabelCount|0|0|int|||h0786fd3eeaf4c765c6fa8cf9e8d15e20cd1426ffc09f46dd1856d4d1cd8ef852", "signature": "public int LabelCount", "summary": "int (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 40)" }, { "name": "Labels", "kind": "field", "id": "field|Labels|0|0|nint|||h0891cfd95c52c3d740759d7929c72841b5dbbfe2ec9c515f56c7e5d7f437cf1c", "signature": "public nint Labels", "summary": "const char *const * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeChatOpts", "displayName": "NativeChatOpts", "kind": "struct", "summary": "cui_chat_opts, 64 bytes.", "members": [{ "name": "Grouped", "kind": "field", "id": "field|Grouped|0|0|byte|||h8824f5842400fbe6b3e8bd9b3741c5b0523524fed53dfaeb300ba1a1518360cd", "signature": "public byte Grouped", "summary": "_Bool (offset 32)" }, { "name": "LastInGroup", "kind": "field", "id": "field|LastInGroup|0|0|byte|||hf6373daa489f65906e6886d8f38c321fbadadfa87b74990611c559a01a31cc0e", "signature": "public byte LastInGroup", "summary": "_Bool (offset 33)" }, { "name": "Markdown", "kind": "field", "id": "field|Markdown|0|0|byte|||h7f1da1fcb473b91e0f6ecc7349a064e18b8ff52792412e081751d8d1938096fe", "signature": "public byte Markdown", "summary": "_Bool (offset 48)" }, { "name": "Mine", "kind": "field", "id": "field|Mine|0|0|byte|||h4514fcc235e72a7f07362ff9cc72b4bd54f81d528491c1ed167f6c52cee36833", "signature": "public byte Mine", "summary": "_Bool (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Author", "kind": "field", "id": "field|Author|0|0|nint|||h42259eda4a5cd5217e3ff4e52e5ab08ff4edda9240aaa452d4af2589b41bd856", "signature": "public nint Author", "summary": "const char * (offset 8)" }, { "name": "MarkdownResult", "kind": "field", "id": "field|MarkdownResult|0|0|nint|||ha56930908ad109e7d79045cac68d2bc2e984f2ea31e8af6e6fa827cf29a231f6", "signature": "public nint MarkdownResult", "summary": "cui_markdown_result * (offset 56)" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|nint|||h5eb064e9f4d4ca19be69b5617dddc7619d74afabd85bd1578dc70d05818e080a", "signature": "public nint Status", "summary": "const char * (offset 24)" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|nint|||h6d58676de43396dc84cf8d2e099bd5fe6b43afec28246479d0f40b03dafda113", "signature": "public nint Time", "summary": "const char * (offset 16)" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|nuint|||hd836d3050349dc9e230d8ba691c657178a9fd72c10b4dc2ffe3eba6966257126", "signature": "public nuint Avatar", "summary": "cui_texture (offset 40)" }] }, - { "name": "CuiSharp.Interop.NativeCheckOpts", "displayName": "NativeCheckOpts", "kind": "struct", "summary": "cui_check_opts, 24 bytes.", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 16)" }, { "name": "Indeterminate", "kind": "field", "id": "field|Indeterminate|0|0|byte|||hfedb6a86910124c963d29f1734bebdd306e24edb2eb5d92514b1fc88f2d3b8a7", "signature": "public byte Indeterminate", "summary": "_Bool (offset 17)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeCheckStep", "displayName": "NativeCheckStep", "kind": "struct", "summary": "cui_check_step, 32 bytes.", "members": [{ "name": "Done", "kind": "field", "id": "field|Done|0|0|byte|||h58098c30b144e76005c563d0bd944f605f0196fda06a720faadb04ff25758c6c", "signature": "public byte Done", "summary": "_Bool (offset 24)" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|nint|||h7dfe2a16d24f5ae17516623e6e776336e0c9174236c2f3e6d25910fcd1c88c17", "signature": "public nint Action", "summary": "const char * (offset 16)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeChecklistOpts", "displayName": "NativeChecklistOpts", "kind": "struct", "summary": "cui_checklist_opts, 24 bytes.", "members": [{ "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 16)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeChipOpts", "displayName": "NativeChipOpts", "kind": "struct", "summary": "cui_chip_opts, 24 bytes.", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeChoice", "displayName": "NativeChoice", "kind": "struct", "summary": "cui_choice, 32 bytes.", "members": [{ "name": "Badge", "kind": "field", "id": "field|Badge|0|0|nint|||hde22c04ea21d8219db7a1a082d573f3b836e72a11c561a5bcf979fe76b33f2fc", "signature": "public nint Badge", "summary": "const char * (offset 24)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 16)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeCodeEditorOpts", "displayName": "NativeCodeEditorOpts", "kind": "struct", "summary": "cui_code_editor_opts, 64 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 16)" }, { "name": "Autofocus", "kind": "field", "id": "field|Autofocus|0|0|byte|||hf7200e77a6e74d4faf41ea5500f58e93a4f8f8423cf247fc6c5784655d8f9fe5", "signature": "public byte Autofocus", "summary": "_Bool (offset 39)" }, { "name": "NoLineNumbers", "kind": "field", "id": "field|NoLineNumbers|0|0|byte|||h225192e93125ad7432bce78360339170c20c41ea31198e860e390c004ef1b0e3", "signature": "public byte NoLineNumbers", "summary": "_Bool (offset 38)" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|byte|||h9e1431d0c26b40c6daa5a446056e13ee71a6462394b7d796b573d868c509360c", "signature": "public byte ReadOnly", "summary": "_Bool (offset 37)" }, { "name": "UseTabs", "kind": "field", "id": "field|UseTabs|0|0|byte|||heab8c40cb58fb14e3c34d1d3dfa838acb5b84f19a09ad93e400f0add6d0b83e1", "signature": "public byte UseTabs", "summary": "_Bool (offset 36)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 24)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 28)" }, { "name": "MarkCount", "kind": "field", "id": "field|MarkCount|0|0|int|||he0762e6e3d6ca8a079b9d863b518cc5bb337abac3fb7998e5089c8856059c47a", "signature": "public int MarkCount", "summary": "int (offset 56)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "TabSize", "kind": "field", "id": "field|TabSize|0|0|int|||h1fb69a62e48ce09519cd8bb8b90088cf5a2053b0f991052821d6e0a3f3dab47f", "signature": "public int TabSize", "summary": "int (offset 32)" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|nint|||h47e017876cc656beadab67c2a3da7d17ebe65dbbb9bf477edfc76ac1167c397a", "signature": "public nint Lang", "summary": "const char * (offset 8)" }, { "name": "Marks", "kind": "field", "id": "field|Marks|0|0|nint|||h92dff866ad21ca7e39f6ae23d95ab0e17de8e7a46f99b13069259649cbba4f47", "signature": "public nint Marks", "summary": "const cui_text_mark * (offset 48)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 40)" }] }, - { "name": "CuiSharp.Interop.NativeCodeEditorResult", "displayName": "NativeCodeEditorResult", "kind": "struct", "summary": "cui_code_editor_result, 44 bytes.", "members": [{ "name": "Changed", "kind": "field", "id": "field|Changed|0|0|byte|||had978eec0af03eb4dacdb360976a7e241488e1b52d178b9e3926112ece7b5ff4", "signature": "public byte Changed", "summary": "_Bool (offset 0)" }, { "name": "Focused", "kind": "field", "id": "field|Focused|0|0|byte|||h81ce6ee72755791f4dc232b5aa74f873fdb70c3df47376d5e25944a375cf15e3", "signature": "public byte Focused", "summary": "_Bool (offset 2)" }, { "name": "Refused", "kind": "field", "id": "field|Refused|0|0|byte|||h08634b8afa1d66ba2cd75236cdb4831b5878ca633d36fd4da9d7ded68edc081d", "signature": "public byte Refused", "summary": "_Bool (offset 1)" }, { "name": "Anchor", "kind": "field", "id": "field|Anchor|0|0|int|||haebd09af400cd13b8e6a4d74ff68b178d1ce2cdb19d12950362ae273b212ff68", "signature": "public int Anchor", "summary": "int (offset 8)" }, { "name": "Bracket", "kind": "field", "id": "field|Bracket|0|0|int|||h77d16f8f46588b03aef36d7c7700c16913abeb938081d48c601527ac49676ea8", "signature": "public int Bracket", "summary": "int (offset 28)" }, { "name": "BracketMatch", "kind": "field", "id": "field|BracketMatch|0|0|int|||hf4bcef73eb750933986b759052d8e30b7b10d167b65548578d889eef0a8d0447", "signature": "public int BracketMatch", "summary": "int (offset 32)" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "int (offset 16)" }, { "name": "Cursor", "kind": "field", "id": "field|Cursor|0|0|int|||h23aff42ff5d653e4a3b8a654aa17c4d9c160335133193db458a21e242a54d577", "signature": "public int Cursor", "summary": "int (offset 4)" }, { "name": "FindIndex", "kind": "field", "id": "field|FindIndex|0|0|int|||h9901bf02470123f840113bd889b35049d5d57a39c279f06740fad0d72c6b6fae", "signature": "public int FindIndex", "summary": "int (offset 40)" }, { "name": "FindMatches", "kind": "field", "id": "field|FindMatches|0|0|int|||hc7266e2f6ac242c69af5391be242aaa9b92542b13fe7206e4b7263e39078c2d2", "signature": "public int FindMatches", "summary": "int (offset 36)" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|int|||hef2503a1d0b9fb909698fa12c327675bda30f8b40b00e879e548d3e8332f864d", "signature": "public int Length", "summary": "int (offset 24)" }, { "name": "Line", "kind": "field", "id": "field|Line|0|0|int|||h1879f4fdbcfa3a3747d1163cdd353585f2b2bd90bfd45d0dfb258aacbc098d3e", "signature": "public int Line", "summary": "int (offset 12)" }, { "name": "LineCount", "kind": "field", "id": "field|LineCount|0|0|int|||hbaa214fddd02d1ccffe160de438912c4aa7f3470b2479bc2583e4f2d2ebb1485", "signature": "public int LineCount", "summary": "int (offset 20)" }] }, - { "name": "CuiSharp.Interop.NativeCodeOpts", "displayName": "NativeCodeOpts", "kind": "struct", "summary": "cui_code_opts, 48 bytes.", "members": [{ "name": "LineNumbers", "kind": "field", "id": "field|LineNumbers|0|0|byte|||h6c489273e0032c3cd8879a3f825471bba8adeaa0cfc8d55f56fc838851f2142f", "signature": "public byte LineNumbers", "summary": "_Bool (offset 24)" }, { "name": "NoHeader", "kind": "field", "id": "field|NoHeader|0|0|byte|||h6093941fb44d7f5a4ff51d16324ccdb8778e77d1ae10d4e0d62af2a3df85380c", "signature": "public byte NoHeader", "summary": "_Bool (offset 44)" }, { "name": "MaxHeight", "kind": "field", "id": "field|MaxHeight|0|0|float|||h362fb387f8c873f790106e0085b293b9836b14ef629bd38f56f23e0483ef699f", "signature": "public float MaxHeight", "summary": "float (offset 36)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 40)" }, { "name": "HighlightFrom", "kind": "field", "id": "field|HighlightFrom|0|0|int|||h3f447dcb0743179fec7a2dd4a9ce932f77873c9111e71c1fa0182456ef6a5ad8", "signature": "public int HighlightFrom", "summary": "int (offset 28)" }, { "name": "HighlightTo", "kind": "field", "id": "field|HighlightTo|0|0|int|||h69877e6460a36c5400eb55f0445931950db5a7253630d30f09922f950fd37671", "signature": "public int HighlightTo", "summary": "int (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|nint|||h47e017876cc656beadab67c2a3da7d17ebe65dbbb9bf477edfc76ac1167c397a", "signature": "public nint Lang", "summary": "const char * (offset 8)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeColor", "displayName": "NativeColor", "kind": "struct", "summary": "cui_color, 4 bytes.", "members": [{ "name": "A", "kind": "field", "id": "field|A|0|0|byte|||haba598c2e452648ea2192ebb31573b49013fa67fd0a1944b27b187e364bd38d4", "signature": "public byte A", "summary": "uint8_t (offset 3)" }, { "name": "B", "kind": "field", "id": "field|B|0|0|byte|||hc039cf1b86a898bd1c27e29036e275d0e1ee7e111ddbeb3950aba66fadcdd01e", "signature": "public byte B", "summary": "uint8_t (offset 2)" }, { "name": "G", "kind": "field", "id": "field|G|0|0|byte|||hf7128c545730a794931f3c622c9897ea1b4f1faae0f65e84d18073d732d74990", "signature": "public byte G", "summary": "uint8_t (offset 1)" }, { "name": "R", "kind": "field", "id": "field|R|0|0|byte|||h28dd3a8bcb2656f9a397d0b9687de1aff5ed0c342df898c72a005ccc671e14b5", "signature": "public byte R", "summary": "uint8_t (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeCommand", "displayName": "NativeCommand", "kind": "struct", "summary": "cui_command, 32 bytes.", "members": [{ "name": "Group", "kind": "field", "id": "field|Group|0|0|nint|||h963fd0b49f7656c682c074d70591163973d0610c086f5a99ce956e9c99ca536f", "signature": "public nint Group", "summary": "const char * (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|nint|||hc6bbf869e5f430ce1cb0bb80bcc43a44ef490242700d9eccaf018d9378a8f2dd", "signature": "public nint Shortcut", "summary": "const char * (offset 24)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeCommentOpts", "displayName": "NativeCommentOpts", "kind": "struct", "summary": "cui_comment_opts, 56 bytes.", "members": [{ "name": "Edited", "kind": "field", "id": "field|Edited|0|0|byte|||h9ef1d7c46ce21222bc9354c9bc032337f9bc7c03cf045d2ab6957bb638b70c68", "signature": "public byte Edited", "summary": "_Bool (offset 40)" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "int (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|nint|||hde22c04ea21d8219db7a1a082d573f3b836e72a11c561a5bcf979fe76b33f2fc", "signature": "public nint Badge", "summary": "const char * (offset 48)" }, { "name": "Liked", "kind": "field", "id": "field|Liked|0|0|nint|||h2166441fedf68530e5d1694c5e257e1839e52448203851cafc1af70e1fa24e8b", "signature": "public nint Liked", "summary": "_Bool * (offset 32)" }, { "name": "Likes", "kind": "field", "id": "field|Likes|0|0|nint|||h58b52c8f355fa8ee3d50399c7db0aff44446f02f817bbc6bb1bcf1d855ca5246", "signature": "public nint Likes", "summary": "int * (offset 24)" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|nint|||h6d58676de43396dc84cf8d2e099bd5fe6b43afec28246479d0f40b03dafda113", "signature": "public nint Time", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeCommit", "displayName": "NativeCommit", "kind": "struct", "summary": "cui_commit, 48 bytes.", "members": [{ "name": "Parent", "kind": "field", "id": "field|Parent|0|0|\u003CParent\u003Ee__FixedBuffer|||h9409d0ba18cd595079a01df9206afc115f203c1830c712c1514cf5dd190f4a6b", "signature": "public \u003CParent\u003Ee__FixedBuffer Parent", "summary": "int[2] (offset 40)" }, { "name": "Author", "kind": "field", "id": "field|Author|0|0|nint|||h42259eda4a5cd5217e3ff4e52e5ab08ff4edda9240aaa452d4af2589b41bd856", "signature": "public nint Author", "summary": "const char * (offset 16)" }, { "name": "Date", "kind": "field", "id": "field|Date|0|0|nint|||haeabbfc75670c369581630fafd26e71b67e94feb9ce8364ce4c8427111ebed3d", "signature": "public nint Date", "summary": "const char * (offset 24)" }, { "name": "Hash", "kind": "field", "id": "field|Hash|0|0|nint|||he32f0dd10af599ae75494fa806f33e8cdb244a3710820ad4341060ace91d091b", "signature": "public nint Hash", "summary": "const char * (offset 0)" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|nint|||hd26a8e53b67f4e6b6a7f4704f738a3b1510f63da8dbf582c674431012ef50a25", "signature": "public nint Message", "summary": "const char * (offset 8)" }, { "name": "Refs", "kind": "field", "id": "field|Refs|0|0|nint|||h6dd09607b283bf5ba1a9e99b6781c51e4853bb4eff49eaa8ff8d7bdc4eb20db3", "signature": "public nint Refs", "summary": "const char * (offset 32)" }] }, - { "name": "CuiSharp.Interop.NativeCommitGraphOpts", "displayName": "NativeCommitGraphOpts", "kind": "struct", "summary": "cui_commit_graph_opts, 24 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "int * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeCommitGraphResult", "displayName": "NativeCommitGraphResult", "kind": "struct", "summary": "cui_commit_graph_result, 12 bytes.", "members": [{ "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "int (offset 4)" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "int (offset 0)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "int (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeCompareOpts", "displayName": "NativeCompareOpts", "kind": "struct", "summary": "cui_compare_opts, 40 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Aspect", "kind": "field", "id": "field|Aspect|0|0|float|||h5a5a7490732f77b38ee208c886571caa7d8986b77932e6d27775bfe1970fb584", "signature": "public float Aspect", "summary": "float (offset 32)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "AfterLabel", "kind": "field", "id": "field|AfterLabel|0|0|nint|||hcd5823b7a0b0c977d9eccf66e15f3e51dc7c161f64bac1acfdb8f3afc28396b4", "signature": "public nint AfterLabel", "summary": "const char * (offset 24)" }, { "name": "BeforeLabel", "kind": "field", "id": "field|BeforeLabel|0|0|nint|||h321474378e3eab02f3ff920b697d97588f6fe13d55e5fa16343df2b8befe88be", "signature": "public nint BeforeLabel", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeComposerOpts", "displayName": "NativeComposerOpts", "kind": "struct", "summary": "cui_composer_opts, 88 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 76)" }, { "name": "Busy", "kind": "field", "id": "field|Busy|0|0|byte|||h6d479a642971d17d04fab0c19b9d2c36d16f0f7a9b2a35e4c729676ad2d83f35", "signature": "public byte Busy", "summary": "_Bool (offset 16)" }, { "name": "AttachmentCount", "kind": "field", "id": "field|AttachmentCount|0|0|int|||h478ce484b60fa991e85c35c50d12cbd4431743d88f12dc0d5c7e0f5d616a552a", "signature": "public int AttachmentCount", "summary": "int (offset 32)" }, { "name": "MaxLines", "kind": "field", "id": "field|MaxLines|0|0|int|||h995307b973f05cbe551b53177d0c23114013f6b5b22c835b2dc6609203e2b299", "signature": "public int MaxLines", "summary": "int (offset 72)" }, { "name": "ModelCount", "kind": "field", "id": "field|ModelCount|0|0|int|||hfbf7f87982dd42ccf2deda1d3ba7c988866b4826cb8f1dd682c00abe8a509e17", "signature": "public int ModelCount", "summary": "int (offset 56)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Attachments", "kind": "field", "id": "field|Attachments|0|0|nint|||he6e6ecb16ea2226fdebf10935b17312d86debff83be273b14dc30d280e9ea5ee", "signature": "public nint Attachments", "summary": "const char *const * (offset 24)" }, { "name": "Model", "kind": "field", "id": "field|Model|0|0|nint|||he3716979e91fed1aa1c06e3c1a060359fa7b787432b727cbae4668b23acb34fa", "signature": "public nint Model", "summary": "int * (offset 64)" }, { "name": "Models", "kind": "field", "id": "field|Models|0|0|nint|||h7857e5e3157d65427c1b238f3924e19859b9a615f2f2416dc058a8f4f6c55cba", "signature": "public nint Models", "summary": "const cui_model * (offset 48)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 8)" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|nint|||h4ced2a66308d51ced83dd2028f30396e5b18b5622a34a8b0f869ac1f69446b2e", "signature": "public nint Removed", "summary": "int * (offset 40)" }] }, - { "name": "CuiSharp.Interop.NativeConfirmOpts", "displayName": "NativeConfirmOpts", "kind": "struct", "summary": "cui_confirm_opts, 40 bytes.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "cui_button_variant (offset 24)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 28)" }, { "name": "Timeout", "kind": "field", "id": "field|Timeout|0|0|float|||h6fb556a50665c237ad9b5a3a89b5643838aa87632ece289264dbdaa96cf69904", "signature": "public float Timeout", "summary": "float (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "ConfirmLabel", "kind": "field", "id": "field|ConfirmLabel|0|0|nint|||h472b346f2cadf8851006735f2ae21cd804351b98aefdba995e099c2bb951b4c0", "signature": "public nint ConfirmLabel", "summary": "const char * (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeConfirmPopoverOpts", "displayName": "NativeConfirmPopoverOpts", "kind": "struct", "summary": "cui_confirm_popover_opts, 48 bytes.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement (offset 44)" }, { "name": "Danger", "kind": "field", "id": "field|Danger|0|0|byte|||h267e3fb92ea691636e4453551bbe9f0ed26a3256b90ce44ac68d4cee9aedb9cf", "signature": "public byte Danger", "summary": "_Bool (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "CancelLabel", "kind": "field", "id": "field|CancelLabel|0|0|nint|||haf909045a38c18019ebac8c799a1af1a0a31f395e68377e9116071d1531ee537", "signature": "public nint CancelLabel", "summary": "const char * (offset 32)" }, { "name": "ConfirmLabel", "kind": "field", "id": "field|ConfirmLabel|0|0|nint|||h472b346f2cadf8851006735f2ae21cd804351b98aefdba995e099c2bb951b4c0", "signature": "public nint ConfirmLabel", "summary": "const char * (offset 24)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 16)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeContextOpts", "displayName": "NativeContextOpts", "kind": "struct", "summary": "cui_context_opts, 32 bytes.", "members": [{ "name": "PartCount", "kind": "field", "id": "field|PartCount|0|0|int|||h5342a94757f5e81a36c5b83bd0855847425988567f074994d88be7e774e54884", "signature": "public int PartCount", "summary": "int (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Parts", "kind": "field", "id": "field|Parts|0|0|nint|||hb7cf3c264537298beff2626c0db7b799ad0f70befdc4e2a664f9728d28cb7c2c", "signature": "public nint Parts", "summary": "const cui_viz_item * (offset 8)" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|nint|||h708409b7ee1912ab128b9f78a22e55e9f298402bb842be865ac89fa44f207c93", "signature": "public nint Unit", "summary": "const char * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeCorners", "displayName": "NativeCorners", "kind": "struct", "summary": "cui_corners, 16 bytes.", "members": [{ "name": "Bl", "kind": "field", "id": "field|Bl|0|0|float|||h75cfbb1960e2746350e1187b59f96ec503b96f599bc2c5f068be56ec0dfbe84e", "signature": "public float Bl", "summary": "float (offset 12)" }, { "name": "Br", "kind": "field", "id": "field|Br|0|0|float|||h73d934787837f3d7664ff6849d6e8e22a7564c07bf3db0472f6ca2c2a192996b", "signature": "public float Br", "summary": "float (offset 8)" }, { "name": "Tl", "kind": "field", "id": "field|Tl|0|0|float|||h4fff15d04f266531b81a0bbf50580dabafb0dab6f3b5b3f6fdc1dce93bc582db", "signature": "public float Tl", "summary": "float (offset 0)" }, { "name": "Tr", "kind": "field", "id": "field|Tr|0|0|float|||h90ce0060daeab729abe92c481cecd07780ae3835e8b302bb16b2fa1acdd0e863", "signature": "public float Tr", "summary": "float (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeCountdownOpts", "displayName": "NativeCountdownOpts", "kind": "struct", "summary": "cui_countdown_opts, 8 bytes.", "members": [{ "name": "Compact", "kind": "field", "id": "field|Compact|0|0|byte|||h82ad4978e776988891fb40f0e87ef125edf87783174f60001d6260930e049142", "signature": "public byte Compact", "summary": "_Bool (offset 5)" }, { "name": "HideDays", "kind": "field", "id": "field|HideDays|0|0|byte|||hbc1451dabcaa02ada6ca1218f1d0e7cc03d49d4b7581a28c356eb1b98d51de2f", "signature": "public byte HideDays", "summary": "_Bool (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeCounterOpts", "displayName": "NativeCounterOpts", "kind": "struct", "summary": "cui_counter_opts, 32 bytes.", "members": [{ "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "cui_font (offset 20)" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 24)" }, { "name": "GroupThousands", "kind": "field", "id": "field|GroupThousands|0|0|byte|||hff6aec31f491ce96665173264aa6ca32e379c3f00466f90c6aaf4bad45b6cf74", "signature": "public byte GroupThousands", "summary": "_Bool (offset 28)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeCoverageFile", "displayName": "NativeCoverageFile", "kind": "struct", "summary": "cui_coverage_file, 32 bytes.", "members": [{ "name": "Branches", "kind": "field", "id": "field|Branches|0|0|int|||h211a3c4c9be92003e91bc3dec56563a566cbd138480d4e790a58b46727fe63de", "signature": "public int Branches", "summary": "int (offset 16)" }, { "name": "BranchesHit", "kind": "field", "id": "field|BranchesHit|0|0|int|||h7071ae5f37dcb0ef19b28606d22fcaaeeff37d96ceb673dee1e8b81c1dd21303", "signature": "public int BranchesHit", "summary": "int (offset 20)" }, { "name": "Functions", "kind": "field", "id": "field|Functions|0|0|int|||h3c5e176fc0b1d841c718c27c1c6ee284fa20c31afd0c68c06de7f1ec57e71b41", "signature": "public int Functions", "summary": "int (offset 24)" }, { "name": "FunctionsHit", "kind": "field", "id": "field|FunctionsHit|0|0|int|||h3eaad292bc305e419d0766b41114cb76df3544fa8fd5978eeb5629ed562a4f07", "signature": "public int FunctionsHit", "summary": "int (offset 28)" }, { "name": "Lines", "kind": "field", "id": "field|Lines|0|0|int|||hee1996ff73a3bb29577188d155832b95024d32ca718f5404022abdd064faf7d7", "signature": "public int Lines", "summary": "int (offset 8)" }, { "name": "LinesHit", "kind": "field", "id": "field|LinesHit|0|0|int|||h313bb4660008239d0f40b3e18169ad54d23586b86c87095aa77eaf76404cc445", "signature": "public int LinesHit", "summary": "int (offset 12)" }, { "name": "Path", "kind": "field", "id": "field|Path|0|0|nint|||h8bba30a3af23f0921f87758138aaec20cd68b286c4244f14af28ea447646c5f3", "signature": "public nint Path", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeCoverageOpts", "displayName": "NativeCoverageOpts", "kind": "struct", "summary": "cui_coverage_opts, 24 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "High", "kind": "field", "id": "field|High|0|0|float|||h8d86ceb8300b405923f523b6dfd491fceedb9688753dea5f6c0ed797466bffb1", "signature": "public float High", "summary": "float (offset 20)" }, { "name": "Low", "kind": "field", "id": "field|Low|0|0|float|||h5bec759be4f0ae85b0ce5535aeb5d662da36d7c794ada46efc1c76f1e46fbd11", "signature": "public float Low", "summary": "float (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeCoverageResult", "displayName": "NativeCoverageResult", "kind": "struct", "summary": "cui_coverage_result, 8 bytes.", "members": [{ "name": "Lines", "kind": "field", "id": "field|Lines|0|0|float|||h7ffa52c3fc8534cb001f45d21db0b1e58ef0821f4b768205d94dfde2e83269d5", "signature": "public float Lines", "summary": "float (offset 4)" }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeCropperOpts", "displayName": "NativeCropperOpts", "kind": "struct", "summary": "cui_cropper_opts, 32 bytes.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Round", "kind": "field", "id": "field|Round|0|0|byte|||hdb67065569e6d25c1f90bdd7983a80f29d36dbc74d5ef9f21fba39f0f895fed9", "signature": "public byte Round", "summary": "_Bool (offset 24)" }, { "name": "Aspect", "kind": "field", "id": "field|Aspect|0|0|float|||h5a5a7490732f77b38ee208c886571caa7d8986b77932e6d27775bfe1970fb584", "signature": "public float Aspect", "summary": "float (offset 20)" }, { "name": "MinSize", "kind": "field", "id": "field|MinSize|0|0|float|||h1099d1058b339206047e2995d1f051ab14f9f598203af7d8b0e01d0afc83ece3", "signature": "public float MinSize", "summary": "float (offset 28)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeCtxDesc", "displayName": "NativeCtxDesc", "kind": "struct", "summary": "cui_ctx_desc, 80 bytes.", "members": [{ "name": "Accent", "kind": "field", "id": "field|Accent|0|0|Accent|||h71052de13333411c0ea4ea9fd862bffc6c17770b3cd6a8d9e8d2bd9946427e80", "signature": "public Accent Accent", "summary": "cui_accent (offset 68)" }, { "name": "Direction", "kind": "field", "id": "field|Direction|0|0|Direction|||h894fea11f583bab4f597860149502f9c496b27b2c30b238beaf6828e963d3be0", "signature": "public Direction Direction", "summary": "cui_direction (offset 76)" }, { "name": "Allocator", "kind": "field", "id": "field|Allocator|0|0|NativeAllocator|||h2a74853828dbfd7e50eb0b90bd8b90cf166d5ba510263319d45c4172a997c795", "signature": "public NativeAllocator Allocator", "summary": "cui_allocator (offset 32)" }, { "name": "Renderer", "kind": "field", "id": "field|Renderer|0|0|NativeRendererIface|||h27c01445c111271694495305659d6fe43b11439399341c6448bbd67bb750cc78", "signature": "public NativeRendererIface Renderer", "summary": "cui_renderer_iface (offset 0)" }, { "name": "Theme", "kind": "field", "id": "field|Theme|0|0|Theme|||hc03062bcd5b400bad341e4abf4eced6f575572c853644893313e624c9667b6d8", "signature": "public Theme Theme", "summary": "cui_theme_mode (offset 64)" }, { "name": "NoDefaultFonts", "kind": "field", "id": "field|NoDefaultFonts|0|0|byte|||h9aaf184d01d6fca750e0877a2cbb78d4bcb15eb3e8b122c9ee72d87956a05e9b", "signature": "public byte NoDefaultFonts", "summary": "_Bool (offset 72)" }] }, - { "name": "CuiSharp.Interop.NativeCurveKey", "displayName": "NativeCurveKey", "kind": "struct", "summary": "cui_curve_key, 28 bytes.", "members": [{ "name": "Mode", "kind": "field", "id": "field|Mode|0|0|byte|||hc48af46ab8df3bf1e9fde7c99f8133936d52727786d62bae83f6331816627f29", "signature": "public byte Mode", "summary": "uint8_t (offset 24)" }, { "name": "InDx", "kind": "field", "id": "field|InDx|0|0|float|||hbe72f2ff8c6697c4162be844af44cfe03b76835f139b58149b32a476236a35d2", "signature": "public float InDx", "summary": "float (offset 8)" }, { "name": "InDy", "kind": "field", "id": "field|InDy|0|0|float|||h8ab7a07ad294963d27a205c1d82954649160a7ccd9b23bf44e1eaf0318aa1c22", "signature": "public float InDy", "summary": "float (offset 12)" }, { "name": "OutDx", "kind": "field", "id": "field|OutDx|0|0|float|||h1394b8fd1f988184d1bd9439e07af07e316f1dc2c8932927fabaa26ec0fe4108", "signature": "public float OutDx", "summary": "float (offset 16)" }, { "name": "OutDy", "kind": "field", "id": "field|OutDy|0|0|float|||h6e703ef86fb213aac57080ac4be84bc37a398dab0c90e86c0f1faa95baba9d1a", "signature": "public float OutDy", "summary": "float (offset 20)" }, { "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "float (offset 0)" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "float (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeCurveOpts", "displayName": "NativeCurveOpts", "kind": "struct", "summary": "cui_curve_opts, 80 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 20)" }, { "name": "ShowPlayhead", "kind": "field", "id": "field|ShowPlayhead|0|0|byte|||h23e75b0d22743b085410034b2d9c5807fc0c225041b8d7745ed4d9f67da557d1", "signature": "public byte ShowPlayhead", "summary": "_Bool (offset 73)" }, { "name": "Snap", "kind": "field", "id": "field|Snap|0|0|byte|||h75e3ff21570f3bdcb4c233ca80e5d3c21cc3456e8763e90115f5928bd2453f6c", "signature": "public byte Snap", "summary": "_Bool (offset 72)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 28)" }, { "name": "Playhead", "kind": "field", "id": "field|Playhead|0|0|float|||h13b4f9a1d03e6abcc658a8690c7eb073e4494ac8809fcb0a505d727c35c95dc9", "signature": "public float Playhead", "summary": "float (offset 76)" }, { "name": "XMax", "kind": "field", "id": "field|XMax|0|0|float|||hfde8cf024bcd80f7aeaeab1561a00a5999ca4e0a44c92833c650b5e8371f7d84", "signature": "public float XMax", "summary": "float (offset 8)" }, { "name": "XMin", "kind": "field", "id": "field|XMin|0|0|float|||hda34f3cf948ea1ccb86f31fa14c4b0ae01bb26591a830aa7cf4d6904bbf532a1", "signature": "public float XMin", "summary": "float (offset 4)" }, { "name": "YMax", "kind": "field", "id": "field|YMax|0|0|float|||h08c14e82ca6ca6de19498074d2f4276eeb0414b9289ba4f3aaa07cfcbabefcc5", "signature": "public float YMax", "summary": "float (offset 16)" }, { "name": "YMin", "kind": "field", "id": "field|YMin|0|0|float|||h9fe2b8139f946e78f990e4d05a003bc70a707dad54a59b5bfe7a704cb5bdb21a", "signature": "public float YMin", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "int * (offset 64)" }, { "name": "XFormat", "kind": "field", "id": "field|XFormat|0|0|nint|||h18e8cf118fea9392564da580eba62c8ae35e782caa009a608ed4c9346c73a269", "signature": "public nint XFormat", "summary": "const char * (offset 32)" }, { "name": "XLabel", "kind": "field", "id": "field|XLabel|0|0|nint|||h1c4a4886f3bc213da6e6aeff6bfcbadc01f7999be462be2d85643797609df1b7", "signature": "public nint XLabel", "summary": "const char * (offset 48)" }, { "name": "YFormat", "kind": "field", "id": "field|YFormat|0|0|nint|||h5c705ed0a7ec28e905001cc33b9d9a52a7c904a615aa8dcd45b435b1a4adcb47", "signature": "public nint YFormat", "summary": "const char * (offset 40)" }, { "name": "YLabel", "kind": "field", "id": "field|YLabel|0|0|nint|||h458be0325d3e3ce4b9212c389ff3d38e2ea7d070891c57b1c5fad4556ed6dc2b", "signature": "public nint YLabel", "summary": "const char * (offset 56)" }] }, - { "name": "CuiSharp.Interop.NativeCurveResult", "displayName": "NativeCurveResult", "kind": "struct", "summary": "cui_curve_result, 28 bytes.", "members": [{ "name": "Changed", "kind": "field", "id": "field|Changed|0|0|byte|||had978eec0af03eb4dacdb360976a7e241488e1b52d178b9e3926112ece7b5ff4", "signature": "public byte Changed", "summary": "_Bool (offset 0)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|byte|||h4785e3188428a52694c64922b42544b998ea3d0d8b2bcc971ccfdabce4e24659", "signature": "public byte Hovered", "summary": "_Bool (offset 16)" }, { "name": "HoverX", "kind": "field", "id": "field|HoverX|0|0|float|||h6d3983e00fdd0dc802830b5a13e42596cd1ff3c17737924c3b437e01e780f5b3", "signature": "public float HoverX", "summary": "float (offset 20)" }, { "name": "HoverY", "kind": "field", "id": "field|HoverY|0|0|float|||h1ee83e1a2cff5f505adea50b07de7f70d2139ff513f4c2bf13c746028c5f45d7", "signature": "public float HoverY", "summary": "float (offset 24)" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "int (offset 4)" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "int (offset 8)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "int (offset 12)" }] }, - { "name": "CuiSharp.Interop.NativeDate", "displayName": "NativeDate", "kind": "struct", "summary": "cui_date, 12 bytes.", "members": [{ "name": "Day", "kind": "field", "id": "field|Day|0|0|int|||h40d69339a69f05f7a1cf0fdcf537358258767e30cc6d07e430cb48196d28a0e1", "signature": "public int Day", "summary": "int (offset 8)" }, { "name": "Month", "kind": "field", "id": "field|Month|0|0|int|||hcc05b036cc6bdfd0d27293432136b7293c2b0b8f7933726432712a3bbddfde9a", "signature": "public int Month", "summary": "int (offset 4)" }, { "name": "Year", "kind": "field", "id": "field|Year|0|0|int|||h8b603079e90d1d910b69d673d70d00144bb31f3787b544bde4dced367798a4dc", "signature": "public int Year", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeDateOpts", "displayName": "NativeDateOpts", "kind": "struct", "summary": "cui_date_opts, 32 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeDateRange", "displayName": "NativeDateRange", "kind": "struct", "summary": "cui_date_range, 24 bytes.", "members": [{ "name": "End", "kind": "field", "id": "field|End|0|0|NativeDate|||h1b179b5108e9ed3f0347d54b4ef6fe1e441917c22d27a016c4c8a9bbbe6ad0c7", "signature": "public NativeDate End", "summary": "cui_date (offset 12)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|NativeDate|||h7d67c190de1c0e1c80bdadfcd317cbed9d2a9499e545b7e9029faa0256d97a3b", "signature": "public NativeDate Start", "summary": "cui_date (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeDateRangeOpts", "displayName": "NativeDateRangeOpts", "kind": "struct", "summary": "cui_date_range_opts, 40 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 24)" }, { "name": "NoPresets", "kind": "field", "id": "field|NoPresets|0|0|byte|||h48e9f390319a7348699004766959fb4b02a06a03cd68a5ce168ad69a714642bb", "signature": "public byte NoPresets", "summary": "_Bool (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeDiagnostic", "displayName": "NativeDiagnostic", "kind": "struct", "summary": "cui_diagnostic, 48 bytes.", "members": [{ "name": "Severity", "kind": "field", "id": "field|Severity|0|0|Severity|||h9e5e3ed80aa43cf83d574b57f16dd2271622ff069cd74d83468aa520e5b9608b", "signature": "public Severity Severity", "summary": "cui_severity (offset 0)" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "int (offset 28)" }, { "name": "Line", "kind": "field", "id": "field|Line|0|0|int|||h1879f4fdbcfa3a3747d1163cdd353585f2b2bd90bfd45d0dfb258aacbc098d3e", "signature": "public int Line", "summary": "int (offset 24)" }, { "name": "Code", "kind": "field", "id": "field|Code|0|0|nint|||h7427649b43b2e49212bf9bfd21a645a61eae4c3514f35066412bf8a3ddeb4484", "signature": "public nint Code", "summary": "const char * (offset 40)" }, { "name": "File", "kind": "field", "id": "field|File|0|0|nint|||hf18b959cb1aa589cfedfeb3f56d2a4481a5c4eac07083fc9750af44c4bf0cf08", "signature": "public nint File", "summary": "const char * (offset 16)" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|nint|||hd26a8e53b67f4e6b6a7f4704f738a3b1510f63da8dbf582c674431012ef50a25", "signature": "public nint Message", "summary": "const char * (offset 8)" }, { "name": "Source", "kind": "field", "id": "field|Source|0|0|nint|||h1199d329667bd917815202c41d44da21fc731a62f0507af39b62283f6b5248d9", "signature": "public nint Source", "summary": "const char * (offset 32)" }] }, - { "name": "CuiSharp.Interop.NativeDialogOpts", "displayName": "NativeDialogOpts", "kind": "struct", "summary": "cui_dialog_opts, 24 bytes.", "members": [{ "name": "NoCloseButton", "kind": "field", "id": "field|NoCloseButton|0|0|byte|||hc1fa2c954e101809c4c6b368da789a0e61f87bebf78327938f83dd397e21c995", "signature": "public byte NoCloseButton", "summary": "_Bool (offset 20)" }, { "name": "Persistent", "kind": "field", "id": "field|Persistent|0|0|byte|||h81ce0743b769b6d5c0e013a90cb0bb3e26b5af87990c1d0258cdb6fe40d4b3a4", "signature": "public byte Persistent", "summary": "_Bool (offset 21)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeDiffHunk", "displayName": "NativeDiffHunk", "kind": "struct", "summary": "cui_diff_hunk, 16 bytes.", "members": [{ "name": "NewCount", "kind": "field", "id": "field|NewCount|0|0|int|||h990d5c1c776f5d98289d373ccce01e01aff196ec152012f4ce31d332daac2fca", "signature": "public int NewCount", "summary": "int (offset 12)" }, { "name": "NewStart", "kind": "field", "id": "field|NewStart|0|0|int|||h2507b03e2486af8ba046985710fc069eea6c47e6dfecc0af021e362bf01c99be", "signature": "public int NewStart", "summary": "int (offset 8)" }, { "name": "OldCount", "kind": "field", "id": "field|OldCount|0|0|int|||h372126bde64035f7f5e73a78422a27a8b7dd94486f537c991db8a304ed762b5e", "signature": "public int OldCount", "summary": "int (offset 4)" }, { "name": "OldStart", "kind": "field", "id": "field|OldStart|0|0|int|||h72dcb46cb3cbeaf7a201726f15c9d2d777665c73069717ce3a59fa25319f4a93", "signature": "public int OldStart", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeDiffOpts", "displayName": "NativeDiffOpts", "kind": "struct", "summary": "cui_diff_opts, 72 bytes.", "members": [{ "name": "Mode", "kind": "field", "id": "field|Mode|0|0|DiffMode|||hd3b30f92655838349c59825ab303a32d61934710651f0b99ceeb3740d4273609", "signature": "public DiffMode Mode", "summary": "cui_diff_mode (offset 4)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 52)" }, { "name": "IgnoreEol", "kind": "field", "id": "field|IgnoreEol|0|0|byte|||he631923645d76379618e41406522de3a02b70a019becacff80d3774439a56ad1", "signature": "public byte IgnoreEol", "summary": "_Bool (offset 45)" }, { "name": "NoFold", "kind": "field", "id": "field|NoFold|0|0|byte|||h4e48414527bbb29d232f9f6639c4457be05102960a2f9d0f5924574737413731", "signature": "public byte NoFold", "summary": "_Bool (offset 44)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 60)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 64)" }, { "name": "SplitMinWidth", "kind": "field", "id": "field|SplitMinWidth|0|0|float|||hc931e15221dec2e010745242455e00eba3f789c0449406ade12b6644a45a00b8", "signature": "public float SplitMinWidth", "summary": "float (offset 48)" }, { "name": "Context", "kind": "field", "id": "field|Context|0|0|int|||h3378089986c603151e12fc1e07bbb36553bae2eccdf9eeeff4b37cc73b4ca195", "signature": "public int Context", "summary": "int (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Current", "kind": "field", "id": "field|Current|0|0|nint|||ha7633e646e78ed343a63824be37da604de930ff1124f17c0a7f1570f328a8ed8", "signature": "public nint Current", "summary": "int * (offset 32)" }, { "name": "Language", "kind": "field", "id": "field|Language|0|0|nint|||h7c1bf27e2024e1a54c14fab18ecff64f29a282d906b594c9780e1db8f72d682b", "signature": "public nint Language", "summary": "const char * (offset 8)" }, { "name": "NewTitle", "kind": "field", "id": "field|NewTitle|0|0|nint|||h07df29a8c098c37900dc6804ae02528848905b6f83f17078370aac28a00f6384", "signature": "public nint NewTitle", "summary": "const char * (offset 24)" }, { "name": "OldTitle", "kind": "field", "id": "field|OldTitle|0|0|nint|||hf1348a0bbc8b4af962306959ee3358a9d847616f13e17e72114e9c73206d3797", "signature": "public nint OldTitle", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeDiffRange", "displayName": "NativeDiffRange", "kind": "struct", "summary": "cui_diff_range, 8 bytes.", "members": [{ "name": "Length", "kind": "field", "id": "field|Length|0|0|int|||hef2503a1d0b9fb909698fa12c327675bda30f8b40b00e879e548d3e8332f864d", "signature": "public int Length", "summary": "int (offset 4)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|int|||ha1b0c3e4699fce964620bef0f781444da21c0b72084141f26a9e30e25bf70e5f", "signature": "public int Start", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeDiffResult", "displayName": "NativeDiffResult", "kind": "struct", "summary": "cui_diff_result, 36 bytes.", "members": [{ "name": "Mode", "kind": "field", "id": "field|Mode|0|0|DiffMode|||hd3b30f92655838349c59825ab303a32d61934710651f0b99ceeb3740d4273609", "signature": "public DiffMode Mode", "summary": "cui_diff_mode (offset 20)" }, { "name": "Approximate", "kind": "field", "id": "field|Approximate|0|0|byte|||h0f32eab877364afb8bff84ad856dc04a67c3afabb2b5e28c6a4e6acf8b5fbae0", "signature": "public byte Approximate", "summary": "_Bool (offset 33)" }, { "name": "CurrentChanged", "kind": "field", "id": "field|CurrentChanged|0|0|byte|||h1c79988043171e8ca6298c75169d3e5f6ad511bc2630515e815002ac5d3c522f", "signature": "public byte CurrentChanged", "summary": "_Bool (offset 16)" }, { "name": "Recomputed", "kind": "field", "id": "field|Recomputed|0|0|byte|||h5b6249db7d6eb0136912dd8610e2381c54de6d5d0d699fedb55d8f8812a0f994", "signature": "public byte Recomputed", "summary": "_Bool (offset 32)" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "int (offset 0)" }, { "name": "Changes", "kind": "field", "id": "field|Changes|0|0|int|||h92c3316a456e87daf1c99d309c6ac018fc064ebbe8a432c2918508944c45979d", "signature": "public int Changes", "summary": "int (offset 8)" }, { "name": "Current", "kind": "field", "id": "field|Current|0|0|int|||h59aa7f0912b0ac389ff87c88363f76f78980244723618daa28eabc29cf1fa3f3", "signature": "public int Current", "summary": "int (offset 12)" }, { "name": "Folds", "kind": "field", "id": "field|Folds|0|0|int|||hc44f599c59fbcd4b7acdf51032e00a2ac75aa19f9f370cc82e1597d9e6404aa2", "signature": "public int Folds", "summary": "int (offset 24)" }, { "name": "Hidden", "kind": "field", "id": "field|Hidden|0|0|int|||h213f22e3210862a27f997f5a3526334cfa037d774da6ae2360261c0b06188ad6", "signature": "public int Hidden", "summary": "int (offset 28)" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "int (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeDiffRow", "displayName": "NativeDiffRow", "kind": "struct", "summary": "cui_diff_row, 20 bytes.", "members": [{ "name": "Kind", "kind": "field", "id": "field|Kind|0|0|DiffRowKind|||h8492c9bbc0fe5406fdc5a7e026a21a97cf6263728ebe12e1fcfdb21739b0fcd3", "signature": "public DiffRowKind Kind", "summary": "cui_diff_row_kind (offset 0)" }, { "name": "Change", "kind": "field", "id": "field|Change|0|0|int|||ha5a0494f795169c13c7b208ca15443b22801d16f70d84413d071e3652a1e1062", "signature": "public int Change", "summary": "int (offset 12)" }, { "name": "Hidden", "kind": "field", "id": "field|Hidden|0|0|int|||h213f22e3210862a27f997f5a3526334cfa037d774da6ae2360261c0b06188ad6", "signature": "public int Hidden", "summary": "int (offset 16)" }, { "name": "NewLine", "kind": "field", "id": "field|NewLine|0|0|int|||hde0ec57f4b0e4c2fe5cd0414edd2f43cc4af58e34cf20bda6c518b84db99d69d", "signature": "public int NewLine", "summary": "int (offset 8)" }, { "name": "OldLine", "kind": "field", "id": "field|OldLine|0|0|int|||h7fcc25b0716435ac3fd7f7a6e3876e316598838154f4a1c68b64fec59950312d", "signature": "public int OldLine", "summary": "int (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeDiffStats", "displayName": "NativeDiffStats", "kind": "struct", "summary": "cui_diff_stats, 24 bytes.", "members": [{ "name": "Approximate", "kind": "field", "id": "field|Approximate|0|0|byte|||h0f32eab877364afb8bff84ad856dc04a67c3afabb2b5e28c6a4e6acf8b5fbae0", "signature": "public byte Approximate", "summary": "_Bool (offset 20)" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "int (offset 0)" }, { "name": "Hunks", "kind": "field", "id": "field|Hunks|0|0|int|||he5a7c2c6ecbda9339c4504d79fa653d43f9c810c70290585ea379322b5296fe3", "signature": "public int Hunks", "summary": "int (offset 8)" }, { "name": "NewLines", "kind": "field", "id": "field|NewLines|0|0|int|||h77cf25ecb62e21fda63404638167454acd24d15854733ecf65742980e4197bc6", "signature": "public int NewLines", "summary": "int (offset 16)" }, { "name": "OldLines", "kind": "field", "id": "field|OldLines|0|0|int|||he89e809a784724c71850d6a1e0c6b6fcdba5ce8950d3faa8a99a3501203331c8", "signature": "public int OldLines", "summary": "int (offset 12)" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "int (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeDocTab", "displayName": "NativeDocTab", "kind": "struct", "summary": "cui_doc_tab, 32 bytes.", "members": [{ "name": "Dirty", "kind": "field", "id": "field|Dirty|0|0|byte|||hdeca808be0cb980e0127bf11db817b7eba18ce8bebf9b076a7a0630e4feaa531", "signature": "public byte Dirty", "summary": "_Bool (offset 24)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 0)" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|nint|||hccbc32a161449afe62353b5d908ca3da9aecdd74fe8acbce624e4004ec4575e7", "signature": "public nint Tooltip", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeDocTabsOpts", "displayName": "NativeDocTabsOpts", "kind": "struct", "summary": "cui_doc_tabs_opts, 8 bytes.", "members": [{ "name": "NoClose", "kind": "field", "id": "field|NoClose|0|0|byte|||hacbdbddc271704b2df42b9ee5d951bd93c95187ec63d2108ebea9725c6689ca7", "signature": "public byte NoClose", "summary": "_Bool (offset 5)" }, { "name": "NoReorder", "kind": "field", "id": "field|NoReorder|0|0|byte|||h101c130bde86d0ff9cba5055c44c106c6128d2fc1df8dc0d4a5cd0f3d344a270", "signature": "public byte NoReorder", "summary": "_Bool (offset 6)" }, { "name": "Shortcuts", "kind": "field", "id": "field|Shortcuts|0|0|byte|||hd6377cbca16d594c8b5a4148204280325d292de8ca3b071947064f77f6e6a6fb", "signature": "public byte Shortcuts", "summary": "_Bool (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeDocTabsResult", "displayName": "NativeDocTabsResult", "kind": "struct", "summary": "cui_doc_tabs_result, 16 bytes.", "members": [{ "name": "Changed", "kind": "field", "id": "field|Changed|0|0|byte|||had978eec0af03eb4dacdb360976a7e241488e1b52d178b9e3926112ece7b5ff4", "signature": "public byte Changed", "summary": "_Bool (offset 0)" }, { "name": "Close", "kind": "field", "id": "field|Close|0|0|int|||hd66699e2f0c82a29493772269f2265430cd51ffdaea1b6e5a53620ccd8057858", "signature": "public int Close", "summary": "int (offset 4)" }, { "name": "MoveFrom", "kind": "field", "id": "field|MoveFrom|0|0|int|||h5242007257927bf644e70880032ca9628cfdfcb01004763000e1099c7dc49aa8", "signature": "public int MoveFrom", "summary": "int (offset 8)" }, { "name": "MoveTo", "kind": "field", "id": "field|MoveTo|0|0|int|||h9978012a238735312417aa1be6c6e404ffce2291eb4cc9867928d6eb35aebeac", "signature": "public int MoveTo", "summary": "int (offset 12)" }] }, - { "name": "CuiSharp.Interop.NativeDockItemOpts", "displayName": "NativeDockItemOpts", "kind": "struct", "summary": "cui_dock_item_opts, 16 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 4)" }, { "name": "Running", "kind": "field", "id": "field|Running|0|0|byte|||hbc145deb8cc1fd60c76fec5ac516eeb00cbcf81f58b42ff1adc1189c402bcbe2", "signature": "public byte Running", "summary": "_Bool (offset 8)" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|int|||h1ea0a5985eea3db7ed64622a6693b2d10e07bdfdc4610208a1b5ee962fce491c", "signature": "public int Badge", "summary": "int (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeDockOpts", "displayName": "NativeDockOpts", "kind": "struct", "summary": "cui_dock_opts, 12 bytes.", "members": [{ "name": "Magnify", "kind": "field", "id": "field|Magnify|0|0|float|||h1b7c2d09207b0b96fb623cbceda94330e8256fdb75cff5e9cb0e5693e018a756", "signature": "public float Magnify", "summary": "float (offset 8)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeDockPanelOpts", "displayName": "NativeDockPanelOpts", "kind": "struct", "summary": "cui_dock_panel_opts, 24 bytes.", "members": [{ "name": "Dirty", "kind": "field", "id": "field|Dirty|0|0|byte|||hdeca808be0cb980e0127bf11db817b7eba18ce8bebf9b076a7a0630e4feaa531", "signature": "public byte Dirty", "summary": "_Bool (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeDockspaceOpts", "displayName": "NativeDockspaceOpts", "kind": "struct", "summary": "cui_dockspace_opts, 48 bytes.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 16)" }, { "name": "Shortcuts", "kind": "field", "id": "field|Shortcuts|0|0|byte|||hd6377cbca16d594c8b5a4148204280325d292de8ca3b071947064f77f6e6a6fb", "signature": "public byte Shortcuts", "summary": "_Bool (offset 40)" }, { "name": "MinPanelHeight", "kind": "field", "id": "field|MinPanelHeight|0|0|float|||h477499d2af5c2fdee80ea8ecbb7b89b8cd2bc2693730e692f2b738fdae410cd7", "signature": "public float MinPanelHeight", "summary": "float (offset 36)" }, { "name": "MinPanelWidth", "kind": "field", "id": "field|MinPanelWidth|0|0|float|||hc8164d822bee1bca4df57bb3dbc7061e2e0cc00b5193fd5ee4341cbc793ce8d5", "signature": "public float MinPanelWidth", "summary": "float (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Layout", "kind": "field", "id": "field|Layout|0|0|nint|||he153907fa360ada3863f43f9763a85f428ae5b8f3addb4c159119cea0044e884", "signature": "public nint Layout", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeDrawCmd", "displayName": "NativeDrawCmd", "kind": "struct", "summary": "cui_draw_cmd, 32 bytes.", "members": [{ "name": "Clip", "kind": "field", "id": "field|Clip|0|0|NativeRect|||h09bdaf8c5530d338de131c10bf3864c030b9fcc63a721815522ccb35df10e05e", "signature": "public NativeRect Clip", "summary": "cui_rect (offset 0)" }, { "name": "Texture", "kind": "field", "id": "field|Texture|0|0|nuint|||h23dd5d78f859076fb8ace99f2c743e186553f036f88bc3d8a2187d11495b0d96", "signature": "public nuint Texture", "summary": "cui_texture (offset 16)" }, { "name": "IndexCount", "kind": "field", "id": "field|IndexCount|0|0|uint|||hb0bcb37c85a9f860f8ee892fff2d4b18cabf19879cb74b9c3f7f7e8aa18ff42c", "signature": "public uint IndexCount", "summary": "uint32_t (offset 28)" }, { "name": "IndexOffset", "kind": "field", "id": "field|IndexOffset|0|0|uint|||hb6d7b22f4a50cdb0db51a0d9d4e40e8b23387e64c8e283df7b5db3022fbbaba5", "signature": "public uint IndexOffset", "summary": "uint32_t (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeDrawData", "displayName": "NativeDrawData", "kind": "struct", "summary": "cui_draw_data, 64 bytes.", "members": [{ "name": "ClearColor", "kind": "field", "id": "field|ClearColor|0|0|NativeColor|||heb9a573661370f973e3eb7ac8e1caf42bd059a193fd68abb81ca31dc5e189195", "signature": "public NativeColor ClearColor", "summary": "cui_color (offset 52)" }, { "name": "CommandCount", "kind": "field", "id": "field|CommandCount|0|0|int|||hc190b445170235490a4c93672339bb39cf03f4c800e272271fabef50fde7e5b4", "signature": "public int CommandCount", "summary": "int (offset 40)" }, { "name": "HeightPx", "kind": "field", "id": "field|HeightPx|0|0|int|||hc7abb4500bf8c59f5efde6d760572fea4431b3675d3b65005761e1a876b470f4", "signature": "public int HeightPx", "summary": "int (offset 48)" }, { "name": "IndexCount", "kind": "field", "id": "field|IndexCount|0|0|int|||h6d841b3a76641eedc5238403d2c20b0963aed3c79fb6d07a7cd37698b8966731", "signature": "public int IndexCount", "summary": "int (offset 24)" }, { "name": "VertexCount", "kind": "field", "id": "field|VertexCount|0|0|int|||h0b32c3ca172972ce82332a1e2117e19a05d322760a5a01602052553ed4b16f19", "signature": "public int VertexCount", "summary": "int (offset 8)" }, { "name": "WidthPx", "kind": "field", "id": "field|WidthPx|0|0|int|||hadce0c1d922dc2297d04376b3fb0d7d5cfe53b2c2f6102992a52b783c8f15f31", "signature": "public int WidthPx", "summary": "int (offset 44)" }, { "name": "Commands", "kind": "field", "id": "field|Commands|0|0|nint|||hf0a2f92a6de78b78d4ffbdcddcfd7daf34fcb2c10d9f28119399bf055205a7c2", "signature": "public nint Commands", "summary": "const cui_draw_cmd * (offset 32)" }, { "name": "Indices", "kind": "field", "id": "field|Indices|0|0|nint|||h6d12982c36688cc1f72ee4cb2937f350902bae1d575d229d9f269495445c4a87", "signature": "public nint Indices", "summary": "const uint32_t * (offset 16)" }, { "name": "Vertices", "kind": "field", "id": "field|Vertices|0|0|nint|||h66a8649f8a7a541c7e3f7ca35269a409f94c28e3511bfdb3fef999a8c13eef91", "signature": "public nint Vertices", "summary": "const cui_vertex * (offset 0)" }, { "name": "FontAtlas", "kind": "field", "id": "field|FontAtlas|0|0|nuint|||h630a4c0033636b636312cedc7fd00d014938dc2d7fe90a80670b7e8d0a6ddb3b", "signature": "public nuint FontAtlas", "summary": "cui_texture (offset 56)" }] }, - { "name": "CuiSharp.Interop.NativeDropzoneOpts", "displayName": "NativeDropzoneOpts", "kind": "struct", "summary": "cui_dropzone_opts, 56 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 44)" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|byte|||h82ad4978e776988891fb40f0e87ef125edf87783174f60001d6260930e049142", "signature": "public byte Compact", "summary": "_Bool (offset 52)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Accept", "kind": "field", "id": "field|Accept|0|0|nint|||h04df6c7ccc4694e99bc343faf31eac321c25224fae62b3ab149ef7169848243e", "signature": "public nint Accept", "summary": "const char * (offset 32)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 24)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeEmojiPickerOpts", "displayName": "NativeEmojiPickerOpts", "kind": "struct", "summary": "cui_emoji_picker_opts, 88 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoPreview", "kind": "field", "id": "field|NoPreview|0|0|byte|||h1b1c0f53e0a98b6a75cf1fc3b196dbf13d6a97e6e4059a5ccc7f9cd2fede46a4", "signature": "public byte NoPreview", "summary": "_Bool (offset 81)" }, { "name": "NoSearch", "kind": "field", "id": "field|NoSearch|0|0|byte|||h1b79e845e35ce805c0e9ba6daa0b221e2b4ea3253a0d30fe5a0b3089ad7dffd5", "signature": "public byte NoSearch", "summary": "_Bool (offset 80)" }, { "name": "NoTone", "kind": "field", "id": "field|NoTone|0|0|byte|||h1bca5d13bfa507ddb10e74de6a3c85a065b6495379158fefd41887baa0ab131a", "signature": "public byte NoTone", "summary": "_Bool (offset 82)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "EmptyText", "kind": "field", "id": "field|EmptyText|0|0|nint|||h84afe79dbbeaa0c9b73bb4d20fbcc6738301e0c67a55100fcffd03eebcc017be", "signature": "public nint EmptyText", "summary": "const char * (offset 56)" }, { "name": "GroupNames", "kind": "field", "id": "field|GroupNames|0|0|nint|||ha62ebbf39e9bcbd501d6bc943ba53462d2998b6e8a5b223621f0cc14171a66c5", "signature": "public nint GroupNames", "summary": "const char *const * (offset 72)" }, { "name": "Hint", "kind": "field", "id": "field|Hint|0|0|nint|||hc04a330155ea240694e4f00b47172663ef8f8e8c7171babe8307883ebbeeee6c", "signature": "public nint Hint", "summary": "const char * (offset 64)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 48)" }, { "name": "Recent", "kind": "field", "id": "field|Recent|0|0|nint|||heeef6ed734e158bf4d663036a6949c21cdaf60f565283d539fbdb77e077d495b", "signature": "public nint Recent", "summary": "char * (offset 24)" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|nint|||hcdeacaaea3b8fdcb54307dc47361bdd3478789682315f2252ea858fba686d74d", "signature": "public nint Tone", "summary": "int * (offset 40)" }, { "name": "RecentCap", "kind": "field", "id": "field|RecentCap|0|0|nuint|||h397e41a24d23c02e76bd607b6ff96175fd5f8e330990dc40c2e2bc90a5a2c87c", "signature": "public nuint RecentCap", "summary": "size_t (offset 32)" }] }, - { "name": "CuiSharp.Interop.NativeEmptyOpts", "displayName": "NativeEmptyOpts", "kind": "struct", "summary": "cui_empty_opts, 32 bytes.", "members": [{ "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|nint|||h7dfe2a16d24f5ae17516623e6e776336e0c9174236c2f3e6d25910fcd1c88c17", "signature": "public nint Action", "summary": "const char * (offset 24)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeExpandableCardOpts", "displayName": "NativeExpandableCardOpts", "kind": "struct", "summary": "cui_expandable_card_opts, 40 bytes.", "members": [{ "name": "BadgeTone", "kind": "field", "id": "field|BadgeTone|0|0|Tone|||h7d1e4a819759475402672321667bc594bcbc369a9973d1d17f2954d94090361f", "signature": "public Tone BadgeTone", "summary": "cui_tone (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|nint|||hde22c04ea21d8219db7a1a082d573f3b836e72a11c561a5bcf979fe76b33f2fc", "signature": "public nint Badge", "summary": "const char * (offset 24)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeExpandableTextOpts", "displayName": "NativeExpandableTextOpts", "kind": "struct", "summary": "cui_expandable_text_opts, 20 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 12)" }, { "name": "FadeTo", "kind": "field", "id": "field|FadeTo|0|0|NativeColor|||h6fc5b6e540a84749802df1347a5cfdc931ab8a9f1b348236de4856c7d7b190e4", "signature": "public NativeColor FadeTo", "summary": "cui_color (offset 16)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 8)" }, { "name": "Lines", "kind": "field", "id": "field|Lines|0|0|int|||hee1996ff73a3bb29577188d155832b95024d32ca718f5404022abdd064faf7d7", "signature": "public int Lines", "summary": "int (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeFaderOpts", "displayName": "NativeFaderOpts", "kind": "struct", "summary": "cui_fader_opts, 80 bytes.", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 77)" }, { "name": "HideValue", "kind": "field", "id": "field|HideValue|0|0|byte|||hbb6b16309b43eda0fc05f53c3f1331a74672b86f2823f660cbf275eda7570761", "signature": "public byte HideValue", "summary": "_Bool (offset 76)" }, { "name": "Horizontal", "kind": "field", "id": "field|Horizontal|0|0|byte|||hb8eb5f891a452586827fe30447b7d0b698e41f55d790a6fb5ef7aee450a3d7f2", "signature": "public byte Horizontal", "summary": "_Bool (offset 36)" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|float|||hde0ed5b9413eadd735eb6ae0346647e34ca58923c6d228bcc21459281e52a172", "signature": "public float Length", "summary": "float (offset 32)" }, { "name": "Reset", "kind": "field", "id": "field|Reset|0|0|float|||h6f7e0b1685ab6d501be44af24ff4fc26ab960c5abf2371bc447d2d1768038172", "signature": "public float Reset", "summary": "float (offset 44)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "float (offset 40)" }, { "name": "MeterChannels", "kind": "field", "id": "field|MeterChannels|0|0|int|||hb226b16c842f117a25b365a0857eb313f1deb632328f3313d44a47fd2cb1d138", "signature": "public int MeterChannels", "summary": "int (offset 72)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "TickCount", "kind": "field", "id": "field|TickCount|0|0|int|||hfaa0b21c87b7bdc86ccb43ab89bf62c3a9af96359121f530e10d842785d10c47", "signature": "public int TickCount", "summary": "int (offset 56)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Meter", "kind": "field", "id": "field|Meter|0|0|nint|||h3375502e9a7072f3d2b61afa9b045ae1f2df22ffc3a63c747b9948c2b621128d", "signature": "public nint Meter", "summary": "const float * (offset 64)" }, { "name": "Ticks", "kind": "field", "id": "field|Ticks|0|0|nint|||h289c57302bd4866d911b9dc5aec095b0f5ceb09b31139e9f8b7bc3d79c6a553e", "signature": "public nint Ticks", "summary": "const float * (offset 48)" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|nint|||h708409b7ee1912ab128b9f78a22e55e9f298402bb842be865ac89fa44f207c93", "signature": "public nint Unit", "summary": "const char * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeFeatureFlag", "displayName": "NativeFeatureFlag", "kind": "struct", "summary": "cui_feature_flag, 56 bytes.", "members": [{ "name": "On", "kind": "field", "id": "field|On|0|0|\u003COn\u003Ee__FixedBuffer|||h4fe21dab1eb5344987e821db3be00e4fd428a73bcf0d3dff1a6ca61aa27a8627", "signature": "public \u003COn\u003Ee__FixedBuffer On", "summary": "_Bool[8] (offset 16)" }, { "name": "Rollout", "kind": "field", "id": "field|Rollout|0|0|\u003CRollout\u003Ee__FixedBuffer|||h6e8b456a3ec00dd8254449a068db5974dc55e2583126c1ac2694a44aded24320", "signature": "public \u003CRollout\u003Ee__FixedBuffer Rollout", "summary": "int[8] (offset 24)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }, { "name": "Key", "kind": "field", "id": "field|Key|0|0|nint|||h8dc181704631263cbfa5dce141d5a704cd2a84480b2b7eaaed62573f9f41fd97", "signature": "public nint Key", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeFeatureFlagsOpts", "displayName": "NativeFeatureFlagsOpts", "kind": "struct", "summary": "cui_feature_flags_opts, 16 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeFeatureFlagsResult", "displayName": "NativeFeatureFlagsResult", "kind": "struct", "summary": "cui_feature_flags_result, 8 bytes.", "members": [{ "name": "Env", "kind": "field", "id": "field|Env|0|0|int|||h269fe73fb8fabfdb994eca29622654e19b24a6ecb8611be18a698db081d93601", "signature": "public int Env", "summary": "int (offset 4)" }, { "name": "Flag", "kind": "field", "id": "field|Flag|0|0|int|||h8f33ee8f28f37670ad5fa060fa8a67e317f7a892fc622de79b672ab614aa1637", "signature": "public int Flag", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeFileBrowserOpts", "displayName": "NativeFileBrowserOpts", "kind": "struct", "summary": "cui_file_browser_opts, 80 bytes.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "FoldersOnly", "kind": "field", "id": "field|FoldersOnly|0|0|byte|||hae2e177a4e27dee5ba0dfaca55a865d56d5018844806492cf57e6a29e5b45d74", "signature": "public byte FoldersOnly", "summary": "_Bool (offset 32)" }, { "name": "Hidden", "kind": "field", "id": "field|Hidden|0|0|byte|||h09d64fd87a2ea3d6dc71208d5d191ef6983ee56f643ddde81b958e84c34b17b8", "signature": "public byte Hidden", "summary": "_Bool (offset 33)" }, { "name": "NoPlaces", "kind": "field", "id": "field|NoPlaces|0|0|byte|||h0061409c5c9d9515dfcb6f697b4b3d77ca0c7c2e2d41ef4017afbcce25325410", "signature": "public byte NoPlaces", "summary": "_Bool (offset 34)" }, { "name": "MaxEntries", "kind": "field", "id": "field|MaxEntries|0|0|int|||h2695eb0ec10136d936d6e32d011a43f4405cf384da5a9a9b0c31d3fe6fea80a9", "signature": "public int MaxEntries", "summary": "int (offset 72)" }, { "name": "PlaceCount", "kind": "field", "id": "field|PlaceCount|0|0|int|||h50af12e8e092f87d09e47933fc79768058887bec2568cd9f6b40410e6345a519", "signature": "public int PlaceCount", "summary": "int (offset 48)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Filter", "kind": "field", "id": "field|Filter|0|0|nint|||hd300c3e184dfdac0ba98c5d80f3bfc5c9fa629e4455f95ac59a70bf43defe25a", "signature": "public nint Filter", "summary": "const char * (offset 24)" }, { "name": "List", "kind": "field", "id": "field|List|0|0|nint|||h0b5c59300517055cd672574fc5d8ede833fc5f7e26c8c675234312fc001425a4", "signature": "public nint List", "summary": "cui_file_list_fn (offset 56)" }, { "name": "ListUser", "kind": "field", "id": "field|ListUser|0|0|nint|||hc5ee4fc495d143240b8dc2682dd4b0d2b8e04db1d48d490df1103d34a410aa00", "signature": "public nint ListUser", "summary": "void * (offset 64)" }, { "name": "Places", "kind": "field", "id": "field|Places|0|0|nint|||h55c1a2567a9bf5594ec4f196fb9396d1300f2693e8a15c17165ea192b56dcf07", "signature": "public nint Places", "summary": "const char *const * (offset 40)" }] }, - { "name": "CuiSharp.Interop.NativeFileBrowserResult", "displayName": "NativeFileBrowserResult", "kind": "struct", "summary": "cui_file_browser_result, 24 bytes.", "members": [{ "name": "Error", "kind": "field", "id": "field|Error|0|0|byte|||hba82fad2f0354957feb1c6a9098b20e398ab7d21955f950594a6cd942ab2e3d8", "signature": "public byte Error", "summary": "_Bool (offset 17)" }, { "name": "Navigated", "kind": "field", "id": "field|Navigated|0|0|byte|||hff84fe6adf4425d4249e519cbc002513db54a057763a1d7934bc2f19c7bea1b0", "signature": "public byte Navigated", "summary": "_Bool (offset 16)" }, { "name": "Picked", "kind": "field", "id": "field|Picked|0|0|nint|||ha868f06ca3722aa70dbdca0f9480ba31185ee0651d80a42db22e4d9d96c584e9", "signature": "public nint Picked", "summary": "const char * (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeFileDialogOpts", "displayName": "NativeFileDialogOpts", "kind": "struct", "summary": "cui_file_dialog_opts, 40 bytes.", "members": [{ "name": "Kind", "kind": "field", "id": "field|Kind|0|0|FileDialogKind|||h512c396246ef17a640b367e83509222e0af62a830efa14c05edc36e5058f579d", "signature": "public FileDialogKind Kind", "summary": "cui_file_dialog_kind (offset 0)" }, { "name": "DefaultName", "kind": "field", "id": "field|DefaultName|0|0|nint|||h000d10643ab02008311c3918b9208fb1aa89261ee4e2e7482a2f13097e82b8e8", "signature": "public nint DefaultName", "summary": "const char * (offset 32)" }, { "name": "Filter", "kind": "field", "id": "field|Filter|0|0|nint|||hd300c3e184dfdac0ba98c5d80f3bfc5c9fa629e4455f95ac59a70bf43defe25a", "signature": "public nint Filter", "summary": "const char * (offset 24)" }, { "name": "FilterName", "kind": "field", "id": "field|FilterName|0|0|nint|||h585b3fbcd4ec5670db8d7c23fae3117d1f1383dcbbef44f4cc06fef54bcf2766", "signature": "public nint FilterName", "summary": "const char * (offset 16)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeFileEntry", "displayName": "NativeFileEntry", "kind": "struct", "summary": "cui_file_entry, 32 bytes.", "members": [{ "name": "Dir", "kind": "field", "id": "field|Dir|0|0|byte|||hcd2932a5082aa0cdb58aca24572201374934acabca31e71641000d503239991f", "signature": "public byte Dir", "summary": "_Bool (offset 8)" }, { "name": "Modified", "kind": "field", "id": "field|Modified|0|0|long|||h04bbaccca73d0bdc4e3e9cdb87230703d5978e2d47288e2ef15a19ec65c6c575", "signature": "public long Modified", "summary": "int64_t (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ulong|||h2db05cb8af3c713fe9425098cf97468b958626aa41fab04ccd53ea4cdfcbd5e5", "signature": "public ulong Size", "summary": "uint64_t (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeFilePickerOpts", "displayName": "NativeFilePickerOpts", "kind": "struct", "summary": "cui_file_picker_opts, 72 bytes.", "members": [{ "name": "Folders", "kind": "field", "id": "field|Folders|0|0|byte|||h5ae21bb24245d7660bdd576d62692ef03c762f880adb9a0f1c49c65d4eeaf0a1", "signature": "public byte Folders", "summary": "_Bool (offset 17)" }, { "name": "Save", "kind": "field", "id": "field|Save|0|0|byte|||h7d0e84b897fd35b872cef24deacc021e3fa924b486b9496f6d2df5b7cdb38b4e", "signature": "public byte Save", "summary": "_Bool (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Filter", "kind": "field", "id": "field|Filter|0|0|nint|||hd300c3e184dfdac0ba98c5d80f3bfc5c9fa629e4455f95ac59a70bf43defe25a", "signature": "public nint Filter", "summary": "const char * (offset 40)" }, { "name": "FilterLabel", "kind": "field", "id": "field|FilterLabel|0|0|nint|||h61c85ed1b7b9df7a5b032544020c6647d101d369c5f30e813b3958fb5577c347", "signature": "public nint FilterLabel", "summary": "const char * (offset 48)" }, { "name": "List", "kind": "field", "id": "field|List|0|0|nint|||h0b5c59300517055cd672574fc5d8ede833fc5f7e26c8c675234312fc001425a4", "signature": "public nint List", "summary": "cui_file_list_fn (offset 56)" }, { "name": "ListUser", "kind": "field", "id": "field|ListUser|0|0|nint|||hc5ee4fc495d143240b8dc2682dd4b0d2b8e04db1d48d490df1103d34a410aa00", "signature": "public nint ListUser", "summary": "void * (offset 64)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 32)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|nint|||hc09c63ca74a8865980fc90e8705f77463589be19cb2ac47215bf017012fd1e70", "signature": "public nint Start", "summary": "const char * (offset 24)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeFilterField", "displayName": "NativeFilterField", "kind": "struct", "summary": "cui_filter_field, 32 bytes.", "members": [{ "name": "OptionCount", "kind": "field", "id": "field|OptionCount|0|0|int|||haef08072d623d2b8c76df51bfff978774c11baafa17ee75ce185a0fe6ffe3df9", "signature": "public int OptionCount", "summary": "int (offset 24)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }, { "name": "Options", "kind": "field", "id": "field|Options|0|0|nint|||h2a8ec3d36275c8cb3d0868c775c75b73df1b18111f82c918479934997482e22b", "signature": "public nint Options", "summary": "const char *const * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeFlameOpts", "displayName": "NativeFlameOpts", "kind": "struct", "summary": "cui_flame_opts, 32 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "MinRange", "kind": "field", "id": "field|MinRange|0|0|double|||h48e306cd4a74be0e663f2bc1ccdd39cb18de01460b82a3a6f2849dc1999e1208", "signature": "public double MinRange", "summary": "double (offset 24)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "float (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeFlameResult", "displayName": "NativeFlameResult", "kind": "struct", "summary": "cui_flame_result, 12 bytes.", "members": [{ "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|byte|||hcd9665fd3f1681a5d2b578f5591a4ad75144e40faafeb6788c0782cddf3116c2", "signature": "public byte SelectionChanged", "summary": "_Bool (offset 0)" }, { "name": "ViewChanged", "kind": "field", "id": "field|ViewChanged|0|0|byte|||h968fb22c9e133162ed2bb1e1b83f1e701e91d01be17827f59793f1a36c1b1a8b", "signature": "public byte ViewChanged", "summary": "_Bool (offset 1)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "int (offset 4)" }, { "name": "Zoomed", "kind": "field", "id": "field|Zoomed|0|0|int|||he68f9a8e48bcbe09fa4ffc168bada70699938bf2b39fa8565e6f8b914b559293", "signature": "public int Zoomed", "summary": "int (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeFlameSpan", "displayName": "NativeFlameSpan", "kind": "struct", "summary": "cui_flame_span, 32 bytes.", "members": [{ "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "double (offset 16)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "double (offset 8)" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "int (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }, { "name": "ColorKey", "kind": "field", "id": "field|ColorKey|0|0|uint|||hbbc8b9d5c464ef1cd597c6f62696a77755f8847c84433421ceea1723416ab5bd", "signature": "public uint ColorKey", "summary": "uint32_t (offset 28)" }] }, - { "name": "CuiSharp.Interop.NativeFlameView", "displayName": "NativeFlameView", "kind": "struct", "summary": "cui_flame_view, 24 bytes.", "members": [{ "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "double (offset 8)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "double (offset 0)" }, { "name": "Scroll", "kind": "field", "id": "field|Scroll|0|0|float|||h0dfb15b9f1ad3ea27fb4bb36094488302791ae6da1fc5727249bcba34280b5fb", "signature": "public float Scroll", "summary": "float (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeFunnelOpts", "displayName": "NativeFunnelOpts", "kind": "struct", "summary": "cui_funnel_opts, 32 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeGanttOpts", "displayName": "NativeGanttOpts", "kind": "struct", "summary": "cui_gantt_opts, 28 bytes.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 12)" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|byte|||h9e1431d0c26b40c6daa5a446056e13ee71a6462394b7d796b573d868c509360c", "signature": "public byte ReadOnly", "summary": "_Bool (offset 24)" }, { "name": "DayWidth", "kind": "field", "id": "field|DayWidth|0|0|float|||hc29d4a66435c10834835d199d7668ed8a85501e1faf9bcdacb721c3b354f46c0", "signature": "public float DayWidth", "summary": "float (offset 4)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Today", "kind": "field", "id": "field|Today|0|0|int|||h3dbc223105bf4f83f66479770b59a229a8203cf99f501b627d518e1cb56f4b2c", "signature": "public int Today", "summary": "int (offset 20)" }] }, - { "name": "CuiSharp.Interop.NativeGanttTask", "displayName": "NativeGanttTask", "kind": "struct", "summary": "cui_gantt_task, 40 bytes.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 28)" }, { "name": "Milestone", "kind": "field", "id": "field|Milestone|0|0|byte|||he43b35e8a301fe7cfde8e75c86747e5a991c8237ec5c1a328eef3293a1cf0a83", "signature": "public byte Milestone", "summary": "_Bool (offset 36)" }, { "name": "Progress", "kind": "field", "id": "field|Progress|0|0|float|||h7ee3c00970d0194eef8a3de43a8432ca8168034fc90ca2ab893b22ce785d5b05", "signature": "public float Progress", "summary": "float (offset 24)" }, { "name": "DependsOn", "kind": "field", "id": "field|DependsOn|0|0|int|||hc6f9ef65ae7e49def7df7a36abf53610c60718d6c6c30ab4038ec669e19b2558", "signature": "public int DependsOn", "summary": "int (offset 32)" }, { "name": "End", "kind": "field", "id": "field|End|0|0|int|||h101ad3d5ebda13e9c347a22363390231322c8fbb64d191c3a092d362955b7964", "signature": "public int End", "summary": "int (offset 20)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|int|||ha1b0c3e4699fce964620bef0f781444da21c0b72084141f26a9e30e25bf70e5f", "signature": "public int Start", "summary": "int (offset 16)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }, { "name": "Owner", "kind": "field", "id": "field|Owner|0|0|nint|||ha1ce12eca90319ef97ddadf5f73dc7885cacf37641b3abd03475a4a6343405c5", "signature": "public nint Owner", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeGaugeBand", "displayName": "NativeGaugeBand", "kind": "struct", "summary": "cui_gauge_band, 8 bytes.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 4)" }, { "name": "To", "kind": "field", "id": "field|To|0|0|float|||hf8849e6dc06eacb246cf9418bb9bdf8b9b9026e6b10eb69f5c9835b3923929db", "signature": "public float To", "summary": "float (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeGradientOpts", "displayName": "NativeGradientOpts", "kind": "struct", "summary": "cui_gradient_opts, 24 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "int * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeGradientResult", "displayName": "NativeGradientResult", "kind": "struct", "summary": "cui_gradient_result, 16 bytes.", "members": [{ "name": "Changed", "kind": "field", "id": "field|Changed|0|0|byte|||had978eec0af03eb4dacdb360976a7e241488e1b52d178b9e3926112ece7b5ff4", "signature": "public byte Changed", "summary": "_Bool (offset 0)" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "int (offset 4)" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "int (offset 8)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "int (offset 12)" }] }, - { "name": "CuiSharp.Interop.NativeGradientStop", "displayName": "NativeGradientStop", "kind": "struct", "summary": "cui_gradient_stop, 8 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 4)" }, { "name": "Pos", "kind": "field", "id": "field|Pos|0|0|float|||h9aac977227e3823ee394b51dffa79203fcc9f0c18ab3d961f658a2082fe8ef7e", "signature": "public float Pos", "summary": "float (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeGradientTextOpts", "displayName": "NativeGradientTextOpts", "kind": "struct", "summary": "cui_gradient_text_opts, 32 bytes.", "members": [{ "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "cui_font (offset 4)" }, { "name": "From", "kind": "field", "id": "field|From|0|0|NativeColor|||hedf3a6a774ec4a291fd74d8b9437e94dd32ccb0174ee9470406ef4ca40a1b9e9", "signature": "public NativeColor From", "summary": "cui_color (offset 12)" }, { "name": "To", "kind": "field", "id": "field|To|0|0|NativeColor|||h7dff92cc91e25ac29c9afe68011fbbd5b501cdfa12aea26173b386eb0a299343", "signature": "public NativeColor To", "summary": "cui_color (offset 16)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 24)" }, { "name": "Animate", "kind": "field", "id": "field|Animate|0|0|byte|||h99edaa9f18f4a8798dec24bbf1057171c7a9880a33480e8f6d823c008a06a948", "signature": "public byte Animate", "summary": "_Bool (offset 20)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeGraphEdge", "displayName": "NativeGraphEdge", "kind": "struct", "summary": "cui_graph_edge, 8 bytes.", "members": [{ "name": "From", "kind": "field", "id": "field|From|0|0|int|||h11f7cebcf77a074c120dda4af3a2c2a7d6533333236d3fbb272c705fd58fd693", "signature": "public int From", "summary": "int (offset 0)" }, { "name": "To", "kind": "field", "id": "field|To|0|0|int|||h51c44d9327d4ff5ec543672605cdc9085758c30f02fb02478eed8ab117d48e44", "signature": "public int To", "summary": "int (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeGraphNode", "displayName": "NativeGraphNode", "kind": "struct", "summary": "cui_graph_node, 24 bytes.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 16)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "const char * (offset 8)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeGraphOpts", "displayName": "NativeGraphOpts", "kind": "struct", "summary": "cui_graph_opts, 32 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "TopDown", "kind": "field", "id": "field|TopDown|0|0|byte|||h440a5afdb8b96ab548081bdf064429e9515bc2c9aed3304e6cf3eefb979ecac8", "signature": "public byte TopDown", "summary": "_Bool (offset 16)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "int * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeGraphResult", "displayName": "NativeGraphResult", "kind": "struct", "summary": "cui_graph_result, 12 bytes.", "members": [{ "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "int (offset 4)" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "int (offset 0)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "int (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeGridColumn", "displayName": "NativeGridColumn", "kind": "struct", "summary": "cui_grid_column, 24 bytes.", "members": [{ "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "cui_text_align (offset 12)" }, { "name": "Fixed", "kind": "field", "id": "field|Fixed|0|0|byte|||hf34b5694d58a07d3223ee2235d451f81ed7a09be66068c9bbc95ff88ca3b1e17", "signature": "public byte Fixed", "summary": "_Bool (offset 17)" }, { "name": "Sortable", "kind": "field", "id": "field|Sortable|0|0|byte|||he9070b0f1a6618362c7d61bbbdebf35e70e6d19b96b6e0a0848b987b2f8927ef", "signature": "public byte Sortable", "summary": "_Bool (offset 16)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 8)" }, { "name": "Priority", "kind": "field", "id": "field|Priority|0|0|int|||hbaa8b212dbdc34fa1179a77ab76338f94bb35b6954915c627238c0927fab9d97", "signature": "public int Priority", "summary": "int (offset 20)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeGridOpts", "displayName": "NativeGridOpts", "kind": "struct", "summary": "cui_grid_opts, 72 bytes.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "HideCheckboxes", "kind": "field", "id": "field|HideCheckboxes|0|0|byte|||h6fd6eac04a71b52ef56545ea61ec90897603d0ba2b00d592fe3aea544ab351fe", "signature": "public byte HideCheckboxes", "summary": "_Bool (offset 56)" }, { "name": "Striped", "kind": "field", "id": "field|Striped|0|0|byte|||hd2f33c74b431b991629cd3110070b2971b239e494028617bdf5c8495f08a3c04", "signature": "public byte Striped", "summary": "_Bool (offset 40)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "float (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Anchor", "kind": "field", "id": "field|Anchor|0|0|nint|||h2a3efb78b027ddab56b002c1c17c0175140a3ae80ce9ca969857ccc0bd8e0f33", "signature": "public nint Anchor", "summary": "int * (offset 64)" }, { "name": "Cursor", "kind": "field", "id": "field|Cursor|0|0|nint|||h195d74261818c31b6a837175cd06968e2a34f757d46f62d7a83a2655d64fa49a", "signature": "public nint Cursor", "summary": "int * (offset 48)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "_Bool * (offset 24)" }, { "name": "Sort", "kind": "field", "id": "field|Sort|0|0|nint|||h9d98eab2f080d85ca8cb2b51bbfbb1c26340f12564431ce3c0cb8b55484a96e2", "signature": "public nint Sort", "summary": "cui_table_sort * (offset 32)" }] }, - { "name": "CuiSharp.Interop.NativeHeatmapOpts", "displayName": "NativeHeatmapOpts", "kind": "struct", "summary": "cui_heatmap_opts, 56 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 36)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 48)" }, { "name": "Cell", "kind": "field", "id": "field|Cell|0|0|float|||hf561982788f651cf6be459cbdafa3d95b9d0eec610073c6be9f8ee75925d3d45", "signature": "public float Cell", "summary": "float (offset 24)" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "float (offset 32)" }, { "name": "Min", "kind": "field", "id": "field|Min|0|0|float|||h81101b82558caea906d5838961d5313f13c99e7d68f18285b0cf84040f989d8a", "signature": "public float Min", "summary": "float (offset 28)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "ColLabels", "kind": "field", "id": "field|ColLabels|0|0|nint|||h341f6ff47d1dcad907f5ec30036b4decc19be9a4df947a770e8e5b0e72fd543e", "signature": "public nint ColLabels", "summary": "const char *const * (offset 16)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 40)" }, { "name": "RowLabels", "kind": "field", "id": "field|RowLabels|0|0|nint|||h129c5d8d02700ee3ed6a4c66311945bf00088b45af8ac7f9d0e28f31d5d856ff", "signature": "public nint RowLabels", "summary": "const char *const * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeHexRange", "displayName": "NativeHexRange", "kind": "struct", "summary": "cui_hex_range, 32 bytes.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 16)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 24)" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|nuint|||hedf65e6cbb8502783a4b1db6bf52e3cb2ac5fc655d896572bd904d3dec117894", "signature": "public nuint Length", "summary": "size_t (offset 8)" }, { "name": "Offset", "kind": "field", "id": "field|Offset|0|0|nuint|||h12d9fc8e8a79ade3b2b6c9d612c1d902e92a0d2fd1e9fa210581e42cae95e5aa", "signature": "public nuint Offset", "summary": "size_t (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeHexResult", "displayName": "NativeHexResult", "kind": "struct", "summary": "cui_hex_result, 64 bytes.", "members": [{ "name": "Selection", "kind": "field", "id": "field|Selection|0|0|NativeHexSelection|||h1175db1a8eb0e5f6c36cd11589758d1e21c61e89ecae69a29088a40c9dd0da5b", "signature": "public NativeHexSelection Selection", "summary": "cui_hex_selection (offset 0)" }, { "name": "Copied", "kind": "field", "id": "field|Copied|0|0|byte|||ha564c6f6c9a275eb3a25db281ebdd5bdf919eb7f01edce0e75c7dc0faab6136c", "signature": "public byte Copied", "summary": "_Bool (offset 56)" }, { "name": "Edited", "kind": "field", "id": "field|Edited|0|0|byte|||h9ef1d7c46ce21222bc9354c9bc032337f9bc7c03cf045d2ab6957bb638b70c68", "signature": "public byte Edited", "summary": "_Bool (offset 25)" }, { "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|byte|||hcd9665fd3f1681a5d2b578f5591a4ad75144e40faafeb6788c0782cddf3116c2", "signature": "public byte SelectionChanged", "summary": "_Bool (offset 24)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|long|||hbe1c39e7bbdecc557c8876890e8eac9658e0fa1fd65737f5d44c9f0b0cf4e2d9", "signature": "public long Hovered", "summary": "int64_t (offset 48)" }, { "name": "EditLength", "kind": "field", "id": "field|EditLength|0|0|nuint|||hf53d8a9c16df84a6ee7ed527d46eee361c22769d926b46b82d49c6d0d8292c0d", "signature": "public nuint EditLength", "summary": "size_t (offset 40)" }, { "name": "EditOffset", "kind": "field", "id": "field|EditOffset|0|0|nuint|||h8fc22aaf7fa6bc3dab506e0fc9fbbba958729739f2b5662ac547515924520604", "signature": "public nuint EditOffset", "summary": "size_t (offset 32)" }] }, - { "name": "CuiSharp.Interop.NativeHexSelection", "displayName": "NativeHexSelection", "kind": "struct", "summary": "cui_hex_selection, 24 bytes.", "members": [{ "name": "Cursor", "kind": "field", "id": "field|Cursor|0|0|nuint|||hfa45858e7446de1748c469d079c5914767b81cc09541907100fed7193ae9e90e", "signature": "public nuint Cursor", "summary": "size_t (offset 16)" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|nuint|||hedf65e6cbb8502783a4b1db6bf52e3cb2ac5fc655d896572bd904d3dec117894", "signature": "public nuint Length", "summary": "size_t (offset 8)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|nuint|||hf5ab1ae637d54d5286a48ab4bd471c3fbd3b424aed466045a63666fdd96f187e", "signature": "public nuint Start", "summary": "size_t (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeHexViewOpts", "displayName": "NativeHexViewOpts", "kind": "struct", "summary": "cui_hex_view_opts, 64 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoAscii", "kind": "field", "id": "field|NoAscii|0|0|byte|||h3e2aa825acf39bc9df144017bf97823b0c1a092a9d328d417b98dc2a270f1498", "signature": "public byte NoAscii", "summary": "_Bool (offset 56)" }, { "name": "NoHeader", "kind": "field", "id": "field|NoHeader|0|0|byte|||h6093941fb44d7f5a4ff51d16324ccdb8778e77d1ae10d4e0d62af2a3df85380c", "signature": "public byte NoHeader", "summary": "_Bool (offset 57)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 60)" }, { "name": "BytesPerRow", "kind": "field", "id": "field|BytesPerRow|0|0|int|||hd61386e0b1631168d5ba3121886245ecce5b4ff2f8648ec936c3d6745e973f40", "signature": "public int BytesPerRow", "summary": "int (offset 24)" }, { "name": "RangeCount", "kind": "field", "id": "field|RangeCount|0|0|int|||h7cf44af00c194dbcd2d248d6d668d0e792ba9f5e70caed801178c75e0527cb4e", "signature": "public int RangeCount", "summary": "int (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Edit", "kind": "field", "id": "field|Edit|0|0|nint|||hb58a60b15fcbd3ae6f0be93b9f52af11f835d1a3062a50281e96005e5a8e56ea", "signature": "public nint Edit", "summary": "uint8_t * (offset 48)" }, { "name": "Ranges", "kind": "field", "id": "field|Ranges|0|0|nint|||h5e8cf57120f430601bf30d0dab9b30003d9f95318475f93f1e97c1a729522280", "signature": "public nint Ranges", "summary": "const cui_hex_range * (offset 32)" }, { "name": "Base", "kind": "field", "id": "field|Base|0|0|ulong|||h2d347b8391ce7744ac9390fd5433f8b42dd856f120afc62df3093dae04e197ff", "signature": "public ulong Base", "summary": "uint64_t (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeHistogramOpts", "displayName": "NativeHistogramOpts", "kind": "struct", "summary": "cui_histogram_opts, 16 bytes.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeHistogramSeries", "displayName": "NativeHistogramSeries", "kind": "struct", "summary": "cui_histogram_series, 24 bytes.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 16)" }, { "name": "Counts", "kind": "field", "id": "field|Counts|0|0|nint|||h4ea94f3389c79a675e397e48da85da17c2b2112bce59a8565db06ae9977a4be3", "signature": "public nint Counts", "summary": "const float * (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeHoldOpts", "displayName": "NativeHoldOpts", "kind": "struct", "summary": "cui_hold_opts, 24 bytes.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "cui_button_variant (offset 16)" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeHoverCardOpts", "displayName": "NativeHoverCardOpts", "kind": "struct", "summary": "cui_hover_card_opts, 16 bytes.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement (offset 4)" }, { "name": "Delay", "kind": "field", "id": "field|Delay|0|0|float|||h3a45177d911de60d3c1058d19f965797cda6f4da3e3656b82d0a5ea6832de388", "signature": "public float Delay", "summary": "float (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeImageOpts", "displayName": "NativeImageOpts", "kind": "struct", "summary": "cui_image_opts, 28 bytes.", "members": [{ "name": "Tint", "kind": "field", "id": "field|Tint|0|0|NativeColor|||h812e541079b34551063a2536701a35c8f7e275aae6f143d65d3c5fd15a688238", "signature": "public NativeColor Tint", "summary": "cui_color (offset 24)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Radius", "kind": "field", "id": "field|Radius|0|0|float|||h565c7c94c17c4e0d68e71b97e4dacf48df705124ce26655589804f82ae3a5afe", "signature": "public float Radius", "summary": "float (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeImageView", "displayName": "NativeImageView", "kind": "struct", "summary": "cui_image_view, 12 bytes.", "members": [{ "name": "Cx", "kind": "field", "id": "field|Cx|0|0|float|||ha089bd3bc9b64b88c76a4d49417464e60089fa8c4949692935cd9a1cbeeb26f2", "signature": "public float Cx", "summary": "float (offset 4)" }, { "name": "Cy", "kind": "field", "id": "field|Cy|0|0|float|||h47bd658ecc744271b6a80f35df93f81c2391730563046a45c3923e15cf53aceb", "signature": "public float Cy", "summary": "float (offset 8)" }, { "name": "Zoom", "kind": "field", "id": "field|Zoom|0|0|float|||h15d1ab2e6f15237e95efde0c028fdb5a985bc69724f9d1c2dfbc7d04a92a3d84", "signature": "public float Zoom", "summary": "float (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeImageViewerOpts", "displayName": "NativeImageViewerOpts", "kind": "struct", "summary": "cui_image_viewer_opts, 28 bytes.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Checkerboard", "kind": "field", "id": "field|Checkerboard|0|0|byte|||h7ede6c2a27d3830e9fc073d094f2fbcc667073c1829283305c91797827cf17ad", "signature": "public byte Checkerboard", "summary": "_Bool (offset 25)" }, { "name": "NoToolbar", "kind": "field", "id": "field|NoToolbar|0|0|byte|||h1230557801560ff86cbce3521dab7087f74f25026715f9de53fdbb79ff28a7c9", "signature": "public byte NoToolbar", "summary": "_Bool (offset 24)" }, { "name": "MaxZoom", "kind": "field", "id": "field|MaxZoom|0|0|float|||hce7b521ad509796f5171145038456d5846fb43275f5ab2bd1dd22e941b179f55", "signature": "public float MaxZoom", "summary": "float (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeInlineEditOpts", "displayName": "NativeInlineEditOpts", "kind": "struct", "summary": "cui_inline_edit_opts, 32 bytes.", "members": [{ "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "cui_font (offset 4)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 24)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeInputOpts", "displayName": "NativeInputOpts", "kind": "struct", "summary": "cui_input_opts, 88 bytes.", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 56)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 60)" }, { "name": "Autofocus", "kind": "field", "id": "field|Autofocus|0|0|byte|||hf7200e77a6e74d4faf41ea5500f58e93a4f8f8423cf247fc6c5784655d8f9fe5", "signature": "public byte Autofocus", "summary": "_Bool (offset 51)" }, { "name": "Clearable", "kind": "field", "id": "field|Clearable|0|0|byte|||hd4fdbdf460d78b2cf5d11e36726d401754f6dd4aba7e4125f21f7477cba134a9", "signature": "public byte Clearable", "summary": "_Bool (offset 50)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 49)" }, { "name": "Password", "kind": "field", "id": "field|Password|0|0|byte|||hdceeccdbc0ded58956d46792f23a65707d5b61576addfce0ff5f2d1bedb124f5", "signature": "public byte Password", "summary": "_Bool (offset 48)" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|byte|||h9e1431d0c26b40c6daa5a446056e13ee71a6462394b7d796b573d868c509360c", "signature": "public byte ReadOnly", "summary": "_Bool (offset 52)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 68)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Error", "kind": "field", "id": "field|Error|0|0|nint|||hdd113196192125bb251ed8e4e61faa04c141796319fac033109dbf93e8d846b0", "signature": "public nint Error", "summary": "const char * (offset 40)" }, { "name": "Hint", "kind": "field", "id": "field|Hint|0|0|nint|||hc04a330155ea240694e4f00b47172663ef8f8e8c7171babe8307883ebbeeee6c", "signature": "public nint Hint", "summary": "const char * (offset 32)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 24)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }, { "name": "Prefix", "kind": "field", "id": "field|Prefix|0|0|nint|||h1e51df371709b7b706060a657490aa1997e1abdbdcdc3ec25a08378d43e98e41", "signature": "public nint Prefix", "summary": "const char * (offset 72)" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|nint|||hf74991389a50a9d4f62042eaba5519ce0c8537c405e4fb6215db1322dfac00e9", "signature": "public nint Suffix", "summary": "const char * (offset 80)" }] }, - { "name": "CuiSharp.Interop.NativeInspectorOpts", "displayName": "NativeInspectorOpts", "kind": "struct", "summary": "cui_inspector_opts, 16 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "LabelWidth", "kind": "field", "id": "field|LabelWidth|0|0|float|||h993f466ab627a21c24b5cbf05bd27e3424e345f9dda31611b0dbd719a33e2e12", "signature": "public float LabelWidth", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeJsonOpts", "displayName": "NativeJsonOpts", "kind": "struct", "summary": "cui_json_opts, 12 bytes.", "members": [{ "name": "MaxHeight", "kind": "field", "id": "field|MaxHeight|0|0|float|||h362fb387f8c873f790106e0085b293b9836b14ef629bd38f56f23e0483ef699f", "signature": "public float MaxHeight", "summary": "float (offset 8)" }, { "name": "ExpandDepth", "kind": "field", "id": "field|ExpandDepth|0|0|int|||h2113772f50eedfb1b947b1866b9ccfabc933b4026161df07a62d39104bf42152", "signature": "public int ExpandDepth", "summary": "int (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeKanbanColumnOpts", "displayName": "NativeKanbanColumnOpts", "kind": "struct", "summary": "cui_kanban_column_opts, 16 bytes.", "members": [{ "name": "Dot", "kind": "field", "id": "field|Dot|0|0|NativeColor|||hd773443c893b7afcb6798dfbf9c5a9551ea021c150617c7f45a35d5c56be0c79", "signature": "public NativeColor Dot", "summary": "cui_color (offset 4)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 12)" }, { "name": "Limit", "kind": "field", "id": "field|Limit|0|0|int|||h0551723e212cc1de31ece56a8865f2a5fe1a25e69ca86d13b85180f933670910", "signature": "public int Limit", "summary": "int (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeKanbanMove", "displayName": "NativeKanbanMove", "kind": "struct", "summary": "cui_kanban_move, 16 bytes.", "members": [{ "name": "Card", "kind": "field", "id": "field|Card|0|0|int|||h4e55f281e44827e799e41dc1f657218631ca17eabaa81d6214d62a1f42080b79", "signature": "public int Card", "summary": "int (offset 0)" }, { "name": "FromColumn", "kind": "field", "id": "field|FromColumn|0|0|int|||h852c86084f2687cfab891d2a8ee1ee937a40b68fb2ded28a28325c23a45d5da1", "signature": "public int FromColumn", "summary": "int (offset 4)" }, { "name": "ToColumn", "kind": "field", "id": "field|ToColumn|0|0|int|||hc5eebb26186d77f3dcbdd4b3159e8329a2e6080e96b3ee23a29a3af4eb4da347", "signature": "public int ToColumn", "summary": "int (offset 8)" }, { "name": "ToIndex", "kind": "field", "id": "field|ToIndex|0|0|int|||h4f61864330a69f3505bc7fd8fbee51dba8f5d4f040469966dc4183d1a6f201a6", "signature": "public int ToIndex", "summary": "int (offset 12)" }] }, - { "name": "CuiSharp.Interop.NativeKeyCombo", "displayName": "NativeKeyCombo", "kind": "struct", "summary": "cui_key_combo, 8 bytes.", "members": [{ "name": "Key", "kind": "field", "id": "field|Key|0|0|Key|||ha8a2ef1e5766d0ded6949b45f1180b64bdf9ef3740bc5c193694a2938f483f10", "signature": "public Key Key", "summary": "cui_key (offset 4)" }, { "name": "Mods", "kind": "field", "id": "field|Mods|0|0|int|||h0557a35558abe6a9a70cd6ee363474ffd9ef430fca04fd8f09e8787557a8daf4", "signature": "public int Mods", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeKeymapBinding", "displayName": "NativeKeymapBinding", "kind": "struct", "summary": "cui_keymap_binding, 24 bytes.", "members": [{ "name": "Combo", "kind": "field", "id": "field|Combo|0|0|NativeKeyCombo|||h0a275a89eee117ed7f07d853f54c833bf981cb6179bfc40c8c3e7b672fdd5e12", "signature": "public NativeKeyCombo Combo", "summary": "cui_key_combo (offset 0)" }, { "name": "Category", "kind": "field", "id": "field|Category|0|0|int|||hdd47e2b092c5ca594640eebe08c268434674a147ebf5eafb2a46a5da46f07ed4", "signature": "public int Category", "summary": "int (offset 16)" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|nint|||h7dfe2a16d24f5ae17516623e6e776336e0c9174236c2f3e6d25910fcd1c88c17", "signature": "public nint Action", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeKeymapOpts", "displayName": "NativeKeymapOpts", "kind": "struct", "summary": "cui_keymap_opts, 48 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoFunctionRow", "kind": "field", "id": "field|NoFunctionRow|0|0|byte|||hb6ac766565207a213495d95baa9459bd96a9437f3b728206c935541fbf6d0bea", "signature": "public byte NoFunctionRow", "summary": "_Bool (offset 40)" }, { "name": "CategoryCount", "kind": "field", "id": "field|CategoryCount|0|0|int|||hee46433925da01774885433a273815397b72ca5f22901b59592bcefdb7416c33", "signature": "public int CategoryCount", "summary": "int (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Categories", "kind": "field", "id": "field|Categories|0|0|nint|||hb8d4a0c28ca115fb2acf51d81cf80a37de8d557209e403bdb805b885c31374d3", "signature": "public nint Categories", "summary": "const char *const * (offset 16)" }, { "name": "Mods", "kind": "field", "id": "field|Mods|0|0|nint|||h0d2266fc279099bfe055abb56d95b695de1e224ae043df5271c83baf3d2f009d", "signature": "public nint Mods", "summary": "int * (offset 32)" }] }, - { "name": "CuiSharp.Interop.NativeKeymapResult", "displayName": "NativeKeymapResult", "kind": "struct", "summary": "cui_keymap_result, 8 bytes.", "members": [{ "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|Key|||hf3d1089c0e1e46bc83fd27808a70e56ed41a70657965029f08dbfc901fbc370d", "signature": "public Key Clicked", "summary": "cui_key (offset 0)" }, { "name": "Conflicts", "kind": "field", "id": "field|Conflicts|0|0|int|||h789812c8ba17c03535e8408d067679a4be25b10d6c3816628d8bb1c973ecd39c", "signature": "public int Conflicts", "summary": "int (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeKnobOpts", "displayName": "NativeKnobOpts", "kind": "struct", "summary": "cui_knob_opts, 56 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 48)" }, { "name": "Bipolar", "kind": "field", "id": "field|Bipolar|0|0|byte|||h1d569b6c87e7ba726ec66ea2c839a78fdd9e86f466b577110c4ce16329daa57f", "signature": "public byte Bipolar", "summary": "_Bool (offset 44)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 47)" }, { "name": "HideValue", "kind": "field", "id": "field|HideValue|0|0|byte|||hbb6b16309b43eda0fc05f53c3f1331a74672b86f2823f660cbf275eda7570761", "signature": "public byte HideValue", "summary": "_Bool (offset 46)" }, { "name": "LogScale", "kind": "field", "id": "field|LogScale|0|0|byte|||h3a807b024c92ba2ae36e1b227c4f2403b1a8c290287c3fce652a62b0d73e20c0", "signature": "public byte LogScale", "summary": "_Bool (offset 45)" }, { "name": "Reset", "kind": "field", "id": "field|Reset|0|0|float|||h6f7e0b1685ab6d501be44af24ff4fc26ab960c5abf2371bc447d2d1768038172", "signature": "public float Reset", "summary": "float (offset 40)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 32)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "float (offset 36)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|nint|||h708409b7ee1912ab128b9f78a22e55e9f298402bb842be865ac89fa44f207c93", "signature": "public nint Unit", "summary": "const char * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeKvEditorOpts", "displayName": "NativeKvEditorOpts", "kind": "struct", "summary": "cui_kv_editor_opts, 40 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 28)" }, { "name": "NoSecrets", "kind": "field", "id": "field|NoSecrets|0|0|byte|||hc67b9037a20e271562e783ae6d73aeffed4b6d0299dda287bb76c51dc3ff3087", "signature": "public byte NoSecrets", "summary": "_Bool (offset 25)" }, { "name": "NoToggles", "kind": "field", "id": "field|NoToggles|0|0|byte|||h9d0cfc1f93e79a2a48e2898e032a15be4e7e0ed61cb768f8999b9d711c8c1564", "signature": "public byte NoToggles", "summary": "_Bool (offset 24)" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|byte|||h9e1431d0c26b40c6daa5a446056e13ee71a6462394b7d796b573d868c509360c", "signature": "public byte ReadOnly", "summary": "_Bool (offset 26)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "KeyPlaceholder", "kind": "field", "id": "field|KeyPlaceholder|0|0|nint|||h745e755fe6848225d5b3573bc346c72b9e59a6a61e0a840d5453d3b1b3b1e50d", "signature": "public nint KeyPlaceholder", "summary": "const char * (offset 8)" }, { "name": "ValuePlaceholder", "kind": "field", "id": "field|ValuePlaceholder|0|0|nint|||hc6fd03e6afd968857a1ab58a437c9b9c242f12d3ed3122acc4bd006c7c84c135", "signature": "public nint ValuePlaceholder", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeKvPair", "displayName": "NativeKvPair", "kind": "struct", "summary": "cui_kv_pair, 322 bytes.", "members": [{ "name": "Key", "kind": "field", "id": "field|Key|0|0|\u003CKey\u003Ee__FixedBuffer|||h9959085f7309dc4f833dcc062bfbb4d3ebf7d4872b1d00e71ae5dcc81751506b", "signature": "public \u003CKey\u003Ee__FixedBuffer Key", "summary": "char[64] (offset 0)" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|\u003CValue\u003Ee__FixedBuffer|||h3733ba739dc4b340aaa8d999619d3a45483a5245e5ca30e87e307219078ea13c", "signature": "public \u003CValue\u003Ee__FixedBuffer Value", "summary": "char[256] (offset 64)" }, { "name": "Enabled", "kind": "field", "id": "field|Enabled|0|0|byte|||h0a86f1b69d9c1369c87f1d6803878d78967110381c7e3e9bfde1042529e91d4f", "signature": "public byte Enabled", "summary": "_Bool (offset 320)" }, { "name": "Secret", "kind": "field", "id": "field|Secret|0|0|byte|||h0c38b42d78cf54f22f5c771c32cfbb671fb0079e806aee7e7ff2203d7b59d9e1", "signature": "public byte Secret", "summary": "_Bool (offset 321)" }] }, - { "name": "CuiSharp.Interop.NativeLevelMeterOpts", "displayName": "NativeLevelMeterOpts", "kind": "struct", "summary": "cui_level_meter_opts, 32 bytes.", "members": [{ "name": "Horizontal", "kind": "field", "id": "field|Horizontal|0|0|byte|||hb8eb5f891a452586827fe30447b7d0b698e41f55d790a6fb5ef7aee450a3d7f2", "signature": "public byte Horizontal", "summary": "_Bool (offset 20)" }, { "name": "Scale", "kind": "field", "id": "field|Scale|0|0|byte|||hd0b8462fe73e9f0270274290f09dc03fb41bd9125c5bfe79de851cb2827098a9", "signature": "public byte Scale", "summary": "_Bool (offset 21)" }, { "name": "Segmented", "kind": "field", "id": "field|Segmented|0|0|byte|||h84db8c616b9ba7105e508e4ef55bb05d16dc07c293aab8b792f045fa055ec51e", "signature": "public byte Segmented", "summary": "_Bool (offset 22)" }, { "name": "Decay", "kind": "field", "id": "field|Decay|0|0|float|||h067240cd90c29d217819d40156fc0debc9d7b6e5290807eea7a28cffb399a6eb", "signature": "public float Decay", "summary": "float (offset 28)" }, { "name": "Hold", "kind": "field", "id": "field|Hold|0|0|float|||hf9cf9b5a4d1a55101a8a988c06df2d2cadf6464a1b411ed219b71cf735f20622", "signature": "public float Hold", "summary": "float (offset 24)" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|float|||hde0ed5b9413eadd735eb6ae0346647e34ca58923c6d228bcc21459281e52a172", "signature": "public float Length", "summary": "float (offset 12)" }, { "name": "MaxDb", "kind": "field", "id": "field|MaxDb|0|0|float|||h05af64f8eaf6361804782ad98715d074c249913dc00324f60ff072dd17a84ea9", "signature": "public float MaxDb", "summary": "float (offset 8)" }, { "name": "MinDb", "kind": "field", "id": "field|MinDb|0|0|float|||hf0f618cb58cf13fd6bb97d775f5351393d15723ccaf0a1a2d3ce7d92fae8a2b5", "signature": "public float MinDb", "summary": "float (offset 4)" }, { "name": "Thickness", "kind": "field", "id": "field|Thickness|0|0|float|||h032ae3f08d1f764102a5ab4e3449cb25f2ae394d97fb8b90dd505ead7b8576f6", "signature": "public float Thickness", "summary": "float (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeListItemOpts", "displayName": "NativeListItemOpts", "kind": "struct", "summary": "cui_list_item_opts, 48 bytes.", "members": [{ "name": "Selected", "kind": "field", "id": "field|Selected|0|0|byte|||h48f54c1c7f1477a898313a8a1128d8456b17a09db15f6c9d1b8c0f9629b7fdf5", "signature": "public byte Selected", "summary": "_Bool (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|nint|||h96fb323a4f1835f2f2cf6dbdd0c41ceb0b611db7033e6313ba17a02569c0ac07", "signature": "public nint Avatar", "summary": "const char * (offset 40)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Subtitle", "kind": "field", "id": "field|Subtitle|0|0|nint|||h36c083929a586a62f5ba6333f4b689be4edc120b0530bc173b1abbbdc6497b9e", "signature": "public nint Subtitle", "summary": "const char * (offset 16)" }, { "name": "Trailing", "kind": "field", "id": "field|Trailing|0|0|nint|||h53f5b0680364a5bdfeedea209902b5037a488717c827fbdefac547f55dd960eb", "signature": "public nint Trailing", "summary": "const char * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeLoaderOpts", "displayName": "NativeLoaderOpts", "kind": "struct", "summary": "cui_loader_opts, 16 bytes.", "members": [{ "name": "Style", "kind": "field", "id": "field|Style|0|0|LoaderStyle|||h8b8796b8c95829a2fdf2777456dde7dd852dc38a8878ac87018bf5c5c966e0ab", "signature": "public LoaderStyle Style", "summary": "cui_loader_style (offset 4)" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 12)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeLogBuffer", "displayName": "NativeLogBuffer", "kind": "struct", "summary": "cui_log_buffer, 80 bytes.", "members": [{ "name": "LevelCount", "kind": "field", "id": "field|LevelCount|0|0|\u003CLevelCount\u003Ee__FixedBuffer|||hb9f2536b5076dd096a086ac13ad19a17ca985eb148aedbfcac598514aebe07ed", "signature": "public \u003CLevelCount\u003Ee__FixedBuffer LevelCount", "summary": "int[5] (offset 56)" }, { "name": "Now", "kind": "field", "id": "field|Now|0|0|double|||h13ccabef32acd0f50b2dff6afb988be4f60354595d58273f3c8e672e980e731c", "signature": "public double Now", "summary": "double (offset 0)" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "int (offset 40)" }, { "name": "First", "kind": "field", "id": "field|First|0|0|int|||hddb39d158b15c0e54cb1ea0a7e52a0d84393cbbb9cb6d04a44db44d9fd9a4c88", "signature": "public int First", "summary": "int (offset 36)" }, { "name": "LineCap", "kind": "field", "id": "field|LineCap|0|0|int|||h05488096a6a3cd48bc7e8274702b633d8af22f79f127b19f95b8cd3d47511049", "signature": "public int LineCap", "summary": "int (offset 16)" }, { "name": "Lines", "kind": "field", "id": "field|Lines|0|0|nint|||h7ccda7c4f0b08a1147624d853801d5dcd6e8072f045b1eb489cd55ee7a31e86f", "signature": "public nint Lines", "summary": "cui_log_line * (offset 8)" }, { "name": "Text", "kind": "field", "id": "field|Text|0|0|nint|||h66aaa42b78279f1149dcb8a32f27fc2db74dc535e86360cd658d24fb0bf042d8", "signature": "public nint Text", "summary": "char * (offset 24)" }, { "name": "TextCap", "kind": "field", "id": "field|TextCap|0|0|uint|||hd920abfd46ff0525abf61849dfa336ab731063d31b2036e2377f1fe031b06d48", "signature": "public uint TextCap", "summary": "uint32_t (offset 32)" }, { "name": "TextEnd", "kind": "field", "id": "field|TextEnd|0|0|uint|||he42a169dbf5a8a807e7f4542fd203f842677e5fa4631092117ab7735733cd9f3", "signature": "public uint TextEnd", "summary": "uint32_t (offset 44)" }, { "name": "Total", "kind": "field", "id": "field|Total|0|0|ulong|||hc70e2cd9e719427562e8e197773d80368e777c17f84a89cd743f7c844d1b1ab7", "signature": "public ulong Total", "summary": "uint64_t (offset 48)" }] }, - { "name": "CuiSharp.Interop.NativeLogLine", "displayName": "NativeLogLine", "kind": "struct", "summary": "cui_log_line, 24 bytes.", "members": [{ "name": "Level", "kind": "field", "id": "field|Level|0|0|byte|||hf95527e917db045b4141feff514aa39480a59a94561f62de0df5d44c3b0694a9", "signature": "public byte Level", "summary": "uint8_t (offset 16)" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|double|||hf6eb8bfefd7957f87b5ed2738bc9a721b9ff45c732f53108d799ad2931a6b170", "signature": "public double Time", "summary": "double (offset 8)" }, { "name": "Len", "kind": "field", "id": "field|Len|0|0|uint|||h9a7aa5477bab3013c524af61a8579b6327603d131ea638cadc7b4f4863a23b7e", "signature": "public uint Len", "summary": "uint32_t (offset 4)" }, { "name": "Offset", "kind": "field", "id": "field|Offset|0|0|uint|||h05a920517fe4fac075579a468ffc003bcb5361b495613ee0c64c3c8b144de92f", "signature": "public uint Offset", "summary": "uint32_t (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeLogViewOpts", "displayName": "NativeLogViewOpts", "kind": "struct", "summary": "cui_log_view_opts, 24 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoToolbar", "kind": "field", "id": "field|NoToolbar|0|0|byte|||h1230557801560ff86cbce3521dab7087f74f25026715f9de53fdbb79ff28a7c9", "signature": "public byte NoToolbar", "summary": "_Bool (offset 17)" }, { "name": "Timestamps", "kind": "field", "id": "field|Timestamps|0|0|byte|||h36801862dd647364e2ad3ca788b1cd4bda21b1485c80f4306a01bbd0226317b3", "signature": "public byte Timestamps", "summary": "_Bool (offset 16)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeMarkdownOpts", "displayName": "NativeMarkdownOpts", "kind": "struct", "summary": "cui_markdown_opts, 32 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|byte|||h82ad4978e776988891fb40f0e87ef125edf87783174f60001d6260930e049142", "signature": "public byte Compact", "summary": "_Bool (offset 29)" }, { "name": "FitContent", "kind": "field", "id": "field|FitContent|0|0|byte|||hd833955cf77dd532892ad945100386f79a4d8ce76ba14aeb886ecd97b76ef2d7", "signature": "public byte FitContent", "summary": "_Bool (offset 12)" }, { "name": "Streaming", "kind": "field", "id": "field|Streaming|0|0|byte|||h94d7749b5b6b7ed4c8baf923750c1160f41642ed783fd6e9b779d713c182449c", "signature": "public byte Streaming", "summary": "_Bool (offset 28)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 20)" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|int|||hef2503a1d0b9fb909698fa12c327675bda30f8b40b00e879e548d3e8332f864d", "signature": "public int Length", "summary": "int (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeMarkdownResult", "displayName": "NativeMarkdownResult", "kind": "struct", "summary": "cui_markdown_result, 32 bytes.", "members": [{ "name": "TaskChecked", "kind": "field", "id": "field|TaskChecked|0|0|byte|||hf0875ed6603334ae3665923405ccd39a76ec21b6e40e461b5bca6214ddf56558", "signature": "public byte TaskChecked", "summary": "_Bool (offset 24)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 28)" }, { "name": "TaskLine", "kind": "field", "id": "field|TaskLine|0|0|int|||h7e3bf329b030f664448bfbcf31830d3f925a03fd004a165b8de0edc39fbbae69", "signature": "public int TaskLine", "summary": "int (offset 20)" }, { "name": "TaskOffset", "kind": "field", "id": "field|TaskOffset|0|0|int|||hc553ca4fe536319901025ae7db24cfa0ee4ba0e9ba7365622cd500b903057157", "signature": "public int TaskOffset", "summary": "int (offset 16)" }, { "name": "HoveredLink", "kind": "field", "id": "field|HoveredLink|0|0|nint|||h9f215ddbc0563e1555c871ecfb0f1b9c45710baa3e8e0d4eeec2adb5d91da446", "signature": "public nint HoveredLink", "summary": "const char * (offset 8)" }, { "name": "Link", "kind": "field", "id": "field|Link|0|0|nint|||h11c7a389b92a8f488495b739d368b424ce324275d09211ba0db72999abec2077", "signature": "public nint Link", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeMenuBarMenuOpts", "displayName": "NativeMenuBarMenuOpts", "kind": "struct", "summary": "cui_menu_bar_menu_opts, 16 bytes.", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Mnemonic", "kind": "field", "id": "field|Mnemonic|0|0|sbyte|||hacfbb11e49ff4749382abc40b19888f44cb46198f0c8b86ad384e244793a71f1", "signature": "public sbyte Mnemonic", "summary": "char (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeMenuBarOpts", "displayName": "NativeMenuBarOpts", "kind": "struct", "summary": "cui_menu_bar_opts, 8 bytes.", "members": [{ "name": "NoBorder", "kind": "field", "id": "field|NoBorder|0|0|byte|||h52a658d9e90fb592c2d5b234fe36d916b01f85259ebf498345a83768a1f7a51c", "signature": "public byte NoBorder", "summary": "_Bool (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeMenuItemOpts", "displayName": "NativeMenuItemOpts", "kind": "struct", "summary": "cui_menu_item_opts, 32 bytes.", "members": [{ "name": "Checked", "kind": "field", "id": "field|Checked|0|0|byte|||h852416cb837bd61a1c2e9ba41640bcbc437b0ded420ee3cdb739d113b4999fbf", "signature": "public byte Checked", "summary": "_Bool (offset 26)" }, { "name": "Danger", "kind": "field", "id": "field|Danger|0|0|byte|||h267e3fb92ea691636e4453551bbe9f0ed26a3256b90ce44ac68d4cee9aedb9cf", "signature": "public byte Danger", "summary": "_Bool (offset 24)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 25)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|nint|||hc6bbf869e5f430ce1cb0bb80bcc43a44ef490242700d9eccaf018d9378a8f2dd", "signature": "public nint Shortcut", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeMenuOpts", "displayName": "NativeMenuOpts", "kind": "struct", "summary": "cui_menu_opts, 32 bytes.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "cui_button_variant (offset 16)" }, { "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement (offset 20)" }, { "name": "IconOnly", "kind": "field", "id": "field|IconOnly|0|0|byte|||he1deea30e2ceaedc2963bbb3123c80ddfc8b08dd35ad10f892a4ecb904044965", "signature": "public byte IconOnly", "summary": "_Bool (offset 28)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeMetricOpts", "displayName": "NativeMetricOpts", "kind": "struct", "summary": "cui_metric_opts, 56 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 40)" }, { "name": "LowerIsBetter", "kind": "field", "id": "field|LowerIsBetter|0|0|byte|||h743d2a9c1093c218bb42059b076daaa618f28986ebe939486af96526f07e502f", "signature": "public byte LowerIsBetter", "summary": "_Bool (offset 48)" }, { "name": "Delta", "kind": "field", "id": "field|Delta|0|0|float|||h1e522b23e3d342dfeec52a69a0ca4f14b756c85114da059add23d2c403cf19e0", "signature": "public float Delta", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "SparkCount", "kind": "field", "id": "field|SparkCount|0|0|int|||h895121b299e285d6b1d302c2bff5ec07be89819c880689d83bebd06b75ebb4c1", "signature": "public int SparkCount", "summary": "int (offset 24)" }, { "name": "DeltaLabel", "kind": "field", "id": "field|DeltaLabel|0|0|nint|||h6447430bbdaca3f36b40c20178fb09842c99730079a7fcec70629ead28c4aa11", "signature": "public nint DeltaLabel", "summary": "const char * (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 32)" }, { "name": "Spark", "kind": "field", "id": "field|Spark|0|0|nint|||he053984bb6ed431becb468caa2a20c9abd6d514395244af40a85b936ac6f868b", "signature": "public nint Spark", "summary": "const float * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeModel", "displayName": "NativeModel", "kind": "struct", "summary": "cui_model, 32 bytes.", "members": [{ "name": "Badge", "kind": "field", "id": "field|Badge|0|0|nint|||hde22c04ea21d8219db7a1a082d573f3b836e72a11c561a5bcf979fe76b33f2fc", "signature": "public nint Badge", "summary": "const char * (offset 16)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "const char * (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeModelPickerOpts", "displayName": "NativeModelPickerOpts", "kind": "struct", "summary": "cui_model_picker_opts, 12 bytes.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement (offset 8)" }, { "name": "Ghost", "kind": "field", "id": "field|Ghost|0|0|byte|||ha10cb00a2e622123f706d80284543ec7c9d2a1cca5c204e36f501b0d31d12795", "signature": "public byte Ghost", "summary": "_Bool (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeMoneyOpts", "displayName": "NativeMoneyOpts", "kind": "struct", "summary": "cui_money_opts, 56 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 36)" }, { "name": "Decimals", "kind": "field", "id": "field|Decimals|0|0|int|||h1b738cb70bf917879f304fb58ce030898c555b54b73eb0e896589e3d0ec3d3b3", "signature": "public int Decimals", "summary": "int (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Code", "kind": "field", "id": "field|Code|0|0|nint|||h7427649b43b2e49212bf9bfd21a645a61eae4c3514f35066412bf8a3ddeb4484", "signature": "public nint Code", "summary": "const char * (offset 24)" }, { "name": "Hint", "kind": "field", "id": "field|Hint|0|0|nint|||hc04a330155ea240694e4f00b47172663ef8f8e8c7171babe8307883ebbeeee6c", "signature": "public nint Hint", "summary": "const char * (offset 48)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Symbol", "kind": "field", "id": "field|Symbol|0|0|nint|||h11d40d2ab2da6a0a026342a75fbcbc823bb86773558816092e14d9469f4764b6", "signature": "public nint Symbol", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeMonthEvent", "displayName": "NativeMonthEvent", "kind": "struct", "summary": "cui_month_event, 48 bytes.", "members": [{ "name": "End", "kind": "field", "id": "field|End|0|0|NativeDate|||h1b179b5108e9ed3f0347d54b4ef6fe1e441917c22d27a016c4c8a9bbbe6ad0c7", "signature": "public NativeDate End", "summary": "cui_date (offset 20)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|NativeDate|||h7d67c190de1c0e1c80bdadfcd317cbed9d2a9499e545b7e9029faa0256d97a3b", "signature": "public NativeDate Start", "summary": "cui_date (offset 8)" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 40)" }, { "name": "AllDay", "kind": "field", "id": "field|AllDay|0|0|byte|||h8751716523a698ec0010c45c2c581dd995ca6c8164cfd0a75571490812d408b0", "signature": "public byte AllDay", "summary": "_Bool (offset 36)" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|float|||h15580e530959593ba26e1516c12ce319fbad5d5b9d84fe7810a722131f57f895", "signature": "public float Time", "summary": "float (offset 32)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeMonthOpts", "displayName": "NativeMonthOpts", "kind": "struct", "summary": "cui_month_opts, 56 bytes.", "members": [{ "name": "Today", "kind": "field", "id": "field|Today|0|0|NativeDate|||ha25c39f8fb3be0874377b2ec3b63aa40a5e4889b42d67de2f6e0e3417fd1dd73", "signature": "public NativeDate Today", "summary": "cui_date (offset 44)" }, { "name": "Hour12", "kind": "field", "id": "field|Hour12|0|0|byte|||h99a94bb620f00e28490de41330ebff3307255f9f668faf617b0de61b003f6c63", "signature": "public byte Hour12", "summary": "_Bool (offset 40)" }, { "name": "CellHeight", "kind": "field", "id": "field|CellHeight|0|0|float|||hf4309f4d2441e17367cb19c170e3dc8474ed98149a30e30cb2e5983a5f6da8b8", "signature": "public float CellHeight", "summary": "float (offset 20)" }, { "name": "FirstWeekday", "kind": "field", "id": "field|FirstWeekday|0|0|int|||h3ef476bd8d4650cc173a18a8ce98dacca1ff9beff34ac40ecbbf945c23df4199", "signature": "public int FirstWeekday", "summary": "int (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "DayNames", "kind": "field", "id": "field|DayNames|0|0|nint|||hc96cb34eafe2dffbda2bfaf7419c3f81d942370b1cb428e5cd0d94c7baea0633", "signature": "public nint DayNames", "summary": "const char *const * (offset 32)" }, { "name": "MonthNames", "kind": "field", "id": "field|MonthNames|0|0|nint|||h2519c3a45d98bb15216a1309f655438c464604614945e045cd7f68a271df7e2d", "signature": "public nint MonthNames", "summary": "const char *const * (offset 24)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "cui_date * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeMonthResult", "displayName": "NativeMonthResult", "kind": "struct", "summary": "cui_month_result, 8 bytes.", "members": [{ "name": "DayActivated", "kind": "field", "id": "field|DayActivated|0|0|byte|||h91c24650c9fc208ccae7c802e88fd187c22eb31ebc6be6dd6a9d8e8049e49517", "signature": "public byte DayActivated", "summary": "_Bool (offset 5)" }, { "name": "DayClicked", "kind": "field", "id": "field|DayClicked|0|0|byte|||h9096a8bb960a3406bcc329603b9bda9057de2c4217a569d2c1f4af1fd0caf775", "signature": "public byte DayClicked", "summary": "_Bool (offset 4)" }, { "name": "MonthChanged", "kind": "field", "id": "field|MonthChanged|0|0|byte|||hdcdf60a6ed1204b650ffd46bdc57ec325d4d2f410f6cbe5a1316a7aed5f88413", "signature": "public byte MonthChanged", "summary": "_Bool (offset 6)" }, { "name": "Event", "kind": "field", "id": "field|Event|0|0|int|||hf874e9890201f2fa587b91d9d374afbc1ab3d09f700c4a38f45f91cafea69f11", "signature": "public int Event", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeMultiSelectOpts", "displayName": "NativeMultiSelectOpts", "kind": "struct", "summary": "cui_multi_select_opts, 48 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 40)" }, { "name": "Searchable", "kind": "field", "id": "field|Searchable|0|0|byte|||h74eb146edff067d6dfbf0156d1d638c9b7b006827c54b1057268bda0d4898396", "signature": "public byte Searchable", "summary": "_Bool (offset 32)" }, { "name": "MaxChips", "kind": "field", "id": "field|MaxChips|0|0|int|||h5a257dc5993646fab646b8979966626c37e6b96141761792a36818501629ad17", "signature": "public int MaxChips", "summary": "int (offset 36)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|nint|||h9dcb1e799c22cfc28d5f3330f8ad5d309473e6a32f68ce7efd7068c42c7988da", "signature": "public nint Icons", "summary": "const char *const * (offset 24)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeNavOpts", "displayName": "NativeNavOpts", "kind": "struct", "summary": "cui_nav_opts, 40 bytes.", "members": [{ "name": "Selected", "kind": "field", "id": "field|Selected|0|0|byte|||h48f54c1c7f1477a898313a8a1128d8456b17a09db15f6c9d1b8c0f9629b7fdf5", "signature": "public byte Selected", "summary": "_Bool (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|nint|||hde22c04ea21d8219db7a1a082d573f3b836e72a11c561a5bcf979fe76b33f2fc", "signature": "public nint Badge", "summary": "const char * (offset 16)" }, { "name": "Group", "kind": "field", "id": "field|Group|0|0|nint|||h963fd0b49f7656c682c074d70591163973d0610c086f5a99ce956e9c99ca536f", "signature": "public nint Group", "summary": "const char * (offset 32)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeNetRequest", "displayName": "NativeNetRequest", "kind": "struct", "summary": "cui_net_request, 72 bytes.", "members": [{ "name": "Timing", "kind": "field", "id": "field|Timing|0|0|\u003CTiming\u003Ee__FixedBuffer|||h4f09ea509efbbeb644d46cd6978bb990ce33740ff5eed70ee59ddaff5ad008ec", "signature": "public \u003CTiming\u003Ee__FixedBuffer Timing", "summary": "float[6] (offset 48)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|double|||h7b5849893687f979193405168798960c297b79687570ed452c529a187133d42f", "signature": "public double Size", "summary": "double (offset 32)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "double (offset 40)" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|int|||hcc92df3b247bff320f1b619f5ff854b64fdb1ce369fb4396a12c2d29bb6a04d8", "signature": "public int Status", "summary": "int (offset 16)" }, { "name": "Method", "kind": "field", "id": "field|Method|0|0|nint|||h123da31d283a687cfb3fc23d6dc7a6d0bf14af9e0cd472e209f6019e3b48bd09", "signature": "public nint Method", "summary": "const char * (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }, { "name": "Type", "kind": "field", "id": "field|Type|0|0|nint|||h08ef46c97f44246852387cb0db61193354036168da9659fe690b19c9be180ecd", "signature": "public nint Type", "summary": "const char * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeNodeEditorOpts", "displayName": "NativeNodeEditorOpts", "kind": "struct", "summary": "cui_node_editor_opts, 32 bytes.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Minimap", "kind": "field", "id": "field|Minimap|0|0|byte|||h847e9339276a95438b4954fd2ae7292a7f2cbad91327a2d1b08131fc590f34f3", "signature": "public byte Minimap", "summary": "_Bool (offset 29)" }, { "name": "NoGrid", "kind": "field", "id": "field|NoGrid|0|0|byte|||h026f953f32349519b56ea40bf2b85e0b94dcd1027cc2c5b4a4388f7196a50566", "signature": "public byte NoGrid", "summary": "_Bool (offset 28)" }, { "name": "MaxZoom", "kind": "field", "id": "field|MaxZoom|0|0|float|||hce7b521ad509796f5171145038456d5846fb43275f5ab2bd1dd22e941b179f55", "signature": "public float MaxZoom", "summary": "float (offset 24)" }, { "name": "MinZoom", "kind": "field", "id": "field|MinZoom|0|0|float|||h29a9b1097fc3444e1615953dab0039e9cc2b1daf864d629ecf3057778d2512c1", "signature": "public float MinZoom", "summary": "float (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeNodeOpts", "displayName": "NativeNodeOpts", "kind": "struct", "summary": "cui_node_opts, 16 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeNodeView", "displayName": "NativeNodeView", "kind": "struct", "summary": "cui_node_view, 12 bytes.", "members": [{ "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "float (offset 0)" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "float (offset 4)" }, { "name": "Zoom", "kind": "field", "id": "field|Zoom|0|0|float|||h15d1ab2e6f15237e95efde0c028fdb5a985bc69724f9d1c2dfbc7d04a92a3d84", "signature": "public float Zoom", "summary": "float (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeNowPlaying", "displayName": "NativeNowPlaying", "kind": "struct", "summary": "cui_now_playing, 40 bytes.", "members": [{ "name": "ArtColor", "kind": "field", "id": "field|ArtColor|0|0|NativeColor|||h352188e9ae8bb04bc66c65f9d72ef1f7d0c715f17a6c2f1762f16c4dc5a22779", "signature": "public NativeColor ArtColor", "summary": "cui_color (offset 24)" }, { "name": "Playing", "kind": "field", "id": "field|Playing|0|0|byte|||he58ec49fe5fe3b98881f6fdbfe30b7ddb8a3aee5fbe73f58d9ff3d7ab6d4d484", "signature": "public byte Playing", "summary": "_Bool (offset 36)" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "float (offset 32)" }, { "name": "Position", "kind": "field", "id": "field|Position|0|0|float|||hd7fd432a49838186bd7a06ec98a4843ede3007d3a1803ab3581dabd884c9c313", "signature": "public float Position", "summary": "float (offset 28)" }, { "name": "Artist", "kind": "field", "id": "field|Artist|0|0|nint|||he59bb20b10e5b5d8ea31aec4cfcaef621ca667fcdb52e496e8066b4339509d45", "signature": "public nint Artist", "summary": "const char * (offset 8)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 0)" }, { "name": "Art", "kind": "field", "id": "field|Art|0|0|nuint|||h1a6b68368ef145c59e5b9891870c67cad162629e59e3fe5de80d9897c0af9b51", "signature": "public nuint Art", "summary": "cui_texture (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeNowPlayingOpts", "displayName": "NativeNowPlayingOpts", "kind": "struct", "summary": "cui_now_playing_opts, 16 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|byte|||h82ad4978e776988891fb40f0e87ef125edf87783174f60001d6260930e049142", "signature": "public byte Compact", "summary": "_Bool (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeNumberOpts", "displayName": "NativeNumberOpts", "kind": "struct", "summary": "cui_number_opts, 48 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 32)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 28)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|double|||h44b63c009d1e13f96b6beedec59bbb32a22e099dcdc403d6954e0407657f670a", "signature": "public double Step", "summary": "double (offset 16)" }, { "name": "Decimals", "kind": "field", "id": "field|Decimals|0|0|int|||h1b738cb70bf917879f304fb58ce030898c555b54b73eb0e896589e3d0ec3d3b3", "signature": "public int Decimals", "summary": "int (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|nint|||hf74991389a50a9d4f62042eaba5519ce0c8537c405e4fb6215db1322dfac00e9", "signature": "public nint Suffix", "summary": "const char * (offset 40)" }] }, - { "name": "CuiSharp.Interop.NativePathBarOpts", "displayName": "NativePathBarOpts", "kind": "struct", "summary": "cui_path_bar_opts, 48 bytes.", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 32)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 36)" }, { "name": "Menus", "kind": "field", "id": "field|Menus|0|0|byte|||hfce09a2273f9e5959eeec0f9b791dfbe55c631d67f0f6007ceb096b5ef67f9e9", "signature": "public byte Menus", "summary": "_Bool (offset 44)" }, { "name": "NoEdit", "kind": "field", "id": "field|NoEdit|0|0|byte|||h4ddb78a9b807eee3628959ae9d3d2fd89fb75146a70af1561aae0012d2f4b96f", "signature": "public byte NoEdit", "summary": "_Bool (offset 45)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 24)" }, { "name": "Text", "kind": "field", "id": "field|Text|0|0|nint|||h66aaa42b78279f1149dcb8a32f27fc2db74dc535e86360cd658d24fb0bf042d8", "signature": "public nint Text", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativePathBarResult", "displayName": "NativePathBarResult", "kind": "struct", "summary": "cui_path_bar_result, 24 bytes.", "members": [{ "name": "Editing", "kind": "field", "id": "field|Editing|0|0|byte|||h9cd1f1314af8dd72c11a5d0b5d363747fcde01f6b3b4987312829b3913cd8ae7", "signature": "public byte Editing", "summary": "_Bool (offset 16)" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "int (offset 0)" }, { "name": "Submitted", "kind": "field", "id": "field|Submitted|0|0|nint|||h4daa02cbbb687b2825702867fdde5bbf14031d18cbb63e9e4fcc3542a2b46982", "signature": "public nint Submitted", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativePinOpts", "displayName": "NativePinOpts", "kind": "struct", "summary": "cui_pin_opts, 8 bytes.", "members": [{ "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Type", "kind": "field", "id": "field|Type|0|0|int|||h291cfcf7e8be08751051d80452d4ba9737270b48802d5b353cb8f86b5c8d4c2a", "signature": "public int Type", "summary": "int (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativePipelineJob", "displayName": "NativePipelineJob", "kind": "struct", "summary": "cui_pipeline_job, 24 bytes.", "members": [{ "name": "Status", "kind": "field", "id": "field|Status|0|0|JobStatus|||h8dbfd9370caabecd55d2b859321b59d6a4ee052ab7364783aff88cbd0eff2901", "signature": "public JobStatus Status", "summary": "cui_job_status (offset 12)" }, { "name": "AllowFailure", "kind": "field", "id": "field|AllowFailure|0|0|byte|||h57c27f394392363e5ce198d28bdc1495239dcce5378e6f2cadb65cd234fa5280", "signature": "public byte AllowFailure", "summary": "_Bool (offset 20)" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "float (offset 16)" }, { "name": "Stage", "kind": "field", "id": "field|Stage|0|0|int|||h6fc576c7f16ed80d38f61828b33d23fb8c2ef709dfff4121d292da2de39e7868", "signature": "public int Stage", "summary": "int (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativePipelineOpts", "displayName": "NativePipelineOpts", "kind": "struct", "summary": "cui_pipeline_opts, 24 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "int * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativePipelineResult", "displayName": "NativePipelineResult", "kind": "struct", "summary": "cui_pipeline_result, 8 bytes.", "members": [{ "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "int (offset 0)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "int (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativePlanStep", "displayName": "NativePlanStep", "kind": "struct", "summary": "cui_plan_step, 24 bytes.", "members": [{ "name": "Status", "kind": "field", "id": "field|Status|0|0|CuiTaskStatus|||hc70e5654f5e0b77ce9da45f798c273c2ac66019dc100160d6f02b89ccf377bba", "signature": "public CuiTaskStatus Status", "summary": "cui_task_status (offset 16)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "const char * (offset 8)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativePlatformIface", "displayName": "NativePlatformIface", "kind": "struct", "summary": "cui_platform_iface, 48 bytes.", "members": [{ "name": "DrawEmoji", "kind": "field", "id": "field|DrawEmoji|0|0|nint|||ha007e832e7a875694aca1e9339d52e0e40e66ca966c69e8166069d40e16986fb", "signature": "public nint DrawEmoji", "summary": "_Bool (*)(void *, const char *, int, int, unsigned char *) (offset 40)" }, { "name": "GetClipboard", "kind": "field", "id": "field|GetClipboard|0|0|nint|||h9a9190f3e6b6b5c6d0cf55146b73ded113e6a38cca967b429c055648776b5ea4", "signature": "public nint GetClipboard", "summary": "const char *(*)(void *) (offset 16)" }, { "name": "SetClipboard", "kind": "field", "id": "field|SetClipboard|0|0|nint|||hbbfbbd36a4826cc8a71409977e795f45ff9dc93c83f28304cf89488f2cbbff5e", "signature": "public nint SetClipboard", "summary": "void (*)(void *, const char *) (offset 8)" }, { "name": "SetCursor", "kind": "field", "id": "field|SetCursor|0|0|nint|||he1e9b99feebed3486f20ea19b4e8390e04b586ddc2f91b87c5d32f19a0383572", "signature": "public nint SetCursor", "summary": "void (*)(void *, cui_cursor) (offset 24)" }, { "name": "SetTextInputRect", "kind": "field", "id": "field|SetTextInputRect|0|0|nint|||h2ff757d709ab7da74f78fcdc47702a9dcb9b51cc0252b56ba41df20a87d93643", "signature": "public nint SetTextInputRect", "summary": "void (*)(void *, cui_rect) (offset 32)" }, { "name": "User", "kind": "field", "id": "field|User|0|0|nint|||hbb8b86031509e9566eb92455c659fd89532fcd8a35724b86f43a45f38dc8e34f", "signature": "public nint User", "summary": "void * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativePopoverOpts", "displayName": "NativePopoverOpts", "kind": "struct", "summary": "cui_popover_opts, 20 bytes.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement (offset 4)" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float (offset 16)" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativePresenceUser", "displayName": "NativePresenceUser", "kind": "struct", "summary": "cui_presence_user, 32 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 8)" }, { "name": "Idle", "kind": "field", "id": "field|Idle|0|0|byte|||h1ef96cd97047669694287cf7836fe9005bdfdc75f578cc63c3879ec0d9f7f364", "signature": "public byte Idle", "summary": "_Bool (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|nuint|||hd836d3050349dc9e230d8ba691c657178a9fd72c10b4dc2ffe3eba6966257126", "signature": "public nuint Avatar", "summary": "cui_texture (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeProblemsOpts", "displayName": "NativeProblemsOpts", "kind": "struct", "summary": "cui_problems_opts, 20 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoToolbar", "kind": "field", "id": "field|NoToolbar|0|0|byte|||h1230557801560ff86cbce3521dab7087f74f25026715f9de53fdbb79ff28a7c9", "signature": "public byte NoToolbar", "summary": "_Bool (offset 16)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeProblemsResult", "displayName": "NativeProblemsResult", "kind": "struct", "summary": "cui_problems_result, 12 bytes.", "members": [{ "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "int (offset 4)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "int (offset 0)" }, { "name": "Shown", "kind": "field", "id": "field|Shown|0|0|int|||hb58805b7e5564373001000b59ffc5a328243e1da90b1bf69d07d8ff266b1d72f", "signature": "public int Shown", "summary": "int (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeProgressOpts", "displayName": "NativeProgressOpts", "kind": "struct", "summary": "cui_progress_opts, 40 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 28)" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 8)" }, { "name": "Indeterminate", "kind": "field", "id": "field|Indeterminate|0|0|byte|||hfedb6a86910124c963d29f1734bebdd306e24edb2eb5d92514b1fc88f2d3b8a7", "signature": "public byte Indeterminate", "summary": "_Bool (offset 4)" }, { "name": "ShowValue", "kind": "field", "id": "field|ShowValue|0|0|byte|||hb6f28ed830dc1357a9e6ae1ac2207fd475f7cd4adf20dc1c2cc2e9ae662df3db", "signature": "public byte ShowValue", "summary": "_Bool (offset 24)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativePromptSuggestion", "displayName": "NativePromptSuggestion", "kind": "struct", "summary": "cui_prompt_suggestion, 24 bytes.", "members": [{ "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "const char * (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 0)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativePromptSuggestionsOpts", "displayName": "NativePromptSuggestionsOpts", "kind": "struct", "summary": "cui_prompt_suggestions_opts, 8 bytes.", "members": [{ "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "int (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativePropOpts", "displayName": "NativePropOpts", "kind": "struct", "summary": "cui_prop_opts, 56 bytes.", "members": [{ "name": "Checkbox", "kind": "field", "id": "field|Checkbox|0|0|byte|||h507b4560e3dd2226d78d8569e4e568325e5e4b07c2c5374c97aa7c28c15684eb", "signature": "public byte Checkbox", "summary": "_Bool (offset 49)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 48)" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "float (offset 8)" }, { "name": "Min", "kind": "field", "id": "field|Min|0|0|float|||h81101b82558caea906d5838961d5313f13c99e7d68f18285b0cf84040f989d8a", "signature": "public float Min", "summary": "float (offset 4)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 32)" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|nint|||hf74991389a50a9d4f62042eaba5519ce0c8537c405e4fb6215db1322dfac00e9", "signature": "public nint Suffix", "summary": "const char * (offset 24)" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|nint|||hccbc32a161449afe62353b5d908ca3da9aecdd74fe8acbce624e4004ec4575e7", "signature": "public nint Tooltip", "summary": "const char * (offset 40)" }] }, - { "name": "CuiSharp.Interop.NativeQueryField", "displayName": "NativeQueryField", "kind": "struct", "summary": "cui_query_field, 32 bytes.", "members": [{ "name": "Type", "kind": "field", "id": "field|Type|0|0|QueryType|||hf209f50f5f23cd7bcfb0c92b4bab8a6e54deec08302998719d5a083a7aeda993", "signature": "public QueryType Type", "summary": "cui_query_type (offset 8)" }, { "name": "ChoiceCount", "kind": "field", "id": "field|ChoiceCount|0|0|int|||h02d777fe613788659bf69664a6261625545c513d9a9122df90eca79d51005bad", "signature": "public int ChoiceCount", "summary": "int (offset 24)" }, { "name": "Choices", "kind": "field", "id": "field|Choices|0|0|nint|||h9e816d3f81eb98f247eec7011f2c31635c3566049549139425e86f0a3a75de4a", "signature": "public nint Choices", "summary": "const char *const * (offset 16)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeQueryNode", "displayName": "NativeQueryNode", "kind": "struct", "summary": "cui_query_node, 80 bytes.", "members": [{ "name": "Value", "kind": "field", "id": "field|Value|0|0|\u003CValue\u003Ee__FixedBuffer|||h3733ba739dc4b340aaa8d999619d3a45483a5245e5ca30e87e307219078ea13c", "signature": "public \u003CValue\u003Ee__FixedBuffer Value", "summary": "char[64] (offset 16)" }, { "name": "Any", "kind": "field", "id": "field|Any|0|0|byte|||hb37e0d689a0581e7a7dcd3d5383ddb32f18177060cce4462e7b8220b195e8cfe", "signature": "public byte Any", "summary": "_Bool (offset 5)" }, { "name": "Group", "kind": "field", "id": "field|Group|0|0|byte|||hd89540b6104f14ac67b204f5a13e2b5176f782170dff539a78dab46ba3e1050a", "signature": "public byte Group", "summary": "_Bool (offset 4)" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "int (offset 0)" }, { "name": "Field", "kind": "field", "id": "field|Field|0|0|int|||hdcf6cff1322591f3a88cb72bd2e2121e1e20ef1a7c6b74518e9e156290f19324", "signature": "public int Field", "summary": "int (offset 8)" }, { "name": "Op", "kind": "field", "id": "field|Op|0|0|int|||h6505aa172e0f27a8b351e7d974812a780ea421fa10662d2e3e0f3d89db6217e1", "signature": "public int Op", "summary": "int (offset 12)" }] }, - { "name": "CuiSharp.Interop.NativeQueryOpts", "displayName": "NativeQueryOpts", "kind": "struct", "summary": "cui_query_opts, 20 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|byte|||h9e1431d0c26b40c6daa5a446056e13ee71a6462394b7d796b573d868c509360c", "signature": "public byte ReadOnly", "summary": "_Bool (offset 16)" }, { "name": "MaxDepth", "kind": "field", "id": "field|MaxDepth|0|0|int|||he1682a88cdc03d3743c38ec2bdc17f9131942fa953ffde04cded5fc866b9afdd", "signature": "public int MaxDepth", "summary": "int (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeRadarOpts", "displayName": "NativeRadarOpts", "kind": "struct", "summary": "cui_radar_opts, 32 bytes.", "members": [{ "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|byte|||h1f8a110b3f30258fe29c926542fc3ebe7571478d3c055e1b3267d8e06e0b33f4", "signature": "public byte NoLegend", "summary": "_Bool (offset 24)" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "float (offset 8)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeRadialGaugeOpts", "displayName": "NativeRadialGaugeOpts", "kind": "struct", "summary": "cui_radial_gauge_opts, 64 bytes.", "members": [{ "name": "NoNeedle", "kind": "field", "id": "field|NoNeedle|0|0|byte|||h3a0cf49a66a777f2868809275c11e6bc72867c9c16a213b20f272b4e917f7661", "signature": "public byte NoNeedle", "summary": "_Bool (offset 61)" }, { "name": "ShowTarget", "kind": "field", "id": "field|ShowTarget|0|0|byte|||hd1e997b62098b8fd4e9c8ad625a9767162028f58637f36d5f72ccba41fd9263a", "signature": "public byte ShowTarget", "summary": "_Bool (offset 60)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 32)" }, { "name": "Sweep", "kind": "field", "id": "field|Sweep|0|0|float|||h7fb4447237bd85b4fcbb34bc83034682a6f51ce1885fdf1656d0e29fa9bde9ce", "signature": "public float Sweep", "summary": "float (offset 36)" }, { "name": "Target", "kind": "field", "id": "field|Target|0|0|float|||hcde29887b1065a0d920ec35b586d383741d5219b2c69db75b52f3c59633bdfe2", "signature": "public float Target", "summary": "float (offset 56)" }, { "name": "BandCount", "kind": "field", "id": "field|BandCount|0|0|int|||h8f772448f68b8cd351be66664954248f0016d89e0ec779c00a5d8db33648680f", "signature": "public int BandCount", "summary": "int (offset 48)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Ticks", "kind": "field", "id": "field|Ticks|0|0|int|||hdd7be04ef4d976cb0eb1119ce46c1e28a88d3f9b64451ac52a79686542ec0cce", "signature": "public int Ticks", "summary": "int (offset 52)" }, { "name": "Bands", "kind": "field", "id": "field|Bands|0|0|nint|||hca1692338c9b5a5464abe15373150298f094bb516bfa92aec327cd952dffec08", "signature": "public nint Bands", "summary": "const cui_gauge_band * (offset 40)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|nint|||h708409b7ee1912ab128b9f78a22e55e9f298402bb842be865ac89fa44f207c93", "signature": "public nint Unit", "summary": "const char * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeRadioCardsOpts", "displayName": "NativeRadioCardsOpts", "kind": "struct", "summary": "cui_radio_cards_opts, 8 bytes.", "members": [{ "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "int (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeReaction", "displayName": "NativeReaction", "kind": "struct", "summary": "cui_reaction, 16 bytes.", "members": [{ "name": "Active", "kind": "field", "id": "field|Active|0|0|byte|||h4ae72b901c43fd7eedd2860040d11da247d2e5fad66ff07dafa510bcc03ebec9", "signature": "public byte Active", "summary": "_Bool (offset 12)" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "int (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeReasoningOpts", "displayName": "NativeReasoningOpts", "kind": "struct", "summary": "cui_reasoning_opts, 24 bytes.", "members": [{ "name": "Thinking", "kind": "field", "id": "field|Thinking|0|0|byte|||h71d4b8904e3b9edda6b398c15c727ba1512efdca6affae34aed7e9a59c141fad", "signature": "public byte Thinking", "summary": "_Bool (offset 4)" }, { "name": "Seconds", "kind": "field", "id": "field|Seconds|0|0|float|||hb2b6bfb7a4abde73c46fe03cfd0492620c03edc110332cec5c1c257b49ebec83", "signature": "public float Seconds", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeRect", "displayName": "NativeRect", "kind": "struct", "summary": "cui_rect, 16 bytes.", "members": [{ "name": "H", "kind": "field", "id": "field|H|0|0|float|||h6068c1b5b26070cf40100a361438f0aaacf6f48566057f47c5c4da7088e480c3", "signature": "public float H", "summary": "float (offset 12)" }, { "name": "W", "kind": "field", "id": "field|W|0|0|float|||h1b8bbee4108258383c6ae6598eb75961df002e444297bc3c3ce7f9b77b1cc76d", "signature": "public float W", "summary": "float (offset 8)" }, { "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "float (offset 0)" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "float (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeRegexMatch", "displayName": "NativeRegexMatch", "kind": "struct", "summary": "cui_regex_match, 332 bytes.", "members": [{ "name": "GroupEnd", "kind": "field", "id": "field|GroupEnd|0|0|\u003CGroupEnd\u003Ee__FixedBuffer|||h6bea8621bc7f40fd422f35dd80890c8e99e7c061f6d81e995e2508528187df83", "signature": "public \u003CGroupEnd\u003Ee__FixedBuffer GroupEnd", "summary": "int[10] (offset 52)" }, { "name": "GroupStart", "kind": "field", "id": "field|GroupStart|0|0|\u003CGroupStart\u003Ee__FixedBuffer|||h76149322f1925add8a161ff495d4572c0289da9202590b946e24010515e21510", "signature": "public \u003CGroupStart\u003Ee__FixedBuffer GroupStart", "summary": "int[10] (offset 12)" }, { "name": "GroupName", "kind": "field", "id": "field|GroupName|0|0|NativeRegexMatchGroupNameArray1|||hdf1956c43f3320769e7edd70c20f61fc3d749cd9591c139ef0190fe71364bdbe", "signature": "public NativeRegexMatchGroupNameArray1 GroupName", "summary": "char[10][24] (offset 92)" }, { "name": "End", "kind": "field", "id": "field|End|0|0|int|||h101ad3d5ebda13e9c347a22363390231322c8fbb64d191c3a092d362955b7964", "signature": "public int End", "summary": "int (offset 4)" }, { "name": "Groups", "kind": "field", "id": "field|Groups|0|0|int|||h3b074bbc1baff400280a76c2f7fa8cd3dd142e4426e982cf1aa80a5fe29e43de", "signature": "public int Groups", "summary": "int (offset 8)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|int|||ha1b0c3e4699fce964620bef0f781444da21c0b72084141f26a9e30e25bf70e5f", "signature": "public int Start", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.InspectorOpts", "displayName": "InspectorOpts", "kind": "struct", "summary": "Property inspector: labelled rows in folding groups, a label column on the left (drag the line between the columns to resize it) and an editor on the right. Every row returns true when its value changed. Groups end at the next group or at cui_inspector_end. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "LabelWidth", "kind": "field", "id": "field|LabelWidth|0|0|float|||h993f466ab627a21c24b5cbf05bd27e3424e345f9dda31611b0dbd719a33e2e12", "signature": "public float LabelWidth", "summary": "initial label column in points, default 38% of the width" }] }, + { "name": "CuiSharp.Interop.Native", "displayName": "Native", "kind": "static class", "summary": "Raw P/Invoke for cui.dll: one method per CUI_API function.", "members": [{ "name": "GetAccent", "kind": "method", "id": "method|GetAccent|1|0|Accent|nint ui||h4b5f008e77f36e753c29f584e84c7e8249ea899a16121c4a9ab6a5e3d2e462d6", "signature": "static Accent GetAccent(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_get_accent" }, { "name": "GetCursor", "kind": "method", "id": "method|GetCursor|1|0|Cursor|nint ui||h9592bd795030ec6f07a1b68093cf60e0ddb49ad084262abef2006bc6c6c5e263", "signature": "static Cursor GetCursor(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_get_cursor" }, { "name": "FontLoadFile", "kind": "method", "id": "method|FontLoadFile|1|0|Font|nint ui;nint path||h45e3467937e6440386ba379704bca3b0aca47850d974f4abb9c8c86279f26276", "signature": "static Font FontLoadFile(nint ui, nint path)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "path", "type": "nint" }], "summary": "cui_font_load_file" }, { "name": "FontLoadMemory", "kind": "method", "id": "method|FontLoadMemory|1|0|Font|nint ui;nint data;nuint size;byte copy||h0dbc267103f6d17b74a64b86ef08af5d19d591a58bfe2d1cb2c66bce90a33d17", "signature": "static Font FontLoadMemory(nint ui, nint data, nuint size, byte copy)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "data", "type": "nint" }, { "name": "size", "type": "nuint" }, { "name": "copy", "type": "byte" }], "summary": "Load a TrueType/OpenType font. The data must stay alive if copy is false. Returns a font id, or -1 on failure." }, { "name": "ApiExplorer", "kind": "method", "id": "method|ApiExplorer|1|0|NativeApiExplorerResult|nint ui;nint id;nint endpoints;int count;in NativeApiExplorerOpts opts||hf224b6dffe9e3dda0f0308f3af34d5a163659fc92533358cfa712df17d1a639e", "signature": "static NativeApiExplorerResult ApiExplorer(nint ui, nint id, nint endpoints, int count, in NativeApiExplorerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "endpoints", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeApiExplorerOpts" }], "summary": "cui_api_explorer_ex" }, { "name": "Blame", "kind": "method", "id": "method|Blame|1|0|NativeBlameResult|nint ui;nint id;nint lines;nint lineCommit;int lineCount;nint commits;int commitCount;in NativeBlameOpts opts||h4038398c6e9c93c3d4c2bfc504f5192b4a691dd68bae5b401920ae508d57dffd", "signature": "static NativeBlameResult Blame(nint ui, nint id, nint lines, nint lineCommit, int lineCount, nint commits, int commitCount, in NativeBlameOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "lines", "type": "nint" }, { "name": "lineCommit", "type": "nint" }, { "name": "lineCount", "type": "int" }, { "name": "commits", "type": "nint" }, { "name": "commitCount", "type": "int" }, { "name": "opts", "type": "in NativeBlameOpts" }], "summary": "cui_blame_ex" }, { "name": "Canvas", "kind": "method", "id": "method|Canvas|1|0|NativeCanvasResult|nint ui;nint id;NativeSize width;NativeSize height;nint paint;nint user;nuint userSize||he97d81faab75b76f5c111bd6c8ac29454458429f209b9d1d3db7c880e9656350", "signature": "static NativeCanvasResult Canvas(nint ui, nint id, NativeSize width, NativeSize height, nint paint, nint user, nuint userSize)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "width", "type": "NativeSize" }, { "name": "height", "type": "NativeSize" }, { "name": "paint", "type": "nint" }, { "name": "user", "type": "nint" }, { "name": "userSize", "type": "nuint" }], "summary": "cui_canvas" }, { "name": "CodeEditor", "kind": "method", "id": "method|CodeEditor|1|0|NativeCodeEditorResult|nint ui;nint id;nint buf;nuint cap;in NativeCodeEditorOpts opts||h25f359abfb59fb635c63f3409cffc0221ce1b73aecd18481b8bf55e7015fcead", "signature": "static NativeCodeEditorResult CodeEditor(nint ui, nint id, nint buf, nuint cap, in NativeCodeEditorOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeCodeEditorOpts" }], "summary": "cui_code_editor_ex" }, { "name": "Alpha", "kind": "method", "id": "method|Alpha|1|0|NativeColor|NativeColor c;float alphaMultiplier||h6f6dc7f18231ffd4e72a98ba480ab083b4d26389e8ae083debcf59c9dd9da08f", "signature": "static NativeColor Alpha(NativeColor c, float alphaMultiplier)", "parameters": [{ "name": "c", "type": "NativeColor" }, { "name": "alphaMultiplier", "type": "float" }], "summary": "cui_alpha" }, { "name": "ColorOf", "kind": "method", "id": "method|ColorOf|1|0|NativeColor|nint ui;NativeColor c||h54ccc38136527a38949cb0d73367b6a6e3137b549bc57ee96e1a2a475d8f4089", "signature": "static NativeColor ColorOf(nint ui, NativeColor c)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "c", "type": "NativeColor" }], "summary": "resolves tokens" }, { "name": "GradientEval", "kind": "method", "id": "method|GradientEval|1|0|NativeColor|nint stops;int count;float t||ha841b21375b91451bf65ef779e13748e49ce1347627211578ad95f0700a1616d", "signature": "static NativeColor GradientEval(nint stops, int count, float t)", "parameters": [{ "name": "stops", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "t", "type": "float" }], "summary": "The color at t: exactly what the ramp shows (each channel, alpha too, interpolated in sRGB between the stops on either side; the end colors continue past the first and last stop)." }, { "name": "Mix", "kind": "method", "id": "method|Mix|1|0|NativeColor|NativeColor a;NativeColor b;float t||hda3f5edb5311ba1769ae795a7dfd6a98f20c60db5bb606d95b5810cbc9d83d4a", "signature": "static NativeColor Mix(NativeColor a, NativeColor b, float t)", "parameters": [{ "name": "a", "type": "NativeColor" }, { "name": "b", "type": "NativeColor" }, { "name": "t", "type": "float" }], "summary": "cui_mix" }, { "name": "Oklch", "kind": "method", "id": "method|Oklch|1|0|NativeColor|float l;float c;float hDegrees;float alpha||h26e67a65df209683f5291a98b82c8a5cabd7337b202d5d5c21c2ddc07fcb2232", "signature": "static NativeColor Oklch(float l, float c, float hDegrees, float alpha)", "parameters": [{ "name": "l", "type": "float" }, { "name": "c", "type": "float" }, { "name": "hDegrees", "type": "float" }, { "name": "alpha", "type": "float" }], "summary": "Color helpers. Mixing is done in OKLab, like CSS color-mix(in oklab)." }, { "name": "TokenColor", "kind": "method", "id": "method|TokenColor|1|0|NativeColor|nint ui;Token token||h90e46c89d5e70f5f21daa0f9b683a793e619fecb1ab9c0a299de0471b3426f32", "signature": "static NativeColor TokenColor(nint ui, Token token)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "token", "type": "Token" }], "summary": "cui_token_color" }, { "name": "CommitGraph", "kind": "method", "id": "method|CommitGraph|1|0|NativeCommitGraphResult|nint ui;nint id;nint commits;int count;in NativeCommitGraphOpts opts||h45d73cd59f1de127d447c740e1830e6b5a5b060bba456bfafde41fa92f64c74e", "signature": "static NativeCommitGraphResult CommitGraph(nint ui, nint id, nint commits, int count, in NativeCommitGraphOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "commits", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeCommitGraphOpts" }], "summary": "cui_commit_graph_ex" }, { "name": "Coverage", "kind": "method", "id": "method|Coverage|1|0|NativeCoverageResult|nint ui;nint id;nint files;int count;in NativeCoverageOpts opts||h1b0a2f1fdc7808920e72995a8476b64bef4b6f5f5a6712da0ad04749a085826a", "signature": "static NativeCoverageResult Coverage(nint ui, nint id, nint files, int count, in NativeCoverageOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "files", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeCoverageOpts" }], "summary": "cui_coverage_ex" }, { "name": "CurveEditor", "kind": "method", "id": "method|CurveEditor|1|0|NativeCurveResult|nint ui;nint id;nint keys;ref int count;int capacity;in NativeCurveOpts opts||h96718fdb1bc3448845d2464d7bb341aaa324a86a9faea4496630c39fb7ca169a", "signature": "static NativeCurveResult CurveEditor(nint ui, nint id, nint keys, ref int count, int capacity, in NativeCurveOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "keys", "type": "nint" }, { "name": "count", "type": "ref int" }, { "name": "capacity", "type": "int" }, { "name": "opts", "type": "in NativeCurveOpts" }], "summary": "cui_curve_editor_ex" }, { "name": "DateFromDays", "kind": "method", "id": "method|DateFromDays|1|0|NativeDate|int days||h1feda9236ea087efd2070df1a696cc0677817502ff785ff54c56c9bded66c802", "signature": "static NativeDate DateFromDays(int days)", "parameters": [{ "name": "days", "type": "int" }], "summary": "cui_date_from_days" }, { "name": "DateToday", "kind": "method", "id": "method|DateToday|1|0|NativeDate|||hb0af2f41da02d6baf40ca220344dbbc0745b0b07b0017d8945ba60b14f23d7bf", "signature": "static NativeDate DateToday()", "summary": "cui_date_today" }, { "name": "DiffView", "kind": "method", "id": "method|DiffView|1|0|NativeDiffResult|nint ui;nint id;nint oldText;nint newText;in NativeDiffOpts opts||h9938cb3dcf99694ce2c1936767de75bdf0ab18f91c7c4f698ac795cc563ccbf8", "signature": "static NativeDiffResult DiffView(nint ui, nint id, nint oldText, nint newText, in NativeDiffOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "oldText", "type": "nint" }, { "name": "newText", "type": "nint" }, { "name": "opts", "type": "in NativeDiffOpts" }], "summary": "cui_diff_view_ex" }, { "name": "DocTabs", "kind": "method", "id": "method|DocTabs|1|0|NativeDocTabsResult|nint ui;nint id;nint tabs;int count;ref int selected;in NativeDocTabsOpts opts||hecb3160d850e49f639702d27b881b59b7defdcb80863fe9009dccc178a9136a2", "signature": "static NativeDocTabsResult DocTabs(nint ui, nint id, nint tabs, int count, ref int selected, in NativeDocTabsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "tabs", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "selected", "type": "ref int" }, { "name": "opts", "type": "in NativeDocTabsOpts" }], "summary": "cui_doc_tabs_ex" }, { "name": "DotChart", "kind": "method", "id": "method|DotChart|1|0|NativeDotChartResult|nint ui;nint id;nint series;int seriesCount;int count;in NativeDotChartOpts opts||h4185de534773d5045c545cfffc30866bc26c05d2075fd350ffb75167ae2fc341", "signature": "static NativeDotChartResult DotChart(nint ui, nint id, nint series, int seriesCount, int count, in NativeDotChartOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "series", "type": "nint" }, { "name": "seriesCount", "type": "int" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeDotChartOpts" }], "summary": "cui_dot_chart_ex" }, { "name": "EventTrack", "kind": "method", "id": "method|EventTrack|1|0|NativeEventTrackResult|nint ui;nint id;nint times;ref int count;int capacity;double min;double max;in NativeEventTrackOpts opts||h7b1f6544e03792ddae432ec81a09d501f543037006f140e9fe5239dbca0f0b97", "signature": "static NativeEventTrackResult EventTrack(nint ui, nint id, nint times, ref int count, int capacity, double min, double max, in NativeEventTrackOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "times", "type": "nint" }, { "name": "count", "type": "ref int" }, { "name": "capacity", "type": "int" }, { "name": "min", "type": "double" }, { "name": "max", "type": "double" }, { "name": "opts", "type": "in NativeEventTrackOpts" }], "summary": "cui_event_track_ex" }, { "name": "FeatureFlags", "kind": "method", "id": "method|FeatureFlags|1|0|NativeFeatureFlagsResult|nint ui;nint id;nint flags;int count;nint envs;int envCount;in NativeFeatureFlagsOpts opts||hb5efa0dddbc12664f0d095e30db5d75f7fa84690d18c2b2a95e8e380c02a06ea", "signature": "static NativeFeatureFlagsResult FeatureFlags(nint ui, nint id, nint flags, int count, nint envs, int envCount, in NativeFeatureFlagsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "flags", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "envs", "type": "nint" }, { "name": "envCount", "type": "int" }, { "name": "opts", "type": "in NativeFeatureFlagsOpts" }], "summary": "cui_feature_flags_ex" }, { "name": "FileBrowser", "kind": "method", "id": "method|FileBrowser|1|0|NativeFileBrowserResult|nint ui;nint id;nint path;nuint pathCap;in NativeFileBrowserOpts opts||h08099d06b6206902f3eacf84023b3f3700251302fc626d834bfc0c98b509520c", "signature": "static NativeFileBrowserResult FileBrowser(nint ui, nint id, nint path, nuint pathCap, in NativeFileBrowserOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "path", "type": "nint" }, { "name": "pathCap", "type": "nuint" }, { "name": "opts", "type": "in NativeFileBrowserOpts" }], "summary": "path: the folder shown, yours; the browser writes it as you move around." }, { "name": "FlameGraph", "kind": "method", "id": "method|FlameGraph|1|0|NativeFlameResult|nint ui;nint id;nint spans;int count;ref NativeFlameView view;ref int selected;in NativeFlameOpts opts||h572e9eae08f26d8c3ef0ce6dd6873004c38722dc8d44d901d89cf381a4bcad20", "signature": "static NativeFlameResult FlameGraph(nint ui, nint id, nint spans, int count, ref NativeFlameView view, ref int selected, in NativeFlameOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "spans", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "view", "type": "ref NativeFlameView" }, { "name": "selected", "type": "ref int" }, { "name": "opts", "type": "in NativeFlameOpts" }], "summary": "selected: index into spans, -1 for none (may be NULL)." }, { "name": "GradientEditor", "kind": "method", "id": "method|GradientEditor|1|0|NativeGradientResult|nint ui;nint id;nint stops;ref int count;int capacity;in NativeGradientOpts opts||h8c5d8f1ee3133998b21568f32399f5f1066973b6fe35c0d2c046bde0f3711fa7", "signature": "static NativeGradientResult GradientEditor(nint ui, nint id, nint stops, ref int count, int capacity, in NativeGradientOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "stops", "type": "nint" }, { "name": "count", "type": "ref int" }, { "name": "capacity", "type": "int" }, { "name": "opts", "type": "in NativeGradientOpts" }], "summary": "cui_gradient_editor_ex" }, { "name": "GraphView", "kind": "method", "id": "method|GraphView|1|0|NativeGraphResult|nint ui;nint id;nint nodes;int nodeCount;nint edges;int edgeCount;in NativeGraphOpts opts||hd5b1f3cf7868c7e999da3ea9b89f9abd50a2a2e5fa0cabce9dbf681f75d6c217", "signature": "static NativeGraphResult GraphView(nint ui, nint id, nint nodes, int nodeCount, nint edges, int edgeCount, in NativeGraphOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "nodes", "type": "nint" }, { "name": "nodeCount", "type": "int" }, { "name": "edges", "type": "nint" }, { "name": "edgeCount", "type": "int" }, { "name": "opts", "type": "in NativeGraphOpts" }], "summary": "cui_graph_view_ex" }, { "name": "HexView", "kind": "method", "id": "method|HexView|1|0|NativeHexResult|nint ui;nint id;nint data;nuint size;ref NativeHexSelection sel;in NativeHexViewOpts opts||hb15e58797f8b99309bce8f61db678bf1d7abbcda46acc035b9be9c5cd6e53e85", "signature": "static NativeHexResult HexView(nint ui, nint id, nint data, nuint size, ref NativeHexSelection sel, in NativeHexViewOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "data", "type": "nint" }, { "name": "size", "type": "nuint" }, { "name": "sel", "type": "ref NativeHexSelection" }, { "name": "opts", "type": "in NativeHexViewOpts" }], "summary": "sel may be NULL: the view then keeps the selection itself." }, { "name": "Keymap", "kind": "method", "id": "method|Keymap|1|0|NativeKeymapResult|nint ui;nint id;nint bindings;int count;in NativeKeymapOpts opts||h9217cafc1fe775ad6698a0f05dd5582060c83090eedef5d953fbdf4293837498", "signature": "static NativeKeymapResult Keymap(nint ui, nint id, nint bindings, int count, in NativeKeymapOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "bindings", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeKeymapOpts" }], "summary": "cui_keymap_ex" }, { "name": "Markdown", "kind": "method", "id": "method|Markdown|1|0|NativeMarkdownResult|nint ui;nint id;nint text;in NativeMarkdownOpts opts||heaa94f7d43805d3025afbd720deb33d8585c24b46340d859317c44d35a8dc81a", "signature": "static NativeMarkdownResult Markdown(nint ui, nint id, nint text, in NativeMarkdownOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeMarkdownOpts" }], "summary": "cui_markdown_ex" }, { "name": "MonthCalendar", "kind": "method", "id": "method|MonthCalendar|1|0|NativeMonthResult|nint ui;nint id;ref NativeDate month;nint events;int count;in NativeMonthOpts opts||h44b8b3863faad3edc72fb84b70f78ff6c0786b4dbffd156203510cd11e19c2b8", "signature": "static NativeMonthResult MonthCalendar(nint ui, nint id, ref NativeDate month, nint events, int count, in NativeMonthOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "month", "type": "ref NativeDate" }, { "name": "events", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeMonthOpts" }], "summary": "cui_month_calendar_ex" }, { "name": "PathBar", "kind": "method", "id": "method|PathBar|1|0|NativePathBarResult|nint ui;nint id;nint segments;int count;in NativePathBarOpts opts||h91468a1041cda9c640d4d69a543f01f0eadaf8a0f81f1e0f31cc82613550c097", "signature": "static NativePathBarResult PathBar(nint ui, nint id, nint segments, int count, in NativePathBarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "segments", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativePathBarOpts" }], "summary": "cui_path_bar_ex" }, { "name": "Pipeline", "kind": "method", "id": "method|Pipeline|1|0|NativePipelineResult|nint ui;nint id;nint stages;int stageCount;nint jobs;int jobCount;in NativePipelineOpts opts||h822fa481b7070f67b506e9542f7480a3c3e7b0682bcc85d6c91293d82634ca39", "signature": "static NativePipelineResult Pipeline(nint ui, nint id, nint stages, int stageCount, nint jobs, int jobCount, in NativePipelineOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "stages", "type": "nint" }, { "name": "stageCount", "type": "int" }, { "name": "jobs", "type": "nint" }, { "name": "jobCount", "type": "int" }, { "name": "opts", "type": "in NativePipelineOpts" }], "summary": "cui_pipeline_ex" }, { "name": "Problems", "kind": "method", "id": "method|Problems|1|0|NativeProblemsResult|nint ui;nint id;nint diags;int count;in NativeProblemsOpts opts||h117f40fd2f6fef166ca95e09841a9367ad807c7ceb667067317604d7ebaaae04", "signature": "static NativeProblemsResult Problems(nint ui, nint id, nint diags, int count, in NativeProblemsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "diags", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeProblemsOpts" }], "summary": "cui_problems_ex" }, { "name": "FlameSpanRect", "kind": "method", "id": "method|FlameSpanRect|1|0|NativeRect|nint ui;uint flame;in NativeFlameSpan span||h40857a4a550d0690331d16f0f488573f3a49d975293a36369b1bf7c4d088bedc", "signature": "static NativeRect FlameSpanRect(nint ui, uint flame, in NativeFlameSpan span)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "flame", "type": "uint" }, { "name": "span", "type": "in NativeFlameSpan" }], "summary": "Where a span was drawn in the latest frame, in points (zero size when out of view). flame is the graph\u0027s id: cui_last_id(ui) right after the call." }, { "name": "GetRect", "kind": "method", "id": "method|GetRect|1|0|NativeRect|nint ui;uint id||hfffd1bbdffac717a67f0184e99f213c780291e8ec750c8b06b21c9e1589aef60", "signature": "static NativeRect GetRect(nint ui, uint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "uint" }], "summary": "Rectangle of any component or box id from the latest layout." }, { "name": "LastRect", "kind": "method", "id": "method|LastRect|1|0|NativeRect|nint ui||hd3fce3194b991a66cf4c7eebf1b6f7cc7d75664cdc7eb24d369ed74fd947f6f3", "signature": "static NativeRect LastRect(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_last_rect" }, { "name": "RegexTester", "kind": "method", "id": "method|RegexTester|1|0|NativeRegexTesterResult|nint ui;nint id;nint pattern;nuint patternCap;nint text;nuint textCap;in NativeRegexTesterOpts opts||hdd04993c7dbcec6516f8b55b6fd473b17d8db4afcc6584202728b7a7d698e35f", "signature": "static NativeRegexTesterResult RegexTester(nint ui, nint id, nint pattern, nuint patternCap, nint text, nuint textCap, in NativeRegexTesterOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "pattern", "type": "nint" }, { "name": "patternCap", "type": "nuint" }, { "name": "text", "type": "nint" }, { "name": "textCap", "type": "nuint" }, { "name": "opts", "type": "in NativeRegexTesterOpts" }], "summary": "cui_regex_tester_ex" }, { "name": "GlIface", "kind": "method", "id": "method|GlIface|1|0|NativeRendererIface|nint r||h795e70c9de3d729a8866ef635bab08eeb83d4375a5f987962f843af30ddd3e6d", "signature": "static NativeRendererIface GlIface(nint r)", "parameters": [{ "name": "r", "type": "nint" }], "summary": "cui_gl_iface" }, { "name": "SwIface", "kind": "method", "id": "method|SwIface|1|0|NativeRendererIface|nint r||h5464602ec3a20f54b913735aaa2ec3c5b7fe93367a5b041be05e6e377b4daeb0", "signature": "static NativeRendererIface SwIface(nint r)", "parameters": [{ "name": "r", "type": "nint" }], "summary": "Texture callbacks to pass to cui_create / cui_set_renderer." }, { "name": "RequestBar", "kind": "method", "id": "method|RequestBar|1|0|NativeRequestBarResult|nint ui;nint id;ref int method;nint url;nuint cap;in NativeRequestBarOpts opts||he5f65f42fef8d87f2cfdfdf610eeb6fbfcdef6aead78fd4bb2a46e976b4e987b", "signature": "static NativeRequestBarResult RequestBar(nint ui, nint id, ref int method, nint url, nuint cap, in NativeRequestBarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "method", "type": "ref int" }, { "name": "url", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeRequestBarOpts" }], "summary": "cui_request_bar_ex" }, { "name": "SchedulePicker", "kind": "method", "id": "method|SchedulePicker|1|0|NativeScheduleResult|nint ui;nint id;nint cron;nuint cap;in NativeScheduleOpts opts||hdcfde877a035f281ea3fbe1375a4525a8b839e69848900f711b119fb68040038", "signature": "static NativeScheduleResult SchedulePicker(nint ui, nint id, nint cron, nuint cap, in NativeScheduleOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "cron", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeScheduleOpts" }], "summary": "cui_schedule_picker_ex" }, { "name": "StackTrace", "kind": "method", "id": "method|StackTrace|1|0|NativeStackTraceResult|nint ui;nint id;nint frames;int count;in NativeStackTraceOpts opts||h9f73202328ea1e1acd56bdbbb0145c51176116307ced16ae48c761e993751c43", "signature": "static NativeStackTraceResult StackTrace(nint ui, nint id, nint frames, int count, in NativeStackTraceOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "frames", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeStackTraceOpts" }], "summary": "cui_stack_trace_ex" }, { "name": "Terminal", "kind": "method", "id": "method|Terminal|1|0|NativeTerminalResult|nint ui;nint id;ref NativeTerminalBuffer t;in NativeTerminalOpts opts||h542c3a2dd62619cc3ea7fe3ac18031b59cba9cfdc574ed6c5b0dd6b5b0fa11ad", "signature": "static NativeTerminalResult Terminal(nint ui, nint id, ref NativeTerminalBuffer t, in NativeTerminalOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "t", "type": "ref NativeTerminalBuffer" }, { "name": "opts", "type": "in NativeTerminalOpts" }], "summary": "cui_terminal_ex" }, { "name": "TestExplorer", "kind": "method", "id": "method|TestExplorer|1|0|NativeTestExplorerResult|nint ui;nint id;nint items;int count;in NativeTestExplorerOpts opts||h9f9556409348b1762b26e56637cef03ff46bdee0a835046a3c6df37e7afef027", "signature": "static NativeTestExplorerResult TestExplorer(nint ui, nint id, nint items, int count, in NativeTestExplorerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeTestExplorerOpts" }], "summary": "cui_test_explorer_ex" }, { "name": "MeasureText", "kind": "method", "id": "method|MeasureText|1|0|NativeTextMetrics|nint ui;Font font;float size;nint text;int len||hc0767d4a4f1ef0e4b660dee972d158dcdee74407c51c840bb833f43a4857ba5d", "signature": "static NativeTextMetrics MeasureText(nint ui, Font font, float size, nint text, int len)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "font", "type": "Font" }, { "name": "size", "type": "float" }, { "name": "text", "type": "nint" }, { "name": "len", "type": "int" }], "summary": "CUI_TEXT_SHAPING optionally shapes static RTL lines; see docs/integration.md. Container direction sets the paragraph base. Editing and explicit bidi formatting are unsupported; the shaper implements an experimental OpenType subset." }, { "name": "TimeHistogram", "kind": "method", "id": "method|TimeHistogram|1|0|NativeTimeHistogramResult|nint ui;nint id;double start;double bucketSeconds;int buckets;nint series;int seriesCount;ref double selStart;ref double selEnd;in NativeTimeHistogramOpts opts||hfa1f5b5edf695e77944ae27c1a7d2971389e8adf5c2986b00bd0343fa941466f", "signature": "static NativeTimeHistogramResult TimeHistogram(nint ui, nint id, double start, double bucketSeconds, int buckets, nint series, int seriesCount, ref double selStart, ref double selEnd, in NativeTimeHistogramOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "start", "type": "double" }, { "name": "bucketSeconds", "type": "double" }, { "name": "buckets", "type": "int" }, { "name": "series", "type": "nint" }, { "name": "seriesCount", "type": "int" }, { "name": "selStart", "type": "ref double" }, { "name": "selEnd", "type": "ref double" }, { "name": "opts", "type": "in NativeTimeHistogramOpts" }], "summary": "cui_time_histogram_ex" }, { "name": "TimelineEditor", "kind": "method", "id": "method|TimelineEditor|1|0|NativeTimelineEditorResult|nint ui;nint id;nint tracks;int count;ref float time;in NativeTimelineEditorOpts opts||hb2351de7669631a8a067960970da082a535fcae1ee61308afd9d8e8a739fa48a", "signature": "static NativeTimelineEditorResult TimelineEditor(nint ui, nint id, nint tracks, int count, ref float time, in NativeTimelineEditorOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "tracks", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "time", "type": "ref float" }, { "name": "opts", "type": "in NativeTimelineEditorOpts" }], "summary": "time: the playhead in seconds (may be NULL)." }, { "name": "TraceView", "kind": "method", "id": "method|TraceView|1|0|NativeTraceResult|nint ui;nint id;nint tracks;int trackCount;nint spans;int spanCount;ref NativeTraceView view;ref int selected;in NativeTraceOpts opts||h73907b2dca89e0d041b59dfd17100da9cea8e43016feff734544ec106467a465", "signature": "static NativeTraceResult TraceView(nint ui, nint id, nint tracks, int trackCount, nint spans, int spanCount, ref NativeTraceView view, ref int selected, in NativeTraceOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "tracks", "type": "nint" }, { "name": "trackCount", "type": "int" }, { "name": "spans", "type": "nint" }, { "name": "spanCount", "type": "int" }, { "name": "view", "type": "ref NativeTraceView" }, { "name": "selected", "type": "ref int" }, { "name": "opts", "type": "in NativeTraceOpts" }], "summary": "cui_trace_view_ex" }, { "name": "TreeTableEnd", "kind": "method", "id": "method|TreeTableEnd|1|0|NativeTreeTableEvents|nint ui||h4eee805112b7850f0485af91222e57e0a8f2c649236ae73d46f82c976dc53c29", "signature": "static NativeTreeTableEvents TreeTableEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_tree_table_end" }, { "name": "Uptime", "kind": "method", "id": "method|Uptime|1|0|NativeUptimeResult|nint ui;nint id;nint services;int count;in NativeUptimeOpts opts||hc265bb0f05628c0fb22bbf75876b45305005dc6eac18ab16dfb505efd5f0da2f", "signature": "static NativeUptimeResult Uptime(nint ui, nint id, nint services, int count, in NativeUptimeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "services", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeUptimeOpts" }], "summary": "cui_uptime_ex" }, { "name": "AppSize", "kind": "method", "id": "method|AppSize|1|0|NativeVec2|nint app||ha74729608d621b24bc8ffdd406a5b45ae9fa70dab961521f18833480ef16f6bd", "signature": "static NativeVec2 AppSize(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "cui_app_size" }, { "name": "MousePos", "kind": "method", "id": "method|MousePos|1|0|NativeVec2|nint ui||hd2c7d87a1a27b098cfb7f49fa68afdafabac9d9acecf9d42a72652db8ea7f7f3", "signature": "static NativeVec2 MousePos(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_mouse_pos" }, { "name": "ViewportSize", "kind": "method", "id": "method|ViewportSize|1|0|NativeVec2|nint ui||h655b0214496432d350fa7c5aa2dbfca82105134c4828a721a360598172ef33c0", "signature": "static NativeVec2 ViewportSize(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_viewport_size" }, { "name": "Waterfall", "kind": "method", "id": "method|Waterfall|1|0|NativeWaterfallResult|nint ui;nint id;nint requests;int count;in NativeWaterfallOpts opts||h36804244956e9d24e6feeb89cc3e7c1fb527ba4c1aa4e926e783be74cd6cdfce", "signature": "static NativeWaterfallResult Waterfall(nint ui, nint id, nint requests, int count, in NativeWaterfallOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "requests", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeWaterfallOpts" }], "summary": "cui_waterfall_ex" }, { "name": "GetThemeMode", "kind": "method", "id": "method|GetThemeMode|1|0|Theme|nint ui||hd5dd420a6020ca9e2b3b03f97b96bc85c5a27efd6ee6df0eae33870895d7a9d3", "signature": "static Theme GetThemeMode(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_get_theme_mode" }, { "name": "AccordionBegin", "kind": "method", "id": "method|AccordionBegin|1|0|byte|nint ui;nint title;nint open||h59a40c85c4909ae585d78fc0410d19198504d98fdc3315c31c6b29cbd5093b22", "signature": "static byte AccordionBegin(nint ui, nint title, nint open)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "open", "type": "nint" }], "summary": "Accordion / disclosure. Content animates its height." }, { "name": "Alert", "kind": "method", "id": "method|Alert|1|0|byte|nint ui;nint title;in NativeAlertOpts opts||h4a50e5754338f20bc39ed71731aa6b5f2a164fde306492214009bd2a0a9b6dcc", "signature": "static byte Alert(nint ui, nint title, in NativeAlertOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "opts", "type": "in NativeAlertOpts" }], "summary": "Inline alert. Returns false once dismissed (when dismissible)." }, { "name": "AppFileDialog", "kind": "method", "id": "method|AppFileDialog|1|0|byte|nint app;in NativeFileDialogOpts opts;nint out;nuint cap||h0e53b3363f81f00bce2f7dad5b3517ceb5c80e01cf9ec62825cfa5a6a93295ad", "signature": "static byte AppFileDialog(nint app, in NativeFileDialogOpts opts, nint @out, nuint cap)", "parameters": [{ "name": "app", "type": "nint" }, { "name": "opts", "type": "in NativeFileDialogOpts" }, { "name": "out", "type": "nint" }, { "name": "cap", "type": "nuint" }], "summary": "cui_app_file_dialog" }, { "name": "AppFrame", "kind": "method", "id": "method|AppFrame|1|0|byte|nint app||he4db78bd95169682f895be0dff74b53e3973f2db55ce753f0d144b3beb0db873", "signature": "static byte AppFrame(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "Presents the previous frame, waits for input or animation, then begins a new frame. Returns false once the window was closed or cui_app_quit was called." }, { "name": "AppIsSoftware", "kind": "method", "id": "method|AppIsSoftware|1|0|byte|nint app||h7cfe758e335174ee97ad36da7db9f00b8a23df3abdef176d7ee242cf54f423b0", "signature": "static byte AppIsSoftware(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "True when the software renderer is drawing (no usable OpenGL, or it was asked for)." }, { "name": "AppOpenUrl", "kind": "method", "id": "method|AppOpenUrl|1|0|byte|nint url||ha4a1975a2f8bd8f16549e1c2e2d0fdb3377790f3b33115a0de136383555329f4", "signature": "static byte AppOpenUrl(nint url)", "parameters": [{ "name": "url", "type": "nint" }], "summary": "Opens a URL or file with the system\u0027s default handler." }, { "name": "AppScreenshot", "kind": "method", "id": "method|AppScreenshot|1|0|byte|nint app;nint rgba;int width;int height||h3c30ad02d7c81cec1318052acb1ae7dffc5d7b4922a5a5b1a1e61dc3ca38b950", "signature": "static byte AppScreenshot(nint app, nint rgba, int width, int height)", "parameters": [{ "name": "app", "type": "nint" }, { "name": "rgba", "type": "nint" }, { "name": "width", "type": "int" }, { "name": "height", "type": "int" }], "summary": "Renders the current UI into an RGBA buffer (any backend). Handy for screenshots and tests. Returns false when the buffer is too small." }, { "name": "Banner", "kind": "method", "id": "method|Banner|1|0|byte|nint ui;nint text;nint open;in NativeBannerOpts opts||hb5ad03ccbefd63827bc917d6263f04db05dcdf2dbb1c4571eb9d4f94f5388d42", "signature": "static byte Banner(nint ui, nint text, nint open, in NativeBannerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "opts", "type": "in NativeBannerOpts" }], "summary": "cui_banner_ex" }, { "name": "Button", "kind": "method", "id": "method|Button|1|0|byte|nint ui;nint label;in NativeButtonOpts opts||hbf77c65cd58bceccdde70f6c89f7363b8da26191c316501dbe5bcdd8d43ac2b6", "signature": "static byte Button(nint ui, nint label, in NativeButtonOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeButtonOpts" }], "summary": "cui_button_ex" }, { "name": "Calendar", "kind": "method", "id": "method|Calendar|1|0|byte|nint ui;nint id;ref NativeDate value||h95efe1a12806e2a8561314e3a70abd0ff38a240e350c2f061307438ff122ab4a", "signature": "static byte Calendar(nint ui, nint id, ref NativeDate value)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref NativeDate" }], "summary": "cui_calendar" }, { "name": "CardBegin", "kind": "method", "id": "method|CardBegin|1|0|byte|nint ui;in NativeCardOpts opts||h8eb89566776b1709be89f536ce55eef794eacc637d7c3737090c86333c2ae707", "signature": "static byte CardBegin(nint ui, in NativeCardOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "opts", "type": "in NativeCardOpts" }], "summary": "returns true when clicked (hoverable)" }, { "name": "CarouselBegin", "kind": "method", "id": "method|CarouselBegin|1|0|byte|nint ui;nint id;int count;ref int index;in NativeCarouselOpts opts||hb18645d7f90ffa240dcb88b8de82f4d32e264fa620a19d90c2fd6da2e5cee0fd", "signature": "static byte CarouselBegin(nint ui, nint id, int count, ref int index, in NativeCarouselOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "opts", "type": "in NativeCarouselOpts" }], "summary": "cui_carousel_begin" }, { "name": "Checkbox", "kind": "method", "id": "method|Checkbox|1|0|byte|nint ui;nint label;nint value;in NativeCheckOpts opts||hff3bc3ffdd5a33d31ff9b97fc872eb4f252bd3b9b1aace78eb72c45dd110e46e", "signature": "static byte Checkbox(nint ui, nint label, nint value, in NativeCheckOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "nint" }, { "name": "opts", "type": "in NativeCheckOpts" }], "summary": "cui_checkbox_ex" }, { "name": "Chip", "kind": "method", "id": "method|Chip|1|0|byte|nint ui;nint label;nint selected;in NativeChipOpts opts||head6d3534ffead4ac5649c1e26da63fd27441e52ad599488313efd3171e7911a", "signature": "static byte Chip(nint ui, nint label, nint selected, in NativeChipOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "selected", "type": "nint" }, { "name": "opts", "type": "in NativeChipOpts" }], "summary": "cui_chip_ex" }, { "name": "Citation", "kind": "method", "id": "method|Citation|1|0|byte|nint ui;int number;in NativeSource source||hffed798222a8e812b80fd9a4f8de893f54f9aa2a9ba39b646c7fc4c36d97028f", "signature": "static byte Citation(nint ui, int number, in NativeSource source)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "number", "type": "int" }, { "name": "source", "type": "in NativeSource" }], "summary": "cui_citation" }, { "name": "ColorPicker", "kind": "method", "id": "method|ColorPicker|1|0|byte|nint ui;nint id;ref NativeColor value||h989743a93cec76d361912fe0c33e29894c7ec163dd928db2f27ddbdb49ad5854", "signature": "static byte ColorPicker(nint ui, nint id, ref NativeColor value)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref NativeColor" }], "summary": "cui_color_picker" }, { "name": "ConfirmButton", "kind": "method", "id": "method|ConfirmButton|1|0|byte|nint ui;nint label;in NativeConfirmOpts opts||h8f8604ad0f24f547d8d6d8e28fd22bc47b268f0f807bac020f240abd4080dcab", "signature": "static byte ConfirmButton(nint ui, nint label, in NativeConfirmOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeConfirmOpts" }], "summary": "cui_confirm_button_ex" }, { "name": "ConfirmPopover", "kind": "method", "id": "method|ConfirmPopover|1|0|byte|nint ui;nint id;in NativeConfirmPopoverOpts opts||hfd5da6244ccd11ef60923dd471ea00e6d60fd8d3c20af199c7ec8b39412c7e29", "signature": "static byte ConfirmPopover(nint ui, nint id, in NativeConfirmPopoverOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeConfirmPopoverOpts" }], "summary": "cui_confirm_popover_ex" }, { "name": "ContextMenuBegin", "kind": "method", "id": "method|ContextMenuBegin|1|0|byte|nint ui;nint id||hbf71c286d5bec94ffe1f78068f50bcf6f4a63edd23157d4b17db003f83e58a19", "signature": "static byte ContextMenuBegin(nint ui, nint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }], "summary": "Context menu: opens on right click over the previous component." }, { "name": "ControlTile", "kind": "method", "id": "method|ControlTile|1|0|byte|nint ui;nint label;nint on;in NativeTileOpts opts||he10e62b5f2afeb2033d2a9ebe247f8cd89cb234fb240344bc1e9c9c4c5e11100", "signature": "static byte ControlTile(nint ui, nint label, nint on, in NativeTileOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "on", "type": "nint" }, { "name": "opts", "type": "in NativeTileOpts" }], "summary": "cui_control_tile_ex" }, { "name": "CopyButton", "kind": "method", "id": "method|CopyButton|1|0|byte|nint ui;nint id;nint text||h48aef3359811011144831ea4ef53df4f260c450ae1e3945f43837aaebb616498", "signature": "static byte CopyButton(nint ui, nint id, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "Icon button that copies text to the clipboard and confirms with a check. Keyboard focus stays on the button when the check appears or disappears." }, { "name": "CronNext", "kind": "method", "id": "method|CronNext|1|0|byte|nint cron;long after;int utcOffset;ref long next||h56b578400ea3104a21e21cd8839e108a8122060418bfd3101cd73d569ce1a8d7", "signature": "static byte CronNext(nint cron, long after, int utcOffset, ref long next)", "parameters": [{ "name": "cron", "type": "nint" }, { "name": "after", "type": "long" }, { "name": "utcOffset", "type": "int" }, { "name": "next", "type": "ref long" }], "summary": "The first time after \u0060after\u0060 (Unix seconds) the expression matches, in the time zone that is utc_offset minutes east of UTC. Supports *, lists, ranges, steps and the names JAN-DEC and SUN-SAT. False when it is invalid or never runs in the next five years." }, { "name": "Cropper", "kind": "method", "id": "method|Cropper|1|0|byte|nint ui;nint id;nuint tex;int imageW;int imageH;ref NativeRect crop;in NativeCropperOpts opts||h5fd51a4a0b5e8135c4015f9e0676d9658dfd816f02d1edc2d56d69a43eb847ef", "signature": "static byte Cropper(nint ui, nint id, nuint tex, int imageW, int imageH, ref NativeRect crop, in NativeCropperOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "tex", "type": "nuint" }, { "name": "imageW", "type": "int" }, { "name": "imageH", "type": "int" }, { "name": "crop", "type": "ref NativeRect" }, { "name": "opts", "type": "in NativeCropperOpts" }], "summary": "Returns true when the crop changed." }, { "name": "DataGridBegin", "kind": "method", "id": "method|DataGridBegin|1|0|byte|nint ui;nint id;nint columns;int columnCount;int rowCount;ref int first;ref int last;in NativeGridOpts opts||h8592e38778819eb9396c680798d4a23f61ab9bb95e979589695c061d8a2c9bc3", "signature": "static byte DataGridBegin(nint ui, nint id, nint columns, int columnCount, int rowCount, ref int first, ref int last, in NativeGridOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "columns", "type": "nint" }, { "name": "columnCount", "type": "int" }, { "name": "rowCount", "type": "int" }, { "name": "first", "type": "ref int" }, { "name": "last", "type": "ref int" }, { "name": "opts", "type": "in NativeGridOpts" }], "summary": "cui_data_grid_begin_ex" }, { "name": "DataGridCellEdit", "kind": "method", "id": "method|DataGridCellEdit|1|0|byte|nint ui;nint buf;nuint cap||hd29cacae4bc510ac2073f2ec3dafbd6d3eedeecb1d2f8f9b273a1c95a0a6b969", "signature": "static byte DataGridCellEdit(nint ui, nint buf, nuint cap)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }], "summary": "Editable text cell: double click (or Enter on the cursor row) to edit, Enter or clicking away commits, Esc reverts. True when committed." }, { "name": "DataGridEdit", "kind": "method", "id": "method|DataGridEdit|1|0|byte|nint ui;nint buf;nuint cap||hb51d44fa028a4498c2a366835b6380815a5dcf187320d5c580b357792b24f825", "signature": "static byte DataGridEdit(nint ui, nint buf, nuint cap)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }], "summary": "The same editable text, inside the current cell (after an avatar, say)." }, { "name": "DataGridRow", "kind": "method", "id": "method|DataGridRow|1|0|byte|nint ui;int row||h17f96bb5d180e97edcb36108118e13a70709ad758013a1a088b598046886a76a", "signature": "static byte DataGridRow(nint ui, int row)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "row", "type": "int" }], "summary": "true when the row was clicked" }, { "name": "DatePicker", "kind": "method", "id": "method|DatePicker|1|0|byte|nint ui;nint id;ref NativeDate value;in NativeDateOpts opts||hd9d76b72b2af7c46bcbc08a04498bedac51208539abc4f8f01f7f4d614059494", "signature": "static byte DatePicker(nint ui, nint id, ref NativeDate value, in NativeDateOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref NativeDate" }, { "name": "opts", "type": "in NativeDateOpts" }], "summary": "cui_date_picker_ex" }, { "name": "DateRangePicker", "kind": "method", "id": "method|DateRangePicker|1|0|byte|nint ui;nint id;ref NativeDateRange range;in NativeDateRangeOpts opts||h92533d23ef098f513ceea3b01553a6a49f16335ddfdb3eadc4ec0264e939998f", "signature": "static byte DateRangePicker(nint ui, nint id, ref NativeDateRange range, in NativeDateRangeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "range", "type": "ref NativeDateRange" }, { "name": "opts", "type": "in NativeDateRangeOpts" }], "summary": "cui_date_range_picker_ex" }, { "name": "DialogBegin", "kind": "method", "id": "method|DialogBegin|1|0|byte|nint ui;nint title;nint open;in NativeDialogOpts opts||hd616f3e3c8148d7400e20e570bff72cb6c0caf2d7b9fec5daa919f5f471430f2", "signature": "static byte DialogBegin(nint ui, nint title, nint open, in NativeDialogOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "opts", "type": "in NativeDialogOpts" }], "summary": "Modal dialog. Shown while *open is true; closing sets it to false." }, { "name": "DiffWords", "kind": "method", "id": "method|DiffWords|1|0|byte|nint oldLine;int oldLen;nint newLine;int newLen;nint oldRanges;ref int oldCount;nint newRanges;ref int newCount;int cap||hcda9f2ec29f0648dbedd75e9fd2669ff2851a76de74593a5fdcfaba7e38ffbd9", "signature": "static byte DiffWords(nint oldLine, int oldLen, nint newLine, int newLen, nint oldRanges, ref int oldCount, nint newRanges, ref int newCount, int cap)", "parameters": [{ "name": "oldLine", "type": "nint" }, { "name": "oldLen", "type": "int" }, { "name": "newLine", "type": "nint" }, { "name": "newLen", "type": "int" }, { "name": "oldRanges", "type": "nint" }, { "name": "oldCount", "type": "ref int" }, { "name": "newRanges", "type": "nint" }, { "name": "newCount", "type": "ref int" }, { "name": "cap", "type": "int" }], "summary": "cui_diff_words" }, { "name": "DockItem", "kind": "method", "id": "method|DockItem|1|0|byte|nint ui;nint icon;nint label;in NativeDockItemOpts opts||hc98fe4669f05c98a74eb98bebd4a9d1a85e10093aaf887a346a97ed55781ed98", "signature": "static byte DockItem(nint ui, nint icon, nint label, in NativeDockItemOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "icon", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeDockItemOpts" }], "summary": "cui_dock_item_ex" }, { "name": "DockLoad", "kind": "method", "id": "method|DockLoad|1|0|byte|nint ui;nint id;nint text||h621beeb19268aecd384a174a3f46f3fe2f0067bb2eeedd194a6bd4b1e781efaa", "signature": "static byte DockLoad(nint ui, nint id, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "cui_dock_load" }, { "name": "DockPanelBegin", "kind": "method", "id": "method|DockPanelBegin|1|0|byte|nint ui;nint title;nint open;in NativeDockPanelOpts opts||h2744ffb49bc263bc86741c7e6c0e58f096dc2dc91857010058a19ee69cb87dd2", "signature": "static byte DockPanelBegin(nint ui, nint title, nint open, in NativeDockPanelOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "opts", "type": "in NativeDockPanelOpts" }], "summary": "cui_dock_panel_begin_ex" }, { "name": "EmojiFontLoadFile", "kind": "method", "id": "method|EmojiFontLoadFile|1|0|byte|nint ui;nint path||h1fa3b59d3fb51cc55806ab6720350790ed1dea427bd97ef45db889a9e9068855", "signature": "static byte EmojiFontLoadFile(nint ui, nint path)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "path", "type": "nint" }], "summary": "Color emoji come from an emoji font: the system\u0027s (cui_emoji_font_load_system, which the picker calls by itself when nothing is loaded) or one the app ships. Bitmap color fonts (sbix as on macOS, CBDT as on Linux and Android) and layered ones (COLR version 0, as on Windows) are read, as is a plain outline font for one-color emoji. Sequences with skin tones, joined people and flags are looked up through the font\u0027s ligatures. Big fonts are read from the file as needed rather than loaded whole. Drawn emoji are kept in one texture and reused." }, { "name": "EmojiFontLoadMemory", "kind": "method", "id": "method|EmojiFontLoadMemory|1|0|byte|nint ui;nint data;nuint size;byte copy||h58c96f83873fb0393db7455ce5c340f9d15f089541c178d904efa392b2dfc00c", "signature": "static byte EmojiFontLoadMemory(nint ui, nint data, nuint size, byte copy)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "data", "type": "nint" }, { "name": "size", "type": "nuint" }, { "name": "copy", "type": "byte" }], "summary": "cui_emoji_font_load_memory" }, { "name": "EmojiFontLoadSystem", "kind": "method", "id": "method|EmojiFontLoadSystem|1|0|byte|nint ui||hadc7b19a2a9a2e65695fc9817a04d4a731c2b5afaf61701ae690292273e13310", "signature": "static byte EmojiFontLoadSystem(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_emoji_font_load_system" }, { "name": "EmojiSupported", "kind": "method", "id": "method|EmojiSupported|1|0|byte|nint ui;nint utf8;int len||haa623954e33273c01efadb0b164b0325a036fa5aac7ebf21338630f47cc6f329", "signature": "static byte EmojiSupported(nint ui, nint utf8, int len)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "utf8", "type": "nint" }, { "name": "len", "type": "int" }], "summary": "the font (or platform) can draw it" }, { "name": "EmptyState", "kind": "method", "id": "method|EmptyState|1|0|byte|nint ui;nint title;in NativeEmptyOpts opts||h941a84eed00b9099f9a69276a71aef1c42cd24b1ed9125fcce7b3ed9cc5d56a3", "signature": "static byte EmptyState(nint ui, nint title, in NativeEmptyOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "opts", "type": "in NativeEmptyOpts" }], "summary": "Empty state. Returns true when its action button is clicked." }, { "name": "ExpandableCardBegin", "kind": "method", "id": "method|ExpandableCardBegin|1|0|byte|nint ui;nint title;nint open;in NativeExpandableCardOpts opts||hc4f35bb8b4e0a5b5c51ced2e3eb8913efcb5526a0978d715299a9d3e6425d85a", "signature": "static byte ExpandableCardBegin(nint ui, nint title, nint open, in NativeExpandableCardOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "opts", "type": "in NativeExpandableCardOpts" }], "summary": "cui_expandable_card_begin" }, { "name": "ExpandableText", "kind": "method", "id": "method|ExpandableText|1|0|byte|nint ui;nint id;nint text;in NativeExpandableTextOpts opts||he923421a6ed1305bf9a9239a09a90cb844e441a563ed0b79c1088be082b68db2", "signature": "static byte ExpandableText(nint ui, nint id, nint text, in NativeExpandableTextOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeExpandableTextOpts" }], "summary": "cui_expandable_text_ex" }, { "name": "Fader", "kind": "method", "id": "method|Fader|1|0|byte|nint ui;nint id;ref float value;float min;float max;in NativeFaderOpts opts||h6ed38dfc9564ca40874ecea6cd058d18d45a5b3df90662647f6d22fa1b43a8e9", "signature": "static byte Fader(nint ui, nint id, ref float value, float min, float max, in NativeFaderOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "opts", "type": "in NativeFaderOpts" }], "summary": "cui_fader_ex" }, { "name": "FileDragActive", "kind": "method", "id": "method|FileDragActive|1|0|byte|nint ui||h06689d0f1f6ad622bd4ede35fde7d9e4b27bf818d7051e398763c4d0d6c69752", "signature": "static byte FileDragActive(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "files are being dragged over the window" }, { "name": "FilePicker", "kind": "method", "id": "method|FilePicker|1|0|byte|nint ui;nint id;nint open;nint out;nuint outCap;in NativeFilePickerOpts opts||hce1d0bb445dc444bcb9f6dbdd7fe0abd2e09e043e7ff5498e06a7087f0238d63", "signature": "static byte FilePicker(nint ui, nint id, nint open, nint @out, nuint outCap, in NativeFilePickerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "out", "type": "nint" }, { "name": "outCap", "type": "nuint" }, { "name": "opts", "type": "in NativeFilePickerOpts" }], "summary": "True once, with the chosen path in out, when the dialog is confirmed; *open turns false then, or on Cancel and Esc." }, { "name": "FilterBar", "kind": "method", "id": "method|FilterBar|1|0|byte|nint ui;nint id;nint fields;int count;ref uint selected;nint search;nuint searchCap||h439da7369bd0a7c312d2f90525f951269174bf9f93f1ea661122ad8a8220c491", "signature": "static byte FilterBar(nint ui, nint id, nint fields, int count, ref uint selected, nint search, nuint searchCap)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "fields", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "selected", "type": "ref uint" }, { "name": "search", "type": "nint" }, { "name": "searchCap", "type": "nuint" }], "summary": "cui_filter_bar" }, { "name": "GlIsSoftware", "kind": "method", "id": "method|GlIsSoftware|1|0|byte|nint r||h6f0d04c2dca4916b21cc9dbb2f1f9a0b5ae9561aa7f132235ee5f35dc9629684", "signature": "static byte GlIsSoftware(nint r)", "parameters": [{ "name": "r", "type": "nint" }], "summary": "True when the OpenGL driver draws on the CPU (Mesa llvmpipe, SwiftShader and the like, as in virtual machines and remote sessions). CUI\u0027s own software renderer, which redraws only what changed, is then much cheaper." }, { "name": "HistogramSlider", "kind": "method", "id": "method|HistogramSlider|1|0|byte|nint ui;nint label;nint bins;int binCount;ref float lo;ref float hi;float min;float max;in NativeHistogramOpts opts||h76a57b17c94377856e726b8b08e866628238cda2c53b31a54f9aef2d181fa40e", "signature": "static byte HistogramSlider(nint ui, nint label, nint bins, int binCount, ref float lo, ref float hi, float min, float max, in NativeHistogramOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "bins", "type": "nint" }, { "name": "binCount", "type": "int" }, { "name": "lo", "type": "ref float" }, { "name": "hi", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "opts", "type": "in NativeHistogramOpts" }], "summary": "cui_histogram_slider_ex" }, { "name": "HoldButton", "kind": "method", "id": "method|HoldButton|1|0|byte|nint ui;nint label;in NativeHoldOpts opts||h1870c44b154f6e64561e0bc2872a662ce1c6077c5faa415f3313612b05e2df33", "signature": "static byte HoldButton(nint ui, nint label, in NativeHoldOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeHoldOpts" }], "summary": "cui_hold_button_ex" }, { "name": "HoverCardBegin", "kind": "method", "id": "method|HoverCardBegin|1|0|byte|nint ui;nint id;in NativeHoverCardOpts opts||h2acd4cd766bdafd791de91155afcbe9fcb949f5209b01f218aa8bb2ab0561e1d", "signature": "static byte HoverCardBegin(nint ui, nint id, in NativeHoverCardOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeHoverCardOpts" }], "summary": "cui_hover_card_begin" }, { "name": "IconButton", "kind": "method", "id": "method|IconButton|1|0|byte|nint ui;nint icon;in NativeButtonOpts opts||h2d23f5f0de85e2fcf802f1b534bb88b5c109da6930af15f92ad95402c5f2af72", "signature": "static byte IconButton(nint ui, nint icon, in NativeButtonOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "icon", "type": "nint" }, { "name": "opts", "type": "in NativeButtonOpts" }], "summary": "Square/round button with only an icon. Give it a tooltip so it has a name." }, { "name": "ImageCompare", "kind": "method", "id": "method|ImageCompare|1|0|byte|nint ui;nint id;nuint before;nuint after;ref float pos;in NativeCompareOpts opts||hc06a5f26d4dc2f33c6e9de17a4f5d692a8a125973f156fd9d4fa451a2bd5285b", "signature": "static byte ImageCompare(nint ui, nint id, nuint before, nuint after, ref float pos, in NativeCompareOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "before", "type": "nuint" }, { "name": "after", "type": "nuint" }, { "name": "pos", "type": "ref float" }, { "name": "opts", "type": "in NativeCompareOpts" }], "summary": "cui_image_compare_ex" }, { "name": "ImageViewer", "kind": "method", "id": "method|ImageViewer|1|0|byte|nint ui;nint id;nuint tex;int imageW;int imageH;ref NativeImageView view;in NativeImageViewerOpts opts||h0cf78963603044f43e01c356a5265e35ab70d8179f729c4a4dc7c8e5f69cd296", "signature": "static byte ImageViewer(nint ui, nint id, nuint tex, int imageW, int imageH, ref NativeImageView view, in NativeImageViewerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "tex", "type": "nuint" }, { "name": "imageW", "type": "int" }, { "name": "imageH", "type": "int" }, { "name": "view", "type": "ref NativeImageView" }, { "name": "opts", "type": "in NativeImageViewerOpts" }], "summary": "Returns true when the view changed." }, { "name": "InspectorBegin", "kind": "method", "id": "method|InspectorBegin|1|0|byte|nint ui;nint id;in NativeInspectorOpts opts||haf0c110106f31d9e3d2a18a9340f0a4f30ab977c0436d21cadd58b7d87812a8d", "signature": "static byte InspectorBegin(nint ui, nint id, in NativeInspectorOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeInspectorOpts" }], "summary": "cui_inspector_begin_ex" }, { "name": "InspectorGroup", "kind": "method", "id": "method|InspectorGroup|1|0|byte|nint ui;nint title;nint open||h497e9d988565ae5ca3b5c08f689dd3254225d3a3d9dc0ecf312ef898a908c201", "signature": "static byte InspectorGroup(nint ui, nint title, nint open)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "open", "type": "nint" }], "summary": "A folding group header. Build its rows only when this returns true (it stays true while the group animates closed). open may be NULL for a plain section that does not fold." }, { "name": "IsDisabled", "kind": "method", "id": "method|IsDisabled|1|0|byte|nint ui||h0f0e74072e7126efe97cf7c822e7ed9b4fd1b9ba5c5e78d6566ffb90b9ad1596", "signature": "static byte IsDisabled(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_is_disabled" }, { "name": "JsonView", "kind": "method", "id": "method|JsonView|1|0|byte|nint ui;nint id;nint json;in NativeJsonOpts opts||hdb710bc8e1b81b610086d6b063db3f139a632b10befa8e75576ebfdb26aed829", "signature": "static byte JsonView(nint ui, nint id, nint json, in NativeJsonOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "json", "type": "nint" }, { "name": "opts", "type": "in NativeJsonOpts" }], "summary": "cui_json_view_ex" }, { "name": "KanbanCardBegin", "kind": "method", "id": "method|KanbanCardBegin|1|0|byte|nint ui;int cardId||hb10022a44f071459906d2056eaf86e971ba0fd1d1e8298e8e3512e2c40305731", "signature": "static byte KanbanCardBegin(nint ui, int cardId)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "cardId", "type": "int" }], "summary": "true when clicked" }, { "name": "KanbanColumnBegin", "kind": "method", "id": "method|KanbanColumnBegin|1|0|byte|nint ui;nint title;int cardCount;in NativeKanbanColumnOpts opts||h31707cec7d02a90fb9ca22b004120125fc7c64fe847a796ff10f143a5970e8d0", "signature": "static byte KanbanColumnBegin(nint ui, nint title, int cardCount, in NativeKanbanColumnOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "cardCount", "type": "int" }, { "name": "opts", "type": "in NativeKanbanColumnOpts" }], "summary": "true: \u0022\u002B\u0022 clicked" }, { "name": "KanbanEnd", "kind": "method", "id": "method|KanbanEnd|1|0|byte|nint ui;ref NativeKanbanMove move||h53bbfa00ebd29bb312c1e760325bdacf4768ff044b242e3f05cb6702bfc46d51", "signature": "static byte KanbanEnd(nint ui, ref NativeKanbanMove move)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "move", "type": "ref NativeKanbanMove" }], "summary": "cui_kanban_end" }, { "name": "KeyDown", "kind": "method", "id": "method|KeyDown|1|0|byte|nint ui;Key key||h6d4445c5b57a82d91cda591d976850ee3d0eb9a02ac7a9a0c7f8fadba8cab1cb", "signature": "static byte KeyDown(nint ui, Key key)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "key", "type": "Key" }], "summary": "cui_key_down" }, { "name": "KeyPressed", "kind": "method", "id": "method|KeyPressed|1|0|byte|nint ui;Key key||h4b8d48010a1a9850c0768747a30fbb0ec8ff46600a7bfbab7928db9651a84957", "signature": "static byte KeyPressed(nint ui, Key key)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "key", "type": "Key" }], "summary": "Queries, useful for app level shortcuts." }, { "name": "Knob", "kind": "method", "id": "method|Knob|1|0|byte|nint ui;nint id;ref float value;float min;float max;in NativeKnobOpts opts||h9ee3cc21d4102e0742c3a600bae25092222ba9a1071838d49a0ca2698c8c7920", "signature": "static byte Knob(nint ui, nint id, ref float value, float min, float max, in NativeKnobOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "opts", "type": "in NativeKnobOpts" }], "summary": "cui_knob_ex" }, { "name": "KvEditor", "kind": "method", "id": "method|KvEditor|1|0|byte|nint ui;nint id;nint pairs;ref int count;int capacity;in NativeKvEditorOpts opts||hb2614aaec9d451a0e5bdf229887d837d6bb7b2c23a13770a65a365eb3466709e", "signature": "static byte KvEditor(nint ui, nint id, nint pairs, ref int count, int capacity, in NativeKvEditorOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "pairs", "type": "nint" }, { "name": "count", "type": "ref int" }, { "name": "capacity", "type": "int" }, { "name": "opts", "type": "in NativeKvEditorOpts" }], "summary": "cui_kv_editor_ex" }, { "name": "LastHovered", "kind": "method", "id": "method|LastHovered|1|0|byte|nint ui||h41176bf534c908b00ace79674d97cffea1848ac349fe99eb9b1adf5c37669bb4", "signature": "static byte LastHovered(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_last_hovered" }, { "name": "LevelMeter", "kind": "method", "id": "method|LevelMeter|1|0|byte|nint ui;nint id;nint levels;int channels;in NativeLevelMeterOpts opts||hfc5e9178ec7f3614a5efade5d6dcdbf414075f81c96b3f6cc266f87b30516a1c", "signature": "static byte LevelMeter(nint ui, nint id, nint levels, int channels, in NativeLevelMeterOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "levels", "type": "nint" }, { "name": "channels", "type": "int" }, { "name": "opts", "type": "in NativeLevelMeterOpts" }], "summary": "Returns true when the clip light was clicked to clear it." }, { "name": "Link", "kind": "method", "id": "method|Link|1|0|byte|nint ui;nint text||h8460add3477f455cc2ee1c287e47ae31f0d673f5f961821dfdc3cd857ceadb3d", "signature": "static byte Link(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "cui_link" }, { "name": "ListItem", "kind": "method", "id": "method|ListItem|1|0|byte|nint ui;nint title;in NativeListItemOpts opts||h1bdd6b290a5d46e3fbc94460f2cf1e811f7ab4fb32aa4edd105643c1387b6160", "signature": "static byte ListItem(nint ui, nint title, in NativeListItemOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "opts", "type": "in NativeListItemOpts" }], "summary": "cui_list_item_ex" }, { "name": "MarkdownApplyTask", "kind": "method", "id": "method|MarkdownApplyTask|1|0|byte|nint text;in NativeMarkdownResult result||h65c0748daeaff3d922677db26ff783f06848918f3064226056c488ad839a3f6e", "signature": "static byte MarkdownApplyTask(nint text, in NativeMarkdownResult result)", "parameters": [{ "name": "text", "type": "nint" }, { "name": "result", "type": "in NativeMarkdownResult" }], "summary": "Writes a reported task toggle into text (\u0027x\u0027 or \u0027 \u0027 between the brackets). Returns false when nothing was toggled or text no longer has a box there." }, { "name": "MenuBarMenuBegin", "kind": "method", "id": "method|MenuBarMenuBegin|1|0|byte|nint ui;nint label;in NativeMenuBarMenuOpts opts||hdce92dc64169719fd1caac182b3b3f1c1e69c519f083e93adad353ffa0087006", "signature": "static byte MenuBarMenuBegin(nint ui, nint label, in NativeMenuBarMenuOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeMenuBarMenuOpts" }], "summary": "cui_menu_bar_menu_begin" }, { "name": "MenuBegin", "kind": "method", "id": "method|MenuBegin|1|0|byte|nint ui;nint label;in NativeMenuOpts opts||h0c701f73327f9a30be5cfb7c34816c1cdc4252ab5276470c412478196efce7ef", "signature": "static byte MenuBegin(nint ui, nint label, in NativeMenuOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeMenuOpts" }], "summary": "cui_menu_begin" }, { "name": "MenuItem", "kind": "method", "id": "method|MenuItem|1|0|byte|nint ui;nint label;in NativeMenuItemOpts opts||haf30308e41d50cd536bc2cf08e9736e8d2b49efc929acc8bca93a84950068f4d", "signature": "static byte MenuItem(nint ui, nint label, in NativeMenuItemOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeMenuItemOpts" }], "summary": "cui_menu_item_ex" }, { "name": "ModelPicker", "kind": "method", "id": "method|ModelPicker|1|0|byte|nint ui;nint id;nint models;int count;ref int selected;in NativeModelPickerOpts opts||hc29cc09c2e34215fa836775b784ea5bfb4f3bba7656e378d58ce8f73bff1c6fd", "signature": "static byte ModelPicker(nint ui, nint id, nint models, int count, ref int selected, in NativeModelPickerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "models", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "selected", "type": "ref int" }, { "name": "opts", "type": "in NativeModelPickerOpts" }], "summary": "cui_model_picker_ex" }, { "name": "MoneyInput", "kind": "method", "id": "method|MoneyInput|1|0|byte|nint ui;nint id;ref double value;in NativeMoneyOpts opts||h3ff760afb37f0e62af2cb05228c843fa66a95eada822c1352ada152ad8c575eb", "signature": "static byte MoneyInput(nint ui, nint id, ref double value, in NativeMoneyOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref double" }, { "name": "opts", "type": "in NativeMoneyOpts" }], "summary": "cui_money_input_ex" }, { "name": "MouseClicked", "kind": "method", "id": "method|MouseClicked|1|0|byte|nint ui;MouseButton b||h15a448a8dcf4692f7df7c145b73d244866d5e5a4f735572ef4999a267379b68f", "signature": "static byte MouseClicked(nint ui, MouseButton b)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "b", "type": "MouseButton" }], "summary": "cui_mouse_clicked" }, { "name": "MouseDown", "kind": "method", "id": "method|MouseDown|1|0|byte|nint ui;MouseButton b||hff24d7015a9ce35f643c5082bcb54be0985bb3f9f3dc211436da7b65f16590a5", "signature": "static byte MouseDown(nint ui, MouseButton b)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "b", "type": "MouseButton" }], "summary": "cui_mouse_down" }, { "name": "MultiSelect", "kind": "method", "id": "method|MultiSelect|1|0|byte|nint ui;nint id;nint items;int count;nint selected;in NativeMultiSelectOpts opts||h5c9472439fb3846e3da639dcd77abda0ffc6983f39a8cd8f69537665395592e6", "signature": "static byte MultiSelect(nint ui, nint id, nint items, int count, nint selected, in NativeMultiSelectOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "selected", "type": "nint" }, { "name": "opts", "type": "in NativeMultiSelectOpts" }], "summary": "cui_multi_select_ex" }, { "name": "NavItem", "kind": "method", "id": "method|NavItem|1|0|byte|nint ui;nint label;in NativeNavOpts opts||h12f929fa43eef8aaeeb499331c925a0a27b6aa2101c772e1fd311a90aa4ce8f5", "signature": "static byte NavItem(nint ui, nint label, in NativeNavOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeNavOpts" }], "summary": "cui_nav_item_ex" }, { "name": "NeedsRedraw", "kind": "method", "id": "method|NeedsRedraw|1|0|byte|nint ui||h7b43442d721907c639ef1f2c082c75d198b178de187caf3ecd27a9945fc8ea8e", "signature": "static byte NeedsRedraw(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "True while something animates or input is still settling. Event driven apps can sleep until the next input event when this is false." }, { "name": "NodeBegin", "kind": "method", "id": "method|NodeBegin|1|0|byte|nint ui;int nodeId;ref float x;ref float y;nint title;in NativeNodeOpts opts||h3ff767afdc5dc754f45f111bbc023fd04d09391838171174875147ff26ab10ac", "signature": "static byte NodeBegin(nint ui, int nodeId, ref float x, ref float y, nint title, in NativeNodeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "nodeId", "type": "int" }, { "name": "x", "type": "ref float" }, { "name": "y", "type": "ref float" }, { "name": "title", "type": "nint" }, { "name": "opts", "type": "in NativeNodeOpts" }], "summary": "cui_node_begin_ex" }, { "name": "NodeDeleted", "kind": "method", "id": "method|NodeDeleted|1|0|byte|nint ui;ref int nodeId||h26a2e21e519d12482534c9be0e688659e537c8c649731c62b8e07fd20f3aec51", "signature": "static byte NodeDeleted(nint ui, ref int nodeId)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "nodeId", "type": "ref int" }], "summary": "cui_node_deleted" }, { "name": "NodeEditorBegin", "kind": "method", "id": "method|NodeEditorBegin|1|0|byte|nint ui;nint id;ref NativeNodeView view;in NativeNodeEditorOpts opts||h5c300457768c76f92734ac1a0ccff610d8565ca52667e6bf8de7cf33ec5195f0", "signature": "static byte NodeEditorBegin(nint ui, nint id, ref NativeNodeView view, in NativeNodeEditorOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "view", "type": "ref NativeNodeView" }, { "name": "opts", "type": "in NativeNodeEditorOpts" }], "summary": "cui_node_editor_begin_ex" }, { "name": "NodeInput", "kind": "method", "id": "method|NodeInput|1|0|byte|nint ui;int pinId;nint label;in NativePinOpts opts||h05349be34aeb5552ca0fe0e8e2faa4b0c88bf38b8ddfb94e56cb059827927b43", "signature": "static byte NodeInput(nint ui, int pinId, nint label, in NativePinOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "pinId", "type": "int" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativePinOpts" }], "summary": "cui_node_input_ex" }, { "name": "NodeLink", "kind": "method", "id": "method|NodeLink|1|0|byte|nint ui;int linkId;int fromPin;int toPin||h4fd0ea27954b724e7cdccedf031de49905dc5d5397d14cb610cc8b072c2c611e", "signature": "static byte NodeLink(nint ui, int linkId, int fromPin, int toPin)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "linkId", "type": "int" }, { "name": "fromPin", "type": "int" }, { "name": "toPin", "type": "int" }], "summary": "A link from an output pin to an input pin. Returns true while it is selected." }, { "name": "NodeLinkCreated", "kind": "method", "id": "method|NodeLinkCreated|1|0|byte|nint ui;ref int fromPin;ref int toPin||hc82624810a72f602e276268bcdcac44230c240176da8b76b33de074633261bb1", "signature": "static byte NodeLinkCreated(nint ui, ref int fromPin, ref int toPin)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "fromPin", "type": "ref int" }, { "name": "toPin", "type": "ref int" }], "summary": "What the user did this frame, one event per call; call them after cui_node_editor_begin (and up to the end of the frame)." }, { "name": "NodeLinkRemoved", "kind": "method", "id": "method|NodeLinkRemoved|1|0|byte|nint ui;ref int linkId||h4f0501cd14e679dd9c71ff20df58c61cd5ece412c9274982ca5977467578e59a", "signature": "static byte NodeLinkRemoved(nint ui, ref int linkId)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "linkId", "type": "ref int" }], "summary": "Part of cui_node_link \u2014 A link from an output pin to an input pin. Returns true while it is selected." }, { "name": "NodeOutput", "kind": "method", "id": "method|NodeOutput|1|0|byte|nint ui;int pinId;nint label;in NativePinOpts opts||h889d0c43d378b6488c82d0644a74fb8447e2024e5a741797063399e6bb76d271", "signature": "static byte NodeOutput(nint ui, int pinId, nint label, in NativePinOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "pinId", "type": "int" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativePinOpts" }], "summary": "cui_node_output_ex" }, { "name": "Number", "kind": "method", "id": "method|Number|1|0|byte|nint ui;nint id;ref double value;double min;double max;in NativeNumberOpts opts||h8dd3807fc82451dff355298afa82bd3d8d760f6aa9f4843c1afbf90c116722b4", "signature": "static byte Number(nint ui, nint id, ref double value, double min, double max, in NativeNumberOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref double" }, { "name": "min", "type": "double" }, { "name": "max", "type": "double" }, { "name": "opts", "type": "in NativeNumberOpts" }], "summary": "cui_number_ex" }, { "name": "OtpInput", "kind": "method", "id": "method|OtpInput|1|0|byte|nint ui;nint id;nint code;int length||h1d5f76d56771b0e941f76735b57fccf346364b04e9b6b30fc767d8c8b1a3373d", "signature": "static byte OtpInput(nint ui, nint id, nint code, int length)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "code", "type": "nint" }, { "name": "length", "type": "int" }], "summary": "One time code input: \u0060length\u0060 boxes; code must hold length \u002B 1 bytes. Returns true when all boxes are filled (once per change)." }, { "name": "Pagination", "kind": "method", "id": "method|Pagination|1|0|byte|nint ui;nint id;ref int page;int pageCount||h9c6541597a311583fe7438c482c8224f55d8b6301216af97fb09d2b1b7c0dbc4", "signature": "static byte Pagination(nint ui, nint id, ref int page, int pageCount)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "page", "type": "ref int" }, { "name": "pageCount", "type": "int" }], "summary": "page is 0 based" }, { "name": "PathBarMenuBegin", "kind": "method", "id": "method|PathBarMenuBegin|1|0|byte|nint ui;nint id;ref int segment||h920519871dd34b39dc6f632fd5641a9c1fe9d2e1484743facc6341b86f2c90a4", "signature": "static byte PathBarMenuBegin(nint ui, nint id, ref int segment)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "segment", "type": "ref int" }], "summary": "True while the menu of separator *segment is showing: build menu items for the children of that segment, then call cui_path_bar_menu_end." }, { "name": "PathHasExtension", "kind": "method", "id": "method|PathHasExtension|1|0|byte|nint path;nint accept||h51473867a382392260bce03dcd8573965a7a41479b3d86ba74646ab4589e6839", "signature": "static byte PathHasExtension(nint path, nint accept)", "parameters": [{ "name": "path", "type": "nint" }, { "name": "accept", "type": "nint" }], "summary": "cui_path_has_extension" }, { "name": "PopoverBegin", "kind": "method", "id": "method|PopoverBegin|1|0|byte|nint ui;nint id;in NativePopoverOpts opts||hf7b2799f846341c5588cdd893e7efea99901ef279d1c3689385c06ab0b3c2312", "signature": "static byte PopoverBegin(nint ui, nint id, in NativePopoverOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativePopoverOpts" }], "summary": "cui_popover_begin" }, { "name": "PopoverIsOpen", "kind": "method", "id": "method|PopoverIsOpen|1|0|byte|nint ui;nint id||h9af29adcf835a4877879bb5a326360b02b8b2db888492f0eeffdd9983f5fdd5e", "signature": "static byte PopoverIsOpen(nint ui, nint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }], "summary": "cui_popover_is_open" }, { "name": "PropBool", "kind": "method", "id": "method|PropBool|1|0|byte|nint ui;nint label;nint value;in NativePropOpts opts||h00756c3152ec3f53862faae2e0bf373d9e2e3c324e60827347892307afe460f6", "signature": "static byte PropBool(nint ui, nint label, nint value, in NativePropOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "nint" }, { "name": "opts", "type": "in NativePropOpts" }], "summary": "cui_prop_bool_ex" }, { "name": "PropColor", "kind": "method", "id": "method|PropColor|1|0|byte|nint ui;nint label;ref NativeColor value;in NativePropOpts opts||h97930e1593c9f3f948176eb0694ffbf4bb35e3ed3da460000a4985b7ab379333", "signature": "static byte PropColor(nint ui, nint label, ref NativeColor value, in NativePropOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref NativeColor" }, { "name": "opts", "type": "in NativePropOpts" }], "summary": "A swatch and hex value that opens the color picker." }, { "name": "PropEnum", "kind": "method", "id": "method|PropEnum|1|0|byte|nint ui;nint label;nint items;int count;ref int index;in NativePropOpts opts||hc25983cec08cc4d09953634b896fbda541bc2371db435897002a158aa7ccfb96", "signature": "static byte PropEnum(nint ui, nint label, nint items, int count, ref int index, in NativePropOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "opts", "type": "in NativePropOpts" }], "summary": "cui_prop_enum_ex" }, { "name": "PropFloat", "kind": "method", "id": "method|PropFloat|1|0|byte|nint ui;nint label;ref float value;in NativePropOpts opts||he71b383273784a5057e7581fe417bf0b1982ba24f1a722d7c19dfbeda8447dd5", "signature": "static byte PropFloat(nint ui, nint label, ref float value, in NativePropOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref float" }, { "name": "opts", "type": "in NativePropOpts" }], "summary": "cui_prop_float_ex" }, { "name": "PropInt", "kind": "method", "id": "method|PropInt|1|0|byte|nint ui;nint label;ref int value;in NativePropOpts opts||h5f2a28c9b5e8da8289424bf17db307be852cceb9edb2a35a223c89709c234b01", "signature": "static byte PropInt(nint ui, nint label, ref int value, in NativePropOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref int" }, { "name": "opts", "type": "in NativePropOpts" }], "summary": "cui_prop_int_ex" }, { "name": "PropText", "kind": "method", "id": "method|PropText|1|0|byte|nint ui;nint label;nint buf;nuint cap;in NativePropOpts opts||hd1c1ba855ea422da71f45b7f54b25eba0185da4756c1cfd3f84326ce7a5ea219", "signature": "static byte PropText(nint ui, nint label, nint buf, nuint cap, in NativePropOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativePropOpts" }], "summary": "cui_prop_text_ex" }, { "name": "PropVec", "kind": "method", "id": "method|PropVec|1|0|byte|nint ui;nint label;ref float value;int components;in NativePropOpts opts||h86de2489ef65fd8442a3d0247ae840a33f6e3fcfbecbba07f586a9f869e29231", "signature": "static byte PropVec(nint ui, nint label, ref float value, int components, in NativePropOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref float" }, { "name": "components", "type": "int" }, { "name": "opts", "type": "in NativePropOpts" }], "summary": "Compact X, Y (Z, W) scrub fields side by side; value holds 2, 3 or 4 floats." }, { "name": "QueryBuilder", "kind": "method", "id": "method|QueryBuilder|1|0|byte|nint ui;nint id;nint fields;int fieldCount;nint nodes;ref int count;int capacity;in NativeQueryOpts opts||h9e99d805b9400574ba394e2f6497a861baa88e0ba6b4a8e520aa819e41d38975", "signature": "static byte QueryBuilder(nint ui, nint id, nint fields, int fieldCount, nint nodes, ref int count, int capacity, in NativeQueryOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "fields", "type": "nint" }, { "name": "fieldCount", "type": "int" }, { "name": "nodes", "type": "nint" }, { "name": "count", "type": "ref int" }, { "name": "capacity", "type": "int" }, { "name": "opts", "type": "in NativeQueryOpts" }], "summary": "cui_query_builder_ex" }, { "name": "QueryMatch", "kind": "method", "id": "method|QueryMatch|1|0|byte|nint fields;int fieldCount;nint nodes;int count;nint values||h029c8a4faaccfacab37fbdf6a5e0cbdad3ec4789fe25a84c817b9b30b1a0c9d3", "signature": "static byte QueryMatch(nint fields, int fieldCount, nint nodes, int count, nint values)", "parameters": [{ "name": "fields", "type": "nint" }, { "name": "fieldCount", "type": "int" }, { "name": "nodes", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "values", "type": "nint" }], "summary": "values[i] is the record\u0027s value for field i, as text (\u00221\u0022, \u0022true\u0022, \u0022open\u0022)." }, { "name": "Radio", "kind": "method", "id": "method|Radio|1|0|byte|nint ui;nint label;ref int value;int option;in NativeCheckOpts opts||hcdcef5ad8085ac53ef4c7df825d71526f96787cbe7e0056fa365c0afe2d5ee48", "signature": "static byte Radio(nint ui, nint label, ref int value, int option, in NativeCheckOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref int" }, { "name": "option", "type": "int" }, { "name": "opts", "type": "in NativeCheckOpts" }], "summary": "cui_radio_ex" }, { "name": "RadioCards", "kind": "method", "id": "method|RadioCards|1|0|byte|nint ui;nint id;nint choices;int count;ref int index;in NativeRadioCardsOpts opts||h2fc7b0b667bf08b9f7ac97eaea453441474e71299379f834d802cf253d5781d5", "signature": "static byte RadioCards(nint ui, nint id, nint choices, int count, ref int index, in NativeRadioCardsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "choices", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "opts", "type": "in NativeRadioCardsOpts" }], "summary": "cui_radio_cards_ex" }, { "name": "RadioGroup", "kind": "method", "id": "method|RadioGroup|1|0|byte|nint ui;nint id;nint items;int count;ref int index||h41fdeaf6779c042bf31b87c0f44e30b210b8c874a28e0273fb4c1badde4f41f1", "signature": "static byte RadioGroup(nint ui, nint id, nint items, int count, ref int index)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }], "summary": "cui_radio_group" }, { "name": "RangeCalendar", "kind": "method", "id": "method|RangeCalendar|1|0|byte|nint ui;nint id;ref NativeDateRange range;int months||h170335980cd92550862e1bf6633a11da9b020be711e236ecce1a60296fdf8c5a", "signature": "static byte RangeCalendar(nint ui, nint id, ref NativeDateRange range, int months)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "range", "type": "ref NativeDateRange" }, { "name": "months", "type": "int" }], "summary": "One or two months side by side; click a start and an end." }, { "name": "RangeSlider", "kind": "method", "id": "method|RangeSlider|1|0|byte|nint ui;nint label;ref float lo;ref float hi;float min;float max||h32f96bb5dbbbeefb9ddb110ad492e7e78912f7cc36806f9c027d16296a34ff63", "signature": "static byte RangeSlider(nint ui, nint label, ref float lo, ref float hi, float min, float max)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "lo", "type": "ref float" }, { "name": "hi", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }], "summary": "cui_range_slider" }, { "name": "Rating", "kind": "method", "id": "method|Rating|1|0|byte|nint ui;nint id;ref int value;int max||h04004cebb5c1581168f84691d3658abaf8d40451dd82ca2ff535542955e396a3", "signature": "static byte Rating(nint ui, nint id, ref int value, int max)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "ref int" }, { "name": "max", "type": "int" }], "summary": "cui_rating" }, { "name": "ReasoningBegin", "kind": "method", "id": "method|ReasoningBegin|1|0|byte|nint ui;nint id;in NativeReasoningOpts opts||ha24ccd4e6415a9f80d7679fc60373a33e2e4979ed946fe51f20466c85714765b", "signature": "static byte ReasoningBegin(nint ui, nint id, in NativeReasoningOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeReasoningOpts" }], "summary": "cui_reasoning_begin" }, { "name": "ReorderEnd", "kind": "method", "id": "method|ReorderEnd|1|0|byte|nint ui||h52ff8179fcb274432849c6012a35f6479cf5b716aca5b93b2293b9ac61f63631", "signature": "static byte ReorderEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_reorder_end" }, { "name": "RulerSlider", "kind": "method", "id": "method|RulerSlider|1|0|byte|nint ui;nint label;ref float value;float min;float max;in NativeRulerOpts opts||h3d06261b67662650a9f462da7f534bd41b808c4cb0aed2d0d52ee4161f8b20d0", "signature": "static byte RulerSlider(nint ui, nint label, ref float value, float min, float max, in NativeRulerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "opts", "type": "in NativeRulerOpts" }], "summary": "cui_ruler_slider_ex" }, { "name": "Scrub", "kind": "method", "id": "method|Scrub|1|0|byte|nint ui;nint label;ref float value;float min;float max;in NativeScrubOpts opts||hd488ae4441e78805976672ba9c7ab7dd5bd7bfce82c675683fa86ea3adaa4c00", "signature": "static byte Scrub(nint ui, nint label, ref float value, float min, float max, in NativeScrubOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "opts", "type": "in NativeScrubOpts" }], "summary": "cui_scrub_ex" }, { "name": "Segmented", "kind": "method", "id": "method|Segmented|1|0|byte|nint ui;nint id;nint items;int count;ref int index;in NativeSegmentedOpts opts||h07fbd0f03f7b9d2479970a93a825fb7854a583ea1fe82a108d6d5146138f8789", "signature": "static byte Segmented(nint ui, nint id, nint items, int count, ref int index, in NativeSegmentedOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "opts", "type": "in NativeSegmentedOpts" }], "summary": "cui_segmented_ex" }, { "name": "Select", "kind": "method", "id": "method|Select|1|0|byte|nint ui;nint id;nint items;int count;ref int index;in NativeSelectOpts opts||hc4cc1709b9bbacfdd0684ecb3db4fa731502a5cc6c03eadad82e4d691c403b4e", "signature": "static byte Select(nint ui, nint id, nint items, int count, ref int index, in NativeSelectOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "opts", "type": "in NativeSelectOpts" }], "summary": "cui_select_ex" }, { "name": "SheetBegin", "kind": "method", "id": "method|SheetBegin|1|0|byte|nint ui;nint title;nint open;in NativeSheetOpts opts||h63513bae0643d65f342e309d1d5dd8742da4175344baeb0d2fdd1b8bc869d7bd", "signature": "static byte SheetBegin(nint ui, nint title, nint open, in NativeSheetOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "opts", "type": "in NativeSheetOpts" }], "summary": "cui_sheet_begin" }, { "name": "Shortcut", "kind": "method", "id": "method|Shortcut|1|0|byte|nint ui;int mods;Key key||hd27db9793043c7739eb655fd479c45377af310b81113193e71c0cdcadcba8001", "signature": "static byte Shortcut(nint ui, int mods, Key key)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "mods", "type": "int" }, { "name": "key", "type": "Key" }], "summary": "e.g. cui_shortcut(ui, CUI_MOD_PRIMARY, CUI_KEY_K)" }, { "name": "ShortcutRecorder", "kind": "method", "id": "method|ShortcutRecorder|1|0|byte|nint ui;nint id;ref NativeKeyCombo combo;in NativeShortcutRecorderOpts opts||hbe04823b844ed3ff35a1a180f568892ebc52d0cb046997cd7c852b370dd58a2a", "signature": "static byte ShortcutRecorder(nint ui, nint id, ref NativeKeyCombo combo, in NativeShortcutRecorderOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "combo", "type": "ref NativeKeyCombo" }, { "name": "opts", "type": "in NativeShortcutRecorderOpts" }], "summary": "cui_shortcut_recorder_ex" }, { "name": "SignaturePad", "kind": "method", "id": "method|SignaturePad|1|0|byte|nint ui;nint id;in NativeSignatureOpts opts||h3930868f0cb4d0c6dafbecf0ea3749ab6cde4dfae8fd98f814843a267000b9b6", "signature": "static byte SignaturePad(nint ui, nint id, in NativeSignatureOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeSignatureOpts" }], "summary": "cui_signature_pad_ex" }, { "name": "Slider", "kind": "method", "id": "method|Slider|1|0|byte|nint ui;nint label;ref float value;float min;float max;in NativeSliderOpts opts||h578e587703e448688123d0b004b5c8aca34572c3f3351a481cddc7fc655425cc", "signature": "static byte Slider(nint ui, nint label, ref float value, float min, float max, in NativeSliderOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "opts", "type": "in NativeSliderOpts" }], "summary": "Elastic slider: the track stretches like rubber when dragged past its ends." }, { "name": "StatusBarItem", "kind": "method", "id": "method|StatusBarItem|1|0|byte|nint ui;nint label;in NativeStatusItemOpts opts||h4790c555513598595f49e5d19ae07a5f8771dafa02a0285d7ce3a8e968abd2af", "signature": "static byte StatusBarItem(nint ui, nint label, in NativeStatusItemOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "opts", "type": "in NativeStatusItemOpts" }], "summary": "A small clickable item (\u0022Ln 12, Col 4\u0022, \u0022UTF-8\u0022). Returns true when clicked." }, { "name": "StatusButton", "kind": "method", "id": "method|StatusButton|1|0|byte|nint ui;nint label;Status status;in NativeStatusButtonOpts opts||hbd6cdabc808f2abbd5e15ee20adc0f511c02054771b4253e14b383238529a1a3", "signature": "static byte StatusButton(nint ui, nint label, Status status, in NativeStatusButtonOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "status", "type": "Status" }, { "name": "opts", "type": "in NativeStatusButtonOpts" }], "summary": "cui_status_button_ex" }, { "name": "SwLastDamage", "kind": "method", "id": "method|SwLastDamage|1|0|byte|nint r;ref int x;ref int y;ref int w;ref int h||h30233e8faa58656654e4f604218a579860dd2a7cb7bd6c5783181ae5c0625ad0", "signature": "static byte SwLastDamage(nint r, ref int x, ref int y, ref int w, ref int h)", "parameters": [{ "name": "r", "type": "nint" }, { "name": "x", "type": "ref int" }, { "name": "y", "type": "ref int" }, { "name": "w", "type": "ref int" }, { "name": "h", "type": "ref int" }], "summary": "cui_sw_last_damage" }, { "name": "Switch", "kind": "method", "id": "method|Switch|1|0|byte|nint ui;nint label;nint value;in NativeCheckOpts opts||hc0a92c21627fec7195b958312e07a90e476a927d664950cd0c27890469716786", "signature": "static byte Switch(nint ui, nint label, nint value, in NativeCheckOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "nint" }, { "name": "opts", "type": "in NativeCheckOpts" }], "summary": "cui_switch_ex" }, { "name": "TabBar", "kind": "method", "id": "method|TabBar|1|0|byte|nint ui;nint id;nint items;int count;ref int selected;in NativeTabBarOpts opts||h84a537ef295b05ec9a7875c20f88a0981f676e0519a819543ecd2cb53df679dd", "signature": "static byte TabBar(nint ui, nint id, nint items, int count, ref int selected, in NativeTabBarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "selected", "type": "ref int" }, { "name": "opts", "type": "in NativeTabBarOpts" }], "summary": "cui_tab_bar_ex" }, { "name": "TableBegin", "kind": "method", "id": "method|TableBegin|1|0|byte|nint ui;nint id;nint columns;int columnCount;in NativeTableOpts opts||h813dd66787d9f3a118c5213b3c708d32a3f8b37e8f9b6d23892055c031061a91", "signature": "static byte TableBegin(nint ui, nint id, nint columns, int columnCount, in NativeTableOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "columns", "type": "nint" }, { "name": "columnCount", "type": "int" }, { "name": "opts", "type": "in NativeTableOpts" }], "summary": "cui_table_begin_ex" }, { "name": "TableRow", "kind": "method", "id": "method|TableRow|1|0|byte|nint ui;byte selected||h10abf29c8d0d297c4ae783e8573bf59af256507d548fed3846f6cb8d1e33af7f", "signature": "static byte TableRow(nint ui, byte selected)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "selected", "type": "byte" }], "summary": "Begin a row. Returns true when the row is clicked." }, { "name": "Tabs", "kind": "method", "id": "method|Tabs|1|0|byte|nint ui;nint id;nint items;int count;ref int index;in NativeTabsOpts opts||h3f80b81e7e4481583c25cf0e2c4a863b9d3dc7ffcf927d6efaa5eecc40d72708", "signature": "static byte Tabs(nint ui, nint id, nint items, int count, ref int index, in NativeTabsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "opts", "type": "in NativeTabsOpts" }], "summary": "cui_tabs_ex" }, { "name": "TagInput", "kind": "method", "id": "method|TagInput|1|0|byte|nint ui;nint id;nint buf;nuint cap;in NativeTagOpts opts||h770b3a4c31eea60fa381775eb2891a91e34ad5496273b9758511cc9495c5c5bc", "signature": "static byte TagInput(nint ui, nint id, nint buf, nuint cap, in NativeTagOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeTagOpts" }], "summary": "cui_tag_input_ex" }, { "name": "ThemeSwitcher", "kind": "method", "id": "method|ThemeSwitcher|1|0|byte|nint ui;ref int mode;byte withSystem||hca6a471cd4a87cc19eff3f9a4fadc50a73d523e83d0a773a344adbe1b0d04866", "signature": "static byte ThemeSwitcher(nint ui, ref int mode, byte withSystem)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "mode", "type": "ref int" }, { "name": "withSystem", "type": "byte" }], "summary": "Theme switcher: light, dark and (optionally) system, as a compact icon segmented control. mode is 0 light, 1 dark, 2 system. Light and dark are applied for you; for system call cui_set_theme with the OS setting. Returns true when mode changed." }, { "name": "ThemeToggle", "kind": "method", "id": "method|ThemeToggle|1|0|byte|nint ui||h4609d89e653a3baaef3cea4c9659df20b1303da3806ee0320fb59809f3fc6265", "signature": "static byte ThemeToggle(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "Sun and moon icon button that toggles the theme with a morph." }, { "name": "TimeDial", "kind": "method", "id": "method|TimeDial|1|0|byte|nint ui;nint id;ref int hour;ref int minute;float size||hac05b892060233f70ac054ae631a05408fc9ed16c3e54e39475eeaee7a5752d7", "signature": "static byte TimeDial(nint ui, nint id, ref int hour, ref int minute, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "hour", "type": "ref int" }, { "name": "minute", "type": "ref int" }, { "name": "size", "type": "float" }], "summary": "Time dial: a clock face. Drag the hand to set hours, then minutes." }, { "name": "TimePicker", "kind": "method", "id": "method|TimePicker|1|0|byte|nint ui;nint id;ref int hour;ref int minute;in NativeTimeOpts opts||h76c1a6f222300c98ffc9ee66d84b4eab5447a305ed64bd77d24dd358dc4c225c", "signature": "static byte TimePicker(nint ui, nint id, ref int hour, ref int minute, in NativeTimeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "hour", "type": "ref int" }, { "name": "minute", "type": "ref int" }, { "name": "opts", "type": "in NativeTimeOpts" }], "summary": "cui_time_picker_ex" }, { "name": "ToastActionClicked", "kind": "method", "id": "method|ToastActionClicked|1|0|byte|nint ui;int handle||hc310181a49b561232fbe10a57b50969930e55cb20455bdd700c79f6c1d3cf32a", "signature": "static byte ToastActionClicked(nint ui, int handle)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "handle", "type": "int" }], "summary": "cui_toast_action_clicked" }, { "name": "ToggleGroup", "kind": "method", "id": "method|ToggleGroup|1|0|byte|nint ui;nint id;nint labels;int count;nint values;in NativeToggleGroupOpts opts||h9bfed721c10f74f2140e62a76fe5591423ccc4e2e91b1106c38fc1b1869b9c88", "signature": "static byte ToggleGroup(nint ui, nint id, nint labels, int count, nint values, in NativeToggleGroupOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "labels", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "values", "type": "nint" }, { "name": "opts", "type": "in NativeToggleGroupOpts" }], "summary": "cui_toggle_group_ex" }, { "name": "ToolbarButton", "kind": "method", "id": "method|ToolbarButton|1|0|byte|nint ui;nint icon;in NativeToolOpts opts||h994afb837ec2079774d6535e3a3cb0d1881de0153fe23fc39186b0605a2cb2da", "signature": "static byte ToolbarButton(nint ui, nint icon, in NativeToolOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "icon", "type": "nint" }, { "name": "opts", "type": "in NativeToolOpts" }], "summary": "cui_toolbar_button_ex" }, { "name": "TreeBegin", "kind": "method", "id": "method|TreeBegin|1|0|byte|nint ui;nint label;nint open;in NativeTreeOpts opts||hebd9789f6109d185bae7dcc7dea5d5ef0a57172e5fbb10bd0bff64c10944485e", "signature": "static byte TreeBegin(nint ui, nint label, nint open, in NativeTreeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "opts", "type": "in NativeTreeOpts" }], "summary": "cui_tree_begin" }, { "name": "TreeCell", "kind": "method", "id": "method|TreeCell|1|0|byte|nint ui;nint label;int depth;byte hasChildren;nint open;nint icon||h92fbcfdc4fbc2346e13caf9792c234af2e9a400f3d4ebb54ad1a8eff50cb83ab", "signature": "static byte TreeCell(nint ui, nint label, int depth, byte hasChildren, nint open, nint icon)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "depth", "type": "int" }, { "name": "hasChildren", "type": "byte" }, { "name": "open", "type": "nint" }, { "name": "icon", "type": "nint" }], "summary": "Tree cell: indentation, a disclosure chevron and a label, for tree tables (use it in a table or grid cell). Returns true when *open toggled." }, { "name": "TreeClicked", "kind": "method", "id": "method|TreeClicked|1|0|byte|nint ui||hd91dfe2b074aa7b109f468e8b4040c694aef31ff296cba3699a36fe57032280a", "signature": "static byte TreeClicked(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "the node created by the last cui_tree_begin was clicked" }, { "name": "Typewriter", "kind": "method", "id": "method|Typewriter|1|0|byte|nint ui;nint id;nint text;in NativeTextFxOpts opts||h7fb0abddf731ca6f9ade4f67404605f67cc2bbeca56950e6b83ec10b732cc13a", "signature": "static byte Typewriter(nint ui, nint id, nint text, in NativeTextFxOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeTextFxOpts" }], "summary": "Types the text out. When the text grows (streamed tokens) it carries on from where it was; other changes start over. Returns true once complete." }, { "name": "UrlSetParams", "kind": "method", "id": "method|UrlSetParams|1|0|byte|nint url;nuint cap;nint pairs;int count||hc0576428de8a5e20674dd0ecdfe704641f86a7c317e52d5d3c5a26126e5b907d", "signature": "static byte UrlSetParams(nint url, nuint cap, nint pairs, int count)", "parameters": [{ "name": "url", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "pairs", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "enabled pairs; false when it did not fit" }, { "name": "UserMenuBegin", "kind": "method", "id": "method|UserMenuBegin|1|0|byte|nint ui;nint name;in NativeUserMenuOpts opts||hb48d59d99a73868669d0b331ec83192210a0c833e3988ef13eda6fb5658c27a4", "signature": "static byte UserMenuBegin(nint ui, nint name, in NativeUserMenuOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "name", "type": "nint" }, { "name": "opts", "type": "in NativeUserMenuOpts" }], "summary": "cui_user_menu_begin" }, { "name": "VoiceOrb", "kind": "method", "id": "method|VoiceOrb|1|0|byte|nint ui;nint id;VoiceState state;float level;in NativeVoiceOrbOpts opts||h93f6b3e912f2a6852d94df96ec4a2f9302788d4dd152171fe341f961c7b04563", "signature": "static byte VoiceOrb(nint ui, nint id, VoiceState state, float level, in NativeVoiceOrbOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "state", "type": "VoiceState" }, { "name": "level", "type": "float" }, { "name": "opts", "type": "in NativeVoiceOrbOpts" }], "summary": "cui_voice_orb_ex" }, { "name": "WantsKeyboard", "kind": "method", "id": "method|WantsKeyboard|1|0|byte|nint ui||hf239c9950a859c2b1ee4d96bd406f245de4535bec30ad74ba5dc5886536c1718", "signature": "static byte WantsKeyboard(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "True when a text field has keyboard focus (so the app should not treat typing as shortcuts)." }, { "name": "WantsMouse", "kind": "method", "id": "method|WantsMouse|1|0|byte|nint ui||h43a7d8c4da0674c3b57b4bbff09e3dc88bc0b56f3d7496e133fbdf99b6439585", "signature": "static byte WantsMouse(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_wants_mouse" }, { "name": "Waveform", "kind": "method", "id": "method|Waveform|1|0|byte|nint ui;nint id;nint peaks;int count;ref float progress;in NativeWaveformOpts opts||hde8136d458f7da0d7a74fe40a2f5009959fe7d3a370e498fe9d7bf29214ded9a", "signature": "static byte Waveform(nint ui, nint id, nint peaks, int count, ref float progress, in NativeWaveformOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "peaks", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "progress", "type": "ref float" }, { "name": "opts", "type": "in NativeWaveformOpts" }], "summary": "cui_waveform_ex" }, { "name": "WheelPicker", "kind": "method", "id": "method|WheelPicker|1|0|byte|nint ui;nint id;nint items;int count;ref int index;in NativeWheelOpts opts||hf3c3b0182f87f1b680f739b50bb8d87c9cabfee03586951ac62bf65b871448ef", "signature": "static byte WheelPicker(nint ui, nint id, nint items, int count, ref int index, in NativeWheelOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "opts", "type": "in NativeWheelOpts" }], "summary": "cui_wheel_picker_ex" }, { "name": "WritePng", "kind": "method", "id": "method|WritePng|1|0|byte|nint path;nint rgba;int width;int height;int stride||h85e643ea1e51d20a5fdccd30c3478c4965e2c38118937188e217dd742b1b2308", "signature": "static byte WritePng(nint path, nint rgba, int width, int height, int stride)", "parameters": [{ "name": "path", "type": "nint" }, { "name": "rgba", "type": "nint" }, { "name": "width", "type": "int" }, { "name": "height", "type": "int" }, { "name": "stride", "type": "int" }], "summary": "Writes a PNG file (RGBA pixels). Returns false on failure." }, { "name": "Time", "kind": "method", "id": "method|Time|1|0|double|nint ui||hb2f1ad77b6f92fa1a452bb4566892538d32ec9562aa9a5dbf0d51f163236ee63", "signature": "static double Time(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_time" }, { "name": "Animate", "kind": "method", "id": "method|Animate|1|0|float|nint ui;uint id;float target||h783081c7165f6473b03c87976bf42bd71bb8dba6a771cc8e726a95e9b31185e5", "signature": "static float Animate(nint ui, uint id, float target)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "uint" }, { "name": "target", "type": "float" }], "summary": "Animation helpers. Values move toward target with a spring and request frames while moving. Reduced motion makes them snap." }, { "name": "AnimateSpring", "kind": "method", "id": "method|AnimateSpring|1|0|float|nint ui;uint id;float target;float duration;float bounce||haadb48d9ac3326b48d979e354207d7fe478973a6fbc31ca176c063059ee82e70", "signature": "static float AnimateSpring(nint ui, uint id, float target, float duration, float bounce)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "uint" }, { "name": "target", "type": "float" }, { "name": "duration", "type": "float" }, { "name": "bounce", "type": "float" }], "summary": "Part of cui_animate \u2014 Animation helpers. Values move toward target with a spring and request frames while moving. Reduced motion makes them snap." }, { "name": "CurveEval", "kind": "method", "id": "method|CurveEval|1|0|float|nint keys;int count;float x||ha777fdac9157752521a46d103b76d33d1192ee259722b6dea4faf21e203b3d94", "signature": "static float CurveEval(nint keys, int count, float x)", "parameters": [{ "name": "keys", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "x", "type": "float" }], "summary": "The curve\u0027s value at x: exactly what the editor draws. keys sorted by x." }, { "name": "DeltaTime", "kind": "method", "id": "method|DeltaTime|1|0|float|nint ui||h6ee192edd9536831c0243d007d39a8bf5a8f54a0151b686bc63099af3951e2db", "signature": "static float DeltaTime(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "seconds since the last frame" }, { "name": "DpiScale", "kind": "method", "id": "method|DpiScale|1|0|float|nint ui||h634ef8f8003d098e28306a7d54dcf08d6cf9a3c70bd47e93dcfc9e6237125047", "signature": "static float DpiScale(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dpi_scale" }, { "name": "NextWakeup", "kind": "method", "id": "method|NextWakeup|1|0|float|nint ui||heaa3059e89c281cf8618ccc70329affe44629f9bfd94615949690fb4265bbc46", "signature": "static float NextWakeup(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "Seconds until CUI wants a frame (for caret blink, tooltips, toasts). Negative means \u0022only on input\u0022." }, { "name": "ActivityRings", "kind": "method", "id": "method|ActivityRings|1|0|int|nint ui;nint id;nint rings;int count;in NativeRingsOpts opts||hfab99a08b98a1a46a19500c9dc566de59336b84686e088b3b08aa493b5bfb5f1", "signature": "static int ActivityRings(nint ui, nint id, nint rings, int count, in NativeRingsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "rings", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeRingsOpts" }], "summary": "cui_activity_rings_ex" }, { "name": "AgentPlan", "kind": "method", "id": "method|AgentPlan|1|0|int|nint ui;nint id;nint steps;int count;in NativeAgentPlanOpts opts||h783bd47ee92e5be4ecf611f1b10dcce34680176116584cb837c3d63ece939fc8", "signature": "static int AgentPlan(nint ui, nint id, nint steps, int count, in NativeAgentPlanOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "steps", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeAgentPlanOpts" }], "summary": "cui_agent_plan_ex" }, { "name": "AppRun", "kind": "method", "id": "method|AppRun|1|0|int|in NativeAppDesc desc;nint frame;nint user||h5b274bb4d7f996aa456c048eb630e0e5d79c988ae23fb56e20e90dae2e8d2ff9", "signature": "static int AppRun(in NativeAppDesc desc, nint frame, nint user)", "parameters": [{ "name": "desc", "type": "in NativeAppDesc" }, { "name": "frame", "type": "nint" }, { "name": "user", "type": "nint" }], "summary": "Creates the app, calls frame() until the window closes, destroys it." }, { "name": "AvatarUpload", "kind": "method", "id": "method|AvatarUpload|1|0|int|nint ui;nint id;nint name;ref nuint image;float size||h5fd1064396ca10dd1719ccec083429b0c356210c39e3ce7cc0cd28642b6b2c70", "signature": "static int AvatarUpload(nint ui, nint id, nint name, ref nuint image, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "name", "type": "nint" }, { "name": "image", "type": "ref nuint" }, { "name": "size", "type": "float" }], "summary": "Avatar upload: a round avatar that takes a dropped image, with a camera badge on hover. Returns 1 when *image changed, -1 when clicked (browse), 0 otherwise. A dropped image is loaded with cui_image_load." }, { "name": "BarList", "kind": "method", "id": "method|BarList|1|0|int|nint ui;nint id;nint items;int count;in NativeBarListOpts opts||h38c11ff449d272606355ff091085f89c94306998c17998930106f4560b27dea7", "signature": "static int BarList(nint ui, nint id, nint items, int count, in NativeBarListOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeBarListOpts" }], "summary": "cui_bar_list_ex" }, { "name": "Breadcrumb", "kind": "method", "id": "method|Breadcrumb|1|0|int|nint ui;nint items;int count||h63c8fc446537769f774a935e4558c83571acc23d75274e5d703a72ce1523fe85", "signature": "static int Breadcrumb(nint ui, nint items, int count)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "returns clicked index or -1" }, { "name": "CalendarHeatmap", "kind": "method", "id": "method|CalendarHeatmap|1|0|int|nint ui;nint id;NativeDate start;nint values;int days;in NativeCalendarHeatmapOpts opts||hc23599f375fea1dfd07e8380e49bd8fac1279ab8e2e5d142291dd4196e1fafa3", "signature": "static int CalendarHeatmap(nint ui, nint id, NativeDate start, nint values, int days, in NativeCalendarHeatmapOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "start", "type": "NativeDate" }, { "name": "values", "type": "nint" }, { "name": "days", "type": "int" }, { "name": "opts", "type": "in NativeCalendarHeatmapOpts" }], "summary": "cui_calendar_heatmap_ex" }, { "name": "Candlestick", "kind": "method", "id": "method|Candlestick|1|0|int|nint ui;nint id;nint candles;int count;in NativeCandlestickOpts opts||ha23000c433513bc9358604c3881de3ea161c7d64c66e39fc7756d310c341ad95", "signature": "static int Candlestick(nint ui, nint id, nint candles, int count, in NativeCandlestickOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "candles", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeCandlestickOpts" }], "summary": "Returns the candle under the crosshair (pointer or keys), or -1." }, { "name": "CardStackEnd", "kind": "method", "id": "method|CardStackEnd|1|0|int|nint ui||hf8bca440238fade3f7ea582ac1602ee0127f53a72ac52ee2411e8f8aaf5686d8", "signature": "static int CardStackEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_card_stack_end" }, { "name": "ChatComposer", "kind": "method", "id": "method|ChatComposer|1|0|int|nint ui;nint id;nint buf;nuint cap;in NativeComposerOpts opts||h0d83db53b76632a1fc4d48dd72406263140ececde44c22bc339467a5acb583ca", "signature": "static int ChatComposer(nint ui, nint id, nint buf, nuint cap, in NativeComposerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeComposerOpts" }], "summary": "cui_chat_composer_ex" }, { "name": "Checklist", "kind": "method", "id": "method|Checklist|1|0|int|nint ui;nint id;nint steps;int count;in NativeChecklistOpts opts||hdba0108e3588df0823f7df8666b548f9fb5aec5772f65711074a08a7380e60f8", "signature": "static int Checklist(nint ui, nint id, nint steps, int count, in NativeChecklistOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "steps", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeChecklistOpts" }], "summary": "cui_checklist_ex" }, { "name": "CommandPalette", "kind": "method", "id": "method|CommandPalette|1|0|int|nint ui;nint open;nint commands;int count||hd92303b12ad508c387686648ab58b2eddf7ba0e5c16ecb04f912944ea3c865d7", "signature": "static int CommandPalette(nint ui, nint open, nint commands, int count)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "open", "type": "nint" }, { "name": "commands", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "Spotlight style command palette. Returns the index of the chosen command, or -1. Open it with a shortcut: if (cui_shortcut(ui, CUI_MOD_PRIMARY, CUI_KEY_K)) open = true;" }, { "name": "Comment", "kind": "method", "id": "method|Comment|1|0|int|nint ui;nint id;nint author;nint text;in NativeCommentOpts opts||hdd03cdb9d470cd5bf5dfd06ad2a88b6454a330709bd3321ca9b851600542d1e5", "signature": "static int Comment(nint ui, nint id, nint author, nint text, in NativeCommentOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "author", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeCommentOpts" }], "summary": "cui_comment_ex" }, { "name": "DateToDays", "kind": "method", "id": "method|DateToDays|1|0|int|NativeDate d||hb0dad71dec46af8c99d25fcad3b990e1cf144e3e1a5ee8bc6add3ecdca7e5e6b", "signature": "static int DateToDays(NativeDate d)", "parameters": [{ "name": "d", "type": "NativeDate" }], "summary": "days since 1970-01-01" }, { "name": "DiffCompute", "kind": "method", "id": "method|DiffCompute|1|0|int|nint oldText;nuint oldLen;nint newText;nuint newLen;uint flags;nint hunks;int cap;nint stats||h82ddb4b348995156267eb2bef2eae0291066bdc321677b8c61be53c7eab5aad1", "signature": "static int DiffCompute(nint oldText, nuint oldLen, nint newText, nuint newLen, uint flags, nint hunks, int cap, nint stats)", "parameters": [{ "name": "oldText", "type": "nint" }, { "name": "oldLen", "type": "nuint" }, { "name": "newText", "type": "nint" }, { "name": "newLen", "type": "nuint" }, { "name": "flags", "type": "uint" }, { "name": "hunks", "type": "nint" }, { "name": "cap", "type": "int" }, { "name": "stats", "type": "nint" }], "summary": "cui_diff_compute" }, { "name": "DiffViewRows", "kind": "method", "id": "method|DiffViewRows|1|0|int|nint ui;nint id;nint rows;int first;int cap||h1c7aade1dc1cf7abe185f6b4cc3cfa64e49ade089a1fc6d704e67924616863fd", "signature": "static int DiffViewRows(nint ui, nint id, nint rows, int first, int cap)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "rows", "type": "nint" }, { "name": "first", "type": "int" }, { "name": "cap", "type": "int" }], "summary": "cui_diff_view_rows" }, { "name": "DroppedFileCount", "kind": "method", "id": "method|DroppedFileCount|1|0|int|nint ui||h6b75c3c22dbbb1f2ce9ee98bd11d91fbbaf2729d2d06380e850cf9b5fd8ba0e5", "signature": "static int DroppedFileCount(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "Files dropped this frame (dropzones claim theirs first)." }, { "name": "Dropzone", "kind": "method", "id": "method|Dropzone|1|0|int|nint ui;nint id;in NativeDropzoneOpts opts||h7d55496ae62b3bf291f2e1623067e800421a125a3441fbd4b22bd9880aebf298", "signature": "static int Dropzone(nint ui, nint id, in NativeDropzoneOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeDropzoneOpts" }], "summary": "cui_dropzone_ex" }, { "name": "FsList", "kind": "method", "id": "method|FsList|1|0|int|nint user;nint path;ref NativeFileEntry out;int cap;nint names;nuint namesCap;byte hidden||hd5649b458090896f6f4fbe09028211015d616bc8d57d5b7d15d708aebc4b6edf", "signature": "static int FsList(nint user, nint path, ref NativeFileEntry @out, int cap, nint names, nuint namesCap, byte hidden)", "parameters": [{ "name": "user", "type": "nint" }, { "name": "path", "type": "nint" }, { "name": "out", "type": "ref NativeFileEntry" }, { "name": "cap", "type": "int" }, { "name": "names", "type": "nint" }, { "name": "namesCap", "type": "nuint" }, { "name": "hidden", "type": "byte" }], "summary": "cui_fs_list" }, { "name": "Funnel", "kind": "method", "id": "method|Funnel|1|0|int|nint ui;nint id;nint stages;int count;in NativeFunnelOpts opts||h5da5cae7c9d4360a84a6d41280b3d14dc41d9b0d80485581d03d051408bdc6f0", "signature": "static int Funnel(nint ui, nint id, nint stages, int count, in NativeFunnelOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "stages", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeFunnelOpts" }], "summary": "cui_funnel_ex" }, { "name": "Gantt", "kind": "method", "id": "method|Gantt|1|0|int|nint ui;nint id;nint tasks;int count;NativeDate origin;int days;in NativeGanttOpts opts||hc253df918bb421e7723ead0a131a534d65e811db10c12d19569f79ca874ef106", "signature": "static int Gantt(nint ui, nint id, nint tasks, int count, NativeDate origin, int days, in NativeGanttOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "tasks", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "origin", "type": "NativeDate" }, { "name": "days", "type": "int" }, { "name": "opts", "type": "in NativeGanttOpts" }], "summary": "cui_gantt_ex" }, { "name": "Heatmap", "kind": "method", "id": "method|Heatmap|1|0|int|nint ui;nint id;nint values;int rows;int cols;in NativeHeatmapOpts opts||h4df783b0c75a2cc42ad921f03a3a1e2694072d72a3a65780abd6d65acdb7f3fd", "signature": "static int Heatmap(nint ui, nint id, nint values, int rows, int cols, in NativeHeatmapOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "values", "type": "nint" }, { "name": "rows", "type": "int" }, { "name": "cols", "type": "int" }, { "name": "opts", "type": "in NativeHeatmapOpts" }], "summary": "cui_heatmap_ex" }, { "name": "InlineEdit", "kind": "method", "id": "method|InlineEdit|1|0|int|nint ui;nint id;nint buf;nuint cap;in NativeInlineEditOpts opts||hccdf1e7bb740c0ba86c761bc926887dbf86ce6f5ec79a2780c0322e2e37c736d", "signature": "static int InlineEdit(nint ui, nint id, nint buf, nuint cap, in NativeInlineEditOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeInlineEditOpts" }], "summary": "cui_inline_edit_ex" }, { "name": "Input", "kind": "method", "id": "method|Input|1|0|int|nint ui;nint id;nint buf;nuint cap;in NativeInputOpts opts||had2ed9e86f3f40ca5c2e77ab62a2b0ee00eebe31d56f728629d93e0007859326", "signature": "static int Input(nint ui, nint id, nint buf, nuint cap, in NativeInputOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeInputOpts" }], "summary": "Single line text field. Returns CUI_CHANGED / CUI_SUBMITTED (Enter) flags." }, { "name": "KeyMods", "kind": "method", "id": "method|KeyMods|1|0|int|nint ui||h293d80845300d58f2995a5510e21c1111fca0df2e690ba98a8a8d63d903fbeb5", "signature": "static int KeyMods(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_key_mods" }, { "name": "NowPlaying", "kind": "method", "id": "method|NowPlaying|1|0|int|nint ui;nint id;ref NativeNowPlaying np;in NativeNowPlayingOpts opts||h3305da350f9305ad71c56ecfc831c7c04162ba1bc05e8da67efa84f26e701d7f", "signature": "static int NowPlaying(nint ui, nint id, ref NativeNowPlaying np, in NativeNowPlayingOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "np", "type": "ref NativeNowPlaying" }, { "name": "opts", "type": "in NativeNowPlayingOpts" }], "summary": "cui_now_playing_ex" }, { "name": "PasswordStrength", "kind": "method", "id": "method|PasswordStrength|1|0|int|nint ui;nint password||h296f8bc019e9a78a40862348b6ef154911727f24b96d3ce53528bf23cef3905a", "signature": "static int PasswordStrength(nint ui, nint password)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "password", "type": "nint" }], "summary": "Password strength meter (0 weak .. 4 strong). Returns the score." }, { "name": "PromptSuggestions", "kind": "method", "id": "method|PromptSuggestions|1|0|int|nint ui;nint id;nint items;int count;in NativePromptSuggestionsOpts opts||h39cb0ee93a2df36c51cfb2d9a4e30d06e4b34a4e8cd1c660fe0ae0bcd00797fa", "signature": "static int PromptSuggestions(nint ui, nint id, nint items, int count, in NativePromptSuggestionsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativePromptSuggestionsOpts" }], "summary": "cui_prompt_suggestions_ex" }, { "name": "RadarChart", "kind": "method", "id": "method|RadarChart|1|0|int|nint ui;nint id;nint series;int count;nint axes;int axisCount;in NativeRadarOpts opts||h06cae4d94cc306c429feaef1500dc5b79741ac577050107bd413b612a5a4205b", "signature": "static int RadarChart(nint ui, nint id, nint series, int count, nint axes, int axisCount, in NativeRadarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "series", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "axes", "type": "nint" }, { "name": "axisCount", "type": "int" }, { "name": "opts", "type": "in NativeRadarOpts" }], "summary": "cui_radar_chart_ex" }, { "name": "Reactions", "kind": "method", "id": "method|Reactions|1|0|int|nint ui;nint id;nint items;int count||h143216460130bd0a205a3323a055f03e662c39c9993e057c4a7be569e363e3e4", "signature": "static int Reactions(nint ui, nint id, nint items, int count)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "cui_reactions" }, { "name": "RegexSearch", "kind": "method", "id": "method|RegexSearch|1|0|int|nint pattern;int flags;nint text;int len;int from;ref NativeRegexMatch m;nint error||h72d881084b53fb08b98d00025e7a3aa54591c236a477a81dec5980fdd339b3a2", "signature": "static int RegexSearch(nint pattern, int flags, nint text, int len, int from, ref NativeRegexMatch m, nint error)", "parameters": [{ "name": "pattern", "type": "nint" }, { "name": "flags", "type": "int" }, { "name": "text", "type": "nint" }, { "name": "len", "type": "int" }, { "name": "from", "type": "int" }, { "name": "m", "type": "ref NativeRegexMatch" }, { "name": "error", "type": "nint" }], "summary": "cui_regex_search" }, { "name": "ResponseActions", "kind": "method", "id": "method|ResponseActions|1|0|int|nint ui;nint id;in NativeResponseActionsOpts opts||hf0045bf0fe8346d68d3e858a4d4fd84158f1d7b3705a5b21433eb294b616ad2d", "signature": "static int ResponseActions(nint ui, nint id, in NativeResponseActionsOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeResponseActionsOpts" }], "summary": "cui_response_actions_ex" }, { "name": "Sankey", "kind": "method", "id": "method|Sankey|1|0|int|nint ui;nint id;nint nodes;int nodeCount;nint links;int linkCount;in NativeSankeyOpts opts||hd7ee09dc37ead6c7726c9f6e58362252feb879f0f2a23e2b42b5ad14fb4cf537", "signature": "static int Sankey(nint ui, nint id, nint nodes, int nodeCount, nint links, int linkCount, in NativeSankeyOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "nodes", "type": "nint" }, { "name": "nodeCount", "type": "int" }, { "name": "links", "type": "nint" }, { "name": "linkCount", "type": "int" }, { "name": "opts", "type": "in NativeSankeyOpts" }], "summary": "cui_sankey_ex" }, { "name": "ScatterChart", "kind": "method", "id": "method|ScatterChart|1|0|int|nint ui;nint id;nint series;int count;in NativeScatterOpts opts||hb705f85ec95b21fc19db4370c4a67ef8c487d162f3f505dcc1dd6fd9e348f603", "signature": "static int ScatterChart(nint ui, nint id, nint series, int count, in NativeScatterOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "series", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeScatterOpts" }], "summary": "cui_scatter_chart_ex" }, { "name": "Search", "kind": "method", "id": "method|Search|1|0|int|nint ui;nint id;nint buf;nuint cap;in NativeInputOpts opts||hec35c305c318680f13baf5b94c7ece8717d2ed4f3939142db7c29e2383a8de54", "signature": "static int Search(nint ui, nint id, nint buf, nuint cap, in NativeInputOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeInputOpts" }], "summary": "Search field with a search icon and a clear button." }, { "name": "SignaturePoints", "kind": "method", "id": "method|SignaturePoints|1|0|int|nint ui;nint id;nint points;nint strokeEnds;ref int strokeCount||h4c2f8ff2aa2236c71ac5c2e55e5c4fdf8cd9f1ba3b97c9da2fe3262b3c0283b1", "signature": "static int SignaturePoints(nint ui, nint id, nint points, nint strokeEnds, ref int strokeCount)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "points", "type": "nint" }, { "name": "strokeEnds", "type": "nint" }, { "name": "strokeCount", "type": "ref int" }], "summary": "cui_signature_points" }, { "name": "SourceList", "kind": "method", "id": "method|SourceList|1|0|int|nint ui;nint id;nint sources;int count||h173d8ddb8e06588e29b9b6561cae327c824de30f3eeac0263ad449aae20a4ff5", "signature": "static int SourceList(nint ui, nint id, nint sources, int count)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "sources", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "cui_source_list" }, { "name": "SpeedDial", "kind": "method", "id": "method|SpeedDial|1|0|int|nint ui;nint id;nint actions;int count;in NativeSpeedDialOpts opts||h589b0efb656624188f68c92733ef84b7e64202167ff454647d6b39f7a6f5146f", "signature": "static int SpeedDial(nint ui, nint id, nint actions, int count, in NativeSpeedDialOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "actions", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeSpeedDialOpts" }], "summary": "cui_speed_dial_ex" }, { "name": "SplitBar", "kind": "method", "id": "method|SplitBar|1|0|int|nint ui;nint id;nint items;int count;in NativeSplitBarOpts opts||h97364f98499ce83e79a8207d604d42304a76619dccbb7e144242711cd7feefe0", "signature": "static int SplitBar(nint ui, nint id, nint items, int count, in NativeSplitBarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeSplitBarOpts" }], "summary": "cui_split_bar_ex" }, { "name": "SplitButton", "kind": "method", "id": "method|SplitButton|1|0|int|nint ui;nint label;nint items;int count;in NativeSplitButtonOpts opts||h331bb07f0620c9a28f4f5de29ae68a66b96a56a79d295f7f529aecf5476464a4", "signature": "static int SplitButton(nint ui, nint label, nint items, int count, in NativeSplitButtonOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeSplitButtonOpts" }], "summary": "cui_split_button_ex" }, { "name": "SwipeItemEnd", "kind": "method", "id": "method|SwipeItemEnd|1|0|int|nint ui||h5bd4f1ea033d2888651ca8ea05a6e9ca8f4ff11e33d9ecce300b4141f39e6311", "signature": "static int SwipeItemEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_swipe_item_end" }, { "name": "Textarea", "kind": "method", "id": "method|Textarea|1|0|int|nint ui;nint id;nint buf;nuint cap;in NativeInputOpts opts||h039644aa55c787cc40104a4f00e3e729b4cf1284c577cc6f3455cbbc16f963aa", "signature": "static int Textarea(nint ui, nint id, nint buf, nuint cap, in NativeInputOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }, { "name": "opts", "type": "in NativeInputOpts" }], "summary": "Multi-line text area with word wrap." }, { "name": "Toast", "kind": "method", "id": "method|Toast|1|0|int|nint ui;nint title;in NativeToastOpts opts||h13689b750de406a3341573c925e1a79dc5c11ea4aeb2cf3aad8fe0526dd629f7", "signature": "static int Toast(nint ui, nint title, in NativeToastOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "opts", "type": "in NativeToastOpts" }], "summary": "Queue a toast. Returns a handle; cui_toast_action_clicked(handle) tells whether its action button was pressed." }, { "name": "Toc", "kind": "method", "id": "method|Toc|1|0|int|nint ui;nint scrollId;nint items;int count||h1230ef692ba1345b1fbff1069d5f78b9a0a304715bed3abbaee1e82ceb24a4cb", "signature": "static int Toc(nint ui, nint scrollId, nint items, int count)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "scrollId", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "cui_toc" }, { "name": "Tour", "kind": "method", "id": "method|Tour|1|0|int|nint ui;nint id;nint steps;int count;ref int step;in NativeTourOpts opts||h28473eff703cdbd0694b161e355986bc70e34dc0659fc87a6119eb709b790561", "signature": "static int Tour(nint ui, nint id, nint steps, int count, ref int step, in NativeTourOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "steps", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "step", "type": "ref int" }, { "name": "opts", "type": "in NativeTourOpts" }], "summary": "What happened this frame: one of CUI_TOUR_*." }, { "name": "TreeSort", "kind": "method", "id": "method|TreeSort|1|0|int|nint nodes;int nodeCount;int root;nint cmp;nint user||h79bd46996209a0fd369858d15348bb23447681cc8b613944658f76ba8529d25c", "signature": "static int TreeSort(nint nodes, int nodeCount, int root, nint cmp, nint user)", "parameters": [{ "name": "nodes", "type": "nint" }, { "name": "nodeCount", "type": "int" }, { "name": "root", "type": "int" }, { "name": "cmp", "type": "nint" }, { "name": "user", "type": "nint" }], "summary": "Sorts every sibling list (stable) by cmp, relinking the nodes. Returns the new first top level node." }, { "name": "TreeTableDepth", "kind": "method", "id": "method|TreeTableDepth|1|0|int|nint ui||hc408f5ee6df386b4c209cc868243614a0ed9d7c32fb85223d03be490a22102dc", "signature": "static int TreeTableDepth(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "depth of the current row, 0 at the top" }, { "name": "TreeTableRow", "kind": "method", "id": "method|TreeTableRow|1|0|int|nint ui||h9f2f1f1e2af816caaefbd73d6eb5c028cf4ca05ce516a6861b821ab370909f09", "signature": "static int TreeTableRow(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "The next row in view: returns its node, or -1 when done. Then build its cells: cui_tree_table_name first, then cui_data_grid_cell(_text)." }, { "name": "Treemap", "kind": "method", "id": "method|Treemap|1|0|int|nint ui;nint id;nint items;int count;in NativeTreemapOpts opts||hc1888700abb5f35fb2ed06350215c4685126a96420dc7007fe9df21a5d90613c", "signature": "static int Treemap(nint ui, nint id, nint items, int count, in NativeTreemapOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeTreemapOpts" }], "summary": "cui_treemap_ex" }, { "name": "UrlParams", "kind": "method", "id": "method|UrlParams|1|0|int|nint url;nint pairs;int cap||h4a23f39a17798b564160832286c89313233b789ff2c9d29b58ff79e7c2856e40", "signature": "static int UrlParams(nint url, nint pairs, int cap)", "parameters": [{ "name": "url", "type": "nint" }, { "name": "pairs", "type": "nint" }, { "name": "cap", "type": "int" }], "summary": "returns the pairs written" }, { "name": "Waffle", "kind": "method", "id": "method|Waffle|1|0|int|nint ui;nint id;nint items;int count;in NativeWaffleOpts opts||h91d5a6b00273ece9452eeaeb494d083c353c673614d055269b1169331a6b4ae4", "signature": "static int Waffle(nint ui, nint id, nint items, int count, in NativeWaffleOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeWaffleOpts" }], "summary": "cui_waffle_ex" }, { "name": "WeekCalendar", "kind": "method", "id": "method|WeekCalendar|1|0|int|nint ui;nint id;NativeDate weekStart;nint events;int count;in NativeWeekOpts opts||hbb095a1e64e8bbd711e67c7cfcdb9a58e9f785211803178c11cd6f1bf8b7b015", "signature": "static int WeekCalendar(nint ui, nint id, NativeDate weekStart, nint events, int count, in NativeWeekOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "weekStart", "type": "NativeDate" }, { "name": "events", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeWeekOpts" }], "summary": "cui_week_calendar_ex" }, { "name": "AccentName", "kind": "method", "id": "method|AccentName|1|0|nint|Accent accent||h706d6dd77c55c7ddda285af111782b2f11f32d8769bbf2cb681be21d5ac8ada9", "signature": "static nint AccentName(Accent accent)", "parameters": [{ "name": "accent", "type": "Accent" }], "summary": "cui_accent_name" }, { "name": "AppBackend", "kind": "method", "id": "method|AppBackend|1|0|nint|nint app||h52b17123ad3c9d4bd9d419ef74b1e518ec62cddbbec3c96e735713a188ef3647", "signature": "static nint AppBackend(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "Name of the active backend: \u0022win32\u0022, \u0022cocoa\u0022, \u0022x11\u0022, \u0022sdl2\u0022, \u0022glfw\u0022." }, { "name": "AppCreate", "kind": "method", "id": "method|AppCreate|1|0|nint|in NativeAppDesc desc||h35637a56c67acf9c38029480b98d63c25370c8a38b76ad57061048a14e7b3835", "signature": "static nint AppCreate(in NativeAppDesc desc)", "parameters": [{ "name": "desc", "type": "in NativeAppDesc" }], "summary": "cui_app_create" }, { "name": "AppNativeWindow", "kind": "method", "id": "method|AppNativeWindow|1|0|nint|nint app||h64a22aaf8ee82f2330b25966dcae3689117de90e79ce550123e6d8e3ac44b8a3", "signature": "static nint AppNativeWindow(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "HWND, NSWindow*, X11 Window (cast to uintptr_t), SDL_Window* or GLFWwindow*." }, { "name": "AppUi", "kind": "method", "id": "method|AppUi|1|0|nint|nint app||h181845c0c76d32f823bb1ae6e8b1ac2ffa8da1e9507fababe6aacd5b36ca8787", "signature": "static nint AppUi(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "cui_app_ui" }, { "name": "Create", "kind": "method", "id": "method|Create|1|0|nint|in NativeCtxDesc desc||h4eb43e2edd735d5e2a219bc13dd5e7e88e8991d095f239299ba4c8d1e1becdb7", "signature": "static nint Create(in NativeCtxDesc desc)", "parameters": [{ "name": "desc", "type": "in NativeCtxDesc" }], "summary": "cui_create" }, { "name": "CronDescribe", "kind": "method", "id": "method|CronDescribe|1|0|nint|nint ui;nint cron||h786e314b78b7a1d02be17656e35b267435a967dc15aee3127a55a4c392f0761b", "signature": "static nint CronDescribe(nint ui, nint cron)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "cron", "type": "nint" }], "summary": "\u0022Every weekday at 09:30\u0022, in frame memory; NULL when invalid." }, { "name": "DroppedFile", "kind": "method", "id": "method|DroppedFile|1|0|nint|nint ui;int index||h47fbe595a1de4b0d7c2064f6bac755f6564e54de2ce919af26ca16d376f3a004", "signature": "static nint DroppedFile(nint ui, int index)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "index", "type": "int" }], "summary": "cui_dropped_file" }, { "name": "EmojiPicker", "kind": "method", "id": "method|EmojiPicker|1|0|nint|nint ui;nint id;in NativeEmojiPickerOpts opts||hd4a4fecb1d681bd9183b353fd4fcdfe846f9ec3cc23071692271717d065d270e", "signature": "static nint EmojiPicker(nint ui, nint id, in NativeEmojiPickerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeEmojiPickerOpts" }], "summary": "cui_emoji_picker_ex" }, { "name": "GetDrawData", "kind": "method", "id": "method|GetDrawData|1|0|nint|nint ui||h556e604418b97276b8abf660206d9ef57103fe5e6ce1b2e1b6830472e86d11d1", "signature": "static nint GetDrawData(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "Valid after cui_end_frame until the next cui_begin_frame." }, { "name": "GetStrings", "kind": "method", "id": "method|GetStrings|1|0|nint|nint ui||h76f1e0d35595d1e771ffc072c6754f0a77374e2794e542b92996eba3e6da5ab6", "signature": "static nint GetStrings(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "what was set, or NULL" }, { "name": "GlCreate", "kind": "method", "id": "method|GlCreate|1|0|nint|nint loader||haf2665bd70b61421a86f653e37f52a7a893a83f60b653d37f28c47443757d28c", "signature": "static nint GlCreate(nint loader)", "parameters": [{ "name": "loader", "type": "nint" }], "summary": "Create after the GL context is current. \u0060loader\u0060 resolves GL functions (wglGetProcAddress, glXGetProcAddress, SDL_GL_GetProcAddress, glfwGetProcAddress, ...). Returns NULL if the context lacks GL 3.3 / ES 3." }, { "name": "HttpMethodName", "kind": "method", "id": "method|HttpMethodName|1|0|nint|int method||hb7e8187e99b53389dc6e86e151d986b3cf309f38635df0577a3fe962daa521ae", "signature": "static nint HttpMethodName(int method)", "parameters": [{ "name": "method", "type": "int" }], "summary": "cui_http_method_name" }, { "name": "HttpReason", "kind": "method", "id": "method|HttpReason|1|0|nint|int status||h695531bbc242279e6965807c5ef206851620bc61925a48efc1c70490e259e991", "signature": "static nint HttpReason(int status)", "parameters": [{ "name": "status", "type": "int" }], "summary": "\u0022Not Found\u0022; \u0022\u0022 when unknown" }, { "name": "KeyName", "kind": "method", "id": "method|KeyName|1|0|nint|Key key||h33e5cc4941073359fa23837fde165bfa9ecb77851d42ec00ee3f76716ba7d095", "signature": "static nint KeyName(Key key)", "parameters": [{ "name": "key", "type": "Key" }], "summary": "cui_key_name" }, { "name": "LogGet", "kind": "method", "id": "method|LogGet|1|0|nint|in NativeLogBuffer buf;int i;nint text||h5eb523fd02830629ff354a65a7f0c9484a2db18400dd03d40b164c8544a52139", "signature": "static nint LogGet(in NativeLogBuffer buf, int i, nint text)", "parameters": [{ "name": "buf", "type": "in NativeLogBuffer" }, { "name": "i", "type": "int" }, { "name": "text", "type": "nint" }], "summary": "Line i (0 = oldest), or NULL when out of range. *text is terminated (and len bytes long)." }, { "name": "QueryOpName", "kind": "method", "id": "method|QueryOpName|1|0|nint|QueryType type;int op||hed4479b8d55e4aa5481e595c8b70182622151b68aad3431d8bad265aafd06359", "signature": "static nint QueryOpName(QueryType type, int op)", "parameters": [{ "name": "type", "type": "QueryType" }, { "name": "op", "type": "int" }], "summary": "the operators of a type: text \u0022is\u0022, \u0022is not\u0022, \u0022contains\u0022, \u0022does not contain\u0022, \u0022starts with\u0022, \u0022ends with\u0022; number \u0022=\u0022, \u0022!=\u0022, \u0022\u003E\u0022, \u0022\u003E=\u0022, \u0022\u003C\u0022, \u0022\u003C=\u0022; choice \u0022is\u0022, \u0022is not\u0022; bool \u0022is true\u0022, \u0022is false\u0022. NULL past the last." }, { "name": "ShortcutLabel", "kind": "method", "id": "method|ShortcutLabel|1|0|nint|nint ui;NativeKeyCombo combo||hfd8f3dac138b4eccd820249ccad5a1166cf9a64f912805326c24f1606089921a", "signature": "static nint ShortcutLabel(nint ui, NativeKeyCombo combo)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "combo", "type": "NativeKeyCombo" }], "summary": "cui_shortcut_label" }, { "name": "State", "kind": "method", "id": "method|State|1|0|nint|nint ui;uint id;nuint size||he77c93e7e985428e6413cee2cfa17096c39bbe25d2cc77c33b245fe378f87e67", "signature": "static nint State(nint ui, uint id, nuint size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "uint" }, { "name": "size", "type": "nuint" }], "summary": "Persistent per-id storage for your own components (zeroed on first use). State not used for about 300 frames is freed (and zeroed again if it comes back), so it suits what can be rebuilt. For resources held in it, such as textures, set a function that frees them: it runs when the state goes or the context is destroyed." }, { "name": "SwCreate", "kind": "method", "id": "method|SwCreate|1|0|nint|||h85597fbde117bcfd906be42a5c6a3ede7c97fcede8c3e83adaaf4bcd0d2a149f", "signature": "static nint SwCreate()", "summary": "cui_sw_create" }, { "name": "ThemeGet", "kind": "method", "id": "method|ThemeGet|1|0|nint|nint ui||h38d0e1dce01bdd529849c410dd4462bf3383282d767baa343a527aa15ef23465", "signature": "static nint ThemeGet(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "The active theme. Edit it to customize; changes apply next frame. Theme changes through cui_set_theme/cui_set_accent animate smoothly." }, { "name": "DockSave", "kind": "method", "id": "method|DockSave|1|0|nuint|nint ui;nint id;nint buf;nuint cap||h97cbdd62c2deb4dfc5b9e1466366ff222261a2fc5d0d7c5961bd9281c01921ae", "signature": "static nuint DockSave(nint ui, nint id, nint buf, nuint cap)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "nint" }, { "name": "cap", "type": "nuint" }], "summary": "Saved layout: one line, e.g. dock1 h0.22([*Scene tree,Assets],v0.7([*Viewport],[*Log,-Console])) h splits side by side and v stacks, the number is the first child\u0027s share, [..] is a leaf\u0027s tabs in order, * the selected tab, - a closed panel; a backslash escapes , [ ] ( ) and itself in names. cui_dock_save returns the full length (as snprintf does) and writes what fits, or 0 when there is no layout. cui_dock_load replaces the layout (and sets each panel\u0027s *open from it on its next frame); names it does not know yet are kept for when they appear. Malformed text returns false and changes nothing." }, { "name": "ImageCreate", "kind": "method", "id": "method|ImageCreate|1|0|nuint|nint ui;int w;int h;nint rgba||hd066d185cd3b97f795c55dd3af8098c6b7c44dee971f48783ce88732f7052b23", "signature": "static nuint ImageCreate(nint ui, int w, int h, nint rgba)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "w", "type": "int" }, { "name": "h", "type": "int" }, { "name": "rgba", "type": "nint" }], "summary": "Images" }, { "name": "ImageLoad", "kind": "method", "id": "method|ImageLoad|1|0|nuint|nint ui;nint path;ref int w;ref int h||h4155150152dbc3dd6f4802b7f2095f0a203c7e60cab7ed364e860a8bdf930947", "signature": "static nuint ImageLoad(nint ui, nint path, ref int w, ref int h)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "path", "type": "nint" }, { "name": "w", "type": "ref int" }, { "name": "h", "type": "ref int" }], "summary": "PNG/JPEG via stb_image" }, { "name": "QueryText", "kind": "method", "id": "method|QueryText|1|0|nuint|nint fields;int fieldCount;nint nodes;int count;nint out;nuint cap||hbd3cb3c6609b3e3305c99214b7e32085614fc24e222ea232c2e5bea8e8c1cd69", "signature": "static nuint QueryText(nint fields, int fieldCount, nint nodes, int count, nint @out, nuint cap)", "parameters": [{ "name": "fields", "type": "nint" }, { "name": "fieldCount", "type": "int" }, { "name": "nodes", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "out", "type": "nint" }, { "name": "cap", "type": "nuint" }], "summary": "cui_query_text" }, { "name": "BoxBegin", "kind": "method", "id": "method|BoxBegin|1|0|uint|nint ui;in NativeBox opts||h78b4f546a22c8dcff5d224c08405fd0b5e2821851dcdb4e55096c0e8693f0956", "signature": "static uint BoxBegin(nint ui, in NativeBox opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "opts", "type": "in NativeBox" }], "summary": "cui_box_begin" }, { "name": "ColumnBegin", "kind": "method", "id": "method|ColumnBegin|1|0|uint|nint ui;in NativeBox opts||h45c09e63ed196b77333af8e46712ff2505cc3f8bcc07a627029a9cd094146d62", "signature": "static uint ColumnBegin(nint ui, in NativeBox opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "opts", "type": "in NativeBox" }], "summary": "cui_column_begin" }, { "name": "LastId", "kind": "method", "id": "method|LastId|1|0|uint|nint ui||h83f5914b8fbddf1b6874121e162f8f3564ee535fdfd0aa48b3aedc3f658526e2", "signature": "static uint LastId(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "The id and rectangle of the most recent component (for tooltips, popovers)." }, { "name": "MakeId", "kind": "method", "id": "method|MakeId|1|0|uint|nint ui;nint str||h810e16e55563121eca53f068456f007d3a658359e80b4d6baf960fb19eda3a49", "signature": "static uint MakeId(nint ui, nint str)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "str", "type": "nint" }], "summary": "cui_make_id" }, { "name": "RowBegin", "kind": "method", "id": "method|RowBegin|1|0|uint|nint ui;in NativeBox opts||h51dd108e72913a38e43c2096668b66dca76f36804a325a70e49280eba7b71acd", "signature": "static uint RowBegin(nint ui, in NativeBox opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "opts", "type": "in NativeBox" }], "summary": "cui_row_begin" }, { "name": "FrameCount", "kind": "method", "id": "method|FrameCount|1|0|ulong|nint ui||hb2e86c14dd9b07f2eea60b7c8d55b65e02ffff62e411ee7cb0672b10e126b5b9", "signature": "static ulong FrameCount(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_frame_count" }, { "name": "AccordionEnd", "kind": "method", "id": "method|AccordionEnd|1|0|void|nint ui||h3d97ebd000bc2ec6e1a7150b220a9becc237dc2bba7aded857d0ea19c78017a0", "signature": "static void AccordionEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_accordion_end" }, { "name": "AgentStatus", "kind": "method", "id": "method|AgentStatus|1|0|void|nint ui;nint text;in NativeAgentStatusOpts opts||h3677239a52459a84a94838abb70788ec3897854d3ce45365570b8f83594a74ae", "signature": "static void AgentStatus(nint ui, nint text, in NativeAgentStatusOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeAgentStatusOpts" }], "summary": "cui_agent_status_ex" }, { "name": "AppDestroy", "kind": "method", "id": "method|AppDestroy|1|0|void|nint app||hc989924b2fd6d017f98d26fff662487b516cbab9500766f46d09255919df7950", "signature": "static void AppDestroy(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "cui_app_destroy" }, { "name": "AppQuit", "kind": "method", "id": "method|AppQuit|1|0|void|nint app||hd6cde514c822ba2738ba9206f51fb83f9f92c4b6dc7b57f3205c1b2ec2155ce0", "signature": "static void AppQuit(nint app)", "parameters": [{ "name": "app", "type": "nint" }], "summary": "The functions below take NULL for \u0022the app that is running\u0022, which is how a cui_app_run callback reaches its window: cui_app_quit(NULL). Ends the loop after the current frame: cui_app_frame returns false, cui_app_run returns." }, { "name": "AppSetSize", "kind": "method", "id": "method|AppSetSize|1|0|void|nint app;int width;int height||hd48949a2e472726eb44e6fc0879c3ea5484809ef2886b68422478fd7bec09d5b", "signature": "static void AppSetSize(nint app, int width, int height)", "parameters": [{ "name": "app", "type": "nint" }, { "name": "width", "type": "int" }, { "name": "height", "type": "int" }], "summary": "The window\u0027s size in logical points (the same units as cui_app_desc.width)." }, { "name": "AppSetTitle", "kind": "method", "id": "method|AppSetTitle|1|0|void|nint app;nint title||ha3182099a994045166b2e57cb91f7e7db7a36a218a967dd2deb49aead615196e", "signature": "static void AppSetTitle(nint app, nint title)", "parameters": [{ "name": "app", "type": "nint" }, { "name": "title", "type": "nint" }], "summary": "cui_app_set_title" }, { "name": "Avatar", "kind": "method", "id": "method|Avatar|1|0|void|nint ui;nint name;in NativeAvatarOpts opts||ha7c7fbd501ba6d9a9d0c85f18993dbc5f695aefb665ecd71a483b21a8c3377ee", "signature": "static void Avatar(nint ui, nint name, in NativeAvatarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "name", "type": "nint" }, { "name": "opts", "type": "in NativeAvatarOpts" }], "summary": "cui_avatar_ex" }, { "name": "AvatarGroup", "kind": "method", "id": "method|AvatarGroup|1|0|void|nint ui;nint names;int count;int maxVisible;float size||hd3b5566e6c93bb5d7fae387200441ac86d6327854ecf6e3c4a06b607f77bcffe", "signature": "static void AvatarGroup(nint ui, nint names, int count, int maxVisible, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "names", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "maxVisible", "type": "int" }, { "name": "size", "type": "float" }], "summary": "cui_avatar_group" }, { "name": "Badge", "kind": "method", "id": "method|Badge|1|0|void|nint ui;nint text;in NativeBadgeOpts opts||h4c699e61ab328131bdd5a979f9042f4fafff7936f9a9a83e0f2d684598518848", "signature": "static void Badge(nint ui, nint text, in NativeBadgeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeBadgeOpts" }], "summary": "cui_badge_ex" }, { "name": "BarChart", "kind": "method", "id": "method|BarChart|1|0|void|nint ui;nint id;nint series;int count;in NativeChartOpts opts||haf0da3ee52487e3934a5089881f58e28122f995fc45f0b8639ffb1e8b41e372c", "signature": "static void BarChart(nint ui, nint id, nint series, int count, in NativeChartOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "series", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeChartOpts" }], "summary": "cui_bar_chart_ex" }, { "name": "BeginFrame", "kind": "method", "id": "method|BeginFrame|1|0|void|nint ui;float dt||h0577f006e4965cf88c6cd51c68044ddf72298474e56596fcd27493fea2d564f7", "signature": "static void BeginFrame(nint ui, float dt)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "dt", "type": "float" }], "summary": "dt is the time since the previous frame in seconds." }, { "name": "BoxEnd", "kind": "method", "id": "method|BoxEnd|1|0|void|nint ui||h4d9efc3d8f8ab981898dbe51c6008187153af8998858cae8e0858f28c2551207", "signature": "static void BoxEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_box_end" }, { "name": "ButtonGroupBegin", "kind": "method", "id": "method|ButtonGroupBegin|1|0|void|nint ui||h0be043c8228e09eadff1fdf48fdf8a66080fd96c5ef0e9b37c0cc15269b57f42", "signature": "static void ButtonGroupBegin(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "Connected buttons. Put buttons between begin and end." }, { "name": "ButtonGroupEnd", "kind": "method", "id": "method|ButtonGroupEnd|1|0|void|nint ui||h02a77719946880966ef2607e9618fff0d27e7c0065a03aab8a008dd70e998a12", "signature": "static void ButtonGroupEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_button_group_end" }, { "name": "CardEnd", "kind": "method", "id": "method|CardEnd|1|0|void|nint ui||hb2b95a09c234214774fc081e54ee7667e81fa37a371cd5d16ce1480dfdb60c4d", "signature": "static void CardEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_card_end" }, { "name": "CardStackBegin", "kind": "method", "id": "method|CardStackBegin|1|0|void|nint ui;nint id;int count;in NativeCardStackOpts opts||h3d0bcb79a71984d808a89084a4967995247c9e125c4ca94c2b207e6b96afc939", "signature": "static void CardStackBegin(nint ui, nint id, int count, in NativeCardStackOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeCardStackOpts" }], "summary": "cui_card_stack_begin" }, { "name": "CardStackItemBegin", "kind": "method", "id": "method|CardStackItemBegin|1|0|void|nint ui;int depth||h8d8dd4e573301cd6d4e5489717cedafd511c28b35aa8d35537bd8de8eea7a3e7", "signature": "static void CardStackItemBegin(nint ui, int depth)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "depth", "type": "int" }], "summary": "cui_card_stack_item_begin" }, { "name": "CardStackItemEnd", "kind": "method", "id": "method|CardStackItemEnd|1|0|void|nint ui||h1da0d16400e5185d4662ae573e720650ce7b2bbaf941ee9a7b61b6e2a81c2d30", "signature": "static void CardStackItemEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_card_stack_item_end" }, { "name": "CarouselEnd", "kind": "method", "id": "method|CarouselEnd|1|0|void|nint ui||h88ea0dcb5f23fd135d74954d156bc1ff125fdb2bd9df4ec846916a88306bff74", "signature": "static void CarouselEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_carousel_end" }, { "name": "CarouselSlideBegin", "kind": "method", "id": "method|CarouselSlideBegin|1|0|void|nint ui||h3599a68cab9230fb08a3258faaddefe1ad6161a4751519cf1c5a7b1f3d05b88c", "signature": "static void CarouselSlideBegin(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_carousel_slide_begin" }, { "name": "CarouselSlideEnd", "kind": "method", "id": "method|CarouselSlideEnd|1|0|void|nint ui||h9d93eb90d33062dc61cddff987460dea38282ff61648715c18c958d279799780", "signature": "static void CarouselSlideEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_carousel_slide_end" }, { "name": "ChatDivider", "kind": "method", "id": "method|ChatDivider|1|0|void|nint ui;nint label||hfd5fbcb1a8c9848c9cae6bcfb8ace33dea4f91925d47c2ec2a7a551ecaddc080", "signature": "static void ChatDivider(nint ui, nint label)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }], "summary": "\u0022Today\u0022" }, { "name": "ChatMessage", "kind": "method", "id": "method|ChatMessage|1|0|void|nint ui;nint text;in NativeChatOpts opts||h9e6d0b3029b5c2a5c4d1d658db09d4bc4ff66df880e976004f40e1ef92503075", "signature": "static void ChatMessage(nint ui, nint text, in NativeChatOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeChatOpts" }], "summary": "cui_chat_message_ex" }, { "name": "Code", "kind": "method", "id": "method|Code|1|0|void|nint ui;nint text||h99721e62b2be9508d09c56055eece668035a2c7fc409d3f008528fbea17ed941", "signature": "static void Code(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "inline code" }, { "name": "CodeBlock", "kind": "method", "id": "method|CodeBlock|1|0|void|nint ui;nint id;nint code;in NativeCodeOpts opts||hc751583c23a944f06a82072454dab93ff848eaf6a783795ed53ef837152ce5bf", "signature": "static void CodeBlock(nint ui, nint id, nint code, in NativeCodeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "code", "type": "nint" }, { "name": "opts", "type": "in NativeCodeOpts" }], "summary": "cui_code_block_ex" }, { "name": "CodeEditorFind", "kind": "method", "id": "method|CodeEditorFind|1|0|void|nint ui;nint id;nint query||h86eb240d8430ac800b8696eaf2e4dde832bb2d4df1029cefecb3cc66b188f092", "signature": "static void CodeEditorFind(nint ui, nint id, nint query)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "query", "type": "nint" }], "summary": "Opens the find bar with query and selects the next match (NULL closes)." }, { "name": "CodeEditorGoto", "kind": "method", "id": "method|CodeEditorGoto|1|0|void|nint ui;nint id;int line;int column||h9f1be9ecc4d2d37691a36fcc31fd91af3053120e20a573470af630765075c911", "signature": "static void CodeEditorGoto(nint ui, nint id, int line, int column)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "line", "type": "int" }, { "name": "column", "type": "int" }], "summary": "On the editor\u0027s next frame: put the caret at a line and column (1 based), focus the editor and scroll there. Call from the same id scope." }, { "name": "CodeEditorSelect", "kind": "method", "id": "method|CodeEditorSelect|1|0|void|nint ui;nint id;int anchor;int cursor||h3f435189695be2273ac362b4b8bb4c94c643bb1d5f309e0e171b605288490a7e", "signature": "static void CodeEditorSelect(nint ui, nint id, int anchor, int cursor)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "anchor", "type": "int" }, { "name": "cursor", "type": "int" }], "summary": "On the next frame: select bytes anchor..cursor, focus and scroll there." }, { "name": "ContextMenuEnd", "kind": "method", "id": "method|ContextMenuEnd|1|0|void|nint ui||h921a6627edea7d846f50a3e71d7b3e158ceadca1488f42e38e93435efd23a46f", "signature": "static void ContextMenuEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_context_menu_end" }, { "name": "ContextMeter", "kind": "method", "id": "method|ContextMeter|1|0|void|nint ui;nint id;float used;float limit;in NativeContextOpts opts||h47503ec60b3931c234feb4cd2d90839bdc3a1bb69dd18f89b089869f5a1c895d", "signature": "static void ContextMeter(nint ui, nint id, float used, float limit, in NativeContextOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "used", "type": "float" }, { "name": "limit", "type": "float" }, { "name": "opts", "type": "in NativeContextOpts" }], "summary": "cui_context_meter_ex" }, { "name": "Countdown", "kind": "method", "id": "method|Countdown|1|0|void|nint ui;nint id;double secondsLeft;in NativeCountdownOpts opts||hb12db0b3493545831fc11d40595fe30a6cf1b530f5533674661079b5ecc31292", "signature": "static void Countdown(nint ui, nint id, double secondsLeft, in NativeCountdownOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "secondsLeft", "type": "double" }, { "name": "opts", "type": "in NativeCountdownOpts" }], "summary": "cui_countdown_ex" }, { "name": "Counter", "kind": "method", "id": "method|Counter|1|0|void|nint ui;nint id;double value;in NativeCounterOpts opts||h0fe352fbd522ca0b3418a4868a6bc25bdd30bd5b7a45c3d575b696fa20480b07", "signature": "static void Counter(nint ui, nint id, double value, in NativeCounterOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "double" }, { "name": "opts", "type": "in NativeCounterOpts" }], "summary": "cui_counter_ex" }, { "name": "DataGridCell", "kind": "method", "id": "method|DataGridCell|1|0|void|nint ui||h73b91589e91a8d1c4fc2073886ea6ff3cd347f193f612e4c8ae3082fce77bb43", "signature": "static void DataGridCell(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "next cell; put components inside" }, { "name": "DataGridCellText", "kind": "method", "id": "method|DataGridCellText|1|0|void|nint ui;nint text||h370160bb44c12b1662d2a793b63e6c0a6aca8fae93f701d7e43389419aa2172a", "signature": "static void DataGridCellText(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "cui_data_grid_cell_text" }, { "name": "DataGridEnd", "kind": "method", "id": "method|DataGridEnd|1|0|void|nint ui||h5a5f8cdf9f134bef7b75a46527cce4859b6badb8313e4fe7ab28a5450fed97dc", "signature": "static void DataGridEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_data_grid_end" }, { "name": "Destroy", "kind": "method", "id": "method|Destroy|1|0|void|nint ui||h05cb071f6685432b523c0036d1761c8893330558489e46e6985cc34dd129a3fe", "signature": "static void Destroy(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_destroy" }, { "name": "DialogEnd", "kind": "method", "id": "method|DialogEnd|1|0|void|nint ui||h9bd7a6a951ef94643a54e664aad2535ec3a7207333a2d8e783d8149451981865", "signature": "static void DialogEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dialog_end" }, { "name": "DialogFooterBegin", "kind": "method", "id": "method|DialogFooterBegin|1|0|void|nint ui||hf839714f8840afc193f5a953838c7c6f9547c52a59b7f6be7bd0a708283b4307", "signature": "static void DialogFooterBegin(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "A right-aligned row for dialog actions." }, { "name": "DialogFooterEnd", "kind": "method", "id": "method|DialogFooterEnd|1|0|void|nint ui||h5d76c827818ed14d8e202fcabac61bc9196e05b890413440004aaddbec16e336", "signature": "static void DialogFooterEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dialog_footer_end" }, { "name": "DockBegin", "kind": "method", "id": "method|DockBegin|1|0|void|nint ui;nint id;in NativeDockOpts opts||h6f3edeceeaf66c008a7996f96822dbd6d090c09f8bf4cfc6d6b4e778e7d8b5f2", "signature": "static void DockBegin(nint ui, nint id, in NativeDockOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeDockOpts" }], "summary": "cui_dock_begin" }, { "name": "DockEnd", "kind": "method", "id": "method|DockEnd|1|0|void|nint ui||hb760c60156b670f25e6f5d8cbc9737800b9d21c04e9535b205b0ba253774446d", "signature": "static void DockEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dock_end" }, { "name": "DockPanelEnd", "kind": "method", "id": "method|DockPanelEnd|1|0|void|nint ui||h5de954501994a4036fa179afa8289522d9752e1163c4188891a0abae283ed03a", "signature": "static void DockPanelEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dock_panel_end" }, { "name": "DockSeparator", "kind": "method", "id": "method|DockSeparator|1|0|void|nint ui||h15a570c703a4ce8ae58a2b8b48ead6e62f25de766708db20c7715a8b4bbe3434", "signature": "static void DockSeparator(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dock_separator" }, { "name": "DockspaceBegin", "kind": "method", "id": "method|DockspaceBegin|1|0|void|nint ui;nint id;in NativeDockspaceOpts opts||h00aaa3e5f30c8089c428f17db11c00696eb0a3c959fa8a01013dcf8705152753", "signature": "static void DockspaceBegin(nint ui, nint id, in NativeDockspaceOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeDockspaceOpts" }], "summary": "cui_dockspace_begin_ex" }, { "name": "DockspaceEnd", "kind": "method", "id": "method|DockspaceEnd|1|0|void|nint ui||hdc6d3cdf73135422a36fc8ea6bb35188568f5636e9cb4b4fdcf94c091abdfd75", "signature": "static void DockspaceEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_dockspace_end" }, { "name": "DonutChart", "kind": "method", "id": "method|DonutChart|1|0|void|nint ui;nint id;nint values;nint labels;int count;in NativeChartOpts opts||hc0548e7a422b79e5d257e4b35eb6309134be0175ce42f28f063fbb6590f3223f", "signature": "static void DonutChart(nint ui, nint id, nint values, nint labels, int count, in NativeChartOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "values", "type": "nint" }, { "name": "labels", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeChartOpts" }], "summary": "cui_donut_chart_ex" }, { "name": "DotDisplay", "kind": "method", "id": "method|DotDisplay|1|0|void|nint ui;nint text;in NativeDotDisplayOpts opts||h259a6846b9d610b38dfbe145ca73079fbea83c4f8eb351d1e8e4120d2562a68f", "signature": "static void DotDisplay(nint ui, nint text, in NativeDotDisplayOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeDotDisplayOpts" }], "summary": "cui_dot_display_ex" }, { "name": "DrawArc", "kind": "method", "id": "method|DrawArc|1|0|void|nint ui;NativeVec2 center;float radius;float a0;float a1;float thickness;NativeColor color||h8295de68de771f7ea4b447a1b85536fc822114e72d10c5c5d5a8f77b855e8b65", "signature": "static void DrawArc(nint ui, NativeVec2 center, float radius, float a0, float a1, float thickness, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "center", "type": "NativeVec2" }, { "name": "radius", "type": "float" }, { "name": "a0", "type": "float" }, { "name": "a1", "type": "float" }, { "name": "thickness", "type": "float" }, { "name": "color", "type": "NativeColor" }], "summary": "cui_draw_arc" }, { "name": "DrawCircle", "kind": "method", "id": "method|DrawCircle|1|0|void|nint ui;NativeVec2 center;float radius;NativeColor color||hb2c7ac883387890ae23baf3494c5f980bbff8565f3aa92e4b1c68bfc815bc634", "signature": "static void DrawCircle(nint ui, NativeVec2 center, float radius, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "center", "type": "NativeVec2" }, { "name": "radius", "type": "float" }, { "name": "color", "type": "NativeColor" }], "summary": "cui_draw_circle" }, { "name": "DrawEmoji", "kind": "method", "id": "method|DrawEmoji|1|0|void|nint ui;nint utf8;int len;NativeRect r||h22f8e14bbcea26fad35db047ca50800680362cc351944170bc0ee2cd483f4cd6", "signature": "static void DrawEmoji(nint ui, nint utf8, int len, NativeRect r)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "utf8", "type": "nint" }, { "name": "len", "type": "int" }, { "name": "r", "type": "NativeRect" }], "summary": "cui_draw_emoji" }, { "name": "DrawIcon", "kind": "method", "id": "method|DrawIcon|1|0|void|nint ui;nint icon;NativeRect r;float size;NativeColor color||h5b0d1e4fd4dff20bc9477435bc42d68f4ad7d83a08f09a30a929c5edc919364b", "signature": "static void DrawIcon(nint ui, nint icon, NativeRect r, float size, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "icon", "type": "nint" }, { "name": "r", "type": "NativeRect" }, { "name": "size", "type": "float" }, { "name": "color", "type": "NativeColor" }], "summary": "cui_draw_icon" }, { "name": "DrawImage", "kind": "method", "id": "method|DrawImage|1|0|void|nint ui;nuint tex;NativeRect r;NativeRect uv;NativeCorners radius;NativeColor tint||h80dcecd6098295e3e8b542fa8741f2a2cf4a9419b577d024628a94127250ae6b", "signature": "static void DrawImage(nint ui, nuint tex, NativeRect r, NativeRect uv, NativeCorners radius, NativeColor tint)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "tex", "type": "nuint" }, { "name": "r", "type": "NativeRect" }, { "name": "uv", "type": "NativeRect" }, { "name": "radius", "type": "NativeCorners" }, { "name": "tint", "type": "NativeColor" }], "summary": "cui_draw_image" }, { "name": "DrawLine", "kind": "method", "id": "method|DrawLine|1|0|void|nint ui;NativeVec2 a;NativeVec2 b;float thickness;NativeColor color||he3578bcb0522121dfd056009e1b35d5d30a75130a7a38c0f51ed6d8fac4fc3b0", "signature": "static void DrawLine(nint ui, NativeVec2 a, NativeVec2 b, float thickness, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "a", "type": "NativeVec2" }, { "name": "b", "type": "NativeVec2" }, { "name": "thickness", "type": "float" }, { "name": "color", "type": "NativeColor" }], "summary": "cui_draw_line" }, { "name": "DrawPolygon", "kind": "method", "id": "method|DrawPolygon|1|0|void|nint ui;nint points;int count;NativeColor color||hee4fb990119035a52fcf521dd800de932f8242a1e8a16076d55dcf65f4100dc9", "signature": "static void DrawPolygon(nint ui, nint points, int count, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "points", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "color", "type": "NativeColor" }], "summary": "convex" }, { "name": "DrawPolyline", "kind": "method", "id": "method|DrawPolyline|1|0|void|nint ui;nint points;int count;float thickness;NativeColor color;byte closed||h4ad84f0066e3ab9a3a06cf60ccf987cb6bc98a64f0f3fcb9460f78bd3a809c8a", "signature": "static void DrawPolyline(nint ui, nint points, int count, float thickness, NativeColor color, byte closed)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "points", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "thickness", "type": "float" }, { "name": "color", "type": "NativeColor" }, { "name": "closed", "type": "byte" }], "summary": "cui_draw_polyline" }, { "name": "DrawRect", "kind": "method", "id": "method|DrawRect|1|0|void|nint ui;NativeRect r;NativeCorners radius;NativeColor fill||hfe26311cf9bae1a4548048b162121debfa9ed2c49fe5b6156697b75c61ef16ac", "signature": "static void DrawRect(nint ui, NativeRect r, NativeCorners radius, NativeColor fill)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "r", "type": "NativeRect" }, { "name": "radius", "type": "NativeCorners" }, { "name": "fill", "type": "NativeColor" }], "summary": "cui_draw_rect" }, { "name": "DrawRectBorder", "kind": "method", "id": "method|DrawRectBorder|1|0|void|nint ui;NativeRect r;NativeCorners radius;NativeColor fill;NativeColor border;float borderWidth||h0c3c3d48ab680a667e97dd2c382028f9c818564a905007232aaf41011f511106", "signature": "static void DrawRectBorder(nint ui, NativeRect r, NativeCorners radius, NativeColor fill, NativeColor border, float borderWidth)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "r", "type": "NativeRect" }, { "name": "radius", "type": "NativeCorners" }, { "name": "fill", "type": "NativeColor" }, { "name": "border", "type": "NativeColor" }, { "name": "borderWidth", "type": "float" }], "summary": "cui_draw_rect_border" }, { "name": "DrawRectGradient", "kind": "method", "id": "method|DrawRectGradient|1|0|void|nint ui;NativeRect r;NativeCorners radius;NativeColor top;NativeColor bottom||h20692c7cd3bd979d311205e190b3c434adb4e5c4e20999958918dc0db918ff41", "signature": "static void DrawRectGradient(nint ui, NativeRect r, NativeCorners radius, NativeColor top, NativeColor bottom)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "r", "type": "NativeRect" }, { "name": "radius", "type": "NativeCorners" }, { "name": "top", "type": "NativeColor" }, { "name": "bottom", "type": "NativeColor" }], "summary": "cui_draw_rect_gradient" }, { "name": "DrawShadow", "kind": "method", "id": "method|DrawShadow|1|0|void|nint ui;NativeRect r;NativeCorners radius;float blur;float spread;NativeVec2 offset;NativeColor color||hce3e65faa7aa8dc55c83a032ad2f23ad8dc999105f20b0bbfeaa1f774e1a49b3", "signature": "static void DrawShadow(nint ui, NativeRect r, NativeCorners radius, float blur, float spread, NativeVec2 offset, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "r", "type": "NativeRect" }, { "name": "radius", "type": "NativeCorners" }, { "name": "blur", "type": "float" }, { "name": "spread", "type": "float" }, { "name": "offset", "type": "NativeVec2" }, { "name": "color", "type": "NativeColor" }], "summary": "cui_draw_shadow" }, { "name": "DrawText", "kind": "method", "id": "method|DrawText|1|0|void|nint ui;Font font;float size;NativeVec2 pos;NativeColor color;nint text;int len||hc2f27110ba2d6fbe45d096508ff3fad13a507ee2bf39df0e0d443bc523e0c664", "signature": "static void DrawText(nint ui, Font font, float size, NativeVec2 pos, NativeColor color, nint text, int len)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "font", "type": "Font" }, { "name": "size", "type": "float" }, { "name": "pos", "type": "NativeVec2" }, { "name": "color", "type": "NativeColor" }, { "name": "text", "type": "nint" }, { "name": "len", "type": "int" }], "summary": "cui_draw_text" }, { "name": "Emoji", "kind": "method", "id": "method|Emoji|1|0|void|nint ui;nint utf8;float size||h03c0443d50e5a072c0253a97bce2fa8faee0949ec19ecd141417da32f8fd5329", "signature": "static void Emoji(nint ui, nint utf8, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "utf8", "type": "nint" }, { "name": "size", "type": "float" }], "summary": "one emoji as a component" }, { "name": "EndFrame", "kind": "method", "id": "method|EndFrame|1|0|void|nint ui||h31b18c88ba32cd1c6cff6cb5b6d37c8737f4f80a8df45b310f28cac1548a28e5", "signature": "static void EndFrame(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_end_frame" }, { "name": "ExpandableCardEnd", "kind": "method", "id": "method|ExpandableCardEnd|1|0|void|nint ui||h021bc28e25114a32e55f17a5833e96d5310be1e1406fcd3b8fb9953100360644", "signature": "static void ExpandableCardEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_expandable_card_end" }, { "name": "FlameSort", "kind": "method", "id": "method|FlameSort|1|0|void|nint spans;int count||h0991e6f38190c13942ffa39a630d77506b361220708585e719a9c35eb9d97659", "signature": "static void FlameSort(nint spans, int count)", "parameters": [{ "name": "spans", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "Sorts spans into the order the graph needs: by depth, then start (longer first on ties)." }, { "name": "FontAddFallback", "kind": "method", "id": "method|FontAddFallback|1|0|void|nint ui;Font font;Font fallback||hdf010fb946a48d289df8be37b90cfa127248a6b0b637cbf46fdbabcadaefefdc", "signature": "static void FontAddFallback(nint ui, Font font, Font fallback)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "font", "type": "Font" }, { "name": "fallback", "type": "Font" }], "summary": "Glyphs missing from \u0060font\u0060 are looked up in \u0060fallback\u0060 (e.g. CJK, emoji)." }, { "name": "FontSetRole", "kind": "method", "id": "method|FontSetRole|1|0|void|nint ui;Font role;Font font||habee93e00846743b067b5bc61fefcc6e9708412e2fa47530423be4dc7f05f0e7", "signature": "static void FontSetRole(nint ui, Font role, Font font)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "role", "type": "Font" }, { "name": "font", "type": "Font" }], "summary": "Replace one of the built-in roles (e.g. use your brand font as CUI_FONT_BODY)." }, { "name": "Gap", "kind": "method", "id": "method|Gap|1|0|void|nint ui;float size||h72ded2697cd72ab69e9854d5b60bbdab7d81198e2d51aafd8b161d9dad5f76f2", "signature": "static void Gap(nint ui, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "size", "type": "float" }], "summary": "fixed space" }, { "name": "Gauge", "kind": "method", "id": "method|Gauge|1|0|void|nint ui;nint label;float value;float size||h7f72645a7be87c086ff175cefaa6de27d61de542a45562f0ee65926cc4159201", "signature": "static void Gauge(nint ui, nint label, float value, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "float" }, { "name": "size", "type": "float" }], "summary": "cui_gauge" }, { "name": "GlDestroy", "kind": "method", "id": "method|GlDestroy|1|0|void|nint r||h0409b70021c2ece5ae11d86ffa0a1b54a38b4d8871d19f9fbc68a159a9368fec", "signature": "static void GlDestroy(nint r)", "parameters": [{ "name": "r", "type": "nint" }], "summary": "cui_gl_destroy" }, { "name": "GlReadPixels", "kind": "method", "id": "method|GlReadPixels|1|0|void|nint r;int width;int height;nint rgba||haee94127f9e202f09a7395d3fc94e7655c4b9dbdd1e3442de02294565ea69d3b", "signature": "static void GlReadPixels(nint r, int width, int height, nint rgba)", "parameters": [{ "name": "r", "type": "nint" }, { "name": "width", "type": "int" }, { "name": "height", "type": "int" }, { "name": "rgba", "type": "nint" }], "summary": "Reads the bound framebuffer into a top-down RGBA buffer." }, { "name": "GlRender", "kind": "method", "id": "method|GlRender|1|0|void|nint r;in NativeDrawData dd;byte clear||h28c93a9bcb0a414099f8be1f4ae2d08dfe74881324f5e398a8f7ca2b6342d2e2", "signature": "static void GlRender(nint r, in NativeDrawData dd, byte clear)", "parameters": [{ "name": "r", "type": "nint" }, { "name": "dd", "type": "in NativeDrawData" }, { "name": "clear", "type": "byte" }], "summary": "Renders into the currently bound framebuffer. Set clear to false when drawing the UI on top of your own scene." }, { "name": "GradientText", "kind": "method", "id": "method|GradientText|1|0|void|nint ui;nint text;in NativeGradientTextOpts opts||h6c797e7f12adc043c2730857e1e257efee47cd48a6574ca561e9edd7348d6eb3", "signature": "static void GradientText(nint ui, nint text, in NativeGradientTextOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeGradientTextOpts" }], "summary": "cui_gradient_text_ex" }, { "name": "Heading", "kind": "method", "id": "method|Heading|1|0|void|nint ui;nint text;int level||ha3ccb600076c2097c212a0b747c3a17ee1400a5050e89087bb278fa0d69c0a56", "signature": "static void Heading(nint ui, nint text, int level)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "level", "type": "int" }], "summary": "1..4" }, { "name": "HexViewGoto", "kind": "method", "id": "method|HexViewGoto|1|0|void|nint ui;nint id;nuint offset||h652ff40b89a50ddcfe94df2541bc6bcacff1078574e1e3f68cd4b49f07bffbf6", "signature": "static void HexViewGoto(nint ui, nint id, nuint offset)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "offset", "type": "nuint" }], "summary": "Go to offset: on the view\u0027s next frame its cursor moves to offset, that byte becomes the selection and it scrolls into view (to the middle when it was out of sight). Wire a \u0022Go to\u0022 field to it; it is safe to call every frame." }, { "name": "HoverCardEnd", "kind": "method", "id": "method|HoverCardEnd|1|0|void|nint ui||h5cfa5bf8fd516aeba07a65fa1d7553759b7ecd2643d8054765a4684f067d85fe", "signature": "static void HoverCardEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_hover_card_end" }, { "name": "Icon", "kind": "method", "id": "method|Icon|1|0|void|nint ui;nint icon;float size;NativeColor color||hfe918e7ebd91e9d0f04d1321aa645b768e0750e48e2f70701bdb84394c7e4bdb", "signature": "static void Icon(nint ui, nint icon, float size, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "icon", "type": "nint" }, { "name": "size", "type": "float" }, { "name": "color", "type": "NativeColor" }], "summary": "cui_icon" }, { "name": "Image", "kind": "method", "id": "method|Image|1|0|void|nint ui;nuint tex;in NativeImageOpts opts||h46d3bd25f42e44e36fb57f73efa84b4a6db4adb78527d895d2e47bc3c110a386", "signature": "static void Image(nint ui, nuint tex, in NativeImageOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "tex", "type": "nuint" }, { "name": "opts", "type": "in NativeImageOpts" }], "summary": "cui_image_ex" }, { "name": "ImageDestroy", "kind": "method", "id": "method|ImageDestroy|1|0|void|nint ui;nuint tex||h8e51e8b79329b7fc75974cca89c9f82af337ea77de536984eaa9ed8699237678", "signature": "static void ImageDestroy(nint ui, nuint tex)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "tex", "type": "nuint" }], "summary": "cui_image_destroy" }, { "name": "InputFileDrop", "kind": "method", "id": "method|InputFileDrop|1|0|void|nint ui;nint paths;int count;float x;float y||h2dc0aedb8bd58c5dabe372e22f6a7c5338330b523568883aae3c63281400af28", "signature": "static void InputFileDrop(nint ui, nint paths, int count, float x, float y)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "paths", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "x", "type": "float" }, { "name": "y", "type": "float" }], "summary": "cui_input_file_drop" }, { "name": "InputFileHover", "kind": "method", "id": "method|InputFileHover|1|0|void|nint ui;byte hovering;float x;float y||hfce5ebf2d37de57aeea32ce290ddb90f6a34478a69e1b80e64e15369c054cfe1", "signature": "static void InputFileHover(nint ui, byte hovering, float x, float y)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "hovering", "type": "byte" }, { "name": "x", "type": "float" }, { "name": "y", "type": "float" }], "summary": "Files dragged from the OS: hover while a drag is over the window (where the platform reports it), then the drop itself. Paths are UTF-8 and copied." }, { "name": "InputFocus", "kind": "method", "id": "method|InputFocus|1|0|void|nint ui;byte windowFocused||hb9c96e7b6b0b4495072fdbfc2b45487d04e64d46106d311f6b41f9ca0979dd5b", "signature": "static void InputFocus(nint ui, byte windowFocused)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "windowFocused", "type": "byte" }], "summary": "cui_input_focus" }, { "name": "InputKey", "kind": "method", "id": "method|InputKey|1|0|void|nint ui;Key key;byte down;int mods||he9e25baee090dd81f87a3359f812b0affe80d87f185a5e496c5f94d4d600b4a7", "signature": "static void InputKey(nint ui, Key key, byte down, int mods)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "key", "type": "Key" }, { "name": "down", "type": "byte" }, { "name": "mods", "type": "int" }], "summary": "cui_input_key" }, { "name": "InputMouseButton", "kind": "method", "id": "method|InputMouseButton|1|0|void|nint ui;MouseButton button;byte down||h6270e6c39ec308c89fdc117c2bc93e497b893943bf9c0f297eb3bc8bd9926c3c", "signature": "static void InputMouseButton(nint ui, MouseButton button, byte down)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "button", "type": "MouseButton" }, { "name": "down", "type": "byte" }], "summary": "cui_input_mouse_button" }, { "name": "InputMouseLeave", "kind": "method", "id": "method|InputMouseLeave|1|0|void|nint ui||h9036a64e5dd7d1da6320ba5086cefe6e3867e714461040256010cf82d367941e", "signature": "static void InputMouseLeave(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_input_mouse_leave" }, { "name": "InputMouseMove", "kind": "method", "id": "method|InputMouseMove|1|0|void|nint ui;float x;float y||hd0c123e0767faf579c286e823d9a962b112570997e9e663592cbd209faa1031a", "signature": "static void InputMouseMove(nint ui, float x, float y)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "x", "type": "float" }, { "name": "y", "type": "float" }], "summary": "cui_input_mouse_move" }, { "name": "InputScroll", "kind": "method", "id": "method|InputScroll|1|0|void|nint ui;float dx;float dy||hc8cbc117e3db6a84144252e54692e3b66351e54d1c46990d7afde3e8b30195a4", "signature": "static void InputScroll(nint ui, float dx, float dy)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "dx", "type": "float" }, { "name": "dy", "type": "float" }], "summary": "in lines; \u002Bdy scrolls up" }, { "name": "InputText", "kind": "method", "id": "method|InputText|1|0|void|nint ui;nint utf8||hfb99b27e7589d689af11e1f3b33b999fd83f8b96dfc59bfec214a2d9ed87e63c", "signature": "static void InputText(nint ui, nint utf8)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "utf8", "type": "nint" }], "summary": "cui_input_text" }, { "name": "InspectorEnd", "kind": "method", "id": "method|InspectorEnd|1|0|void|nint ui||hbae2a784f117cc7cf8fde59d927783452fb610145ee483403247a944453c2ee4", "signature": "static void InspectorEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_inspector_end" }, { "name": "KanbanBegin", "kind": "method", "id": "method|KanbanBegin|1|0|void|nint ui;nint id||h3a6b1c97ed7644e95a939ad84eb74872b36457939226042cb87047ea3415722c", "signature": "static void KanbanBegin(nint ui, nint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }], "summary": "cui_kanban_begin" }, { "name": "KanbanCardEnd", "kind": "method", "id": "method|KanbanCardEnd|1|0|void|nint ui||h6e4eb5e54f70e5e1b090f9fb90691e52a75493fc367b8dca9b723cf7fe51af88", "signature": "static void KanbanCardEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_kanban_card_end" }, { "name": "KanbanColumnEnd", "kind": "method", "id": "method|KanbanColumnEnd|1|0|void|nint ui||h9b6ffeadf22b51cea43f39f69a6c0af698e8dd7afba1ba450a994457d7bb3af5", "signature": "static void KanbanColumnEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_kanban_column_end" }, { "name": "Kbd", "kind": "method", "id": "method|Kbd|1|0|void|nint ui;nint keys||h9a69f5968b341ca3bc4847f30a367580e3a295109d39c5a22d98f4a2e4413d28", "signature": "static void Kbd(nint ui, nint keys)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "keys", "type": "nint" }], "summary": "keyboard keycap, e.g. \u0022Ctrl K\u0022" }, { "name": "Label", "kind": "method", "id": "method|Label|1|0|void|nint ui;nint text||h662088f013009dfe935af56487bec74180d254e361741c4e018b2fa56a1f0353", "signature": "static void Label(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "medium weight" }, { "name": "LineChart", "kind": "method", "id": "method|LineChart|1|0|void|nint ui;nint id;nint series;int count;in NativeChartOpts opts||hbafa428eb32bcb4432f697971202f9feb226e72be253d1846779b4c42195fc35", "signature": "static void LineChart(nint ui, nint id, nint series, int count, in NativeChartOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "series", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeChartOpts" }], "summary": "cui_line_chart_ex" }, { "name": "Loader", "kind": "method", "id": "method|Loader|1|0|void|nint ui;in NativeLoaderOpts opts||he7826de7d57fcc29cdd3f4f18ad2b445818fbe8e1dda524d58d9f0192869e1ef", "signature": "static void Loader(nint ui, in NativeLoaderOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "opts", "type": "in NativeLoaderOpts" }], "summary": "cui_loader_ex" }, { "name": "LogAppendText", "kind": "method", "id": "method|LogAppendText|1|0|void|ref NativeLogBuffer buf;LogLevel level;double time;nint text;int len||h4a7ed9d39233b97d0669e5a37da7ee40aa53dad0a7cf65470776649966b86e51", "signature": "static void LogAppendText(ref NativeLogBuffer buf, LogLevel level, double time, nint text, int len)", "parameters": [{ "name": "buf", "type": "ref NativeLogBuffer" }, { "name": "level", "type": "LogLevel" }, { "name": "time", "type": "double" }, { "name": "text", "type": "nint" }, { "name": "len", "type": "int" }], "summary": "Appends len bytes (-1: up to the terminator) stamped with time." }, { "name": "LogAppendv", "kind": "method", "id": "method|LogAppendv|1|0|void|ref NativeLogBuffer buf;LogLevel level;nint fmt;nint ap||hee49e56c9ba82b42b6b99183ff76f0f63f31b9ba7042c57f73ad71629d84df23", "signature": "static void LogAppendv(ref NativeLogBuffer buf, LogLevel level, nint fmt, nint ap)", "parameters": [{ "name": "buf", "type": "ref NativeLogBuffer" }, { "name": "level", "type": "LogLevel" }, { "name": "fmt", "type": "nint" }, { "name": "ap", "type": "nint" }], "summary": "cui_log_appendv" }, { "name": "LogClear", "kind": "method", "id": "method|LogClear|1|0|void|ref NativeLogBuffer buf||h7bae18e46b5b4237b0f1cd653cef0790433b1718a8ce8005293d709c247b6295", "signature": "static void LogClear(ref NativeLogBuffer buf)", "parameters": [{ "name": "buf", "type": "ref NativeLogBuffer" }], "summary": "cui_log_clear" }, { "name": "LogInit", "kind": "method", "id": "method|LogInit|1|0|void|ref NativeLogBuffer buf;nint lines;int lineCap;nint text;nuint textCap||h00f3179c5a7fabfc02fad6b1038a28c209c3e2c974c13ea73bbd0a2978eddee4", "signature": "static void LogInit(ref NativeLogBuffer buf, nint lines, int lineCap, nint text, nuint textCap)", "parameters": [{ "name": "buf", "type": "ref NativeLogBuffer" }, { "name": "lines", "type": "nint" }, { "name": "lineCap", "type": "int" }, { "name": "text", "type": "nint" }, { "name": "textCap", "type": "nuint" }], "summary": "cui_log_init" }, { "name": "LogView", "kind": "method", "id": "method|LogView|1|0|void|nint ui;nint id;ref NativeLogBuffer buf;in NativeLogViewOpts opts||h3bf31c940bcf0f123937456ea18917c5b12879732b8c742acf7864b43941bce8", "signature": "static void LogView(nint ui, nint id, ref NativeLogBuffer buf, in NativeLogViewOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "buf", "type": "ref NativeLogBuffer" }, { "name": "opts", "type": "in NativeLogViewOpts" }], "summary": "Toolbar: level filters, a search field that filters and highlights, Follow (keeps the newest line in view; scrolling up turns it off, reaching the bottom turns it back on), Copy (selected lines, or all shown) and Clear. Click a line to select it, Shift\u002Bclick for a range; with the list focused, arrows move, Shift\u002Barrows extend, Ctrl\u002BA selects all, Ctrl\u002BC copies, Esc clears the selection, End follows again." }, { "name": "MenuBarBegin", "kind": "method", "id": "method|MenuBarBegin|1|0|void|nint ui;nint id;in NativeMenuBarOpts opts||h2d170d38dd10fffeba6f35c2286b8e949c1277d362990277a723f1c7f53c2061", "signature": "static void MenuBarBegin(nint ui, nint id, in NativeMenuBarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeMenuBarOpts" }], "summary": "cui_menu_bar_begin" }, { "name": "MenuBarEnd", "kind": "method", "id": "method|MenuBarEnd|1|0|void|nint ui||hb13e4f4b0dcb3f8fd8d21d8b00ea5fa6017723b169df7398cf86511fddc6e8f3", "signature": "static void MenuBarEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_menu_bar_end" }, { "name": "MenuBarMenuEnd", "kind": "method", "id": "method|MenuBarMenuEnd|1|0|void|nint ui||hed83615b225f71ed8013d397272be3081c1221a7036bbee6e4346e0c6777179f", "signature": "static void MenuBarMenuEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_menu_bar_menu_end" }, { "name": "MenuEnd", "kind": "method", "id": "method|MenuEnd|1|0|void|nint ui||hd514b968798469a91f7171fc3c11d2bc443560fedb439de13a6107be3c6a544b", "signature": "static void MenuEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_menu_end" }, { "name": "MenuLabel", "kind": "method", "id": "method|MenuLabel|1|0|void|nint ui;nint text||ha4b8ad0e5b82fc1548f6ba84530f37adf4d9f0a532b3709d195d073699bcac3d", "signature": "static void MenuLabel(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "cui_menu_label" }, { "name": "MenuSeparator", "kind": "method", "id": "method|MenuSeparator|1|0|void|nint ui||h43baafe94729515380b87ebc65483aa6d85741aeb6bba325ece2d1eabae0797a", "signature": "static void MenuSeparator(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_menu_separator" }, { "name": "Meter", "kind": "method", "id": "method|Meter|1|0|void|nint ui;nint label;float used;float total;nint unit||h30ed539c27876837b8db7a1089daa25a6062adad4a0f9d03e8ada4e2ee7b7543", "signature": "static void Meter(nint ui, nint label, float used, float total, nint unit)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "used", "type": "float" }, { "name": "total", "type": "float" }, { "name": "unit", "type": "nint" }], "summary": "cui_meter" }, { "name": "Metric", "kind": "method", "id": "method|Metric|1|0|void|nint ui;nint label;nint value;in NativeMetricOpts opts||h523a868a2b31da0883e292d982d5cac253880c98471f114d39a6aa1967937f65", "signature": "static void Metric(nint ui, nint label, nint value, in NativeMetricOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "nint" }, { "name": "opts", "type": "in NativeMetricOpts" }], "summary": "cui_metric_ex" }, { "name": "Muted", "kind": "method", "id": "method|Muted|1|0|void|nint ui;nint text||hdda682be0e03b2adcd33ac4733279d81dcae507f3677762d1bbd5faa3973441d", "signature": "static void Muted(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "small, muted" }, { "name": "NavSection", "kind": "method", "id": "method|NavSection|1|0|void|nint ui;nint title||h6cda75c653da98b8d8a4e1d3184c2f0372398fe655428979078fb1b9830a64f3", "signature": "static void NavSection(nint ui, nint title)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }], "summary": "cui_nav_section" }, { "name": "NodeContentBegin", "kind": "method", "id": "method|NodeContentBegin|1|0|void|nint ui||h8aaeefd8936d2e56b0ac7cfd0e4fe1ec0163a3f32ead969c8a6b272cb8c33c33", "signature": "static void NodeContentBegin(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "A row for ordinary components. They are laid out at 100% and scaled with the view, so their text is sharpest at 100% zoom and below." }, { "name": "NodeContentEnd", "kind": "method", "id": "method|NodeContentEnd|1|0|void|nint ui||h8d1d8b82c2faed633dc8e3790241846c336d16db75745737aa16e5cdd4f03101", "signature": "static void NodeContentEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_node_content_end" }, { "name": "NodeEditorEnd", "kind": "method", "id": "method|NodeEditorEnd|1|0|void|nint ui||h8e2de39479bf3039a75ad1a43e67864e2fdedbcfa3d0ea17890714f79153cf0a", "signature": "static void NodeEditorEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_node_editor_end" }, { "name": "NodeEnd", "kind": "method", "id": "method|NodeEnd|1|0|void|nint ui||h776ebaba5480021545ebdcc94862ed3b0f4ad3392a425a74c78a1a85ae8f894c", "signature": "static void NodeEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_node_end" }, { "name": "NumberRoll", "kind": "method", "id": "method|NumberRoll|1|0|void|nint ui;nint id;nint text;in NativeTextFxOpts opts||hab625d06c0b1cdefddb6d8384378241c49e2b7ee8ad244ab3a68b2c5cd72a66b", "signature": "static void NumberRoll(nint ui, nint id, nint text, in NativeTextFxOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeTextFxOpts" }], "summary": "A figure whose changed digits roll into place: up when the value rises, down when it falls, a beat apart from the left; unchanged characters stay still. Pass the formatted text (\u0022$64,210\u0022, \u00221.2k\u0022); digits are tabular." }, { "name": "PathBarMenuEnd", "kind": "method", "id": "method|PathBarMenuEnd|1|0|void|nint ui||h997f537d82bf299ed326f925257b8510b206db162119f5f76a82e4c4c64949ff", "signature": "static void PathBarMenuEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_path_bar_menu_end" }, { "name": "PopClip", "kind": "method", "id": "method|PopClip|1|0|void|nint ui||h63c0504d7458e435fcb1ffd50d073429edcc2e5de95c4b16ded5217563b6dc92", "signature": "static void PopClip(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_pop_clip" }, { "name": "PopDisabled", "kind": "method", "id": "method|PopDisabled|1|0|void|nint ui||he2561f8c20dccea5c0d16cff7db5d33fa51f16e2405105c51b70cdf03d1cb051", "signature": "static void PopDisabled(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_pop_disabled" }, { "name": "PopId", "kind": "method", "id": "method|PopId|1|0|void|nint ui||hb10c43cb5fb600005cd12d82cd44778b6b2d85fcd1aa993b6d5ac4ad52c80022", "signature": "static void PopId(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_pop_id" }, { "name": "PopoverClose", "kind": "method", "id": "method|PopoverClose|1|0|void|nint ui;nint id||h77cfcef0fa0acec5febc68b8745c36a30c41f550fcf802f10f1f29ce3cb99f0b", "signature": "static void PopoverClose(nint ui, nint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }], "summary": "cui_popover_close" }, { "name": "PopoverEnd", "kind": "method", "id": "method|PopoverEnd|1|0|void|nint ui||h3a90dbcf8257c5a18ecbf028f1dd1f2b0738316b1e71ed2ed00b83ac007ae51b", "signature": "static void PopoverEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_popover_end" }, { "name": "PopoverOpen", "kind": "method", "id": "method|PopoverOpen|1|0|void|nint ui;nint id||he1d748eab3cdbe7c6819f4982df24d6dd06f0ba4256858420b9291cdc94efaeb", "signature": "static void PopoverOpen(nint ui, nint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }], "summary": "cui_popover_open" }, { "name": "PopoverToggle", "kind": "method", "id": "method|PopoverToggle|1|0|void|nint ui;nint id||hf969fb3316a6f58bf6652dd965ae15925db3bbf664294da71aef8af21d99664d", "signature": "static void PopoverToggle(nint ui, nint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }], "summary": "cui_popover_toggle" }, { "name": "Presence", "kind": "method", "id": "method|Presence|1|0|void|nint ui;nint id;nint users;int count;int maxVisible;float size||ha18a6116c23c2a9b36bda9eaba4ac8b6d4cef8d2512e11df8496374e2915d918", "signature": "static void Presence(nint ui, nint id, nint users, int count, int maxVisible, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "users", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "maxVisible", "type": "int" }, { "name": "size", "type": "float" }], "summary": "cui_presence" }, { "name": "Progress", "kind": "method", "id": "method|Progress|1|0|void|nint ui;float value;in NativeProgressOpts opts||ha6c27a7e9e6567cb5e505a6c043a703129bff9e7f726b7b8ee84206931d4ae3c", "signature": "static void Progress(nint ui, float value, in NativeProgressOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "value", "type": "float" }, { "name": "opts", "type": "in NativeProgressOpts" }], "summary": "cui_progress_ex" }, { "name": "ProgressRing", "kind": "method", "id": "method|ProgressRing|1|0|void|nint ui;nint label;float value;float size||hf23fdb90419b8cc9503afed3ebdd63578f6707f7e317f73a33cccdef064b21fd", "signature": "static void ProgressRing(nint ui, nint label, float value, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "float" }, { "name": "size", "type": "float" }], "summary": "Circular progress with the value in the middle." }, { "name": "PushClip", "kind": "method", "id": "method|PushClip|1|0|void|nint ui;NativeRect r||h5e48edf0962d24abc38b2b811582434e972f2fc2bbe2e43bf552cef8b8bdda49", "signature": "static void PushClip(nint ui, NativeRect r)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "r", "type": "NativeRect" }], "summary": "cui_push_clip" }, { "name": "PushDisabled", "kind": "method", "id": "method|PushDisabled|1|0|void|nint ui;byte disabled||h0491a2ed86913b2fc3fa8007bbf0284aaece1e82513ff70a1f38943a8495ee62", "signature": "static void PushDisabled(nint ui, byte disabled)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "disabled", "type": "byte" }], "summary": "cui_push_disabled" }, { "name": "PushId", "kind": "method", "id": "method|PushId|1|0|void|nint ui;nint str||h6fb92263648fbe47b124cd60a2bb1f0194b441b80b610b9f33550aa562437492", "signature": "static void PushId(nint ui, nint str)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "str", "type": "nint" }], "summary": "cui_push_id" }, { "name": "PushIdInt", "kind": "method", "id": "method|PushIdInt|1|0|void|nint ui;int value||h50055247580a4f4fa0392b341c835a51a52a72b4f34bb1f4c613242daeea3ecc", "signature": "static void PushIdInt(nint ui, int value)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "value", "type": "int" }], "summary": "cui_push_id_int" }, { "name": "RadialGauge", "kind": "method", "id": "method|RadialGauge|1|0|void|nint ui;nint id;float value;float min;float max;in NativeRadialGaugeOpts opts||h4f8518675e6c379418dc5d18483c1736619dcc5322b6ec788f182e70d2744138", "signature": "static void RadialGauge(nint ui, nint id, float value, float min, float max, in NativeRadialGaugeOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "value", "type": "float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "opts", "type": "in NativeRadialGaugeOpts" }], "summary": "cui_radial_gauge_ex" }, { "name": "Readout", "kind": "method", "id": "method|Readout|1|0|void|nint ui;nint label;nint value;in NativeReadoutOpts opts||h21a69b5704b1062e704a893fd4d073128609a3152161158d615cdb7d52ec4ab7", "signature": "static void Readout(nint ui, nint label, nint value, in NativeReadoutOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "value", "type": "nint" }, { "name": "opts", "type": "in NativeReadoutOpts" }], "summary": "cui_readout_ex" }, { "name": "ReasoningEnd", "kind": "method", "id": "method|ReasoningEnd|1|0|void|nint ui||h3d7a570a4d95899a623aba8b34225b94fe8e298223296a8b417ba68577277f1c", "signature": "static void ReasoningEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_reasoning_end" }, { "name": "ReorderBegin", "kind": "method", "id": "method|ReorderBegin|1|0|void|nint ui;nint id;ref int order;int count||h91b67144d6c858e6046d3e88798f968c4b7717073334cfb0e25b0e4e03429f65", "signature": "static void ReorderBegin(nint ui, nint id, ref int order, int count)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "order", "type": "ref int" }, { "name": "count", "type": "int" }], "summary": "Reorderable list: drag rows to reorder. \u0060order\u0060 holds your item indices in display order and is rewritten when a row is dropped. Build the rows in display order: for (i...) cui_reorder_item(ui, i) { draw item order[i] }. Returns true on the frame the order changes." }, { "name": "ReorderItemBegin", "kind": "method", "id": "method|ReorderItemBegin|1|0|void|nint ui;int position||hc8aab216de052d8eec1b27621290e2c67cf005624582def3cde53d7c629abf2d", "signature": "static void ReorderItemBegin(nint ui, int position)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "position", "type": "int" }], "summary": "cui_reorder_item_begin" }, { "name": "ReorderItemEnd", "kind": "method", "id": "method|ReorderItemEnd|1|0|void|nint ui||he5f9866dc46db08efe5e2ec97c8f7cb9dcaf3dda4dbec7c6cecb97404aa0cac2", "signature": "static void ReorderItemEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_reorder_item_end" }, { "name": "RequestRedraw", "kind": "method", "id": "method|RequestRedraw|1|0|void|nint ui||haa3c00370fae8d80bb9419af2e90690a039bfdc6b9696bf7ec766b11d67053b6", "signature": "static void RequestRedraw(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_request_redraw" }, { "name": "RequestWakeup", "kind": "method", "id": "method|RequestWakeup|1|0|void|nint ui;float seconds||h4c1697d95f098be55214b6596a6d2d431ababeb4b7aeee1a3a5c7b4c9ec1014d", "signature": "static void RequestWakeup(nint ui, float seconds)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "seconds", "type": "float" }], "summary": "Asks for a frame within this many seconds even with no input, for things that change on a timer (a clock, polling, a countdown). Call it each frame while it is needed; an idle app then sleeps until the soonest one instead of redrawing continuously." }, { "name": "ResponseStatus", "kind": "method", "id": "method|ResponseStatus|1|0|void|nint ui;int status;double seconds;double bytes||h6bf64977b38462ced090956d263a7ca82b23aaf9c4eb8826267ac35f603593a4", "signature": "static void ResponseStatus(nint ui, int status, double seconds, double bytes)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "status", "type": "int" }, { "name": "seconds", "type": "double" }, { "name": "bytes", "type": "double" }], "summary": "cui_response_status" }, { "name": "ScrollBegin", "kind": "method", "id": "method|ScrollBegin|1|0|void|nint ui;in NativeScrollOpts opts||hccf27da1d078b4595fdc9f11585d8d946c5ee619a7122ded6d4f0212402cf5c8", "signature": "static void ScrollBegin(nint ui, in NativeScrollOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "opts", "type": "in NativeScrollOpts" }], "summary": "cui_scroll_begin" }, { "name": "ScrollEnd", "kind": "method", "id": "method|ScrollEnd|1|0|void|nint ui||h5c13b2e28e6ee670888611965b36901a2f68e9b77c2798b783d4cd1039b6b9fb", "signature": "static void ScrollEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_scroll_end" }, { "name": "ScrollTo", "kind": "method", "id": "method|ScrollTo|1|0|void|nint ui;nint scrollId;float y||h23b87c2c57323b5eec317ad983e363d4a22bcfbeb280f4cee0e098567f3c4686", "signature": "static void ScrollTo(nint ui, nint scrollId, float y)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "scrollId", "type": "nint" }, { "name": "y", "type": "float" }], "summary": "cui_scroll_to" }, { "name": "Secondary", "kind": "method", "id": "method|Secondary|1|0|void|nint ui;nint text||h8c8af7950942ddc4910460d7cd39b63b771e005a78f3d6c721494d9c3c9e8a9b", "signature": "static void Secondary(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "secondary color" }, { "name": "Separator", "kind": "method", "id": "method|Separator|1|0|void|nint ui||h46e03a6322e7ff314ff9145e05fc878a8ef074c48477fdfa72eef15647ab1ce6", "signature": "static void Separator(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "hairline, follows the parent direction" }, { "name": "SetAccent", "kind": "method", "id": "method|SetAccent|1|0|void|nint ui;Accent accent||haaabdbf69a955a9add0a9acc324c39f604d971cd839fc29f7592edd0e72bd52e", "signature": "static void SetAccent(nint ui, Accent accent)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "accent", "type": "Accent" }], "summary": "cui_set_accent" }, { "name": "SetPlatform", "kind": "method", "id": "method|SetPlatform|1|0|void|nint ui;in NativePlatformIface platform||h622526b30b257fe65cd0827a815d82bd5b01d7a35bbec3fba719fcffbf9877a9", "signature": "static void SetPlatform(nint ui, in NativePlatformIface platform)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "platform", "type": "in NativePlatformIface" }], "summary": "cui_set_platform" }, { "name": "SetReducedMotion", "kind": "method", "id": "method|SetReducedMotion|1|0|void|nint ui;byte reduced||hf68a9d8f75523bd677993d42d4b723a079b2492a26f565814f77b0f795732b6a", "signature": "static void SetReducedMotion(nint ui, byte reduced)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "reduced", "type": "byte" }], "summary": "cui_set_reduced_motion" }, { "name": "SetRenderer", "kind": "method", "id": "method|SetRenderer|1|0|void|nint ui;in NativeRendererIface renderer||hdbd27894e6a941293fab67adf26129d544c8f69e78c535ee83fb40689647a17e", "signature": "static void SetRenderer(nint ui, in NativeRendererIface renderer)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "renderer", "type": "in NativeRendererIface" }], "summary": "cui_set_renderer" }, { "name": "SetStrings", "kind": "method", "id": "method|SetStrings|1|0|void|nint ui;nint strings||hf673ccc8351e0077ec04e8e52c88524e21f92c433996f4d11fb38d37f6ce3e4c", "signature": "static void SetStrings(nint ui, nint strings)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "strings", "type": "nint" }], "summary": "cui_set_strings" }, { "name": "SetTheme", "kind": "method", "id": "method|SetTheme|1|0|void|nint ui;Theme mode||he438c162911cf2b181388de75abb1e0fbfc9fccf62191c0c78a14324c8f8d67e", "signature": "static void SetTheme(nint ui, Theme mode)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "mode", "type": "Theme" }], "summary": "cui_set_theme" }, { "name": "SetViewport", "kind": "method", "id": "method|SetViewport|1|0|void|nint ui;float width;float height;float scale||hf74647d478ddd211eaf64bf0ca79714dd3761805f2dc0aeaa820806cdc485ce1", "signature": "static void SetViewport(nint ui, float width, float height, float scale)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "width", "type": "float" }, { "name": "height", "type": "float" }, { "name": "scale", "type": "float" }], "summary": "Size of the drawable area in logical points, and the scale to pixels (2.0 on a typical retina display)." }, { "name": "SheetEnd", "kind": "method", "id": "method|SheetEnd|1|0|void|nint ui||h755e8a9b487011b773092e6c07731052b68899276185054b447af8330fa23cef", "signature": "static void SheetEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_sheet_end" }, { "name": "ShimmerText", "kind": "method", "id": "method|ShimmerText|1|0|void|nint ui;nint text;in NativeTextFxOpts opts||hc19c7328a7355de44b28fdbfba2b3d8a03763b03b03d31b020777541cf193b87", "signature": "static void ShimmerText(nint ui, nint text, in NativeTextFxOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeTextFxOpts" }], "summary": "Text with a highlight sweeping across it, for \u0022Thinking...\u0022 states." }, { "name": "SignatureClear", "kind": "method", "id": "method|SignatureClear|1|0|void|nint ui;nint id||hc0eecd4bc3b717f1e8b91695f778ccd32566c7f13ed423d7e6b59f94052613c7", "signature": "static void SignatureClear(nint ui, nint id)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }], "summary": "cui_signature_clear" }, { "name": "Skeleton", "kind": "method", "id": "method|Skeleton|1|0|void|nint ui;NativeSize width;float height||hbc0c03c46cfd766c307600dc73e54a4ce856f1311af31af59206cbb964d0b537", "signature": "static void Skeleton(nint ui, NativeSize width, float height)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "width", "type": "NativeSize" }, { "name": "height", "type": "float" }], "summary": "cui_skeleton" }, { "name": "Spacer", "kind": "method", "id": "method|Spacer|1|0|void|nint ui||haf848915bff67f68bd2719ee3c0bba3024a1eb67d973fda3cb8f6fd6d8bda46d", "signature": "static void Spacer(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "flexible space" }, { "name": "Sparkline", "kind": "method", "id": "method|Sparkline|1|0|void|nint ui;nint values;int count;NativeSize width;float height;NativeColor color||h472c1899de78ca26befe4486df72311abfb910f99a70c749777e8bce3ead8e6c", "signature": "static void Sparkline(nint ui, nint values, int count, NativeSize width, float height, NativeColor color)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "values", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "width", "type": "NativeSize" }, { "name": "height", "type": "float" }, { "name": "color", "type": "NativeColor" }], "summary": "cui_sparkline" }, { "name": "Spinner", "kind": "method", "id": "method|Spinner|1|0|void|nint ui;float size||h79e05ad32fd9183b8abef18a003c42c2efb983f5f3dc41cb0d986befa1e14607", "signature": "static void Spinner(nint ui, float size)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "size", "type": "float" }], "summary": "cui_spinner" }, { "name": "SplitBegin", "kind": "method", "id": "method|SplitBegin|1|0|void|nint ui;nint id;ref float ratio;in NativeSplitOpts opts||h8e1cfc21d02f926a599a7b9fd32a463c34f116012625ed954ebabe3eda0b218c", "signature": "static void SplitBegin(nint ui, nint id, ref float ratio, in NativeSplitOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "ratio", "type": "ref float" }, { "name": "opts", "type": "in NativeSplitOpts" }], "summary": "cui_split_begin" }, { "name": "SplitEnd", "kind": "method", "id": "method|SplitEnd|1|0|void|nint ui||h3f556aa6a80585d876fdcab26d6a691809a4c59857fb96c820d7ce63f02567f5", "signature": "static void SplitEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_split_end" }, { "name": "SplitNext", "kind": "method", "id": "method|SplitNext|1|0|void|nint ui||h31dc7568501ad9f8fd786663ada605e96397f17a3b5d5da6ab7f9b6cc0f76982", "signature": "static void SplitNext(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_split_next" }, { "name": "SpotlightBegin", "kind": "method", "id": "method|SpotlightBegin|1|0|void|nint ui;nint id;in NativeSpotlightOpts opts||h963693d8664d583e71befca392e8b3c9a5ba239feb7aaf2df1083b5a16a5557f", "signature": "static void SpotlightBegin(nint ui, nint id, in NativeSpotlightOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeSpotlightOpts" }], "summary": "cui_spotlight_begin" }, { "name": "SpotlightEnd", "kind": "method", "id": "method|SpotlightEnd|1|0|void|nint ui||h0c73da51d3dde86dbb2ef775471416fa9b9baa4fe4d82d5379a1a0874cda7890", "signature": "static void SpotlightEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_spotlight_end" }, { "name": "StateOnFree", "kind": "method", "id": "method|StateOnFree|1|0|void|nint ui;uint id;nint fn||h14b5dc9f39df6208158ac8c6ae25df41995cc8a66f0fd49778bd67518233fb53", "signature": "static void StateOnFree(nint ui, uint id, nint fn)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "uint" }, { "name": "fn", "type": "nint" }], "summary": "Part of cui_state \u2014 Persistent per-id storage for your own components (zeroed on first use). State not used for about 300 frames is freed (and zeroed again if it comes back), so it suits what can be rebuilt. For resources held in it, such as textures, set a function that frees them: it runs when the state goes or the context is destroyed." }, { "name": "StatusBarBegin", "kind": "method", "id": "method|StatusBarBegin|1|0|void|nint ui;nint id;in NativeStatusBarOpts opts||h0ab9af3979891707f59e475e805ef3326b8e428b0787763856b3bb5f91e167d1", "signature": "static void StatusBarBegin(nint ui, nint id, in NativeStatusBarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeStatusBarOpts" }], "summary": "cui_status_bar_begin" }, { "name": "StatusBarEnd", "kind": "method", "id": "method|StatusBarEnd|1|0|void|nint ui||hfe889f07a7b2493dd34050626f8b25502ec3780753f2da61e485cf5851b53a8f", "signature": "static void StatusBarEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_status_bar_end" }, { "name": "StatusBarProgress", "kind": "method", "id": "method|StatusBarProgress|1|0|void|nint ui;float value;in NativeStatusProgressOpts opts||h2e2514329347cd72bc4da650e5035a15a358812e6c7d0653a7530568ee5e6bd7", "signature": "static void StatusBarProgress(nint ui, float value, in NativeStatusProgressOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "value", "type": "float" }, { "name": "opts", "type": "in NativeStatusProgressOpts" }], "summary": "cui_status_bar_progress_ex" }, { "name": "StatusBarSpacer", "kind": "method", "id": "method|StatusBarSpacer|1|0|void|nint ui||h6f6ec7af809873713139db42be67fec0525aab67fc40f3fb3a4e4d13b9364c23", "signature": "static void StatusBarSpacer(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_status_bar_spacer" }, { "name": "StatusBarText", "kind": "method", "id": "method|StatusBarText|1|0|void|nint ui;nint text;in NativeStatusItemOpts opts||h932eb9ea317e3daa001764723c6e67f68d748dbf6010f7d85aa4976712031b71", "signature": "static void StatusBarText(nint ui, nint text, in NativeStatusItemOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeStatusItemOpts" }], "summary": "A message; \u0060tone\u0060 colors its icon." }, { "name": "Stepper", "kind": "method", "id": "method|Stepper|1|0|void|nint ui;nint steps;int count;int current||h6dc16579869bceefc9c1731229696cb78560f6f3caab3b13b0b3de481ac33cc1", "signature": "static void Stepper(nint ui, nint steps, int count, int current)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "steps", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "current", "type": "int" }], "summary": "cui_stepper" }, { "name": "SwDestroy", "kind": "method", "id": "method|SwDestroy|1|0|void|nint r||h0be21b0a0affe749f9f0be7261a36a00aeaf8b0842dec23c6d43e92f8dfd56ad", "signature": "static void SwDestroy(nint r)", "parameters": [{ "name": "r", "type": "nint" }], "summary": "cui_sw_destroy" }, { "name": "SwRender", "kind": "method", "id": "method|SwRender|1|0|void|nint r;in NativeDrawData dd;nint pixels;int width;int height;int stride;SwFormat format||h925ce92039facee940d37c72a24d58ed861e8d2428f045e01248136712bd27d3", "signature": "static void SwRender(nint r, in NativeDrawData dd, nint pixels, int width, int height, int stride, SwFormat format)", "parameters": [{ "name": "r", "type": "nint" }, { "name": "dd", "type": "in NativeDrawData" }, { "name": "pixels", "type": "nint" }, { "name": "width", "type": "int" }, { "name": "height", "type": "int" }, { "name": "stride", "type": "int" }, { "name": "format", "type": "SwFormat" }], "summary": "Renders draw data into a pixel buffer of width x height. stride is in bytes." }, { "name": "SwSetIncremental", "kind": "method", "id": "method|SwSetIncremental|1|0|void|nint r;byte on||h35784ddf9e6e2ff25d8c10204553e0402b67e13e77d8272ab56f0c994fc7247b", "signature": "static void SwSetIncremental(nint r, byte on)", "parameters": [{ "name": "r", "type": "nint" }, { "name": "on", "type": "byte" }], "summary": "Incremental rendering: when the same buffer is passed again, with what the last call drew still in it, only the parts that changed are drawn again. A frame where only a button\u0027s hover changed costs that button. Off by default. cui_sw_last_damage gives the rectangle the last call drew (in pixels), so only that part needs copying to the screen; it returns false when nothing changed." }, { "name": "SwSetThreads", "kind": "method", "id": "method|SwSetThreads|1|0|void|nint r;int threads||h34a2c21d60bb367d5b1aacc5f2e0a24cc1fd4fc2f7af20d0078cb2693d57cb3d", "signature": "static void SwSetThreads(nint r, int threads)", "parameters": [{ "name": "r", "type": "nint" }, { "name": "threads", "type": "int" }], "summary": "Number of worker threads (1 = single threaded, default: number of cores up to 8)." }, { "name": "SwipeItemBegin", "kind": "method", "id": "method|SwipeItemBegin|1|0|void|nint ui;nint id;nint left;int leftCount;nint right;int rightCount||he356b37e0bb4b9d789e5c769a16e8687b4b7c08507d6f7ccb21de0c58296ee1e", "signature": "static void SwipeItemBegin(nint ui, nint id, nint left, int leftCount, nint right, int rightCount)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "left", "type": "nint" }, { "name": "leftCount", "type": "int" }, { "name": "right", "type": "nint" }, { "name": "rightCount", "type": "int" }], "summary": "cui_swipe_item_begin" }, { "name": "TableCell", "kind": "method", "id": "method|TableCell|1|0|void|nint ui||h58c1c69464959545f2c0c22eb0645330579440d8f636f3602edb6d4218b27d19", "signature": "static void TableCell(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "Next cell; put any components inside, or use cui_table_cell_text." }, { "name": "TableCellText", "kind": "method", "id": "method|TableCellText|1|0|void|nint ui;nint text||hda71654f59a916615205136e685705fde1ced9f7607676b2b05742f84907a3f9", "signature": "static void TableCellText(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "Part of cui_table_cell \u2014 Next cell; put any components inside, or use cui_table_cell_text." }, { "name": "TableEnd", "kind": "method", "id": "method|TableEnd|1|0|void|nint ui||hc984d1509de63bf52b50c7a34ca3189a0bb153d3ea71eca8518f7cdbdd00f65c", "signature": "static void TableEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_table_end" }, { "name": "TerminalClear", "kind": "method", "id": "method|TerminalClear|1|0|void|ref NativeTerminalBuffer t||h2c35a3f1e8ac6abb885522cc4abf14b1aba391dfcffdb7e8162392ec1efbac69", "signature": "static void TerminalClear(ref NativeTerminalBuffer t)", "parameters": [{ "name": "t", "type": "ref NativeTerminalBuffer" }], "summary": "cui_terminal_clear" }, { "name": "TerminalInit", "kind": "method", "id": "method|TerminalInit|1|0|void|ref NativeTerminalBuffer t;nint text;nuint textCap;nint lines;int lineCap||hae969ea7a1dcf1b992acba2fc390063b42a9269de36456dc381e9f5d23d2902f", "signature": "static void TerminalInit(ref NativeTerminalBuffer t, nint text, nuint textCap, nint lines, int lineCap)", "parameters": [{ "name": "t", "type": "ref NativeTerminalBuffer" }, { "name": "text", "type": "nint" }, { "name": "textCap", "type": "nuint" }, { "name": "lines", "type": "nint" }, { "name": "lineCap", "type": "int" }], "summary": "cui_terminal_init" }, { "name": "TerminalWrite", "kind": "method", "id": "method|TerminalWrite|1|0|void|ref NativeTerminalBuffer t;nint data;int len||h7db23fca94baa41b713b578a3f7f2eb4edde9296bb42f48ffbc41cacffcab173", "signature": "static void TerminalWrite(ref NativeTerminalBuffer t, nint data, int len)", "parameters": [{ "name": "t", "type": "ref NativeTerminalBuffer" }, { "name": "data", "type": "nint" }, { "name": "len", "type": "int" }], "summary": "len -1: up to the terminator" }, { "name": "Text", "kind": "method", "id": "method|Text|1|0|void|nint ui;nint text;in NativeTextOpts opts||h272e9e5fd15e3e439624830da1a61bd8173755af5237d17c5de5b35b2b7fcc78", "signature": "static void Text(nint ui, nint text, in NativeTextOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeTextOpts" }], "summary": "cui_text_ex" }, { "name": "TextReveal", "kind": "method", "id": "method|TextReveal|1|0|void|nint ui;nint id;nint text;in NativeTextFxOpts opts||h810e5b8c5623cd79b19e255847e1b2350f771771bc43231ebd67d24fef43bf45", "signature": "static void TextReveal(nint ui, nint id, nint text, in NativeTextFxOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "text", "type": "nint" }, { "name": "opts", "type": "in NativeTextFxOpts" }], "summary": "Words fade and rise into place one after another, when first shown and again whenever the text changes." }, { "name": "Ticker", "kind": "method", "id": "method|Ticker|1|0|void|nint ui;nint id;nint items;int count;in NativeTickerOpts opts||hcf89f408f6d2cc69a1d015b699a290c0ae5b7441df2a83b42e3fb27d70c27db6", "signature": "static void Ticker(nint ui, nint id, nint items, int count, in NativeTickerOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "items", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "opts", "type": "in NativeTickerOpts" }], "summary": "cui_ticker_ex" }, { "name": "TimelineItem", "kind": "method", "id": "method|TimelineItem|1|0|void|nint ui;nint title;in NativeTimelineOpts opts||h9b4bdedc14e8242b067d1b691d32b876cb84a64b2324bf04fca99f755cd7d46e", "signature": "static void TimelineItem(nint ui, nint title, in NativeTimelineOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "title", "type": "nint" }, { "name": "opts", "type": "in NativeTimelineOpts" }], "summary": "cui_timeline_item_ex" }, { "name": "ToastDismiss", "kind": "method", "id": "method|ToastDismiss|1|0|void|nint ui;int handle||h75880d60348ac0f108d23509a49259435396571a873cbcbfabc7a7ce03565c56", "signature": "static void ToastDismiss(nint ui, int handle)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "handle", "type": "int" }], "summary": "cui_toast_dismiss" }, { "name": "TocAnchor", "kind": "method", "id": "method|TocAnchor|1|0|void|nint ui;nint anchor||hbf2b12d07854201eb614389915564e72b12beaca82777abc523cfd00e4b0202d", "signature": "static void TocAnchor(nint ui, nint anchor)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "anchor", "type": "nint" }], "summary": "cui_toc_anchor" }, { "name": "ToolCall", "kind": "method", "id": "method|ToolCall|1|0|void|nint ui;nint id;nint name;in NativeToolCallOpts opts||hec6f0eb79910da856e82af5251fb47ff3cdd8859d6b96873d1dfaa3e22d9187d", "signature": "static void ToolCall(nint ui, nint id, nint name, in NativeToolCallOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "name", "type": "nint" }, { "name": "opts", "type": "in NativeToolCallOpts" }], "summary": "cui_tool_call_ex" }, { "name": "ToolbarBegin", "kind": "method", "id": "method|ToolbarBegin|1|0|void|nint ui;nint id;in NativeToolbarOpts opts||ha8e07119a1461f0bb5edde4ce58cdc0140369f80e0033f3f208dffb00d98ee5d", "signature": "static void ToolbarBegin(nint ui, nint id, in NativeToolbarOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "opts", "type": "in NativeToolbarOpts" }], "summary": "cui_toolbar_begin" }, { "name": "ToolbarEnd", "kind": "method", "id": "method|ToolbarEnd|1|0|void|nint ui||hb80555fe0cf6dfda93d88a72607be9a5c706625fab680a97936dbf6533b176e3", "signature": "static void ToolbarEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_toolbar_end" }, { "name": "ToolbarSeparator", "kind": "method", "id": "method|ToolbarSeparator|1|0|void|nint ui||h2f525a4e5418c61ca18349feb1c7a95baee6b316f2e23e1d6aa18232e5ec4341", "signature": "static void ToolbarSeparator(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_toolbar_separator" }, { "name": "ToolbarSpacer", "kind": "method", "id": "method|ToolbarSpacer|1|0|void|nint ui||hd061dc8872d0ac7eb8238161e16cb000d93d422443f622ebb1121fae117ed97e", "signature": "static void ToolbarSpacer(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "pushes the following items to the right" }, { "name": "Tooltip", "kind": "method", "id": "method|Tooltip|1|0|void|nint ui;nint text||h1f9de01bb16e1558786abe4c1b14699c29b647b8cd8553afed19fc2b4b3caa84", "signature": "static void Tooltip(nint ui, nint text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "text", "type": "nint" }], "summary": "Tooltip for the previous component, shown after a short hover delay." }, { "name": "TraceSort", "kind": "method", "id": "method|TraceSort|1|0|void|nint spans;int count||ha66d747d05ad548296f53fcbb98f77b31eae6b02c6b8b6ec977000c7b3fe3a5f", "signature": "static void TraceSort(nint spans, int count)", "parameters": [{ "name": "spans", "type": "nint" }, { "name": "count", "type": "int" }], "summary": "cui_trace_sort" }, { "name": "TreeEnd", "kind": "method", "id": "method|TreeEnd|1|0|void|nint ui||ha713edeffbaee9686dc29a28c602d73338ef0b3cf4fb5902d41efc308ec5b21a", "signature": "static void TreeEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_tree_end" }, { "name": "TreeTableBegin", "kind": "method", "id": "method|TreeTableBegin|1|0|void|nint ui;nint id;nint columns;int columnCount;nint nodes;int nodeCount;in NativeTreeTableOpts opts||hd0eb2658a484bda8296e5b59fad3baf23f8729e625357b5dbf526e06cfecbf42", "signature": "static void TreeTableBegin(nint ui, nint id, nint columns, int columnCount, nint nodes, int nodeCount, in NativeTreeTableOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "columns", "type": "nint" }, { "name": "columnCount", "type": "int" }, { "name": "nodes", "type": "nint" }, { "name": "nodeCount", "type": "int" }, { "name": "opts", "type": "in NativeTreeTableOpts" }], "summary": "cui_tree_table_begin_ex" }, { "name": "TreeTableName", "kind": "method", "id": "method|TreeTableName|1|0|void|nint ui;nint label;nint icon||h0751fd004c88e946e3cf26f6e5601c4d76cd57fd60d2086a0ff269e9d881a24c", "signature": "static void TreeTableName(nint ui, nint label, nint icon)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "label", "type": "nint" }, { "name": "icon", "type": "nint" }], "summary": "The first cell: indentation, guides, the chevron, an icon and the name (cut short with a tooltip of the whole name when it does not fit)." }, { "name": "TypingIndicator", "kind": "method", "id": "method|TypingIndicator|1|0|void|nint ui;nint name||hd81aef062aabdc6d41e05b88c87b46aefd6e009c83910f8ed3f0426342c0c825", "signature": "static void TypingIndicator(nint ui, nint name)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "name", "type": "nint" }], "summary": "bouncing dots" }, { "name": "UserMenuEnd", "kind": "method", "id": "method|UserMenuEnd|1|0|void|nint ui||h9f762ffe81925fac89d4361eb1562a613e9eaa270d61fd325ab25799fa0afe27", "signature": "static void UserMenuEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_user_menu_end" }, { "name": "VirtualListBegin", "kind": "method", "id": "method|VirtualListBegin|1|0|void|nint ui;nint id;int count;float rowHeight;NativeSize height;ref int first;ref int last||ha61ead8705d1939e2b7fe69f251360a61fe18faef67fa9137031b1fe6ce05ff1", "signature": "static void VirtualListBegin(nint ui, nint id, int count, float rowHeight, NativeSize height, ref int first, ref int last)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "rowHeight", "type": "float" }, { "name": "height", "type": "NativeSize" }, { "name": "first", "type": "ref int" }, { "name": "last", "type": "ref int" }], "summary": "Virtual list: only the visible rows are built, so lists with a million rows stay fast. Fills first/last with the visible range." }, { "name": "VirtualListEnd", "kind": "method", "id": "method|VirtualListEnd|1|0|void|nint ui||h17bfe0f38637d279b00163d916474f0367149d134f26d7350a37198637c0da59", "signature": "static void VirtualListEnd(nint ui)", "parameters": [{ "name": "ui", "type": "nint" }], "summary": "cui_virtual_list_end" }, { "name": "WordRotate", "kind": "method", "id": "method|WordRotate|1|0|void|nint ui;nint id;nint words;int count;float interval;in NativeTextFxOpts opts||he94d507dcc15d0bcfc24aaaa9f83e04c779d69d75f151da8f8f8749dac8b28c2", "signature": "static void WordRotate(nint ui, nint id, nint words, int count, float interval, in NativeTextFxOpts opts)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "id", "type": "nint" }, { "name": "words", "type": "nint" }, { "name": "count", "type": "int" }, { "name": "interval", "type": "float" }, { "name": "opts", "type": "in NativeTextFxOpts" }], "summary": "One word at a time; the next one rolls up into place and the width follows." }] }, + { "name": "CuiSharp.Interop.NativeAgentPlanOpts", "displayName": "NativeAgentPlanOpts", "kind": "struct", "summary": "cui_agent_plan_opts (16 bytes)", "members": [{ "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "heading of the plan, default \u0022Plan\u0022 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeAgentStatusOpts", "displayName": "NativeAgentStatusOpts", "kind": "struct", "summary": "Agent status pill: what the agent is doing right now and for how long. (24 bytes)", "members": [{ "name": "Status", "kind": "field", "id": "field|Status|0|0|CuiTaskStatus|||hc70e5654f5e0b77ce9da45f798c273c2ac66019dc100160d6f02b89ccf377bba", "signature": "public CuiTaskStatus Status", "summary": "cui_task_status (offset 4)" }, { "name": "Seconds", "kind": "field", "id": "field|Seconds|0|0|float|||hb2b6bfb7a4abde73c46fe03cfd0492620c03edc110332cec5c1c257b49ebec83", "signature": "public float Seconds", "summary": "elapsed time shown after the text, as 42s or 1m 05s; 0 hides it (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeAlertOpts", "displayName": "NativeAlertOpts", "kind": "struct", "summary": "cui_alert_opts (40 bytes)", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 16)" }, { "name": "Dismissible", "kind": "field", "id": "field|Dismissible|0|0|byte|||h3a9a514414e8a3ecdae7b6c0427c4f7e74781101755b94b83ff8501a761b98fa", "signature": "public byte Dismissible", "summary": "_Bool (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeAllocator", "displayName": "NativeAllocator", "kind": "struct", "summary": "cui_allocator (32 bytes)", "members": [{ "name": "Alloc", "kind": "field", "id": "field|Alloc|0|0|nint|||h008f8ed9c545969f3618469bfbdb960809941ae71c353e66c3783bc0e897bd86", "signature": "public nint Alloc", "summary": "void *(*)(size_t, void *) (offset 0)" }, { "name": "Free", "kind": "field", "id": "field|Free|0|0|nint|||h2b0ee121ff0eea411e91116f99e57c9d169fd8013409c5074adba7bf1338974b", "signature": "public nint Free", "summary": "void (*)(void *, void *) (offset 16)" }, { "name": "Realloc", "kind": "field", "id": "field|Realloc|0|0|nint|||hfb9838851c5f25308e1da0489fcc12e941a79aedf7acce9d5093aeba36fa76fe", "signature": "public nint Realloc", "summary": "void *(*)(void *, size_t, void *) (offset 8)" }, { "name": "User", "kind": "field", "id": "field|User|0|0|nint|||hbb8b86031509e9566eb92455c659fd89532fcd8a35724b86f43a45f38dc8e34f", "signature": "public nint User", "summary": "void * (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeApiEndpoint", "displayName": "NativeApiEndpoint", "kind": "struct", "summary": "cui_api_endpoint (56 bytes)", "members": [{ "name": "Deprecated", "kind": "field", "id": "field|Deprecated|0|0|byte|||h118d1356fb24fc834db797c62dc912f5c50347fe56e7c7621c9993ea487c27d8", "signature": "public byte Deprecated", "summary": "struck through and muted, with a \u0022Deprecated\u0022 badge (offset 32)" }, { "name": "ParamCount", "kind": "field", "id": "field|ParamCount|0|0|int|||ha28b8117e80b2618337252b05244c82cc8197210fd8cfaa4612313257de71369", "signature": "public int ParamCount", "summary": "number of \u0060params\u0060 (offset 48)" }, { "name": "Method", "kind": "field", "id": "field|Method|0|0|nint|||h123da31d283a687cfb3fc23d6dc7a6d0bf14af9e0cd472e209f6019e3b48bd09", "signature": "public nint Method", "summary": "\u0022GET\u0022 (offset 0)" }, { "name": "Params", "kind": "field", "id": "field|Params|0|0|nint|||h32e76c35cfb0857d4a19444471d9dda92debe0f324d84f5f4d0a7a2578edbb5d", "signature": "public nint Params", "summary": "the parameters listed when the endpoint is opened; may be \u0060NULL\u0060 (offset 40)" }, { "name": "Path", "kind": "field", "id": "field|Path|0|0|nint|||h8bba30a3af23f0921f87758138aaec20cd68b286c4244f14af28ea447646c5f3", "signature": "public nint Path", "summary": "\u0022/users/{id}\u0022 (offset 8)" }, { "name": "Summary", "kind": "field", "id": "field|Summary|0|0|nint|||h256f1fb1795e5df56b6da0ba33cf4c905459dc6d5e01539977148ac9a7e35d98", "signature": "public nint Summary", "summary": "one line after the path; the filter field searches it (offset 16)" }, { "name": "Tag", "kind": "field", "id": "field|Tag|0|0|nint|||h8e8f4162f0ef376dc891e10b9d854f04a09049bc3f9c6ef49fd11d1e3283c552", "signature": "public nint Tag", "summary": "groups the list; NULL groups as \u0022Other\u0022 (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeApiExplorerOpts", "displayName": "NativeApiExplorerOpts", "kind": "struct", "summary": "cui_api_explorer_opts (24 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "the selected endpoint or -1, kept by you; \u0060NULL\u0060 keeps it in the component (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeApiExplorerResult", "displayName": "NativeApiExplorerResult", "kind": "struct", "summary": "cui_api_explorer_result (8 bytes)", "members": [{ "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "the selected endpoint, or -1 (offset 0)" }, { "name": "TryIt", "kind": "field", "id": "field|TryIt|0|0|int|||h5b7497c7ff57eca579c0220484ed786050570c5aa1615b0f5118bc1ae8af3b74", "signature": "public int TryIt", "summary": "endpoint, or -1 (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeApiParam", "displayName": "NativeApiParam", "kind": "struct", "summary": "Endpoints grouped by tag, each with its method, its path (parameters marked) and its summary; deprecated ones are struck through. A click opens an endpoint\u0027s parameters and a Try it button. A field filters by path or summary. Up and Down move, Enter opens. (40 bytes)", "members": [{ "name": "Required", "kind": "field", "id": "field|Required|0|0|byte|||h1a3af43b954883cd8432d9b5221a16371cd78abed44f2f2fbcfef531a562c34b", "signature": "public byte Required", "summary": "a red asterisk after the name (offset 24)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "what the parameter is for, shown after its type and place; may be \u0060NULL\u0060 (offset 32)" }, { "name": "In", "kind": "field", "id": "field|In|0|0|nint|||h63687a4cc9c3aa327d17f7a3675e77e3cdff1e19aabfd8647bad98e3874e5f5b", "signature": "public nint In", "summary": "where it goes: \u0022path\u0022, \u0022query\u0022, \u0022header\u0022 or \u0022body\u0022 (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "the parameter\u0027s name, in the code font (offset 0)" }, { "name": "Type", "kind": "field", "id": "field|Type|0|0|nint|||h08ef46c97f44246852387cb0db61193354036168da9659fe690b19c9be180ecd", "signature": "public nint Type", "summary": "e.g. \u0022string\u0022; shown before where it goes (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeAppDesc", "displayName": "NativeAppDesc", "kind": "struct", "summary": "cui_app_desc (56 bytes)", "members": [{ "name": "Accent", "kind": "field", "id": "field|Accent|0|0|Accent|||h71052de13333411c0ea4ea9fd862bffc6c17770b3cd6a8d9e8d2bd9946427e80", "signature": "public Accent Accent", "summary": "cui_accent (offset 36)" }, { "name": "Renderer", "kind": "field", "id": "field|Renderer|0|0|Renderer|||h02bb378d95b6dccf4c48468a5cedcc8a1eb5e62c8b3f6def255345e2084c71da", "signature": "public Renderer Renderer", "summary": "cui_renderer_kind (offset 28)" }, { "name": "Theme", "kind": "field", "id": "field|Theme|0|0|Theme|||hc03062bcd5b400bad341e4abf4eced6f575572c853644893313e624c9667b6d8", "signature": "public Theme Theme", "summary": "cui_theme_mode (offset 32)" }, { "name": "Continuous", "kind": "field", "id": "field|Continuous|0|0|byte|||hf2b455e067c03fa095924e6359e38896423f8b87f43c5ff9421e149e2d79a771", "signature": "public byte Continuous", "summary": "render every frame even when idle (games, video) (offset 25)" }, { "name": "FixedSize", "kind": "field", "id": "field|FixedSize|0|0|byte|||h3539fe6510c42c32f38f915daf424b43ed63fcbab6906963bf5878728a51d14d", "signature": "public byte FixedSize", "summary": "not resizable (offset 24)" }, { "name": "FollowSystemTheme", "kind": "field", "id": "field|FollowSystemTheme|0|0|byte|||h04801d61686302d7b69f7876e01e91e976b87da820e0e1d33f4666700f2da5ab", "signature": "public byte FollowSystemTheme", "summary": "use the OS light/dark setting where available (offset 40)" }, { "name": "Hidden", "kind": "field", "id": "field|Hidden|0|0|byte|||h09d64fd87a2ea3d6dc71208d5d191ef6983ee56f643ddde81b958e84c34b17b8", "signature": "public byte Hidden", "summary": "create the window hidden (tests) (offset 27)" }, { "name": "NoVsync", "kind": "field", "id": "field|NoVsync|0|0|byte|||ha03bf38afb5c85107eca7224756dd2dea79fd3efc171f22b28d872ae5f390e35", "signature": "public byte NoVsync", "summary": "OpenGL: do not wait for the display; frames are capped at 120 Hz or the refresh rate (offset 26)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|int|||h52495b8092c70bc2ab79420020dea8829a5d21b13502d02d4d3876b4e6344385", "signature": "public int Height", "summary": "logical size, default 1080 x 720 (offset 12)" }, { "name": "MinHeight", "kind": "field", "id": "field|MinHeight|0|0|int|||ha9923860663e934851ae42ff98e9dfb070366310ecc14f385685bbc3585bbf65", "signature": "public int MinHeight", "summary": "default 360 x 280 (offset 20)" }, { "name": "MinWidth", "kind": "field", "id": "field|MinWidth|0|0|int|||h4c1c24fa7ad7638870d99dd112c1f3bee470dbea9a43f4a22238041222847345", "signature": "public int MinWidth", "summary": "default 360 x 280 (offset 16)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|int|||ha520b8ffe64569abde298f583f1cebdf54a0fcf8f8c03a737243848cb9cd9ae5", "signature": "public int Width", "summary": "logical size, default 1080 x 720 (offset 8)" }, { "name": "AppId", "kind": "field", "id": "field|AppId|0|0|nint|||h7c03eed0f0648bbc2d660fad3398ea32f7e461c29822afa72d1bf8e886294b5d", "signature": "public nint AppId", "summary": "Linux: the app\u0027s ID, which is the name of its .desktop file without \u0022.desktop\u0022, e.g. \u0022org.example.Notes\u0022. The desktop uses it to show the app\u0027s name and icon for the window (taskbar, dock, Alt\u002BTab) and to group its windows. Sets WM_CLASS on X11 and the app_id on Wayland (SDL2, and GLFW 3.4). Read when the window is created; ignored on Windows and macOS. Default: none (the X11 backend then sets WM_CLASS to the title and \u0022CUI\u0022). (offset 48)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "default \u0022CUI\u0022 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeAvatarOpts", "displayName": "NativeAvatarOpts", "kind": "struct", "summary": "cui_avatar_opts (32 bytes)", "members": [{ "name": "Square", "kind": "field", "id": "field|Square|0|0|byte|||h8271ae9bf49e9464a144633f5391cf90166c1b6df513611e60cdf9c987f3a4d9", "signature": "public byte Square", "summary": "rounded square instead of a circle (offset 24)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|nint|||h5eb064e9f4d4ca19be69b5617dddc7619d74afabd85bd1578dc70d05818e080a", "signature": "public nint Status", "summary": "a dot at the bottom right: \u0022online\u0022 green, \u0022busy\u0022 red, \u0022away\u0022 amber, anything else gray (offset 16)" }, { "name": "Image", "kind": "field", "id": "field|Image|0|0|nuint|||hde12e2664af440184d2bb6e1b9e23d1b0129ddc2beb2f73e0e61d1dd4992031e", "signature": "public nuint Image", "summary": "picture to show instead of the initials of the name (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeBadgeOpts", "displayName": "NativeBadgeOpts", "kind": "struct", "summary": "cui_badge_opts (32 bytes)", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 24)" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 4)" }, { "name": "Dot", "kind": "field", "id": "field|Dot|0|0|byte|||h3ae15341111db9635d36c494735d2956621314bfb54e9984860313e9b5a6a292", "signature": "public byte Dot", "summary": "a small dot before the text, in the tone\u0027s color (offset 8)" }, { "name": "Solid", "kind": "field", "id": "field|Solid|0|0|byte|||h7eea20659a45a5ea7894a8523b52271603fb5b4c884a1b3440fbdbeee4c65b06", "signature": "public byte Solid", "summary": "filled with the tone\u0027s color instead of a light tint of it (offset 9)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeBannerOpts", "displayName": "NativeBannerOpts", "kind": "struct", "summary": "Announcement banner across the top of a view. Collapses smoothly when dismissed (*open becomes false). Returns true when the action is clicked. (32 bytes)", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 4)" }, { "name": "Dismissible", "kind": "field", "id": "field|Dismissible|0|0|byte|||h3a9a514414e8a3ecdae7b6c0427c4f7e74781101755b94b83ff8501a761b98fa", "signature": "public byte Dismissible", "summary": "_Bool (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|nint|||h7dfe2a16d24f5ae17516623e6e776336e0c9174236c2f3e6d25910fcd1c88c17", "signature": "public nint Action", "summary": "label of a button in the banner; the call returns true when it is clicked (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeBarListOpts", "displayName": "NativeBarListOpts", "kind": "struct", "summary": "Bar list: ranked horizontal bars. Rows are keyed by label, so when the values change the bars grow and the rows slide to their new rank. (40 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 29)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "KeepOrder", "kind": "field", "id": "field|KeepOrder|0|0|byte|||hfbebf017a95d56629f37455bf04c5c22d795a9eefb6852d664cef873fcce979d", "signature": "public byte KeepOrder", "summary": "keeps the items in the order given instead of sorting them largest first (offset 28)" }, { "name": "MaxRows", "kind": "field", "id": "field|MaxRows|0|0|int|||h82a530e961fd20944667ea1ad6f4d328cd4ce0e5c238e091ebaa74d2086ed486", "signature": "public int MaxRows", "summary": "shows only this many rows from the top; 0 shows all (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeBlameCommit", "displayName": "NativeBlameCommit", "kind": "struct", "summary": "Source with who last changed each line: lines from one commit share one gutter entry with its author, age and hash, and a bar at the edge shades newer changes stronger. Hover a gutter entry for the commit\u0027s summary and to mark its lines; click it to get the commit. Only the lines in view are built. On a phone the gutter keeps only the shade and initials. (32 bytes)", "members": [{ "name": "Time", "kind": "field", "id": "field|Time|0|0|long|||h382e39ea1b3f79836fb7922bfa24e88b592f7f612357f065c055e7b46e60270d", "signature": "public long Time", "summary": "Unix seconds (offset 24)" }, { "name": "Author", "kind": "field", "id": "field|Author|0|0|nint|||h42259eda4a5cd5217e3ff4e52e5ab08ff4edda9240aaa452d4af2589b41bd856", "signature": "public nint Author", "summary": "shown in the gutter; on a phone as initials (offset 8)" }, { "name": "Hash", "kind": "field", "id": "field|Hash|0|0|nint|||he32f0dd10af599ae75494fa806f33e8cdb244a3710820ad4341060ace91d091b", "signature": "public nint Hash", "summary": "the commit id; its first 7 characters are shown (offset 0)" }, { "name": "Summary", "kind": "field", "id": "field|Summary|0|0|nint|||h256f1fb1795e5df56b6da0ba33cf4c905459dc6d5e01539977148ac9a7e35d98", "signature": "public nint Summary", "summary": "the commit\u0027s message line, shown in the gutter\u0027s tooltip (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeBlameOpts", "displayName": "NativeBlameOpts", "kind": "struct", "summary": "cui_blame_opts (40 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 360 (offset 12)" }, { "name": "FirstLine", "kind": "field", "id": "field|FirstLine|0|0|int|||h1ab09d25eaa64ebab6cfe486404f0958dc364ecc142585baf2abf1130d0833f3", "signature": "public int FirstLine", "summary": "number of the first line, default 1 (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Now", "kind": "field", "id": "field|Now|0|0|long|||h949d29ec25550cd1c5e589c99b5e39471c9584ce47315d26d5fa02dc132525d7", "signature": "public long Now", "summary": "ages are counted to here; 0: the clock (offset 24)" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|nint|||h47e017876cc656beadab67c2a3da7d17ebe65dbbb9bf477edfc76ac1167c397a", "signature": "public nint Lang", "summary": "highlights the code, as the code block (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeBlameResult", "displayName": "NativeBlameResult", "kind": "struct", "summary": "cui_blame_result (8 bytes)", "members": [{ "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "commit whose gutter entry was clicked this frame, or -1 (offset 0)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "commits, or -1 (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeBox", "displayName": "NativeBox", "kind": "struct", "summary": "Options for every container. All fields are optional. (152 bytes)", "members": [{ "name": "Align", "kind": "field", "id": "field|Align|0|0|Align|||hbfab2ef993c61054e2f8f5ce6be2dad9452bc3394d4804b70659bacd284f6875", "signature": "public Align Align", "summary": "cross axis alignment of children (offset 96)" }, { "name": "Dir", "kind": "field", "id": "field|Dir|0|0|Dir|||h4234b97a5550923f99238823065b45fc864e22c26f0c83f8c84555cb61b7d89b", "signature": "public Dir Dir", "summary": "CUI_COLUMN (default), CUI_ROW, CUI_STACK, CUI_GRID (offset 16)" }, { "name": "Direction", "kind": "field", "id": "field|Direction|0|0|Direction|||h894fea11f583bab4f597860149502f9c496b27b2c30b238beaf6828e963d3be0", "signature": "public Direction Direction", "summary": "inherited by default; mirrors horizontal layout and padding (offset 148)" }, { "name": "Elevation", "kind": "field", "id": "field|Elevation|0|0|Elevation|||he0a7c311160b4a1eff39232663778806740ff0dbee335caec9c9e85ca308541e", "signature": "public Elevation Elevation", "summary": "cui_elevation (offset 136)" }, { "name": "Justify", "kind": "field", "id": "field|Justify|0|0|Justify|||hf004d9d46fdf7b0e648b8005eefcd94a2875126011393877c0f22d333513e2ef", "signature": "public Justify Justify", "summary": "main axis distribution (offset 100)" }, { "name": "Bg", "kind": "field", "id": "field|Bg|0|0|NativeColor|||h6f869c9680b9bcadaa8163f1a7b4c921422de3cd091b4aec5a79f6a6f73907b3", "signature": "public NativeColor Bg", "summary": "background (offset 104)" }, { "name": "BorderColor", "kind": "field", "id": "field|BorderColor|0|0|NativeColor|||h6c242cb21110bdcec7298ca27c1f6fe09c2e439c7c00a703fbb920a55723822b", "signature": "public NativeColor BorderColor", "summary": "defaults to CUI_COLOR_BORDER when border \u003E 0 (offset 108)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "default: fit content (columns stretch children horizontally) (offset 28)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default: fit content (columns stretch children horizontally) (offset 20)" }, { "name": "Clip", "kind": "field", "id": "field|Clip|0|0|byte|||h87b02ea94fec37cb7fee0351f29041bc6b6199f026a41ad462f237f50b98bec3", "signature": "public byte Clip", "summary": "clip children to the box (offset 142)" }, { "name": "ScrollX", "kind": "field", "id": "field|ScrollX|0|0|byte|||hcb881677d4e52dd63807646ee0838816375200eb04840f0477e671f96bcdfc1f", "signature": "public byte ScrollX", "summary": "make the box a scroll area (clips content) (offset 140)" }, { "name": "ScrollY", "kind": "field", "id": "field|ScrollY|0|0|byte|||hf4eebbb4e6a3c9f46c66487c90fcd6b5dfaed09e9c01caa1daf7467bacbc1743", "signature": "public byte ScrollY", "summary": "make the box a scroll area (clips content) (offset 141)" }, { "name": "Wrap", "kind": "field", "id": "field|Wrap|0|0|byte|||h6a568b83b5ebf923fcc8d84bac649c39f1522c51c4635ba194b84fe57992fecf", "signature": "public byte Wrap", "summary": "CUI_ROW: children that do not fit move to a new line (offset 92)" }, { "name": "Border", "kind": "field", "id": "field|Border|0|0|float|||h4bb5750724304a562c69bb723b5db8d43e5846d3b78c2e66ad01710cdfbf5191", "signature": "public float Border", "summary": "border width (offset 112)" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "space between children (and between wrapped lines) (offset 80)" }, { "name": "MaxHeight", "kind": "field", "id": "field|MaxHeight|0|0|float|||h362fb387f8c873f790106e0085b293b9836b14ef629bd38f56f23e0483ef699f", "signature": "public float MaxHeight", "summary": "float (offset 48)" }, { "name": "MaxWidth", "kind": "field", "id": "field|MaxWidth|0|0|float|||h6955c9491dc05b5aeba77dc176d769dc41bee5636e74696cc5ac75aede49296b", "signature": "public float MaxWidth", "summary": "float (offset 40)" }, { "name": "MinColumnWidth", "kind": "field", "id": "field|MinColumnWidth|0|0|float|||h3bf72f06ae16007da1aa4132cf4b98d6c659d256b3af795fc2b66943463ec497", "signature": "public float MinColumnWidth", "summary": "CUI_GRID: as many columns as fit at this width, at least one (offset 88)" }, { "name": "MinHeight", "kind": "field", "id": "field|MinHeight|0|0|float|||ha292b3b72be6a5893414fe5fc78e9c3c32fdca9ee4f85aaeb3161e6842440033", "signature": "public float MinHeight", "summary": "float (offset 44)" }, { "name": "MinWidth", "kind": "field", "id": "field|MinWidth|0|0|float|||h7e959c77177556152f99de8073ad52de6c88f583955bbebe8b717d02776d9e64", "signature": "public float MinWidth", "summary": "float (offset 36)" }, { "name": "Opacity", "kind": "field", "id": "field|Opacity|0|0|float|||hde7eb5efb94b5e9dd209e0982456759c12c57b2c83531f251a12e65cbe6b1e13", "signature": "public float Opacity", "summary": "0 means 1 (fully opaque) (offset 144)" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float (offset 52)" }, { "name": "PadBottom", "kind": "field", "id": "field|PadBottom|0|0|float|||hc1c67a6a2548abf224e047c651d6a7cb45329e967b322af5dfe524a07f5e2620", "signature": "public float PadBottom", "summary": "float (offset 72)" }, { "name": "PadLeft", "kind": "field", "id": "field|PadLeft|0|0|float|||h70bf8d58e7c7a29cfdb6a63424ba305385f7538afd0181c1518eee1ed9f61b1b", "signature": "public float PadLeft", "summary": "float (offset 76)" }, { "name": "PadRight", "kind": "field", "id": "field|PadRight|0|0|float|||h47fc325b4ba851dd9c4be8407fc7051641fbb4f71aae1b8cd4448ca21bb0f8b6", "signature": "public float PadRight", "summary": "float (offset 68)" }, { "name": "PadTop", "kind": "field", "id": "field|PadTop|0|0|float|||hbb5c17b3bf02fb73ab1351bef2ea7c7446fa1d77e66e8a8fa1077ff4b5f0ba3e", "signature": "public float PadTop", "summary": "float (offset 64)" }, { "name": "PadX", "kind": "field", "id": "field|PadX|0|0|float|||h173de26af4d61cccda65dc4e4a2134425ccb87e453814b3fc09477116f152937", "signature": "public float PadX", "summary": "float (offset 56)" }, { "name": "PadY", "kind": "field", "id": "field|PadY|0|0|float|||he7a54032c34537ad78c4c2a6e6dcd1656a79aa395a54ecd5a4ed46c891e7cf37", "signature": "public float PadY", "summary": "float (offset 60)" }, { "name": "Radius", "kind": "field", "id": "field|Radius|0|0|float|||h565c7c94c17c4e0d68e71b97e4dacf48df705124ce26655589804f82ae3a5afe", "signature": "public float Radius", "summary": "corner radius; use radius_tl.. for single corners (offset 116)" }, { "name": "RadiusBl", "kind": "field", "id": "field|RadiusBl|0|0|float|||h9dd1fafd2e82c84b61ae611cdc8a30354ae3db4a16a977547d65e6ba6c8f29cf", "signature": "public float RadiusBl", "summary": "float (offset 132)" }, { "name": "RadiusBr", "kind": "field", "id": "field|RadiusBr|0|0|float|||h2234ef53764aea1f5c8535a3bf90ae370665341580a63b651f5d700ac65573ed", "signature": "public float RadiusBr", "summary": "float (offset 128)" }, { "name": "RadiusTl", "kind": "field", "id": "field|RadiusTl|0|0|float|||he23d55a47528087e12871dd0cfa80caa841145f35df4ceb0535f6351d0d1e78b", "signature": "public float RadiusTl", "summary": "float (offset 120)" }, { "name": "RadiusTr", "kind": "field", "id": "field|RadiusTr|0|0|float|||hb0e758616eae542125924701530e0fd1f7106694d1eb38533996552033f3bac6", "signature": "public float RadiusTr", "summary": "float (offset 124)" }, { "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "CUI_GRID: column count (with min_column_width: the most columns) (offset 84)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Id", "kind": "field", "id": "field|Id|0|0|nint|||h776d0e60aed221d94e76ec8f19e3fe1a92e74b03003d575f9b4eaa98ff45a530", "signature": "public nint Id", "summary": "identity for scroll state etc. (defaults to an automatic id) (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeButtonOpts", "displayName": "NativeButtonOpts", "kind": "struct", "summary": "cui_button_opts (72 bytes)", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "cui_button_variant (offset 4)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 8)" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "text and icon color, e.g. CUI_COLOR_ACCENT for a toggled icon (offset 64)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 56)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 32)" }, { "name": "FullWidth", "kind": "field", "id": "field|FullWidth|0|0|byte|||hd01f4e7d92479240099d4691e65654bcd8a680160c7cec92dbd21a81d9339563", "signature": "public byte FullWidth", "summary": "_Bool (offset 34)" }, { "name": "Loading", "kind": "field", "id": "field|Loading|0|0|byte|||h20a09ddc6a79c663a1d4f8d2042bef2401f8094388c708c582468cf01c1a7c8e", "signature": "public byte Loading", "summary": "spinner, ignores clicks (offset 33)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|byte|||h48f54c1c7f1477a898313a8a1128d8456b17a09db15f6c9d1b8c0f9629b7fdf5", "signature": "public byte Selected", "summary": "toggled look (offset 35)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "leading icon, e.g. CUI_ICON_PLUS (offset 16)" }, { "name": "IconRight", "kind": "field", "id": "field|IconRight|0|0|nint|||he262569cc3c6864a108c94fc21aea5e54176cde0382004e0e7ec9c1afae1ecbb", "signature": "public nint IconRight", "summary": "trailing icon (offset 24)" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|nint|||hc6bbf869e5f430ce1cb0bb80bcc43a44ef490242700d9eccaf018d9378a8f2dd", "signature": "public nint Shortcut", "summary": "shown as a hint in the tooltip, e.g. \u0022Ctrl S\u0022 (offset 48)" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|nint|||hccbc32a161449afe62353b5d908ca3da9aecdd74fe8acbce624e4004ec4575e7", "signature": "public nint Tooltip", "summary": "const char * (offset 40)" }] }, + { "name": "CuiSharp.Interop.NativeCalEvent", "displayName": "NativeCalEvent", "kind": "struct", "summary": "Week calendar: seven day columns on an hour grid. Drag an event to move it (15 minute steps), drag its bottom edge to resize it. Returns the index of a clicked event, or -1. (32 bytes)", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 28)" }, { "name": "End", "kind": "field", "id": "field|End|0|0|float|||h746aa4735d52d974b98a908b8c756c9e0c0f37203b3999ab7359e161064f649d", "signature": "public float End", "summary": "end in hours; moving or resizing the event changes it (offset 24)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|float|||ha3e89c7d95d80cd26b26f17ad97c1dd953e50a5774663a52471d8a17579c8978", "signature": "public float Start", "summary": "start in hours (13.5 is 13:30); dragging the event changes it (offset 20)" }, { "name": "Day", "kind": "field", "id": "field|Day|0|0|int|||h40d69339a69f05f7a1cf0fdcf537358258767e30cc6d07e430cb48196d28a0e1", "signature": "public int Day", "summary": "day column, 0 (the day of \u0060week_start\u0060) to 6; dragging the event changes it (offset 16)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "a second line such as the place, shown when the event is tall enough; may be \u0060NULL\u0060 (offset 8)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "shown on the event (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeCalendarHeatmapOpts", "displayName": "NativeCalendarHeatmapOpts", "kind": "struct", "summary": "Calendar heatmap: one cell per day from start, weeks as columns, in five levels, with month and weekday labels and a Less / More legend. (32 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 8)" }, { "name": "Cell", "kind": "field", "id": "field|Cell|0|0|float|||hf561982788f651cf6be459cbdafa3d95b9d0eec610073c6be9f8ee75925d3d45", "signature": "public float Cell", "summary": "size of a day\u0027s square in points, default 11 (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|nint|||h708409b7ee1912ab128b9f78a22e55e9f298402bb842be865ac89fa44f207c93", "signature": "public nint Unit", "summary": "const char * (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeCandle", "displayName": "NativeCandle", "kind": "struct", "summary": "Candlestick chart: open, high, low and close per period with volume under it, for prices. The wheel zooms around the pointer, dragging (or Shift\u002Bwheel) pans, a crosshair shows each candle\u0027s values, and the price axis fits the candles in view. Zoomed out past a few points per candle, candles merge per pixel column, so a long history stays fast. When the view shows the newest candle it follows new ones as they are appended. With the chart focused, Left and Right move the crosshair (Shift: ten at a time), Home and End jump to the ends, \u002B and - zoom and 0 fits everything. (20 bytes)", "members": [{ "name": "Close", "kind": "field", "id": "field|Close|0|0|float|||hdbf413c58a9f47dea0a50fed460dbd93d29daa77401f940f16af6251e2028722", "signature": "public float Close", "summary": "price at the end of the period (offset 12)" }, { "name": "High", "kind": "field", "id": "field|High|0|0|float|||h8d86ceb8300b405923f523b6dfd491fceedb9688753dea5f6c0ed797466bffb1", "signature": "public float High", "summary": "highest price in the period (offset 4)" }, { "name": "Low", "kind": "field", "id": "field|Low|0|0|float|||h5bec759be4f0ae85b0ce5535aeb5d662da36d7c794ada46efc1c76f1e46fbd11", "signature": "public float Low", "summary": "lowest price in the period (offset 8)" }, { "name": "Open", "kind": "field", "id": "field|Open|0|0|float|||hc9eb0b7a2eda17a016265abb4149c4d6320d1a0ad9e2d574af040fea57e2b535", "signature": "public float Open", "summary": "price at the start of the period (offset 0)" }, { "name": "Volume", "kind": "field", "id": "field|Volume|0|0|float|||h4e862718c5c149dfe923f34f73565a8823a0e676880e4f814cc54cf696444405", "signature": "public float Volume", "summary": "amount traded in the period, drawn as a bar under the candle; 0 for none (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeCandlestickOpts", "displayName": "NativeCandlestickOpts", "kind": "struct", "summary": "cui_candlestick_opts (56 bytes)", "members": [{ "name": "Down", "kind": "field", "id": "field|Down|0|0|NativeColor|||h1d93d88dd7af41d779829138ba47cee1a6470acb6ca713705fe15371dcdfba46", "signature": "public NativeColor Down", "summary": "default the success and danger colors (offset 50)" }, { "name": "Up", "kind": "field", "id": "field|Up|0|0|NativeColor|||h6c614ddfd4c7a017e934dabe7b14d544bd135b07cb7e407ba5ca9c623727efc5", "signature": "public NativeColor Up", "summary": "default the success and danger colors (offset 46)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoVolume", "kind": "field", "id": "field|NoVolume|0|0|byte|||ha6f36cb4a8eda5ebb266df5faa191299bd09d69efb7fb8902bcb7b006b0ffb37", "signature": "public byte NoVolume", "summary": "volume bars show when any candle has volume (offset 44)" }, { "name": "Ohlc", "kind": "field", "id": "field|Ohlc|0|0|byte|||h1e30ff96134fc3b7acf81409678eab06a6554790f0c50ab9be0186be2d0ce454", "signature": "public byte Ohlc", "summary": "OHLC bars instead of candle bodies (offset 45)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320 (offset 12)" }, { "name": "OverlayCount", "kind": "field", "id": "field|OverlayCount|0|0|int|||ha8d99630aed0348e05d42fcd4a15671c1288e5c9fb38a9067b57636b13b7a171", "signature": "public int OverlayCount", "summary": "entries in \u0060overlays\u0060: lines with one value per candle, e.g. moving averages (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "prices, default \u0022%.2f\u0022 (offset 24)" }, { "name": "Labels", "kind": "field", "id": "field|Labels|0|0|nint|||h0891cfd95c52c3d740759d7929c72841b5dbbfe2ec9c515f56c7e5d7f437cf1c", "signature": "public nint Labels", "summary": "one per candle (dates or times): the time axis and the tooltip (offset 16)" }, { "name": "Overlays", "kind": "field", "id": "field|Overlays|0|0|nint|||h021a199bb5e2c7a0a556a28b5ae8d86ad089d753201dbb356fcc37d440c86007", "signature": "public nint Overlays", "summary": "series drawn as lines over the candles; at most 4 (offset 32)" }] }, + { "name": "CuiSharp.Interop.NativeCanvasResult", "displayName": "NativeCanvasResult", "kind": "struct", "summary": "cui_canvas_result (28 bytes)", "members": [{ "name": "Rect", "kind": "field", "id": "field|Rect|0|0|NativeRect|||h964ee6adc69a0c4dfcb768a65e0bd2593f7822cdb42a503c61eb22297e35e501", "signature": "public NativeRect Rect", "summary": "cui_rect (offset 0)" }, { "name": "Mouse", "kind": "field", "id": "field|Mouse|0|0|NativeVec2|||h4864848e36236e0fb4802b34934376806309db6f11dfce83ac4ce023859b8bc5", "signature": "public NativeVec2 Mouse", "summary": "cui_vec2 (offset 20)" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|byte|||ha05657db5453f9006479c7302f1de41db5688caa6f77ee5b281698777aae4c92", "signature": "public byte Clicked", "summary": "_Bool (offset 18)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|byte|||h4785e3188428a52694c64922b42544b998ea3d0d8b2bcc971ccfdabce4e24659", "signature": "public byte Hovered", "summary": "_Bool (offset 16)" }, { "name": "Pressed", "kind": "field", "id": "field|Pressed|0|0|byte|||hb6470ad375156d9021a10d87080ef8f821c05fe70f0cfaf89c7856934425b3a7", "signature": "public byte Pressed", "summary": "_Bool (offset 17)" }] }, + { "name": "CuiSharp.Interop.NativeCardOpts", "displayName": "NativeCardOpts", "kind": "struct", "summary": "Card: a bordered surface with generous padding. (72 bytes)", "members": [{ "name": "Align", "kind": "field", "id": "field|Align|0|0|Align|||hbfab2ef993c61054e2f8f5ce6be2dad9452bc3394d4804b70659bacd284f6875", "signature": "public Align Align", "summary": "cui_align (offset 60)" }, { "name": "Dir", "kind": "field", "id": "field|Dir|0|0|Dir|||h4234b97a5550923f99238823065b45fc864e22c26f0c83f8c84555cb61b7d89b", "signature": "public Dir Dir", "summary": "cui_dir (offset 56)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 16)" }, { "name": "Hoverable", "kind": "field", "id": "field|Hoverable|0|0|byte|||hf8a7939bb5942cafd3e7e6eb20598fe4f669ee8209d65f33197f45e54bd2f8ae", "signature": "public byte Hoverable", "summary": "lifts slightly on hover and returns clicks (offset 65)" }, { "name": "Muted", "kind": "field", "id": "field|Muted|0|0|byte|||hd394c2e19613033efcc4a61fa3171f5cdac77c142705edaa16ede4fb74398475", "signature": "public byte Muted", "summary": "muted surface, no border (offset 66)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|byte|||h48f54c1c7f1477a898313a8a1128d8456b17a09db15f6c9d1b8c0f9629b7fdf5", "signature": "public byte Selected", "summary": "accent border (offset 67)" }, { "name": "Wrap", "kind": "field", "id": "field|Wrap|0|0|byte|||h6a568b83b5ebf923fcc8d84bac649c39f1522c51c4635ba194b84fe57992fecf", "signature": "public byte Wrap", "summary": "CUI_ROW cards: children that do not fit move to a new line (offset 64)" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float (offset 52)" }, { "name": "MaxWidth", "kind": "field", "id": "field|MaxWidth|0|0|float|||h6955c9491dc05b5aeba77dc176d769dc41bee5636e74696cc5ac75aede49296b", "signature": "public float MaxWidth", "summary": "e.g. CUI_FILL up to max_width: fills narrow screens, stops on wide ones (offset 36)" }, { "name": "MinWidth", "kind": "field", "id": "field|MinWidth|0|0|float|||h7e959c77177556152f99de8073ad52de6c88f583955bbebe8b717d02776d9e64", "signature": "public float MinWidth", "summary": "e.g. CUI_FILL up to max_width: fills narrow screens, stops on wide ones (offset 32)" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float (offset 40)" }, { "name": "PadX", "kind": "field", "id": "field|PadX|0|0|float|||h173de26af4d61cccda65dc4e4a2134425ccb87e453814b3fc09477116f152937", "signature": "public float PadX", "summary": "left and right padding in points; 0 uses \u0060pad\u0060 (offset 44)" }, { "name": "PadY", "kind": "field", "id": "field|PadY|0|0|float|||he7a54032c34537ad78c4c2a6e6dcd1656a79aa395a54ecd5a4ed46c891e7cf37", "signature": "public float PadY", "summary": "top and bottom padding in points; 0 uses \u0060pad\u0060 (offset 48)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Id", "kind": "field", "id": "field|Id|0|0|nint|||h776d0e60aed221d94e76ec8f19e3fe1a92e74b03003d575f9b4eaa98ff45a530", "signature": "public nint Id", "summary": "identity of the card, for its hover state (defaults to an automatic id) (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeCardStackOpts", "displayName": "NativeCardStackOpts", "kind": "struct", "summary": "Card stack: a deck where the top card can be flicked away left or right. Build \u0060count\u0060 cards; card 0 is the top. end returns -1 or 1 on the frame the top card leaves (to the left or right), else 0. (20 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Visible", "kind": "field", "id": "field|Visible|0|0|int|||h4fdf87b1e77faeb11e5326e71ffb6338d699f8b49d4a214a0b6bef7bf1309566", "signature": "public int Visible", "summary": "cards of the deck that show at once, default 3 (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeCarouselOpts", "displayName": "NativeCarouselOpts", "kind": "struct", "summary": "Carousel: slides that you swipe, drag, scroll or page with the arrows and dots. Build every slide between begin and end: cui_carousel(ui, \u0022tour\u0022, 4, \u0026index, .height = 220) { for (int k = 0; k \u003C 4; k\u002B\u002B) cui_carousel_slide(ui) { ... } } (20 bytes)", "members": [{ "name": "Loop", "kind": "field", "id": "field|Loop|0|0|byte|||h3ea3d61078da90ba0c3355d3ef0183631b189a2445b74ebdb98d33d3479d2b7e", "signature": "public byte Loop", "summary": "past the last slide comes the first again, and back from the first the last (offset 18)" }, { "name": "NoArrows", "kind": "field", "id": "field|NoArrows|0|0|byte|||h7a6a12415b4c6dab1df3ff5c83c6bb25f115313482e4ca44ed78af5fc6a75854", "signature": "public byte NoArrows", "summary": "hides the previous and next arrows that show on hover (offset 16)" }, { "name": "NoDots", "kind": "field", "id": "field|NoDots|0|0|byte|||hf9ef934ce44c465e4ec7f41621759281b8a5473953f2999e98657ef9ea08ba38", "signature": "public byte NoDots", "summary": "hides the row of page dots under the slides (offset 17)" }, { "name": "AutoAdvance", "kind": "field", "id": "field|AutoAdvance|0|0|float|||h33329d1b2d0ca9a63bdd777428459fd84fbfa04489f913ad51d47d16c7581b9c", "signature": "public float AutoAdvance", "summary": "seconds on a slide before it moves to the next, paused while hovered; 0 turns it off (offset 8)" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float (offset 12)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeChartAnnotation", "displayName": "NativeChartAnnotation", "kind": "struct", "summary": "cui_chart_annotation (48 bytes)", "members": [{ "name": "Kind", "kind": "field", "id": "field|Kind|0|0|AnnotationKind|||h4da3120119ae2b3c496490c89e7b8b512d5ec36790a4241f43fe30b94980d5ff", "signature": "public AnnotationKind Kind", "summary": "cui_annotation_kind (offset 0)" }, { "name": "Accent", "kind": "field", "id": "field|Accent|0|0|byte|||hac68f6d6fc1924b3c501e81202354c3a8e4d240505353e38605657c26a109f54", "signature": "public byte Accent", "summary": "the line, dot and label in the accent color (offset 40)" }, { "name": "X", "kind": "field", "id": "field|X|0|0|double|||ha5003241e77f21c568e126669d4eb833483db76ed13db54b5818340e60ef1785", "signature": "public double X", "summary": "in the chart\u0027s x units: the point\u0027s index for line and bar charts, x_min to x_max for the dot chart (offset 8)" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|double|||h42a9a4c0120db0eb8c86dc4aefd4a798a91aba3a1e505f466928c7e4829f513f", "signature": "public double Y", "summary": "a value, in the chart\u0027s value units (offset 16)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "second line, muted, e.g. \u002213:06\u0022; \u0060NULL\u0060 for none (offset 32)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "first line, e.g. \u0022PEAK 203 MG\u0022; \u0060NULL\u0060 for a line with no label (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeChartOpts", "displayName": "NativeChartOpts", "kind": "struct", "summary": "cui_chart_opts (72 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Area", "kind": "field", "id": "field|Area|0|0|byte|||he8d3e8e8bb4ce63a9137e3d4828bc93f823171d1a6f241ca48772fa8dc7c11c5", "signature": "public byte Area", "summary": "fill under lines (offset 28)" }, { "name": "NoGrid", "kind": "field", "id": "field|NoGrid|0|0|byte|||h026f953f32349519b56ea40bf2b85e0b94dcd1027cc2c5b4a4388f7196a50566", "signature": "public byte NoGrid", "summary": "_Bool (offset 29)" }, { "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|byte|||h1f8a110b3f30258fe29c926542fc3ebe7571478d3c055e1b3267d8e06e0b33f4", "signature": "public byte NoLegend", "summary": "_Bool (offset 30)" }, { "name": "Smooth", "kind": "field", "id": "field|Smooth|0|0|byte|||h8b09e18311bbb164f88305b5cff80844717a74f7fa25b154b9b3c08afe4cdcc0", "signature": "public byte Smooth", "summary": "curved lines (offset 32)" }, { "name": "Stacked", "kind": "field", "id": "field|Stacked|0|0|byte|||h693692fdffed29590d3fe4ff4aa98f0b1a5a647b80ba9fbd6a002ea4005f895f", "signature": "public byte Stacked", "summary": "bar chart (offset 31)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 220 (offset 12)" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "fixed y range when min != max (offset 52)" }, { "name": "Min", "kind": "field", "id": "field|Min|0|0|float|||h81101b82558caea906d5838961d5313f13c99e7d68f18285b0cf84040f989d8a", "signature": "public float Min", "summary": "fixed y range when min != max (offset 48)" }, { "name": "AnnotationCount", "kind": "field", "id": "field|AnnotationCount|0|0|int|||he187f06925aba0739dc1b045108e6b12979345e4091e505136519c4a537d4f1a", "signature": "public int AnnotationCount", "summary": "number of \u0060annotations\u0060 (offset 64)" }, { "name": "LabelCount", "kind": "field", "id": "field|LabelCount|0|0|int|||h0786fd3eeaf4c765c6fa8cf9e8d15e20cd1426ffc09f46dd1856d4d1cd8ef852", "signature": "public int LabelCount", "summary": "number of \u0060labels\u0060; 0 means one per data point (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Annotations", "kind": "field", "id": "field|Annotations|0|0|nint|||h0e287e8ffe2ed475ae3a81c854fc8e26f9795c2081c88fa77fcb7a81799e3309", "signature": "public nint Annotations", "summary": "lines and points drawn over the chart (line and bar charts) (offset 56)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "value format for axis and tooltip, default \u0022%.0f\u0022 (offset 40)" }, { "name": "Labels", "kind": "field", "id": "field|Labels|0|0|nint|||h0891cfd95c52c3d740759d7929c72841b5dbbfe2ec9c515f56c7e5d7f437cf1c", "signature": "public nint Labels", "summary": "x axis labels (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeChatOpts", "displayName": "NativeChatOpts", "kind": "struct", "summary": "Chat message bubble. Consecutive messages from one person set grouped so they stack tightly and show the avatar once. (64 bytes)", "members": [{ "name": "Grouped", "kind": "field", "id": "field|Grouped|0|0|byte|||h8824f5842400fbe6b3e8bd9b3741c5b0523524fed53dfaeb300ba1a1518360cd", "signature": "public byte Grouped", "summary": "continues the previous message (offset 32)" }, { "name": "LastInGroup", "kind": "field", "id": "field|LastInGroup|0|0|byte|||hf6373daa489f65906e6886d8f38c321fbadadfa87b74990611c559a01a31cc0e", "signature": "public byte LastInGroup", "summary": "shows the avatar (others) and status (mine) (offset 33)" }, { "name": "Markdown", "kind": "field", "id": "field|Markdown|0|0|byte|||h7f1da1fcb473b91e0f6ecc7349a064e18b8ff52792412e081751d8d1938096fe", "signature": "public byte Markdown", "summary": "render the text with cui_markdown (compact, as wide as it needs) (offset 48)" }, { "name": "Mine", "kind": "field", "id": "field|Mine|0|0|byte|||h4514fcc235e72a7f07362ff9cc72b4bd54f81d528491c1ed167f6c52cee36833", "signature": "public byte Mine", "summary": "right aligned, accent bubble (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Author", "kind": "field", "id": "field|Author|0|0|nint|||h42259eda4a5cd5217e3ff4e52e5ab08ff4edda9240aaa452d4af2589b41bd856", "signature": "public nint Author", "summary": "name above the first bubble of a group (offset 8)" }, { "name": "MarkdownResult", "kind": "field", "id": "field|MarkdownResult|0|0|nint|||ha56930908ad109e7d79045cac68d2bc2e984f2ea31e8af6e6fa827cf29a231f6", "signature": "public nint MarkdownResult", "summary": "optional: links and task toggles the markdown reported (offset 56)" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|nint|||h5eb064e9f4d4ca19be69b5617dddc7619d74afabd85bd1578dc70d05818e080a", "signature": "public nint Status", "summary": "under your own last message, e.g. \u0022Read\u0022 (offset 24)" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|nint|||h6d58676de43396dc84cf8d2e099bd5fe6b43afec28246479d0f40b03dafda113", "signature": "public nint Time", "summary": "shown after the author\u0027s name; on your own messages after \u0060status\u0060 (offset 16)" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|nuint|||hd836d3050349dc9e230d8ba691c657178a9fd72c10b4dc2ffe3eba6966257126", "signature": "public nuint Avatar", "summary": "picture for the sender\u0027s avatar instead of initials (other people\u0027s messages) (offset 40)" }] }, + { "name": "CuiSharp.Interop.NativeCheckOpts", "displayName": "NativeCheckOpts", "kind": "struct", "summary": "cui_check_opts (24 bytes)", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 16)" }, { "name": "Indeterminate", "kind": "field", "id": "field|Indeterminate|0|0|byte|||hfedb6a86910124c963d29f1734bebdd306e24edb2eb5d92514b1fc88f2d3b8a7", "signature": "public byte Indeterminate", "summary": "_Bool (offset 17)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeCheckStep", "displayName": "NativeCheckStep", "kind": "struct", "summary": "Onboarding checklist: a card with progress and steps. The first open step shows its description and action. Clicking a step\u0027s circle toggles done. Returns the index whose action was clicked, or -1. (32 bytes)", "members": [{ "name": "Done", "kind": "field", "id": "field|Done|0|0|byte|||h58098c30b144e76005c563d0bd944f605f0196fda06a720faadb04ff25758c6c", "signature": "public byte Done", "summary": "the step is complete; clicking its circle flips this (offset 24)" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|nint|||h7dfe2a16d24f5ae17516623e6e776336e0c9174236c2f3e6d25910fcd1c88c17", "signature": "public nint Action", "summary": "label of the button shown under the first step that is not done; \u0060NULL\u0060 for none (offset 16)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "the step\u0027s text; muted once the step is done (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeChecklistOpts", "displayName": "NativeChecklistOpts", "kind": "struct", "summary": "cui_checklist_opts (24 bytes)", "members": [{ "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 16)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "heading of the card, default \u0022Get started\u0022 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeChipOpts", "displayName": "NativeChipOpts", "kind": "struct", "summary": "cui_chip_opts (24 bytes)", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeChoice", "displayName": "NativeChoice", "kind": "struct", "summary": "Radio cards: larger selectable cards for choices that need a description (plans, templates). (32 bytes)", "members": [{ "name": "Badge", "kind": "field", "id": "field|Badge|0|0|nint|||hde22c04ea21d8219db7a1a082d573f3b836e72a11c561a5bcf979fe76b33f2fc", "signature": "public nint Badge", "summary": "small accent badge beside the title, e.g. \u0022Popular\u0022; \u0060NULL\u0060 for none (offset 24)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 16)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "the card\u0027s heading, in medium weight; wraps when long (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeCodeEditorOpts", "displayName": "NativeCodeEditorOpts", "kind": "struct", "summary": "cui_code_editor_opts (64 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 16)" }, { "name": "Autofocus", "kind": "field", "id": "field|Autofocus|0|0|byte|||hf7200e77a6e74d4faf41ea5500f58e93a4f8f8423cf247fc6c5784655d8f9fe5", "signature": "public byte Autofocus", "summary": "_Bool (offset 39)" }, { "name": "NoLineNumbers", "kind": "field", "id": "field|NoLineNumbers|0|0|byte|||h225192e93125ad7432bce78360339170c20c41ea31198e860e390c004ef1b0e3", "signature": "public byte NoLineNumbers", "summary": "hides the gutter of line numbers (offset 38)" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|byte|||h9e1431d0c26b40c6daa5a446056e13ee71a6462394b7d796b573d868c509360c", "signature": "public byte ReadOnly", "summary": "_Bool (offset 37)" }, { "name": "UseTabs", "kind": "field", "id": "field|UseTabs|0|0|byte|||heab8c40cb58fb14e3c34d1d3dfa838acb5b84f19a09ad93e400f0add6d0b83e1", "signature": "public byte UseTabs", "summary": "indent with tab characters instead of spaces (offset 36)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320; negative fills the space (offset 24)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 13 (offset 28)" }, { "name": "MarkCount", "kind": "field", "id": "field|MarkCount|0|0|int|||he0762e6e3d6ca8a079b9d863b518cc5bb337abac3fb7998e5089c8856059c47a", "signature": "public int MarkCount", "summary": "number of \u0060marks\u0060 (offset 56)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "TabSize", "kind": "field", "id": "field|TabSize|0|0|int|||h1fb69a62e48ce09519cd8bb8b90088cf5a2053b0f991052821d6e0a3f3dab47f", "signature": "public int TabSize", "summary": "columns per indentation level, default 4 (offset 32)" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|nint|||h47e017876cc656beadab67c2a3da7d17ebe65dbbb9bf477edfc76ac1167c397a", "signature": "public nint Lang", "summary": "as cui_code_block: \u0022c\u0022, \u0022cpp\u0022, \u0022js\u0022, \u0022ts\u0022, \u0022python\u0022, \u0022rust\u0022, \u0022go\u0022, \u0022json\u0022, \u0022shell\u0022; \u0022text\u0022 for none (offset 8)" }, { "name": "Marks", "kind": "field", "id": "field|Marks|0|0|nint|||h92dff866ad21ca7e39f6ae23d95ab0e17de8e7a46f99b13069259649cbba4f47", "signature": "public nint Marks", "summary": "ranges to highlight (search results, regex matches), sorted by start (offset 48)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "shown while the text is empty (offset 40)" }] }, + { "name": "CuiSharp.Interop.NativeCodeEditorResult", "displayName": "NativeCodeEditorResult", "kind": "struct", "summary": "cui_code_editor_result (44 bytes)", "members": [{ "name": "Changed", "kind": "field", "id": "field|Changed|0|0|byte|||had978eec0af03eb4dacdb360976a7e241488e1b52d178b9e3926112ece7b5ff4", "signature": "public byte Changed", "summary": "the text changed this frame (offset 0)" }, { "name": "Focused", "kind": "field", "id": "field|Focused|0|0|byte|||h81ce6ee72755791f4dc232b5aa74f873fdb70c3df47376d5e25944a375cf15e3", "signature": "public byte Focused", "summary": "the editor or its find bar has the keyboard (offset 2)" }, { "name": "Refused", "kind": "field", "id": "field|Refused|0|0|byte|||h08634b8afa1d66ba2cd75236cdb4831b5878ca633d36fd4da9d7ded68edc081d", "signature": "public byte Refused", "summary": "an edit did not fit in the capacity and was dropped (offset 1)" }, { "name": "Anchor", "kind": "field", "id": "field|Anchor|0|0|int|||haebd09af400cd13b8e6a4d74ff68b178d1ce2cdb19d12950362ae273b212ff68", "signature": "public int Anchor", "summary": "caret and the other end of the selection, byte offsets (offset 8)" }, { "name": "Bracket", "kind": "field", "id": "field|Bracket|0|0|int|||h77d16f8f46588b03aef36d7c7700c16913abeb938081d48c601527ac49676ea8", "signature": "public int Bracket", "summary": "the bracket beside the caret and its partner, byte offsets, or -1 (offset 28)" }, { "name": "BracketMatch", "kind": "field", "id": "field|BracketMatch|0|0|int|||hf4bcef73eb750933986b759052d8e30b7b10d167b65548578d889eef0a8d0447", "signature": "public int BracketMatch", "summary": "the bracket beside the caret and its partner, byte offsets, or -1 (offset 32)" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "the caret, 1 based; columns count tabs to their stop (offset 16)" }, { "name": "Cursor", "kind": "field", "id": "field|Cursor|0|0|int|||h23aff42ff5d653e4a3b8a654aa17c4d9c160335133193db458a21e242a54d577", "signature": "public int Cursor", "summary": "caret and the other end of the selection, byte offsets (offset 4)" }, { "name": "FindIndex", "kind": "field", "id": "field|FindIndex|0|0|int|||h9901bf02470123f840113bd889b35049d5d57a39c279f06740fad0d72c6b6fae", "signature": "public int FindIndex", "summary": "with the find bar open: matches, and which one is selected (1 based, 0 none) (offset 40)" }, { "name": "FindMatches", "kind": "field", "id": "field|FindMatches|0|0|int|||hc7266e2f6ac242c69af5391be242aaa9b92542b13fe7206e4b7263e39078c2d2", "signature": "public int FindMatches", "summary": "with the find bar open: matches, and which one is selected (1 based, 0 none) (offset 36)" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|int|||hef2503a1d0b9fb909698fa12c327675bda30f8b40b00e879e548d3e8332f864d", "signature": "public int Length", "summary": "lines, and bytes of text (offset 24)" }, { "name": "Line", "kind": "field", "id": "field|Line|0|0|int|||h1879f4fdbcfa3a3747d1163cdd353585f2b2bd90bfd45d0dfb258aacbc098d3e", "signature": "public int Line", "summary": "the caret, 1 based; columns count tabs to their stop (offset 12)" }, { "name": "LineCount", "kind": "field", "id": "field|LineCount|0|0|int|||hbaa214fddd02d1ccffe160de438912c4aa7f3470b2479bc2583e4f2d2ebb1485", "signature": "public int LineCount", "summary": "lines, and bytes of text (offset 20)" }] }, + { "name": "CuiSharp.Interop.NativeCodeOpts", "displayName": "NativeCodeOpts", "kind": "struct", "summary": "Code block with syntax highlighting (lang: \u0022c\u0022, \u0022cpp\u0022, \u0022js\u0022, \u0022ts\u0022, \u0022python\u0022, \u0022rust\u0022, \u0022go\u0022, \u0022json\u0022, \u0022shell\u0022, or \u0022text\u0022 for none), line numbers, a title bar and a copy button. Long lines scroll sideways. (48 bytes)", "members": [{ "name": "LineNumbers", "kind": "field", "id": "field|LineNumbers|0|0|byte|||h6c489273e0032c3cd8879a3f825471bba8adeaa0cfc8d55f56fc838851f2142f", "signature": "public byte LineNumbers", "summary": "a column of line numbers on the left (offset 24)" }, { "name": "NoHeader", "kind": "field", "id": "field|NoHeader|0|0|byte|||h6093941fb44d7f5a4ff51d16324ccdb8778e77d1ae10d4e0d62af2a3df85380c", "signature": "public byte NoHeader", "summary": "no title bar, even with a lang (offset 44)" }, { "name": "MaxHeight", "kind": "field", "id": "field|MaxHeight|0|0|float|||h362fb387f8c873f790106e0085b293b9836b14ef629bd38f56f23e0483ef699f", "signature": "public float MaxHeight", "summary": "scrolls beyond this, default none (offset 36)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 13 (offset 40)" }, { "name": "HighlightFrom", "kind": "field", "id": "field|HighlightFrom|0|0|int|||h3f447dcb0743179fec7a2dd4a9ce932f77873c9111e71c1fa0182456ef6a5ad8", "signature": "public int HighlightFrom", "summary": "1 based line range to emphasize (offset 28)" }, { "name": "HighlightTo", "kind": "field", "id": "field|HighlightTo|0|0|int|||h69877e6460a36c5400eb55f0445931950db5a7253630d30f09922f950fd37671", "signature": "public int HighlightTo", "summary": "1 based line range to emphasize (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|nint|||h47e017876cc656beadab67c2a3da7d17ebe65dbbb9bf477edfc76ac1167c397a", "signature": "public nint Lang", "summary": "\u0022c\u0022, \u0022cpp\u0022, \u0022js\u0022, \u0022ts\u0022, \u0022python\u0022, \u0022rust\u0022, \u0022go\u0022, \u0022json\u0022, \u0022shell\u0022 or \u0022text\u0022 (no colors); shown in the title bar (offset 8)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "e.g. a file name (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeColor", "displayName": "NativeColor", "kind": "struct", "summary": "cui_color (4 bytes)", "members": [{ "name": "A", "kind": "field", "id": "field|A|0|0|byte|||haba598c2e452648ea2192ebb31573b49013fa67fd0a1944b27b187e364bd38d4", "signature": "public byte A", "summary": "uint8_t (offset 3)" }, { "name": "B", "kind": "field", "id": "field|B|0|0|byte|||hc039cf1b86a898bd1c27e29036e275d0e1ee7e111ddbeb3950aba66fadcdd01e", "signature": "public byte B", "summary": "uint8_t (offset 2)" }, { "name": "G", "kind": "field", "id": "field|G|0|0|byte|||hf7128c545730a794931f3c622c9897ea1b4f1faae0f65e84d18073d732d74990", "signature": "public byte G", "summary": "uint8_t (offset 1)" }, { "name": "R", "kind": "field", "id": "field|R|0|0|byte|||h28dd3a8bcb2656f9a397d0b9687de1aff5ed0c342df898c72a005ccc671e14b5", "signature": "public byte R", "summary": "uint8_t (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeCommand", "displayName": "NativeCommand", "kind": "struct", "summary": "cui_command (32 bytes)", "members": [{ "name": "Group", "kind": "field", "id": "field|Group|0|0|nint|||h963fd0b49f7656c682c074d70591163973d0610c086f5a99ce956e9c99ca536f", "signature": "public nint Group", "summary": "heading above a run of commands with the same group, shown while the search is empty (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|nint|||hc6bbf869e5f430ce1cb0bb80bcc43a44ef490242700d9eccaf018d9378a8f2dd", "signature": "public nint Shortcut", "summary": "const char * (offset 24)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "the command\u0027s text in the list; what typing in the palette searches (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeCommentOpts", "displayName": "NativeCommentOpts", "kind": "struct", "summary": "cui_comment_opts (56 bytes)", "members": [{ "name": "Edited", "kind": "field", "id": "field|Edited|0|0|byte|||h9ef1d7c46ce21222bc9354c9bc032337f9bc7c03cf045d2ab6957bb638b70c68", "signature": "public byte Edited", "summary": "adds \u0022edited\u0022 after the time (offset 40)" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "0 for a top level comment; each level indents a reply 44 points under a connector line (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|nint|||hde22c04ea21d8219db7a1a082d573f3b836e72a11c561a5bcf979fe76b33f2fc", "signature": "public nint Badge", "summary": "small badge after the author\u0027s name, e.g. \u0022Author\u0022 (offset 48)" }, { "name": "Liked", "kind": "field", "id": "field|Liked|0|0|nint|||h2166441fedf68530e5d1694c5e257e1839e52448203851cafc1af70e1fa24e8b", "signature": "public nint Liked", "summary": "whether you liked it: tints the heart and flips on a click. \u0060NULL\u0060: the click is only reported (offset 32)" }, { "name": "Likes", "kind": "field", "id": "field|Likes|0|0|nint|||h58b52c8f355fa8ee3d50399c7db0aff44446f02f817bbc6bb1bcf1d855ca5246", "signature": "public nint Likes", "summary": "the like count, shown beside the heart; changed with \u0060*liked\u0060. May be \u0060NULL\u0060 (offset 24)" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|nint|||h6d58676de43396dc84cf8d2e099bd5fe6b43afec28246479d0f40b03dafda113", "signature": "public nint Time", "summary": "muted text after the author\u0027s name, e.g. \u00222h ago\u0022 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeCommit", "displayName": "NativeCommit", "kind": "struct", "summary": "Version history: the branch lanes drawn beside each commit, newest first, with its message, branch and tag names, author, date and short hash. Each commit names its parents by row (parents come later in the array), so merges and branches draw as lines between lanes. Only the rows in view are built. Up and Down move the selection; Enter or a double-click activates. (48 bytes)", "members": [{ "name": "Parent", "kind": "field", "id": "field|Parent|0|0|\u003CParent\u003Ee__FixedBuffer|||h9409d0ba18cd595079a01df9206afc115f203c1830c712c1514cf5dd190f4a6b", "signature": "public \u003CParent\u003Ee__FixedBuffer Parent", "summary": "row of each parent, -1 for none (offset 40)" }, { "name": "Author", "kind": "field", "id": "field|Author|0|0|nint|||h42259eda4a5cd5217e3ff4e52e5ab08ff4edda9240aaa452d4af2589b41bd856", "signature": "public nint Author", "summary": "shown in its own column, which a narrow panel leaves out (offset 16)" }, { "name": "Date", "kind": "field", "id": "field|Date|0|0|nint|||haeabbfc75670c369581630fafd26e71b67e94feb9ce8364ce4c8427111ebed3d", "signature": "public nint Date", "summary": "already formatted: \u00222 hours ago\u0022, \u0022Mar 3\u0022 (offset 24)" }, { "name": "Hash", "kind": "field", "id": "field|Hash|0|0|nint|||he32f0dd10af599ae75494fa806f33e8cdb244a3710820ad4341060ace91d091b", "signature": "public nint Hash", "summary": "the commit id; its first 7 characters are shown (offset 0)" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|nint|||hd26a8e53b67f4e6b6a7f4704f738a3b1510f63da8dbf582c674431012ef50a25", "signature": "public nint Message", "summary": "the first line is shown (offset 8)" }, { "name": "Refs", "kind": "field", "id": "field|Refs|0|0|nint|||h6dd09607b283bf5ba1a9e99b6781c51e4853bb4eff49eaa8ff8d7bdc4eb20db3", "signature": "public nint Refs", "summary": "\u0022main, origin/main, tag: v1.2\u0022, may be NULL (offset 32)" }] }, + { "name": "CuiSharp.Interop.NativeCommitGraphOpts", "displayName": "NativeCommitGraphOpts", "kind": "struct", "summary": "cui_commit_graph_opts (24 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "the selected row or -1, kept by you; \u0060NULL\u0060 keeps it in the component (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeCommitGraphResult", "displayName": "NativeCommitGraphResult", "kind": "struct", "summary": "cui_commit_graph_result (12 bytes)", "members": [{ "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "row double-clicked or chosen with Enter this frame, or -1 (offset 4)" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "row clicked this frame, or -1 (offset 0)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "row under the pointer, or -1 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeCompareOpts", "displayName": "NativeCompareOpts", "kind": "struct", "summary": "Before and after: drag the divider to compare two images. *pos is 0..1. (40 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Aspect", "kind": "field", "id": "field|Aspect|0|0|float|||h5a5a7490732f77b38ee208c886571caa7d8986b77932e6d27775bfe1970fb584", "signature": "public float Aspect", "summary": "the images\u0027 width / height: they are cropped to fill, never stretched (offset 32)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "AfterLabel", "kind": "field", "id": "field|AfterLabel|0|0|nint|||hcd5823b7a0b0c977d9eccf66e15f3e51dc7c161f64bac1acfdb8f3afc28396b4", "signature": "public nint AfterLabel", "summary": "caption in the top right corner, default \u0022After\u0022 (offset 24)" }, { "name": "BeforeLabel", "kind": "field", "id": "field|BeforeLabel|0|0|nint|||h321474378e3eab02f3ff920b697d97588f6fe13d55e5fa16343df2b8befe88be", "signature": "public nint BeforeLabel", "summary": "caption in the top left corner, default \u0022Before\u0022 (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeComposerOpts", "displayName": "NativeComposerOpts", "kind": "struct", "summary": "cui_composer_opts (88 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 76)" }, { "name": "Busy", "kind": "field", "id": "field|Busy|0|0|byte|||h6d479a642971d17d04fab0c19b9d2c36d16f0f7a9b2a35e4c729676ad2d83f35", "signature": "public byte Busy", "summary": "a reply is being generated: the send button becomes stop and Enter does not send (offset 16)" }, { "name": "AttachmentCount", "kind": "field", "id": "field|AttachmentCount|0|0|int|||h478ce484b60fa991e85c35c50d12cbd4431743d88f12dc0d5c7e0f5d616a552a", "signature": "public int AttachmentCount", "summary": "number of \u0060attachments\u0060 (offset 32)" }, { "name": "MaxLines", "kind": "field", "id": "field|MaxLines|0|0|int|||h995307b973f05cbe551b53177d0c23114013f6b5b22c835b2dc6609203e2b299", "signature": "public int MaxLines", "summary": "default 8 (offset 72)" }, { "name": "ModelCount", "kind": "field", "id": "field|ModelCount|0|0|int|||hfbf7f87982dd42ccf2deda1d3ba7c988866b4826cb8f1dd682c00abe8a509e17", "signature": "public int ModelCount", "summary": "number of \u0060models\u0060 (offset 56)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Attachments", "kind": "field", "id": "field|Attachments|0|0|nint|||he6e6ecb16ea2226fdebf10935b17312d86debff83be273b14dc30d280e9ea5ee", "signature": "public nint Attachments", "summary": "names of the attached files, shown as chips above the text, each with an x (offset 24)" }, { "name": "Model", "kind": "field", "id": "field|Model|0|0|nint|||he3716979e91fed1aa1c06e3c1a060359fa7b787432b727cbae4668b23acb34fa", "signature": "public nint Model", "summary": "index of the chosen model, read and written (offset 64)" }, { "name": "Models", "kind": "field", "id": "field|Models|0|0|nint|||h7857e5e3157d65427c1b238f3924e19859b9a615f2f2416dc058a8f4f6c55cba", "signature": "public nint Models", "summary": "models for a picker beside the attach button; \u0060NULL\u0060 for no picker (offset 48)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 8)" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|nint|||h4ced2a66308d51ced83dd2028f30396e5b18b5622a34a8b0f869ac1f69446b2e", "signature": "public nint Removed", "summary": "set to the index of the attachment whose x was clicked (with \u0060CUI_COMPOSER_REMOVE\u0060) (offset 40)" }] }, + { "name": "CuiSharp.Interop.NativeConfirmOpts", "displayName": "NativeConfirmOpts", "kind": "struct", "summary": "Two step destructive button: the first click morphs it into a confirm state with a countdown, the second click confirms. Returns true once. (40 bytes)", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "resting look, default secondary (offset 24)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 28)" }, { "name": "Timeout", "kind": "field", "id": "field|Timeout|0|0|float|||h6fb556a50665c237ad9b5a3a89b5643838aa87632ece289264dbdaa96cf69904", "signature": "public float Timeout", "summary": "seconds before it disarms, default 3 (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "ConfirmLabel", "kind": "field", "id": "field|ConfirmLabel|0|0|nint|||h472b346f2cadf8851006735f2ae21cd804351b98aefdba995e099c2bb951b4c0", "signature": "public nint ConfirmLabel", "summary": "default \u0022Click to confirm\u0022 (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeConfirmPopoverOpts", "displayName": "NativeConfirmPopoverOpts", "kind": "struct", "summary": "Confirm popover: a small question anchored to the previous component. Open it with cui_popover_open(ui, id). Returns true when confirmed. (48 bytes)", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement (offset 44)" }, { "name": "Danger", "kind": "field", "id": "field|Danger|0|0|byte|||h267e3fb92ea691636e4453551bbe9f0ed26a3256b90ce44ac68d4cee9aedb9cf", "signature": "public byte Danger", "summary": "_Bool (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "CancelLabel", "kind": "field", "id": "field|CancelLabel|0|0|nint|||haf909045a38c18019ebac8c799a1af1a0a31f395e68377e9116071d1531ee537", "signature": "public nint CancelLabel", "summary": "default \u0022Cancel\u0022 (offset 32)" }, { "name": "ConfirmLabel", "kind": "field", "id": "field|ConfirmLabel|0|0|nint|||h472b346f2cadf8851006735f2ae21cd804351b98aefdba995e099c2bb951b4c0", "signature": "public nint ConfirmLabel", "summary": "default \u0022Confirm\u0022 (offset 24)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 16)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "the question, in medium weight at the top, e.g. \u0022Delete this file?\u0022 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeContextOpts", "displayName": "NativeContextOpts", "kind": "struct", "summary": "Context meter: a small ring of how full the context is; hover for a breakdown. It turns amber past 80% and red past 95%. (32 bytes)", "members": [{ "name": "PartCount", "kind": "field", "id": "field|PartCount|0|0|int|||h5342a94757f5e81a36c5b83bd0855847425988567f074994d88be7e774e54884", "signature": "public int PartCount", "summary": "number of \u0060parts\u0060 (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Parts", "kind": "field", "id": "field|Parts|0|0|nint|||hb7cf3c264537298beff2626c0db7b799ad0f70befdc4e2a664f9728d28cb7c2c", "signature": "public nint Parts", "summary": "what fills the context (label, amount, color), for the breakdown on hover (offset 8)" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|nint|||h708409b7ee1912ab128b9f78a22e55e9f298402bb842be865ac89fa44f207c93", "signature": "public nint Unit", "summary": "const char * (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeCorners", "displayName": "NativeCorners", "kind": "struct", "summary": "cui_corners (16 bytes)", "members": [{ "name": "Bl", "kind": "field", "id": "field|Bl|0|0|float|||h75cfbb1960e2746350e1187b59f96ec503b96f599bc2c5f068be56ec0dfbe84e", "signature": "public float Bl", "summary": "float (offset 12)" }, { "name": "Br", "kind": "field", "id": "field|Br|0|0|float|||h73d934787837f3d7664ff6849d6e8e22a7564c07bf3db0472f6ca2c2a192996b", "signature": "public float Br", "summary": "float (offset 8)" }, { "name": "Tl", "kind": "field", "id": "field|Tl|0|0|float|||h4fff15d04f266531b81a0bbf50580dabafb0dab6f3b5b3f6fdc1dce93bc582db", "signature": "public float Tl", "summary": "float (offset 0)" }, { "name": "Tr", "kind": "field", "id": "field|Tr|0|0|float|||h90ce0060daeab729abe92c481cecd07780ae3835e8b302bb16b2fa1acdd0e863", "signature": "public float Tr", "summary": "float (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeCountdownOpts", "displayName": "NativeCountdownOpts", "kind": "struct", "summary": "Countdown: days, hours, minutes and seconds as tiles whose digits roll. (8 bytes)", "members": [{ "name": "Compact", "kind": "field", "id": "field|Compact|0|0|byte|||h82ad4978e776988891fb40f0e87ef125edf87783174f60001d6260930e049142", "signature": "public byte Compact", "summary": "small tiles joined by colons, without the unit names under them (offset 5)" }, { "name": "HideDays", "kind": "field", "id": "field|HideDays|0|0|byte|||hbc1451dabcaa02ada6ca1218f1d0e7cc03d49d4b7581a28c356eb1b98d51de2f", "signature": "public byte HideDays", "summary": "no days tile; the hours tile counts the days in (49 hours, not 2 days and 1 hour) (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeCounterOpts", "displayName": "NativeCounterOpts", "kind": "struct", "summary": "Odometer: a number whose digits roll to their new values. (32 bytes)", "members": [{ "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "default \u0060CUI_FONT_DISPLAY\u0060 (offset 20)" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 24)" }, { "name": "GroupThousands", "kind": "field", "id": "field|GroupThousands|0|0|byte|||hff6aec31f491ce96665173264aa6ca32e379c3f00466f90c6aaf4bad45b6cf74", "signature": "public byte GroupThousands", "summary": "commas between thousands: 48210 shows as 48,210 (offset 28)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeCoverageFile", "displayName": "NativeCoverageFile", "kind": "struct", "summary": "Test coverage by folder and file: the files\u0027 paths make the tree, each folder sums up what it holds, and folders fold. Line coverage shows as a bar colored by thresholds, with branches and functions beside it. Click a column\u0027s title to sort. Enter or a double-click activates a file. Narrow panels show lines only. (32 bytes)", "members": [{ "name": "Branches", "kind": "field", "id": "field|Branches|0|0|int|||h211a3c4c9be92003e91bc3dec56563a566cbd138480d4e790a58b46727fe63de", "signature": "public int Branches", "summary": "0 branches: not measured (offset 16)" }, { "name": "BranchesHit", "kind": "field", "id": "field|BranchesHit|0|0|int|||h7071ae5f37dcb0ef19b28606d22fcaaeeff37d96ceb673dee1e8b81c1dd21303", "signature": "public int BranchesHit", "summary": "0 branches: not measured (offset 20)" }, { "name": "Functions", "kind": "field", "id": "field|Functions|0|0|int|||h3c5e176fc0b1d841c718c27c1c6ee284fa20c31afd0c68c06de7f1ec57e71b41", "signature": "public int Functions", "summary": "functions in the file (offset 24)" }, { "name": "FunctionsHit", "kind": "field", "id": "field|FunctionsHit|0|0|int|||h3eaad292bc305e419d0766b41114cb76df3544fa8fd5978eeb5629ed562a4f07", "signature": "public int FunctionsHit", "summary": "functions the tests called (offset 28)" }, { "name": "Lines", "kind": "field", "id": "field|Lines|0|0|int|||hee1996ff73a3bb29577188d155832b95024d32ca718f5404022abdd064faf7d7", "signature": "public int Lines", "summary": "lines that can be covered (offset 8)" }, { "name": "LinesHit", "kind": "field", "id": "field|LinesHit|0|0|int|||h313bb4660008239d0f40b3e18169ad54d23586b86c87095aa77eaf76404cc445", "signature": "public int LinesHit", "summary": "lines the tests ran (offset 12)" }, { "name": "Path", "kind": "field", "id": "field|Path|0|0|nint|||h8bba30a3af23f0921f87758138aaec20cd68b286c4244f14af28ea447646c5f3", "signature": "public nint Path", "summary": "\u0022src/core/layout.c\u0022 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeCoverageOpts", "displayName": "NativeCoverageOpts", "kind": "struct", "summary": "cui_coverage_opts (24 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "percent; default 50 and 80 (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "percent; default 50 and 80 (offset 12)" }, { "name": "High", "kind": "field", "id": "field|High|0|0|float|||h8d86ceb8300b405923f523b6dfd491fceedb9688753dea5f6c0ed797466bffb1", "signature": "public float High", "summary": "percent; default 50 and 80 (offset 20)" }, { "name": "Low", "kind": "field", "id": "field|Low|0|0|float|||h5bec759be4f0ae85b0ce5535aeb5d662da36d7c794ada46efc1c76f1e46fbd11", "signature": "public float Low", "summary": "percent; default 50 and 80 (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "percent; default 50 and 80 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeCoverageResult", "displayName": "NativeCoverageResult", "kind": "struct", "summary": "cui_coverage_result (8 bytes)", "members": [{ "name": "Lines", "kind": "field", "id": "field|Lines|0|0|float|||h7ffa52c3fc8534cb001f45d21db0b1e58ef0821f4b768205d94dfde2e83269d5", "signature": "public float Lines", "summary": "percent of all lines covered (offset 4)" }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "file opened this frame (Enter or a double-click), or -1 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeCropperOpts", "displayName": "NativeCropperOpts", "kind": "struct", "summary": "Cropper: a crop rectangle over a picture, in image pixels. Drag inside to move it, drag a corner or an edge to resize it; the outside dims and thirds lines show while you drag. With it focused, the arrows move the crop (Shift for 10 pixels). A zeroed crop starts as the largest centered rectangle of the aspect. (32 bytes)", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "default the width it gets and 360 (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default the width it gets and 360 (offset 4)" }, { "name": "Round", "kind": "field", "id": "field|Round|0|0|byte|||hdb67065569e6d25c1f90bdd7983a80f29d36dbc74d5ef9f21fba39f0f895fed9", "signature": "public byte Round", "summary": "a round mask, for avatars (keeps a 1:1 aspect) (offset 24)" }, { "name": "Aspect", "kind": "field", "id": "field|Aspect|0|0|float|||h5a5a7490732f77b38ee208c886571caa7d8986b77932e6d27775bfe1970fb584", "signature": "public float Aspect", "summary": "width / height to keep, 0 for free (offset 20)" }, { "name": "MinSize", "kind": "field", "id": "field|MinSize|0|0|float|||h1099d1058b339206047e2995d1f051ab14f9f598203af7d8b0e01d0afc83ece3", "signature": "public float MinSize", "summary": "smallest side, image pixels; default 16 (offset 28)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeCtxDesc", "displayName": "NativeCtxDesc", "kind": "struct", "summary": "cui_ctx_desc (80 bytes)", "members": [{ "name": "Accent", "kind": "field", "id": "field|Accent|0|0|Accent|||h71052de13333411c0ea4ea9fd862bffc6c17770b3cd6a8d9e8d2bd9946427e80", "signature": "public Accent Accent", "summary": "cui_accent (offset 68)" }, { "name": "Direction", "kind": "field", "id": "field|Direction|0|0|Direction|||h894fea11f583bab4f597860149502f9c496b27b2c30b238beaf6828e963d3be0", "signature": "public Direction Direction", "summary": "cui_direction (offset 76)" }, { "name": "Allocator", "kind": "field", "id": "field|Allocator|0|0|NativeAllocator|||h2a74853828dbfd7e50eb0b90bd8b90cf166d5ba510263319d45c4172a997c795", "signature": "public NativeAllocator Allocator", "summary": "optional, defaults to malloc/free (offset 32)" }, { "name": "Renderer", "kind": "field", "id": "field|Renderer|0|0|NativeRendererIface|||h27c01445c111271694495305659d6fe43b11439399341c6448bbd67bb750cc78", "signature": "public NativeRendererIface Renderer", "summary": "required for drawing; may be set later (offset 0)" }, { "name": "Theme", "kind": "field", "id": "field|Theme|0|0|Theme|||hc03062bcd5b400bad341e4abf4eced6f575572c853644893313e624c9667b6d8", "signature": "public Theme Theme", "summary": "cui_theme_mode (offset 64)" }, { "name": "NoDefaultFonts", "kind": "field", "id": "field|NoDefaultFonts|0|0|byte|||h9aaf184d01d6fca750e0877a2cbb78d4bcb15eb3e8b122c9ee72d87956a05e9b", "signature": "public byte NoDefaultFonts", "summary": "skip the embedded Inter/Geist/Lucide fonts (offset 72)" }] }, + { "name": "CuiSharp.Interop.NativeCurveKey", "displayName": "NativeCurveKey", "kind": "struct", "summary": "cui_curve_key (28 bytes)", "members": [{ "name": "Mode", "kind": "field", "id": "field|Mode|0|0|byte|||hc48af46ab8df3bf1e9fde7c99f8133936d52727786d62bae83f6331816627f29", "signature": "public byte Mode", "summary": "cui_curve_mode (offset 24)" }, { "name": "InDx", "kind": "field", "id": "field|InDx|0|0|float|||hbe72f2ff8c6697c4162be844af44cfe03b76835f139b58149b32a476236a35d2", "signature": "public float InDx", "summary": "handle toward the previous key, relative to the key (FREE) (offset 8)" }, { "name": "InDy", "kind": "field", "id": "field|InDy|0|0|float|||h8ab7a07ad294963d27a205c1d82954649160a7ccd9b23bf44e1eaf0318aa1c22", "signature": "public float InDy", "summary": "handle toward the previous key, relative to the key (FREE) (offset 12)" }, { "name": "OutDx", "kind": "field", "id": "field|OutDx|0|0|float|||h1394b8fd1f988184d1bd9439e07af07e316f1dc2c8932927fabaa26ec0fe4108", "signature": "public float OutDx", "summary": "handle toward the next key, relative to the key (FREE) (offset 16)" }, { "name": "OutDy", "kind": "field", "id": "field|OutDy|0|0|float|||h6e703ef86fb213aac57080ac4be84bc37a398dab0c90e86c0f1faa95baba9d1a", "signature": "public float OutDy", "summary": "handle toward the next key, relative to the key (FREE) (offset 20)" }, { "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "position along the horizontal axis, in curve units (seconds in a timeline track) (offset 0)" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "the curve\u0027s value at the key (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeCurveOpts", "displayName": "NativeCurveOpts", "kind": "struct", "summary": "cui_curve_opts (80 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 20)" }, { "name": "ShowPlayhead", "kind": "field", "id": "field|ShowPlayhead|0|0|byte|||h23e75b0d22743b085410034b2d9c5807fc0c225041b8d7745ed4d9f67da557d1", "signature": "public byte ShowPlayhead", "summary": "a marker at x = playhead (offset 73)" }, { "name": "Snap", "kind": "field", "id": "field|Snap|0|0|byte|||h75e3ff21570f3bdcb4c233ca80e5d3c21cc3456e8763e90115f5928bd2453f6c", "signature": "public byte Snap", "summary": "drags always snap to the grid (otherwise hold Shift) (offset 72)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "plot height, default 220 (offset 28)" }, { "name": "Playhead", "kind": "field", "id": "field|Playhead|0|0|float|||h13b4f9a1d03e6abcc658a8690c7eb073e4494ac8809fcb0a505d727c35c95dc9", "signature": "public float Playhead", "summary": "x of the playhead marker, drawn when \u0060show_playhead\u0060 is set (offset 76)" }, { "name": "XMax", "kind": "field", "id": "field|XMax|0|0|float|||hfde8cf024bcd80f7aeaeab1561a00a5999ca4e0a44c92833c650b5e8371f7d84", "signature": "public float XMax", "summary": "plotted range; both 0 = 0..1. Keys stay inside it (offset 8)" }, { "name": "XMin", "kind": "field", "id": "field|XMin|0|0|float|||hda34f3cf948ea1ccb86f31fa14c4b0ae01bb26591a830aa7cf4d6904bbf532a1", "signature": "public float XMin", "summary": "plotted range; both 0 = 0..1. Keys stay inside it (offset 4)" }, { "name": "YMax", "kind": "field", "id": "field|YMax|0|0|float|||h08c14e82ca6ca6de19498074d2f4276eeb0414b9289ba4f3aaa07cfcbabefcc5", "signature": "public float YMax", "summary": "both 0 = 0..1; leave room above and below for overshoot (offset 16)" }, { "name": "YMin", "kind": "field", "id": "field|YMin|0|0|float|||h9fe2b8139f946e78f990e4d05a003bc70a707dad54a59b5bfe7a704cb5bdb21a", "signature": "public float YMin", "summary": "both 0 = 0..1; leave room above and below for overshoot (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "the selected key or -1, kept by you; NULL keeps it in the editor (offset 64)" }, { "name": "XFormat", "kind": "field", "id": "field|XFormat|0|0|nint|||h18e8cf118fea9392564da580eba62c8ae35e782caa009a608ed4c9346c73a269", "signature": "public nint XFormat", "summary": "printf formats for labels and readouts, default from the grid step (offset 32)" }, { "name": "XLabel", "kind": "field", "id": "field|XLabel|0|0|nint|||h1c4a4886f3bc213da6e6aeff6bfcbadc01f7999be462be2d85643797609df1b7", "signature": "public nint XLabel", "summary": "readout names, default \u0022X\u0022 and \u0022Y\u0022 (e.g. \u0022Time\u0022, \u0022Value\u0022) (offset 48)" }, { "name": "YFormat", "kind": "field", "id": "field|YFormat|0|0|nint|||h5c705ed0a7ec28e905001cc33b9d9a52a7c904a615aa8dcd45b435b1a4adcb47", "signature": "public nint YFormat", "summary": "printf formats for labels and readouts, default from the grid step (offset 40)" }, { "name": "YLabel", "kind": "field", "id": "field|YLabel|0|0|nint|||h458be0325d3e3ce4b9212c389ff3d38e2ea7d070891c57b1c5fad4556ed6dc2b", "signature": "public nint YLabel", "summary": "readout names, default \u0022X\u0022 and \u0022Y\u0022 (e.g. \u0022Time\u0022, \u0022Value\u0022) (offset 56)" }] }, + { "name": "CuiSharp.Interop.NativeCurveResult", "displayName": "NativeCurveResult", "kind": "struct", "summary": "cui_curve_result (28 bytes)", "members": [{ "name": "Changed", "kind": "field", "id": "field|Changed|0|0|byte|||had978eec0af03eb4dacdb360976a7e241488e1b52d178b9e3926112ece7b5ff4", "signature": "public byte Changed", "summary": "a key moved, a handle or mode changed, or a key was added or removed (offset 0)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|byte|||h4785e3188428a52694c64922b42544b998ea3d0d8b2bcc971ccfdabce4e24659", "signature": "public byte Hovered", "summary": "the pointer is over the plot: (offset 16)" }, { "name": "HoverX", "kind": "field", "id": "field|HoverX|0|0|float|||h6d3983e00fdd0dc802830b5a13e42596cd1ff3c17737924c3b437e01e780f5b3", "signature": "public float HoverX", "summary": "the x under it and the curve\u0027s value there (offset 20)" }, { "name": "HoverY", "kind": "field", "id": "field|HoverY|0|0|float|||h1ee83e1a2cff5f505adea50b07de7f70d2139ff513f4c2bf13c746028c5f45d7", "signature": "public float HoverY", "summary": "the x under it and the curve\u0027s value there (offset 24)" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "index of the key added this frame, or -1 (offset 4)" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "index the removed key had, or -1 (offset 8)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "the selected key, or -1 (offset 12)" }] }, + { "name": "CuiSharp.Interop.NativeDate", "displayName": "NativeDate", "kind": "struct", "summary": "cui_date (12 bytes)", "members": [{ "name": "Day", "kind": "field", "id": "field|Day|0|0|int|||h40d69339a69f05f7a1cf0fdcf537358258767e30cc6d07e430cb48196d28a0e1", "signature": "public int Day", "summary": "month 1..12 (offset 8)" }, { "name": "Month", "kind": "field", "id": "field|Month|0|0|int|||hcc05b036cc6bdfd0d27293432136b7293c2b0b8f7933726432712a3bbddfde9a", "signature": "public int Month", "summary": "month 1..12 (offset 4)" }, { "name": "Year", "kind": "field", "id": "field|Year|0|0|int|||h8b603079e90d1d910b69d673d70d00144bb31f3787b544bde4dced367798a4dc", "signature": "public int Year", "summary": "month 1..12 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeDateOpts", "displayName": "NativeDateOpts", "kind": "struct", "summary": "cui_date_opts (32 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeDateRange", "displayName": "NativeDateRange", "kind": "struct", "summary": "Date ranges. A zero start means nothing is chosen. (24 bytes)", "members": [{ "name": "End", "kind": "field", "id": "field|End|0|0|NativeDate|||h1b179b5108e9ed3f0347d54b4ef6fe1e441917c22d27a016c4c8a9bbbe6ad0c7", "signature": "public NativeDate End", "summary": "last day of the range, inclusive (offset 12)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|NativeDate|||h7d67c190de1c0e1c80bdadfcd317cbed9d2a9499e545b7e9029faa0256d97a3b", "signature": "public NativeDate Start", "summary": "first day of the range; a zero date means nothing is chosen (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeDateRangeOpts", "displayName": "NativeDateRangeOpts", "kind": "struct", "summary": "cui_date_range_opts (40 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 24)" }, { "name": "NoPresets", "kind": "field", "id": "field|NoPresets|0|0|byte|||h48e9f390319a7348699004766959fb4b02a06a03cd68a5ce168ad69a714642bb", "signature": "public byte NoPresets", "summary": "hides the list of preset ranges beside (or above) the calendar (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeDiagnostic", "displayName": "NativeDiagnostic", "kind": "struct", "summary": "cui_diagnostic (48 bytes)", "members": [{ "name": "Severity", "kind": "field", "id": "field|Severity|0|0|Severity|||h9e5e3ed80aa43cf83d574b57f16dd2271622ff069cd74d83468aa520e5b9608b", "signature": "public Severity Severity", "summary": "cui_severity (offset 0)" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "1 based; 0 leaves it out (offset 28)" }, { "name": "Line", "kind": "field", "id": "field|Line|0|0|int|||h1879f4fdbcfa3a3747d1163cdd353585f2b2bd90bfd45d0dfb258aacbc098d3e", "signature": "public int Line", "summary": "1 based; 0 leaves it out (offset 24)" }, { "name": "Code", "kind": "field", "id": "field|Code|0|0|nint|||h7427649b43b2e49212bf9bfd21a645a61eae4c3514f35066412bf8a3ddeb4484", "signature": "public nint Code", "summary": "\u0022-Wunused-variable\u0022... (may be NULL) (offset 40)" }, { "name": "File", "kind": "field", "id": "field|File|0|0|nint|||hf18b959cb1aa589cfedfeb3f56d2a4481a5c4eac07083fc9750af44c4bf0cf08", "signature": "public nint File", "summary": "groups the rows; NULL or \u0022\u0022 groups as \u0022No file\u0022 (offset 16)" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|nint|||hd26a8e53b67f4e6b6a7f4704f738a3b1510f63da8dbf582c674431012ef50a25", "signature": "public nint Message", "summary": "the text of the row; the whole message shows on hover (offset 8)" }, { "name": "Source", "kind": "field", "id": "field|Source|0|0|nint|||h1199d329667bd917815202c41d44da21fc731a62f0507af39b62283f6b5248d9", "signature": "public nint Source", "summary": "\u0022gcc\u0022, \u0022clang-tidy\u0022... (may be NULL) (offset 32)" }] }, + { "name": "CuiSharp.Interop.NativeDialogOpts", "displayName": "NativeDialogOpts", "kind": "struct", "summary": "cui_dialog_opts (24 bytes)", "members": [{ "name": "NoCloseButton", "kind": "field", "id": "field|NoCloseButton|0|0|byte|||hc1fa2c954e101809c4c6b368da789a0e61f87bebf78327938f83dd397e21c995", "signature": "public byte NoCloseButton", "summary": "hides the x in the corner (Esc and a click outside still close it unless \u0060persistent\u0060) (offset 20)" }, { "name": "Persistent", "kind": "field", "id": "field|Persistent|0|0|byte|||h81ce0743b769b6d5c0e013a90cb0bb3e26b5af87990c1d0258cdb6fe40d4b3a4", "signature": "public byte Persistent", "summary": "clicking outside or Esc does not close (offset 21)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "default 440 (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeDiffHunk", "displayName": "NativeDiffHunk", "kind": "struct", "summary": "The same diff without a view. Old lines [old_start, old_start \u002B old_count) became new lines [new_start, new_start \u002B new_count), 0 based; a pure insertion has old_count 0 and goes before old line old_start. Writes up to cap hunks and returns how many there are (-1 when out of memory). Lines end at \u0022\\n\u0022; a \u0022\\r\u0022 before it is part of the line ending. Allocates with malloc. (16 bytes)", "members": [{ "name": "NewCount", "kind": "field", "id": "field|NewCount|0|0|int|||h990d5c1c776f5d98289d373ccce01e01aff196ec152012f4ce31d332daac2fca", "signature": "public int NewCount", "summary": "int (offset 12)" }, { "name": "NewStart", "kind": "field", "id": "field|NewStart|0|0|int|||h2507b03e2486af8ba046985710fc069eea6c47e6dfecc0af021e362bf01c99be", "signature": "public int NewStart", "summary": "int (offset 8)" }, { "name": "OldCount", "kind": "field", "id": "field|OldCount|0|0|int|||h372126bde64035f7f5e73a78422a27a8b7dd94486f537c991db8a304ed762b5e", "signature": "public int OldCount", "summary": "int (offset 4)" }, { "name": "OldStart", "kind": "field", "id": "field|OldStart|0|0|int|||h72dcb46cb3cbeaf7a201726f15c9d2d777665c73069717ce3a59fa25319f4a93", "signature": "public int OldStart", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeDiffOpts", "displayName": "NativeDiffOpts", "kind": "struct", "summary": "cui_diff_opts (72 bytes)", "members": [{ "name": "Mode", "kind": "field", "id": "field|Mode|0|0|DiffMode|||hd3b30f92655838349c59825ab303a32d61934710651f0b99ceeb3740d4273609", "signature": "public DiffMode Mode", "summary": "cui_diff_mode (offset 4)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 52)" }, { "name": "IgnoreEol", "kind": "field", "id": "field|IgnoreEol|0|0|byte|||he631923645d76379618e41406522de3a02b70a019becacff80d3774439a56ad1", "signature": "public byte IgnoreEol", "summary": "\u0022\\r\\n\u0022 equals \u0022\\n\u0022, and a missing final newline does not count (offset 45)" }, { "name": "NoFold", "kind": "field", "id": "field|NoFold|0|0|byte|||h4e48414527bbb29d232f9f6639c4457be05102960a2f9d0f5924574737413731", "signature": "public byte NoFold", "summary": "show every unchanged line (offset 44)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default: the rows, up to 420; negative fills the space (offset 60)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 12 (offset 64)" }, { "name": "SplitMinWidth", "kind": "field", "id": "field|SplitMinWidth|0|0|float|||hc931e15221dec2e010745242455e00eba3f789c0449406ade12b6644a45a00b8", "signature": "public float SplitMinWidth", "summary": "below this width split shows inline, default 560 (offset 48)" }, { "name": "Context", "kind": "field", "id": "field|Context|0|0|int|||h3378089986c603151e12fc1e07bbb36553bae2eccdf9eeeff4b37cc73b4ca195", "signature": "public int Context", "summary": "unchanged lines kept beside each change, default 3 (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Current", "kind": "field", "id": "field|Current|0|0|nint|||ha7633e646e78ed343a63824be37da604de930ff1124f17c0a7f1570f328a8ed8", "signature": "public nint Current", "summary": "the selected change, read and written (may be NULL); set it to scroll to a change (offset 32)" }, { "name": "Language", "kind": "field", "id": "field|Language|0|0|nint|||h7c1bf27e2024e1a54c14fab18ecff64f29a282d906b594c9780e1db8f72d682b", "signature": "public nint Language", "summary": "syntax colors, as cui_code_block: \u0022c\u0022, \u0022js\u0022, \u0022python\u0022, ... (offset 8)" }, { "name": "NewTitle", "kind": "field", "id": "field|NewTitle|0|0|nint|||h07df29a8c098c37900dc6804ae02528848905b6f83f17078370aac28a00f6384", "signature": "public nint NewTitle", "summary": "a header above the sides, e.g. file names, with the \u002B/- summary (offset 24)" }, { "name": "OldTitle", "kind": "field", "id": "field|OldTitle|0|0|nint|||hf1348a0bbc8b4af962306959ee3358a9d847616f13e17e72114e9c73206d3797", "signature": "public nint OldTitle", "summary": "a header above the sides, e.g. file names, with the \u002B/- summary (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeDiffRange", "displayName": "NativeDiffRange", "kind": "struct", "summary": "Word marks between two versions of one line, as byte ranges (a length of -1 reads up to the terminator). Returns false when the lines have too little in common for marks to help, or a line is very long (over 2000 bytes). (8 bytes)", "members": [{ "name": "Length", "kind": "field", "id": "field|Length|0|0|int|||hef2503a1d0b9fb909698fa12c327675bda30f8b40b00e879e548d3e8332f864d", "signature": "public int Length", "summary": "int (offset 4)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|int|||ha1b0c3e4699fce964620bef0f781444da21c0b72084141f26a9e30e25bf70e5f", "signature": "public int Start", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeDiffResult", "displayName": "NativeDiffResult", "kind": "struct", "summary": "cui_diff_result (36 bytes)", "members": [{ "name": "Mode", "kind": "field", "id": "field|Mode|0|0|DiffMode|||hd3b30f92655838349c59825ab303a32d61934710651f0b99ceeb3740d4273609", "signature": "public DiffMode Mode", "summary": "what is shown: inline when split did not fit (offset 20)" }, { "name": "Approximate", "kind": "field", "id": "field|Approximate|0|0|byte|||h0f32eab877364afb8bff84ad856dc04a67c3afabb2b5e28c6a4e6acf8b5fbae0", "signature": "public byte Approximate", "summary": "the search hit its limit: correct, maybe not the shortest (offset 33)" }, { "name": "CurrentChanged", "kind": "field", "id": "field|CurrentChanged|0|0|byte|||h1c79988043171e8ca6298c75169d3e5f6ad511bc2630515e815002ac5d3c522f", "signature": "public byte CurrentChanged", "summary": "this frame, by the keys, a click or .current (offset 16)" }, { "name": "Recomputed", "kind": "field", "id": "field|Recomputed|0|0|byte|||h5b6249db7d6eb0136912dd8610e2381c54de6d5d0d699fedb55d8f8812a0f994", "signature": "public byte Recomputed", "summary": "a text changed and was diffed this frame (offset 32)" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "lines (offset 0)" }, { "name": "Changes", "kind": "field", "id": "field|Changes|0|0|int|||h92c3316a456e87daf1c99d309c6ac018fc064ebbe8a432c2918508944c45979d", "signature": "public int Changes", "summary": "change blocks (hunks without context) (offset 8)" }, { "name": "Current", "kind": "field", "id": "field|Current|0|0|int|||h59aa7f0912b0ac389ff87c88363f76f78980244723618daa28eabc29cf1fa3f3", "signature": "public int Current", "summary": "the selected change, -1 none (offset 12)" }, { "name": "Folds", "kind": "field", "id": "field|Folds|0|0|int|||hc44f599c59fbcd4b7acdf51032e00a2ac75aa19f9f370cc82e1597d9e6404aa2", "signature": "public int Folds", "summary": "folded rows shown, and the unchanged lines they hide (offset 24)" }, { "name": "Hidden", "kind": "field", "id": "field|Hidden|0|0|int|||h213f22e3210862a27f997f5a3526334cfa037d774da6ae2360261c0b06188ad6", "signature": "public int Hidden", "summary": "folded rows shown, and the unchanged lines they hide (offset 28)" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "lines (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeDiffRow", "displayName": "NativeDiffRow", "kind": "struct", "summary": "cui_diff_row (20 bytes)", "members": [{ "name": "Kind", "kind": "field", "id": "field|Kind|0|0|DiffRowKind|||h8492c9bbc0fe5406fdc5a7e026a21a97cf6263728ebe12e1fcfdb21739b0fcd3", "signature": "public DiffRowKind Kind", "summary": "cui_diff_row_kind (offset 0)" }, { "name": "Change", "kind": "field", "id": "field|Change|0|0|int|||ha5a0494f795169c13c7b208ca15443b22801d16f70d84413d071e3652a1e1062", "signature": "public int Change", "summary": "the change it belongs to, or -1 (offset 12)" }, { "name": "Hidden", "kind": "field", "id": "field|Hidden|0|0|int|||h213f22e3210862a27f997f5a3526334cfa037d774da6ae2360261c0b06188ad6", "signature": "public int Hidden", "summary": "fold rows: lines hidden (offset 16)" }, { "name": "NewLine", "kind": "field", "id": "field|NewLine|0|0|int|||hde0ec57f4b0e4c2fe5cd0414edd2f43cc4af58e34cf20bda6c518b84db99d69d", "signature": "public int NewLine", "summary": "0 based, -1 for none (offset 8)" }, { "name": "OldLine", "kind": "field", "id": "field|OldLine|0|0|int|||h7fcc25b0716435ac3fd7f7a6e3876e316598838154f4a1c68b64fec59950312d", "signature": "public int OldLine", "summary": "0 based, -1 for none (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeDiffStats", "displayName": "NativeDiffStats", "kind": "struct", "summary": "cui_diff_stats (24 bytes)", "members": [{ "name": "Approximate", "kind": "field", "id": "field|Approximate|0|0|byte|||h0f32eab877364afb8bff84ad856dc04a67c3afabb2b5e28c6a4e6acf8b5fbae0", "signature": "public byte Approximate", "summary": "_Bool (offset 20)" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "int (offset 0)" }, { "name": "Hunks", "kind": "field", "id": "field|Hunks|0|0|int|||he5a7c2c6ecbda9339c4504d79fa653d43f9c810c70290585ea379322b5296fe3", "signature": "public int Hunks", "summary": "int (offset 8)" }, { "name": "NewLines", "kind": "field", "id": "field|NewLines|0|0|int|||h77cf25ecb62e21fda63404638167454acd24d15854733ecf65742980e4197bc6", "signature": "public int NewLines", "summary": "int (offset 16)" }, { "name": "OldLines", "kind": "field", "id": "field|OldLines|0|0|int|||he89e809a784724c71850d6a1e0c6b6fcdba5ce8950d3faa8a99a3501203331c8", "signature": "public int OldLines", "summary": "int (offset 12)" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "int (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeDocTab", "displayName": "NativeDocTab", "kind": "struct", "summary": "Document tabs: editor style tabs. Clicking selects (*selected is updated), the x or a middle click asks to close, dragging reorders, and the strip scrolls sideways when the tabs do not fit. A dirty tab shows a dot that turns into the close button under the pointer. The selected tab is filled with the surface color so it joins the content below; the strip itself has no fill, like the other bars. Tabs keep their state by title, so give two tabs with the same name a key: \u0022main.c##src\u0022. The component never removes or moves your tabs itself: it reports a close or a move in the result and you apply it (selection already follows a move). With keyboard focus on the strip, Left and Right select, Home and End jump, Shift\u002BLeft/Right move the tab and Delete closes it. With \u0060shortcuts\u0060 set it also answers Ctrl\u002BTab, Ctrl\u002BShift\u002BTab, Ctrl\u002BPageUp/Down and Ctrl\u002BW (Cmd\u002BW on macOS) from anywhere in the window. (32 bytes)", "members": [{ "name": "Dirty", "kind": "field", "id": "field|Dirty|0|0|byte|||hdeca808be0cb980e0127bf11db817b7eba18ce8bebf9b076a7a0630e4feaa531", "signature": "public byte Dirty", "summary": "unsaved changes: a dot in place of the x, which returns under the pointer (offset 24)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "the tab\u0027s text and its identity; add \u0022##key\u0022 to tell two tabs with one name apart (offset 0)" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|nint|||hccbc32a161449afe62353b5d908ca3da9aecdd74fe8acbce624e4004ec4575e7", "signature": "public nint Tooltip", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeDocTabsOpts", "displayName": "NativeDocTabsOpts", "kind": "struct", "summary": "cui_doc_tabs_opts (8 bytes)", "members": [{ "name": "NoClose", "kind": "field", "id": "field|NoClose|0|0|byte|||hacbdbddc271704b2df42b9ee5d951bd93c95187ec63d2108ebea9725c6689ca7", "signature": "public byte NoClose", "summary": "tabs have no x and cannot be closed (middle click, Delete and Ctrl\u002BW do nothing) (offset 5)" }, { "name": "NoReorder", "kind": "field", "id": "field|NoReorder|0|0|byte|||h101c130bde86d0ff9cba5055c44c106c6128d2fc1df8dc0d4a5cd0f3d344a270", "signature": "public byte NoReorder", "summary": "tabs cannot be dragged or moved with Shift\u002BLeft/Right (offset 6)" }, { "name": "Shortcuts", "kind": "field", "id": "field|Shortcuts|0|0|byte|||hd6377cbca16d594c8b5a4148204280325d292de8ca3b071947064f77f6e6a6fb", "signature": "public byte Shortcuts", "summary": "Ctrl\u002BTab, Ctrl\u002BShift\u002BTab, Ctrl\u002BPageUp/Down and Ctrl\u002BW (Cmd\u002BW on macOS) work from anywhere in the window (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeDocTabsResult", "displayName": "NativeDocTabsResult", "kind": "struct", "summary": "cui_doc_tabs_result (16 bytes)", "members": [{ "name": "Changed", "kind": "field", "id": "field|Changed|0|0|byte|||had978eec0af03eb4dacdb360976a7e241488e1b52d178b9e3926112ece7b5ff4", "signature": "public byte Changed", "summary": "selected changed (click, keys or a move) (offset 0)" }, { "name": "Close", "kind": "field", "id": "field|Close|0|0|int|||hd66699e2f0c82a29493772269f2265430cd51ffdaea1b6e5a53620ccd8057858", "signature": "public int Close", "summary": "tab to close, or -1 (offset 4)" }, { "name": "MoveFrom", "kind": "field", "id": "field|MoveFrom|0|0|int|||h5242007257927bf644e70880032ca9628cfdfcb01004763000e1099c7dc49aa8", "signature": "public int MoveFrom", "summary": "move the tab at move_from to move_to, or -1 (offset 8)" }, { "name": "MoveTo", "kind": "field", "id": "field|MoveTo|0|0|int|||h9978012a238735312417aa1be6c6e404ffce2291eb4cc9867928d6eb35aebeac", "signature": "public int MoveTo", "summary": "move the tab at move_from to move_to, or -1 (offset 12)" }] }, + { "name": "CuiSharp.Interop.NativeDockItemOpts", "displayName": "NativeDockItemOpts", "kind": "struct", "summary": "cui_dock_item_opts (16 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 4)" }, { "name": "Running", "kind": "field", "id": "field|Running|0|0|byte|||hbc145deb8cc1fd60c76fec5ac516eeb00cbcf81f58b42ff1adc1189c402bcbe2", "signature": "public byte Running", "summary": "a small dot under the icon (offset 8)" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|int|||h1ea0a5985eea3db7ed64622a6693b2d10e07bdfdc4610208a1b5ee962fce491c", "signature": "public int Badge", "summary": "a count badge on the icon (\u002299\u002B\u0022 above 99); 0 for none (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeDockOpts", "displayName": "NativeDockOpts", "kind": "struct", "summary": "Dock: a row of icons that grow as the pointer passes, with labels and a dot under the running ones. Each item returns true when clicked. (12 bytes)", "members": [{ "name": "Magnify", "kind": "field", "id": "field|Magnify|0|0|float|||h1b7c2d09207b0b96fb623cbceda94330e8256fdb75cff5e9cb0e5693e018a756", "signature": "public float Magnify", "summary": "how much the icon under the pointer grows, default 1.55 (offset 8)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeDockPanelOpts", "displayName": "NativeDockPanelOpts", "kind": "struct", "summary": "Returns true while the panel\u0027s content should be built; then call cui_dock_panel_end. (24 bytes)", "members": [{ "name": "Dirty", "kind": "field", "id": "field|Dirty|0|0|byte|||hdeca808be0cb980e0127bf11db817b7eba18ce8bebf9b076a7a0630e4feaa531", "signature": "public byte Dirty", "summary": "unsaved changes: the panel\u0027s tab shows a dot in place of its x (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeDockspaceOpts", "displayName": "NativeDockspaceOpts", "kind": "struct", "summary": "Dockspace: an IDE style workspace that lays out your panels in a tree of resizable splits whose leaves hold one or more panels as document tabs. Submit every panel each frame between cui_dockspace_begin and cui_dockspace_end; the dockspace decides where it goes, and a panel\u0027s content is built only while its tab is the one showing: (48 bytes)", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "default fill (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 16)" }, { "name": "Shortcuts", "kind": "field", "id": "field|Shortcuts|0|0|byte|||hd6377cbca16d594c8b5a4148204280325d292de8ca3b071947064f77f6e6a6fb", "signature": "public byte Shortcuts", "summary": "Ctrl\u002BTab, Ctrl\u002BShift\u002BTab and Ctrl\u002BW act on the focused leaf (offset 40)" }, { "name": "MinPanelHeight", "kind": "field", "id": "field|MinPanelHeight|0|0|float|||h477499d2af5c2fdee80ea8ecbb7b89b8cd2bc2693730e692f2b738fdae410cd7", "signature": "public float MinPanelHeight", "summary": "default 96 (offset 36)" }, { "name": "MinPanelWidth", "kind": "field", "id": "field|MinPanelWidth|0|0|float|||hc8164d822bee1bca4df57bb3dbc7061e2e0cc00b5193fd5ee4341cbc793ce8d5", "signature": "public float MinPanelWidth", "summary": "default 120; splits stop here (and share what there is when too narrow) (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Layout", "kind": "field", "id": "field|Layout|0|0|nint|||he153907fa360ada3863f43f9763a85f428ae5b8f3addb4c159119cea0044e884", "signature": "public nint Layout", "summary": "first run layout, in the cui_dock_save format (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeDotChartOpts", "displayName": "NativeDotChartOpts", "kind": "struct", "summary": "cui_dot_chart_opts (104 bytes)", "members": [{ "name": "XUnits", "kind": "field", "id": "field|XUnits|0|0|AxisUnits|||hbd8eeab79a3da81515912236b933e365345927d35095add1f48e1f20674f5033", "signature": "public AxisUnits XUnits", "summary": "cui_axis_units (offset 32)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoAxis", "kind": "field", "id": "field|NoAxis|0|0|byte|||hcedb7e365189ac538b8faee20a5d7f3899ad62fd0163463e5410bd501b42eafc", "signature": "public byte NoAxis", "summary": "hides the x labels, e.g. when an event track under the chart has them (offset 85)" }, { "name": "NoGrid", "kind": "field", "id": "field|NoGrid|0|0|byte|||h026f953f32349519b56ea40bf2b85e0b94dcd1027cc2c5b4a4388f7196a50566", "signature": "public byte NoGrid", "summary": "hides the dim dots of the empty grid (offset 84)" }, { "name": "NoReadout", "kind": "field", "id": "field|NoReadout|0|0|byte|||h0dc832f4257983847dc334330c344b12376e2e25b7a78d0099a738063c9ca251", "signature": "public byte NoReadout", "summary": "no value label under the pointer (offset 86)" }, { "name": "XMax", "kind": "field", "id": "field|XMax|0|0|double|||h8670655864949727cd765683d094d42e943d28bdbf4dfadf2a90a300b5bbb912", "signature": "public double XMax", "summary": "what the first and last sample stand for; equal: 0 to count - 1 (offset 24)" }, { "name": "XMin", "kind": "field", "id": "field|XMin|0|0|double|||h18b9c91ac55c452b7a1b725e08dade1178a10f2c9d5c2f369ef7f17f24987231", "signature": "public double XMin", "summary": "what the first and last sample stand for; equal: 0 to count - 1 (offset 16)" }, { "name": "XStep", "kind": "field", "id": "field|XStep|0|0|double|||h485ec828b04197a3e9f2f78a5eca4d285d15cca416141fe96c27673d53b62c8d", "signature": "public double XStep", "summary": "spacing of the x labels in x units; 0 picks one that fits (offset 48)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "the plot and its labels, default 200 (offset 12)" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "value range when min != max; otherwise 0 to the largest stacked value (offset 60)" }, { "name": "Min", "kind": "field", "id": "field|Min|0|0|float|||h81101b82558caea906d5838961d5313f13c99e7d68f18285b0cf84040f989d8a", "signature": "public float Min", "summary": "value range when min != max; otherwise 0 to the largest stacked value (offset 56)" }, { "name": "Pitch", "kind": "field", "id": "field|Pitch|0|0|float|||he40f86a7580124d2a0819c3cbc1f342652559fff082b9242e1fb4895ad770239", "signature": "public float Pitch", "summary": "distance between dot centers in points, default 6 (offset 80)" }, { "name": "AnnotationCount", "kind": "field", "id": "field|AnnotationCount|0|0|int|||he187f06925aba0739dc1b045108e6b12979345e4091e505136519c4a537d4f1a", "signature": "public int AnnotationCount", "summary": "number of \u0060annotations\u0060 (offset 96)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Annotations", "kind": "field", "id": "field|Annotations|0|0|nint|||h0e287e8ffe2ed475ae3a81c854fc8e26f9795c2081c88fa77fcb7a81799e3309", "signature": "public nint Annotations", "summary": "lines and points drawn over the dots (offset 88)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "values in the readout, default \u0022%.0f\u0022 (offset 64)" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|nint|||h708409b7ee1912ab128b9f78a22e55e9f298402bb842be865ac89fa44f207c93", "signature": "public nint Unit", "summary": "after values in the readout, e.g. \u0022MG\u0022 (offset 72)" }, { "name": "XFormat", "kind": "field", "id": "field|XFormat|0|0|nint|||h18e8cf118fea9392564da580eba62c8ae35e782caa009a608ed4c9346c73a269", "signature": "public nint XFormat", "summary": "x labels with CUI_AXIS_NUMBER, default \u0022%g\u0022 (offset 40)" }] }, + { "name": "CuiSharp.Interop.NativeDotChartResult", "displayName": "NativeDotChartResult", "kind": "struct", "summary": "cui_dot_chart_result (24 bytes)", "members": [{ "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|byte|||ha05657db5453f9006479c7302f1de41db5688caa6f77ee5b281698777aae4c92", "signature": "public byte Clicked", "summary": "the plot was clicked, or Enter was pressed on it, this frame: \u0060x\u0060 is where (offset 20)" }, { "name": "X", "kind": "field", "id": "field|X|0|0|double|||ha5003241e77f21c568e126669d4eb833483db76ed13db54b5818340e60ef1785", "signature": "public double X", "summary": "that sample\u0027s x, in x units (offset 8)" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|float|||h8c20ac2e2f946bfe778b76ce5a0751e644f14cbfa254ac592650fe0166f91e91", "signature": "public float Value", "summary": "the stacked value there (offset 16)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "the sample under the pointer or the keyboard cursor, or -1 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeDotDisplayOpts", "displayName": "NativeDotDisplayOpts", "kind": "struct", "summary": "Dot-matrix display: text drawn with a 5 by 7 dot font, for clocks, counters and status lines. Printable ASCII, the degree sign and the middle dot have glyphs; anything else is a box. Unlit dots show dimly unless \u0060no_dim\u0060 is set. In a box narrower than the text, the dots shrink to fit, or with \u0060marquee\u0060 the text scrolls. (28 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "lit dots; unset: the foreground (offset 8)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fit to the text (offset 20)" }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "where the text sits in a wider box, default start (offset 16)" }, { "name": "Accent", "kind": "field", "id": "field|Accent|0|0|byte|||hac68f6d6fc1924b3c501e81202354c3a8e4d240505353e38605657c26a109f54", "signature": "public byte Accent", "summary": "lit dots in the accent color (offset 12)" }, { "name": "Marquee", "kind": "field", "id": "field|Marquee|0|0|byte|||hb06368d42279b8bbb3ece4e0fffbd5c54e14c9eb991aa873115b23c70437e3bf", "signature": "public byte Marquee", "summary": "scrolls text that is wider than the box instead of shrinking it (offset 14)" }, { "name": "NoDim", "kind": "field", "id": "field|NoDim|0|0|byte|||h4d34b3d02c074bb9432b24f856904600ce41d7e8e8fb9005c0529d512c04d978", "signature": "public byte NoDim", "summary": "hides the unlit dots (offset 13)" }, { "name": "Pitch", "kind": "field", "id": "field|Pitch|0|0|float|||he40f86a7580124d2a0819c3cbc1f342652559fff082b9242e1fb4895ad770239", "signature": "public float Pitch", "summary": "distance between dot centers in points, default 4 (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeDotSeries", "displayName": "NativeDotSeries", "kind": "struct", "summary": "Dot-matrix chart: values drawn as a grid of dots, lit up to each column\u0027s value and dim above it. Several series stack, each in its own band, and an \u0060accent\u0060 series is drawn in the accent color: the item being edited, or the part that matters. The pointer, or the arrow keys once it is focused, show a readout of the value under it, and a click returns where it landed, so an app can add something there. (24 bytes)", "members": [{ "name": "Accent", "kind": "field", "id": "field|Accent|0|0|byte|||hac68f6d6fc1924b3c501e81202354c3a8e4d240505353e38605657c26a109f54", "signature": "public byte Accent", "summary": "drawn in the accent color (offset 16)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "names the series in the readout when there are several (offset 8)" }, { "name": "Values", "kind": "field", "id": "field|Values|0|0|nint|||hc30bb6429c4e57a1df28a0bafaa2e98f5c7817a370bfe9a039e723f0dd8ce12b", "signature": "public nint Values", "summary": "\u0060count\u0060 values, one per sample; negative values count as 0 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeDrawCmd", "displayName": "NativeDrawCmd", "kind": "struct", "summary": "cui_draw_cmd (32 bytes)", "members": [{ "name": "Clip", "kind": "field", "id": "field|Clip|0|0|NativeRect|||h09bdaf8c5530d338de131c10bf3864c030b9fcc63a721815522ccb35df10e05e", "signature": "public NativeRect Clip", "summary": "pixels (offset 0)" }, { "name": "Texture", "kind": "field", "id": "field|Texture|0|0|nuint|||h23dd5d78f859076fb8ace99f2c743e186553f036f88bc3d8a2187d11495b0d96", "signature": "public nuint Texture", "summary": "0 = font atlas (offset 16)" }, { "name": "IndexCount", "kind": "field", "id": "field|IndexCount|0|0|uint|||hb0bcb37c85a9f860f8ee892fff2d4b18cabf19879cb74b9c3f7f7e8aa18ff42c", "signature": "public uint IndexCount", "summary": "uint32_t (offset 28)" }, { "name": "IndexOffset", "kind": "field", "id": "field|IndexOffset|0|0|uint|||hb6d7b22f4a50cdb0db51a0d9d4e40e8b23387e64c8e283df7b5db3022fbbaba5", "signature": "public uint IndexOffset", "summary": "uint32_t (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeDrawData", "displayName": "NativeDrawData", "kind": "struct", "summary": "cui_draw_data (64 bytes)", "members": [{ "name": "ClearColor", "kind": "field", "id": "field|ClearColor|0|0|NativeColor|||heb9a573661370f973e3eb7ac8e1caf42bd059a193fd68abb81ca31dc5e189195", "signature": "public NativeColor ClearColor", "summary": "cui_color (offset 52)" }, { "name": "CommandCount", "kind": "field", "id": "field|CommandCount|0|0|int|||hc190b445170235490a4c93672339bb39cf03f4c800e272271fabef50fde7e5b4", "signature": "public int CommandCount", "summary": "int (offset 40)" }, { "name": "HeightPx", "kind": "field", "id": "field|HeightPx|0|0|int|||hc7abb4500bf8c59f5efde6d760572fea4431b3675d3b65005761e1a876b470f4", "signature": "public int HeightPx", "summary": "framebuffer size (offset 48)" }, { "name": "IndexCount", "kind": "field", "id": "field|IndexCount|0|0|int|||h6d841b3a76641eedc5238403d2c20b0963aed3c79fb6d07a7cd37698b8966731", "signature": "public int IndexCount", "summary": "int (offset 24)" }, { "name": "VertexCount", "kind": "field", "id": "field|VertexCount|0|0|int|||h0b32c3ca172972ce82332a1e2117e19a05d322760a5a01602052553ed4b16f19", "signature": "public int VertexCount", "summary": "int (offset 8)" }, { "name": "WidthPx", "kind": "field", "id": "field|WidthPx|0|0|int|||hadce0c1d922dc2297d04376b3fb0d7d5cfe53b2c2f6102992a52b783c8f15f31", "signature": "public int WidthPx", "summary": "framebuffer size (offset 44)" }, { "name": "Commands", "kind": "field", "id": "field|Commands|0|0|nint|||hf0a2f92a6de78b78d4ffbdcddcfd7daf34fcb2c10d9f28119399bf055205a7c2", "signature": "public nint Commands", "summary": "const cui_draw_cmd * (offset 32)" }, { "name": "Indices", "kind": "field", "id": "field|Indices|0|0|nint|||h6d12982c36688cc1f72ee4cb2937f350902bae1d575d229d9f269495445c4a87", "signature": "public nint Indices", "summary": "const uint32_t * (offset 16)" }, { "name": "Vertices", "kind": "field", "id": "field|Vertices|0|0|nint|||h66a8649f8a7a541c7e3f7ca35269a409f94c28e3511bfdb3fef999a8c13eef91", "signature": "public nint Vertices", "summary": "const cui_vertex * (offset 0)" }, { "name": "FontAtlas", "kind": "field", "id": "field|FontAtlas|0|0|nuint|||h630a4c0033636b636312cedc7fd00d014938dc2d7fe90a80670b7e8d0a6ddb3b", "signature": "public nuint FontAtlas", "summary": "cui_texture (offset 56)" }] }, + { "name": "CuiSharp.Interop.NativeDropzoneOpts", "displayName": "NativeDropzoneOpts", "kind": "struct", "summary": "Dropzone: drop files from the OS, or click to browse. Returns the number of files dropped on it this frame (read them with cui_dropped_file), -1 when clicked (open a file dialog), 0 otherwise. accept filters by extension, e.g. \u0022png;jpg;pdf\u0022. (56 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 44)" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|byte|||h82ad4978e776988891fb40f0e87ef125edf87783174f60001d6260930e049142", "signature": "public byte Compact", "summary": "one row instead of a tall area (offset 52)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 160 (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Accept", "kind": "field", "id": "field|Accept|0|0|nint|||h04df6c7ccc4694e99bc343faf31eac321c25224fae62b3ab149ef7169848243e", "signature": "public nint Accept", "summary": "extensions it takes, separated by semicolons, e.g. \u0022png;jpg;pdf\u0022; \u0060NULL\u0060 takes any file (offset 32)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "default \u0022or click to browse\u0022 (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 24)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "default \u0022Drop files here\u0022 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeEmojiPickerOpts", "displayName": "NativeEmojiPickerOpts", "kind": "struct", "summary": "Emoji picker: search, groups with tabs, recent emoji, skin tones and a preview with the name. Returns the emoji picked this frame (UTF-8, valid until the next frame) or NULL. Put it in a popover to open it from a button. (88 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default up to 360 (offset 4)" }, { "name": "NoPreview", "kind": "field", "id": "field|NoPreview|0|0|byte|||h1b1c0f53e0a98b6a75cf1fc3b196dbf13d6a97e6e4059a5ccc7f9cd2fede46a4", "signature": "public byte NoPreview", "summary": "hides the row at the bottom that shows the hovered emoji and its name (offset 81)" }, { "name": "NoSearch", "kind": "field", "id": "field|NoSearch|0|0|byte|||h1b79e845e35ce805c0e9ba6daa0b221e2b4ea3253a0d30fe5a0b3089ad7dffd5", "signature": "public byte NoSearch", "summary": "hides the search field (offset 80)" }, { "name": "NoTone", "kind": "field", "id": "field|NoTone|0|0|byte|||h1bca5d13bfa507ddb10e74de6a3c85a065b6495379158fefd41887baa0ab131a", "signature": "public byte NoTone", "summary": "hides the skin tone button (offset 82)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "the grid; default 280 (offset 12)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "emoji size; default 26 (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "EmptyText", "kind": "field", "id": "field|EmptyText|0|0|nint|||h84afe79dbbeaa0c9b73bb4d20fbcc6738301e0c67a55100fcffd03eebcc017be", "signature": "public nint EmptyText", "summary": "\u0022No emoji found\u0022 (offset 56)" }, { "name": "GroupNames", "kind": "field", "id": "field|GroupNames|0|0|nint|||ha62ebbf39e9bcbd501d6bc943ba53462d2998b6e8a5b223621f0cc14171a66c5", "signature": "public nint GroupNames", "summary": "10 names: recent, then Unicode\u0027s nine groups (offset 72)" }, { "name": "Hint", "kind": "field", "id": "field|Hint|0|0|nint|||hc04a330155ea240694e4f00b47172663ef8f8e8c7171babe8307883ebbeeee6c", "signature": "public nint Hint", "summary": "the preview with nothing to show: \u0022Pick an emoji\u0022 (offset 64)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "\u0022Search emoji\u0022 (offset 48)" }, { "name": "Recent", "kind": "field", "id": "field|Recent|0|0|nint|||heeef6ed734e158bf4d663036a6949c21cdaf60f565283d539fbdb77e077d495b", "signature": "public nint Recent", "summary": "buffer for the recent emoji, read and updated here so the app can save it; \u0060NULL\u0060 keeps them in the picker (offset 24)" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|nint|||hcdeacaaea3b8fdcb54307dc47361bdd3478789682315f2252ea858fba686d74d", "signature": "public nint Tone", "summary": "skin tone, 0 (none) to 5 (dark), kept by the app (offset 40)" }, { "name": "RecentCap", "kind": "field", "id": "field|RecentCap|0|0|nuint|||h397e41a24d23c02e76bd607b6ff96175fd5f8e330990dc40c2e2bc90a5a2c87c", "signature": "public nuint RecentCap", "summary": "size of the \u0060recent\u0060 buffer in bytes; it holds the recent emoji newest first, space separated (offset 32)" }] }, + { "name": "CuiSharp.Interop.NativeEmptyOpts", "displayName": "NativeEmptyOpts", "kind": "struct", "summary": "cui_empty_opts (32 bytes)", "members": [{ "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|nint|||h7dfe2a16d24f5ae17516623e6e776336e0c9174236c2f3e6d25910fcd1c88c17", "signature": "public nint Action", "summary": "label of a button under the text; the call returns true when it is clicked (offset 24)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeEventTrackOpts", "displayName": "NativeEventTrackOpts", "kind": "struct", "summary": "Event track: moments on a time axis, as dots you drag along it. A click on an empty spot adds an event there and a double-click on one removes it. You own the array: the track keeps it sorted, edits it in place and never grows it past \u0060capacity\u0060. (64 bytes)", "members": [{ "name": "Units", "kind": "field", "id": "field|Units|0|0|AxisUnits|||h63b6ee14fa0335e8be197bcb98a871d4f0e10fa29be03fdec029ae8840bfccae", "signature": "public AxisUnits Units", "summary": "cui_axis_units (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoAdd", "kind": "field", "id": "field|NoAdd|0|0|byte|||hbda4ec254482c7abcab6b9b7895767ac8f9bece5aaa3a19a54980ad03aa65c84", "signature": "public byte NoAdd", "summary": "clicks and Enter do not add events (offset 56)" }, { "name": "NoAxis", "kind": "field", "id": "field|NoAxis|0|0|byte|||hcedb7e365189ac538b8faee20a5d7f3899ad62fd0163463e5410bd501b42eafc", "signature": "public byte NoAxis", "summary": "hides the axis labels under the dots (offset 58)" }, { "name": "NoRemove", "kind": "field", "id": "field|NoRemove|0|0|byte|||h5c47523a38e1616b285479231ef2769f86381d66af1f809a1b1c5326847d9395", "signature": "public byte NoRemove", "summary": "double-clicks and Delete do not remove events (offset 57)" }, { "name": "LabelStep", "kind": "field", "id": "field|LabelStep|0|0|double|||h60141412fe8d82d9094acc17d26c58134494eb1ce6013b29291851f8a0d2f7ed", "signature": "public double LabelStep", "summary": "spacing of the axis labels; 0 picks one that fits (offset 40)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|double|||h44b63c009d1e13f96b6beedec59bbb32a22e099dcdc403d6954e0407657f670a", "signature": "public double Step", "summary": "events snap to multiples of this from \u0060min\u0060; 0 does not snap (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "labels with CUI_AXIS_NUMBER, default \u0022%g\u0022 (offset 32)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "the selected event or -1, kept by you; \u0060NULL\u0060 keeps it in the track (offset 48)" }] }, + { "name": "CuiSharp.Interop.NativeEventTrackResult", "displayName": "NativeEventTrackResult", "kind": "struct", "summary": "cui_event_track_result (20 bytes)", "members": [{ "name": "Changed", "kind": "field", "id": "field|Changed|0|0|byte|||had978eec0af03eb4dacdb360976a7e241488e1b52d178b9e3926112ece7b5ff4", "signature": "public byte Changed", "summary": "an event was moved, added or removed this frame (offset 0)" }, { "name": "Dragging", "kind": "field", "id": "field|Dragging|0|0|byte|||ha57a4e45277cf287e8e84eeab4a9ec2408b2b71515957a0d3f70d91b8e404942", "signature": "public byte Dragging", "summary": "an event is being dragged (offset 16)" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "index of the event added this frame, or -1 (offset 4)" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "index the removed event had, or -1 (offset 8)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "the selected event after this frame, or -1 (offset 12)" }] }, + { "name": "CuiSharp.Interop.NativeExpandableCardOpts", "displayName": "NativeExpandableCardOpts", "kind": "struct", "summary": "Expandable card: a card whose header opens a body with a height spring. (40 bytes)", "members": [{ "name": "BadgeTone", "kind": "field", "id": "field|BadgeTone|0|0|Tone|||h7d1e4a819759475402672321667bc594bcbc369a9973d1d17f2954d94090361f", "signature": "public Tone BadgeTone", "summary": "cui_tone (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|nint|||hde22c04ea21d8219db7a1a082d573f3b836e72a11c561a5bcf979fe76b33f2fc", "signature": "public nint Badge", "summary": "small badge in the header before the chevron, colored by \u0060badge_tone\u0060; \u0060NULL\u0060 for none (offset 24)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeExpandableTextOpts", "displayName": "NativeExpandableTextOpts", "kind": "struct", "summary": "Text clamped to a few lines with a fade and Show more / Show less. (20 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 12)" }, { "name": "FadeTo", "kind": "field", "id": "field|FadeTo|0|0|NativeColor|||h6fc5b6e540a84749802df1347a5cfdc931ab8a9f1b348236de4856c7d7b190e4", "signature": "public NativeColor FadeTo", "summary": "color the last line fades into; set it to the surface behind the text, default the background (offset 16)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 8)" }, { "name": "Lines", "kind": "field", "id": "field|Lines|0|0|int|||hee1996ff73a3bb29577188d155832b95024d32ca718f5404022abdd064faf7d7", "signature": "public int Lines", "summary": "lines shown while collapsed, default 3 (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeFaderOpts", "displayName": "NativeFaderOpts", "kind": "struct", "summary": "cui_fader_opts (80 bytes)", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 77)" }, { "name": "HideValue", "kind": "field", "id": "field|HideValue|0|0|byte|||hbb6b16309b43eda0fc05f53c3f1331a74672b86f2823f660cbf275eda7570761", "signature": "public byte HideValue", "summary": "_Bool (offset 76)" }, { "name": "Horizontal", "kind": "field", "id": "field|Horizontal|0|0|byte|||hb8eb5f891a452586827fe30447b7d0b698e41f55d790a6fb5ef7aee450a3d7f2", "signature": "public byte Horizontal", "summary": "the track runs left to right, with the label before it, instead of bottom to top (offset 36)" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|float|||hde0ed5b9413eadd735eb6ae0346647e34ca58923c6d228bcc21459281e52a172", "signature": "public float Length", "summary": "track length, default 160 (offset 32)" }, { "name": "Reset", "kind": "field", "id": "field|Reset|0|0|float|||h6f7e0b1685ab6d501be44af24ff4fc26ab960c5abf2371bc447d2d1768038172", "signature": "public float Reset", "summary": "double-click value, default 0 (clamped to the range) (offset 44)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "float (offset 40)" }, { "name": "MeterChannels", "kind": "field", "id": "field|MeterChannels|0|0|int|||hb226b16c842f117a25b365a0857eb313f1deb632328f3313d44a47fd2cb1d138", "signature": "public int MeterChannels", "summary": "entries in \u0060meter\u0060, up to 8; a dB fader\u0027s range sets the meter\u0027s scale (offset 72)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "TickCount", "kind": "field", "id": "field|TickCount|0|0|int|||hfaa0b21c87b7bdc86ccb43ab89bf62c3a9af96359121f530e10d842785d10c47", "signature": "public int TickCount", "summary": "entries in \u0060ticks\u0060 (offset 56)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "default \u0022%.1f\u0022 (offset 16)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "under a vertical fader, before a horizontal one; the id when NULL (offset 8)" }, { "name": "Meter", "kind": "field", "id": "field|Meter|0|0|nint|||h3375502e9a7072f3d2b61afa9b045ae1f2df22ffc3a63c747b9948c2b621128d", "signature": "public nint Meter", "summary": "linear sample peaks, one per channel, for a level meter beside the track; \u0060NULL\u0060 for none (offset 64)" }, { "name": "Ticks", "kind": "field", "id": "field|Ticks|0|0|nint|||h289c57302bd4866d911b9dc5aec095b0f5ceb09b31139e9f8b7bc3d79c6a553e", "signature": "public nint Ticks", "summary": "values to mark and label beside the track, e.g. dB marks; at most 32 (offset 48)" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|nint|||h708409b7ee1912ab128b9f78a22e55e9f298402bb842be865ac89fa44f207c93", "signature": "public nint Unit", "summary": "const char * (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeFeatureFlag", "displayName": "NativeFeatureFlag", "kind": "struct", "summary": "cui_feature_flag (56 bytes)", "members": [{ "name": "On", "kind": "field", "id": "field|On|0|0|\u003COn\u003Ee__FixedBuffer|||h4fe21dab1eb5344987e821db3be00e4fd428a73bcf0d3dff1a6ca61aa27a8627", "signature": "public \u003COn\u003Ee__FixedBuffer On", "summary": "the flag\u0027s switch in each environment, in the order of \u0060envs\u0060 (offset 16)" }, { "name": "Rollout", "kind": "field", "id": "field|Rollout|0|0|\u003CRollout\u003Ee__FixedBuffer|||h6e8b456a3ec00dd8254449a068db5974dc55e2583126c1ac2694a44aded24320", "signature": "public \u003CRollout\u003Ee__FixedBuffer Rollout", "summary": "percent of users while on; 0 and 100 mean everyone (offset 24)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }, { "name": "Key", "kind": "field", "id": "field|Key|0|0|nint|||h8dc181704631263cbfa5dce141d5a704cd2a84480b2b7eaaed62573f9f41fd97", "signature": "public nint Key", "summary": "the flag\u0027s name, in the code font; the filter field searches it (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeFeatureFlagsOpts", "displayName": "NativeFeatureFlagsOpts", "kind": "struct", "summary": "cui_feature_flags_opts (16 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fits the flags (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default fits the flags (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "default fits the flags (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeFeatureFlagsResult", "displayName": "NativeFeatureFlagsResult", "kind": "struct", "summary": "cui_feature_flags_result (8 bytes)", "members": [{ "name": "Env", "kind": "field", "id": "field|Env|0|0|int|||h269fe73fb8fabfdb994eca29622654e19b24a6ecb8611be18a698db081d93601", "signature": "public int Env", "summary": "changed this frame, or -1 (offset 4)" }, { "name": "Flag", "kind": "field", "id": "field|Flag|0|0|int|||h8f33ee8f28f37670ad5fa060fa8a67e317f7a892fc622de79b672ab614aa1637", "signature": "public int Flag", "summary": "changed this frame, or -1 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeFileBrowserOpts", "displayName": "NativeFileBrowserOpts", "kind": "struct", "summary": "cui_file_browser_opts (80 bytes)", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "default fill and 380 (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill and 380 (offset 4)" }, { "name": "FoldersOnly", "kind": "field", "id": "field|FoldersOnly|0|0|byte|||hae2e177a4e27dee5ba0dfaca55a865d56d5018844806492cf57e6a29e5b45d74", "signature": "public byte FoldersOnly", "summary": "lists folders and leaves the files out (offset 32)" }, { "name": "Hidden", "kind": "field", "id": "field|Hidden|0|0|byte|||h09d64fd87a2ea3d6dc71208d5d191ef6983ee56f643ddde81b958e84c34b17b8", "signature": "public byte Hidden", "summary": "show hidden files (offset 33)" }, { "name": "NoPlaces", "kind": "field", "id": "field|NoPlaces|0|0|byte|||h0061409c5c9d9515dfcb6f697b4b3d77ca0c7c2e2d41ef4017afbcce25325410", "signature": "public byte NoPlaces", "summary": "the sidebar of places (offset 34)" }, { "name": "MaxEntries", "kind": "field", "id": "field|MaxEntries|0|0|int|||h2695eb0ec10136d936d6e32d011a43f4405cf384da5a9a9b0c31d3fe6fea80a9", "signature": "public int MaxEntries", "summary": "default 20,000 (offset 72)" }, { "name": "PlaceCount", "kind": "field", "id": "field|PlaceCount|0|0|int|||h50af12e8e092f87d09e47933fc79768058887bec2568cd9f6b40410e6345a519", "signature": "public int PlaceCount", "summary": "entries in \u0060places\u0060; with \u0060places\u0060 NULL the sidebar shows home, desktop, documents, downloads and the root (offset 48)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Filter", "kind": "field", "id": "field|Filter|0|0|nint|||hd300c3e184dfdac0ba98c5d80f3bfc5c9fa629e4455f95ac59a70bf43defe25a", "signature": "public nint Filter", "summary": "patterns that files must match, e.g. \u0022*.png;*.jpg\u0022; folders always show (offset 24)" }, { "name": "List", "kind": "field", "id": "field|List|0|0|nint|||h0b5c59300517055cd672574fc5d8ede833fc5f7e26c8c675234312fc001425a4", "signature": "public nint List", "summary": "function that lists a folder; set it to browse something other than the local disk (offset 56)" }, { "name": "ListUser", "kind": "field", "id": "field|ListUser|0|0|nint|||hc5ee4fc495d143240b8dc2682dd4b0d2b8e04db1d48d490df1103d34a410aa00", "signature": "public nint ListUser", "summary": "passed to \u0060list\u0060 as its first argument; \u0060list\u0060 defaults to cui_fs_list, the local disk (offset 64)" }, { "name": "Places", "kind": "field", "id": "field|Places|0|0|nint|||h55c1a2567a9bf5594ec4f196fb9396d1300f2693e8a15c17165ea192b56dcf07", "signature": "public nint Places", "summary": "full paths for the sidebar, each shown by its last part; at most 6 (offset 40)" }] }, + { "name": "CuiSharp.Interop.NativeFileBrowserResult", "displayName": "NativeFileBrowserResult", "kind": "struct", "summary": "cui_file_browser_result (24 bytes)", "members": [{ "name": "Error", "kind": "field", "id": "field|Error|0|0|byte|||hba82fad2f0354957feb1c6a9098b20e398ab7d21955f950594a6cd942ab2e3d8", "signature": "public byte Error", "summary": "the folder could not be read (offset 17)" }, { "name": "Navigated", "kind": "field", "id": "field|Navigated|0|0|byte|||hff84fe6adf4425d4249e519cbc002513db54a057763a1d7934bc2f19c7bea1b0", "signature": "public byte Navigated", "summary": "the folder in *path changed (offset 16)" }, { "name": "Picked", "kind": "field", "id": "field|Picked|0|0|nint|||ha868f06ca3722aa70dbdca0f9480ba31185ee0651d80a42db22e4d9d96c584e9", "signature": "public nint Picked", "summary": "a file double-clicked or Entered, as a full path; valid this frame (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "the selected entry as a full path, or NULL; valid this frame (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeFileDialogOpts", "displayName": "NativeFileDialogOpts", "kind": "struct", "summary": "cui_file_dialog_opts (40 bytes)", "members": [{ "name": "Kind", "kind": "field", "id": "field|Kind|0|0|FileDialogKind|||h512c396246ef17a640b367e83509222e0af62a830efa14c05edc36e5058f579d", "signature": "public FileDialogKind Kind", "summary": "cui_file_dialog_kind (offset 0)" }, { "name": "DefaultName", "kind": "field", "id": "field|DefaultName|0|0|nint|||h000d10643ab02008311c3918b9208fb1aa89261ee4e2e7482a2f13097e82b8e8", "signature": "public nint DefaultName", "summary": "save dialogs (offset 32)" }, { "name": "Filter", "kind": "field", "id": "field|Filter|0|0|nint|||hd300c3e184dfdac0ba98c5d80f3bfc5c9fa629e4455f95ac59a70bf43defe25a", "signature": "public nint Filter", "summary": "extensions separated by \u0027;\u0027, e.g. \u0022png;jpg\u0022 (offset 24)" }, { "name": "FilterName", "kind": "field", "id": "field|FilterName|0|0|nint|||h585b3fbcd4ec5670db8d7c23fae3117d1f1383dcbbef44f4cc06fef54bcf2766", "signature": "public nint FilterName", "summary": "e.g. \u0022Images\u0022 (offset 16)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeFileEntry", "displayName": "NativeFileEntry", "kind": "struct", "summary": "File browser and file picker (an open or save dialog drawn by CUI, like the rest of the window; cui_app_file_dialog in cui_app.h opens the system\u0027s own). The browser lists a folder (name, date modified and size; folders first, any column sorts), with back, forward and up, a path bar you can type into, a filter field and a sidebar of places. Double-click or Enter opens a folder or picks a file; Backspace goes up, Alt\u002BLeft and Alt\u002BRight go back and forward, F5 reloads, and typing a letter jumps to the next name that starts with it. A folder is read when you enter it (or reload), not every frame, and only the rows in view are built. (32 bytes)", "members": [{ "name": "Dir", "kind": "field", "id": "field|Dir|0|0|byte|||hcd2932a5082aa0cdb58aca24572201374934acabca31e71641000d503239991f", "signature": "public byte Dir", "summary": "_Bool (offset 8)" }, { "name": "Modified", "kind": "field", "id": "field|Modified|0|0|long|||h04bbaccca73d0bdc4e3e9cdb87230703d5978e2d47288e2ef15a19ec65c6c575", "signature": "public long Modified", "summary": "seconds since 1970 (UTC); 0 unknown (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ulong|||h2db05cb8af3c713fe9425098cf97468b958626aa41fab04ccd53ea4cdfcbd5e5", "signature": "public ulong Size", "summary": "bytes (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeFilePickerOpts", "displayName": "NativeFilePickerOpts", "kind": "struct", "summary": "cui_file_picker_opts (72 bytes)", "members": [{ "name": "Folders", "kind": "field", "id": "field|Folders|0|0|byte|||h5ae21bb24245d7660bdd576d62692ef03c762f880adb9a0f1c49c65d4eeaf0a1", "signature": "public byte Folders", "summary": "choose a folder (offset 17)" }, { "name": "Save", "kind": "field", "id": "field|Save|0|0|byte|||h7d0e84b897fd35b872cef24deacc021e3fa924b486b9496f6d2df5b7cdb38b4e", "signature": "public byte Save", "summary": "a name field and Save (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Filter", "kind": "field", "id": "field|Filter|0|0|nint|||hd300c3e184dfdac0ba98c5d80f3bfc5c9fa629e4455f95ac59a70bf43defe25a", "signature": "public nint Filter", "summary": "e.g. \u0022*.png;*.jpg\u0022 (offset 40)" }, { "name": "FilterLabel", "kind": "field", "id": "field|FilterLabel|0|0|nint|||h61c85ed1b7b9df7a5b032544020c6647d101d369c5f30e813b3958fb5577c347", "signature": "public nint FilterLabel", "summary": "e.g. \u0022Images\u0022 (offset 48)" }, { "name": "List", "kind": "field", "id": "field|List|0|0|nint|||h0b5c59300517055cd672574fc5d8ede833fc5f7e26c8c675234312fc001425a4", "signature": "public nint List", "summary": "function that lists a folder (the local disk unless set); default \u0060cui_fs_list\u0060 (offset 56)" }, { "name": "ListUser", "kind": "field", "id": "field|ListUser|0|0|nint|||hc5ee4fc495d143240b8dc2682dd4b0d2b8e04db1d48d490df1103d34a410aa00", "signature": "public nint ListUser", "summary": "passed to \u0060list\u0060 as its first argument (offset 64)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "save: the name to start with (offset 32)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|nint|||hc09c63ca74a8865980fc90e8705f77463589be19cb2ac47215bf017012fd1e70", "signature": "public nint Start", "summary": "the folder to start in, default the current directory (offset 24)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "default \u0022Open\u0022, \u0022Save\u0022 or \u0022Choose a folder\u0022 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeFilterField", "displayName": "NativeFilterField", "kind": "struct", "summary": "Filter bar: a search field, a chip per active filter (click it to pick values) and \u0022\u002B Filter\u0022 to add one. selected[i] is a bit mask of the chosen options of fields[i]. Returns true when anything changed. (32 bytes)", "members": [{ "name": "OptionCount", "kind": "field", "id": "field|OptionCount|0|0|int|||haef08072d623d2b8c76df51bfff978774c11baafa17ee75ce185a0fe6ffe3df9", "signature": "public int OptionCount", "summary": "number of \u0060options\u0060 (offset 24)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "the field\u0027s name, on its chip and in the \u0022\u002B Filter\u0022 menu (offset 0)" }, { "name": "Options", "kind": "field", "id": "field|Options|0|0|nint|||h2a8ec3d36275c8cb3d0868c775c75b73df1b18111f82c918479934997482e22b", "signature": "public nint Options", "summary": "the values to choose from; at most 32, one bit of the mask each (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeFlameOpts", "displayName": "NativeFlameOpts", "kind": "struct", "summary": "cui_flame_opts (32 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 4)" }, { "name": "MinRange", "kind": "field", "id": "field|MinRange|0|0|double|||h48e306cd4a74be0e663f2bc1ccdd39cb18de01460b82a3a6f2849dc1999e1208", "signature": "public double MinRange", "summary": "deepest zoom in seconds, default 1e-8 (offset 24)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default: fits the rows (up to 360) (offset 12)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "default 20 (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeFlameResult", "displayName": "NativeFlameResult", "kind": "struct", "summary": "cui_flame_result (12 bytes)", "members": [{ "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|byte|||hcd9665fd3f1681a5d2b578f5591a4ad75144e40faafeb6788c0782cddf3116c2", "signature": "public byte SelectionChanged", "summary": "selected changed (click or keys) (offset 0)" }, { "name": "ViewChanged", "kind": "field", "id": "field|ViewChanged|0|0|byte|||h968fb22c9e133162ed2bb1e1b83f1e701e91d01be17827f59793f1a36c1b1a8b", "signature": "public byte ViewChanged", "summary": "view changed (zoom, pan, fit, animation) (offset 1)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "span under the pointer, or -1 (offset 4)" }, { "name": "Zoomed", "kind": "field", "id": "field|Zoomed|0|0|int|||he68f9a8e48bcbe09fa4ffc168bada70699938bf2b39fa8565e6f8b914b559293", "signature": "public int Zoomed", "summary": "span zoomed to this frame (double-click, Enter), or -1 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeFlameSpan", "displayName": "NativeFlameSpan", "kind": "struct", "summary": "Flame graph / profiler timeline: time runs left to right, call depth top to bottom (row d holds the spans at depth d). You own the spans, the view and the selection; the component pans and zooms *view and writes *selected. (32 bytes)", "members": [{ "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "seconds, end \u003E= start (offset 16)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "seconds, end \u003E= start (offset 8)" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "row, 0 = top (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "drawn in the span when it fits, and in its tooltip (offset 0)" }, { "name": "ColorKey", "kind": "field", "id": "field|ColorKey|0|0|uint|||hbbc8b9d5c464ef1cd597c6f62696a77755f8847c84433421ceea1723416ab5bd", "signature": "public uint ColorKey", "summary": "0: hashed from name (offset 28)" }] }, + { "name": "CuiSharp.Interop.NativeFlameView", "displayName": "NativeFlameView", "kind": "struct", "summary": "cui_flame_view (24 bytes)", "members": [{ "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "visible time range; end \u003C= start fits every span (offset 8)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "visible time range; end \u003C= start fits every span (offset 0)" }, { "name": "Scroll", "kind": "field", "id": "field|Scroll|0|0|float|||h0dfb15b9f1ad3ea27fb4bb36094488302791ae6da1fc5727249bcba34280b5fb", "signature": "public float Scroll", "summary": "rows scrolled off the top, in points (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeFunnelOpts", "displayName": "NativeFunnelOpts", "kind": "struct", "summary": "Funnel: stages narrowing by value, with the conversion between them. (32 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeGanttOpts", "displayName": "NativeGanttOpts", "kind": "struct", "summary": "cui_gantt_opts (28 bytes)", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 12)" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|byte|||h9e1431d0c26b40c6daa5a446056e13ee71a6462394b7d796b573d868c509360c", "signature": "public byte ReadOnly", "summary": "_Bool (offset 24)" }, { "name": "DayWidth", "kind": "field", "id": "field|DayWidth|0|0|float|||hc29d4a66435c10834835d199d7668ed8a85501e1faf9bcdacb721c3b354f46c0", "signature": "public float DayWidth", "summary": "points per day, default 30 (offset 4)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "points per task row, default 40 (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Today", "kind": "field", "id": "field|Today|0|0|int|||h3dbc223105bf4f83f66479770b59a229a8203cf99f501b627d518e1cb56f4b2c", "signature": "public int Today", "summary": "day to mark as today, counted from \u0060origin\u0060; 0 marks none (offset 20)" }] }, + { "name": "CuiSharp.Interop.NativeGanttTask", "displayName": "NativeGanttTask", "kind": "struct", "summary": "Gantt chart: a task list beside a timeline of bars. Drag a bar to move it, its ends to resize it. Dependencies are drawn as elbow arrows. Returns the index of a clicked task, or -1. (40 bytes)", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 28)" }, { "name": "Milestone", "kind": "field", "id": "field|Milestone|0|0|byte|||he43b35e8a301fe7cfde8e75c86747e5a991c8237ec5c1a328eef3293a1cf0a83", "signature": "public byte Milestone", "summary": "a diamond at \u0060start\u0060 instead of a bar; it cannot be resized (offset 36)" }, { "name": "Progress", "kind": "field", "id": "field|Progress|0|0|float|||h7ee3c00970d0194eef8a3de43a8432ca8168034fc90ca2ab893b22ce785d5b05", "signature": "public float Progress", "summary": "0..1: the part of the bar drawn darker, as done (offset 24)" }, { "name": "DependsOn", "kind": "field", "id": "field|DependsOn|0|0|int|||hc6f9ef65ae7e49def7df7a36abf53610c60718d6c6c30ab4038ec669e19b2558", "signature": "public int DependsOn", "summary": "index of the task this one waits for: an arrow runs from its end to this start. -1 for none (offset 32)" }, { "name": "End", "kind": "field", "id": "field|End|0|0|int|||h101ad3d5ebda13e9c347a22363390231322c8fbb64d191c3a092d362955b7964", "signature": "public int End", "summary": "day the bar ends, counted from \u0060origin\u0060 (it is end - start days long); dragging changes it (offset 20)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|int|||ha1b0c3e4699fce964620bef0f781444da21c0b72084141f26a9e30e25bf70e5f", "signature": "public int Start", "summary": "day the bar starts, counted from \u0060origin\u0060; dragging the bar changes it (offset 16)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "shown in the task list and, when it fits, on the bar (offset 0)" }, { "name": "Owner", "kind": "field", "id": "field|Owner|0|0|nint|||ha1ce12eca90319ef97ddadf5f73dc7885cacf37641b3abd03475a4a6343405c5", "signature": "public nint Owner", "summary": "a name: shows that person\u0027s avatar in the task list; \u0060NULL\u0060 for none (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeGaugeBand", "displayName": "NativeGaugeBand", "kind": "struct", "summary": "Radial gauge: one value on a dial with colored bands, labelled ticks, a needle and a target marker, for dashboards (speed, load, temperature, a score against a goal). The needle springs to new values. (8 bytes)", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "from the band before (or min) up to \u0060to\u0060 (offset 4)" }, { "name": "To", "kind": "field", "id": "field|To|0|0|float|||hf8849e6dc06eacb246cf9418bb9bdf8b9b9026e6b10eb69f5c9835b3923929db", "signature": "public float To", "summary": "from the band before (or min) up to \u0060to\u0060 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeGradientOpts", "displayName": "NativeGradientOpts", "kind": "struct", "summary": "cui_gradient_opts (24 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "ramp height, default 28 (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "the selected stop, kept by you; NULL keeps it in the editor (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeGradientResult", "displayName": "NativeGradientResult", "kind": "struct", "summary": "cui_gradient_result (16 bytes)", "members": [{ "name": "Changed", "kind": "field", "id": "field|Changed|0|0|byte|||had978eec0af03eb4dacdb360976a7e241488e1b52d178b9e3926112ece7b5ff4", "signature": "public byte Changed", "summary": "a stop moved, changed color, or was added or removed (offset 0)" }, { "name": "Added", "kind": "field", "id": "field|Added|0|0|int|||h0d7179fd02d2033d7b47866c047f7e50fabc9d8fa35b39aeb17965c04cc3c55d", "signature": "public int Added", "summary": "index of the stop added this frame, or -1 (offset 4)" }, { "name": "Removed", "kind": "field", "id": "field|Removed|0|0|int|||hf315bda08c16cb19e021f7f7f5d0e72fe2a14432232410122416f6ef30577306", "signature": "public int Removed", "summary": "index the removed stop had, or -1 (offset 8)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "the selected stop (offset 12)" }] }, + { "name": "CuiSharp.Interop.NativeGradientStop", "displayName": "NativeGradientStop", "kind": "struct", "summary": "Gradient editor: a color ramp over a checkerboard (so alpha shows) with the stops underneath. You own the stops; the editor edits them in place and keeps them sorted by position. Drag a stop to move it (it may pass its neighbours), drag it off the ramp or press Delete to remove it (never fewer than two), click the ramp or the empty track to add a stop with the color found there. Double click a stop (or Enter on a focused one) to open the color picker; the row under the ramp shows the selected stop\u0027s color, location and opacity. Stops are focusable: Tab moves through them, Left and Right nudge (Shift for fine steps). (8 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 4)" }, { "name": "Pos", "kind": "field", "id": "field|Pos|0|0|float|||h9aac977227e3823ee394b51dffa79203fcc9f0c18ab3d961f658a2082fe8ef7e", "signature": "public float Pos", "summary": "position along the ramp, 0..1 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeGradientTextOpts", "displayName": "NativeGradientTextOpts", "kind": "struct", "summary": "Text painted with a gradient from one color to another; animate makes it drift. (32 bytes)", "members": [{ "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "default \u0060CUI_FONT_BODY\u0060 (0) (offset 4)" }, { "name": "From", "kind": "field", "id": "field|From|0|0|NativeColor|||hedf3a6a774ec4a291fd74d8b9437e94dd32ccb0174ee9470406ef4ca40a1b9e9", "signature": "public NativeColor From", "summary": "color at the left edge; default the accent, or the text color under the neutral accent (offset 12)" }, { "name": "To", "kind": "field", "id": "field|To|0|0|NativeColor|||h7dff92cc91e25ac29c9afe68011fbbd5b501cdfa12aea26173b386eb0a299343", "signature": "public NativeColor To", "summary": "color at the right edge, default \u0060from\u0060 blended toward the foreground color (offset 16)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 24)" }, { "name": "Animate", "kind": "field", "id": "field|Animate|0|0|byte|||h99edaa9f18f4a8798dec24bbf1057171c7a9880a33480e8f6d823c008a06a948", "signature": "public byte Animate", "summary": "the gradient drifts along the text (offset 20)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeGraphEdge", "displayName": "NativeGraphEdge", "kind": "struct", "summary": "cui_graph_edge (8 bytes)", "members": [{ "name": "From", "kind": "field", "id": "field|From|0|0|int|||h11f7cebcf77a074c120dda4af3a2c2a7d6533333236d3fbb272c705fd58fd693", "signature": "public int From", "summary": "index of the node the arrow starts at (offset 0)" }, { "name": "To", "kind": "field", "id": "field|To|0|0|int|||h51c44d9327d4ff5ec543672605cdc9085758c30f02fb02478eed8ab117d48e44", "signature": "public int To", "summary": "index of the node the arrow points to (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeGraphNode", "displayName": "NativeGraphNode", "kind": "struct", "summary": "Nodes and directed edges laid out in layers (each edge points to a later layer, cycles are broken), for build targets, packages, services or call graphs. The layout is computed when the graph changes. Wheel zooms, drag pans, click selects; hovering a node lights up what it depends on and what depends on it. F fits the graph. (24 bytes)", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 16)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "smaller second line under the label, e.g. the node\u0027s kind; \u0060NULL\u0060 for none (offset 8)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeGraphOpts", "displayName": "NativeGraphOpts", "kind": "struct", "summary": "cui_graph_opts (32 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "TopDown", "kind": "field", "id": "field|TopDown|0|0|byte|||h440a5afdb8b96ab548081bdf064429e9515bc2c9aed3304e6cf3eefb979ecac8", "signature": "public byte TopDown", "summary": "layers stack from top to bottom instead of running side by side (offset 16)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "the selected node or -1, kept by you; \u0060NULL\u0060 keeps it in the component (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeGraphResult", "displayName": "NativeGraphResult", "kind": "struct", "summary": "cui_graph_result (12 bytes)", "members": [{ "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "node double-clicked or chosen with Enter this frame, or -1 (offset 4)" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "node clicked this frame, or -1 (offset 0)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "node under the pointer, or -1 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeGridColumn", "displayName": "NativeGridColumn", "kind": "struct", "summary": "A virtualized table for large data: sticky header, resizable and sortable columns, checkbox selection (click, Ctrl\u002Bclick, Shift\u002Bclick, Ctrl\u002BA), keyboard navigation and editable cells. Build only the rows in [first, last): (24 bytes)", "members": [{ "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "cui_text_align (offset 12)" }, { "name": "Fixed", "kind": "field", "id": "field|Fixed|0|0|byte|||hf34b5694d58a07d3223ee2235d451f81ed7a09be66068c9bbc95ff88ca3b1e17", "signature": "public byte Fixed", "summary": "not resizable (offset 17)" }, { "name": "Sortable", "kind": "field", "id": "field|Sortable|0|0|byte|||he9070b0f1a6618362c7d61bbbdebf35e70e6d19b96b6e0a0848b987b2f8927ef", "signature": "public byte Sortable", "summary": "_Bool (offset 16)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "initial width in points, default 150 (offset 8)" }, { "name": "Priority", "kind": "field", "id": "field|Priority|0|0|int|||hbaa8b212dbdc34fa1179a77ab76338f94bb35b6954915c627238c0927fab9d97", "signature": "public int Priority", "summary": "0 always shown; when the grid is too narrow, columns with a priority hide, the highest number first, until the rest fit (offset 20)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "text of the column\u0027s header (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeGridOpts", "displayName": "NativeGridOpts", "kind": "struct", "summary": "cui_grid_opts (72 bytes)", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "default fill (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 4)" }, { "name": "HideCheckboxes", "kind": "field", "id": "field|HideCheckboxes|0|0|byte|||h6fd6eac04a71b52ef56545ea61ec90897603d0ba2b00d592fe3aea544ab351fe", "signature": "public byte HideCheckboxes", "summary": "with selected: rows still select (click, Shift, Ctrl) but no checkbox column (offset 56)" }, { "name": "Striped", "kind": "field", "id": "field|Striped|0|0|byte|||hd2f33c74b431b991629cd3110070b2971b239e494028617bdf5c8495f08a3c04", "signature": "public byte Striped", "summary": "_Bool (offset 40)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "default 40 (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Anchor", "kind": "field", "id": "field|Anchor|0|0|nint|||h2a3efb78b027ddab56b002c1c17c0175140a3ae80ce9ca969857ccc0bd8e0f33", "signature": "public nint Anchor", "summary": "the row Shift ranges start from, optional (in and out like cursor) (offset 64)" }, { "name": "Cursor", "kind": "field", "id": "field|Cursor|0|0|nint|||h195d74261818c31b6a837175cd06968e2a34f757d46f62d7a83a2655d64fa49a", "signature": "public nint Cursor", "summary": "the keyboard row, optional; setting it scrolls that row into view (offset 48)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "one bool per row; adds a checkbox column (offset 24)" }, { "name": "Sort", "kind": "field", "id": "field|Sort|0|0|nint|||h9d98eab2f080d85ca8cb2b51bbfbb1c26340f12564431ce3c0cb8b55484a96e2", "signature": "public nint Sort", "summary": "optional; a click on a sortable header updates it and the header shows its arrow. Sort the rows yourself (offset 32)" }] }, + { "name": "CuiSharp.Interop.NativeHeatmapOpts", "displayName": "NativeHeatmapOpts", "kind": "struct", "summary": "Heatmap: a rows x cols matrix (values[row * cols \u002B col]) on one hue, light to dark, with a scale below. (56 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "hue of the scale, default the accent (offset 36)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 48)" }, { "name": "Cell", "kind": "field", "id": "field|Cell|0|0|float|||hf561982788f651cf6be459cbdafa3d95b9d0eec610073c6be9f8ee75925d3d45", "signature": "public float Cell", "summary": "cell size, default fits the width (offset 24)" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "value range, default the data\u0027s (offset 32)" }, { "name": "Min", "kind": "field", "id": "field|Min|0|0|float|||h81101b82558caea906d5838961d5313f13c99e7d68f18285b0cf84040f989d8a", "signature": "public float Min", "summary": "value range, default the data\u0027s (offset 28)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "ColLabels", "kind": "field", "id": "field|ColLabels|0|0|nint|||h341f6ff47d1dcad907f5ec30036b4decc19be9a4df947a770e8e5b0e72fd543e", "signature": "public nint ColLabels", "summary": "one label per column, under the grid; labels that would overlap are skipped (offset 16)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 40)" }, { "name": "RowLabels", "kind": "field", "id": "field|RowLabels|0|0|nint|||h129c5d8d02700ee3ed6a4c66311945bf00088b45af8ac7f9d0e28f31d5d856ff", "signature": "public nint RowLabels", "summary": "one label per row, left of the grid; \u0060NULL\u0060 for none (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeHexRange", "displayName": "NativeHexRange", "kind": "struct", "summary": "Hex viewer: offsets, bytes in hex and the same bytes as ASCII, in the code font, for binary tools, emulators and debuggers. You own the bytes (they are read during the call, never kept) and, optionally, the selection: (32 bytes)", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "tints the range\u0027s background (offset 16)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "tooltip for the range; may be NULL (offset 24)" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|nuint|||hedf65e6cbb8502783a4b1db6bf52e3cb2ac5fc655d896572bd904d3dec117894", "signature": "public nuint Length", "summary": "size_t (offset 8)" }, { "name": "Offset", "kind": "field", "id": "field|Offset|0|0|nuint|||h12d9fc8e8a79ade3b2b6c9d612c1d902e92a0d2fd1e9fa210581e42cae95e5aa", "signature": "public nuint Offset", "summary": "size_t (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeHexResult", "displayName": "NativeHexResult", "kind": "struct", "summary": "cui_hex_result (64 bytes)", "members": [{ "name": "Selection", "kind": "field", "id": "field|Selection|0|0|NativeHexSelection|||h1175db1a8eb0e5f6c36cd11589758d1e21c61e89ecae69a29088a40c9dd0da5b", "signature": "public NativeHexSelection Selection", "summary": "after this frame (the same as *sel when you pass one) (offset 0)" }, { "name": "Copied", "kind": "field", "id": "field|Copied|0|0|byte|||ha564c6f6c9a275eb3a25db281ebdd5bdf919eb7f01edce0e75c7dc0faab6136c", "signature": "public byte Copied", "summary": "Ctrl\u002BC or Ctrl\u002BShift\u002BC put the selection on the clipboard (offset 56)" }, { "name": "Edited", "kind": "field", "id": "field|Edited|0|0|byte|||h9ef1d7c46ce21222bc9354c9bc032337f9bc7c03cf045d2ab6957bb638b70c68", "signature": "public byte Edited", "summary": "bytes in .edit were overwritten this frame (offset 25)" }, { "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|byte|||hcd9665fd3f1681a5d2b578f5591a4ad75144e40faafeb6788c0782cddf3116c2", "signature": "public byte SelectionChanged", "summary": "by the pointer, the keys or cui_hex_view_goto (offset 24)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|long|||hbe1c39e7bbdecc557c8876890e8eac9658e0fa1fd65737f5d44c9f0b0cf4e2d9", "signature": "public long Hovered", "summary": "byte under the pointer, or -1 (offset 48)" }, { "name": "EditLength", "kind": "field", "id": "field|EditLength|0|0|nuint|||hf53d8a9c16df84a6ee7ed527d46eee361c22769d926b46b82d49c6d0d8292c0d", "signature": "public nuint EditLength", "summary": "with \u0060edited\u0060: bytes from \u0060edit_offset\u0060 up to the last one overwritten (offset 40)" }, { "name": "EditOffset", "kind": "field", "id": "field|EditOffset|0|0|nuint|||h8fc22aaf7fa6bc3dab506e0fc9fbbba958729739f2b5662ac547515924520604", "signature": "public nuint EditOffset", "summary": "with \u0060edited\u0060: offset of the first byte overwritten this frame (offset 32)" }] }, + { "name": "CuiSharp.Interop.NativeHexSelection", "displayName": "NativeHexSelection", "kind": "struct", "summary": "The selected bytes. length 0 means nothing is selected; cursor is the byte the keys move from and is one end of a selection. Set it yourself to select from code. (24 bytes)", "members": [{ "name": "Cursor", "kind": "field", "id": "field|Cursor|0|0|nuint|||hfa45858e7446de1748c469d079c5914767b81cc09541907100fed7193ae9e90e", "signature": "public nuint Cursor", "summary": "the byte the keys move from; one end of the selection (offset 16)" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|nuint|||hedf65e6cbb8502783a4b1db6bf52e3cb2ac5fc655d896572bd904d3dec117894", "signature": "public nuint Length", "summary": "bytes selected; 0 means nothing is selected (offset 8)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|nuint|||hf5ab1ae637d54d5286a48ab4bd471c3fbd3b424aed466045a63666fdd96f187e", "signature": "public nuint Start", "summary": "offset of the first selected byte (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeHexViewOpts", "displayName": "NativeHexViewOpts", "kind": "struct", "summary": "cui_hex_view_opts (64 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 4)" }, { "name": "NoAscii", "kind": "field", "id": "field|NoAscii|0|0|byte|||h3e2aa825acf39bc9df144017bf97823b0c1a092a9d328d417b98dc2a270f1498", "signature": "public byte NoAscii", "summary": "hide the ASCII column (offset 56)" }, { "name": "NoHeader", "kind": "field", "id": "field|NoHeader|0|0|byte|||h6093941fb44d7f5a4ff51d16324ccdb8778e77d1ae10d4e0d62af2a3df85380c", "signature": "public byte NoHeader", "summary": "hide the column header (00 01 .. 0F) (offset 57)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default: the rows, up to 320; negative fills the space (offset 12)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 12 (offset 60)" }, { "name": "BytesPerRow", "kind": "field", "id": "field|BytesPerRow|0|0|int|||hd61386e0b1631168d5ba3121886245ecce5b4ff2f8648ec936c3d6745e973f40", "signature": "public int BytesPerRow", "summary": "8, 16 (default) or 32 (offset 24)" }, { "name": "RangeCount", "kind": "field", "id": "field|RangeCount|0|0|int|||h7cf44af00c194dbcd2d248d6d668d0e792ba9f5e70caed801178c75e0527cb4e", "signature": "public int RangeCount", "summary": "entries in \u0060ranges\u0060, drawn in order with later ones on top (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Edit", "kind": "field", "id": "field|Edit|0|0|nint|||hb58a60b15fcbd3ae6f0be93b9f52af11f835d1a3062a50281e96005e5a8e56ea", "signature": "public nint Edit", "summary": "writable bytes to show and overwrite instead of data (usually the same memory), or NULL for read only (offset 48)" }, { "name": "Ranges", "kind": "field", "id": "field|Ranges|0|0|nint|||h5e8cf57120f430601bf30d0dab9b30003d9f95318475f93f1e97c1a729522280", "signature": "public nint Ranges", "summary": "byte ranges to highlight, each with a tone and a tooltip label (offset 32)" }, { "name": "Base", "kind": "field", "id": "field|Base|0|0|ulong|||h2d347b8391ce7744ac9390fd5433f8b42dd856f120afc62df3093dae04e197ff", "signature": "public ulong Base", "summary": "address shown for byte 0 in the offset column (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeHistogramOpts", "displayName": "NativeHistogramOpts", "kind": "struct", "summary": "Range slider over a histogram of the data it filters. (16 bytes)", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeHistogramSeries", "displayName": "NativeHistogramSeries", "kind": "struct", "summary": "Event counts over time, stacked by series (log levels, status classes), as above a log search. Drag across it to select a time range, click to clear. Hover a bar for its time and counts. Times are Unix seconds. (24 bytes)", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 16)" }, { "name": "Counts", "kind": "field", "id": "field|Counts|0|0|nint|||h4ea94f3389c79a675e397e48da85da17c2b2112bce59a8565db06ae9977a4be3", "signature": "public nint Counts", "summary": "one count per bucket; \u0060NULL\u0060 counts as zeros (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "shown in the legend and in the hover tooltip (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeHoldOpts", "displayName": "NativeHoldOpts", "kind": "struct", "summary": "Hold to confirm: a destructive action that fills while held and fires when full. Returns true once. (24 bytes)", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "cui_button_variant (offset 16)" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "seconds the button must be held before it fires, default 1.2 (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeHoverCardOpts", "displayName": "NativeHoverCardOpts", "kind": "struct", "summary": "Hover card: rich content that appears when the pointer rests on the previous component, and stays while the pointer is over either. (16 bytes)", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement (offset 4)" }, { "name": "Delay", "kind": "field", "id": "field|Delay|0|0|float|||h3a45177d911de60d3c1058d19f965797cda6f4da3e3656b82d0a5ea6832de388", "signature": "public float Delay", "summary": "seconds the pointer must rest on the component before the card shows, default 0.45 (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeImageOpts", "displayName": "NativeImageOpts", "kind": "struct", "summary": "cui_image_opts (28 bytes)", "members": [{ "name": "Tint", "kind": "field", "id": "field|Tint|0|0|NativeColor|||h812e541079b34551063a2536701a35c8f7e275aae6f143d65d3c5fd15a688238", "signature": "public NativeColor Tint", "summary": "color the image is multiplied by; unset draws it as it is (offset 24)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Radius", "kind": "field", "id": "field|Radius|0|0|float|||h565c7c94c17c4e0d68e71b97e4dacf48df705124ce26655589804f82ae3a5afe", "signature": "public float Radius", "summary": "corner radius in points (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeImageView", "displayName": "NativeImageView", "kind": "struct", "summary": "Image viewer: zoom and pan a picture. The wheel (or a pinch, which comes as Ctrl\u002Bwheel) zooms around the pointer, dragging pans, double-click switches between fitting the view and 100%. With the viewer focused, \u002B and - zoom, 0 fits, 1 shows actual pixels and the arrows pan. Zoom and pan ease. Keep a cui_image_view to keep the zoom and position (zeroed: fit). (12 bytes)", "members": [{ "name": "Cx", "kind": "field", "id": "field|Cx|0|0|float|||ha089bd3bc9b64b88c76a4d49417464e60089fa8c4949692935cd9a1cbeeb26f2", "signature": "public float Cx", "summary": "the image point at the middle of the view, in pixels (offset 4)" }, { "name": "Cy", "kind": "field", "id": "field|Cy|0|0|float|||h47bd658ecc744271b6a80f35df93f81c2391730563046a45c3923e15cf53aceb", "signature": "public float Cy", "summary": "the image point at the middle of the view, in pixels (offset 8)" }, { "name": "Zoom", "kind": "field", "id": "field|Zoom|0|0|float|||h15d1ab2e6f15237e95efde0c028fdb5a985bc69724f9d1c2dfbc7d04a92a3d84", "signature": "public float Zoom", "summary": "screen points per image pixel; 0 fits the image in the view (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeImageViewerOpts", "displayName": "NativeImageViewerOpts", "kind": "struct", "summary": "cui_image_viewer_opts (28 bytes)", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "default the width it gets and 360 (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default the width it gets and 360 (offset 4)" }, { "name": "Checkerboard", "kind": "field", "id": "field|Checkerboard|0|0|byte|||h7ede6c2a27d3830e9fc073d094f2fbcc667073c1829283305c91797827cf17ad", "signature": "public byte Checkerboard", "summary": "a grid behind transparent images (offset 25)" }, { "name": "NoToolbar", "kind": "field", "id": "field|NoToolbar|0|0|byte|||h1230557801560ff86cbce3521dab7087f74f25026715f9de53fdbb79ff28a7c9", "signature": "public byte NoToolbar", "summary": "the zoom buttons and percentage in the corner (offset 24)" }, { "name": "MaxZoom", "kind": "field", "id": "field|MaxZoom|0|0|float|||hce7b521ad509796f5171145038456d5846fb43275f5ab2bd1dd22e941b179f55", "signature": "public float MaxZoom", "summary": "default 16 (1600%) (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeInlineEditOpts", "displayName": "NativeInlineEditOpts", "kind": "struct", "summary": "Inline edit: text that turns into a field in place. Click (or Enter when focused) to edit, Enter or clicking away saves, Esc cancels. Returns CUI_CHANGED when an edit is committed. (32 bytes)", "members": [{ "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "font of the text and of the field, default \u0060CUI_FONT_MEDIUM\u0060 (offset 4)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 24)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeInputOpts", "displayName": "NativeInputOpts", "kind": "struct", "summary": "cui_input_opts (88 bytes)", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 56)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 60)" }, { "name": "Autofocus", "kind": "field", "id": "field|Autofocus|0|0|byte|||hf7200e77a6e74d4faf41ea5500f58e93a4f8f8423cf247fc6c5784655d8f9fe5", "signature": "public byte Autofocus", "summary": "_Bool (offset 51)" }, { "name": "Clearable", "kind": "field", "id": "field|Clearable|0|0|byte|||hd4fdbdf460d78b2cf5d11e36726d401754f6dd4aba7e4125f21f7477cba134a9", "signature": "public byte Clearable", "summary": "x button when not empty (offset 50)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 49)" }, { "name": "Password", "kind": "field", "id": "field|Password|0|0|byte|||hdceeccdbc0ded58956d46792f23a65707d5b61576addfce0ff5f2d1bedb124f5", "signature": "public byte Password", "summary": "shows dots instead of the text, with an eye button that reveals it (offset 48)" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|byte|||h9e1431d0c26b40c6daa5a446056e13ee71a6462394b7d796b573d868c509360c", "signature": "public byte ReadOnly", "summary": "_Bool (offset 52)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "textarea: height in points; negative fills the space (offset 68)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Error", "kind": "field", "id": "field|Error|0|0|nint|||hdd113196192125bb251ed8e4e61faa04c141796319fac033109dbf93e8d846b0", "signature": "public nint Error", "summary": "error text below (red) (offset 40)" }, { "name": "Hint", "kind": "field", "id": "field|Hint|0|0|nint|||hc04a330155ea240694e4f00b47172663ef8f8e8c7171babe8307883ebbeeee6c", "signature": "public nint Hint", "summary": "helper text below (offset 32)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "leading icon (offset 24)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "label above the field (offset 8)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }, { "name": "Prefix", "kind": "field", "id": "field|Prefix|0|0|nint|||h1e51df371709b7b706060a657490aa1997e1abdbdcdc3ec25a08378d43e98e41", "signature": "public nint Prefix", "summary": "muted text before the value, e.g. \u0022$\u0022 or \u0022https://\u0022 (offset 72)" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|nint|||hf74991389a50a9d4f62042eaba5519ce0c8537c405e4fb6215db1322dfac00e9", "signature": "public nint Suffix", "summary": "muted text after the value, e.g. \u0022USD\u0022 or \u0022kg\u0022 (offset 80)" }] }, + { "name": "CuiSharp.Interop.NativeInspectorOpts", "displayName": "NativeInspectorOpts", "kind": "struct", "summary": "Property inspector: labelled rows in folding groups, a label column on the left (drag the line between the columns to resize it) and an editor on the right. Every row returns true when its value changed. Groups end at the next group or at cui_inspector_end. (16 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 4)" }, { "name": "LabelWidth", "kind": "field", "id": "field|LabelWidth|0|0|float|||h993f466ab627a21c24b5cbf05bd27e3424e345f9dda31611b0dbd719a33e2e12", "signature": "public float LabelWidth", "summary": "initial label column in points, default 38% of the width (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeJsonOpts", "displayName": "NativeJsonOpts", "kind": "struct", "summary": "JSON viewer: a collapsible tree with typed colors and item counts. Returns false when the text is not valid JSON (and shows the error). (12 bytes)", "members": [{ "name": "MaxHeight", "kind": "field", "id": "field|MaxHeight|0|0|float|||h362fb387f8c873f790106e0085b293b9836b14ef629bd38f56f23e0483ef699f", "signature": "public float MaxHeight", "summary": "points; taller content scrolls. 0 shows everything (offset 8)" }, { "name": "ExpandDepth", "kind": "field", "id": "field|ExpandDepth|0|0|int|||h2113772f50eedfb1b947b1866b9ccfabc933b4026161df07a62d39104bf42152", "signature": "public int ExpandDepth", "summary": "levels of the tree that start open, default 2 (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeKanbanColumnOpts", "displayName": "NativeKanbanColumnOpts", "kind": "struct", "summary": "cui_kanban_column_opts (16 bytes)", "members": [{ "name": "Dot", "kind": "field", "id": "field|Dot|0|0|NativeColor|||hd773443c893b7afcb6798dfbf9c5a9551ea021c150617c7f45a35d5c56be0c79", "signature": "public NativeColor Dot", "summary": "a small dot of this color before the title; unset for none (offset 4)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 12)" }, { "name": "Limit", "kind": "field", "id": "field|Limit|0|0|int|||h0551723e212cc1de31ece56a8865f2a5fe1a25e69ca86d13b85180f933670910", "signature": "public int Limit", "summary": "work in progress limit: the count reads \u00223 / 5\u0022 and turns red above it; 0 for none (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeKanbanMove", "displayName": "NativeKanbanMove", "kind": "struct", "summary": "Kanban board: columns of cards you drag between columns and within them. The board reports drops; you move the card in your data: (16 bytes)", "members": [{ "name": "Card", "kind": "field", "id": "field|Card|0|0|int|||h4e55f281e44827e799e41dc1f657218631ca17eabaa81d6214d62a1f42080b79", "signature": "public int Card", "summary": "the \u0060card_id\u0060 of the card that was dropped (offset 0)" }, { "name": "FromColumn", "kind": "field", "id": "field|FromColumn|0|0|int|||h852c86084f2687cfab891d2a8ee1ee937a40b68fb2ded28a28325c23a45d5da1", "signature": "public int FromColumn", "summary": "index of the column it came from, in the order the columns were begun (offset 4)" }, { "name": "ToColumn", "kind": "field", "id": "field|ToColumn|0|0|int|||hc5eebb26186d77f3dcbdd4b3159e8329a2e6080e96b3ee23a29a3af4eb4da347", "signature": "public int ToColumn", "summary": "index of the column it was dropped in (offset 8)" }, { "name": "ToIndex", "kind": "field", "id": "field|ToIndex|0|0|int|||h4f61864330a69f3505bc7fd8fbee51dba8f5d4f040469966dc4183d1a6f201a6", "signature": "public int ToIndex", "summary": "its position in that column, counted with the dragged card left out (offset 12)" }] }, + { "name": "CuiSharp.Interop.NativeKeyCombo", "displayName": "NativeKeyCombo", "kind": "struct", "summary": "Shortcut recorder: click and press a key combination to record it. Backspace clears, Esc cancels. Returns true when the combination changed. cui_shortcut_label formats a combination (\u0022Ctrl Shift K\u0022). (8 bytes)", "members": [{ "name": "Key", "kind": "field", "id": "field|Key|0|0|Key|||ha8a2ef1e5766d0ded6949b45f1180b64bdf9ef3740bc5c193694a2938f483f10", "signature": "public Key Key", "summary": "cui_key (offset 4)" }, { "name": "Mods", "kind": "field", "id": "field|Mods|0|0|int|||h0557a35558abe6a9a70cd6ee363474ffd9ef430fca04fd8f09e8787557a8daf4", "signature": "public int Mods", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeKeymapBinding", "displayName": "NativeKeymapBinding", "kind": "struct", "summary": "A keyboard with your shortcuts on it: each bound key shows its action and the color of its category, for the modifiers chosen above it. Keys bound twice are marked as conflicts. Hover a key for every binding on it; click it to get the key (to rebind it). The keyboard keeps its own layout in a right-to-left interface and scales to the width it gets. (24 bytes)", "members": [{ "name": "Combo", "kind": "field", "id": "field|Combo|0|0|NativeKeyCombo|||h0a275a89eee117ed7f07d853f54c833bf981cb6179bfc40c8c3e7b672fdd5e12", "signature": "public NativeKeyCombo Combo", "summary": "the modifiers and key the action is bound to (offset 0)" }, { "name": "Category", "kind": "field", "id": "field|Category|0|0|int|||hdd47e2b092c5ca594640eebe08c268434674a147ebf5eafb2a46a5da46f07ed4", "signature": "public int Category", "summary": "index into the categories, colors the key (offset 16)" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|nint|||h7dfe2a16d24f5ae17516623e6e776336e0c9174236c2f3e6d25910fcd1c88c17", "signature": "public nint Action", "summary": "name of the action, shown on the key and in its tooltip (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeKeymapOpts", "displayName": "NativeKeymapOpts", "kind": "struct", "summary": "cui_keymap_opts (48 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoFunctionRow", "kind": "field", "id": "field|NoFunctionRow|0|0|byte|||hb6ac766565207a213495d95baa9459bd96a9437f3b728206c935541fbf6d0bea", "signature": "public byte NoFunctionRow", "summary": "leaves out the row of function keys (offset 40)" }, { "name": "CategoryCount", "kind": "field", "id": "field|CategoryCount|0|0|int|||hee46433925da01774885433a273815397b72ca5f22901b59592bcefdb7416c33", "signature": "public int CategoryCount", "summary": "number of \u0060categories\u0060 (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Categories", "kind": "field", "id": "field|Categories|0|0|nint|||hb8d4a0c28ca115fb2acf51d81cf80a37de8d557209e403bdb805b885c31374d3", "signature": "public nint Categories", "summary": "names for the legend (offset 16)" }, { "name": "Mods", "kind": "field", "id": "field|Mods|0|0|nint|||h0d2266fc279099bfe055abb56d95b695de1e224ae043df5271c83baf3d2f009d", "signature": "public nint Mods", "summary": "the modifiers shown; NULL: kept for you (offset 32)" }] }, + { "name": "CuiSharp.Interop.NativeKeymapResult", "displayName": "NativeKeymapResult", "kind": "struct", "summary": "cui_keymap_result (8 bytes)", "members": [{ "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|Key|||hf3d1089c0e1e46bc83fd27808a70e56ed41a70657965029f08dbfc901fbc370d", "signature": "public Key Clicked", "summary": "key clicked this frame, or \u0060CUI_KEY_NONE\u0060 (offset 0)" }, { "name": "Conflicts", "kind": "field", "id": "field|Conflicts|0|0|int|||h789812c8ba17c03535e8408d067679a4be25b10d6c3816628d8bb1c973ecd39c", "signature": "public int Conflicts", "summary": "bindings that repeat a combination another binding already uses (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeKnobOpts", "displayName": "NativeKnobOpts", "kind": "struct", "summary": "Knob, fader and level meter: the controls of audio, synth and mixer panels. (56 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "the value arc, default the control color (offset 48)" }, { "name": "Bipolar", "kind": "field", "id": "field|Bipolar|0|0|byte|||h1d569b6c87e7ba726ec66ea2c839a78fdd9e86f466b577110c4ce16329daa57f", "signature": "public byte Bipolar", "summary": "the arc grows from the middle: pan, EQ gain (offset 44)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 47)" }, { "name": "HideValue", "kind": "field", "id": "field|HideValue|0|0|byte|||hbb6b16309b43eda0fc05f53c3f1331a74672b86f2823f660cbf275eda7570761", "signature": "public byte HideValue", "summary": "_Bool (offset 46)" }, { "name": "LogScale", "kind": "field", "id": "field|LogScale|0|0|byte|||h3a807b024c92ba2ae36e1b227c4f2403b1a8c290287c3fce652a62b0d73e20c0", "signature": "public byte LogScale", "summary": "equal turns multiply the value: frequency, time (min \u003E 0) (offset 45)" }, { "name": "Reset", "kind": "field", "id": "field|Reset|0|0|float|||h6f7e0b1685ab6d501be44af24ff4fc26ab960c5abf2371bc447d2d1768038172", "signature": "public float Reset", "summary": "double-click value, default 0 (clamped to the range) (offset 40)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "diameter, default 48 (offset 32)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "0 = continuous (keys move 1% of the range) (offset 36)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "printf format for the value, default \u0022%.0f\u0022 (offset 16)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "under the knob; the id when NULL (offset 8)" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|nint|||h708409b7ee1912ab128b9f78a22e55e9f298402bb842be865ac89fa44f207c93", "signature": "public nint Unit", "summary": "after the value, e.g. \u0022Hz\u0022 or \u0022dB\u0022 (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeKvEditorOpts", "displayName": "NativeKvEditorOpts", "kind": "struct", "summary": "cui_kv_editor_opts (40 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 28)" }, { "name": "NoSecrets", "kind": "field", "id": "field|NoSecrets|0|0|byte|||hc67b9037a20e271562e783ae6d73aeffed4b6d0299dda287bb76c51dc3ff3087", "signature": "public byte NoSecrets", "summary": "no eye button (offset 25)" }, { "name": "NoToggles", "kind": "field", "id": "field|NoToggles|0|0|byte|||h9d0cfc1f93e79a2a48e2898e032a15be4e7e0ed61cb768f8999b9d711c8c1564", "signature": "public byte NoToggles", "summary": "no checkboxes: every pair is on (offset 24)" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|byte|||h9e1431d0c26b40c6daa5a446056e13ee71a6462394b7d796b573d868c509360c", "signature": "public byte ReadOnly", "summary": "_Bool (offset 26)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "KeyPlaceholder", "kind": "field", "id": "field|KeyPlaceholder|0|0|nint|||h745e755fe6848225d5b3573bc346c72b9e59a6a61e0a840d5453d3b1b3b1e50d", "signature": "public nint KeyPlaceholder", "summary": "default \u0022Key\u0022 (offset 8)" }, { "name": "ValuePlaceholder", "kind": "field", "id": "field|ValuePlaceholder|0|0|nint|||hc6fd03e6afd968857a1ab58a437c9b9c242f12d3ed3122acc4bd006c7c84c135", "signature": "public nint ValuePlaceholder", "summary": "default \u0022Value\u0022 (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeKvPair", "displayName": "NativeKvPair", "kind": "struct", "summary": "Rows of key = value pairs: HTTP headers, query parameters, environment variables. You own the array and it is edited in place. The checkbox turns a pair on or off, typing in the empty row at the end adds a pair, the x removes one. Secret values show as dots with an eye to reveal them. A key used twice, or one with a space, is marked. On a phone each key sits above its value. Returns true when anything changed. (322 bytes)", "members": [{ "name": "Key", "kind": "field", "id": "field|Key|0|0|\u003CKey\u003Ee__FixedBuffer|||h9959085f7309dc4f833dcc062bfbb4d3ebf7d4872b1d00e71ae5dcc81751506b", "signature": "public \u003CKey\u003Ee__FixedBuffer Key", "summary": "the name, e.g. \u0022Accept\u0022; edited in place (offset 0)" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|\u003CValue\u003Ee__FixedBuffer|||h3733ba739dc4b340aaa8d999619d3a45483a5245e5ca30e87e307219078ea13c", "signature": "public \u003CValue\u003Ee__FixedBuffer Value", "summary": "the value, e.g. \u0022application/json\u0022; edited in place (offset 64)" }, { "name": "Enabled", "kind": "field", "id": "field|Enabled|0|0|byte|||h0a86f1b69d9c1369c87f1d6803878d78967110381c7e3e9bfde1042529e91d4f", "signature": "public byte Enabled", "summary": "the pair is in use; its checkbox toggles this (offset 320)" }, { "name": "Secret", "kind": "field", "id": "field|Secret|0|0|byte|||h0c38b42d78cf54f22f5c771c32cfbb671fb0079e806aee7e7ff2203d7b59d9e1", "signature": "public byte Secret", "summary": "the value shows as dots, with an eye to reveal it; the lock button toggles this (offset 321)" }] }, + { "name": "CuiSharp.Interop.NativeLevelMeterOpts", "displayName": "NativeLevelMeterOpts", "kind": "struct", "summary": "Level meter: bars that jump up to each new peak and fall back at \u0060decay\u0060 dB per second, with a peak mark that holds for \u0060hold\u0060 seconds and a clip light that stays on until clicked. Levels are linear sample peaks (1.0 is 0 dBFS); green runs to -18 dB, amber to -6 dB, red above. (32 bytes)", "members": [{ "name": "Horizontal", "kind": "field", "id": "field|Horizontal|0|0|byte|||hb8eb5f891a452586827fe30447b7d0b698e41f55d790a6fb5ef7aee450a3d7f2", "signature": "public byte Horizontal", "summary": "bars run left to right instead of bottom to top (offset 20)" }, { "name": "Scale", "kind": "field", "id": "field|Scale|0|0|byte|||hd0b8462fe73e9f0270274290f09dc03fb41bd9125c5bfe79de851cb2827098a9", "signature": "public byte Scale", "summary": "dB labels beside the bars (offset 21)" }, { "name": "Segmented", "kind": "field", "id": "field|Segmented|0|0|byte|||h84db8c616b9ba7105e508e4ef55bb05d16dc07c293aab8b792f045fa055ec51e", "signature": "public byte Segmented", "summary": "LED segments instead of a solid bar (offset 22)" }, { "name": "Decay", "kind": "field", "id": "field|Decay|0|0|float|||h067240cd90c29d217819d40156fc0debc9d7b6e5290807eea7a28cffb399a6eb", "signature": "public float Decay", "summary": "fall rate, dB per second; default 20 (offset 28)" }, { "name": "Hold", "kind": "field", "id": "field|Hold|0|0|float|||hf9cf9b5a4d1a55101a8a988c06df2d2cadf6464a1b411ed219b71cf735f20622", "signature": "public float Hold", "summary": "peak hold, seconds; default 1.5, \u003C 0 none (offset 24)" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|float|||hde0ed5b9413eadd735eb6ae0346647e34ca58923c6d228bcc21459281e52a172", "signature": "public float Length", "summary": "default 160 (offset 12)" }, { "name": "MaxDb", "kind": "field", "id": "field|MaxDb|0|0|float|||h05af64f8eaf6361804782ad98715d074c249913dc00324f60ff072dd17a84ea9", "signature": "public float MaxDb", "summary": "default -60 and \u002B6 (offset 8)" }, { "name": "MinDb", "kind": "field", "id": "field|MinDb|0|0|float|||hf0f618cb58cf13fd6bb97d775f5351393d15723ccaf0a1a2d3ce7d92fae8a2b5", "signature": "public float MinDb", "summary": "default -60 and \u002B6 (offset 4)" }, { "name": "Thickness", "kind": "field", "id": "field|Thickness|0|0|float|||h032ae3f08d1f764102a5ab4e3449cb25f2ae394d97fb8b90dd505ead7b8576f6", "signature": "public float Thickness", "summary": "each channel\u0027s bar, default 6 (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeListItemOpts", "displayName": "NativeListItemOpts", "kind": "struct", "summary": "List item: a selectable row with optional icon, subtitle and trailing text. (48 bytes)", "members": [{ "name": "Selected", "kind": "field", "id": "field|Selected|0|0|byte|||h48f54c1c7f1477a898313a8a1128d8456b17a09db15f6c9d1b8c0f9629b7fdf5", "signature": "public byte Selected", "summary": "drawn with the active background (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|nint|||h96fb323a4f1835f2f2cf6dbdd0c41ceb0b611db7033e6313ba17a02569c0ac07", "signature": "public nint Avatar", "summary": "a name: shows that person\u0027s avatar (initials) in place of the icon (offset 40)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Subtitle", "kind": "field", "id": "field|Subtitle|0|0|nint|||h36c083929a586a62f5ba6333f4b689be4edc120b0530bc173b1abbbdc6497b9e", "signature": "public nint Subtitle", "summary": "second line under the title, smaller; makes the row taller (offset 16)" }, { "name": "Trailing", "kind": "field", "id": "field|Trailing|0|0|nint|||h53f5b0680364a5bdfeedea209902b5037a488717c827fbdefac547f55dd960eb", "signature": "public nint Trailing", "summary": "muted text at the right edge, e.g. a time or a count (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeLoaderOpts", "displayName": "NativeLoaderOpts", "kind": "struct", "summary": "cui_loader_opts (16 bytes)", "members": [{ "name": "Style", "kind": "field", "id": "field|Style|0|0|LoaderStyle|||h8b8796b8c95829a2fdf2777456dde7dd852dc38a8878ac87018bf5c5c966e0ab", "signature": "public LoaderStyle Style", "summary": "cui_loader_style (offset 4)" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 12)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeLogBuffer", "displayName": "NativeLogBuffer", "kind": "struct", "summary": "cui_log_buffer (80 bytes)", "members": [{ "name": "LevelCount", "kind": "field", "id": "field|LevelCount|0|0|\u003CLevelCount\u003Ee__FixedBuffer|||hb9f2536b5076dd096a086ac13ad19a17ca985eb148aedbfcac598514aebe07ed", "signature": "public \u003CLevelCount\u003Ee__FixedBuffer LevelCount", "summary": "lines of each level now in the buffer, indexed by \u0060cui_log_level\u0060 (offset 56)" }, { "name": "Now", "kind": "field", "id": "field|Now|0|0|double|||h13ccabef32acd0f50b2dff6afb988be4f60354595d58273f3c8e672e980e731c", "signature": "public double Now", "summary": "timestamp given to the next appended line (seconds) (offset 0)" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "ring of lines: oldest record and how many (offset 40)" }, { "name": "First", "kind": "field", "id": "field|First|0|0|int|||hddb39d158b15c0e54cb1ea0a7e52a0d84393cbbb9cb6d04a44db44d9fd9a4c88", "signature": "public int First", "summary": "ring of lines: oldest record and how many (offset 36)" }, { "name": "LineCap", "kind": "field", "id": "field|LineCap|0|0|int|||h05488096a6a3cd48bc7e8274702b633d8af22f79f127b19f95b8cd3d47511049", "signature": "public int LineCap", "summary": "how many records \u0060lines\u0060 has room for (offset 16)" }, { "name": "Lines", "kind": "field", "id": "field|Lines|0|0|nint|||h7ccda7c4f0b08a1147624d853801d5dcd6e8072f045b1eb489cd55ee7a31e86f", "signature": "public nint Lines", "summary": "the line records given to \u0060cui_log_init\u0060 (offset 8)" }, { "name": "Text", "kind": "field", "id": "field|Text|0|0|nint|||h66aaa42b78279f1149dcb8a32f27fc2db74dc535e86360cd658d24fb0bf042d8", "signature": "public nint Text", "summary": "the bytes given to \u0060cui_log_init\u0060, holding the text of the lines (offset 24)" }, { "name": "TextCap", "kind": "field", "id": "field|TextCap|0|0|uint|||hd920abfd46ff0525abf61849dfa336ab731063d31b2036e2377f1fe031b06d48", "signature": "public uint TextCap", "summary": "size of \u0060text\u0060 in bytes (offset 32)" }, { "name": "TextEnd", "kind": "field", "id": "field|TextEnd|0|0|uint|||he42a169dbf5a8a807e7f4542fd203f842677e5fa4631092117ab7735733cd9f3", "signature": "public uint TextEnd", "summary": "where the next line\u0027s text goes (offset 44)" }, { "name": "Total", "kind": "field", "id": "field|Total|0|0|ulong|||hc70e2cd9e719427562e8e197773d80368e777c17f84a89cd743f7c844d1b1ab7", "signature": "public ulong Total", "summary": "lines ever appended; line i of the buffer is number total - count \u002B i (offset 48)" }] }, + { "name": "CuiSharp.Interop.NativeLogLine", "displayName": "NativeLogLine", "kind": "struct", "summary": "cui_log_line (24 bytes)", "members": [{ "name": "Level", "kind": "field", "id": "field|Level|0|0|byte|||hf95527e917db045b4141feff514aa39480a59a94561f62de0df5d44c3b0694a9", "signature": "public byte Level", "summary": "a \u0060cui_log_level\u0060 (offset 16)" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|double|||hf6eb8bfefd7957f87b5ed2738bc9a721b9ff45c732f53108d799ad2931a6b170", "signature": "public double Time", "summary": "the timestamp it was appended with, in seconds (offset 8)" }, { "name": "Len", "kind": "field", "id": "field|Len|0|0|uint|||h9a7aa5477bab3013c524af61a8579b6327603d131ea638cadc7b4f4863a23b7e", "signature": "public uint Len", "summary": "bytes of text, not counting the terminator (offset 4)" }, { "name": "Offset", "kind": "field", "id": "field|Offset|0|0|uint|||h05a920517fe4fac075579a468ffc003bcb5361b495613ee0c64c3c8b144de92f", "signature": "public uint Offset", "summary": "where the line\u0027s text starts in the buffer\u0027s \u0060text\u0060 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeLogViewOpts", "displayName": "NativeLogViewOpts", "kind": "struct", "summary": "cui_log_view_opts (24 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 4)" }, { "name": "NoToolbar", "kind": "field", "id": "field|NoToolbar|0|0|byte|||h1230557801560ff86cbce3521dab7087f74f25026715f9de53fdbb79ff28a7c9", "signature": "public byte NoToolbar", "summary": "just the lines (offset 17)" }, { "name": "Timestamps", "kind": "field", "id": "field|Timestamps|0|0|byte|||h36801862dd647364e2ad3ca788b1cd4bda21b1485c80f4306a01bbd0226317b3", "signature": "public byte Timestamps", "summary": "show each line\u0027s time as HH:MM:SS.mmm (offset 16)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320; negative fills the space (offset 12)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 12 (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeMarkdownOpts", "displayName": "NativeMarkdownOpts", "kind": "struct", "summary": "Markdown view: renders your markdown text (UTF-8) as native content, every frame, without keeping a copy: (32 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "body text color, default foreground; links then take it too, underlined (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 4)" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|byte|||h82ad4978e776988891fb40f0e87ef125edf87783174f60001d6260930e049142", "signature": "public byte Compact", "summary": "smaller headings and tighter spacing, for chat bubbles (offset 29)" }, { "name": "FitContent", "kind": "field", "id": "field|FitContent|0|0|byte|||hd833955cf77dd532892ad945100386f79a4d8ce76ba14aeb886ecd97b76ef2d7", "signature": "public byte FitContent", "summary": "as wide as the content needs, up to the space there is (chat bubbles) (offset 12)" }, { "name": "Streaming", "kind": "field", "id": "field|Streaming|0|0|byte|||h94d7749b5b6b7ed4c8baf923750c1160f41642ed783fd6e9b779d713c182449c", "signature": "public byte Streaming", "summary": "text is still arriving (offset 28)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "body text size, default theme text_body (offset 20)" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|int|||hef2503a1d0b9fb909698fa12c327675bda30f8b40b00e879e548d3e8332f864d", "signature": "public int Length", "summary": "bytes of text to show, default strlen (text then need not end in a NUL) (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeMarkdownResult", "displayName": "NativeMarkdownResult", "kind": "struct", "summary": "cui_markdown_result (32 bytes)", "members": [{ "name": "TaskChecked", "kind": "field", "id": "field|TaskChecked|0|0|byte|||hf0875ed6603334ae3665923405ccd39a76ec21b6e40e461b5bca6214ddf56558", "signature": "public byte TaskChecked", "summary": "the state the box was toggled to (offset 24)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "height of the view in the latest layout (offset 28)" }, { "name": "TaskLine", "kind": "field", "id": "field|TaskLine|0|0|int|||h7e3bf329b030f664448bfbcf31830d3f925a03fd004a165b8de0edc39fbbae69", "signature": "public int TaskLine", "summary": "that item\u0027s 1 based line in text, 0 when none (offset 20)" }, { "name": "TaskOffset", "kind": "field", "id": "field|TaskOffset|0|0|int|||hc553ca4fe536319901025ae7db24cfa0ee4ba0e9ba7365622cd500b903057157", "signature": "public int TaskOffset", "summary": "a task box was toggled: byte offset in text of the character between its brackets, else -1 (offset 16)" }, { "name": "HoveredLink", "kind": "field", "id": "field|HoveredLink|0|0|nint|||h9f215ddbc0563e1555c871ecfb0f1b9c45710baa3e8e0d4eeec2adb5d91da446", "signature": "public nint HoveredLink", "summary": "URL of the link under the pointer, or NULL; frame memory (offset 8)" }, { "name": "Link", "kind": "field", "id": "field|Link|0|0|nint|||h11c7a389b92a8f488495b739d368b424ce324275d09211ba0db72999abec2077", "signature": "public nint Link", "summary": "URL of the link clicked (or activated with Enter) this frame, or NULL; frame memory (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeMenuBarMenuOpts", "displayName": "NativeMenuBarMenuOpts", "kind": "struct", "summary": "One menu of the bar. Returns true while its items should be built; call cui_menu_bar_menu_end only then. (16 bytes)", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Mnemonic", "kind": "field", "id": "field|Mnemonic|0|0|sbyte|||hacfbb11e49ff4749382abc40b19888f44cb46198f0c8b86ad384e244793a71f1", "signature": "public sbyte Mnemonic", "summary": "letter that opens the menu with Alt; 0 uses the first letter or digit of the label (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeMenuBarOpts", "displayName": "NativeMenuBarOpts", "kind": "struct", "summary": "Menu bar: File / Edit / View along the top of a window. Each menu holds the usual menu items (cui_menu_item, cui_menu_separator, cui_menu_label). Once a menu is open, hovering another one switches to it. Alt (on its own) or F10 focuses the bar; arrows move between menus and items, Enter chooses, Esc steps back. Alt \u002B a menu\u0027s mnemonic letter opens it (the first letter of its label unless \u0060mnemonic\u0060 says otherwise). (8 bytes)", "members": [{ "name": "NoBorder", "kind": "field", "id": "field|NoBorder|0|0|byte|||h52a658d9e90fb592c2d5b234fe36d916b01f85259ebf498345a83768a1f7a51c", "signature": "public byte NoBorder", "summary": "_Bool (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeMenuItemOpts", "displayName": "NativeMenuItemOpts", "kind": "struct", "summary": "cui_menu_item_opts (32 bytes)", "members": [{ "name": "Checked", "kind": "field", "id": "field|Checked|0|0|byte|||h852416cb837bd61a1c2e9ba41640bcbc437b0ded420ee3cdb739d113b4999fbf", "signature": "public byte Checked", "summary": "a check mark at the right edge of the item (offset 26)" }, { "name": "Danger", "kind": "field", "id": "field|Danger|0|0|byte|||h267e3fb92ea691636e4453551bbe9f0ed26a3256b90ce44ac68d4cee9aedb9cf", "signature": "public byte Danger", "summary": "_Bool (offset 24)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 25)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|nint|||hc6bbf869e5f430ce1cb0bb80bcc43a44ef490242700d9eccaf018d9378a8f2dd", "signature": "public nint Shortcut", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeMenuOpts", "displayName": "NativeMenuOpts", "kind": "struct", "summary": "Dropdown menu: a button that opens a menu. Items return true when chosen. (32 bytes)", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "cui_button_variant (offset 16)" }, { "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement (offset 20)" }, { "name": "IconOnly", "kind": "field", "id": "field|IconOnly|0|0|byte|||he1deea30e2ceaedc2963bbb3123c80ddfc8b08dd35ad10f892a4ecb904044965", "signature": "public byte IconOnly", "summary": "an icon button (the ellipsis unless \u0060icon\u0060 is set) with the label as its tooltip (offset 28)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeMetricOpts", "displayName": "NativeMetricOpts", "kind": "struct", "summary": "cui_metric_opts (56 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 40)" }, { "name": "LowerIsBetter", "kind": "field", "id": "field|LowerIsBetter|0|0|byte|||h743d2a9c1093c218bb42059b076daaa618f28986ebe939486af96526f07e502f", "signature": "public byte LowerIsBetter", "summary": "build times, errors, latency: a fall is good news, shown in green (offset 48)" }, { "name": "Delta", "kind": "field", "id": "field|Delta|0|0|float|||h1e522b23e3d342dfeec52a69a0ca4f14b756c85114da059add23d2c403cf19e0", "signature": "public float Delta", "summary": "change shown beside the value with a trend arrow, as a percentage (4.2 shows \u002B4.2%); 0 hides it (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "SparkCount", "kind": "field", "id": "field|SparkCount|0|0|int|||h895121b299e285d6b1d302c2bff5ec07be89819c880689d83bebd06b75ebb4c1", "signature": "public int SparkCount", "summary": "number of values in \u0060spark\u0060 (offset 24)" }, { "name": "DeltaLabel", "kind": "field", "id": "field|DeltaLabel|0|0|nint|||h6447430bbdaca3f36b40c20178fb09842c99730079a7fcec70629ead28c4aa11", "signature": "public nint DeltaLabel", "summary": "text shown instead of the percentage, e.g. \u0022\u002B12 this week\u0022; \u0060delta\u0060 still sets arrow and color (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 32)" }, { "name": "Spark", "kind": "field", "id": "field|Spark|0|0|nint|||he053984bb6ed431becb468caa2a20c9abd6d514395244af40a85b936ac6f868b", "signature": "public nint Spark", "summary": "values for a sparkline under the value; needs at least 2 (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeModel", "displayName": "NativeModel", "kind": "struct", "summary": "Model picker: the current model on a button; a list with details opens. (32 bytes)", "members": [{ "name": "Badge", "kind": "field", "id": "field|Badge|0|0|nint|||hde22c04ea21d8219db7a1a082d573f3b836e72a11c561a5bcf979fe76b33f2fc", "signature": "public nint Badge", "summary": "small accent badge after the name, e.g. \u0022New\u0022; \u0060NULL\u0060 for none (offset 16)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "smaller muted line under the name in the list, e.g. what the model is good at (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "shown on the button and as the row\u0027s heading in the list (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeModelPickerOpts", "displayName": "NativeModelPickerOpts", "kind": "struct", "summary": "cui_model_picker_opts (12 bytes)", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement (offset 8)" }, { "name": "Ghost", "kind": "field", "id": "field|Ghost|0|0|byte|||ha10cb00a2e622123f706d80284543ec7c9d2a1cca5c204e36f501b0d31d12795", "signature": "public byte Ghost", "summary": "no border or fill on the button until hovered, for use inside another control (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeMoneyOpts", "displayName": "NativeMoneyOpts", "kind": "struct", "summary": "Money field: shows the amount with thousands separators, edits as plain digits, keeps a fixed number of decimals. (56 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 36)" }, { "name": "Decimals", "kind": "field", "id": "field|Decimals|0|0|int|||h1b738cb70bf917879f304fb58ce030898c555b54b73eb0e896589e3d0ec3d3b3", "signature": "public int Decimals", "summary": "int (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Code", "kind": "field", "id": "field|Code|0|0|nint|||h7427649b43b2e49212bf9bfd21a645a61eae4c3514f35066412bf8a3ddeb4484", "signature": "public nint Code", "summary": "currency code after the amount, e.g. \u0022USD\u0022 (offset 24)" }, { "name": "Hint", "kind": "field", "id": "field|Hint|0|0|nint|||hc04a330155ea240694e4f00b47172663ef8f8e8c7171babe8307883ebbeeee6c", "signature": "public nint Hint", "summary": "helper text below the field (offset 48)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Symbol", "kind": "field", "id": "field|Symbol|0|0|nint|||h11d40d2ab2da6a0a026342a75fbcbc823bb86773558816092e14d9469f4764b6", "signature": "public nint Symbol", "summary": "currency symbol before the amount, default \u0022$\u0022 (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeMonthEvent", "displayName": "NativeMonthEvent", "kind": "struct", "summary": "Month calendar: a month grid with events. All-day and multi-day events are bars across the days they cover; timed events are a dot, a time and a title. A day with more than fits says \u0022\u002BN more\u0022 and opens a list of them. On a narrow screen the cells show colored dots and the selected day\u0027s events are listed under the grid. (48 bytes)", "members": [{ "name": "End", "kind": "field", "id": "field|End|0|0|NativeDate|||h1b179b5108e9ed3f0347d54b4ef6fe1e441917c22d27a016c4c8a9bbbe6ad0c7", "signature": "public NativeDate End", "summary": "inclusive; an unset or earlier end means one day (offset 20)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|NativeDate|||h7d67c190de1c0e1c80bdadfcd317cbed9d2a9499e545b7e9029faa0256d97a3b", "signature": "public NativeDate Start", "summary": "inclusive; an unset or earlier end means one day (offset 8)" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 40)" }, { "name": "AllDay", "kind": "field", "id": "field|AllDay|0|0|byte|||h8751716523a698ec0010c45c2c581dd995ca6c8164cfd0a75571490812d408b0", "signature": "public byte AllDay", "summary": "a bar, like every event that spans days (offset 36)" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|float|||h15580e530959593ba26e1516c12ce319fbad5d5b9d84fe7810a722131f57f895", "signature": "public float Time", "summary": "hour of a timed event (9.5 is 9:30); ignored when all_day (offset 32)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "shown on the event\u0027s bar, or after the time of a timed event (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeMonthOpts", "displayName": "NativeMonthOpts", "kind": "struct", "summary": "cui_month_opts (56 bytes)", "members": [{ "name": "Today", "kind": "field", "id": "field|Today|0|0|NativeDate|||ha25c39f8fb3be0874377b2ec3b63aa40a5e4889b42d67de2f6e0e3417fd1dd73", "signature": "public NativeDate Today", "summary": "overrides the system date when set (another time zone, tests) (offset 44)" }, { "name": "Hour12", "kind": "field", "id": "field|Hour12|0|0|byte|||h99a94bb620f00e28490de41330ebff3307255f9f668faf617b0de61b003f6c63", "signature": "public byte Hour12", "summary": "9:30a rather than 9:30 (offset 40)" }, { "name": "CellHeight", "kind": "field", "id": "field|CellHeight|0|0|float|||hf4309f4d2441e17367cb19c170e3dc8474ed98149a30e30cb2e5983a5f6da8b8", "signature": "public float CellHeight", "summary": "default 104, 44 on a phone (offset 20)" }, { "name": "FirstWeekday", "kind": "field", "id": "field|FirstWeekday|0|0|int|||h3ef476bd8d4650cc173a18a8ce98dacca1ff9beff34ac40ecbbf945c23df4199", "signature": "public int FirstWeekday", "summary": "0 Monday (default) .. 6 Sunday (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "DayNames", "kind": "field", "id": "field|DayNames|0|0|nint|||hc96cb34eafe2dffbda2bfaf7419c3f81d942370b1cb428e5cd0d94c7baea0633", "signature": "public nint DayNames", "summary": "7 short names, Monday first (offset 32)" }, { "name": "MonthNames", "kind": "field", "id": "field|MonthNames|0|0|nint|||h2519c3a45d98bb15216a1309f655438c464604614945e045cd7f68a271df7e2d", "signature": "public nint MonthNames", "summary": "12 names for another language, January first (offset 24)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "the selected day: yours to read and set (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeMonthResult", "displayName": "NativeMonthResult", "kind": "struct", "summary": "cui_month_result (8 bytes)", "members": [{ "name": "DayActivated", "kind": "field", "id": "field|DayActivated|0|0|byte|||h91c24650c9fc208ccae7c802e88fd187c22eb31ebc6be6dd6a9d8e8049e49517", "signature": "public byte DayActivated", "summary": "double-clicked or Enter: add an event there (offset 5)" }, { "name": "DayClicked", "kind": "field", "id": "field|DayClicked|0|0|byte|||h9096a8bb960a3406bcc329603b9bda9057de2c4217a569d2c1f4af1fd0caf775", "signature": "public byte DayClicked", "summary": "a day was clicked or moved to with the keys (see selected) (offset 4)" }, { "name": "MonthChanged", "kind": "field", "id": "field|MonthChanged|0|0|byte|||hdcdf60a6ed1204b650ffd46bdc57ec325d4d2f410f6cbe5a1316a7aed5f88413", "signature": "public byte MonthChanged", "summary": "the arrows, Today or the keys changed *month (offset 6)" }, { "name": "Event", "kind": "field", "id": "field|Event|0|0|int|||hf874e9890201f2fa587b91d9d374afbc1ab3d09f700c4a38f45f91cafea69f11", "signature": "public int Event", "summary": "clicked event, or -1 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeMultiSelectOpts", "displayName": "NativeMultiSelectOpts", "kind": "struct", "summary": "Multi-select: a field with chips for the chosen items and a list with checkboxes (and search). selected[i] is true for chosen items. (48 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 40)" }, { "name": "Searchable", "kind": "field", "id": "field|Searchable|0|0|byte|||h74eb146edff067d6dfbf0156d1d638c9b7b006827c54b1057268bda0d4898396", "signature": "public byte Searchable", "summary": "a search field at the top of the list that filters the items as you type (offset 32)" }, { "name": "MaxChips", "kind": "field", "id": "field|MaxChips|0|0|int|||h5a257dc5993646fab646b8979966626c37e6b96141761792a36818501629ad17", "signature": "public int MaxChips", "summary": "chips before \u0022\u002BN\u0022, default 3 (offset 36)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|nint|||h9dcb1e799c22cfc28d5f3330f8ad5d309473e6a32f68ce7efd7068c42c7988da", "signature": "public nint Icons", "summary": "const char *const * (offset 24)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeNavOpts", "displayName": "NativeNavOpts", "kind": "struct", "summary": "Sidebar navigation item with a gliding selection highlight shared by all items in the same group. (40 bytes)", "members": [{ "name": "Selected", "kind": "field", "id": "field|Selected|0|0|byte|||h48f54c1c7f1477a898313a8a1128d8456b17a09db15f6c9d1b8c0f9629b7fdf5", "signature": "public byte Selected", "summary": "the current page: medium weight text, and the group\u0027s highlight glides to it (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|nint|||hde22c04ea21d8219db7a1a082d573f3b836e72a11c561a5bcf979fe76b33f2fc", "signature": "public nint Badge", "summary": "small text at the right edge of the item, e.g. a count (offset 16)" }, { "name": "Group", "kind": "field", "id": "field|Group|0|0|nint|||h963fd0b49f7656c682c074d70591163973d0610c086f5a99ce956e9c99ca536f", "signature": "public nint Group", "summary": "items with the same group name share one highlight; \u0060NULL\u0060 puts them in one common group (offset 32)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeNetRequest", "displayName": "NativeNetRequest", "kind": "struct", "summary": "HTTP requests as a table with a timing bar each: queued, DNS, connect, TLS, waiting for the first byte and downloading, on one time scale with the page\u0027s DOMContentLoaded and load lines. Hover a bar for the breakdown. Narrow panels drop the type and size columns. Only the rows in view are built. Up and Down move the selection. (72 bytes)", "members": [{ "name": "Timing", "kind": "field", "id": "field|Timing|0|0|\u003CTiming\u003Ee__FixedBuffer|||h4f09ea509efbbeb644d46cd6978bb990ce33740ff5eed70ee59ddaff5ad008ec", "signature": "public \u003CTiming\u003Ee__FixedBuffer Timing", "summary": "seconds: queued, dns, connect, tls, waiting, download (offset 48)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|double|||h7b5849893687f979193405168798960c297b79687570ed452c529a187133d42f", "signature": "public double Size", "summary": "bytes transferred (offset 32)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "seconds from the start of the page (offset 40)" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|int|||hcc92df3b247bff320f1b619f5ff854b64fdb1ce369fb4396a12c2d29bb6a04d8", "signature": "public int Status", "summary": "0 while pending or when it failed (offset 16)" }, { "name": "Method", "kind": "field", "id": "field|Method|0|0|nint|||h123da31d283a687cfb3fc23d6dc7a6d0bf14af9e0cd472e209f6019e3b48bd09", "signature": "public nint Method", "summary": "\u0022GET\u0022 (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "path or URL; the last part is shown (offset 0)" }, { "name": "Type", "kind": "field", "id": "field|Type|0|0|nint|||h08ef46c97f44246852387cb0db61193354036168da9659fe690b19c9be180ecd", "signature": "public nint Type", "summary": "\u0022fetch\u0022, \u0022script\u0022, \u0022image\u0022... (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeNodeEditorOpts", "displayName": "NativeNodeEditorOpts", "kind": "struct", "summary": "cui_node_editor_opts (32 bytes)", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "default: fill the width, 440 tall (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default: fill the width, 440 tall (offset 4)" }, { "name": "Minimap", "kind": "field", "id": "field|Minimap|0|0|byte|||h847e9339276a95438b4954fd2ae7292a7f2cbad91327a2d1b08131fc590f34f3", "signature": "public byte Minimap", "summary": "an overview of the graph in the bottom right corner; click it to move there (offset 29)" }, { "name": "NoGrid", "kind": "field", "id": "field|NoGrid|0|0|byte|||h026f953f32349519b56ea40bf2b85e0b94dcd1027cc2c5b4a4388f7196a50566", "signature": "public byte NoGrid", "summary": "_Bool (offset 28)" }, { "name": "MaxZoom", "kind": "field", "id": "field|MaxZoom|0|0|float|||hce7b521ad509796f5171145038456d5846fb43275f5ab2bd1dd22e941b179f55", "signature": "public float MaxZoom", "summary": "default 0.25 .. 2 (offset 24)" }, { "name": "MinZoom", "kind": "field", "id": "field|MinZoom|0|0|float|||h29a9b1097fc3444e1615953dab0039e9cc2b1daf864d629ecf3057778d2512c1", "signature": "public float MinZoom", "summary": "default 0.25 .. 2 (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeNodeOpts", "displayName": "NativeNodeOpts", "kind": "struct", "summary": "A node at canvas position (*x, *y), updated while it is dragged. Returns true while the node is selected. (16 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "width default 184 (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "width default 184 (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "width default 184 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeNodeView", "displayName": "NativeNodeView", "kind": "struct", "summary": "Node editor: nodes with input and output pins on a canvas that pans and zooms, joined by curved links. You own the nodes, pins and links; the editor moves the node positions you pass and reports what the user did: (12 bytes)", "members": [{ "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "where the canvas origin sits, in points from the editor\u0027s left edge; panning changes it (offset 0)" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "where the canvas origin sits, in points from the editor\u0027s top edge (offset 4)" }, { "name": "Zoom", "kind": "field", "id": "field|Zoom|0|0|float|||h15d1ab2e6f15237e95efde0c028fdb5a985bc69724f9d1c2dfbc7d04a92a3d84", "signature": "public float Zoom", "summary": "scale of the canvas; 0 means 1. Kept between \u0060min_zoom\u0060 and \u0060max_zoom\u0060 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeNowPlaying", "displayName": "NativeNowPlaying", "kind": "struct", "summary": "Now playing card: artwork, title, artist, a scrubber and transport buttons. (40 bytes)", "members": [{ "name": "ArtColor", "kind": "field", "id": "field|ArtColor|0|0|NativeColor|||h352188e9ae8bb04bc66c65f9d72ef1f7d0c715f17a6c2f1762f16c4dc5a22779", "signature": "public NativeColor ArtColor", "summary": "color of the tile behind (or in place of) the artwork (offset 24)" }, { "name": "Playing", "kind": "field", "id": "field|Playing|0|0|byte|||he58ec49fe5fe3b98881f6fdbfe30b7ddb8a3aee5fbe73f58d9ff3d7ab6d4d484", "signature": "public byte Playing", "summary": "shows pause instead of play; the play button flips it (offset 36)" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "length of the track in seconds (offset 32)" }, { "name": "Position", "kind": "field", "id": "field|Position|0|0|float|||hd7fd432a49838186bd7a06ec98a4843ede3007d3a1803ab3581dabd884c9c313", "signature": "public float Position", "summary": "seconds played; written when the user seeks (offset 28)" }, { "name": "Artist", "kind": "field", "id": "field|Artist|0|0|nint|||he59bb20b10e5b5d8ea31aec4cfcaef621ca667fcdb52e496e8066b4339509d45", "signature": "public nint Artist", "summary": "shown under the title (offset 8)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "name of the track, in medium weight (offset 0)" }, { "name": "Art", "kind": "field", "id": "field|Art|0|0|nuint|||h1a6b68368ef145c59e5b9891870c67cad162629e59e3fe5de80d9897c0af9b51", "signature": "public nuint Art", "summary": "artwork texture; 0 shows a tile in \u0060art_color\u0060 with a note icon (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeNowPlayingOpts", "displayName": "NativeNowPlayingOpts", "kind": "struct", "summary": "cui_now_playing_opts (16 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|byte|||h82ad4978e776988891fb40f0e87ef125edf87783174f60001d6260930e049142", "signature": "public byte Compact", "summary": "smaller artwork and padding, and no previous button (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeNumberOpts", "displayName": "NativeNumberOpts", "kind": "struct", "summary": "cui_number_opts (48 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 32)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 28)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|double|||h44b63c009d1e13f96b6beedec59bbb32a22e099dcdc403d6954e0407657f670a", "signature": "public double Step", "summary": "double (offset 16)" }, { "name": "Decimals", "kind": "field", "id": "field|Decimals|0|0|int|||h1b738cb70bf917879f304fb58ce030898c555b54b73eb0e896589e3d0ec3d3b3", "signature": "public int Decimals", "summary": "int (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|nint|||hf74991389a50a9d4f62042eaba5519ce0c8537c405e4fb6215db1322dfac00e9", "signature": "public nint Suffix", "summary": "muted text after the value, before the - and \u002B buttons, e.g. \u0022kg\u0022 (offset 40)" }] }, + { "name": "CuiSharp.Interop.NativePathBarOpts", "displayName": "NativePathBarOpts", "kind": "struct", "summary": "Path bar: a breadcrumb for file and scene paths. Segments are clickable, the last one is the current place. Middle segments that do not fit collapse into a \u0022...\u0022 menu. With .menus, the chevron after segment k opens a menu you fill with the children of segment k (cui_path_bar_menu_begin). Click the empty part (or the current segment), or press Ctrl\u002BL, to type a path: Enter submits it, Esc or clicking away cancels. (48 bytes)", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 32)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 36)" }, { "name": "Menus", "kind": "field", "id": "field|Menus|0|0|byte|||hfce09a2273f9e5959eeec0f9b791dfbe55c631d67f0f6007ceb096b5ef67f9e9", "signature": "public byte Menus", "summary": "separators open a menu of the next segment\u0027s siblings (offset 44)" }, { "name": "NoEdit", "kind": "field", "id": "field|NoEdit|0|0|byte|||h4ddb78a9b807eee3628959ae9d3d2fd89fb75146a70af1561aae0012d2f4b96f", "signature": "public byte NoEdit", "summary": "no text mode (offset 45)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "before the first segment (offset 8)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 24)" }, { "name": "Text", "kind": "field", "id": "field|Text|0|0|nint|||h66aaa42b78279f1149dcb8a32f27fc2db74dc535e86360cd658d24fb0bf042d8", "signature": "public nint Text", "summary": "what editing starts with, default the segments joined by \u0022/\u0022 (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativePathBarResult", "displayName": "NativePathBarResult", "kind": "struct", "summary": "cui_path_bar_result (24 bytes)", "members": [{ "name": "Editing", "kind": "field", "id": "field|Editing|0|0|byte|||h9cd1f1314af8dd72c11a5d0b5d363747fcde01f6b3b4987312829b3913cd8ae7", "signature": "public byte Editing", "summary": "the bar is showing its text field for typing a path (offset 16)" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "segment clicked (here or in the \u0022...\u0022 menu), else -1 (offset 0)" }, { "name": "Submitted", "kind": "field", "id": "field|Submitted|0|0|nint|||h4daa02cbbb687b2825702867fdde5bbf14031d18cbb63e9e4fcc3542a2b46982", "signature": "public nint Submitted", "summary": "the typed path after Enter, else NULL; valid this frame (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativePinOpts", "displayName": "NativePinOpts", "kind": "struct", "summary": "A row with a pin on the left (input) or right (output). type picks the pin color from the series palette and limits links to pins of the same type (0 connects to anything). Returns true when the pin has a link. (8 bytes)", "members": [{ "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Type", "kind": "field", "id": "field|Type|0|0|int|||h291cfcf7e8be08751051d80452d4ba9737270b48802d5b353cb8f86b5c8d4c2a", "signature": "public int Type", "summary": "0 links to any pin; another number links only to pins of that type and picks their color (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativePipelineJob", "displayName": "NativePipelineJob", "kind": "struct", "summary": "cui_pipeline_job (24 bytes)", "members": [{ "name": "Status", "kind": "field", "id": "field|Status|0|0|JobStatus|||h8dbfd9370caabecd55d2b859321b59d6a4ee052ab7364783aff88cbd0eff2901", "signature": "public JobStatus Status", "summary": "cui_job_status (offset 12)" }, { "name": "AllowFailure", "kind": "field", "id": "field|AllowFailure|0|0|byte|||h57c27f394392363e5ce198d28bdc1495239dcce5378e6f2cadb65cd234fa5280", "signature": "public byte AllowFailure", "summary": "a failure does not fail the stage (offset 20)" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "seconds; negative when it has not run (offset 16)" }, { "name": "Stage", "kind": "field", "id": "field|Stage|0|0|int|||h6fc576c7f16ed80d38f61828b33d23fb8c2ef709dfff4121d292da2de39e7868", "signature": "public int Stage", "summary": "index into the stage names (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "shown on the job\u0027s row and in its tooltip (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativePipelineOpts", "displayName": "NativePipelineOpts", "kind": "struct", "summary": "cui_pipeline_opts (24 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "job shown selected, set on a click (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "job shown selected, set on a click (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "job shown selected, set on a click (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativePipelineResult", "displayName": "NativePipelineResult", "kind": "struct", "summary": "cui_pipeline_result (8 bytes)", "members": [{ "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "job clicked this frame (or chosen with Enter or Space), or -1 (offset 0)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "job under the pointer, or -1 (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativePlanStep", "displayName": "NativePlanStep", "kind": "struct", "summary": "Agent plan: steps with their status on a connected rail, and progress. (24 bytes)", "members": [{ "name": "Status", "kind": "field", "id": "field|Status|0|0|CuiTaskStatus|||hc70e5654f5e0b77ce9da45f798c273c2ac66019dc100160d6f02b89ccf377bba", "signature": "public CuiTaskStatus Status", "summary": "cui_task_status (offset 16)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "smaller muted line under the title (red when the step failed); may be \u0060NULL\u0060 (offset 8)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "the step\u0027s text; shimmers while the step is running (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativePlatformIface", "displayName": "NativePlatformIface", "kind": "struct", "summary": "Platform services. The built-in backends set these. (48 bytes)", "members": [{ "name": "DrawEmoji", "kind": "field", "id": "field|DrawEmoji|0|0|nint|||ha007e832e7a875694aca1e9339d52e0e40e66ca966c69e8166069d40e16986fb", "signature": "public nint DrawEmoji", "summary": "Optional: draws one emoji (UTF-8) into a px by px RGBA buffer (straight alpha), for when no emoji font is loaded; the browser build uses the browser\u0027s emoji. (offset 40)" }, { "name": "GetClipboard", "kind": "field", "id": "field|GetClipboard|0|0|nint|||h9a9190f3e6b6b5c6d0cf55146b73ded113e6a38cca967b429c055648776b5ea4", "signature": "public nint GetClipboard", "summary": "returned string stays valid until next call (offset 16)" }, { "name": "SetClipboard", "kind": "field", "id": "field|SetClipboard|0|0|nint|||hbbfbbd36a4826cc8a71409977e795f45ff9dc93c83f28304cf89488f2cbbff5e", "signature": "public nint SetClipboard", "summary": "void (*)(void *, const char *) (offset 8)" }, { "name": "SetCursor", "kind": "field", "id": "field|SetCursor|0|0|nint|||he1e9b99feebed3486f20ea19b4e8390e04b586ddc2f91b87c5d32f19a0383572", "signature": "public nint SetCursor", "summary": "void (*)(void *, cui_cursor) (offset 24)" }, { "name": "SetTextInputRect", "kind": "field", "id": "field|SetTextInputRect|0|0|nint|||h2ff757d709ab7da74f78fcdc47702a9dcb9b51cc0252b56ba41df20a87d93643", "signature": "public nint SetTextInputRect", "summary": "IME candidate window position (offset 32)" }, { "name": "User", "kind": "field", "id": "field|User|0|0|nint|||hbb8b86031509e9566eb92455c659fd89532fcd8a35724b86f43a45f38dc8e34f", "signature": "public nint User", "summary": "void * (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativePopoverOpts", "displayName": "NativePopoverOpts", "kind": "struct", "summary": "Popover anchored to the previous component. Toggle it with cui_popover_toggle / cui_popover_open. (20 bytes)", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement (offset 4)" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float (offset 16)" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativePresenceUser", "displayName": "NativePresenceUser", "kind": "struct", "summary": "Presence: who is here now. Overlapping avatars with a colored ring each, that spread out on hover and name themselves. (32 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 8)" }, { "name": "Idle", "kind": "field", "id": "field|Idle|0|0|byte|||h1ef96cd97047669694287cf7836fe9005bdfdc75f578cc63c3879ec0d9f7f364", "signature": "public byte Idle", "summary": "away: the avatar dims, its ring turns gray and the tooltip adds \u0022(away)\u0022 (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "shown in the tooltip, and as initials when there is no avatar (offset 0)" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|nuint|||hd836d3050349dc9e230d8ba691c657178a9fd72c10b4dc2ffe3eba6966257126", "signature": "public nuint Avatar", "summary": "picture to show instead of the initials (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeProblemsOpts", "displayName": "NativeProblemsOpts", "kind": "struct", "summary": "cui_problems_opts (20 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoToolbar", "kind": "field", "id": "field|NoToolbar|0|0|byte|||h1230557801560ff86cbce3521dab7087f74f25026715f9de53fdbb79ff28a7c9", "signature": "public byte NoToolbar", "summary": "hides the severity toggles and the filter field above the list (offset 16)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeProblemsResult", "displayName": "NativeProblemsResult", "kind": "struct", "summary": "cui_problems_result (12 bytes)", "members": [{ "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "diagnostic opened this frame (Enter, double-click), or -1 (offset 4)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "diagnostic selected, or -1 (offset 0)" }, { "name": "Shown", "kind": "field", "id": "field|Shown|0|0|int|||hb58805b7e5564373001000b59ffc5a328243e1da90b1bf69d07d8ff266b1d72f", "signature": "public int Shown", "summary": "diagnostics that pass the filters (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeProgressOpts", "displayName": "NativeProgressOpts", "kind": "struct", "summary": "cui_progress_opts (40 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 28)" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 8)" }, { "name": "Indeterminate", "kind": "field", "id": "field|Indeterminate|0|0|byte|||hfedb6a86910124c963d29f1734bebdd306e24edb2eb5d92514b1fc88f2d3b8a7", "signature": "public byte Indeterminate", "summary": "_Bool (offset 4)" }, { "name": "ShowValue", "kind": "field", "id": "field|ShowValue|0|0|byte|||hb6f28ed830dc1357a9e6ae1ac2207fd475f7cd4adf20dc1c2cc2e9ae662df3db", "signature": "public byte ShowValue", "summary": "_Bool (offset 24)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativePromptSuggestion", "displayName": "NativePromptSuggestion", "kind": "struct", "summary": "Prompt suggestions: cards to start a conversation with. (24 bytes)", "members": [{ "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "smaller muted text under the title; may be \u0060NULL\u0060 (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 0)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "the card\u0027s heading, in medium weight (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativePromptSuggestionsOpts", "displayName": "NativePromptSuggestionsOpts", "kind": "struct", "summary": "cui_prompt_suggestions_opts (8 bytes)", "members": [{ "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "cards per row, default 2 (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativePropOpts", "displayName": "NativePropOpts", "kind": "struct", "summary": "cui_prop_opts (56 bytes)", "members": [{ "name": "Checkbox", "kind": "field", "id": "field|Checkbox|0|0|byte|||h507b4560e3dd2226d78d8569e4e568325e5e4b07c2c5374c97aa7c28c15684eb", "signature": "public byte Checkbox", "summary": "bool rows: a checkbox instead of a switch (offset 49)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 48)" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "number and vector rows; both 0 = unbounded (offset 8)" }, { "name": "Min", "kind": "field", "id": "field|Min|0|0|float|||h81101b82558caea906d5838961d5313f13c99e7d68f18285b0cf84040f989d8a", "signature": "public float Min", "summary": "number and vector rows; both 0 = unbounded (offset 4)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "drag and arrow step, default 1/100 of the range (0.1 unbounded) (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "printf format, default from the step (\u0022%.2f\u0022 for 0.01) (offset 16)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "text rows (offset 32)" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|nint|||hf74991389a50a9d4f62042eaba5519ce0c8537c405e4fb6215db1322dfac00e9", "signature": "public nint Suffix", "summary": "unit after the value, e.g. \u0022px\u0022 or \u0022deg\u0022 (offset 24)" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|nint|||hccbc32a161449afe62353b5d908ca3da9aecdd74fe8acbce624e4004ec4575e7", "signature": "public nint Tooltip", "summary": "shown on the label (offset 40)" }] }, + { "name": "CuiSharp.Interop.NativeQueryField", "displayName": "NativeQueryField", "kind": "struct", "summary": "cui_query_field (32 bytes)", "members": [{ "name": "Type", "kind": "field", "id": "field|Type|0|0|QueryType|||hf209f50f5f23cd7bcfb0c92b4bab8a6e54deec08302998719d5a083a7aeda993", "signature": "public QueryType Type", "summary": "cui_query_type (offset 8)" }, { "name": "ChoiceCount", "kind": "field", "id": "field|ChoiceCount|0|0|int|||h02d777fe613788659bf69664a6261625545c513d9a9122df90eca79d51005bad", "signature": "public int ChoiceCount", "summary": "number of \u0060choices\u0060 (offset 24)" }, { "name": "Choices", "kind": "field", "id": "field|Choices|0|0|nint|||h9e816d3f81eb98f247eec7011f2c31635c3566049549139425e86f0a3a75de4a", "signature": "public nint Choices", "summary": "CUI_QUERY_CHOICE: the values to pick from (offset 16)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "shown in the field select and in the text \u0060cui_query_text\u0060 writes (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeQueryNode", "displayName": "NativeQueryNode", "kind": "struct", "summary": "cui_query_node (80 bytes)", "members": [{ "name": "Value", "kind": "field", "id": "field|Value|0|0|\u003CValue\u003Ee__FixedBuffer|||h3733ba739dc4b340aaa8d999619d3a45483a5245e5ca30e87e307219078ea13c", "signature": "public \u003CValue\u003Ee__FixedBuffer Value", "summary": "rule: the text, number or choice compared with (offset 16)" }, { "name": "Any", "kind": "field", "id": "field|Any|0|0|byte|||hb37e0d689a0581e7a7dcd3d5383ddb32f18177060cce4462e7b8220b195e8cfe", "signature": "public byte Any", "summary": "group: any rule (or) instead of all (and) (offset 5)" }, { "name": "Group", "kind": "field", "id": "field|Group|0|0|byte|||hd89540b6104f14ac67b204f5a13e2b5176f782170dff539a78dab46ba3e1050a", "signature": "public byte Group", "summary": "a group of the nodes after it that are one level deeper; otherwise a rule (offset 4)" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "0 for the outer group (offset 0)" }, { "name": "Field", "kind": "field", "id": "field|Field|0|0|int|||hdcf6cff1322591f3a88cb72bd2e2121e1e20ef1a7c6b74518e9e156290f19324", "signature": "public int Field", "summary": "rule: index into the fields (offset 8)" }, { "name": "Op", "kind": "field", "id": "field|Op|0|0|int|||h6505aa172e0f27a8b351e7d974812a780ea421fa10662d2e3e0f3d89db6217e1", "signature": "public int Op", "summary": "rule: see cui_query_op_name (offset 12)" }] }, + { "name": "CuiSharp.Interop.NativeQueryOpts", "displayName": "NativeQueryOpts", "kind": "struct", "summary": "cui_query_opts (20 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|byte|||h9e1431d0c26b40c6daa5a446056e13ee71a6462394b7d796b573d868c509360c", "signature": "public byte ReadOnly", "summary": "_Bool (offset 16)" }, { "name": "MaxDepth", "kind": "field", "id": "field|MaxDepth|0|0|int|||he1682a88cdc03d3743c38ec2bdc17f9131942fa953ffde04cded5fc866b9afdd", "signature": "public int MaxDepth", "summary": "how deep groups may nest, default 3 (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeRadarOpts", "displayName": "NativeRadarOpts", "kind": "struct", "summary": "Radar chart: series over shared axes (series[i].values[axis]). (32 bytes)", "members": [{ "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|byte|||h1f8a110b3f30258fe29c926542fc3ebe7571478d3c055e1b3267d8e06e0b33f4", "signature": "public byte NoLegend", "summary": "_Bool (offset 24)" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "value at the outer ring; 0 picks a round number above the largest value (offset 8)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeRadialGaugeOpts", "displayName": "NativeRadialGaugeOpts", "kind": "struct", "summary": "cui_radial_gauge_opts (64 bytes)", "members": [{ "name": "NoNeedle", "kind": "field", "id": "field|NoNeedle|0|0|byte|||h3a0cf49a66a777f2868809275c11e6bc72867c9c16a213b20f272b4e917f7661", "signature": "public byte NoNeedle", "summary": "a thick arc filled to the value instead of a needle (offset 61)" }, { "name": "ShowTarget", "kind": "field", "id": "field|ShowTarget|0|0|byte|||hd1e997b62098b8fd4e9c8ad625a9767162028f58637f36d5f72ccba41fd9263a", "signature": "public byte ShowTarget", "summary": "draws the marker at \u0060target\u0060 (offset 60)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "width, default 200; the height follows the sweep (offset 32)" }, { "name": "Sweep", "kind": "field", "id": "field|Sweep|0|0|float|||h7fb4447237bd85b4fcbb34bc83034682a6f51ce1885fdf1656d0e29fa9bde9ce", "signature": "public float Sweep", "summary": "degrees of arc, default 240 (90 to 300) (offset 36)" }, { "name": "Target", "kind": "field", "id": "field|Target|0|0|float|||hcde29887b1065a0d920ec35b586d383741d5219b2c69db75b52f3c59633bdfe2", "signature": "public float Target", "summary": "a marker on the arc, when show_target is set (offset 56)" }, { "name": "BandCount", "kind": "field", "id": "field|BandCount|0|0|int|||h8f772448f68b8cd351be66664954248f0016d89e0ec779c00a5d8db33648680f", "signature": "public int BandCount", "summary": "number of \u0060bands\u0060 (offset 48)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Ticks", "kind": "field", "id": "field|Ticks|0|0|int|||hdd7be04ef4d976cb0eb1119ce46c1e28a88d3f9b64451ac52a79686542ec0cce", "signature": "public int Ticks", "summary": "labelled divisions, default 5; -1 hides the ticks (offset 52)" }, { "name": "Bands", "kind": "field", "id": "field|Bands|0|0|nint|||hca1692338c9b5a5464abe15373150298f094bb516bfa92aec327cd952dffec08", "signature": "public nint Bands", "summary": "colored stretches of the arc, each from the one before up to its \u0060to\u0060; at most 16 (offset 40)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "the value and the tick labels, default \u0022%.0f\u0022 (offset 16)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "under the value (offset 8)" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|nint|||h708409b7ee1912ab128b9f78a22e55e9f298402bb842be865ac89fa44f207c93", "signature": "public nint Unit", "summary": "after the value, smaller (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeRadioCardsOpts", "displayName": "NativeRadioCardsOpts", "kind": "struct", "summary": "cui_radio_cards_opts (8 bytes)", "members": [{ "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "cards per row; 0 puts up to 3 choices in one row and more in 2 columns (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeReaction", "displayName": "NativeReaction", "kind": "struct", "summary": "Reactions: icon pills with counts. Clicking toggles \u0060active\u0060 and adjusts the count. Returns the index that changed, or -1. (16 bytes)", "members": [{ "name": "Active", "kind": "field", "id": "field|Active|0|0|byte|||h4ae72b901c43fd7eedd2860040d11da247d2e5fad66ff07dafa510bcc03ebec9", "signature": "public byte Active", "summary": "the user has reacted: the pill is highlighted; a click flips it (offset 12)" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "the number beside the icon; a click adds or takes away 1 (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeReadoutOpts", "displayName": "NativeReadoutOpts", "kind": "struct", "summary": "Readout: one figure as an instrument shows it. A small label, the value in the monospaced font with its unit, and a muted line of context under it. (48 bytes)", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "the value\u0027s size: CUI_SIZE_SM 17, CUI_SIZE_MD 28 (default), CUI_SIZE_LG 44 points (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fit (offset 40)" }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "default start (offset 36)" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "the value\u0027s color; 0 is the foreground (offset 28)" }, { "name": "Accent", "kind": "field", "id": "field|Accent|0|0|byte|||hac68f6d6fc1924b3c501e81202354c3a8e4d240505353e38605657c26a109f54", "signature": "public byte Accent", "summary": "the value in the accent color (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "a muted line under the value; \u0060NULL\u0060 for none (offset 16)" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|nint|||h708409b7ee1912ab128b9f78a22e55e9f298402bb842be865ac89fa44f207c93", "signature": "public nint Unit", "summary": "after the value, smaller and muted, e.g. \u0022MG\u0022 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeReasoningOpts", "displayName": "NativeReasoningOpts", "kind": "struct", "summary": "Reasoning: a model\u0027s thinking. While thinking, the header shimmers and counts the seconds; afterwards it reads \u0022Thought for 12s\u0022 and the body folds away. Click the header to open or close it. Put text inside. (24 bytes)", "members": [{ "name": "Thinking", "kind": "field", "id": "field|Thinking|0|0|byte|||h71d4b8904e3b9edda6b398c15c727ba1512efdca6affae34aed7e9a59c141fad", "signature": "public byte Thinking", "summary": "still thinking: the header shimmers and the body opens; it folds when this turns false (offset 4)" }, { "name": "Seconds", "kind": "field", "id": "field|Seconds|0|0|float|||hb2b6bfb7a4abde73c46fe03cfd0492620c03edc110332cec5c1c257b49ebec83", "signature": "public float Seconds", "summary": "time spent, for the header: \u0022Thinking for 12s\u0022, then \u0022Thought for 12s\u0022 (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "header text to show instead of the \u0022Thinking\u0022 and \u0022Thought for\u0022 lines (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeRect", "displayName": "NativeRect", "kind": "struct", "summary": "cui_rect (16 bytes)", "members": [{ "name": "H", "kind": "field", "id": "field|H|0|0|float|||h6068c1b5b26070cf40100a361438f0aaacf6f48566057f47c5c4da7088e480c3", "signature": "public float H", "summary": "float (offset 12)" }, { "name": "W", "kind": "field", "id": "field|W|0|0|float|||h1b8bbee4108258383c6ae6598eb75961df002e444297bc3c3ce7f9b77b1cc76d", "signature": "public float W", "summary": "float (offset 8)" }, { "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "float (offset 0)" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "float (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeRegexMatch", "displayName": "NativeRegexMatch", "kind": "struct", "summary": "cui_regex_match (332 bytes)", "members": [{ "name": "GroupEnd", "kind": "field", "id": "field|GroupEnd|0|0|\u003CGroupEnd\u003Ee__FixedBuffer|||h6bea8621bc7f40fd422f35dd80890c8e99e7c061f6d81e995e2508528187df83", "signature": "public \u003CGroupEnd\u003Ee__FixedBuffer GroupEnd", "summary": "1 based; -1 when a group took no part (offset 52)" }, { "name": "GroupStart", "kind": "field", "id": "field|GroupStart|0|0|\u003CGroupStart\u003Ee__FixedBuffer|||h76149322f1925add8a161ff495d4572c0289da9202590b946e24010515e21510", "signature": "public \u003CGroupStart\u003Ee__FixedBuffer GroupStart", "summary": "1 based; -1 when a group took no part (offset 12)" }, { "name": "GroupName", "kind": "field", "id": "field|GroupName|0|0|NativeRegexMatchGroupNameArray1|||hdf1956c43f3320769e7edd70c20f61fc3d749cd9591c139ef0190fe71364bdbe", "signature": "public NativeRegexMatchGroupNameArray1 GroupName", "summary": "the name of each \u0060(?\u003Cname\u003E )\u0060 group, indexed like \u0060group_start\u0060; \u0022\u0022 when unnamed (offset 92)" }, { "name": "End", "kind": "field", "id": "field|End|0|0|int|||h101ad3d5ebda13e9c347a22363390231322c8fbb64d191c3a092d362955b7964", "signature": "public int End", "summary": "bytes (offset 4)" }, { "name": "Groups", "kind": "field", "id": "field|Groups|0|0|int|||h3b074bbc1baff400280a76c2f7fa8cd3dd142e4426e982cf1aa80a5fe29e43de", "signature": "public int Groups", "summary": "capture groups in the pattern (offset 8)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|int|||ha1b0c3e4699fce964620bef0f781444da21c0b72084141f26a9e30e25bf70e5f", "signature": "public int Start", "summary": "bytes (offset 0)" }] }, { "name": "CuiSharp.Interop.NativeRegexMatchGroupNameArray1", "displayName": "NativeRegexMatchGroupNameArray1", "kind": "struct", "summary": "[10] array of NativeRegexMatchGroupNameArray2, for cui_regex_match.", "members": [] }, { "name": "CuiSharp.Interop.NativeRegexMatchGroupNameArray2", "displayName": "NativeRegexMatchGroupNameArray2", "kind": "struct", "summary": "[24] array of sbyte, for cui_regex_match.", "members": [] }, - { "name": "CuiSharp.Interop.NativeRegexTesterOpts", "displayName": "NativeRegexTesterOpts", "kind": "struct", "summary": "cui_regex_tester_opts, 24 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Flags", "kind": "field", "id": "field|Flags|0|0|nint|||h6e58cfc4918945deba61e9023338550158a8fc55afb31332fb3e93ff2e7645b2", "signature": "public nint Flags", "summary": "int * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeRegexTesterResult", "displayName": "NativeRegexTesterResult", "kind": "struct", "summary": "cui_regex_tester_result, 16 bytes.", "members": [{ "name": "Valid", "kind": "field", "id": "field|Valid|0|0|byte|||hf9c156c8e32b62eb3a0fc4a0ad98b268f5497c42836338138a0c0b95866fb11c", "signature": "public byte Valid", "summary": "_Bool (offset 0)" }, { "name": "Matches", "kind": "field", "id": "field|Matches|0|0|int|||hcedd9515c638fc304b4b46a264002d08e5bd2da7de258318812e2fb6ea94b072", "signature": "public int Matches", "summary": "int (offset 4)" }, { "name": "Error", "kind": "field", "id": "field|Error|0|0|nint|||hdd113196192125bb251ed8e4e61faa04c141796319fac033109dbf93e8d846b0", "signature": "public nint Error", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeRendererIface", "displayName": "NativeRendererIface", "kind": "struct", "summary": "cui_renderer_iface, 32 bytes.", "members": [{ "name": "TextureCreate", "kind": "field", "id": "field|TextureCreate|0|0|nint|||hd2472afc877eb2edcae79a7392156864b5971ec9d2c0bacadd3120fbf6b4bb99", "signature": "public nint TextureCreate", "summary": "cui_texture (*)(void *, int, int, cui_texture_format, const void *) (offset 8)" }, { "name": "TextureDestroy", "kind": "field", "id": "field|TextureDestroy|0|0|nint|||h59ab6897b24130ff3725ff5acefa03114ce8370ec6aca84fd55efeb24ba34764", "signature": "public nint TextureDestroy", "summary": "void (*)(void *, cui_texture) (offset 24)" }, { "name": "TextureUpdate", "kind": "field", "id": "field|TextureUpdate|0|0|nint|||hbfbde4239ec6fa549173cf8c72e546e18b2b55498df7c5952cdb88f8c19fc3fc", "signature": "public nint TextureUpdate", "summary": "void (*)(void *, cui_texture, int, int, int, int, const void *, int) (offset 16)" }, { "name": "User", "kind": "field", "id": "field|User|0|0|nint|||hbb8b86031509e9566eb92455c659fd89532fcd8a35724b86f43a45f38dc8e34f", "signature": "public nint User", "summary": "void * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeRequestBarOpts", "displayName": "NativeRequestBarOpts", "kind": "struct", "summary": "cui_request_bar_opts, 24 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Loading", "kind": "field", "id": "field|Loading|0|0|byte|||h20a09ddc6a79c663a1d4f8d2042bef2401f8094388c708c582468cf01c1a7c8e", "signature": "public byte Loading", "summary": "_Bool (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeRequestBarResult", "displayName": "NativeRequestBarResult", "kind": "struct", "summary": "cui_request_bar_result, 3 bytes.", "members": [{ "name": "Cancel", "kind": "field", "id": "field|Cancel|0|0|byte|||h7e0168b5d0620dfdb71a9b47278bb001235cb95e502023151a6f839959506ea2", "signature": "public byte Cancel", "summary": "_Bool (offset 1)" }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|byte|||had978eec0af03eb4dacdb360976a7e241488e1b52d178b9e3926112ece7b5ff4", "signature": "public byte Changed", "summary": "_Bool (offset 2)" }, { "name": "Send", "kind": "field", "id": "field|Send|0|0|byte|||h887daa095687e8e78845b5af4c73970e26ef060e9fdadb24da4c6fd9736a3894", "signature": "public byte Send", "summary": "_Bool (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeResponseActionsOpts", "displayName": "NativeResponseActionsOpts", "kind": "struct", "summary": "cui_response_actions_opts, 32 bytes.", "members": [{ "name": "NoRegenerate", "kind": "field", "id": "field|NoRegenerate|0|0|byte|||h4e001b5d61c3649aba67ef10bd120bfb937c5236c5d14f70bbf90c64b1820210", "signature": "public byte NoRegenerate", "summary": "_Bool (offset 24)" }, { "name": "NoShare", "kind": "field", "id": "field|NoShare|0|0|byte|||hbfcf4fa4abfad814193dcdd24609ee009bd2b1c24147ed26d61fd413525575e3", "signature": "public byte NoShare", "summary": "_Bool (offset 25)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "CopyText", "kind": "field", "id": "field|CopyText|0|0|nint|||h2c9faad1de73af1ece08376b9c875c000f915b4f8a9cf080b5d0d77b919de771", "signature": "public nint CopyText", "summary": "const char * (offset 8)" }, { "name": "Vote", "kind": "field", "id": "field|Vote|0|0|nint|||hc2fc27a3107ca1f014a744f1a42852b68a2ebd47e67fe59ba1d7beed13db03dd", "signature": "public nint Vote", "summary": "int * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeRingsOpts", "displayName": "NativeRingsOpts", "kind": "struct", "summary": "cui_rings_opts, 40 bytes.", "members": [{ "name": "Legend", "kind": "field", "id": "field|Legend|0|0|byte|||h810b2c59348d091ac8afb7ff17ec81578bde5715ded1a3a027fc9d2910f47e4e", "signature": "public byte Legend", "summary": "_Bool (offset 32)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 4)" }, { "name": "Thickness", "kind": "field", "id": "field|Thickness|0|0|float|||h032ae3f08d1f764102a5ab4e3449cb25f2ae394d97fb8b90dd505ead7b8576f6", "signature": "public float Thickness", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Caption", "kind": "field", "id": "field|Caption|0|0|nint|||hc3a508694d3389396d2939b4426587a08b71fcc7af9636af2bbf5e844d7a73d7", "signature": "public nint Caption", "summary": "const char * (offset 24)" }, { "name": "Center", "kind": "field", "id": "field|Center|0|0|nint|||ha8f1210f7bef229d24187603ef3b7e741881770903ecb336d1ffb9f50428df15", "signature": "public nint Center", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeRulerOpts", "displayName": "NativeRulerOpts", "kind": "struct", "summary": "cui_ruler_opts, 40 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 32)" }, { "name": "Spacing", "kind": "field", "id": "field|Spacing|0|0|float|||h22da469a15540ae6a7f22a07bcce21a26b31756bc58b41e93dfacd4da75285a9", "signature": "public float Spacing", "summary": "float (offset 12)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "float (offset 4)" }, { "name": "MajorEvery", "kind": "field", "id": "field|MajorEvery|0|0|int|||hb8966c550f0af08c692ad9b7a0009bc4750e28358fc03967f4a7ff5bc21f7ed4", "signature": "public int MajorEvery", "summary": "int (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|nint|||h708409b7ee1912ab128b9f78a22e55e9f298402bb842be865ac89fa44f207c93", "signature": "public nint Unit", "summary": "const char * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeSankeyLink", "displayName": "NativeSankeyLink", "kind": "struct", "summary": "cui_sankey_link, 12 bytes.", "members": [{ "name": "Value", "kind": "field", "id": "field|Value|0|0|float|||h8c20ac2e2f946bfe778b76ce5a0751e644f14cbfa254ac592650fe0166f91e91", "signature": "public float Value", "summary": "float (offset 8)" }, { "name": "From", "kind": "field", "id": "field|From|0|0|int|||h11f7cebcf77a074c120dda4af3a2c2a7d6533333236d3fbb272c705fd58fd693", "signature": "public int From", "summary": "int (offset 0)" }, { "name": "To", "kind": "field", "id": "field|To|0|0|int|||h51c44d9327d4ff5ec543672605cdc9085758c30f02fb02478eed8ab117d48e44", "signature": "public int To", "summary": "int (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeSankeyOpts", "displayName": "NativeSankeyOpts", "kind": "struct", "summary": "cui_sankey_opts, 32 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "NodeWidth", "kind": "field", "id": "field|NodeWidth|0|0|float|||h854c8bca8b3d6404a03cf66a2c3c87c152ea3dd5251148ee7b7181601bb4ff91", "signature": "public float NodeWidth", "summary": "float (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeScatterOpts", "displayName": "NativeScatterOpts", "kind": "struct", "summary": "cui_scatter_opts, 56 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|byte|||h1f8a110b3f30258fe29c926542fc3ebe7571478d3c055e1b3267d8e06e0b33f4", "signature": "public byte NoLegend", "summary": "_Bool (offset 48)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "XFormat", "kind": "field", "id": "field|XFormat|0|0|nint|||h18e8cf118fea9392564da580eba62c8ae35e782caa009a608ed4c9346c73a269", "signature": "public nint XFormat", "summary": "const char * (offset 32)" }, { "name": "XLabel", "kind": "field", "id": "field|XLabel|0|0|nint|||h1c4a4886f3bc213da6e6aeff6bfcbadc01f7999be462be2d85643797609df1b7", "signature": "public nint XLabel", "summary": "const char * (offset 16)" }, { "name": "YFormat", "kind": "field", "id": "field|YFormat|0|0|nint|||h5c705ed0a7ec28e905001cc33b9d9a52a7c904a615aa8dcd45b435b1a4adcb47", "signature": "public nint YFormat", "summary": "const char * (offset 40)" }, { "name": "YLabel", "kind": "field", "id": "field|YLabel|0|0|nint|||h458be0325d3e3ce4b9212c389ff3d38e2ea7d070891c57b1c5fad4556ed6dc2b", "signature": "public nint YLabel", "summary": "const char * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeScatterSeries", "displayName": "NativeScatterSeries", "kind": "struct", "summary": "cui_scatter_series, 32 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 28)" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "int (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }, { "name": "Points", "kind": "field", "id": "field|Points|0|0|nint|||h863e9de0c5dbad5fa1da3a3ce05f3356396b96b6971b55372f7580cdaac5017d", "signature": "public nint Points", "summary": "const cui_vec2 * (offset 8)" }, { "name": "Sizes", "kind": "field", "id": "field|Sizes|0|0|nint|||hc260f75e798fd23caa9ec01ab012ffb91aa98a0094ed6482327f7d7b4e8e4978", "signature": "public nint Sizes", "summary": "const float * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeScheduleOpts", "displayName": "NativeScheduleOpts", "kind": "struct", "summary": "cui_schedule_opts, 32 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Utc", "kind": "field", "id": "field|Utc|0|0|byte|||h16905feb07f6e9387c628a2c95d698bf3338a3f880337b7165b54b12f5c1bcd1", "signature": "public byte Utc", "summary": "_Bool (offset 24)" }, { "name": "NextCount", "kind": "field", "id": "field|NextCount|0|0|int|||h80bfe4de5677a884d75cb874b420721eb542ff4df1afc53136faf5ba124b192b", "signature": "public int NextCount", "summary": "int (offset 28)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Now", "kind": "field", "id": "field|Now|0|0|long|||h949d29ec25550cd1c5e589c99b5e39471c9584ce47315d26d5fa02dc132525d7", "signature": "public long Now", "summary": "int64_t (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeScheduleResult", "displayName": "NativeScheduleResult", "kind": "struct", "summary": "cui_schedule_result, 16 bytes.", "members": [{ "name": "Changed", "kind": "field", "id": "field|Changed|0|0|byte|||had978eec0af03eb4dacdb360976a7e241488e1b52d178b9e3926112ece7b5ff4", "signature": "public byte Changed", "summary": "_Bool (offset 0)" }, { "name": "Valid", "kind": "field", "id": "field|Valid|0|0|byte|||hf9c156c8e32b62eb3a0fc4a0ad98b268f5497c42836338138a0c0b95866fb11c", "signature": "public byte Valid", "summary": "_Bool (offset 1)" }, { "name": "Next", "kind": "field", "id": "field|Next|0|0|long|||hd7ee1f886f886259549f3654f5275aaa94247e8c4d9446f9f2a3a90e2de894d3", "signature": "public long Next", "summary": "int64_t (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeScrollOpts", "displayName": "NativeScrollOpts", "kind": "struct", "summary": "cui_scroll_opts, 56 bytes.", "members": [{ "name": "FadeColor", "kind": "field", "id": "field|FadeColor|0|0|NativeColor|||hb15ba159b0bab1b7ac7441e3b5cb2578ab145ba12c36d225c185b1437603d4c3", "signature": "public NativeColor FadeColor", "summary": "cui_color (offset 45)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 16)" }, { "name": "FadeEdges", "kind": "field", "id": "field|FadeEdges|0|0|byte|||h427c697ea87920ae4df603e40c1fb72d25e06ff19babe1835117928d97bf99f4", "signature": "public byte FadeEdges", "summary": "_Bool (offset 44)" }, { "name": "Horizontal", "kind": "field", "id": "field|Horizontal|0|0|byte|||hb8eb5f891a452586827fe30447b7d0b698e41f55d790a6fb5ef7aee450a3d7f2", "signature": "public byte Horizontal", "summary": "_Bool (offset 32)" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float (offset 40)" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float (offset 36)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Id", "kind": "field", "id": "field|Id|0|0|nint|||h776d0e60aed221d94e76ec8f19e3fe1a92e74b03003d575f9b4eaa98ff45a530", "signature": "public nint Id", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeScrubOpts", "displayName": "NativeScrubOpts", "kind": "struct", "summary": "cui_scrub_opts, 40 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 32)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 24)" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|nint|||hf74991389a50a9d4f62042eaba5519ce0c8537c405e4fb6215db1322dfac00e9", "signature": "public nint Suffix", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeSegmentedOpts", "displayName": "NativeSegmentedOpts", "kind": "struct", "summary": "cui_segmented_opts, 24 bytes.", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 4)" }, { "name": "FullWidth", "kind": "field", "id": "field|FullWidth|0|0|byte|||hd01f4e7d92479240099d4691e65654bcd8a680160c7cec92dbd21a81d9339563", "signature": "public byte FullWidth", "summary": "_Bool (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|nint|||h9dcb1e799c22cfc28d5f3330f8ad5d309473e6a32f68ce7efd7068c42c7988da", "signature": "public nint Icons", "summary": "const char *const * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeSelectOpts", "displayName": "NativeSelectOpts", "kind": "struct", "summary": "cui_select_opts, 48 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 36)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 33)" }, { "name": "Searchable", "kind": "field", "id": "field|Searchable|0|0|byte|||h74eb146edff067d6dfbf0156d1d638c9b7b006827c54b1057268bda0d4898396", "signature": "public byte Searchable", "summary": "_Bool (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|nint|||h9dcb1e799c22cfc28d5f3330f8ad5d309473e6a32f68ce7efd7068c42c7988da", "signature": "public nint Icons", "summary": "const char *const * (offset 24)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeSeries", "displayName": "NativeSeries", "kind": "struct", "summary": "cui_series, 24 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 20)" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "int (offset 16)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }, { "name": "Values", "kind": "field", "id": "field|Values|0|0|nint|||hc30bb6429c4e57a1df28a0bafaa2e98f5c7817a370bfe9a039e723f0dd8ce12b", "signature": "public nint Values", "summary": "const float * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeShadow", "displayName": "NativeShadow", "kind": "struct", "summary": "cui_shadow, 16 bytes.", "members": [{ "name": "Alpha", "kind": "field", "id": "field|Alpha|0|0|float|||h699cb1d5c27c6498caaef6b8d1c11b34e067946f5e1941b3936004f3996fc9ad", "signature": "public float Alpha", "summary": "float (offset 12)" }, { "name": "Blur", "kind": "field", "id": "field|Blur|0|0|float|||he18dabc7b5fa09bd6a291c97b93d349f71073e677f03851c95b48e0c7f1c089e", "signature": "public float Blur", "summary": "float (offset 4)" }, { "name": "Spread", "kind": "field", "id": "field|Spread|0|0|float|||hd66f08b45422fe676e4052402d02428a288489d835a4c2db4d57cdf51bb48b1b", "signature": "public float Spread", "summary": "float (offset 8)" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "float (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeSheetOpts", "displayName": "NativeSheetOpts", "kind": "struct", "summary": "cui_sheet_opts, 24 bytes.", "members": [{ "name": "Side", "kind": "field", "id": "field|Side|0|0|Side|||h246cd6630b9e5173ef64270ae4793d84e4ae57c4170b390ddf3234197dd10321", "signature": "public Side Side", "summary": "cui_side (offset 4)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeShortcutRecorderOpts", "displayName": "NativeShortcutRecorderOpts", "kind": "struct", "summary": "cui_shortcut_recorder_opts, 24 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeSignatureOpts", "displayName": "NativeSignatureOpts", "kind": "struct", "summary": "cui_signature_opts, 32 bytes.", "members": [{ "name": "Ink", "kind": "field", "id": "field|Ink|0|0|NativeColor|||h07015daf6e9b6f5f6f49673303996942d62b58f96fb84fcb9cfbfad5522e978c", "signature": "public NativeColor Ink", "summary": "cui_color (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeSize", "displayName": "NativeSize", "kind": "struct", "summary": "cui_size, 8 bytes.", "members": [{ "name": "Kind", "kind": "field", "id": "field|Kind|0|0|SizeKind|||h808fe0ea94104d13851249da7a5766580e1fc8ca49ac6ab11ba92014f2c18609", "signature": "public SizeKind Kind", "summary": "cui_size_kind (offset 0)" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|float|||h8c20ac2e2f946bfe778b76ce5a0751e644f14cbfa254ac592650fe0166f91e91", "signature": "public float Value", "summary": "float (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeSliderOpts", "displayName": "NativeSliderOpts", "kind": "struct", "summary": "cui_slider_opts, 40 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 28)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 24)" }, { "name": "ShowValue", "kind": "field", "id": "field|ShowValue|0|0|byte|||hb6f28ed830dc1357a9e6ae1ac2207fd475f7cd4adf20dc1c2cc2e9ae662df3db", "signature": "public byte ShowValue", "summary": "_Bool (offset 8)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeSource", "displayName": "NativeSource", "kind": "struct", "summary": "cui_source, 24 bytes.", "members": [{ "name": "Snippet", "kind": "field", "id": "field|Snippet|0|0|nint|||h0659a860697ebf62054653c9c256c25a2d112b7b288f4d24a0bb03f24ff83992", "signature": "public nint Snippet", "summary": "const char * (offset 16)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 0)" }, { "name": "Url", "kind": "field", "id": "field|Url|0|0|nint|||hf0232bb28873580e7552c56dbd6d63af4bd9d12c5edb127a43cffab9d54553c7", "signature": "public nint Url", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeSpeedAction", "displayName": "NativeSpeedAction", "kind": "struct", "summary": "cui_speed_action, 16 bytes.", "members": [{ "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeSpeedDialOpts", "displayName": "NativeSpeedDialOpts", "kind": "struct", "summary": "cui_speed_dial_opts, 32 bytes.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|nint|||hccbc32a161449afe62353b5d908ca3da9aecdd74fe8acbce624e4004ec4575e7", "signature": "public nint Tooltip", "summary": "const char * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeSplitBarOpts", "displayName": "NativeSplitBarOpts", "kind": "struct", "summary": "cui_split_bar_opts, 32 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|byte|||h1f8a110b3f30258fe29c926542fc3ebe7571478d3c055e1b3267d8e06e0b33f4", "signature": "public byte NoLegend", "summary": "_Bool (offset 24)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeSplitButtonOpts", "displayName": "NativeSplitButtonOpts", "kind": "struct", "summary": "cui_split_button_opts, 40 bytes.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "cui_button_variant (offset 4)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 8)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 16)" }, { "name": "ItemIcons", "kind": "field", "id": "field|ItemIcons|0|0|nint|||hf996e386ec0edc6b010dcbf70b7b0f78487e0478b1fd7af23be8a0b7015a97ac", "signature": "public nint ItemIcons", "summary": "const char *const * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeSplitOpts", "displayName": "NativeSplitOpts", "kind": "struct", "summary": "cui_split_opts, 32 bytes.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 16)" }, { "name": "Vertical", "kind": "field", "id": "field|Vertical|0|0|byte|||hb745bba6aac4c525e8693e60602d97beec17eb473cf709b8b490ef2233874e2f", "signature": "public byte Vertical", "summary": "_Bool (offset 4)" }, { "name": "MinFirst", "kind": "field", "id": "field|MinFirst|0|0|float|||h203ccf5752771158a9004b5869c64efac48743fd8ad2d4052049ab858c705911", "signature": "public float MinFirst", "summary": "float (offset 8)" }, { "name": "MinSecond", "kind": "field", "id": "field|MinSecond|0|0|float|||hc79d7e0191f3217f02adf136ff4c3f9fbe0fad72ad8716f348481f65792590d7", "signature": "public float MinSecond", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeSpotlightOpts", "displayName": "NativeSpotlightOpts", "kind": "struct", "summary": "cui_spotlight_opts, 36 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 28)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Beam", "kind": "field", "id": "field|Beam|0|0|byte|||h78b24f69e619dd4eefe246a310576e875e69b98c218f29ae86b263fa65615784", "signature": "public byte Beam", "summary": "_Bool (offset 32)" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float (offset 24)" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeStackFrame", "displayName": "NativeStackFrame", "kind": "struct", "summary": "cui_stack_frame, 48 bytes.", "members": [{ "name": "External", "kind": "field", "id": "field|External|0|0|byte|||ha8265ee781ce641e84fefb190ac962d15378467082b2b86fc10d03d0d34bb7fc", "signature": "public byte External", "summary": "_Bool (offset 24)" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "int (offset 20)" }, { "name": "Line", "kind": "field", "id": "field|Line|0|0|int|||h1879f4fdbcfa3a3747d1163cdd353585f2b2bd90bfd45d0dfb258aacbc098d3e", "signature": "public int Line", "summary": "int (offset 16)" }, { "name": "SourceCount", "kind": "field", "id": "field|SourceCount|0|0|int|||h62021a37d45c4db52172f9a61efa4fae8828ed31779da0ac4353b76ede71fe6f", "signature": "public int SourceCount", "summary": "int (offset 40)" }, { "name": "SourceFirst", "kind": "field", "id": "field|SourceFirst|0|0|int|||hdbfe26cdd0e9e35221244418a1765d3b7ab294b68bdd1b1356d37e84561caf72", "signature": "public int SourceFirst", "summary": "int (offset 44)" }, { "name": "File", "kind": "field", "id": "field|File|0|0|nint|||hf18b959cb1aa589cfedfeb3f56d2a4481a5c4eac07083fc9750af44c4bf0cf08", "signature": "public nint File", "summary": "const char * (offset 8)" }, { "name": "Function", "kind": "field", "id": "field|Function|0|0|nint|||h359813c28a2b2655c617ce711be9405192a301bd22f4d9edb5b908c280860f5a", "signature": "public nint Function", "summary": "const char * (offset 0)" }, { "name": "Source", "kind": "field", "id": "field|Source|0|0|nint|||h1199d329667bd917815202c41d44da21fc731a62f0507af39b62283f6b5248d9", "signature": "public nint Source", "summary": "const char *const * (offset 32)" }] }, - { "name": "CuiSharp.Interop.NativeStackTraceOpts", "displayName": "NativeStackTraceOpts", "kind": "struct", "summary": "cui_stack_trace_opts, 40 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|nint|||h47e017876cc656beadab67c2a3da7d17ebe65dbbb9bf477edfc76ac1167c397a", "signature": "public nint Lang", "summary": "const char * (offset 32)" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|nint|||hd26a8e53b67f4e6b6a7f4704f738a3b1510f63da8dbf582c674431012ef50a25", "signature": "public nint Message", "summary": "const char * (offset 24)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeStackTraceResult", "displayName": "NativeStackTraceResult", "kind": "struct", "summary": "cui_stack_trace_result, 4 bytes.", "members": [{ "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeStatusBarOpts", "displayName": "NativeStatusBarOpts", "kind": "struct", "summary": "cui_status_bar_opts, 8 bytes.", "members": [{ "name": "NoBorder", "kind": "field", "id": "field|NoBorder|0|0|byte|||h52a658d9e90fb592c2d5b234fe36d916b01f85259ebf498345a83768a1f7a51c", "signature": "public byte NoBorder", "summary": "_Bool (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeStatusButtonOpts", "displayName": "NativeStatusButtonOpts", "kind": "struct", "summary": "cui_status_button_opts, 48 bytes.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "cui_button_variant (offset 40)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 44)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "BusyLabel", "kind": "field", "id": "field|BusyLabel|0|0|nint|||h7418c01f70a9e1eabb71b5d8cc75ad46e224ff10ac01cb888f137e316ecba0d6", "signature": "public nint BusyLabel", "summary": "const char * (offset 8)" }, { "name": "ErrorLabel", "kind": "field", "id": "field|ErrorLabel|0|0|nint|||h4d51ceaf0bb5485cc3c5cecfe97b48f8c1ce7ca0065ed2e21927b16b2148ffa1", "signature": "public nint ErrorLabel", "summary": "const char * (offset 24)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 32)" }, { "name": "SuccessLabel", "kind": "field", "id": "field|SuccessLabel|0|0|nint|||h52b469e83af8845eb0ffa86afd486d11bb27a4afd532a477963671bc2935e693", "signature": "public nint SuccessLabel", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeStatusItemOpts", "displayName": "NativeStatusItemOpts", "kind": "struct", "summary": "cui_status_item_opts, 40 bytes.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 16)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|nint|||hccbc32a161449afe62353b5d908ca3da9aecdd74fe8acbce624e4004ec4575e7", "signature": "public nint Tooltip", "summary": "const char * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeStatusProgressOpts", "displayName": "NativeStatusProgressOpts", "kind": "struct", "summary": "cui_status_progress_opts, 24 bytes.", "members": [{ "name": "Indeterminate", "kind": "field", "id": "field|Indeterminate|0|0|byte|||hfedb6a86910124c963d29f1734bebdd306e24edb2eb5d92514b1fc88f2d3b8a7", "signature": "public byte Indeterminate", "summary": "_Bool (offset 16)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeStrings", "displayName": "NativeStrings", "kind": "struct", "summary": "cui_strings, 368 bytes.", "members": [{ "name": "Month", "kind": "field", "id": "field|Month|0|0|NativeStringsMonthArray|||hcacca9a3c4685006c0aa47e340453d8267d29c9d82b3eb7e37128ce6f09bbd89", "signature": "public NativeStringsMonthArray Month", "summary": "const char *[12] (offset 0)" }, { "name": "MonthShort", "kind": "field", "id": "field|MonthShort|0|0|NativeStringsMonthShortArray|||hca9492ba31505439c2559001e626a3a328bb2f56cf6e48afa287444101cc9330", "signature": "public NativeStringsMonthShortArray MonthShort", "summary": "const char *[12] (offset 96)" }, { "name": "Weekday", "kind": "field", "id": "field|Weekday|0|0|NativeStringsWeekdayArray|||h6e9cb985ef11e99168d556d88f27512f7e41a9ed53ef0ee00746477ec6610e7f", "signature": "public NativeStringsWeekdayArray Weekday", "summary": "const char *[7] (offset 192)" }, { "name": "WeekdayMin", "kind": "field", "id": "field|WeekdayMin|0|0|NativeStringsWeekdayMinArray|||hd66ca260a97dae4a46e5c45c9017a13772fe6458503b5b4ea3cfaf205664049f", "signature": "public NativeStringsWeekdayMinArray WeekdayMin", "summary": "const char *[7] (offset 304)" }, { "name": "WeekdayShort", "kind": "field", "id": "field|WeekdayShort|0|0|NativeStringsWeekdayShortArray|||hca168e415864005643e82d73aebaef9f11fcf3e927e3d677ff11be9f37c284b5", "signature": "public NativeStringsWeekdayShortArray WeekdayShort", "summary": "const char *[7] (offset 248)" }, { "name": "Today", "kind": "field", "id": "field|Today|0|0|nint|||h3505f2cb683a52d1b5989c440edc6b3fb23ce36b2bebf3499fbfc51c9a7abd3d", "signature": "public nint Today", "summary": "const char * (offset 360)" }] }, + { "name": "CuiSharp.Interop.NativeRegexTesterOpts", "displayName": "NativeRegexTesterOpts", "kind": "struct", "summary": "A pattern field with flags over a test text: every match is highlighted in the text and its groups in their own colors, and the list below shows each match with its groups. Errors show under the pattern. Both buffers are yours and edited in place. (24 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "of the test text, default 180 (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Flags", "kind": "field", "id": "field|Flags|0|0|nint|||h6e58cfc4918945deba61e9023338550158a8fc55afb31332fb3e93ff2e7645b2", "signature": "public nint Flags", "summary": "CUI_REGEX_*; NULL: kept for you (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeRegexTesterResult", "displayName": "NativeRegexTesterResult", "kind": "struct", "summary": "cui_regex_tester_result (16 bytes)", "members": [{ "name": "Valid", "kind": "field", "id": "field|Valid|0|0|byte|||hf9c156c8e32b62eb3a0fc4a0ad98b268f5497c42836338138a0c0b95866fb11c", "signature": "public byte Valid", "summary": "the pattern is valid and matching finished in time (offset 0)" }, { "name": "Matches", "kind": "field", "id": "field|Matches|0|0|int|||hcedd9515c638fc304b4b46a264002d08e5bd2da7de258318812e2fb6ea94b072", "signature": "public int Matches", "summary": "matches found in the test text (offset 4)" }, { "name": "Error", "kind": "field", "id": "field|Error|0|0|nint|||hdd113196192125bb251ed8e4e61faa04c141796319fac033109dbf93e8d846b0", "signature": "public nint Error", "summary": "why, when \u0060valid\u0060 is false; otherwise \u0060NULL\u0060 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeRendererIface", "displayName": "NativeRendererIface", "kind": "struct", "summary": "How CUI talks to a renderer. The built-in renderers fill this in for you (cui_render_gl_iface / cui_render_sw_iface). Implement it to use CUI with any graphics API. (32 bytes)", "members": [{ "name": "TextureCreate", "kind": "field", "id": "field|TextureCreate|0|0|nint|||hd2472afc877eb2edcae79a7392156864b5971ec9d2c0bacadd3120fbf6b4bb99", "signature": "public nint TextureCreate", "summary": "cui_texture (*)(void *, int, int, cui_texture_format, const void *) (offset 8)" }, { "name": "TextureDestroy", "kind": "field", "id": "field|TextureDestroy|0|0|nint|||h59ab6897b24130ff3725ff5acefa03114ce8370ec6aca84fd55efeb24ba34764", "signature": "public nint TextureDestroy", "summary": "void (*)(void *, cui_texture) (offset 24)" }, { "name": "TextureUpdate", "kind": "field", "id": "field|TextureUpdate|0|0|nint|||hbfbde4239ec6fa549173cf8c72e546e18b2b55498df7c5952cdb88f8c19fc3fc", "signature": "public nint TextureUpdate", "summary": "void (*)(void *, cui_texture, int, int, int, int, const void *, int) (offset 16)" }, { "name": "User", "kind": "field", "id": "field|User|0|0|nint|||hbb8b86031509e9566eb92455c659fd89532fcd8a35724b86f43a45f38dc8e34f", "signature": "public nint User", "summary": "void * (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeRequestBarOpts", "displayName": "NativeRequestBarOpts", "kind": "struct", "summary": "cui_request_bar_opts (24 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Loading", "kind": "field", "id": "field|Loading|0|0|byte|||h20a09ddc6a79c663a1d4f8d2042bef2401f8094388c708c582468cf01c1a7c8e", "signature": "public byte Loading", "summary": "a request is in flight: the button reads Cancel and Enter does not send (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeRequestBarResult", "displayName": "NativeRequestBarResult", "kind": "struct", "summary": "cui_request_bar_result (3 bytes)", "members": [{ "name": "Cancel", "kind": "field", "id": "field|Cancel|0|0|byte|||h7e0168b5d0620dfdb71a9b47278bb001235cb95e502023151a6f839959506ea2", "signature": "public byte Cancel", "summary": "Cancel was pressed while \u0060loading\u0060 (offset 1)" }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|byte|||had978eec0af03eb4dacdb360976a7e241488e1b52d178b9e3926112ece7b5ff4", "signature": "public byte Changed", "summary": "the method or the URL was edited this frame (offset 2)" }, { "name": "Send", "kind": "field", "id": "field|Send|0|0|byte|||h887daa095687e8e78845b5af4c73970e26ef060e9fdadb24da4c6fd9736a3894", "signature": "public byte Send", "summary": "Send was pressed, or Enter in the URL: start the request (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeResponseActionsOpts", "displayName": "NativeResponseActionsOpts", "kind": "struct", "summary": "cui_response_actions_opts (32 bytes)", "members": [{ "name": "NoRegenerate", "kind": "field", "id": "field|NoRegenerate|0|0|byte|||h4e001b5d61c3649aba67ef10bd120bfb937c5236c5d14f70bbf90c64b1820210", "signature": "public byte NoRegenerate", "summary": "hides the regenerate button (offset 24)" }, { "name": "NoShare", "kind": "field", "id": "field|NoShare|0|0|byte|||hbfcf4fa4abfad814193dcdd24609ee009bd2b1c24147ed26d61fd413525575e3", "signature": "public byte NoShare", "summary": "hides the share button (offset 25)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "CopyText", "kind": "field", "id": "field|CopyText|0|0|nint|||h2c9faad1de73af1ece08376b9c875c000f915b4f8a9cf080b5d0d77b919de771", "signature": "public nint CopyText", "summary": "the text the copy button copies; \u0060NULL\u0060 leaves the button out (offset 8)" }, { "name": "Vote", "kind": "field", "id": "field|Vote|0|0|nint|||hc2fc27a3107ca1f014a744f1a42852b68a2ebd47e67fe59ba1d7beed13db03dd", "signature": "public nint Vote", "summary": "1 thumbs up, -1 thumbs down, 0 none: shown on the buttons and updated on a click (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeRingsOpts", "displayName": "NativeRingsOpts", "kind": "struct", "summary": "Activity rings: concentric progress rings; values past 1 keep winding. (40 bytes)", "members": [{ "name": "Legend", "kind": "field", "id": "field|Legend|0|0|byte|||h810b2c59348d091ac8afb7ff17ec81578bde5715ded1a3a027fc9d2910f47e4e", "signature": "public byte Legend", "summary": "names and shares beside the rings (offset 32)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 4)" }, { "name": "Thickness", "kind": "field", "id": "field|Thickness|0|0|float|||h032ae3f08d1f764102a5ab4e3449cb25f2ae394d97fb8b90dd505ead7b8576f6", "signature": "public float Thickness", "summary": "width of each ring in points; 0 uses a tenth of \u0060size\u0060, at least 8 (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Caption", "kind": "field", "id": "field|Caption|0|0|nint|||hc3a508694d3389396d2939b4426587a08b71fcc7af9636af2bbf5e844d7a73d7", "signature": "public nint Caption", "summary": "small muted text under \u0060center\u0060; shown only with \u0060center\u0060 (offset 24)" }, { "name": "Center", "kind": "field", "id": "field|Center|0|0|nint|||ha8f1210f7bef229d24187603ef3b7e741881770903ecb336d1ffb9f50428df15", "signature": "public nint Center", "summary": "large text in the middle of the rings, e.g. a total (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeRulerOpts", "displayName": "NativeRulerOpts", "kind": "struct", "summary": "Ruler slider: a tape measure that slides under a fixed marker, with momentum and snapping to step. (40 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 32)" }, { "name": "Spacing", "kind": "field", "id": "field|Spacing|0|0|float|||h22da469a15540ae6a7f22a07bcce21a26b31756bc58b41e93dfacd4da75285a9", "signature": "public float Spacing", "summary": "points between two ticks (one \u0060step\u0060 apart), default 9 (offset 12)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "float (offset 4)" }, { "name": "MajorEvery", "kind": "field", "id": "field|MajorEvery|0|0|int|||hb8966c550f0af08c692ad9b7a0009bc4750e28358fc03967f4a7ff5bc21f7ed4", "signature": "public int MajorEvery", "summary": "every Nth tick is long and labelled, default 10; Shift\u002Barrows move this many steps (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|nint|||h708409b7ee1912ab128b9f78a22e55e9f298402bb842be865ac89fa44f207c93", "signature": "public nint Unit", "summary": "const char * (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeSankeyLink", "displayName": "NativeSankeyLink", "kind": "struct", "summary": "Sankey: flows between nodes; columns follow the links from the sources. (12 bytes)", "members": [{ "name": "Value", "kind": "field", "id": "field|Value|0|0|float|||h8c20ac2e2f946bfe778b76ce5a0751e644f14cbfa254ac592650fe0166f91e91", "signature": "public float Value", "summary": "size of the flow: sets the link\u0027s thickness (offset 8)" }, { "name": "From", "kind": "field", "id": "field|From|0|0|int|||h11f7cebcf77a074c120dda4af3a2c2a7d6533333236d3fbb272c705fd58fd693", "signature": "public int From", "summary": "index of the node the flow leaves (offset 0)" }, { "name": "To", "kind": "field", "id": "field|To|0|0|int|||h51c44d9327d4ff5ec543672605cdc9085758c30f02fb02478eed8ab117d48e44", "signature": "public int To", "summary": "index of the node the flow enters (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeSankeyOpts", "displayName": "NativeSankeyOpts", "kind": "struct", "summary": "cui_sankey_opts (32 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "NodeWidth", "kind": "field", "id": "field|NodeWidth|0|0|float|||h854c8bca8b3d6404a03cf66a2c3c87c152ea3dd5251148ee7b7181601bb4ff91", "signature": "public float NodeWidth", "summary": "width of the node bars in points, default 12 (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeScatterOpts", "displayName": "NativeScatterOpts", "kind": "struct", "summary": "cui_scatter_opts (56 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|byte|||h1f8a110b3f30258fe29c926542fc3ebe7571478d3c055e1b3267d8e06e0b33f4", "signature": "public byte NoLegend", "summary": "_Bool (offset 48)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "XFormat", "kind": "field", "id": "field|XFormat|0|0|nint|||h18e8cf118fea9392564da580eba62c8ae35e782caa009a608ed4c9346c73a269", "signature": "public nint XFormat", "summary": "printf format for the x axis labels and the tooltip (offset 32)" }, { "name": "XLabel", "kind": "field", "id": "field|XLabel|0|0|nint|||h1c4a4886f3bc213da6e6aeff6bfcbadc01f7999be462be2d85643797609df1b7", "signature": "public nint XLabel", "summary": "title under the x axis; also names the x value in the tooltip (offset 16)" }, { "name": "YFormat", "kind": "field", "id": "field|YFormat|0|0|nint|||h5c705ed0a7ec28e905001cc33b9d9a52a7c904a615aa8dcd45b435b1a4adcb47", "signature": "public nint YFormat", "summary": "printf format for the y axis labels and the tooltip (offset 40)" }, { "name": "YLabel", "kind": "field", "id": "field|YLabel|0|0|nint|||h458be0325d3e3ce4b9212c389ff3d38e2ea7d070891c57b1c5fad4556ed6dc2b", "signature": "public nint YLabel", "summary": "title above the y axis; also names the y value in the tooltip (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeScatterSeries", "displayName": "NativeScatterSeries", "kind": "struct", "summary": "Scatter (or bubble) chart: points per series, optional sizes. (32 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 28)" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "number of \u0060points\u0060 (and of \u0060sizes\u0060) (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "shown in the legend, which appears with two or more series (offset 0)" }, { "name": "Points", "kind": "field", "id": "field|Points|0|0|nint|||h863e9de0c5dbad5fa1da3a3ce05f3356396b96b6971b55372f7580cdaac5017d", "signature": "public nint Points", "summary": "the points, x and y in data units (offset 8)" }, { "name": "Sizes", "kind": "field", "id": "field|Sizes|0|0|nint|||hc260f75e798fd23caa9ec01ab012ffb91aa98a0094ed6482327f7d7b4e8e4978", "signature": "public nint Sizes", "summary": "optional, one per point: makes a bubble chart, each bubble sized against the largest (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeScheduleOpts", "displayName": "NativeScheduleOpts", "kind": "struct", "summary": "A cron schedule edited the friendly way: every N minutes, hourly at a minute, daily at a time, weekly on chosen days, monthly on a day, or a custom expression. It reads and writes \u0060cron\u0060 (five fields: minute hour day month weekday) and shows what it means and when it runs next. Weekday and month names come from cui_set_strings. (32 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Utc", "kind": "field", "id": "field|Utc|0|0|byte|||h16905feb07f6e9387c628a2c95d698bf3338a3f880337b7165b54b12f5c1bcd1", "signature": "public byte Utc", "summary": "times in UTC instead of local time (offset 24)" }, { "name": "NextCount", "kind": "field", "id": "field|NextCount|0|0|int|||h80bfe4de5677a884d75cb874b420721eb542ff4df1afc53136faf5ba124b192b", "signature": "public int NextCount", "summary": "runs listed, default 3, 0 hides them (offset 28)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Now", "kind": "field", "id": "field|Now|0|0|long|||h949d29ec25550cd1c5e589c99b5e39471c9584ce47315d26d5fa02dc132525d7", "signature": "public long Now", "summary": "the next runs are counted from here, Unix seconds; 0: the clock (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeScheduleResult", "displayName": "NativeScheduleResult", "kind": "struct", "summary": "cui_schedule_result (16 bytes)", "members": [{ "name": "Changed", "kind": "field", "id": "field|Changed|0|0|byte|||had978eec0af03eb4dacdb360976a7e241488e1b52d178b9e3926112ece7b5ff4", "signature": "public byte Changed", "summary": "\u0060cron\u0060 was edited this frame (offset 0)" }, { "name": "Valid", "kind": "field", "id": "field|Valid|0|0|byte|||hf9c156c8e32b62eb3a0fc4a0ad98b268f5497c42836338138a0c0b95866fb11c", "signature": "public byte Valid", "summary": "\u0060cron\u0060 is a valid expression (offset 1)" }, { "name": "Next", "kind": "field", "id": "field|Next|0|0|long|||hd7ee1f886f886259549f3654f5275aaa94247e8c4d9446f9f2a3a90e2de894d3", "signature": "public long Next", "summary": "the next run, Unix seconds, 0 none (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeScrollOpts", "displayName": "NativeScrollOpts", "kind": "struct", "summary": "Scroll area with smooth scrolling and overlay scrollbars. (56 bytes)", "members": [{ "name": "FadeColor", "kind": "field", "id": "field|FadeColor|0|0|NativeColor|||hb15ba159b0bab1b7ac7441e3b5cb2578ab145ba12c36d225c185b1437603d4c3", "signature": "public NativeColor FadeColor", "summary": "what it fades into (default: the nearest opaque box around it) (offset 45)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 16)" }, { "name": "FadeEdges", "kind": "field", "id": "field|FadeEdges|0|0|byte|||h427c697ea87920ae4df603e40c1fb72d25e06ff19babe1835117928d97bf99f4", "signature": "public byte FadeEdges", "summary": "content fades out at an edge with more to scroll (offset 44)" }, { "name": "Horizontal", "kind": "field", "id": "field|Horizontal|0|0|byte|||hb8eb5f891a452586827fe30447b7d0b698e41f55d790a6fb5ef7aee450a3d7f2", "signature": "public byte Horizontal", "summary": "also scroll horizontally (offset 32)" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float (offset 40)" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float (offset 36)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Id", "kind": "field", "id": "field|Id|0|0|nint|||h776d0e60aed221d94e76ec8f19e3fe1a92e74b03003d575f9b4eaa98ff45a530", "signature": "public nint Id", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeScrubOpts", "displayName": "NativeScrubOpts", "kind": "struct", "summary": "Scrub field: drag sideways anywhere on it to change the value (Shift for fine steps), or click to type a number. Arrow keys step when focused. (40 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 32)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "default (max - min) / 100 (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "default \u0022%.0f\u0022 (offset 8)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "shown instead of the label (offset 24)" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|nint|||hf74991389a50a9d4f62042eaba5519ce0c8537c405e4fb6215db1322dfac00e9", "signature": "public nint Suffix", "summary": "e.g. \u0022px\u0022 or \u0022%\u0022 (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeSegmentedOpts", "displayName": "NativeSegmentedOpts", "kind": "struct", "summary": "Segmented control: a row of options with a gliding highlight. (24 bytes)", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 4)" }, { "name": "FullWidth", "kind": "field", "id": "field|FullWidth|0|0|byte|||hd01f4e7d92479240099d4691e65654bcd8a680160c7cec92dbd21a81d9339563", "signature": "public byte FullWidth", "summary": "_Bool (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|nint|||h9dcb1e799c22cfc28d5f3330f8ad5d309473e6a32f68ce7efd7068c42c7988da", "signature": "public nint Icons", "summary": "const char *const * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeSelectOpts", "displayName": "NativeSelectOpts", "kind": "struct", "summary": "cui_select_opts (48 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 36)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 33)" }, { "name": "Searchable", "kind": "field", "id": "field|Searchable|0|0|byte|||h74eb146edff067d6dfbf0156d1d638c9b7b006827c54b1057268bda0d4898396", "signature": "public byte Searchable", "summary": "combobox: filter options by typing (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|nint|||h9dcb1e799c22cfc28d5f3330f8ad5d309473e6a32f68ce7efd7068c42c7988da", "signature": "public nint Icons", "summary": "const char *const * (offset 24)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeSeries", "displayName": "NativeSeries", "kind": "struct", "summary": "Charts (24 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "default: series palette (offset 20)" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "number of \u0060values\u0060 (offset 16)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "shown in the legend and in the hover tooltip (offset 0)" }, { "name": "Values", "kind": "field", "id": "field|Values|0|0|nint|||hc30bb6429c4e57a1df28a0bafaa2e98f5c7817a370bfe9a039e723f0dd8ce12b", "signature": "public nint Values", "summary": "the series\u0027 data, one value per point (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeShadow", "displayName": "NativeShadow", "kind": "struct", "summary": "cui_shadow (16 bytes)", "members": [{ "name": "Alpha", "kind": "field", "id": "field|Alpha|0|0|float|||h699cb1d5c27c6498caaef6b8d1c11b34e067946f5e1941b3936004f3996fc9ad", "signature": "public float Alpha", "summary": "float (offset 12)" }, { "name": "Blur", "kind": "field", "id": "field|Blur|0|0|float|||he18dabc7b5fa09bd6a291c97b93d349f71073e677f03851c95b48e0c7f1c089e", "signature": "public float Blur", "summary": "float (offset 4)" }, { "name": "Spread", "kind": "field", "id": "field|Spread|0|0|float|||hd66f08b45422fe676e4052402d02428a288489d835a4c2db4d57cdf51bb48b1b", "signature": "public float Spread", "summary": "float (offset 8)" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "float (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeSheetOpts", "displayName": "NativeSheetOpts", "kind": "struct", "summary": "cui_sheet_opts (24 bytes)", "members": [{ "name": "Side", "kind": "field", "id": "field|Side|0|0|Side|||h246cd6630b9e5173ef64270ae4793d84e4ae57c4170b390ddf3234197dd10321", "signature": "public Side Side", "summary": "cui_side (offset 4)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeShortcutRecorderOpts", "displayName": "NativeShortcutRecorderOpts", "kind": "struct", "summary": "cui_shortcut_recorder_opts (24 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeSignatureOpts", "displayName": "NativeSignatureOpts", "kind": "struct", "summary": "Signature pad: draw with the mouse or a pen. The strokes are kept for you; read them with cui_signature_points (stroke_ends[i] is one past the last point of stroke i). (32 bytes)", "members": [{ "name": "Ink", "kind": "field", "id": "field|Ink|0|0|NativeColor|||h07015daf6e9b6f5f6f49673303996942d62b58f96fb84fcb9cfbfad5522e978c", "signature": "public NativeColor Ink", "summary": "color of the strokes, default the foreground color (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeSize", "displayName": "NativeSize", "kind": "struct", "summary": "cui_size (8 bytes)", "members": [{ "name": "Kind", "kind": "field", "id": "field|Kind|0|0|SizeKind|||h808fe0ea94104d13851249da7a5766580e1fc8ca49ac6ab11ba92014f2c18609", "signature": "public SizeKind Kind", "summary": "cui_size_kind (offset 0)" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|float|||h8c20ac2e2f946bfe778b76ce5a0751e644f14cbfa254ac592650fe0166f91e91", "signature": "public float Value", "summary": "float (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeSliderOpts", "displayName": "NativeSliderOpts", "kind": "struct", "summary": "cui_slider_opts (40 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 28)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 24)" }, { "name": "ShowValue", "kind": "field", "id": "field|ShowValue|0|0|byte|||hb6f28ed830dc1357a9e6ae1ac2207fd475f7cd4adf20dc1c2cc2e9ae662df3db", "signature": "public byte ShowValue", "summary": "_Bool (offset 8)" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "0 = continuous (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "printf format for the value, default \u0022%.0f\u0022 (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeSource", "displayName": "NativeSource", "kind": "struct", "summary": "Sources: cards for the documents an answer used, and inline citations that show a card on hover. Both return true / the index when clicked. (24 bytes)", "members": [{ "name": "Snippet", "kind": "field", "id": "field|Snippet|0|0|nint|||h0659a860697ebf62054653c9c256c25a2d112b7b288f4d24a0bb03f24ff83992", "signature": "public nint Snippet", "summary": "an excerpt, shown in the hover card of a citation (offset 16)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "the card\u0027s heading; \u0060NULL\u0060 shows the URL\u0027s domain (offset 0)" }, { "name": "Url", "kind": "field", "id": "field|Url|0|0|nint|||hf0232bb28873580e7552c56dbd6d63af4bd9d12c5edb127a43cffab9d54553c7", "signature": "public nint Url", "summary": "the address: its domain is shown, and the whole URL as the card\u0027s tooltip (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeSpeedAction", "displayName": "NativeSpeedAction", "kind": "struct", "summary": "Speed dial: a round floating action button that fans out related actions. Returns the chosen action index, or -1. (16 bytes)", "members": [{ "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeSpeedDialOpts", "displayName": "NativeSpeedDialOpts", "kind": "struct", "summary": "cui_speed_dial_opts (32 bytes)", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|nint|||hccbc32a161449afe62353b5d908ca3da9aecdd74fe8acbce624e4004ec4575e7", "signature": "public nint Tooltip", "summary": "const char * (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeSplitBarOpts", "displayName": "NativeSplitBarOpts", "kind": "struct", "summary": "Split bar: one bar split into parts, with a legend of values and shares. (32 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|byte|||h1f8a110b3f30258fe29c926542fc3ebe7571478d3c055e1b3267d8e06e0b33f4", "signature": "public byte NoLegend", "summary": "_Bool (offset 24)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeSplitButtonOpts", "displayName": "NativeSplitButtonOpts", "kind": "struct", "summary": "Split button: a main action with a menu of related actions on the chevron. Returns 0 when the main part is clicked, 1 \u002B i when menu item i is chosen and -1 otherwise. (40 bytes)", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "default primary (offset 4)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 8)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 16)" }, { "name": "ItemIcons", "kind": "field", "id": "field|ItemIcons|0|0|nint|||hf996e386ec0edc6b010dcbf70b7b0f78487e0478b1fd7af23be8a0b7015a97ac", "signature": "public nint ItemIcons", "summary": "one icon per menu item, in the order of the items; \u0060NULL\u0060 for none (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeSplitOpts", "displayName": "NativeSplitOpts", "kind": "struct", "summary": "Resizable split view: two panes with a draggable divider. \u0060ratio\u0060 is the size of the first pane in 0..1. Call cui_split_next between the panes. (32 bytes)", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 16)" }, { "name": "Vertical", "kind": "field", "id": "field|Vertical|0|0|byte|||hb745bba6aac4c525e8693e60602d97beec17eb473cf709b8b490ef2233874e2f", "signature": "public byte Vertical", "summary": "_Bool (offset 4)" }, { "name": "MinFirst", "kind": "field", "id": "field|MinFirst|0|0|float|||h203ccf5752771158a9004b5869c64efac48743fd8ad2d4052049ab858c705911", "signature": "public float MinFirst", "summary": "float (offset 8)" }, { "name": "MinSecond", "kind": "field", "id": "field|MinSecond|0|0|float|||hc79d7e0191f3217f02adf136ff4c3f9fbe0fad72ad8716f348481f65792590d7", "signature": "public float MinSecond", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeSpotlightOpts", "displayName": "NativeSpotlightOpts", "kind": "struct", "summary": "Spotlight card: a soft light follows the pointer across the card and lights the nearest stretch of its border. beam sends a light around the edge. (36 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 28)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Beam", "kind": "field", "id": "field|Beam|0|0|byte|||h78b24f69e619dd4eefe246a310576e875e69b98c218f29ae86b263fa65615784", "signature": "public byte Beam", "summary": "a light travels around the card\u0027s edge all the time (offset 32)" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float (offset 24)" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeStackFrame", "displayName": "NativeStackFrame", "kind": "struct", "summary": "An exception and its call stack: the error\u0027s type and message, then each frame\u0027s function and position. Runs of library frames fold into one row. A frame with source opens to show the lines around it, the failing line marked; the first frame of your own code starts open. A button copies the whole trace as text. (48 bytes)", "members": [{ "name": "External", "kind": "field", "id": "field|External|0|0|byte|||ha8265ee781ce641e84fefb190ac962d15378467082b2b86fc10d03d0d34bb7fc", "signature": "public byte External", "summary": "library or runtime code (offset 24)" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "1 based; 0 leaves it out (offset 20)" }, { "name": "Line", "kind": "field", "id": "field|Line|0|0|int|||h1879f4fdbcfa3a3747d1163cdd353585f2b2bd90bfd45d0dfb258aacbc098d3e", "signature": "public int Line", "summary": "1 based; 0 leaves it out (offset 16)" }, { "name": "SourceCount", "kind": "field", "id": "field|SourceCount|0|0|int|||h62021a37d45c4db52172f9a61efa4fae8828ed31779da0ac4353b76ede71fe6f", "signature": "public int SourceCount", "summary": "number of lines in \u0060source\u0060 (offset 40)" }, { "name": "SourceFirst", "kind": "field", "id": "field|SourceFirst|0|0|int|||hdbfe26cdd0e9e35221244418a1765d3b7ab294b68bdd1b1356d37e84561caf72", "signature": "public int SourceFirst", "summary": "line number of source[0] (offset 44)" }, { "name": "File", "kind": "field", "id": "field|File|0|0|nint|||hf18b959cb1aa589cfedfeb3f56d2a4481a5c4eac07083fc9750af44c4bf0cf08", "signature": "public nint File", "summary": "path shown with the line and column; on a phone only the file\u0027s name (offset 8)" }, { "name": "Function", "kind": "field", "id": "field|Function|0|0|nint|||h359813c28a2b2655c617ce711be9405192a301bd22f4d9edb5b908c280860f5a", "signature": "public nint Function", "summary": "name of the function; \u0060NULL\u0060 or \u0022\u0022 shows as \u003Canonymous\u003E (offset 0)" }, { "name": "Source", "kind": "field", "id": "field|Source|0|0|nint|||h1199d329667bd917815202c41d44da21fc731a62f0507af39b62283f6b5248d9", "signature": "public nint Source", "summary": "lines around the frame, may be NULL (offset 32)" }] }, + { "name": "CuiSharp.Interop.NativeStackTraceOpts", "displayName": "NativeStackTraceOpts", "kind": "struct", "summary": "cui_stack_trace_opts (40 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|nint|||h47e017876cc656beadab67c2a3da7d17ebe65dbbb9bf477edfc76ac1167c397a", "signature": "public nint Lang", "summary": "highlights the source, as the code block (offset 32)" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|nint|||hd26a8e53b67f4e6b6a7f4704f738a3b1510f63da8dbf582c674431012ef50a25", "signature": "public nint Message", "summary": "\u0022Cannot read properties of undefined\u0022 (offset 24)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "\u0022TypeError\u0022 (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeStackTraceResult", "displayName": "NativeStackTraceResult", "kind": "struct", "summary": "cui_stack_trace_result (4 bytes)", "members": [{ "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "frame, or -1 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeStatusBarOpts", "displayName": "NativeStatusBarOpts", "kind": "struct", "summary": "Status bar: a thin bar along the bottom of a window, with a hairline on top and no fill of its own (put it in a box with the background you want). Items go left to right; cui_status_bar_spacer sends the rest to the right edge. (8 bytes)", "members": [{ "name": "NoBorder", "kind": "field", "id": "field|NoBorder|0|0|byte|||h52a658d9e90fb592c2d5b234fe36d916b01f85259ebf498345a83768a1f7a51c", "signature": "public byte NoBorder", "summary": "_Bool (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeStatusButtonOpts", "displayName": "NativeStatusButtonOpts", "kind": "struct", "summary": "cui_status_button_opts (48 bytes)", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "default primary (offset 40)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 44)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "BusyLabel", "kind": "field", "id": "field|BusyLabel|0|0|nint|||h7418c01f70a9e1eabb71b5d8cc75ad46e224ff10ac01cb888f137e316ecba0d6", "signature": "public nint BusyLabel", "summary": "default label \u002B \u0022...\u0022 (offset 8)" }, { "name": "ErrorLabel", "kind": "field", "id": "field|ErrorLabel|0|0|nint|||h4d51ceaf0bb5485cc3c5cecfe97b48f8c1ce7ca0065ed2e21927b16b2148ffa1", "signature": "public nint ErrorLabel", "summary": "default \u0022Failed\u0022 (offset 24)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 32)" }, { "name": "SuccessLabel", "kind": "field", "id": "field|SuccessLabel|0|0|nint|||h52b469e83af8845eb0ffa86afd486d11bb27a4afd532a477963671bc2935e693", "signature": "public nint SuccessLabel", "summary": "default \u0022Done\u0022 (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeStatusItemOpts", "displayName": "NativeStatusItemOpts", "kind": "struct", "summary": "cui_status_item_opts (40 bytes)", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 16)" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|nint|||hccbc32a161449afe62353b5d908ca3da9aecdd74fe8acbce624e4004ec4575e7", "signature": "public nint Tooltip", "summary": "const char * (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeStatusProgressOpts", "displayName": "NativeStatusProgressOpts", "kind": "struct", "summary": "A small progress bar with an optional label. value is 0..1. (24 bytes)", "members": [{ "name": "Indeterminate", "kind": "field", "id": "field|Indeterminate|0|0|byte|||hfedb6a86910124c963d29f1734bebdd306e24edb2eb5d92514b1fc88f2d3b8a7", "signature": "public byte Indeterminate", "summary": "_Bool (offset 16)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeStrings", "displayName": "NativeStrings", "kind": "struct", "summary": "Text the components show, for another language. CUI keeps the pointer (the table must outlive its use) and reads it every frame, so switching language is one call. An entry left NULL falls back to English, so a partial table is fine. Weeks start on Monday, as in every CUI calendar. NULL restores English. (368 bytes)", "members": [{ "name": "Month", "kind": "field", "id": "field|Month|0|0|NativeStringsMonthArray|||hcacca9a3c4685006c0aa47e340453d8267d29c9d82b3eb7e37128ce6f09bbd89", "signature": "public NativeStringsMonthArray Month", "summary": "\u0022January\u0022 ... (offset 0)" }, { "name": "MonthShort", "kind": "field", "id": "field|MonthShort|0|0|NativeStringsMonthShortArray|||hca9492ba31505439c2559001e626a3a328bb2f56cf6e48afa287444101cc9330", "signature": "public NativeStringsMonthShortArray MonthShort", "summary": "\u0022Jan\u0022 ... (offset 96)" }, { "name": "Weekday", "kind": "field", "id": "field|Weekday|0|0|NativeStringsWeekdayArray|||h6e9cb985ef11e99168d556d88f27512f7e41a9ed53ef0ee00746477ec6610e7f", "signature": "public NativeStringsWeekdayArray Weekday", "summary": "\u0022Monday\u0022 ... \u0022Sunday\u0022 (offset 192)" }, { "name": "WeekdayMin", "kind": "field", "id": "field|WeekdayMin|0|0|NativeStringsWeekdayMinArray|||hd66ca260a97dae4a46e5c45c9017a13772fe6458503b5b4ea3cfaf205664049f", "signature": "public NativeStringsWeekdayMinArray WeekdayMin", "summary": "\u0022Mo\u0022 ... (offset 304)" }, { "name": "WeekdayShort", "kind": "field", "id": "field|WeekdayShort|0|0|NativeStringsWeekdayShortArray|||hca168e415864005643e82d73aebaef9f11fcf3e927e3d677ff11be9f37c284b5", "signature": "public NativeStringsWeekdayShortArray WeekdayShort", "summary": "\u0022Mon\u0022 ... (offset 248)" }, { "name": "Today", "kind": "field", "id": "field|Today|0|0|nint|||h3505f2cb683a52d1b5989c440edc6b3fb23ce36b2bebf3499fbfc51c9a7abd3d", "signature": "public nint Today", "summary": "\u0022Today\u0022 (offset 360)" }] }, { "name": "CuiSharp.Interop.NativeStringsMonthArray", "displayName": "NativeStringsMonthArray", "kind": "struct", "summary": "[12] array of nint, for cui_strings.", "members": [] }, { "name": "CuiSharp.Interop.NativeStringsMonthShortArray", "displayName": "NativeStringsMonthShortArray", "kind": "struct", "summary": "[12] array of nint, for cui_strings.", "members": [] }, { "name": "CuiSharp.Interop.NativeStringsWeekdayArray", "displayName": "NativeStringsWeekdayArray", "kind": "struct", "summary": "[7] array of nint, for cui_strings.", "members": [] }, { "name": "CuiSharp.Interop.NativeStringsWeekdayMinArray", "displayName": "NativeStringsWeekdayMinArray", "kind": "struct", "summary": "[7] array of nint, for cui_strings.", "members": [] }, { "name": "CuiSharp.Interop.NativeStringsWeekdayShortArray", "displayName": "NativeStringsWeekdayShortArray", "kind": "struct", "summary": "[7] array of nint, for cui_strings.", "members": [] }, - { "name": "CuiSharp.Interop.NativeSwipeAction", "displayName": "NativeSwipeAction", "kind": "struct", "summary": "cui_swipe_action, 24 bytes.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeTabBarItem", "displayName": "NativeTabBarItem", "kind": "struct", "summary": "cui_tab_bar_item, 24 bytes.", "members": [{ "name": "Badge", "kind": "field", "id": "field|Badge|0|0|int|||h1ea0a5985eea3db7ed64622a6693b2d10e07bdfdc4610208a1b5ee962fce491c", "signature": "public int Badge", "summary": "int (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeTabBarOpts", "displayName": "NativeTabBarOpts", "kind": "struct", "summary": "cui_tab_bar_opts, 16 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "LabelsOnSelectedOnly", "kind": "field", "id": "field|LabelsOnSelectedOnly|0|0|byte|||h7c79d3d68d524da29809f8520014d7670afee76365b038d9de42efdd87eddea3", "signature": "public byte LabelsOnSelectedOnly", "summary": "_Bool (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTableColumn", "displayName": "NativeTableColumn", "kind": "struct", "summary": "cui_table_column, 24 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 8)" }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "cui_text_align (offset 16)" }, { "name": "Sortable", "kind": "field", "id": "field|Sortable|0|0|byte|||he9070b0f1a6618362c7d61bbbdebf35e70e6d19b96b6e0a0848b987b2f8927ef", "signature": "public byte Sortable", "summary": "_Bool (offset 20)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTableOpts", "displayName": "NativeTableOpts", "kind": "struct", "summary": "cui_table_opts, 32 bytes.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 16)" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|byte|||h82ad4978e776988891fb40f0e87ef125edf87783174f60001d6260930e049142", "signature": "public byte Compact", "summary": "_Bool (offset 25)" }, { "name": "Selectable", "kind": "field", "id": "field|Selectable|0|0|byte|||hcd5e0a50ec91d1ba0d70d738d5b04dcc2d41920132c01a0fbe281f53b4d2ca83", "signature": "public byte Selectable", "summary": "_Bool (offset 26)" }, { "name": "Striped", "kind": "field", "id": "field|Striped|0|0|byte|||hd2f33c74b431b991629cd3110070b2971b239e494028617bdf5c8495f08a3c04", "signature": "public byte Striped", "summary": "_Bool (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Sort", "kind": "field", "id": "field|Sort|0|0|nint|||h9d98eab2f080d85ca8cb2b51bbfbb1c26340f12564431ce3c0cb8b55484a96e2", "signature": "public nint Sort", "summary": "cui_table_sort * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeTableSort", "displayName": "NativeTableSort", "kind": "struct", "summary": "cui_table_sort, 8 bytes.", "members": [{ "name": "Descending", "kind": "field", "id": "field|Descending|0|0|byte|||hc0e229b02b6c4e45e5dc7c717eab3964ae312584a09e30661ab7013cc72a4847", "signature": "public byte Descending", "summary": "_Bool (offset 4)" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTabsOpts", "displayName": "NativeTabsOpts", "kind": "struct", "summary": "cui_tabs_opts, 24 bytes.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|TabsVariant|||h49f8a6f3a6cada318bc7957941b921d2719766718e3e73680559679aab99b41d", "signature": "public TabsVariant Variant", "summary": "cui_tabs_variant (offset 4)" }, { "name": "FullWidth", "kind": "field", "id": "field|FullWidth|0|0|byte|||hd01f4e7d92479240099d4691e65654bcd8a680160c7cec92dbd21a81d9339563", "signature": "public byte FullWidth", "summary": "_Bool (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|nint|||h9dcb1e799c22cfc28d5f3330f8ad5d309473e6a32f68ce7efd7068c42c7988da", "signature": "public nint Icons", "summary": "const char *const * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeTagOpts", "displayName": "NativeTagOpts", "kind": "struct", "summary": "cui_tag_opts, 40 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 28)" }, { "name": "MaxTags", "kind": "field", "id": "field|MaxTags|0|0|int|||h8b26d1afd151f6d00ddf61355c9b723d07f9b163c1b15507df383533264ce0ab", "signature": "public int MaxTags", "summary": "int (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeTerminalBuffer", "displayName": "NativeTerminalBuffer", "kind": "struct", "summary": "cui_terminal_buffer, 88 bytes.", "members": [{ "name": "Seq", "kind": "field", "id": "field|Seq|0|0|\u003CSeq\u003Ee__FixedBuffer|||h02a1e395ead27eab72d98270ab74745b038d1b60847cbafbda748ff537865117", "signature": "public \u003CSeq\u003Ee__FixedBuffer Seq", "summary": "char[30] (offset 50)" }, { "name": "Cr", "kind": "field", "id": "field|Cr|0|0|byte|||hfecfa19379b02dcd5d0fca23cd0035e032e3d42c22c8fb56c2123a781e8a32e6", "signature": "public byte Cr", "summary": "_Bool (offset 80)" }, { "name": "Mode", "kind": "field", "id": "field|Mode|0|0|byte|||hc48af46ab8df3bf1e9fde7c99f8133936d52727786d62bae83f6331816627f29", "signature": "public byte Mode", "summary": "uint8_t (offset 48)" }, { "name": "SeqN", "kind": "field", "id": "field|SeqN|0|0|byte|||h15701c1af31fed967770e108bd7e205d13bf2ec84ca3f32178a0be3d7465f0df", "signature": "public byte SeqN", "summary": "uint8_t (offset 49)" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "int (offset 32)" }, { "name": "First", "kind": "field", "id": "field|First|0|0|int|||hddb39d158b15c0e54cb1ea0a7e52a0d84393cbbb9cb6d04a44db44d9fd9a4c88", "signature": "public int First", "summary": "int (offset 28)" }, { "name": "LineCap", "kind": "field", "id": "field|LineCap|0|0|int|||h05488096a6a3cd48bc7e8274702b633d8af22f79f127b19f95b8cd3d47511049", "signature": "public int LineCap", "summary": "int (offset 24)" }, { "name": "Lines", "kind": "field", "id": "field|Lines|0|0|nint|||h7ccda7c4f0b08a1147624d853801d5dcd6e8072f045b1eb489cd55ee7a31e86f", "signature": "public nint Lines", "summary": "cui_terminal_line * (offset 16)" }, { "name": "Text", "kind": "field", "id": "field|Text|0|0|nint|||h66aaa42b78279f1149dcb8a32f27fc2db74dc535e86360cd658d24fb0bf042d8", "signature": "public nint Text", "summary": "char * (offset 0)" }, { "name": "End", "kind": "field", "id": "field|End|0|0|uint|||hba9d98d6514840604832423e241c2f96b82576eaa10ee04508cbd8ae2076b7b5", "signature": "public uint End", "summary": "uint32_t (offset 36)" }, { "name": "TextCap", "kind": "field", "id": "field|TextCap|0|0|uint|||hd920abfd46ff0525abf61849dfa336ab731063d31b2036e2377f1fe031b06d48", "signature": "public uint TextCap", "summary": "uint32_t (offset 8)" }, { "name": "Total", "kind": "field", "id": "field|Total|0|0|ulong|||hc70e2cd9e719427562e8e197773d80368e777c17f84a89cd743f7c844d1b1ab7", "signature": "public ulong Total", "summary": "uint64_t (offset 40)" }] }, - { "name": "CuiSharp.Interop.NativeTerminalLine", "displayName": "NativeTerminalLine", "kind": "struct", "summary": "cui_terminal_line, 12 bytes.", "members": [{ "name": "Cols", "kind": "field", "id": "field|Cols|0|0|uint|||h3ee540d859e0b6556994c55becf0e34c90eb9ba074bdeaae4d2da01c4ba7662d", "signature": "public uint Cols", "summary": "uint32_t (offset 8)" }, { "name": "Len", "kind": "field", "id": "field|Len|0|0|uint|||h9a7aa5477bab3013c524af61a8579b6327603d131ea638cadc7b4f4863a23b7e", "signature": "public uint Len", "summary": "uint32_t (offset 4)" }, { "name": "Offset", "kind": "field", "id": "field|Offset|0|0|uint|||h05a920517fe4fac075579a468ffc003bcb5361b495613ee0c64c3c8b144de92f", "signature": "public uint Offset", "summary": "uint32_t (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTerminalOpts", "displayName": "NativeTerminalOpts", "kind": "struct", "summary": "cui_terminal_opts, 40 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "NoInput", "kind": "field", "id": "field|NoInput|0|0|byte|||h95f69fb3822a8173a446d69440f6e7912a4ded8239bd4bf966d16529880def39", "signature": "public byte NoInput", "summary": "_Bool (offset 32)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Prompt", "kind": "field", "id": "field|Prompt|0|0|nint|||hed4372b86955f80d940b10b8c8a058047917e4b7553247c952de7a2087a44a13", "signature": "public nint Prompt", "summary": "const char * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeTerminalResult", "displayName": "NativeTerminalResult", "kind": "struct", "summary": "cui_terminal_result, 16 bytes.", "members": [{ "name": "Interrupt", "kind": "field", "id": "field|Interrupt|0|0|byte|||hc8270aa549978b3adc650c69c359fa4006cad455195fcee3fd59ce68a0e47a67", "signature": "public byte Interrupt", "summary": "_Bool (offset 8)" }, { "name": "Command", "kind": "field", "id": "field|Command|0|0|nint|||ha64c5c753285e258582983c0ee7898ab2061a9a524e66bf4988757944e980853", "signature": "public nint Command", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTestExplorerOpts", "displayName": "NativeTestExplorerOpts", "kind": "struct", "summary": "cui_test_explorer_opts, 16 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTestExplorerResult", "displayName": "NativeTestExplorerResult", "kind": "struct", "summary": "cui_test_explorer_result, 32 bytes.", "members": [{ "name": "RunAll", "kind": "field", "id": "field|RunAll|0|0|byte|||h1611193803050140e3bbd61c86a0318dc912152eea54720b3c1ad3563bf297d9", "signature": "public byte RunAll", "summary": "_Bool (offset 12)" }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "int (offset 4)" }, { "name": "Failed", "kind": "field", "id": "field|Failed|0|0|int|||h954e3e1cff0f1c1bb6525eb637eb532fe3800ffae0e88a17e8937e71770eb878", "signature": "public int Failed", "summary": "int (offset 20)" }, { "name": "Passed", "kind": "field", "id": "field|Passed|0|0|int|||ha54154687a68e2d3d923fd44deff6ffd7b2827cd859fd5c85fb74ca762065819", "signature": "public int Passed", "summary": "int (offset 16)" }, { "name": "Run", "kind": "field", "id": "field|Run|0|0|int|||h0ec7bdebf60675d120297a95cf2c08e9e717550db21f2ba45d23e163df40ba24", "signature": "public int Run", "summary": "int (offset 8)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "int (offset 0)" }, { "name": "Skipped", "kind": "field", "id": "field|Skipped|0|0|int|||h9233e29a38823c989e2d1ba105e13aa0edb8fb494155446c9779f82e28e85383", "signature": "public int Skipped", "summary": "int (offset 24)" }, { "name": "Total", "kind": "field", "id": "field|Total|0|0|int|||h2541c69f06cf8d174824c50787be284aaf2e18bcc6734e72b01d11fde3e30f21", "signature": "public int Total", "summary": "int (offset 28)" }] }, - { "name": "CuiSharp.Interop.NativeTestItem", "displayName": "NativeTestItem", "kind": "struct", "summary": "cui_test_item, 32 bytes.", "members": [{ "name": "Status", "kind": "field", "id": "field|Status|0|0|JobStatus|||h8dbfd9370caabecd55d2b859321b59d6a4ee052ab7364783aff88cbd0eff2901", "signature": "public JobStatus Status", "summary": "cui_job_status (offset 12)" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "float (offset 16)" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "int (offset 8)" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|nint|||hd26a8e53b67f4e6b6a7f4704f738a3b1510f63da8dbf582c674431012ef50a25", "signature": "public nint Message", "summary": "const char * (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTextFxOpts", "displayName": "NativeTextFxOpts", "kind": "struct", "summary": "cui_text_fx_opts, 40 bytes.", "members": [{ "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "cui_font (offset 4)" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 16)" }, { "name": "Caret", "kind": "field", "id": "field|Caret|0|0|byte|||hd387dd79d8841fcd3b3ee40f2259b05d4b0ecbe07ca4137836f35be05152f04b", "signature": "public byte Caret", "summary": "_Bool (offset 36)" }, { "name": "Nowrap", "kind": "field", "id": "field|Nowrap|0|0|byte|||h86f520c340aaa6d1290cb6df2e2cd2fd8de7f931a2f2f2195b7c2db9443ccaf9", "signature": "public byte Nowrap", "summary": "_Bool (offset 24)" }, { "name": "Delay", "kind": "field", "id": "field|Delay|0|0|float|||h3a45177d911de60d3c1058d19f965797cda6f4da3e3656b82d0a5ea6832de388", "signature": "public float Delay", "summary": "float (offset 32)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 8)" }, { "name": "Speed", "kind": "field", "id": "field|Speed|0|0|float|||h2ba64f4f7b87ff7c83f6953450f7a11e533584380fff99eb3ff47fdb3ff7deac", "signature": "public float Speed", "summary": "float (offset 28)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTextMark", "displayName": "NativeTextMark", "kind": "struct", "summary": "cui_text_mark, 12 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|int|||hc8bb6c96b99475fa7944168851a42353a5485b00cf73bf71a02c209b6e3d49c6", "signature": "public int Color", "summary": "int (offset 8)" }, { "name": "End", "kind": "field", "id": "field|End|0|0|int|||h101ad3d5ebda13e9c347a22363390231322c8fbb64d191c3a092d362955b7964", "signature": "public int End", "summary": "int (offset 4)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|int|||ha1b0c3e4699fce964620bef0f781444da21c0b72084141f26a9e30e25bf70e5f", "signature": "public int Start", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTextMetrics", "displayName": "NativeTextMetrics", "kind": "struct", "summary": "cui_text_metrics, 20 bytes.", "members": [{ "name": "Ascent", "kind": "field", "id": "field|Ascent|0|0|float|||hceaa6e754854ebf6cd06c035b6404714ea8d67767cf0ab9c758a9948f51cf547", "signature": "public float Ascent", "summary": "float (offset 8)" }, { "name": "Descent", "kind": "field", "id": "field|Descent|0|0|float|||h74b83e0d8cde368bd5e25c3db44bf755a3cf844a6e2b22fcf370f7f81fa604b2", "signature": "public float Descent", "summary": "float (offset 12)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 4)" }, { "name": "LineHeight", "kind": "field", "id": "field|LineHeight|0|0|float|||hd04f8c37288bfa75d1784f32ad03a4f0296751d116d20c7a399cdba4f46d572d", "signature": "public float LineHeight", "summary": "float (offset 16)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTextOpts", "displayName": "NativeTextOpts", "kind": "struct", "summary": "cui_text_opts, 40 bytes.", "members": [{ "name": "Direction", "kind": "field", "id": "field|Direction|0|0|Direction|||h894fea11f583bab4f597860149502f9c496b27b2c30b238beaf6828e963d3be0", "signature": "public Direction Direction", "summary": "cui_direction (offset 36)" }, { "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "cui_font (offset 4)" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 24)" }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "cui_text_align (offset 16)" }, { "name": "Nowrap", "kind": "field", "id": "field|Nowrap|0|0|byte|||h86f520c340aaa6d1290cb6df2e2cd2fd8de7f931a2f2f2195b7c2db9443ccaf9", "signature": "public byte Nowrap", "summary": "_Bool (offset 20)" }, { "name": "Selectable", "kind": "field", "id": "field|Selectable|0|0|byte|||hcd5e0a50ec91d1ba0d70d738d5b04dcc2d41920132c01a0fbe281f53b4d2ca83", "signature": "public byte Selectable", "summary": "_Bool (offset 22)" }, { "name": "Tabular", "kind": "field", "id": "field|Tabular|0|0|byte|||hc38190bf64035146a53fd36e747867fa112cff9858bf4707ff820623cb8fa719", "signature": "public byte Tabular", "summary": "_Bool (offset 21)" }, { "name": "LineHeight", "kind": "field", "id": "field|LineHeight|0|0|float|||hd04f8c37288bfa75d1784f32ad03a4f0296751d116d20c7a399cdba4f46d572d", "signature": "public float LineHeight", "summary": "float (offset 32)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTheme", "displayName": "NativeTheme", "kind": "struct", "summary": "cui_theme, 328 bytes.", "members": [{ "name": "Heading", "kind": "field", "id": "field|Heading|0|0|\u003CHeading\u003Ee__FixedBuffer|||hc1aa3c8295d295d5a09ba2eba90afd1ab17cb2a626efb40712c7cbe6b6eec8b9", "signature": "public \u003CHeading\u003Ee__FixedBuffer Heading", "summary": "float[4] (offset 208)" }, { "name": "ToneAmber", "kind": "field", "id": "field|ToneAmber|0|0|NativeColor|||h26e5a8b5b478475c6fc2388a4f9bf499bc9dd0d701c6497982b6f464d8de5af5", "signature": "public NativeColor ToneAmber", "summary": "cui_color (offset 152)" }, { "name": "ToneGreen", "kind": "field", "id": "field|ToneGreen|0|0|NativeColor|||h5c2727e9e42027084e9da574306e59b203d78d1328cee62c187aae9015db8d5b", "signature": "public NativeColor ToneGreen", "summary": "cui_color (offset 148)" }, { "name": "ToneOrchid", "kind": "field", "id": "field|ToneOrchid|0|0|NativeColor|||h31e61310bb507f37b6d9ba2694564874e475f7894a63f4b17578952a96158895", "signature": "public NativeColor ToneOrchid", "summary": "cui_color (offset 160)" }, { "name": "ToneRose", "kind": "field", "id": "field|ToneRose|0|0|NativeColor|||h1ee30bf2a887a0c13df57e96ce36f8765222ff5ba2933c41734b6de2c8225171", "signature": "public NativeColor ToneRose", "summary": "cui_color (offset 156)" }, { "name": "ToneSky", "kind": "field", "id": "field|ToneSky|0|0|NativeColor|||h527f138f593b92a6a412f88067dbd0301816829fcf9a841efe5a349088d82893", "signature": "public NativeColor ToneSky", "summary": "cui_color (offset 140)" }, { "name": "ToneTeal", "kind": "field", "id": "field|ToneTeal|0|0|NativeColor|||hd3dcab39cf549b195e69ed1f6a00fefef45e2e45a1b05bba3440cafcd2206cae", "signature": "public NativeColor ToneTeal", "summary": "cui_color (offset 144)" }, { "name": "ToneViolet", "kind": "field", "id": "field|ToneViolet|0|0|NativeColor|||h88e53f74330c6d0e5bcb2bc02bb7620d34e6df78915dd0ed84898f55e24b4247", "signature": "public NativeColor ToneViolet", "summary": "cui_color (offset 164)" }, { "name": "Colors", "kind": "field", "id": "field|Colors|0|0|NativeThemeColorsArray|||h596616b654e16ac63403ee81f2b9b3cc1ddec56a96213301be1654364dfe84eb", "signature": "public NativeThemeColorsArray Colors", "summary": "cui_color[35] (offset 0)" }, { "name": "ShadowFloating", "kind": "field", "id": "field|ShadowFloating|0|0|NativeThemeShadowFloatingArray|||hee23e16aeda0a1c5efea6047285bbdb62bbab91e60e6fd50d8dfe8440988631d", "signature": "public NativeThemeShadowFloatingArray ShadowFloating", "summary": "cui_shadow[2] (offset 288)" }, { "name": "ShadowRaised", "kind": "field", "id": "field|ShadowRaised|0|0|NativeThemeShadowRaisedArray|||h2f304b69e813c5228cf6f9499c1271d7cfff5e54ce1686836985f4a4c20f72ce", "signature": "public NativeThemeShadowRaisedArray ShadowRaised", "summary": "cui_shadow[2] (offset 256)" }, { "name": "ShadowResting", "kind": "field", "id": "field|ShadowResting|0|0|NativeThemeShadowRestingArray|||h119fc7906a813495b8a56c8296a0e9d0c2475e95f20e6081c370238b483d27eb", "signature": "public NativeThemeShadowRestingArray ShadowResting", "summary": "cui_shadow[2] (offset 224)" }, { "name": "ControlLg", "kind": "field", "id": "field|ControlLg|0|0|float|||h063c4c84d303be877d2dc59acff00d794a56c64d71fb277da5ea7847f60c0d20", "signature": "public float ControlLg", "summary": "float (offset 188)" }, { "name": "ControlMd", "kind": "field", "id": "field|ControlMd|0|0|float|||h185bcf2185c1d5a89b29f546fa4b892376c4defe2e2929b2404002c8d34ddac0", "signature": "public float ControlMd", "summary": "float (offset 184)" }, { "name": "ControlSm", "kind": "field", "id": "field|ControlSm|0|0|float|||h2944ee52b0dff3adca048d66bd9e96b9966dc87bf82489f6af02f7c309cb77e0", "signature": "public float ControlSm", "summary": "float (offset 180)" }, { "name": "FontScale", "kind": "field", "id": "field|FontScale|0|0|float|||h1cfef4b8d8ca19a7a627e9b4fa9f8412cdc17305d59d1b5f3de2ff7a70c6e8bf", "signature": "public float FontScale", "summary": "float (offset 324)" }, { "name": "Motion", "kind": "field", "id": "field|Motion|0|0|float|||he110b6cc57b6b0d887b2ba7beedda3ecf2ccb1387f7639f14704f6780d9aa2b4", "signature": "public float Motion", "summary": "float (offset 320)" }, { "name": "RadiusControl", "kind": "field", "id": "field|RadiusControl|0|0|float|||h3cb73f74dd5c419f3982ab48fd62451ba3660678f9b0c40d7055fc496557cd4e", "signature": "public float RadiusControl", "summary": "float (offset 168)" }, { "name": "RadiusPanel", "kind": "field", "id": "field|RadiusPanel|0|0|float|||ha588a7ad13810692650b5b183cd00ceb06cdd6b1d92bf9d99719c8afa62d24cd", "signature": "public float RadiusPanel", "summary": "float (offset 172)" }, { "name": "RadiusSurface", "kind": "field", "id": "field|RadiusSurface|0|0|float|||ha683987e6e2f2ad5a01991e686f87cd575bd8e438c1ce5d6c823ef5c7e6b2707", "signature": "public float RadiusSurface", "summary": "float (offset 176)" }, { "name": "TextBody", "kind": "field", "id": "field|TextBody|0|0|float|||h3a5752730310d87d7a1eb02deb114343c8e8feb5633ca1eaddbe0b0848d94187", "signature": "public float TextBody", "summary": "float (offset 200)" }, { "name": "TextLg", "kind": "field", "id": "field|TextLg|0|0|float|||hcced80a2aa4a219dfe8e875c621d06b9b607b2d9451dade84718b345bd7f88d9", "signature": "public float TextLg", "summary": "float (offset 204)" }, { "name": "TextSm", "kind": "field", "id": "field|TextSm|0|0|float|||h38bac4916e48022cb117ce477857eda54af357c4ab6f7112ac916e1294ba115c", "signature": "public float TextSm", "summary": "float (offset 196)" }, { "name": "TextXs", "kind": "field", "id": "field|TextXs|0|0|float|||h37af59a2f1a25bc0a0cd3fa7a1f0c2f9c1bebb7cace3189479a0891553cce607", "signature": "public float TextXs", "summary": "float (offset 192)" }] }, + { "name": "CuiSharp.Interop.NativeSwipeAction", "displayName": "NativeSwipeAction", "kind": "struct", "summary": "Swipe actions: drag a row sideways (or swipe on a trackpad) to reveal actions behind it. A long swipe triggers the first action. The row content goes between begin and end; end returns the chosen action: 0..left_count-1 for left actions, 100 \u002B i for right actions, or -1. (24 bytes)", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeTabBarItem", "displayName": "NativeTabBarItem", "kind": "struct", "summary": "Bottom tab bar for compact layouts, with a pill that glides to the selection. (24 bytes)", "members": [{ "name": "Badge", "kind": "field", "id": "field|Badge|0|0|int|||h1ea0a5985eea3db7ed64622a6693b2d10e07bdfdc4610208a1b5ee962fce491c", "signature": "public int Badge", "summary": "a count on the icon (\u00229\u002B\u0022 above 9); 0 for none (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeTabBarOpts", "displayName": "NativeTabBarOpts", "kind": "struct", "summary": "cui_tab_bar_opts (16 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "LabelsOnSelectedOnly", "kind": "field", "id": "field|LabelsOnSelectedOnly|0|0|byte|||h7c79d3d68d524da29809f8520014d7670afee76365b038d9de42efdd87eddea3", "signature": "public byte LabelsOnSelectedOnly", "summary": "only the selected tab shows its label; the others show just their icon (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTableColumn", "displayName": "NativeTableColumn", "kind": "struct", "summary": "Table (24 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 8)" }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "cui_text_align (offset 16)" }, { "name": "Sortable", "kind": "field", "id": "field|Sortable|0|0|byte|||he9070b0f1a6618362c7d61bbbdebf35e70e6d19b96b6e0a0848b987b2f8927ef", "signature": "public byte Sortable", "summary": "_Bool (offset 20)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "text of the column\u0027s header (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTableOpts", "displayName": "NativeTableOpts", "kind": "struct", "summary": "cui_table_opts (32 bytes)", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "scrolls when set (offset 16)" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|byte|||h82ad4978e776988891fb40f0e87ef125edf87783174f60001d6260930e049142", "signature": "public byte Compact", "summary": "rows at least 36 points tall instead of 44 (offset 25)" }, { "name": "Selectable", "kind": "field", "id": "field|Selectable|0|0|byte|||hcd5e0a50ec91d1ba0d70d738d5b04dcc2d41920132c01a0fbe281f53b4d2ca83", "signature": "public byte Selectable", "summary": "rows take keyboard focus and show the hand cursor (pass the chosen row\u0027s state to \u0060cui_table_row\u0060) (offset 26)" }, { "name": "Striped", "kind": "field", "id": "field|Striped|0|0|byte|||hd2f33c74b431b991629cd3110070b2971b239e494028617bdf5c8495f08a3c04", "signature": "public byte Striped", "summary": "_Bool (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Sort", "kind": "field", "id": "field|Sort|0|0|nint|||h9d98eab2f080d85ca8cb2b51bbfbb1c26340f12564431ce3c0cb8b55484a96e2", "signature": "public nint Sort", "summary": "optional, updated when a sortable header is clicked (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeTableSort", "displayName": "NativeTableSort", "kind": "struct", "summary": "cui_table_sort (8 bytes)", "members": [{ "name": "Descending", "kind": "field", "id": "field|Descending|0|0|byte|||hc0e229b02b6c4e45e5dc7c717eab3964ae312584a09e30661ab7013cc72a4847", "signature": "public byte Descending", "summary": "_Bool (offset 4)" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTabsOpts", "displayName": "NativeTabsOpts", "kind": "struct", "summary": "cui_tabs_opts (24 bytes)", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|TabsVariant|||h49f8a6f3a6cada318bc7957941b921d2719766718e3e73680559679aab99b41d", "signature": "public TabsVariant Variant", "summary": "cui_tabs_variant (offset 4)" }, { "name": "FullWidth", "kind": "field", "id": "field|FullWidth|0|0|byte|||hd01f4e7d92479240099d4691e65654bcd8a680160c7cec92dbd21a81d9339563", "signature": "public byte FullWidth", "summary": "_Bool (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|nint|||h9dcb1e799c22cfc28d5f3330f8ad5d309473e6a32f68ce7efd7068c42c7988da", "signature": "public nint Icons", "summary": "const char *const * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeTagOpts", "displayName": "NativeTagOpts", "kind": "struct", "summary": "Tag input: tags are stored comma separated in buf. Enter or comma adds the typed tag, Backspace on an empty field removes the last one. (40 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 28)" }, { "name": "MaxTags", "kind": "field", "id": "field|MaxTags|0|0|int|||h8b26d1afd151f6d00ddf61355c9b723d07f9b163c1b15507df383533264ce0ab", "signature": "public int MaxTags", "summary": "most tags the field holds; once reached it takes no more typing. 0 means no limit (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|nint|||hca9822b7cb32c981fa821b3bbeeaf069ba16c3b0ca3e319ac2cd7830b3b2e49d", "signature": "public nint Placeholder", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeTerminalBuffer", "displayName": "NativeTerminalBuffer", "kind": "struct", "summary": "cui_terminal_buffer (88 bytes)", "members": [{ "name": "Seq", "kind": "field", "id": "field|Seq|0|0|\u003CSeq\u003Ee__FixedBuffer|||h02a1e395ead27eab72d98270ab74745b038d1b60847cbafbda748ff537865117", "signature": "public \u003CSeq\u003Ee__FixedBuffer Seq", "summary": "the escape sequence being read, so a write can split one (offset 50)" }, { "name": "Cr", "kind": "field", "id": "field|Cr|0|0|byte|||hfecfa19379b02dcd5d0fca23cd0035e032e3d42c22c8fb56c2123a781e8a32e6", "signature": "public byte Cr", "summary": "a \\r was seen: the next character starts the line over (offset 80)" }, { "name": "Mode", "kind": "field", "id": "field|Mode|0|0|byte|||hc48af46ab8df3bf1e9fde7c99f8133936d52727786d62bae83f6331816627f29", "signature": "public byte Mode", "summary": "parser: text, escape, CSI or OSC (offset 48)" }, { "name": "SeqN", "kind": "field", "id": "field|SeqN|0|0|byte|||h15701c1af31fed967770e108bd7e205d13bf2ec84ca3f32178a0be3d7465f0df", "signature": "public byte SeqN", "summary": "bytes of \u0060seq\u0060 read so far (offset 49)" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "ring of lines; the last one is still being written (offset 32)" }, { "name": "First", "kind": "field", "id": "field|First|0|0|int|||hddb39d158b15c0e54cb1ea0a7e52a0d84393cbbb9cb6d04a44db44d9fd9a4c88", "signature": "public int First", "summary": "ring of lines; the last one is still being written (offset 28)" }, { "name": "LineCap", "kind": "field", "id": "field|LineCap|0|0|int|||h05488096a6a3cd48bc7e8274702b633d8af22f79f127b19f95b8cd3d47511049", "signature": "public int LineCap", "summary": "how many records \u0060lines\u0060 has room for; 0 when the buffer cannot be used (offset 24)" }, { "name": "Lines", "kind": "field", "id": "field|Lines|0|0|nint|||h7ccda7c4f0b08a1147624d853801d5dcd6e8072f045b1eb489cd55ee7a31e86f", "signature": "public nint Lines", "summary": "the line records given to \u0060cui_terminal_init\u0060 (offset 16)" }, { "name": "Text", "kind": "field", "id": "field|Text|0|0|nint|||h66aaa42b78279f1149dcb8a32f27fc2db74dc535e86360cd658d24fb0bf042d8", "signature": "public nint Text", "summary": "the bytes given to \u0060cui_terminal_init\u0060, holding the lines and their color sequences (offset 0)" }, { "name": "End", "kind": "field", "id": "field|End|0|0|uint|||hba9d98d6514840604832423e241c2f96b82576eaa10ee04508cbd8ae2076b7b5", "signature": "public uint End", "summary": "where the next byte goes (offset 36)" }, { "name": "TextCap", "kind": "field", "id": "field|TextCap|0|0|uint|||hd920abfd46ff0525abf61849dfa336ab731063d31b2036e2377f1fe031b06d48", "signature": "public uint TextCap", "summary": "size of \u0060text\u0060 in bytes (offset 8)" }, { "name": "Total", "kind": "field", "id": "field|Total|0|0|ulong|||hc70e2cd9e719427562e8e197773d80368e777c17f84a89cd743f7c844d1b1ab7", "signature": "public ulong Total", "summary": "lines ever started (offset 40)" }] }, + { "name": "CuiSharp.Interop.NativeTerminalLine", "displayName": "NativeTerminalLine", "kind": "struct", "summary": "Terminal: program output with ANSI colors over an input line with a prompt and history, for consoles, REPLs and build tools. Output goes into a buffer you own (appending never allocates; the oldest lines go when it is full) and is parsed as it arrives: \\n starts a line, \\r returns to its start (progress bars redraw in place), \\t, \\b, and ESC [ ... m sets colors and styles (16 colors, 256 and 24-bit; bold, dim, italic, underline, inverse). Other escape sequences are skipped. (12 bytes)", "members": [{ "name": "Cols", "kind": "field", "id": "field|Cols|0|0|uint|||h3ee540d859e0b6556994c55becf0e34c90eb9ba074bdeaae4d2da01c4ba7662d", "signature": "public uint Cols", "summary": "character cells the line takes, before wrapping (offset 8)" }, { "name": "Len", "kind": "field", "id": "field|Len|0|0|uint|||h9a7aa5477bab3013c524af61a8579b6327603d131ea638cadc7b4f4863a23b7e", "signature": "public uint Len", "summary": "bytes of the line, with its color sequences (offset 4)" }, { "name": "Offset", "kind": "field", "id": "field|Offset|0|0|uint|||h05a920517fe4fac075579a468ffc003bcb5361b495613ee0c64c3c8b144de92f", "signature": "public uint Offset", "summary": "where the line\u0027s bytes start in the buffer\u0027s \u0060text\u0060 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTerminalOpts", "displayName": "NativeTerminalOpts", "kind": "struct", "summary": "cui_terminal_opts (40 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 4)" }, { "name": "NoInput", "kind": "field", "id": "field|NoInput|0|0|byte|||h95f69fb3822a8173a446d69440f6e7912a4ded8239bd4bf966d16529880def39", "signature": "public byte NoInput", "summary": "output only (offset 32)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320; negative fills the space (offset 12)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 13 (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Prompt", "kind": "field", "id": "field|Prompt|0|0|nint|||hed4372b86955f80d940b10b8c8a058047917e4b7553247c952de7a2087a44a13", "signature": "public nint Prompt", "summary": "default \u0022$ \u0022 (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeTerminalResult", "displayName": "NativeTerminalResult", "kind": "struct", "summary": "cui_terminal_result (16 bytes)", "members": [{ "name": "Interrupt", "kind": "field", "id": "field|Interrupt|0|0|byte|||hc8270aa549978b3adc650c69c359fa4006cad455195fcee3fd59ce68a0e47a67", "signature": "public byte Interrupt", "summary": "Ctrl\u002BC with nothing selected (offset 8)" }, { "name": "Command", "kind": "field", "id": "field|Command|0|0|nint|||ha64c5c753285e258582983c0ee7898ab2061a9a524e66bf4988757944e980853", "signature": "public nint Command", "summary": "the line entered (Enter), already echoed; valid this frame (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTestExplorerOpts", "displayName": "NativeTestExplorerOpts", "kind": "struct", "summary": "cui_test_explorer_opts (16 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default 320 (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320 (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "default 320 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTestExplorerResult", "displayName": "NativeTestExplorerResult", "kind": "struct", "summary": "cui_test_explorer_result (32 bytes)", "members": [{ "name": "RunAll", "kind": "field", "id": "field|RunAll|0|0|byte|||h1611193803050140e3bbd61c86a0318dc912152eea54720b3c1ad3563bf297d9", "signature": "public byte RunAll", "summary": "the Run all button was pressed this frame (offset 12)" }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "items, or -1 (offset 4)" }, { "name": "Failed", "kind": "field", "id": "field|Failed|0|0|int|||h954e3e1cff0f1c1bb6525eb637eb532fe3800ffae0e88a17e8937e71770eb878", "signature": "public int Failed", "summary": "tests, not suites (offset 20)" }, { "name": "Passed", "kind": "field", "id": "field|Passed|0|0|int|||ha54154687a68e2d3d923fd44deff6ffd7b2827cd859fd5c85fb74ca762065819", "signature": "public int Passed", "summary": "tests, not suites (offset 16)" }, { "name": "Run", "kind": "field", "id": "field|Run|0|0|int|||h0ec7bdebf60675d120297a95cf2c08e9e717550db21f2ba45d23e163df40ba24", "signature": "public int Run", "summary": "item whose run button was pressed this frame, or -1 (offset 8)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "items, or -1 (offset 0)" }, { "name": "Skipped", "kind": "field", "id": "field|Skipped|0|0|int|||h9233e29a38823c989e2d1ba105e13aa0edb8fb494155446c9779f82e28e85383", "signature": "public int Skipped", "summary": "tests, not suites (offset 24)" }, { "name": "Total", "kind": "field", "id": "field|Total|0|0|int|||h2541c69f06cf8d174824c50787be284aaf2e18bcc6734e72b01d11fde3e30f21", "signature": "public int Total", "summary": "tests, not suites (offset 28)" }] }, + { "name": "CuiSharp.Interop.NativeTestItem", "displayName": "NativeTestItem", "kind": "struct", "summary": "Test results as a tree: suites fold, each test shows its status and time, and a failure shows its message under it. A suite\u0027s status sums up its tests. The toolbar runs everything, counts results and filters by status and by name. Hover a row for its run button. Only the rows in view are built. Up and Down move, Left and Right fold, Enter activates. Items are in tree order with their depth; the statuses are the pipeline\u0027s. (32 bytes)", "members": [{ "name": "Status", "kind": "field", "id": "field|Status|0|0|JobStatus|||h8dbfd9370caabecd55d2b859321b59d6a4ee052ab7364783aff88cbd0eff2901", "signature": "public JobStatus Status", "summary": "a suite\u0027s own status is ignored when it has tests (offset 12)" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "seconds, negative when it has not run (offset 16)" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "0 for the top suites (offset 8)" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|nint|||hd26a8e53b67f4e6b6a7f4704f738a3b1510f63da8dbf582c674431012ef50a25", "signature": "public nint Message", "summary": "why it failed, may be NULL (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "name of the suite or test; the toolbar\u0027s field filters by it (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTextFxOpts", "displayName": "NativeTextFxOpts", "kind": "struct", "summary": "Motion and text effects All of these respect reduced motion: they show their final state. (40 bytes)", "members": [{ "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "default \u0060CUI_FONT_BODY\u0060 (0) (offset 4)" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 16)" }, { "name": "Caret", "kind": "field", "id": "field|Caret|0|0|byte|||hd387dd79d8841fcd3b3ee40f2259b05d4b0ecbe07ca4137836f35be05152f04b", "signature": "public byte Caret", "summary": "typewriter: a blinking caret while typing (offset 36)" }, { "name": "Nowrap", "kind": "field", "id": "field|Nowrap|0|0|byte|||h86f520c340aaa6d1290cb6df2e2cd2fd8de7f931a2f2f2195b7c2db9443ccaf9", "signature": "public byte Nowrap", "summary": "keeps the text on one line instead of wrapping it (offset 24)" }, { "name": "Delay", "kind": "field", "id": "field|Delay|0|0|float|||h3a45177d911de60d3c1058d19f965797cda6f4da3e3656b82d0a5ea6832de388", "signature": "public float Delay", "summary": "seconds before it starts (offset 32)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 8)" }, { "name": "Speed", "kind": "field", "id": "field|Speed|0|0|float|||h2ba64f4f7b87ff7c83f6953450f7a11e533584380fff99eb3ff47fdb3ff7deac", "signature": "public float Speed", "summary": "shimmer: sweeps per second; typewriter: characters per second (offset 28)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTextMark", "displayName": "NativeTextMark", "kind": "struct", "summary": "Code editor: editable code with the code block\u0027s highlighting, a line number gutter and a monospace grid, for shader editors, script consoles and config files. You own the text: a NUL terminated buffer and its capacity, edited in place. (12 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|int|||hc8bb6c96b99475fa7944168851a42353a5485b00cf73bf71a02c209b6e3d49c6", "signature": "public int Color", "summary": "int (offset 8)" }, { "name": "End", "kind": "field", "id": "field|End|0|0|int|||h101ad3d5ebda13e9c347a22363390231322c8fbb64d191c3a092d362955b7964", "signature": "public int End", "summary": "int (offset 4)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|int|||ha1b0c3e4699fce964620bef0f781444da21c0b72084141f26a9e30e25bf70e5f", "signature": "public int Start", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTextMetrics", "displayName": "NativeTextMetrics", "kind": "struct", "summary": "cui_text_metrics (20 bytes)", "members": [{ "name": "Ascent", "kind": "field", "id": "field|Ascent|0|0|float|||hceaa6e754854ebf6cd06c035b6404714ea8d67767cf0ab9c758a9948f51cf547", "signature": "public float Ascent", "summary": "float (offset 8)" }, { "name": "Descent", "kind": "field", "id": "field|Descent|0|0|float|||h74b83e0d8cde368bd5e25c3db44bf755a3cf844a6e2b22fcf370f7f81fa604b2", "signature": "public float Descent", "summary": "float (offset 12)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 4)" }, { "name": "LineHeight", "kind": "field", "id": "field|LineHeight|0|0|float|||hd04f8c37288bfa75d1784f32ad03a4f0296751d116d20c7a399cdba4f46d572d", "signature": "public float LineHeight", "summary": "float (offset 16)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTextOpts", "displayName": "NativeTextOpts", "kind": "struct", "summary": "cui_text_opts (40 bytes)", "members": [{ "name": "Direction", "kind": "field", "id": "field|Direction|0|0|Direction|||h894fea11f583bab4f597860149502f9c496b27b2c30b238beaf6828e963d3be0", "signature": "public Direction Direction", "summary": "inherited; AUTO examines this text (offset 36)" }, { "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "default CUI_FONT_BODY (0) (offset 4)" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "default foreground (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 24)" }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "cui_text_align (offset 16)" }, { "name": "Nowrap", "kind": "field", "id": "field|Nowrap|0|0|byte|||h86f520c340aaa6d1290cb6df2e2cd2fd8de7f931a2f2f2195b7c2db9443ccaf9", "signature": "public byte Nowrap", "summary": "single line, ellipsis when it does not fit (offset 20)" }, { "name": "Selectable", "kind": "field", "id": "field|Selectable|0|0|byte|||hcd5e0a50ec91d1ba0d70d738d5b04dcc2d41920132c01a0fbe281f53b4d2ca83", "signature": "public byte Selectable", "summary": "reserved (offset 22)" }, { "name": "Tabular", "kind": "field", "id": "field|Tabular|0|0|byte|||hc38190bf64035146a53fd36e747867fa112cff9858bf4707ff820623cb8fa719", "signature": "public byte Tabular", "summary": "tabular numbers (offset 21)" }, { "name": "LineHeight", "kind": "field", "id": "field|LineHeight|0|0|float|||hd04f8c37288bfa75d1784f32ad03a4f0296751d116d20c7a399cdba4f46d572d", "signature": "public float LineHeight", "summary": "multiplier, default 1.45 (offset 32)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "default theme text_body (offset 8)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTheme", "displayName": "NativeTheme", "kind": "struct", "summary": "cui_theme (328 bytes)", "members": [{ "name": "Heading", "kind": "field", "id": "field|Heading|0|0|\u003CHeading\u003Ee__FixedBuffer|||hc1aa3c8295d295d5a09ba2eba90afd1ab17cb2a626efb40712c7cbe6b6eec8b9", "signature": "public \u003CHeading\u003Ee__FixedBuffer Heading", "summary": "h1..h4: 36/28/22/17 (offset 208)" }, { "name": "ToneAmber", "kind": "field", "id": "field|ToneAmber|0|0|NativeColor|||h26e5a8b5b478475c6fc2388a4f9bf499bc9dd0d701c6497982b6f464d8de5af5", "signature": "public NativeColor ToneAmber", "summary": "cui_color (offset 152)" }, { "name": "ToneGreen", "kind": "field", "id": "field|ToneGreen|0|0|NativeColor|||h5c2727e9e42027084e9da574306e59b203d78d1328cee62c187aae9015db8d5b", "signature": "public NativeColor ToneGreen", "summary": "cui_color (offset 148)" }, { "name": "ToneOrchid", "kind": "field", "id": "field|ToneOrchid|0|0|NativeColor|||h31e61310bb507f37b6d9ba2694564874e475f7894a63f4b17578952a96158895", "signature": "public NativeColor ToneOrchid", "summary": "cui_color (offset 160)" }, { "name": "ToneRose", "kind": "field", "id": "field|ToneRose|0|0|NativeColor|||h1ee30bf2a887a0c13df57e96ce36f8765222ff5ba2933c41734b6de2c8225171", "signature": "public NativeColor ToneRose", "summary": "cui_color (offset 156)" }, { "name": "ToneSky", "kind": "field", "id": "field|ToneSky|0|0|NativeColor|||h527f138f593b92a6a412f88067dbd0301816829fcf9a841efe5a349088d82893", "signature": "public NativeColor ToneSky", "summary": "cui_color (offset 140)" }, { "name": "ToneTeal", "kind": "field", "id": "field|ToneTeal|0|0|NativeColor|||hd3dcab39cf549b195e69ed1f6a00fefef45e2e45a1b05bba3440cafcd2206cae", "signature": "public NativeColor ToneTeal", "summary": "cui_color (offset 144)" }, { "name": "ToneViolet", "kind": "field", "id": "field|ToneViolet|0|0|NativeColor|||h88e53f74330c6d0e5bcb2bc02bb7620d34e6df78915dd0ed84898f55e24b4247", "signature": "public NativeColor ToneViolet", "summary": "cui_color (offset 164)" }, { "name": "Colors", "kind": "field", "id": "field|Colors|0|0|NativeThemeColorsArray|||h596616b654e16ac63403ee81f2b9b3cc1ddec56a96213301be1654364dfe84eb", "signature": "public NativeThemeColorsArray Colors", "summary": "cui_color[35] (offset 0)" }, { "name": "ShadowFloating", "kind": "field", "id": "field|ShadowFloating|0|0|NativeThemeShadowFloatingArray|||hee23e16aeda0a1c5efea6047285bbdb62bbab91e60e6fd50d8dfe8440988631d", "signature": "public NativeThemeShadowFloatingArray ShadowFloating", "summary": "cui_shadow[2] (offset 288)" }, { "name": "ShadowRaised", "kind": "field", "id": "field|ShadowRaised|0|0|NativeThemeShadowRaisedArray|||h2f304b69e813c5228cf6f9499c1271d7cfff5e54ce1686836985f4a4c20f72ce", "signature": "public NativeThemeShadowRaisedArray ShadowRaised", "summary": "cui_shadow[2] (offset 256)" }, { "name": "ShadowResting", "kind": "field", "id": "field|ShadowResting|0|0|NativeThemeShadowRestingArray|||h119fc7906a813495b8a56c8296a0e9d0c2475e95f20e6081c370238b483d27eb", "signature": "public NativeThemeShadowRestingArray ShadowResting", "summary": "cui_shadow[2] (offset 224)" }, { "name": "ControlLg", "kind": "field", "id": "field|ControlLg|0|0|float|||h063c4c84d303be877d2dc59acff00d794a56c64d71fb277da5ea7847f60c0d20", "signature": "public float ControlLg", "summary": "control heights (30/36/44) (offset 188)" }, { "name": "ControlMd", "kind": "field", "id": "field|ControlMd|0|0|float|||h185bcf2185c1d5a89b29f546fa4b892376c4defe2e2929b2404002c8d34ddac0", "signature": "public float ControlMd", "summary": "control heights (30/36/44) (offset 184)" }, { "name": "ControlSm", "kind": "field", "id": "field|ControlSm|0|0|float|||h2944ee52b0dff3adca048d66bd9e96b9966dc87bf82489f6af02f7c309cb77e0", "signature": "public float ControlSm", "summary": "control heights (30/36/44) (offset 180)" }, { "name": "FontScale", "kind": "field", "id": "field|FontScale|0|0|float|||h1cfef4b8d8ca19a7a627e9b4fa9f8412cdc17305d59d1b5f3de2ff7a70c6e8bf", "signature": "public float FontScale", "summary": "user text scale multiplier (default 1) (offset 324)" }, { "name": "Motion", "kind": "field", "id": "field|Motion|0|0|float|||he110b6cc57b6b0d887b2ba7beedda3ecf2ccb1387f7639f14704f6780d9aa2b4", "signature": "public float Motion", "summary": "1 = normal, 0 = reduced motion (no travel), \u003E1 slow motion (offset 320)" }, { "name": "RadiusControl", "kind": "field", "id": "field|RadiusControl|0|0|float|||h3cb73f74dd5c419f3982ab48fd62451ba3660678f9b0c40d7055fc496557cd4e", "signature": "public float RadiusControl", "summary": "buttons, inputs (default 10) (offset 168)" }, { "name": "RadiusPanel", "kind": "field", "id": "field|RadiusPanel|0|0|float|||ha588a7ad13810692650b5b183cd00ceb06cdd6b1d92bf9d99719c8afa62d24cd", "signature": "public float RadiusPanel", "summary": "menus, popovers, nested panels (default 14) (offset 172)" }, { "name": "RadiusSurface", "kind": "field", "id": "field|RadiusSurface|0|0|float|||ha683987e6e2f2ad5a01991e686f87cd575bd8e438c1ce5d6c823ef5c7e6b2707", "signature": "public float RadiusSurface", "summary": "cards, dialogs (default 18) (offset 176)" }, { "name": "TextBody", "kind": "field", "id": "field|TextBody|0|0|float|||h3a5752730310d87d7a1eb02deb114343c8e8feb5633ca1eaddbe0b0848d94187", "signature": "public float TextBody", "summary": "11/12/13/15 (offset 200)" }, { "name": "TextLg", "kind": "field", "id": "field|TextLg|0|0|float|||hcced80a2aa4a219dfe8e875c621d06b9b607b2d9451dade84718b345bd7f88d9", "signature": "public float TextLg", "summary": "11/12/13/15 (offset 204)" }, { "name": "TextSm", "kind": "field", "id": "field|TextSm|0|0|float|||h38bac4916e48022cb117ce477857eda54af357c4ab6f7112ac916e1294ba115c", "signature": "public float TextSm", "summary": "11/12/13/15 (offset 196)" }, { "name": "TextXs", "kind": "field", "id": "field|TextXs|0|0|float|||h37af59a2f1a25bc0a0cd3fa7a1f0c2f9c1bebb7cace3189479a0891553cce607", "signature": "public float TextXs", "summary": "11/12/13/15 (offset 192)" }] }, { "name": "CuiSharp.Interop.NativeThemeColorsArray", "displayName": "NativeThemeColorsArray", "kind": "struct", "summary": "[35] array of NativeColor, for cui_theme.", "members": [] }, { "name": "CuiSharp.Interop.NativeThemeShadowFloatingArray", "displayName": "NativeThemeShadowFloatingArray", "kind": "struct", "summary": "[2] array of NativeShadow, for cui_theme.", "members": [] }, { "name": "CuiSharp.Interop.NativeThemeShadowRaisedArray", "displayName": "NativeThemeShadowRaisedArray", "kind": "struct", "summary": "[2] array of NativeShadow, for cui_theme.", "members": [] }, { "name": "CuiSharp.Interop.NativeThemeShadowRestingArray", "displayName": "NativeThemeShadowRestingArray", "kind": "struct", "summary": "[2] array of NativeShadow, for cui_theme.", "members": [] }, - { "name": "CuiSharp.Interop.NativeTickerItem", "displayName": "NativeTickerItem", "kind": "struct", "summary": "cui_ticker_item, 24 bytes.", "members": [{ "name": "LowerIsBetter", "kind": "field", "id": "field|LowerIsBetter|0|0|byte|||h743d2a9c1093c218bb42059b076daaa618f28986ebe939486af96526f07e502f", "signature": "public byte LowerIsBetter", "summary": "_Bool (offset 20)" }, { "name": "Delta", "kind": "field", "id": "field|Delta|0|0|float|||h1e522b23e3d342dfeec52a69a0ca4f14b756c85114da059add23d2c403cf19e0", "signature": "public float Delta", "summary": "float (offset 16)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 0)" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|nint|||h5ed081b84750132474219ed0a79f5ad5bf19671e2c3fa7347a6b03b8c86f7f29", "signature": "public nint Value", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeTickerOpts", "displayName": "NativeTickerOpts", "kind": "struct", "summary": "cui_ticker_opts, 12 bytes.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 8)" }, { "name": "Speed", "kind": "field", "id": "field|Speed|0|0|float|||h2ba64f4f7b87ff7c83f6953450f7a11e533584380fff99eb3ff47fdb3ff7deac", "signature": "public float Speed", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTileOpts", "displayName": "NativeTileOpts", "kind": "struct", "summary": "cui_tile_opts, 40 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 28)" }, { "name": "Wide", "kind": "field", "id": "field|Wide|0|0|byte|||h6b6ec67db59659eeb45b5902937769bfb2f1c7ff8df9cbc8472e2d601249e034", "signature": "public byte Wide", "summary": "_Bool (offset 36)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "const char * (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeTimeHistogramOpts", "displayName": "NativeTimeHistogramOpts", "kind": "struct", "summary": "cui_time_histogram_opts, 20 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Utc", "kind": "field", "id": "field|Utc|0|0|byte|||h16905feb07f6e9387c628a2c95d698bf3338a3f880337b7165b54b12f5c1bcd1", "signature": "public byte Utc", "summary": "_Bool (offset 16)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTimeHistogramResult", "displayName": "NativeTimeHistogramResult", "kind": "struct", "summary": "cui_time_histogram_result, 8 bytes.", "members": [{ "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|byte|||hcd9665fd3f1681a5d2b578f5591a4ad75144e40faafeb6788c0782cddf3116c2", "signature": "public byte SelectionChanged", "summary": "_Bool (offset 0)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "int (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeTimeOpts", "displayName": "NativeTimeOpts", "kind": "struct", "summary": "cui_time_opts, 32 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 24)" }, { "name": "TwelveHour", "kind": "field", "id": "field|TwelveHour|0|0|byte|||hb12276cdedb95e0daeace4c297b62ba2251de07a6bbf2d43b234d2733b9fa2b9", "signature": "public byte TwelveHour", "summary": "_Bool (offset 16)" }, { "name": "MinuteStep", "kind": "field", "id": "field|MinuteStep|0|0|int|||h8b617dbbc51baef740290e5dbf1841a2842003c33375c72d7fc0340267dda89a", "signature": "public int MinuteStep", "summary": "int (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeTimelineClip", "displayName": "NativeTimelineClip", "kind": "struct", "summary": "cui_timeline_clip, 32 bytes.", "members": [{ "name": "Selected", "kind": "field", "id": "field|Selected|0|0|byte|||h48f54c1c7f1477a898313a8a1128d8456b17a09db15f6c9d1b8c0f9629b7fdf5", "signature": "public byte Selected", "summary": "_Bool (offset 24)" }, { "name": "End", "kind": "field", "id": "field|End|0|0|float|||h746aa4735d52d974b98a908b8c756c9e0c0f37203b3999ab7359e161064f649d", "signature": "public float End", "summary": "float (offset 4)" }, { "name": "Offset", "kind": "field", "id": "field|Offset|0|0|float|||h8fdd36db8b7ff565d8db10cd461ebaca385f65bdd53ea133b281c5efcd61735d", "signature": "public float Offset", "summary": "float (offset 8)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|float|||ha3e89c7d95d80cd26b26f17ad97c1dd953e50a5774663a52471d8a17579c8978", "signature": "public float Start", "summary": "float (offset 0)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeTimelineEditorOpts", "displayName": "NativeTimelineEditorOpts", "kind": "struct", "summary": "cui_timeline_editor_opts, 88 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 64)" }, { "name": "FreeDrag", "kind": "field", "id": "field|FreeDrag|0|0|byte|||hc7dd09b78a6cbb20c050fe946d7b3beb75c080da21325baf9fa0a9f801e39e21", "signature": "public byte FreeDrag", "summary": "_Bool (offset 85)" }, { "name": "Toggles", "kind": "field", "id": "field|Toggles|0|0|byte|||hf0f98277289d6b02041a02fcaf75a52419f27a08e7e24cd18335330bdd8f290b", "signature": "public byte Toggles", "summary": "_Bool (offset 84)" }, { "name": "End", "kind": "field", "id": "field|End|0|0|float|||h746aa4735d52d974b98a908b8c756c9e0c0f37203b3999ab7359e161064f649d", "signature": "public float End", "summary": "float (offset 8)" }, { "name": "Fps", "kind": "field", "id": "field|Fps|0|0|float|||hd2f14e8d0c94590cc91095a6112128e328e291713114ddde746a2f651504d635", "signature": "public float Fps", "summary": "float (offset 12)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 72)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "float (offset 76)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|float|||ha3e89c7d95d80cd26b26f17ad97c1dd953e50a5774663a52471d8a17579c8978", "signature": "public float Start", "summary": "float (offset 4)" }, { "name": "TrackWidth", "kind": "field", "id": "field|TrackWidth|0|0|float|||h5be028c49353fefae2fc30686c1ecbee4d2683da191546d7ee2049c3050c7282", "signature": "public float TrackWidth", "summary": "float (offset 80)" }, { "name": "Ruler", "kind": "field", "id": "field|Ruler|0|0|int|||hac6a7a1e03a54bf8ec255254799822b67c702cb2dff94260c7dcf36e7f9ba893", "signature": "public int Ruler", "summary": "int (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "CurrentKey", "kind": "field", "id": "field|CurrentKey|0|0|nint|||h6825f70f5becf32f716f627085671d159a012a90e73ca51144da884f3c44a881", "signature": "public nint CurrentKey", "summary": "int * (offset 56)" }, { "name": "CurrentTrack", "kind": "field", "id": "field|CurrentTrack|0|0|nint|||h34f85e67362ffc7e9450b26865e03ed1b8edcae0430d0634635b2340dfe9c447", "signature": "public nint CurrentTrack", "summary": "int * (offset 48)" }, { "name": "In", "kind": "field", "id": "field|In|0|0|nint|||h63687a4cc9c3aa327d17f7a3675e77e3cdff1e19aabfd8647bad98e3874e5f5b", "signature": "public nint In", "summary": "float * (offset 32)" }, { "name": "Out", "kind": "field", "id": "field|Out|0|0|nint|||h9d44426b87288ad62ca22d48aa283cac180958333d9be57a7840c5b439aa2a0e", "signature": "public nint Out", "summary": "float * (offset 40)" }, { "name": "View", "kind": "field", "id": "field|View|0|0|nint|||h636181a3209b13c3ff8067649c017bc847720828430e089e938d902bc2921de1", "signature": "public nint View", "summary": "cui_timeline_view * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeTimelineEditorResult", "displayName": "NativeTimelineEditorResult", "kind": "struct", "summary": "cui_timeline_editor_result, 52 bytes.", "members": [{ "name": "Changed", "kind": "field", "id": "field|Changed|0|0|byte|||had978eec0af03eb4dacdb360976a7e241488e1b52d178b9e3926112ece7b5ff4", "signature": "public byte Changed", "summary": "_Bool (offset 0)" }, { "name": "KeysMoved", "kind": "field", "id": "field|KeysMoved|0|0|byte|||h6790d2fb2a091022b343e67090a999900e5e6b42478a49695e3bcdea413567d0", "signature": "public byte KeysMoved", "summary": "_Bool (offset 6)" }, { "name": "PlayToggled", "kind": "field", "id": "field|PlayToggled|0|0|byte|||hc9a479195d3be8447120cdffffbdec52e6004716f22bce46c662a3a8efd34633", "signature": "public byte PlayToggled", "summary": "_Bool (offset 3)" }, { "name": "Scrubbing", "kind": "field", "id": "field|Scrubbing|0|0|byte|||ha7b692303a3c39fcb3a5f95f5f7bf595ff165e2874b21523be19c3d54111c64e", "signature": "public byte Scrubbing", "summary": "_Bool (offset 2)" }, { "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|byte|||hcd9665fd3f1681a5d2b578f5591a4ad75144e40faafeb6788c0782cddf3116c2", "signature": "public byte SelectionChanged", "summary": "_Bool (offset 4)" }, { "name": "TimeChanged", "kind": "field", "id": "field|TimeChanged|0|0|byte|||h28768da863d81b152772245faf82d6aefadf7dc8dd24a277348f410850d04f75", "signature": "public byte TimeChanged", "summary": "_Bool (offset 1)" }, { "name": "ViewChanged", "kind": "field", "id": "field|ViewChanged|0|0|byte|||h968fb22c9e133162ed2bb1e1b83f1e701e91d01be17827f59793f1a36c1b1a8b", "signature": "public byte ViewChanged", "summary": "_Bool (offset 5)" }, { "name": "AddedKey", "kind": "field", "id": "field|AddedKey|0|0|int|||ha8e58faba1c728fe25d31ea3e66082285970f2ec12ab48f52376a20679473da9", "signature": "public int AddedKey", "summary": "int (offset 12)" }, { "name": "AddedTrack", "kind": "field", "id": "field|AddedTrack|0|0|int|||hd09c9d0b3aaf7c0a2f00f840aad0417f84f4096dcfd34c9bbb7837e2452ee4da", "signature": "public int AddedTrack", "summary": "int (offset 8)" }, { "name": "Clip", "kind": "field", "id": "field|Clip|0|0|int|||ha920295d84599cdc0940acb2d6a074abbe96d37d1c4b07783b3d79dc3b94a907", "signature": "public int Clip", "summary": "int (offset 28)" }, { "name": "ClipTrack", "kind": "field", "id": "field|ClipTrack|0|0|int|||hd040e6fd1c8a24948aa8714159d0f6860d9dfa74526817d24bf44b0750aeccf0", "signature": "public int ClipTrack", "summary": "int (offset 24)" }, { "name": "CurrentKey", "kind": "field", "id": "field|CurrentKey|0|0|int|||h1f9f9e276d189f141cc95626370c85293587bbc81d6ed41c542bf89d7b66a89e", "signature": "public int CurrentKey", "summary": "int (offset 40)" }, { "name": "CurrentTrack", "kind": "field", "id": "field|CurrentTrack|0|0|int|||h1cd8beaafe2750d4e51c20d8c9bd32973b6b59d441d469e210cd68066b762a5f", "signature": "public int CurrentTrack", "summary": "int (offset 36)" }, { "name": "HoveredKey", "kind": "field", "id": "field|HoveredKey|0|0|int|||h5f9a0b03a58b19df9fe682e41ca82692d9a7d27ef2cf9eb436df6a03faed7ec7", "signature": "public int HoveredKey", "summary": "int (offset 48)" }, { "name": "HoveredTrack", "kind": "field", "id": "field|HoveredTrack|0|0|int|||hef9e0c1f9c6600daf6fa5e659af87654318417480a903f316dcb65f0c22b9976", "signature": "public int HoveredTrack", "summary": "int (offset 44)" }, { "name": "RemovedClips", "kind": "field", "id": "field|RemovedClips|0|0|int|||hd2490000eb723d503a8568158ee4c011ed9b150aa2b815079cc13d7aa054a4b9", "signature": "public int RemovedClips", "summary": "int (offset 20)" }, { "name": "RemovedKeys", "kind": "field", "id": "field|RemovedKeys|0|0|int|||h4df23841d98bd9d4b2bfc95ae5403d1478d1ffd2f7398843b1f8ee32c749837f", "signature": "public int RemovedKeys", "summary": "int (offset 16)" }, { "name": "Toggled", "kind": "field", "id": "field|Toggled|0|0|int|||h82e392de52553e129e49d9cce4050ccbbcd5dc4b65665d552caefdfb90d73691", "signature": "public int Toggled", "summary": "int (offset 32)" }] }, - { "name": "CuiSharp.Interop.NativeTimelineOpts", "displayName": "NativeTimelineOpts", "kind": "struct", "summary": "cui_timeline_opts, 40 bytes.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 32)" }, { "name": "Last", "kind": "field", "id": "field|Last|0|0|byte|||h45cd136623493afd47e26b9dfec2573cbbae0ac3635ab5eb63af8e652f649bdb", "signature": "public byte Last", "summary": "_Bool (offset 36)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 24)" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|nint|||h6d58676de43396dc84cf8d2e099bd5fe6b43afec28246479d0f40b03dafda113", "signature": "public nint Time", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeTimelineTrack", "displayName": "NativeTimelineTrack", "kind": "struct", "summary": "cui_timeline_track, 64 bytes.", "members": [{ "name": "Collapsed", "kind": "field", "id": "field|Collapsed|0|0|byte|||h8afd2f4817805b2f1be280ad3f4ed4cc80b44cedc7436ac57dfb8c2e34fb5a43", "signature": "public byte Collapsed", "summary": "_Bool (offset 20)" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|byte|||h01a054d4e71c0ca4038d809603c57f503b576b6514a1eb8949cbeadac80b05c5", "signature": "public byte Color", "summary": "uint8_t (offset 23)" }, { "name": "Locked", "kind": "field", "id": "field|Locked|0|0|byte|||hffde318d2492e35c58e6e0216937c3868d155bd845f2081421fe7744119e21c4", "signature": "public byte Locked", "summary": "_Bool (offset 22)" }, { "name": "Muted", "kind": "field", "id": "field|Muted|0|0|byte|||hd394c2e19613033efcc4a61fa3171f5cdac77c142705edaa16ede4fb74398475", "signature": "public byte Muted", "summary": "_Bool (offset 21)" }, { "name": "ClipCount", "kind": "field", "id": "field|ClipCount|0|0|int|||ha7ee9369a3530e47aa727f83e1c125be4f77d46fdb743e7a7d47738108288c1b", "signature": "public int ClipCount", "summary": "int (offset 56)" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "int (offset 16)" }, { "name": "KeyCapacity", "kind": "field", "id": "field|KeyCapacity|0|0|int|||h67dd11ab7724489e3088db97899b69f9f952ebc4f4fe88ae1741748064306cde", "signature": "public int KeyCapacity", "summary": "int (offset 36)" }, { "name": "KeyCount", "kind": "field", "id": "field|KeyCount|0|0|int|||h66562d1c4a2a8786d9f290dd4f5645da581cfefb8d8d798050739fd49b10c12a", "signature": "public int KeyCount", "summary": "int (offset 32)" }, { "name": "Clips", "kind": "field", "id": "field|Clips|0|0|nint|||hb21c6a4911a55af817e02a281105ee14728b7ce970a7089958e55cd8f185cdb6", "signature": "public nint Clips", "summary": "cui_timeline_clip * (offset 48)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "KeySelected", "kind": "field", "id": "field|KeySelected|0|0|nint|||h71474ad2a50c96e9b489ed626221cb501815125740b53346b919f387980b359c", "signature": "public nint KeySelected", "summary": "_Bool * (offset 40)" }, { "name": "Keys", "kind": "field", "id": "field|Keys|0|0|nint|||hf7fa769c59cb01084518ef9b312f3ea776cc052b9025fc9736601642500ad57c", "signature": "public nint Keys", "summary": "cui_curve_key * (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTimelineView", "displayName": "NativeTimelineView", "kind": "struct", "summary": "cui_timeline_view, 12 bytes.", "members": [{ "name": "End", "kind": "field", "id": "field|End|0|0|float|||h746aa4735d52d974b98a908b8c756c9e0c0f37203b3999ab7359e161064f649d", "signature": "public float End", "summary": "float (offset 4)" }, { "name": "Scroll", "kind": "field", "id": "field|Scroll|0|0|float|||h0dfb15b9f1ad3ea27fb4bb36094488302791ae6da1fc5727249bcba34280b5fb", "signature": "public float Scroll", "summary": "float (offset 8)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|float|||ha3e89c7d95d80cd26b26f17ad97c1dd953e50a5774663a52471d8a17579c8978", "signature": "public float Start", "summary": "float (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeToastOpts", "displayName": "NativeToastOpts", "kind": "struct", "summary": "cui_toast_opts, 40 bytes.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 16)" }, { "name": "ShowTimer", "kind": "field", "id": "field|ShowTimer|0|0|byte|||hea0c885cd2397aff3d20c08277d394a592991fb5e78bd8bac291b49acf398300", "signature": "public byte ShowTimer", "summary": "_Bool (offset 32)" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "float (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|nint|||h7dfe2a16d24f5ae17516623e6e776336e0c9174236c2f3e6d25910fcd1c88c17", "signature": "public nint Action", "summary": "const char * (offset 24)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeTocItem", "displayName": "NativeTocItem", "kind": "struct", "summary": "cui_toc_item, 24 bytes.", "members": [{ "name": "Level", "kind": "field", "id": "field|Level|0|0|int|||h17c0e20faecc69c8472481644557574bb0d4d89b76f0c643524eb31d6b244fbe", "signature": "public int Level", "summary": "int (offset 16)" }, { "name": "Anchor", "kind": "field", "id": "field|Anchor|0|0|nint|||h2a3efb78b027ddab56b002c1c17c0175140a3ae80ce9ca969857ccc0bd8e0f33", "signature": "public nint Anchor", "summary": "const char * (offset 8)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeToggleGroupOpts", "displayName": "NativeToggleGroupOpts", "kind": "struct", "summary": "cui_toggle_group_opts, 24 bytes.", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 20)" }, { "name": "Exclusive", "kind": "field", "id": "field|Exclusive|0|0|byte|||h2915cc6aad044566563236e81146e496a55145bf88d2f477213b22179ae9ffec", "signature": "public byte Exclusive", "summary": "_Bool (offset 16)" }, { "name": "IconOnly", "kind": "field", "id": "field|IconOnly|0|0|byte|||he1deea30e2ceaedc2963bbb3123c80ddfc8b08dd35ad10f892a4ecb904044965", "signature": "public byte IconOnly", "summary": "_Bool (offset 17)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|nint|||h9dcb1e799c22cfc28d5f3330f8ad5d309473e6a32f68ce7efd7068c42c7988da", "signature": "public nint Icons", "summary": "const char *const * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeToolCallOpts", "displayName": "NativeToolCallOpts", "kind": "struct", "summary": "cui_tool_call_opts, 48 bytes.", "members": [{ "name": "Status", "kind": "field", "id": "field|Status|0|0|CuiTaskStatus|||hc70e5654f5e0b77ce9da45f798c273c2ac66019dc100160d6f02b89ccf377bba", "signature": "public CuiTaskStatus Status", "summary": "cui_task_status (offset 4)" }, { "name": "Seconds", "kind": "field", "id": "field|Seconds|0|0|float|||hb2b6bfb7a4abde73c46fe03cfd0492620c03edc110332cec5c1c257b49ebec83", "signature": "public float Seconds", "summary": "float (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "const char * (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Input", "kind": "field", "id": "field|Input|0|0|nint|||haf51efcec7f9e2d232ed76d286927e5679aff8045761f7bec8f172a2b73bcbcd", "signature": "public nint Input", "summary": "const char * (offset 24)" }, { "name": "Output", "kind": "field", "id": "field|Output|0|0|nint|||hda5cbea8e80939176aa3944171f9d310bc816f98e9fb144aecb8b62891be2fb4", "signature": "public nint Output", "summary": "const char * (offset 32)" }] }, - { "name": "CuiSharp.Interop.NativeToolOpts", "displayName": "NativeToolOpts", "kind": "struct", "summary": "cui_tool_opts, 48 bytes.", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|nint|||hc6bbf869e5f430ce1cb0bb80bcc43a44ef490242700d9eccaf018d9378a8f2dd", "signature": "public nint Shortcut", "summary": "const char * (offset 24)" }, { "name": "Toggle", "kind": "field", "id": "field|Toggle|0|0|nint|||h4b7bb178af01b592c1b2c12adcc523ef1a13768e95d660b55d67d5ac73689099", "signature": "public nint Toggle", "summary": "_Bool * (offset 32)" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|nint|||hccbc32a161449afe62353b5d908ca3da9aecdd74fe8acbce624e4004ec4575e7", "signature": "public nint Tooltip", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeToolbarOpts", "displayName": "NativeToolbarOpts", "kind": "struct", "summary": "cui_toolbar_opts, 8 bytes.", "members": [{ "name": "NoBorder", "kind": "field", "id": "field|NoBorder|0|0|byte|||h52a658d9e90fb592c2d5b234fe36d916b01f85259ebf498345a83768a1f7a51c", "signature": "public byte NoBorder", "summary": "_Bool (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTourOpts", "displayName": "NativeTourOpts", "kind": "struct", "summary": "cui_tour_opts, 48 bytes.", "members": [{ "name": "BlockTarget", "kind": "field", "id": "field|BlockTarget|0|0|byte|||hab5555c1e6369ffbcf45e5591291d9c00318af64dd9dd1e9d22ae563df1d5e92", "signature": "public byte BlockTarget", "summary": "_Bool (offset 12)" }, { "name": "Padding", "kind": "field", "id": "field|Padding|0|0|float|||h5921be8adbefbfcb4404da7db85d1cb3731c758d863577be4fbce92451350649", "signature": "public float Padding", "summary": "float (offset 8)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "BackLabel", "kind": "field", "id": "field|BackLabel|0|0|nint|||h334d75363f299a552d16ed542c91535013f66b10bb86e3aa11b0c34ec28078cd", "signature": "public nint BackLabel", "summary": "const char * (offset 24)" }, { "name": "CountFormat", "kind": "field", "id": "field|CountFormat|0|0|nint|||hd7aaaf99dab62f1ddd4a5c25df329054e14f88d7862c66a5428ef69ec63ac1f0", "signature": "public nint CountFormat", "summary": "const char * (offset 40)" }, { "name": "DoneLabel", "kind": "field", "id": "field|DoneLabel|0|0|nint|||h2f5c8b5d818d8932f7bb90c1edd1959a1b40031ee4f3050947dd73049e9067d4", "signature": "public nint DoneLabel", "summary": "const char * (offset 32)" }, { "name": "NextLabel", "kind": "field", "id": "field|NextLabel|0|0|nint|||h8fab053b73f09103926ee9d5b482ba66b63d6b393162be89c62fe10854cf1799", "signature": "public nint NextLabel", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeTourStep", "displayName": "NativeTourStep", "kind": "struct", "summary": "cui_tour_step, 32 bytes.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement (offset 24)" }, { "name": "Body", "kind": "field", "id": "field|Body|0|0|nint|||h3d66a8fe22c67f795d8c7c5cebc6e6f74da4fff0d9ce5bb6d47f95c5abbbfa9d", "signature": "public nint Body", "summary": "const char * (offset 16)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "const char * (offset 8)" }, { "name": "Target", "kind": "field", "id": "field|Target|0|0|uint|||he9ee9dd345fe17fa7d374fd3bbf2d77faa51c7aa3b0c74aba7353f9abfa39524", "signature": "public uint Target", "summary": "cui_id (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTraceMarker", "displayName": "NativeTraceMarker", "kind": "struct", "summary": "cui_trace_marker, 24 bytes.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 16)" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|double|||hf6eb8bfefd7957f87b5ed2738bc9a721b9ff45c732f53108d799ad2931a6b170", "signature": "public double Time", "summary": "double (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTraceOpts", "displayName": "NativeTraceOpts", "kind": "struct", "summary": "cui_trace_opts, 40 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "float (offset 16)" }, { "name": "MarkerCount", "kind": "field", "id": "field|MarkerCount|0|0|int|||hd02925399c1946c54760fa87c0cf0fc40e035f18f37eefaa1c62d9287953f517", "signature": "public int MarkerCount", "summary": "int (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Markers", "kind": "field", "id": "field|Markers|0|0|nint|||h134f9ef22b305a856fcb0cc7d38a8d2e618b7fec5dc84dff9cb2d96d9317dffe", "signature": "public nint Markers", "summary": "const cui_trace_marker * (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeTraceResult", "displayName": "NativeTraceResult", "kind": "struct", "summary": "cui_trace_result, 8 bytes.", "members": [{ "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|byte|||hcd9665fd3f1681a5d2b578f5591a4ad75144e40faafeb6788c0782cddf3116c2", "signature": "public byte SelectionChanged", "summary": "_Bool (offset 0)" }, { "name": "ViewChanged", "kind": "field", "id": "field|ViewChanged|0|0|byte|||h968fb22c9e133162ed2bb1e1b83f1e701e91d01be17827f59793f1a36c1b1a8b", "signature": "public byte ViewChanged", "summary": "_Bool (offset 1)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "int (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeTraceSpan", "displayName": "NativeTraceSpan", "kind": "struct", "summary": "cui_trace_span, 40 bytes.", "members": [{ "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "double (offset 16)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "double (offset 8)" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "int (offset 28)" }, { "name": "Track", "kind": "field", "id": "field|Track|0|0|int|||h9c37b28844517649f18e47061d3bb9ab42f294995e73a6edbf8deb27d891797c", "signature": "public int Track", "summary": "int (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }, { "name": "ColorKey", "kind": "field", "id": "field|ColorKey|0|0|uint|||hbbc8b9d5c464ef1cd597c6f62696a77755f8847c84433421ceea1723416ab5bd", "signature": "public uint ColorKey", "summary": "uint32_t (offset 32)" }] }, - { "name": "CuiSharp.Interop.NativeTraceTrack", "displayName": "NativeTraceTrack", "kind": "struct", "summary": "cui_trace_track, 16 bytes.", "members": [{ "name": "Collapsed", "kind": "field", "id": "field|Collapsed|0|0|byte|||h8afd2f4817805b2f1be280ad3f4ed4cc80b44cedc7436ac57dfb8c2e34fb5a43", "signature": "public byte Collapsed", "summary": "_Bool (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeTraceView", "displayName": "NativeTraceView", "kind": "struct", "summary": "cui_trace_view, 40 bytes.", "members": [{ "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "double (offset 8)" }, { "name": "MarkEnd", "kind": "field", "id": "field|MarkEnd|0|0|double|||h699816d1c0538e008f463ac8f850d0a13da89e363166dd067ec66639d88d61fa", "signature": "public double MarkEnd", "summary": "double (offset 32)" }, { "name": "MarkStart", "kind": "field", "id": "field|MarkStart|0|0|double|||h35e62cd0862ac884bb6c77fa8438ba07d7a031aa2c53827132af5f19a5e16bf4", "signature": "public double MarkStart", "summary": "double (offset 24)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "double (offset 0)" }, { "name": "Scroll", "kind": "field", "id": "field|Scroll|0|0|float|||h0dfb15b9f1ad3ea27fb4bb36094488302791ae6da1fc5727249bcba34280b5fb", "signature": "public float Scroll", "summary": "float (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeTreeNode", "displayName": "NativeTreeNode", "kind": "struct", "summary": "cui_tree_node, 16 bytes.", "members": [{ "name": "FirstChild", "kind": "field", "id": "field|FirstChild|0|0|int|||hf352db55e0335cdbaba7921f10fcce1a433441b9e9200bbbffc55ea64941e15f", "signature": "public int FirstChild", "summary": "int (offset 4)" }, { "name": "NextSibling", "kind": "field", "id": "field|NextSibling|0|0|int|||h91edbf9b95ba6415a86ef01020d77d524dc26276aeb561f29306da80f336c887", "signature": "public int NextSibling", "summary": "int (offset 8)" }, { "name": "Parent", "kind": "field", "id": "field|Parent|0|0|int|||h337a9d403da4862c29838d25d5876fa8d3e3fbbc6d85493b646b4fd3986ce253", "signature": "public int Parent", "summary": "int (offset 0)" }, { "name": "Flags", "kind": "field", "id": "field|Flags|0|0|uint|||h8dd9ee481d32fb809cedb1907c271920532dbd423f399bfa4ccf2a6105fbe6ef", "signature": "public uint Flags", "summary": "uint32_t (offset 12)" }] }, - { "name": "CuiSharp.Interop.NativeTreeOpts", "displayName": "NativeTreeOpts", "kind": "struct", "summary": "cui_tree_opts, 24 bytes.", "members": [{ "name": "Leaf", "kind": "field", "id": "field|Leaf|0|0|byte|||hcb8d463396d0986b4a7158c93478ebc076bfd6f8b852a099a763568e77e03ca6", "signature": "public byte Leaf", "summary": "_Bool (offset 16)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|byte|||h48f54c1c7f1477a898313a8a1128d8456b17a09db15f6c9d1b8c0f9629b7fdf5", "signature": "public byte Selected", "summary": "_Bool (offset 17)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeTreeTableEvents", "displayName": "NativeTreeTableEvents", "kind": "struct", "summary": "cui_tree_table_events, 32 bytes.", "members": [{ "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|byte|||hcd9665fd3f1681a5d2b578f5591a4ad75144e40faafeb6788c0782cddf3116c2", "signature": "public byte SelectionChanged", "summary": "_Bool (offset 28)" }, { "name": "SortChanged", "kind": "field", "id": "field|SortChanged|0|0|byte|||h27277dd4c34138a956e47784bfc542bea66d3feda690362938f1af7f08e3e23d", "signature": "public byte SortChanged", "summary": "_Bool (offset 29)" }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "int (offset 0)" }, { "name": "Collapsed", "kind": "field", "id": "field|Collapsed|0|0|int|||h262c4d45e3d13bee43f8ac39f2ff56b5d048b3b25153520af18ddaf6f6e84eea", "signature": "public int Collapsed", "summary": "int (offset 8)" }, { "name": "Expanded", "kind": "field", "id": "field|Expanded|0|0|int|||hea34f62efe0e709a9f30da78e1cea3315e6ff85fecdd1f637945da4eca61368f", "signature": "public int Expanded", "summary": "int (offset 4)" }, { "name": "LoadCount", "kind": "field", "id": "field|LoadCount|0|0|int|||h58036213d1b087e84728b7abfa9dd2fa46f0ff222be747ca94c271a3e6858a09", "signature": "public int LoadCount", "summary": "int (offset 24)" }, { "name": "Load", "kind": "field", "id": "field|Load|0|0|nint|||hfc3730ca04a1398d0a3811a4763c23506e45e692e349adf8b9ebda8d95843f29", "signature": "public nint Load", "summary": "const int * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeTreeTableOpts", "displayName": "NativeTreeTableOpts", "kind": "struct", "summary": "cui_tree_table_opts, 72 bytes.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Guides", "kind": "field", "id": "field|Guides|0|0|byte|||hc1f5e271d6e5c5fe32d3510ffa53cfaad5126978a37f3fbf0479bc311e1290dc", "signature": "public byte Guides", "summary": "_Bool (offset 48)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "float (offset 20)" }, { "name": "Root", "kind": "field", "id": "field|Root|0|0|int|||h6951cf8e44d999438aa751b095b478c002e3b8defd9d6fa77bc90f1c5a707dfb", "signature": "public int Root", "summary": "int (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Cursor", "kind": "field", "id": "field|Cursor|0|0|nint|||h195d74261818c31b6a837175cd06968e2a34f757d46f62d7a83a2655d64fa49a", "signature": "public nint Cursor", "summary": "int * (offset 40)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char *(*)(void *, int) (offset 56)" }, { "name": "Sort", "kind": "field", "id": "field|Sort|0|0|nint|||h9d98eab2f080d85ca8cb2b51bbfbb1c26340f12564431ce3c0cb8b55484a96e2", "signature": "public nint Sort", "summary": "cui_table_sort * (offset 32)" }, { "name": "User", "kind": "field", "id": "field|User|0|0|nint|||hbb8b86031509e9566eb92455c659fd89532fcd8a35724b86f43a45f38dc8e34f", "signature": "public nint User", "summary": "void * (offset 64)" }] }, - { "name": "CuiSharp.Interop.NativeTreemapOpts", "displayName": "NativeTreemapOpts", "kind": "struct", "summary": "cui_treemap_opts, 24 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeUptimeOpts", "displayName": "NativeUptimeOpts", "kind": "struct", "summary": "cui_uptime_opts, 24 bytes.", "members": [{ "name": "LastDay", "kind": "field", "id": "field|LastDay|0|0|NativeDate|||h45adcdab927139a6170b18813b908fcc78735c3c1111d3ce3f9139bbc85469b1", "signature": "public NativeDate LastDay", "summary": "cui_date (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeUptimeResult", "displayName": "NativeUptimeResult", "kind": "struct", "summary": "cui_uptime_result, 8 bytes.", "members": [{ "name": "Day", "kind": "field", "id": "field|Day|0|0|int|||h40d69339a69f05f7a1cf0fdcf537358258767e30cc6d07e430cb48196d28a0e1", "signature": "public int Day", "summary": "int (offset 4)" }, { "name": "Service", "kind": "field", "id": "field|Service|0|0|int|||hba0d1bf399894e025b711a3e44f55e40012b5deae721403f37ad45df303a1b8b", "signature": "public int Service", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeUptimeService", "displayName": "NativeUptimeService", "kind": "struct", "summary": "cui_uptime_service, 24 bytes.", "members": [{ "name": "DayCount", "kind": "field", "id": "field|DayCount|0|0|int|||h807a67852d2bc2138f90f797ad0d152fe0dfce453c6d29ff5f83297024adfbca", "signature": "public int DayCount", "summary": "int (offset 16)" }, { "name": "Days", "kind": "field", "id": "field|Days|0|0|nint|||h32980efb990a38503338072a962cf6130151324687d2a1adf8f4a0c793bc0ef9", "signature": "public nint Days", "summary": "const float * (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeUserMenuOpts", "displayName": "NativeUserMenuOpts", "kind": "struct", "summary": "cui_user_menu_opts, 48 bytes.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement (offset 36)" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|byte|||h82ad4978e776988891fb40f0e87ef125edf87783174f60001d6260930e049142", "signature": "public byte Compact", "summary": "_Bool (offset 32)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "const char * (offset 8)" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|nint|||h5eb064e9f4d4ca19be69b5617dddc7619d74afabd85bd1578dc70d05818e080a", "signature": "public nint Status", "summary": "const char * (offset 16)" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|nuint|||hd836d3050349dc9e230d8ba691c657178a9fd72c10b4dc2ffe3eba6966257126", "signature": "public nuint Avatar", "summary": "cui_texture (offset 24)" }] }, - { "name": "CuiSharp.Interop.NativeVec2", "displayName": "NativeVec2", "kind": "struct", "summary": "cui_vec2, 8 bytes.", "members": [{ "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "float (offset 0)" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "float (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeVertex", "displayName": "NativeVertex", "kind": "struct", "summary": "cui_vertex, 64 bytes.", "members": [{ "name": "BorderColor", "kind": "field", "id": "field|BorderColor|0|0|NativeColor|||h6c242cb21110bdcec7298ca27c1f6fe09c2e439c7c00a703fbb920a55723822b", "signature": "public NativeColor BorderColor", "summary": "cui_color (offset 60)" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 56)" }, { "name": "Border", "kind": "field", "id": "field|Border|0|0|float|||h4bb5750724304a562c69bb723b5db8d43e5846d3b78c2e66ad01710cdfbf5191", "signature": "public float Border", "summary": "float (offset 48)" }, { "name": "Hh", "kind": "field", "id": "field|Hh|0|0|float|||h1c6862ae07c727004a8c7151417e749467d8b042296b3293853eb996ce807c90", "signature": "public float Hh", "summary": "float (offset 28)" }, { "name": "Hw", "kind": "field", "id": "field|Hw|0|0|float|||h758884b50ea929bcc3a60a8b05dadcf44f148f00f839e7ecdbc4fc368682fef9", "signature": "public float Hw", "summary": "float (offset 24)" }, { "name": "Lx", "kind": "field", "id": "field|Lx|0|0|float|||h3a4b6e9eb14f7c42a745e1ae6676a77e89f1a174b969ede89c750ab88b3bdbb0", "signature": "public float Lx", "summary": "float (offset 16)" }, { "name": "Ly", "kind": "field", "id": "field|Ly|0|0|float|||hd1165beb2153fe6bcacd014305ca3e89e51a409a8217b41f7f302e96ee5906e0", "signature": "public float Ly", "summary": "float (offset 20)" }, { "name": "Mode", "kind": "field", "id": "field|Mode|0|0|float|||heb69ea4c288c1f889d5934bff78b3dbf2cc214d6953588aa989e0370de0bbf4b", "signature": "public float Mode", "summary": "float (offset 52)" }, { "name": "RBl", "kind": "field", "id": "field|RBl|0|0|float|||h8310356cb564473fa9b73326e0134c97865f51a13a40d30bd52837fc384992b1", "signature": "public float RBl", "summary": "float (offset 44)" }, { "name": "RBr", "kind": "field", "id": "field|RBr|0|0|float|||h6eb011a321c1ff1f497439bb8e4915f976f20d3a2e96e2c31379b21cf17ff472", "signature": "public float RBr", "summary": "float (offset 40)" }, { "name": "RTl", "kind": "field", "id": "field|RTl|0|0|float|||he836cc4321783d2a824b07c8669092e0bcc56e20a0bfebc80021d9db22fb4eb8", "signature": "public float RTl", "summary": "float (offset 32)" }, { "name": "RTr", "kind": "field", "id": "field|RTr|0|0|float|||h8bb36ee8371dbbba0c29cc7b754b94e45ca2acd3916bd2308261c85d1155193d", "signature": "public float RTr", "summary": "float (offset 36)" }, { "name": "U", "kind": "field", "id": "field|U|0|0|float|||h80a260e59ef807833e3326184d04df9d5bf8b6b63f398ead0a7fe40184d52c71", "signature": "public float U", "summary": "float (offset 8)" }, { "name": "V", "kind": "field", "id": "field|V|0|0|float|||h9ed934207acd45cf3efdba998593819e906780e91ea6d2a0c3bd1c528440f096", "signature": "public float V", "summary": "float (offset 12)" }, { "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "float (offset 0)" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "float (offset 4)" }] }, - { "name": "CuiSharp.Interop.NativeVizItem", "displayName": "NativeVizItem", "kind": "struct", "summary": "cui_viz_item, 16 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 12)" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|float|||h8c20ac2e2f946bfe778b76ce5a0751e644f14cbfa254ac592650fe0166f91e91", "signature": "public float Value", "summary": "float (offset 8)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeVoiceOrbOpts", "displayName": "NativeVoiceOrbOpts", "kind": "struct", "summary": "cui_voice_orb_opts, 12 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 8)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeWaffleOpts", "displayName": "NativeWaffleOpts", "kind": "struct", "summary": "cui_waffle_opts, 24 bytes.", "members": [{ "name": "Cell", "kind": "field", "id": "field|Cell|0|0|float|||hf561982788f651cf6be459cbdafa3d95b9d0eec610073c6be9f8ee75925d3d45", "signature": "public float Cell", "summary": "float (offset 4)" }, { "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "int (offset 8)" }, { "name": "Rows", "kind": "field", "id": "field|Rows|0|0|int|||hefb2c032827af5f9bdb34f5a833a498a2a3d7d65d6ddf1e90ac44faab38b24dc", "signature": "public int Rows", "summary": "int (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeWaterfallOpts", "displayName": "NativeWaterfallOpts", "kind": "struct", "summary": "cui_waterfall_opts, 40 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "DomLoaded", "kind": "field", "id": "field|DomLoaded|0|0|double|||had711cfa961b378cf56ad55952a3763a8a8b982d4719b201917574db1440435b", "signature": "public double DomLoaded", "summary": "double (offset 24)" }, { "name": "Loaded", "kind": "field", "id": "field|Loaded|0|0|double|||h72af03b033f52e632df13177a005dcc56ae8a6f948dc761c60bb228b7ead174d", "signature": "public double Loaded", "summary": "double (offset 32)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "int * (offset 16)" }] }, - { "name": "CuiSharp.Interop.NativeWaterfallResult", "displayName": "NativeWaterfallResult", "kind": "struct", "summary": "cui_waterfall_result, 12 bytes.", "members": [{ "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "int (offset 4)" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "int (offset 0)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "int (offset 8)" }] }, - { "name": "CuiSharp.Interop.NativeWaveformOpts", "displayName": "NativeWaveformOpts", "kind": "struct", "summary": "cui_waveform_opts, 28 bytes.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Bar", "kind": "field", "id": "field|Bar|0|0|float|||h591ddfbd792b6ecacf5e925fb8b547031152808505904aa2466d8298c0ada87e", "signature": "public float Bar", "summary": "float (offset 16)" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float (offset 20)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeWeekOpts", "displayName": "NativeWeekOpts", "kind": "struct", "summary": "cui_week_opts, 28 bytes.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 16)" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|byte|||h9e1431d0c26b40c6daa5a446056e13ee71a6462394b7d796b573d868c509360c", "signature": "public byte ReadOnly", "summary": "_Bool (offset 24)" }, { "name": "EndHour", "kind": "field", "id": "field|EndHour|0|0|float|||hf2d73b4840a1592be5241a7d3de76347b3f0fa9a82072704ccc371b6dd7bd10d", "signature": "public float EndHour", "summary": "float (offset 8)" }, { "name": "HourHeight", "kind": "field", "id": "field|HourHeight|0|0|float|||hd99043ce8431fbebab02ad1cffe41da949e573d0bf135f08eb80493759cb456b", "signature": "public float HourHeight", "summary": "float (offset 12)" }, { "name": "StartHour", "kind": "field", "id": "field|StartHour|0|0|float|||hd84f53a0fa907b5d1904af3368ea78c32ea17804962c166927e7ad02ddae27f9", "signature": "public float StartHour", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.Interop.NativeWheelOpts", "displayName": "NativeWheelOpts", "kind": "struct", "summary": "cui_wheel_opts, 20 bytes.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 8)" }, { "name": "JoinLeft", "kind": "field", "id": "field|JoinLeft|0|0|byte|||h161e7bd12b17da44e4ec87542a42464f5abad4e2ebcb1969c219cc8b2cb2a5b3", "signature": "public byte JoinLeft", "summary": "_Bool (offset 17)" }, { "name": "JoinRight", "kind": "field", "id": "field|JoinRight|0|0|byte|||h632ebae189599ce17523e5c09355f3359e2e6a25f2bd168db30e61da4ac90971", "signature": "public byte JoinRight", "summary": "_Bool (offset 18)" }, { "name": "Loop", "kind": "field", "id": "field|Loop|0|0|byte|||h3ea3d61078da90ba0c3355d3ef0183631b189a2445b74ebdb98d33d3479d2b7e", "signature": "public byte Loop", "summary": "_Bool (offset 16)" }, { "name": "Rows", "kind": "field", "id": "field|Rows|0|0|int|||hefb2c032827af5f9bdb34f5a833a498a2a3d7d65d6ddf1e90ac44faab38b24dc", "signature": "public int Rows", "summary": "int (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, - { "name": "CuiSharp.JobStatus", "displayName": "JobStatus", "kind": "enum", "summary": "cui_job_status", "members": [{ "name": "Canceled", "kind": "enum value", "id": "enum value|Canceled|1|0|||5|h431790d9d7a73c2e89eafc3cc724fb94b37029680b134569681b060222351623", "signature": "Canceled = 5", "value": "5" }, { "name": "Failed", "kind": "enum value", "id": "enum value|Failed|1|0|||3|ha388847ac08b3e9c6aa93135681165d44342146d113eb7d424d79c6566af73e3", "signature": "Failed = 3", "value": "3" }, { "name": "Passed", "kind": "enum value", "id": "enum value|Passed|1|0|||2|h6df3e1f9f0593c2dcfcff5013ec22cfb0a317df673190ed62f4faa246c9f0632", "signature": "Passed = 2", "value": "2" }, { "name": "Pending", "kind": "enum value", "id": "enum value|Pending|1|0|||0|hec96e2e3e744271639d8f4254e04687bf499d49642bb25da3eda1e9c5271971c", "signature": "Pending = 0", "value": "0" }, { "name": "Running", "kind": "enum value", "id": "enum value|Running|1|0|||1|h5fc8ea303ee3335e9b6c77adb13ed145130ac296d646919227c7232708248684", "signature": "Running = 1", "value": "1" }, { "name": "Skipped", "kind": "enum value", "id": "enum value|Skipped|1|0|||4|hc86a6a4cf9d7fbe0d4b4f660230c7effb152c9749550c01b40366787bc1640b4", "signature": "Skipped = 4", "value": "4" }] }, - { "name": "CuiSharp.JsonOpts", "displayName": "JsonOpts", "kind": "struct", "summary": "cui_json_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "MaxHeight", "kind": "field", "id": "field|MaxHeight|0|0|float|||h362fb387f8c873f790106e0085b293b9836b14ef629bd38f56f23e0483ef699f", "signature": "public float MaxHeight", "summary": "float max_height" }, { "name": "ExpandDepth", "kind": "field", "id": "field|ExpandDepth|0|0|int|||h2113772f50eedfb1b947b1866b9ccfabc933b4026161df07a62d39104bf42152", "signature": "public int ExpandDepth", "summary": "int expand_depth" }] }, + { "name": "CuiSharp.Interop.NativeTickerItem", "displayName": "NativeTickerItem", "kind": "struct", "summary": "Ticker: items that scroll by continuously, pausing on hover. (24 bytes)", "members": [{ "name": "LowerIsBetter", "kind": "field", "id": "field|LowerIsBetter|0|0|byte|||h743d2a9c1093c218bb42059b076daaa618f28986ebe939486af96526f07e502f", "signature": "public byte LowerIsBetter", "summary": "a fall in \u0060delta\u0060 is good news: it shows green, and a rise red (offset 20)" }, { "name": "Delta", "kind": "field", "id": "field|Delta|0|0|float|||h1e522b23e3d342dfeec52a69a0ca4f14b756c85114da059add23d2c403cf19e0", "signature": "public float Delta", "summary": "percent change, shown with a trend arrow in green or red; 0 hides it (offset 16)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 0)" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|nint|||h5ed081b84750132474219ed0a79f5ad5bf19671e2c3fa7347a6b03b8c86f7f29", "signature": "public nint Value", "summary": "text after the label in medium weight, e.g. a price; may be \u0060NULL\u0060 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeTickerOpts", "displayName": "NativeTickerOpts", "kind": "struct", "summary": "cui_ticker_opts (12 bytes)", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 8)" }, { "name": "Speed", "kind": "field", "id": "field|Speed|0|0|float|||h2ba64f4f7b87ff7c83f6953450f7a11e533584380fff99eb3ff47fdb3ff7deac", "signature": "public float Speed", "summary": "points per second, default 40 (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTileOpts", "displayName": "NativeTileOpts", "kind": "struct", "summary": "Control tile: a large toggle with an icon, a label and a state line. (40 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 28)" }, { "name": "Wide", "kind": "field", "id": "field|Wide|0|0|byte|||h6b6ec67db59659eeb45b5902937769bfb2f1c7ff8df9cbc8472e2d601249e034", "signature": "public byte Wide", "summary": "icon beside the text in a lower tile, instead of above it (offset 36)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "the state line under the label, default \u0022On\u0022 or \u0022Off\u0022 (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeTimeHistogramOpts", "displayName": "NativeTimeHistogramOpts", "kind": "struct", "summary": "cui_time_histogram_opts (20 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Utc", "kind": "field", "id": "field|Utc|0|0|byte|||h16905feb07f6e9387c628a2c95d698bf3338a3f880337b7165b54b12f5c1bcd1", "signature": "public byte Utc", "summary": "label times in UTC instead of local time (offset 16)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 140 (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTimeHistogramResult", "displayName": "NativeTimeHistogramResult", "kind": "struct", "summary": "cui_time_histogram_result (8 bytes)", "members": [{ "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|byte|||hcd9665fd3f1681a5d2b578f5591a4ad75144e40faafeb6788c0782cddf3116c2", "signature": "public byte SelectionChanged", "summary": "\u0060*sel_start\u0060 or \u0060*sel_end\u0060 changed this frame (a drag, or a click that cleared it) (offset 0)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "bucket, or -1 (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeTimeOpts", "displayName": "NativeTimeOpts", "kind": "struct", "summary": "Time picker: a field that opens hour and minute columns. hour is 0..23. (32 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 24)" }, { "name": "TwelveHour", "kind": "field", "id": "field|TwelveHour|0|0|byte|||hb12276cdedb95e0daeace4c297b62ba2251de07a6bbf2d43b234d2733b9fa2b9", "signature": "public byte TwelveHour", "summary": "shows 1 to 12 with AM and PM (as in \u00222:30 PM\u0022); \u0060*hour\u0060 stays 0..23 (offset 16)" }, { "name": "MinuteStep", "kind": "field", "id": "field|MinuteStep|0|0|int|||h8b617dbbc51baef740290e5dbf1841a2842003c33375c72d7fc0340267dda89a", "signature": "public int MinuteStep", "summary": "minutes between the entries of the minute column, default 5 (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeTimelineClip", "displayName": "NativeTimelineClip", "kind": "struct", "summary": "cui_timeline_clip (32 bytes)", "members": [{ "name": "Selected", "kind": "field", "id": "field|Selected|0|0|byte|||h48f54c1c7f1477a898313a8a1128d8456b17a09db15f6c9d1b8c0f9629b7fdf5", "signature": "public byte Selected", "summary": "the clip is selected: set and cleared by clicks, kept by you (offset 24)" }, { "name": "End", "kind": "field", "id": "field|End|0|0|float|||h746aa4735d52d974b98a908b8c756c9e0c0f37203b3999ab7359e161064f649d", "signature": "public float End", "summary": "seconds, end \u003E start (offset 4)" }, { "name": "Offset", "kind": "field", "id": "field|Offset|0|0|float|||h8fdd36db8b7ff565d8db10cd461ebaca385f65bdd53ea133b281c5efcd61735d", "signature": "public float Offset", "summary": "where the clip starts in its media; trimming the start moves it along (offset 8)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|float|||ha3e89c7d95d80cd26b26f17ad97c1dd953e50a5774663a52471d8a17579c8978", "signature": "public float Start", "summary": "seconds, end \u003E start (offset 0)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "drawn in the clip\u0027s bar when it fits, and in its tooltip (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeTimelineEditorOpts", "displayName": "NativeTimelineEditorOpts", "kind": "struct", "summary": "cui_timeline_editor_opts (88 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 64)" }, { "name": "FreeDrag", "kind": "field", "id": "field|FreeDrag|0|0|byte|||hc7dd09b78a6cbb20c050fe946d7b3beb75c080da21325baf9fa0a9f801e39e21", "signature": "public byte FreeDrag", "summary": "drags and scrubbing do not snap to frames (offset 85)" }, { "name": "Toggles", "kind": "field", "id": "field|Toggles|0|0|byte|||hf0f98277289d6b02041a02fcaf75a52419f27a08e7e24cd18335330bdd8f290b", "signature": "public byte Toggles", "summary": "hide and lock buttons on every track (offset 84)" }, { "name": "End", "kind": "field", "id": "field|End|0|0|float|||h746aa4735d52d974b98a908b8c756c9e0c0f37203b3999ab7359e161064f649d", "signature": "public float End", "summary": "the sequence in seconds; both 0 = 0..10 (offset 8)" }, { "name": "Fps", "kind": "field", "id": "field|Fps|0|0|float|||hd2f14e8d0c94590cc91095a6112128e328e291713114ddde746a2f651504d635", "signature": "public float Fps", "summary": "frames per second, default 30: snapping, stepping and frame labels (offset 12)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default: fits every track (up to 360) (offset 72)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "default 26 (offset 76)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|float|||ha3e89c7d95d80cd26b26f17ad97c1dd953e50a5774663a52471d8a17579c8978", "signature": "public float Start", "summary": "the sequence in seconds; both 0 = 0..10 (offset 4)" }, { "name": "TrackWidth", "kind": "field", "id": "field|TrackWidth|0|0|float|||h5be028c49353fefae2fc30686c1ecbee4d2683da191546d7ee2049c3050c7282", "signature": "public float TrackWidth", "summary": "track list, default 184; narrower (then icons only) on a narrow editor (offset 80)" }, { "name": "Ruler", "kind": "field", "id": "field|Ruler|0|0|int|||hac6a7a1e03a54bf8ec255254799822b67c702cb2dff94260c7dcf36e7f9ba893", "signature": "public int Ruler", "summary": "cui_timeline_ruler (offset 16)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "CurrentKey", "kind": "field", "id": "field|CurrentKey|0|0|nint|||h6825f70f5becf32f716f627085671d159a012a90e73ca51144da884f3c44a881", "signature": "public nint CurrentKey", "summary": "the key last clicked or added, or -1; kept by you (NULL: in the editor) (offset 56)" }, { "name": "CurrentTrack", "kind": "field", "id": "field|CurrentTrack|0|0|nint|||h34f85e67362ffc7e9450b26865e03ed1b8edcae0430d0634635b2340dfe9c447", "signature": "public nint CurrentTrack", "summary": "the key last clicked or added, or -1; kept by you (NULL: in the editor) (offset 48)" }, { "name": "In", "kind": "field", "id": "field|In|0|0|nint|||h63687a4cc9c3aa327d17f7a3675e77e3cdff1e19aabfd8647bad98e3874e5f5b", "signature": "public nint In", "summary": "a play range: with both set, markers to drag in the ruler and shading outside (offset 32)" }, { "name": "Out", "kind": "field", "id": "field|Out|0|0|nint|||h9d44426b87288ad62ca22d48aa283cac180958333d9be57a7840c5b439aa2a0e", "signature": "public nint Out", "summary": "a play range: with both set, markers to drag in the ruler and shading outside (offset 40)" }, { "name": "View", "kind": "field", "id": "field|View|0|0|nint|||h636181a3209b13c3ff8067649c017bc847720828430e089e938d902bc2921de1", "signature": "public nint View", "summary": "NULL keeps it in the editor (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeTimelineEditorResult", "displayName": "NativeTimelineEditorResult", "kind": "struct", "summary": "cui_timeline_editor_result (52 bytes)", "members": [{ "name": "Changed", "kind": "field", "id": "field|Changed|0|0|byte|||had978eec0af03eb4dacdb360976a7e241488e1b52d178b9e3926112ece7b5ff4", "signature": "public byte Changed", "summary": "keys or clips moved, were added or removed, or a track flag changed (offset 0)" }, { "name": "KeysMoved", "kind": "field", "id": "field|KeysMoved|0|0|byte|||h6790d2fb2a091022b343e67090a999900e5e6b42478a49695e3bcdea413567d0", "signature": "public byte KeysMoved", "summary": "selected keys moved this frame (drag or Alt\u002Barrows) (offset 6)" }, { "name": "PlayToggled", "kind": "field", "id": "field|PlayToggled|0|0|byte|||hc9a479195d3be8447120cdffffbdec52e6004716f22bce46c662a3a8efd34633", "signature": "public byte PlayToggled", "summary": "Space: start or stop playback (offset 3)" }, { "name": "Scrubbing", "kind": "field", "id": "field|Scrubbing|0|0|byte|||ha7b692303a3c39fcb3a5f95f5f7bf595ff165e2874b21523be19c3d54111c64e", "signature": "public byte Scrubbing", "summary": "the playhead is being dragged (offset 2)" }, { "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|byte|||hcd9665fd3f1681a5d2b578f5591a4ad75144e40faafeb6788c0782cddf3116c2", "signature": "public byte SelectionChanged", "summary": "a key or clip was selected or unselected this frame (offset 4)" }, { "name": "TimeChanged", "kind": "field", "id": "field|TimeChanged|0|0|byte|||h28768da863d81b152772245faf82d6aefadf7dc8dd24a277348f410850d04f75", "signature": "public byte TimeChanged", "summary": "time moved (scrub, ruler click, keys) (offset 1)" }, { "name": "ViewChanged", "kind": "field", "id": "field|ViewChanged|0|0|byte|||h968fb22c9e133162ed2bb1e1b83f1e701e91d01be17827f59793f1a36c1b1a8b", "signature": "public byte ViewChanged", "summary": "the visible time range or the row scroll changed (zoom, pan, fit) (offset 5)" }, { "name": "AddedKey", "kind": "field", "id": "field|AddedKey|0|0|int|||ha8e58faba1c728fe25d31ea3e66082285970f2ec12ab48f52376a20679473da9", "signature": "public int AddedKey", "summary": "the key added this frame (double click), or -1 (offset 12)" }, { "name": "AddedTrack", "kind": "field", "id": "field|AddedTrack|0|0|int|||hd09c9d0b3aaf7c0a2f00f840aad0417f84f4096dcfd34c9bbb7837e2452ee4da", "signature": "public int AddedTrack", "summary": "the key added this frame (double click), or -1 (offset 8)" }, { "name": "Clip", "kind": "field", "id": "field|Clip|0|0|int|||ha920295d84599cdc0940acb2d6a074abbe96d37d1c4b07783b3d79dc3b94a907", "signature": "public int Clip", "summary": "the clip moved or trimmed this frame, or -1 (offset 28)" }, { "name": "ClipTrack", "kind": "field", "id": "field|ClipTrack|0|0|int|||hd040e6fd1c8a24948aa8714159d0f6860d9dfa74526817d24bf44b0750aeccf0", "signature": "public int ClipTrack", "summary": "the clip moved or trimmed this frame, or -1 (offset 24)" }, { "name": "CurrentKey", "kind": "field", "id": "field|CurrentKey|0|0|int|||h1f9f9e276d189f141cc95626370c85293587bbc81d6ed41c542bf89d7b66a89e", "signature": "public int CurrentKey", "summary": "index of that key in its track, or -1 (offset 40)" }, { "name": "CurrentTrack", "kind": "field", "id": "field|CurrentTrack|0|0|int|||h1cd8beaafe2750d4e51c20d8c9bd32973b6b59d441d469e210cd68066b762a5f", "signature": "public int CurrentTrack", "summary": "track of the key last clicked or added, or -1 (offset 36)" }, { "name": "HoveredKey", "kind": "field", "id": "field|HoveredKey|0|0|int|||h5f9a0b03a58b19df9fe682e41ca82692d9a7d27ef2cf9eb436df6a03faed7ec7", "signature": "public int HoveredKey", "summary": "the key under the pointer, or -1 (offset 48)" }, { "name": "HoveredTrack", "kind": "field", "id": "field|HoveredTrack|0|0|int|||hef9e0c1f9c6600daf6fa5e659af87654318417480a903f316dcb65f0c22b9976", "signature": "public int HoveredTrack", "summary": "the key under the pointer, or -1 (offset 44)" }, { "name": "RemovedClips", "kind": "field", "id": "field|RemovedClips|0|0|int|||hd2490000eb723d503a8568158ee4c011ed9b150aa2b815079cc13d7aa054a4b9", "signature": "public int RemovedClips", "summary": "how many were removed this frame (Delete) (offset 20)" }, { "name": "RemovedKeys", "kind": "field", "id": "field|RemovedKeys|0|0|int|||h4df23841d98bd9d4b2bfc95ae5403d1478d1ffd2f7398843b1f8ee32c749837f", "signature": "public int RemovedKeys", "summary": "how many were removed this frame (Delete) (offset 16)" }, { "name": "Toggled", "kind": "field", "id": "field|Toggled|0|0|int|||h82e392de52553e129e49d9cce4050ccbbcd5dc4b65665d552caefdfb90d73691", "signature": "public int Toggled", "summary": "the track whose collapsed, muted or locked flag changed, or -1 (offset 32)" }] }, + { "name": "CuiSharp.Interop.NativeTimelineOpts", "displayName": "NativeTimelineOpts", "kind": "struct", "summary": "Activity timeline item. (40 bytes)", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 32)" }, { "name": "Last", "kind": "field", "id": "field|Last|0|0|byte|||h45cd136623493afd47e26b9dfec2573cbbae0ac3635ab5eb63af8e652f649bdb", "signature": "public byte Last", "summary": "the final item: no connector line below its dot and no space after it (offset 36)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 24)" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|nint|||h6d58676de43396dc84cf8d2e099bd5fe6b43afec28246479d0f40b03dafda113", "signature": "public nint Time", "summary": "muted text at the right of the title, e.g. \u00222h ago\u0022 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeTimelineTrack", "displayName": "NativeTimelineTrack", "kind": "struct", "summary": "cui_timeline_track (64 bytes)", "members": [{ "name": "Collapsed", "kind": "field", "id": "field|Collapsed|0|0|byte|||h8afd2f4817805b2f1be280ad3f4ed4cc80b44cedc7436ac57dfb8c2e34fb5a43", "signature": "public byte Collapsed", "summary": "a group hides its tracks (its chevron toggles this) (offset 20)" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|byte|||h01a054d4e71c0ca4038d809603c57f503b576b6514a1eb8949cbeadac80b05c5", "signature": "public byte Color", "summary": "series color 1..6; 0 takes the group\u0027s, or the next one at the top level (offset 23)" }, { "name": "Locked", "kind": "field", "id": "field|Locked|0|0|byte|||hffde318d2492e35c58e6e0216937c3868d155bd845f2081421fe7744119e21c4", "signature": "public byte Locked", "summary": "toggled by the row\u0027s buttons (.toggles); a locked track can\u0027t be edited (offset 22)" }, { "name": "Muted", "kind": "field", "id": "field|Muted|0|0|byte|||hd394c2e19613033efcc4a61fa3171f5cdac77c142705edaa16ede4fb74398475", "signature": "public byte Muted", "summary": "toggled by the row\u0027s buttons (.toggles); a locked track can\u0027t be edited (offset 21)" }, { "name": "ClipCount", "kind": "field", "id": "field|ClipCount|0|0|int|||ha7ee9369a3530e47aa727f83e1c125be4f77d46fdb743e7a7d47738108288c1b", "signature": "public int ClipCount", "summary": "clips in \u0060clips\u0060; lowered when selected clips are removed (offset 56)" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "0 top level; the deeper tracks after a track belong to it (a group) (offset 16)" }, { "name": "KeyCapacity", "kind": "field", "id": "field|KeyCapacity|0|0|int|||h67dd11ab7724489e3088db97899b69f9f952ebc4f4fe88ae1741748064306cde", "signature": "public int KeyCapacity", "summary": "room in \u0060keys\u0060; a double click adds no key once it is full (or 0) (offset 36)" }, { "name": "KeyCount", "kind": "field", "id": "field|KeyCount|0|0|int|||h66562d1c4a2a8786d9f290dd4f5645da581cfefb8d8d798050739fd49b10c12a", "signature": "public int KeyCount", "summary": "keys in \u0060keys\u0060; the editor changes it when keys are added or removed (offset 32)" }, { "name": "Clips", "kind": "field", "id": "field|Clips|0|0|nint|||hb21c6a4911a55af817e02a281105ee14728b7ce970a7089958e55cd8f185cdb6", "signature": "public nint Clips", "summary": "sorted by start, not overlapping (may be NULL) (offset 48)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "optional, before the name (offset 8)" }, { "name": "KeySelected", "kind": "field", "id": "field|KeySelected|0|0|nint|||h71474ad2a50c96e9b489ed626221cb501815125740b53346b919f387980b359c", "signature": "public nint KeySelected", "summary": "parallel to keys, kept by you; NULL: the keys are shown but not selectable (offset 40)" }, { "name": "Keys", "kind": "field", "id": "field|Keys|0|0|nint|||hf7fa769c59cb01084518ef9b312f3ea776cc052b9025fc9736601642500ad57c", "signature": "public nint Keys", "summary": "sorted by x: x is the time in seconds, y the value (may be NULL) (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "shown in the track list and in tooltips (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTimelineView", "displayName": "NativeTimelineView", "kind": "struct", "summary": "cui_timeline_view (12 bytes)", "members": [{ "name": "End", "kind": "field", "id": "field|End|0|0|float|||h746aa4735d52d974b98a908b8c756c9e0c0f37203b3999ab7359e161064f649d", "signature": "public float End", "summary": "visible time range; end \u003C= start fits the sequence (offset 4)" }, { "name": "Scroll", "kind": "field", "id": "field|Scroll|0|0|float|||h0dfb15b9f1ad3ea27fb4bb36094488302791ae6da1fc5727249bcba34280b5fb", "signature": "public float Scroll", "summary": "rows scrolled off the top, in points (offset 8)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|float|||ha3e89c7d95d80cd26b26f17ad97c1dd953e50a5774663a52471d8a17579c8978", "signature": "public float Start", "summary": "visible time range; end \u003C= start fits the sequence (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeToastOpts", "displayName": "NativeToastOpts", "kind": "struct", "summary": "cui_toast_opts (40 bytes)", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 16)" }, { "name": "ShowTimer", "kind": "field", "id": "field|ShowTimer|0|0|byte|||hea0c885cd2397aff3d20c08277d394a592991fb5e78bd8bac291b49acf398300", "signature": "public byte ShowTimer", "summary": "a draining line shows how long the action stays (undo) (offset 32)" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "seconds, default 4; negative = until dismissed (offset 20)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|nint|||h7dfe2a16d24f5ae17516623e6e776336e0c9174236c2f3e6d25910fcd1c88c17", "signature": "public nint Action", "summary": "optional action button label (offset 24)" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|nint|||h6ee8ec6624c6b7f3700d7e8f1e4cfa8524b431ae33738d7f5cec221581ab4be6", "signature": "public nint Description", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeTocItem", "displayName": "NativeTocItem", "kind": "struct", "summary": "Table of contents for a scroll area: highlights the section in view on a progress rail, and scrolls to a section when clicked. Put cui_toc_anchor(ui, \u0022anchor\u0022) at each heading inside the scroll area, and call cui_toc in the same scope as the scroll area. Returns the active index. (24 bytes)", "members": [{ "name": "Level", "kind": "field", "id": "field|Level|0|0|int|||h17c0e20faecc69c8472481644557574bb0d4d89b76f0c643524eb31d6b244fbe", "signature": "public int Level", "summary": "indentation: 0 for a top level section, up to 4 (12 points each) (offset 16)" }, { "name": "Anchor", "kind": "field", "id": "field|Anchor|0|0|nint|||h2a3efb78b027ddab56b002c1c17c0175140a3ae80ce9ca969857ccc0bd8e0f33", "signature": "public nint Anchor", "summary": "the name given to \u0060cui_toc_anchor\u0060 at that section\u0027s heading (offset 8)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "the entry\u0027s text in the list (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeToggleGroupOpts", "displayName": "NativeToggleGroupOpts", "kind": "struct", "summary": "Toggle group: a row of toggles (bold, italic...). values[i] is toggled when item i is clicked; with exclusive set exactly one stays on. Labels become tooltips when icon_only is set. Returns true when a value changed. (24 bytes)", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size (offset 20)" }, { "name": "Exclusive", "kind": "field", "id": "field|Exclusive|0|0|byte|||h2915cc6aad044566563236e81146e496a55145bf88d2f477213b22179ae9ffec", "signature": "public byte Exclusive", "summary": "clicking an item turns it on and every other one off, like radio buttons (offset 16)" }, { "name": "IconOnly", "kind": "field", "id": "field|IconOnly|0|0|byte|||he1deea30e2ceaedc2963bbb3123c80ddfc8b08dd35ad10f892a4ecb904044965", "signature": "public byte IconOnly", "summary": "items that have an icon show only the icon, with their label as the tooltip (offset 17)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|nint|||h9dcb1e799c22cfc28d5f3330f8ad5d309473e6a32f68ce7efd7068c42c7988da", "signature": "public nint Icons", "summary": "const char *const * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeToolCallOpts", "displayName": "NativeToolCallOpts", "kind": "struct", "summary": "cui_tool_call_opts (48 bytes)", "members": [{ "name": "Status", "kind": "field", "id": "field|Status|0|0|CuiTaskStatus|||hc70e5654f5e0b77ce9da45f798c273c2ac66019dc100160d6f02b89ccf377bba", "signature": "public CuiTaskStatus Status", "summary": "cui_task_status (offset 4)" }, { "name": "Seconds", "kind": "field", "id": "field|Seconds|0|0|float|||hb2b6bfb7a4abde73c46fe03cfd0492620c03edc110332cec5c1c257b49ebec83", "signature": "public float Seconds", "summary": "how long the call took, shown at the end of the row unless it is pending; 0 hides it (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "muted text after the tool\u0027s name, e.g. the file or query it works on (offset 16)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }, { "name": "Input", "kind": "field", "id": "field|Input|0|0|nint|||haf51efcec7f9e2d232ed76d286927e5679aff8045761f7bec8f172a2b73bcbcd", "signature": "public nint Input", "summary": "what was sent to the tool; the row then opens to show it (as JSON when it parses) (offset 24)" }, { "name": "Output", "kind": "field", "id": "field|Output|0|0|nint|||hda5cbea8e80939176aa3944171f9d310bc816f98e9fb144aecb8b62891be2fb4", "signature": "public nint Output", "summary": "what the tool returned, shown when open; labelled \u0022Error\u0022 when the status is failed (offset 32)" }] }, + { "name": "CuiSharp.Interop.NativeToolOpts", "displayName": "NativeToolOpts", "kind": "struct", "summary": "cui_tool_opts (48 bytes)", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|byte|||h598b782fc187a61c70a340f0627cb3971902d249311c8b02cefc539f346c7b24", "signature": "public byte Disabled", "summary": "_Bool (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "text on the button (icon may be NULL); also its name in the overflow menu (offset 8)" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|nint|||hc6bbf869e5f430ce1cb0bb80bcc43a44ef490242700d9eccaf018d9378a8f2dd", "signature": "public nint Shortcut", "summary": "shown in the tooltip, e.g. \u0022Ctrl B\u0022 (offset 24)" }, { "name": "Toggle", "kind": "field", "id": "field|Toggle|0|0|nint|||h4b7bb178af01b592c1b2c12adcc523ef1a13768e95d660b55d67d5ac73689099", "signature": "public nint Toggle", "summary": "toggle button: flipped on click, shown pressed while true (offset 32)" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|nint|||hccbc32a161449afe62353b5d908ca3da9aecdd74fe8acbce624e4004ec4575e7", "signature": "public nint Tooltip", "summary": "the name of an icon only button (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeToolbarOpts", "displayName": "NativeToolbarOpts", "kind": "struct", "summary": "Toolbar: a row of compact icon buttons, toggles, separators and small text buttons. Icon only buttons show their tooltip as their name. Items that do not fit collapse, from the end, into a \u0022more\u0022 menu; an item chosen there returns true on the next frame. (8 bytes)", "members": [{ "name": "NoBorder", "kind": "field", "id": "field|NoBorder|0|0|byte|||h52a658d9e90fb592c2d5b234fe36d916b01f85259ebf498345a83768a1f7a51c", "signature": "public byte NoBorder", "summary": "_Bool (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTourOpts", "displayName": "NativeTourOpts", "kind": "struct", "summary": "cui_tour_opts (48 bytes)", "members": [{ "name": "BlockTarget", "kind": "field", "id": "field|BlockTarget|0|0|byte|||hab5555c1e6369ffbcf45e5591291d9c00318af64dd9dd1e9d22ae563df1d5e92", "signature": "public byte BlockTarget", "summary": "the spotlighted control ignores the pointer too (offset 12)" }, { "name": "Padding", "kind": "field", "id": "field|Padding|0|0|float|||h5921be8adbefbfcb4404da7db85d1cb3731c758d863577be4fbce92451350649", "signature": "public float Padding", "summary": "room around the target inside the spotlight, default 6 (offset 8)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "the card, default 300 (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "BackLabel", "kind": "field", "id": "field|BackLabel|0|0|nint|||h334d75363f299a552d16ed542c91535013f66b10bb86e3aa11b0c34ec28078cd", "signature": "public nint BackLabel", "summary": "default \u0022Next\u0022, \u0022Back\u0022, \u0022Done\u0022 (offset 24)" }, { "name": "CountFormat", "kind": "field", "id": "field|CountFormat|0|0|nint|||hd7aaaf99dab62f1ddd4a5c25df329054e14f88d7862c66a5428ef69ec63ac1f0", "signature": "public nint CountFormat", "summary": "the step count, default \u0022%d of %d\u0022 (step, then total) (offset 40)" }, { "name": "DoneLabel", "kind": "field", "id": "field|DoneLabel|0|0|nint|||h2f5c8b5d818d8932f7bb90c1edd1959a1b40031ee4f3050947dd73049e9067d4", "signature": "public nint DoneLabel", "summary": "default \u0022Next\u0022, \u0022Back\u0022, \u0022Done\u0022 (offset 32)" }, { "name": "NextLabel", "kind": "field", "id": "field|NextLabel|0|0|nint|||h8fab053b73f09103926ee9d5b482ba66b63d6b393162be89c62fe10854cf1799", "signature": "public nint NextLabel", "summary": "default \u0022Next\u0022, \u0022Back\u0022, \u0022Done\u0022 (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeTourStep", "displayName": "NativeTourStep", "kind": "struct", "summary": "Guided tour: a spotlight on one control at a time, with a card beside it that says what the control does, for onboarding and \u0022what\u0027s new\u0022. The rest of the window dims; the spotlight glides from one control to the next. Call it after the controls it points at, every frame while *step is 0 or more; it sets *step to -1 when the tour ends. Right or Enter go to the next step, Left goes back and Esc ends the tour. (32 bytes)", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "the card\u0027s side of the target, default below it (offset 24)" }, { "name": "Body", "kind": "field", "id": "field|Body|0|0|nint|||h3d66a8fe22c67f795d8c7c5cebc6e6f74da4fff0d9ce5bb6d47f95c5abbbfa9d", "signature": "public nint Body", "summary": "the explanation under the title; wraps to the card\u0027s width (offset 16)" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|nint|||h559defeee66deb7151a3fceb2f0d5bfe862721a161e609db613c9b7bdf286c4a", "signature": "public nint Title", "summary": "heading of the step\u0027s card; \u0060NULL\u0060 or \u0022\u0022 leaves it out (offset 8)" }, { "name": "Target", "kind": "field", "id": "field|Target|0|0|uint|||he9ee9dd345fe17fa7d374fd3bbf2d77faa51c7aa3b0c74aba7353f9abfa39524", "signature": "public uint Target", "summary": "the control to point at (cui_last_id after it); 0: a card in the middle (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTraceMarker", "displayName": "NativeTraceMarker", "kind": "struct", "summary": "cui_trace_marker (24 bytes)", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone (offset 16)" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|double|||hf6eb8bfefd7957f87b5ed2738bc9a721b9ff45c732f53108d799ad2931a6b170", "signature": "public double Time", "summary": "double (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "const char * (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTraceOpts", "displayName": "NativeTraceOpts", "kind": "struct", "summary": "cui_trace_opts (40 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320 (offset 12)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "default 20 (offset 16)" }, { "name": "MarkerCount", "kind": "field", "id": "field|MarkerCount|0|0|int|||hd02925399c1946c54760fa87c0cf0fc40e035f18f37eefaa1c62d9287953f517", "signature": "public int MarkerCount", "summary": "number of \u0060markers\u0060 (offset 32)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Markers", "kind": "field", "id": "field|Markers|0|0|nint|||h134f9ef22b305a856fcb0cc7d38a8d2e618b7fec5dc84dff9cb2d96d9317dffe", "signature": "public nint Markers", "summary": "moments drawn as lines across every lane, named in a strip under the ruler (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeTraceResult", "displayName": "NativeTraceResult", "kind": "struct", "summary": "cui_trace_result (8 bytes)", "members": [{ "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|byte|||hcd9665fd3f1681a5d2b578f5591a4ad75144e40faafeb6788c0782cddf3116c2", "signature": "public byte SelectionChanged", "summary": "\u0060*selected\u0060 changed this frame (click or keys) (offset 0)" }, { "name": "ViewChanged", "kind": "field", "id": "field|ViewChanged|0|0|byte|||h968fb22c9e133162ed2bb1e1b83f1e701e91d01be17827f59793f1a36c1b1a8b", "signature": "public byte ViewChanged", "summary": "the visible time range or the scroll in \u0060*view\u0060 changed (zoom, pan, fit) (offset 1)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "span under the pointer, or -1 (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeTraceSpan", "displayName": "NativeTraceSpan", "kind": "struct", "summary": "cui_trace_span (40 bytes)", "members": [{ "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "when the span ends, in seconds; end \u003E= start (offset 16)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "when the span begins, in seconds (offset 8)" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "row within the lane, 0 = top; a child lies within its parent (offset 28)" }, { "name": "Track", "kind": "field", "id": "field|Track|0|0|int|||h9c37b28844517649f18e47061d3bb9ab42f294995e73a6edbf8deb27d891797c", "signature": "public int Track", "summary": "index into the tracks: the lane the span is drawn in (offset 24)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "drawn in the span when it fits, and in its tooltip (offset 0)" }, { "name": "ColorKey", "kind": "field", "id": "field|ColorKey|0|0|uint|||hbbc8b9d5c464ef1cd597c6f62696a77755f8847c84433421ceea1723416ab5bd", "signature": "public uint ColorKey", "summary": "picks the color; 0: hashed from the name (offset 32)" }] }, + { "name": "CuiSharp.Interop.NativeTraceTrack", "displayName": "NativeTraceTrack", "kind": "struct", "summary": "A tracing timeline: one lane per thread, process or service, each with its nested spans, on one time ruler, with markers (frames, GC pauses, deploys) drawn across every lane. Wheel zooms around the pointer, Shift\u002Bwheel or a drag pans, click selects a span, Shift\u002Bdrag measures a time range. A lane\u0027s name folds it. Keys: Left and Right step through the selected span\u0027s lane, \u002B and - zoom, F fits, Esc clears. Spans must be sorted by track, depth and start (cui_trace_sort), with no overlap within a depth of a track. Like the flame graph, only what is in view is visited. (16 bytes)", "members": [{ "name": "Collapsed", "kind": "field", "id": "field|Collapsed|0|0|byte|||h8afd2f4817805b2f1be280ad3f4ed4cc80b44cedc7436ac57dfb8c2e34fb5a43", "signature": "public byte Collapsed", "summary": "the lane shows only its top row; a click on its name toggles this (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "the lane\u0027s name, in the column on the left (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeTraceView", "displayName": "NativeTraceView", "kind": "struct", "summary": "cui_trace_view (40 bytes)", "members": [{ "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "visible time range; end \u003C= start fits everything (offset 8)" }, { "name": "MarkEnd", "kind": "field", "id": "field|MarkEnd|0|0|double|||h699816d1c0538e008f463ac8f850d0a13da89e363166dd067ec66639d88d61fa", "signature": "public double MarkEnd", "summary": "measured range; mark_end \u003C= mark_start: none (offset 32)" }, { "name": "MarkStart", "kind": "field", "id": "field|MarkStart|0|0|double|||h35e62cd0862ac884bb6c77fa8438ba07d7a031aa2c53827132af5f19a5e16bf4", "signature": "public double MarkStart", "summary": "measured range; mark_end \u003C= mark_start: none (offset 24)" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "visible time range; end \u003C= start fits everything (offset 0)" }, { "name": "Scroll", "kind": "field", "id": "field|Scroll|0|0|float|||h0dfb15b9f1ad3ea27fb4bb36094488302791ae6da1fc5727249bcba34280b5fb", "signature": "public float Scroll", "summary": "points scrolled down (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeTreeNode", "displayName": "NativeTreeNode", "kind": "struct", "summary": "cui_tree_node (16 bytes)", "members": [{ "name": "FirstChild", "kind": "field", "id": "field|FirstChild|0|0|int|||hf352db55e0335cdbaba7921f10fcce1a433441b9e9200bbbffc55ea64941e15f", "signature": "public int FirstChild", "summary": "-1 when it has none, or none loaded yet (offset 4)" }, { "name": "NextSibling", "kind": "field", "id": "field|NextSibling|0|0|int|||h91edbf9b95ba6415a86ef01020d77d524dc26276aeb561f29306da80f336c887", "signature": "public int NextSibling", "summary": "-1 for the last one (offset 8)" }, { "name": "Parent", "kind": "field", "id": "field|Parent|0|0|int|||h337a9d403da4862c29838d25d5876fa8d3e3fbbc6d85493b646b4fd3986ce253", "signature": "public int Parent", "summary": "-1 for a top level node (offset 0)" }, { "name": "Flags", "kind": "field", "id": "field|Flags|0|0|uint|||h8dd9ee481d32fb809cedb1907c271920532dbd423f399bfa4ccf2a6105fbe6ef", "signature": "public uint Flags", "summary": "CUI_TREE_* (offset 12)" }] }, + { "name": "CuiSharp.Interop.NativeTreeOpts", "displayName": "NativeTreeOpts", "kind": "struct", "summary": "Tree view node. (24 bytes)", "members": [{ "name": "Leaf", "kind": "field", "id": "field|Leaf|0|0|byte|||hcb8d463396d0986b4a7158c93478ebc076bfd6f8b852a099a763568e77e03ca6", "signature": "public byte Leaf", "summary": "a node without children: no chevron, a file icon, and \u0060*open\u0060 is left alone (offset 16)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|byte|||h48f54c1c7f1477a898313a8a1128d8456b17a09db15f6c9d1b8c0f9629b7fdf5", "signature": "public byte Selected", "summary": "drawn with the active background and medium weight text (offset 17)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|nint|||ha48e0eb0e04c9fff956a3c68f27c2322280997e38a0ef25c3c45bd2857b0d34e", "signature": "public nint Icon", "summary": "const char * (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeTreeTableEvents", "displayName": "NativeTreeTableEvents", "kind": "struct", "summary": "cui_tree_table_events (32 bytes)", "members": [{ "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|byte|||hcd9665fd3f1681a5d2b578f5591a4ad75144e40faafeb6788c0782cddf3116c2", "signature": "public byte SelectionChanged", "summary": "a node\u0027s \u0060CUI_TREE_SELECTED\u0060 flag changed this frame (offset 28)" }, { "name": "SortChanged", "kind": "field", "id": "field|SortChanged|0|0|byte|||h27277dd4c34138a956e47784bfc542bea66d3feda690362938f1af7f08e3e23d", "signature": "public byte SortChanged", "summary": "re-sort every sibling list by *sort (offset 29)" }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "node chosen with Enter or a double click, else -1 (offset 0)" }, { "name": "Collapsed", "kind": "field", "id": "field|Collapsed|0|0|int|||h262c4d45e3d13bee43f8ac39f2ff56b5d048b3b25153520af18ddaf6f6e84eea", "signature": "public int Collapsed", "summary": "a node opened or closed this frame, else -1 (offset 8)" }, { "name": "Expanded", "kind": "field", "id": "field|Expanded|0|0|int|||hea34f62efe0e709a9f30da78e1cea3315e6ff85fecdd1f637945da4eca61368f", "signature": "public int Expanded", "summary": "a node opened or closed this frame, else -1 (offset 4)" }, { "name": "LoadCount", "kind": "field", "id": "field|LoadCount|0|0|int|||h58036213d1b087e84728b7abfa9dd2fa46f0ff222be747ca94c271a3e6858a09", "signature": "public int LoadCount", "summary": "number of nodes in \u0060load\u0060; at most 64 a frame (offset 24)" }, { "name": "Load", "kind": "field", "id": "field|Load|0|0|nint|||hfc3730ca04a1398d0a3811a4763c23506e45e692e349adf8b9ebda8d95843f29", "signature": "public nint Load", "summary": "nodes to load children for (each now has CUI_TREE_LOADING), valid this frame (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeTreeTableOpts", "displayName": "NativeTreeTableOpts", "kind": "struct", "summary": "cui_tree_table_opts (72 bytes)", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "default fill (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "default fill (offset 4)" }, { "name": "Guides", "kind": "field", "id": "field|Guides|0|0|byte|||hc1f5e271d6e5c5fe32d3510ffa53cfaad5126978a37f3fbf0479bc311e1290dc", "signature": "public byte Guides", "summary": "quiet vertical lines for each indentation level (offset 48)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "default 32 (offset 20)" }, { "name": "Root", "kind": "field", "id": "field|Root|0|0|int|||h6951cf8e44d999438aa751b095b478c002e3b8defd9d6fa77bc90f1c5a707dfb", "signature": "public int Root", "summary": "the first top level node, default 0 (offset 24)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Cursor", "kind": "field", "id": "field|Cursor|0|0|nint|||h195d74261818c31b6a837175cd06968e2a34f757d46f62d7a83a2655d64fa49a", "signature": "public nint Cursor", "summary": "the keyboard node, optional (in and out) (offset 40)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "names for type-ahead, optional (offset 56)" }, { "name": "Sort", "kind": "field", "id": "field|Sort|0|0|nint|||h9d98eab2f080d85ca8cb2b51bbfbb1c26340f12564431ce3c0cb8b55484a96e2", "signature": "public nint Sort", "summary": "sortable headers set it; sort each level yourself (cui_tree_sort) (offset 32)" }, { "name": "User", "kind": "field", "id": "field|User|0|0|nint|||hbb8b86031509e9566eb92455c659fd89532fcd8a35724b86f43a45f38dc8e34f", "signature": "public nint User", "summary": "passed to \u0060label\u0060 as its first argument (offset 64)" }] }, + { "name": "CuiSharp.Interop.NativeTreemapOpts", "displayName": "NativeTreemapOpts", "kind": "struct", "summary": "cui_treemap_opts (24 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeUptimeOpts", "displayName": "NativeUptimeOpts", "kind": "struct", "summary": "cui_uptime_opts (24 bytes)", "members": [{ "name": "LastDay", "kind": "field", "id": "field|LastDay|0|0|NativeDate|||h45adcdab927139a6170b18813b908fcc78735c3c1111d3ce3f9139bbc85469b1", "signature": "public NativeDate LastDay", "summary": "the date of the last value, for the tooltips (offset 12)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "the date of the last value, for the tooltips (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "the date of the last value, for the tooltips (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeUptimeResult", "displayName": "NativeUptimeResult", "kind": "struct", "summary": "cui_uptime_result (8 bytes)", "members": [{ "name": "Day", "kind": "field", "id": "field|Day|0|0|int|||h40d69339a69f05f7a1cf0fdcf537358258767e30cc6d07e430cb48196d28a0e1", "signature": "public int Day", "summary": "under the pointer, or -1 (offset 4)" }, { "name": "Service", "kind": "field", "id": "field|Service|0|0|int|||hba0d1bf399894e025b711a3e44f55e40012b5deae721403f37ad45df303a1b8b", "signature": "public int Service", "summary": "under the pointer, or -1 (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeUptimeService", "displayName": "NativeUptimeService", "kind": "struct", "summary": "A status page: each service with its current state, its uptime over the period, and one bar per day colored by availability (gray without data). Hover a bar for its day and uptime. On a narrow panel only the most recent days that fit are shown. (24 bytes)", "members": [{ "name": "DayCount", "kind": "field", "id": "field|DayCount|0|0|int|||h807a67852d2bc2138f90f797ad0d152fe0dfce453c6d29ff5f83297024adfbca", "signature": "public int DayCount", "summary": "number of values in \u0060days\u0060 (offset 16)" }, { "name": "Days", "kind": "field", "id": "field|Days|0|0|nint|||h32980efb990a38503338072a962cf6130151324687d2a1adf8f4a0c793bc0ef9", "signature": "public nint Days", "summary": "oldest first: the fraction of the day it was up, 0..1; negative: no data (offset 8)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|nint|||h4385fc4e9e78a1bff4005233736edaa3b7e7b2adb2d4e4c67d827bd3cdd10bc9", "signature": "public nint Name", "summary": "shown above the service\u0027s bars (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeUserMenuOpts", "displayName": "NativeUserMenuOpts", "kind": "struct", "summary": "User menu: an avatar, a name and a line of detail that opens a menu of account actions. Put menu items between begin and end. (48 bytes)", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement (offset 36)" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|byte|||h82ad4978e776988891fb40f0e87ef125edf87783174f60001d6260930e049142", "signature": "public byte Compact", "summary": "only the avatar as the button, as wide as it needs; the menu then opens below it (offset 32)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float (offset 40)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|nint|||he69894387d5fc094a7cdccdba192cc597553cc294c184915bc6eeae4d098c54d", "signature": "public nint Detail", "summary": "second line under the name, e.g. an email address; also in the menu\u0027s header (offset 8)" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|nint|||h5eb064e9f4d4ca19be69b5617dddc7619d74afabd85bd1578dc70d05818e080a", "signature": "public nint Status", "summary": "status dot on the avatar: \u0022online\u0022, \u0022busy\u0022, \u0022away\u0022 or anything else (gray) (offset 16)" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|nuint|||hd836d3050349dc9e230d8ba691c657178a9fd72c10b4dc2ffe3eba6966257126", "signature": "public nuint Avatar", "summary": "picture for the avatar instead of the name\u0027s initials (offset 24)" }] }, + { "name": "CuiSharp.Interop.NativeVec2", "displayName": "NativeVec2", "kind": "struct", "summary": "cui_vec2 (8 bytes)", "members": [{ "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "float (offset 0)" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "float (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeVertex", "displayName": "NativeVertex", "kind": "struct", "summary": "cui_vertex (64 bytes)", "members": [{ "name": "BorderColor", "kind": "field", "id": "field|BorderColor|0|0|NativeColor|||h6c242cb21110bdcec7298ca27c1f6fe09c2e439c7c00a703fbb920a55723822b", "signature": "public NativeColor BorderColor", "summary": "cui_color (offset 60)" }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "fill (offset 56)" }, { "name": "Border", "kind": "field", "id": "field|Border|0|0|float|||h4bb5750724304a562c69bb723b5db8d43e5846d3b78c2e66ad01710cdfbf5191", "signature": "public float Border", "summary": "border width (RRECT) or blur sigma (SHADOW) (offset 48)" }, { "name": "Hh", "kind": "field", "id": "field|Hh|0|0|float|||h1c6862ae07c727004a8c7151417e749467d8b042296b3293853eb996ce807c90", "signature": "public float Hh", "summary": "half size of the shape, pixels (offset 28)" }, { "name": "Hw", "kind": "field", "id": "field|Hw|0|0|float|||h758884b50ea929bcc3a60a8b05dadcf44f148f00f839e7ecdbc4fc368682fef9", "signature": "public float Hw", "summary": "half size of the shape, pixels (offset 24)" }, { "name": "Lx", "kind": "field", "id": "field|Lx|0|0|float|||h3a4b6e9eb14f7c42a745e1ae6676a77e89f1a174b969ede89c750ab88b3bdbb0", "signature": "public float Lx", "summary": "position relative to the shape center, pixels (offset 16)" }, { "name": "Ly", "kind": "field", "id": "field|Ly|0|0|float|||hd1165beb2153fe6bcacd014305ca3e89e51a409a8217b41f7f302e96ee5906e0", "signature": "public float Ly", "summary": "position relative to the shape center, pixels (offset 20)" }, { "name": "Mode", "kind": "field", "id": "field|Mode|0|0|float|||heb69ea4c288c1f889d5934bff78b3dbf2cc214d6953588aa989e0370de0bbf4b", "signature": "public float Mode", "summary": "CUI_SHADE_* (offset 52)" }, { "name": "RBl", "kind": "field", "id": "field|RBl|0|0|float|||h8310356cb564473fa9b73326e0134c97865f51a13a40d30bd52837fc384992b1", "signature": "public float RBl", "summary": "corner radii, pixels (offset 44)" }, { "name": "RBr", "kind": "field", "id": "field|RBr|0|0|float|||h6eb011a321c1ff1f497439bb8e4915f976f20d3a2e96e2c31379b21cf17ff472", "signature": "public float RBr", "summary": "corner radii, pixels (offset 40)" }, { "name": "RTl", "kind": "field", "id": "field|RTl|0|0|float|||he836cc4321783d2a824b07c8669092e0bcc56e20a0bfebc80021d9db22fb4eb8", "signature": "public float RTl", "summary": "corner radii, pixels (offset 32)" }, { "name": "RTr", "kind": "field", "id": "field|RTr|0|0|float|||h8bb36ee8371dbbba0c29cc7b754b94e45ca2acd3916bd2308261c85d1155193d", "signature": "public float RTr", "summary": "corner radii, pixels (offset 36)" }, { "name": "U", "kind": "field", "id": "field|U|0|0|float|||h80a260e59ef807833e3326184d04df9d5bf8b6b63f398ead0a7fe40184d52c71", "signature": "public float U", "summary": "texture coordinate (offset 8)" }, { "name": "V", "kind": "field", "id": "field|V|0|0|float|||h9ed934207acd45cf3efdba998593819e906780e91ea6d2a0c3bd1c528440f096", "signature": "public float V", "summary": "texture coordinate (offset 12)" }, { "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "position in pixels (offset 0)" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "position in pixels (offset 4)" }] }, + { "name": "CuiSharp.Interop.NativeVizItem", "displayName": "NativeVizItem", "kind": "struct", "summary": "Treemap: rectangles with areas proportional to their values. (16 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 12)" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|float|||h8c20ac2e2f946bfe778b76ce5a0751e644f14cbfa254ac592650fe0166f91e91", "signature": "public float Value", "summary": "the item\u0027s amount: its area, length or share, by chart (activity rings: 1 is a full turn) (offset 8)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|nint|||h4ee20f09ec543f894e95a7facfb2d78441c3a1ab2b41a83f5288990443bc84cd", "signature": "public nint Label", "summary": "const char * (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeVoiceOrbOpts", "displayName": "NativeVoiceOrbOpts", "kind": "struct", "summary": "cui_voice_orb_opts (12 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 8)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeWaffleOpts", "displayName": "NativeWaffleOpts", "kind": "struct", "summary": "Waffle: a 10 x 10 grid of squares split by share, with a legend. (24 bytes)", "members": [{ "name": "Cell", "kind": "field", "id": "field|Cell|0|0|float|||hf561982788f651cf6be459cbdafa3d95b9d0eec610073c6be9f8ee75925d3d45", "signature": "public float Cell", "summary": "size of a square in points, default 18 (offset 4)" }, { "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "squares per row, at most 60; default 10 (offset 8)" }, { "name": "Rows", "kind": "field", "id": "field|Rows|0|0|int|||hefb2c032827af5f9bdb34f5a833a498a2a3d7d65d6ddf1e90ac44faab38b24dc", "signature": "public int Rows", "summary": "rows of squares, at most 60; default 10 (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|nint|||h559b500e059f0007c7d603fb0c93c2fe8b56b25e8e4e331c1410c2e4b8eab022", "signature": "public nint Format", "summary": "const char * (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeWaterfallOpts", "displayName": "NativeWaterfallOpts", "kind": "struct", "summary": "cui_waterfall_opts (40 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "DomLoaded", "kind": "field", "id": "field|DomLoaded|0|0|double|||had711cfa961b378cf56ad55952a3763a8a8b982d4719b201917574db1440435b", "signature": "public double DomLoaded", "summary": "seconds; 0: no line (offset 24)" }, { "name": "Loaded", "kind": "field", "id": "field|Loaded|0|0|double|||h72af03b033f52e632df13177a005dcc56ae8a6f948dc761c60bb228b7ead174d", "signature": "public double Loaded", "summary": "seconds; 0: no line (offset 32)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|nint|||hb9b23e216684496af33f255761d36a505197ddb902c4eea6b0ab2a2a779d34a2", "signature": "public nint Selected", "summary": "the selected request or -1, kept by you; \u0060NULL\u0060 keeps it in the component (offset 16)" }] }, + { "name": "CuiSharp.Interop.NativeWaterfallResult", "displayName": "NativeWaterfallResult", "kind": "struct", "summary": "cui_waterfall_result (12 bytes)", "members": [{ "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "request double-clicked or chosen with Enter this frame, or -1 (offset 4)" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "request clicked this frame, or -1 (offset 0)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "request under the pointer, or -1 (offset 8)" }] }, + { "name": "CuiSharp.Interop.NativeWaveformOpts", "displayName": "NativeWaveformOpts", "kind": "struct", "summary": "Waveform: bars from peaks (0..1). With progress, the played part is colored and clicking or dragging seeks; returns true when it did. (28 bytes)", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|NativeColor|||h6cd6a23acbd8283ddef1feedac618c9790e4f0fcaee1cb472804c574f12dc041", "signature": "public NativeColor Color", "summary": "cui_color (offset 24)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 4)" }, { "name": "Bar", "kind": "field", "id": "field|Bar|0|0|float|||h591ddfbd792b6ecacf5e925fb8b547031152808505904aa2466d8298c0ada87e", "signature": "public float Bar", "summary": "width of each bar in points, default 3 (offset 16)" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float (offset 20)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float (offset 12)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeWeekOpts", "displayName": "NativeWeekOpts", "kind": "struct", "summary": "cui_week_opts (28 bytes)", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|NativeSize|||he57ae53a281463afb47c00880a2e5be49827fa0c015877f84ada2071d670c6aa", "signature": "public NativeSize Height", "summary": "cui_size (offset 16)" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|byte|||h9e1431d0c26b40c6daa5a446056e13ee71a6462394b7d796b573d868c509360c", "signature": "public byte ReadOnly", "summary": "_Bool (offset 24)" }, { "name": "EndHour", "kind": "field", "id": "field|EndHour|0|0|float|||hf2d73b4840a1592be5241a7d3de76347b3f0fa9a82072704ccc371b6dd7bd10d", "signature": "public float EndHour", "summary": "last hour shown, default 21; used only when it is greater than \u0060start_hour\u0060 (offset 8)" }, { "name": "HourHeight", "kind": "field", "id": "field|HourHeight|0|0|float|||hd99043ce8431fbebab02ad1cffe41da949e573d0bf135f08eb80493759cb456b", "signature": "public float HourHeight", "summary": "points per hour, default 52 (offset 12)" }, { "name": "StartHour", "kind": "field", "id": "field|StartHour|0|0|float|||hd84f53a0fa907b5d1904af3368ea78c32ea17804962c166927e7ad02ddae27f9", "signature": "public float StartHour", "summary": "first hour shown, default 7; set together with \u0060end_hour\u0060 (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.Interop.NativeWheelOpts", "displayName": "NativeWheelOpts", "kind": "struct", "summary": "Wheel picker: a drum of options that you drag, scroll or arrow through. Several side by side make a date or time reel. join_left / join_right square off the selection band so wheels placed side by side share one continuous band. (20 bytes)", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|NativeSize|||h1846b5e04ea3e4cd0dda8e8db05f3d13562443f272d1b79d7a3862f71f14c172", "signature": "public NativeSize Width", "summary": "cui_size (offset 8)" }, { "name": "JoinLeft", "kind": "field", "id": "field|JoinLeft|0|0|byte|||h161e7bd12b17da44e4ec87542a42464f5abad4e2ebcb1969c219cc8b2cb2a5b3", "signature": "public byte JoinLeft", "summary": "squares off the left end of the selection band, to join a wheel on that side (offset 17)" }, { "name": "JoinRight", "kind": "field", "id": "field|JoinRight|0|0|byte|||h632ebae189599ce17523e5c09355f3359e2e6a25f2bd168db30e61da4ac90971", "signature": "public byte JoinRight", "summary": "squares off the right end of the selection band, to join a wheel on that side (offset 18)" }, { "name": "Loop", "kind": "field", "id": "field|Loop|0|0|byte|||h3ea3d61078da90ba0c3355d3ef0183631b189a2445b74ebdb98d33d3479d2b7e", "signature": "public byte Loop", "summary": "the items wrap around: after the last comes the first again (offset 16)" }, { "name": "Rows", "kind": "field", "id": "field|Rows|0|0|int|||hefb2c032827af5f9bdb34f5a833a498a2a3d7d65d6ddf1e90ac44faab38b24dc", "signature": "public int Rows", "summary": "rows in view, made odd so the selected one sits in the middle; default 5 (offset 4)" }, { "name": "Sentinel", "kind": "field", "id": "field|Sentinel|0|0|int|||hb0b3c6c740fda3ebf37f54bf1c38841c2fa88dac7eacbf44e0422ba353807715", "signature": "public int Sentinel", "summary": "int (offset 0)" }] }, + { "name": "CuiSharp.JobStatus", "displayName": "JobStatus", "kind": "enum", "summary": "A CI/CD run: stages left to right, each a column of jobs with their status and duration. A stage\u0027s header sums up its jobs (failed, running, passed). Running jobs spin. Click a job to get its index (open its log). Below 560 points the stages stack top to bottom.", "members": [{ "name": "Canceled", "kind": "enum value", "id": "enum value|Canceled|1|0|||5|h431790d9d7a73c2e89eafc3cc724fb94b37029680b134569681b060222351623", "signature": "Canceled = 5", "value": "5" }, { "name": "Failed", "kind": "enum value", "id": "enum value|Failed|1|0|||3|ha388847ac08b3e9c6aa93135681165d44342146d113eb7d424d79c6566af73e3", "signature": "Failed = 3", "value": "3" }, { "name": "Passed", "kind": "enum value", "id": "enum value|Passed|1|0|||2|h6df3e1f9f0593c2dcfcff5013ec22cfb0a317df673190ed62f4faa246c9f0632", "signature": "Passed = 2", "value": "2" }, { "name": "Pending", "kind": "enum value", "id": "enum value|Pending|1|0|||0|hec96e2e3e744271639d8f4254e04687bf499d49642bb25da3eda1e9c5271971c", "signature": "Pending = 0", "value": "0" }, { "name": "Running", "kind": "enum value", "id": "enum value|Running|1|0|||1|h5fc8ea303ee3335e9b6c77adb13ed145130ac296d646919227c7232708248684", "signature": "Running = 1", "value": "1" }, { "name": "Skipped", "kind": "enum value", "id": "enum value|Skipped|1|0|||4|hc86a6a4cf9d7fbe0d4b4f660230c7effb152c9749550c01b40366787bc1640b4", "signature": "Skipped = 4", "value": "4" }] }, + { "name": "CuiSharp.JsonOpts", "displayName": "JsonOpts", "kind": "struct", "summary": "JSON viewer: a collapsible tree with typed colors and item counts. Returns false when the text is not valid JSON (and shows the error). All fields are optional; zero selects the native default.", "members": [{ "name": "MaxHeight", "kind": "field", "id": "field|MaxHeight|0|0|float|||h362fb387f8c873f790106e0085b293b9836b14ef629bd38f56f23e0483ef699f", "signature": "public float MaxHeight", "summary": "points; taller content scrolls. 0 shows everything" }, { "name": "ExpandDepth", "kind": "field", "id": "field|ExpandDepth|0|0|int|||h2113772f50eedfb1b947b1866b9ccfabc933b4026161df07a62d39104bf42152", "signature": "public int ExpandDepth", "summary": "levels of the tree that start open, default 2" }] }, { "name": "CuiSharp.Justify", "displayName": "Justify", "kind": "enum", "summary": "cui_justify", "members": [{ "name": "Around", "kind": "enum value", "id": "enum value|Around|1|0|||4|ha0a6e43d8b303e066967c6e8af17b4ec4d8addfd1f01bd803c73a47eae1ad97b", "signature": "Around = 4", "value": "4" }, { "name": "Between", "kind": "enum value", "id": "enum value|Between|1|0|||3|hff99b1d50430a8c8cd0227d02758c996b25c6abd032979e00a72587badf06801", "signature": "Between = 3", "value": "3" }, { "name": "Center", "kind": "enum value", "id": "enum value|Center|1|0|||1|h4686332f74612068f01a4f33de206306d6fb2c9c2179083777b04e191a22c459", "signature": "Center = 1", "value": "1" }, { "name": "End", "kind": "enum value", "id": "enum value|End|1|0|||2|h11ecc7c93d429ce8c1cbe99b3ab7c1dc4f45902c15dc8d37c7424b0a0bb5f27a", "signature": "End = 2", "value": "2" }, { "name": "Start", "kind": "enum value", "id": "enum value|Start|1|0|||0|h7ed6ed3a37dd742f4ad5c45d58358615134c8004790a39b9f752c72aff023900", "signature": "Start = 0", "value": "0" }] }, - { "name": "CuiSharp.KanbanColumnOpts", "displayName": "KanbanColumnOpts", "kind": "struct", "summary": "cui_kanban_column_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Dot", "kind": "field", "id": "field|Dot|0|0|Color|||h2e4892afe0ce7f5776206d1ebb04ec5b4aba9a08d040f4d38189931ea9c9a319", "signature": "public Color Dot", "summary": "cui_color dot" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float width" }, { "name": "Limit", "kind": "field", "id": "field|Limit|0|0|int|||h0551723e212cc1de31ece56a8865f2a5fe1a25e69ca86d13b85180f933670910", "signature": "public int Limit", "summary": "int limit" }] }, - { "name": "CuiSharp.KanbanMove", "displayName": "KanbanMove", "kind": "struct", "summary": "cui_kanban_move. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Card;int FromColumn = default;int ToColumn = default;int ToIndex = default||h2f21cba426e2df0fcb5e8b29ff07a89b9e71f469ce435f61a6a1c19a5f1bbe07", "signature": "KanbanMove(int Card, int FromColumn = default, int ToColumn = default, int ToIndex = default)", "parameters": [{ "name": "Card", "type": "int" }, { "name": "FromColumn", "type": "int", "default": "default" }, { "name": "ToColumn", "type": "int", "default": "default" }, { "name": "ToIndex", "type": "int", "default": "default" }] }, { "name": "Card", "kind": "field", "id": "field|Card|0|0|int|||h4e55f281e44827e799e41dc1f657218631ca17eabaa81d6214d62a1f42080b79", "signature": "public int Card", "summary": "int card" }, { "name": "FromColumn", "kind": "field", "id": "field|FromColumn|0|0|int|||h852c86084f2687cfab891d2a8ee1ee937a40b68fb2ded28a28325c23a45d5da1", "signature": "public int FromColumn", "summary": "int from_column" }, { "name": "ToColumn", "kind": "field", "id": "field|ToColumn|0|0|int|||hc5eebb26186d77f3dcbdd4b3159e8329a2e6080e96b3ee23a29a3af4eb4da347", "signature": "public int ToColumn", "summary": "int to_column" }, { "name": "ToIndex", "kind": "field", "id": "field|ToIndex|0|0|int|||h4f61864330a69f3505bc7fd8fbee51dba8f5d4f040469966dc4183d1a6f201a6", "signature": "public int ToIndex", "summary": "int to_index" }] }, + { "name": "CuiSharp.KanbanColumnOpts", "displayName": "KanbanColumnOpts", "kind": "struct", "summary": "cui_kanban_column_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Dot", "kind": "field", "id": "field|Dot|0|0|Color|||h2e4892afe0ce7f5776206d1ebb04ec5b4aba9a08d040f4d38189931ea9c9a319", "signature": "public Color Dot", "summary": "a small dot of this color before the title; unset for none" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float width" }, { "name": "Limit", "kind": "field", "id": "field|Limit|0|0|int|||h0551723e212cc1de31ece56a8865f2a5fe1a25e69ca86d13b85180f933670910", "signature": "public int Limit", "summary": "work in progress limit: the count reads \u00223 / 5\u0022 and turns red above it; 0 for none" }] }, + { "name": "CuiSharp.KanbanMove", "displayName": "KanbanMove", "kind": "struct", "summary": "Kanban board: columns of cards you drag between columns and within them. The board reports drops; you move the card in your data: Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Card;int FromColumn = default;int ToColumn = default;int ToIndex = default||h2f21cba426e2df0fcb5e8b29ff07a89b9e71f469ce435f61a6a1c19a5f1bbe07", "signature": "KanbanMove(int Card, int FromColumn = default, int ToColumn = default, int ToIndex = default)", "parameters": [{ "name": "Card", "type": "int" }, { "name": "FromColumn", "type": "int", "default": "default" }, { "name": "ToColumn", "type": "int", "default": "default" }, { "name": "ToIndex", "type": "int", "default": "default" }] }, { "name": "Card", "kind": "field", "id": "field|Card|0|0|int|||h4e55f281e44827e799e41dc1f657218631ca17eabaa81d6214d62a1f42080b79", "signature": "public int Card", "summary": "the \u0060card_id\u0060 of the card that was dropped" }, { "name": "FromColumn", "kind": "field", "id": "field|FromColumn|0|0|int|||h852c86084f2687cfab891d2a8ee1ee937a40b68fb2ded28a28325c23a45d5da1", "signature": "public int FromColumn", "summary": "index of the column it came from, in the order the columns were begun" }, { "name": "ToColumn", "kind": "field", "id": "field|ToColumn|0|0|int|||hc5eebb26186d77f3dcbdd4b3159e8329a2e6080e96b3ee23a29a3af4eb4da347", "signature": "public int ToColumn", "summary": "index of the column it was dropped in" }, { "name": "ToIndex", "kind": "field", "id": "field|ToIndex|0|0|int|||h4f61864330a69f3505bc7fd8fbee51dba8f5d4f040469966dc4183d1a6f201a6", "signature": "public int ToIndex", "summary": "its position in that column, counted with the dragged card left out" }] }, { "name": "CuiSharp.Key", "displayName": "Key", "kind": "enum", "summary": "cui_key", "members": [{ "name": "A", "kind": "enum value", "id": "enum value|A|1|0|||15|h22bdff65ee86469e285b974cdfe3ce1b24545be861384ee80c5314cb79a6f1c3", "signature": "A = 15", "value": "15" }, { "name": "B", "kind": "enum value", "id": "enum value|B|1|0|||16|h575339e290a1b4bd2cb77e94ba7a6c86ed4496a2c8fe36238cc24051efcb2fc8", "signature": "B = 16", "value": "16" }, { "name": "Backspace", "kind": "enum value", "id": "enum value|Backspace|1|0|||4|h47efcf4d6757e5e7e49cab7026a275666c4084e72c96b29e229705c70ffc8fc0", "signature": "Backspace = 4", "value": "4" }, { "name": "C", "kind": "enum value", "id": "enum value|C|1|0|||17|h501bae125d7679bf18f0049929866b9a10233f77487f6f272b7a020257019101", "signature": "C = 17", "value": "17" }, { "name": "Comma", "kind": "enum value", "id": "enum value|Comma|1|0|||53|h6b2fa5f911116f93aa69e3cf1f66a1ff484bcc430f44d18341e4f75173cd3f1c", "signature": "Comma = 53", "value": "53" }, { "name": "Count", "kind": "enum value", "id": "enum value|Count|1|0|||68|hf960784e4d69ce6a30bc6914f7a3bfce6f9be9b861e2edef41d828e16ebf8019", "signature": "Count = 68", "value": "68" }, { "name": "D", "kind": "enum value", "id": "enum value|D|1|0|||18|h32e0326d0cd75342e1674ddf31ab5ecba2a92166d1e38363059fa5c6b8b66bcd", "signature": "D = 18", "value": "18" }, { "name": "D0", "kind": "enum value", "id": "enum value|D0|1|0|||41|hb1b9380ddea8409cc82d6c3a6498d3f2ecabb00e5a28c73d57d06c9837a20bcb", "signature": "D0 = 41", "value": "41" }, { "name": "D1", "kind": "enum value", "id": "enum value|D1|1|0|||42|ha97b90e239232ce577966b60d1d1df3f12e55fd00682e60e0e6480b6ad9fa14f", "signature": "D1 = 42", "value": "42" }, { "name": "D2", "kind": "enum value", "id": "enum value|D2|1|0|||43|hb0f252e8fd2185737721f4e008ada7b3c0232853794bb0b451984447e4a10251", "signature": "D2 = 43", "value": "43" }, { "name": "D3", "kind": "enum value", "id": "enum value|D3|1|0|||44|h95a97f57b30dc93c9886f2e5454a90e328bced7bf780e992b6ed231ddb7622d3", "signature": "D3 = 44", "value": "44" }, { "name": "D4", "kind": "enum value", "id": "enum value|D4|1|0|||45|h13c50f05930542947e2bb6323a07cdcb316a2a6292e3062446788127f4ed9814", "signature": "D4 = 45", "value": "45" }, { "name": "D5", "kind": "enum value", "id": "enum value|D5|1|0|||46|h4fe4ed7ed69f41f8fc10d4b8ef2d153ccef9c7ab5306d6b57f300701bb3563f1", "signature": "D5 = 46", "value": "46" }, { "name": "D6", "kind": "enum value", "id": "enum value|D6|1|0|||47|h4b9c838ac5ff3440fd237f909fe5de88568cc9db1dc1a0fba0db3dbb40048be4", "signature": "D6 = 47", "value": "47" }, { "name": "D7", "kind": "enum value", "id": "enum value|D7|1|0|||48|hc24746d9abe9b3a303a56202c133bc275f318af25c8dd4f89ae4c498f6022020", "signature": "D7 = 48", "value": "48" }, { "name": "D8", "kind": "enum value", "id": "enum value|D8|1|0|||49|h25c18b86b89f077c792715f687e9bdb4e0407cb0ab2f24e68c3fcc1463c4c3ba", "signature": "D8 = 49", "value": "49" }, { "name": "D9", "kind": "enum value", "id": "enum value|D9|1|0|||50|h8968e9ca01b472a4704669bb9c52d7c1387d57b8410423fe82757716c919abae", "signature": "D9 = 50", "value": "50" }, { "name": "Delete", "kind": "enum value", "id": "enum value|Delete|1|0|||5|hea0f370608bf1988f4fcb772a76a807ed7b03dad5af1a49fc6bb695431585d95", "signature": "Delete = 5", "value": "5" }, { "name": "Down", "kind": "enum value", "id": "enum value|Down|1|0|||10|h984bdf2194af89ad508db29bc950d5ebe6bdb9f1f07fed3596eee17ebcbac21d", "signature": "Down = 10", "value": "10" }, { "name": "E", "kind": "enum value", "id": "enum value|E|1|0|||19|h3275461bcb2649f106a46c39f123952331765ca4d88967f4d85781f018ee4edd", "signature": "E = 19", "value": "19" }, { "name": "End", "kind": "enum value", "id": "enum value|End|1|0|||12|h9aa23c0bcb34015981efac1467b865e6a4cec07b1ec3444b5c81c6ae2be15171", "signature": "End = 12", "value": "12" }, { "name": "Enter", "kind": "enum value", "id": "enum value|Enter|1|0|||2|h49cf159214e407f9e99e0a541c05047f35ca1f98779735805563302003cfbdee", "signature": "Enter = 2", "value": "2" }, { "name": "Equal", "kind": "enum value", "id": "enum value|Equal|1|0|||52|he46b237daaf787fda492f57ed6476c15f30f20e7e110417abc481e677af1ad44", "signature": "Equal = 52", "value": "52" }, { "name": "Escape", "kind": "enum value", "id": "enum value|Escape|1|0|||3|hd1e0c473b701376ebac9a5a639017dab928da597037ff025eaf0cb0886d380f5", "signature": "Escape = 3", "value": "3" }, { "name": "F", "kind": "enum value", "id": "enum value|F|1|0|||20|h63023b8e519cd49bdba70f74a6cdee6e204d8237907f4aed1c14f57fbf09ac5c", "signature": "F = 20", "value": "20" }, { "name": "F1", "kind": "enum value", "id": "enum value|F1|1|0|||56|h1d4a173280f1c81df99664ee5c857be49a5cb2b79bb280f275c3ceda3b389f54", "signature": "F1 = 56", "value": "56" }, { "name": "F10", "kind": "enum value", "id": "enum value|F10|1|0|||65|h39a42fd769fe3b4802aa987860a6d850b57711da28ba8137d9f4f66053646409", "signature": "F10 = 65", "value": "65" }, { "name": "F11", "kind": "enum value", "id": "enum value|F11|1|0|||66|h65d224ab7ea01d72364659df10306e344e9d6c125606df533e64f5d894f1d72c", "signature": "F11 = 66", "value": "66" }, { "name": "F12", "kind": "enum value", "id": "enum value|F12|1|0|||67|hd218a16650155a2871025f8203cc680211d52eebb3c937b7bb38441c95936900", "signature": "F12 = 67", "value": "67" }, { "name": "F2", "kind": "enum value", "id": "enum value|F2|1|0|||57|he1c5450d10ab8fa57f7b9341c3b82a0cd1696030b56b453f73728091a40fcc01", "signature": "F2 = 57", "value": "57" }, { "name": "F3", "kind": "enum value", "id": "enum value|F3|1|0|||58|h9f0a04c1a8f24dff2677e65120442802d166f1fa1e57f414c67abe95975bcc6d", "signature": "F3 = 58", "value": "58" }, { "name": "F4", "kind": "enum value", "id": "enum value|F4|1|0|||59|h94b1ae3f1e0784e4915920b177789fec43d9a100745682df58bcc05f4f98407f", "signature": "F4 = 59", "value": "59" }, { "name": "F5", "kind": "enum value", "id": "enum value|F5|1|0|||60|h69a8aea91e1024f20b5c37c71995aa79509eca8ad4c93eb4cfc13d963629be01", "signature": "F5 = 60", "value": "60" }, { "name": "F6", "kind": "enum value", "id": "enum value|F6|1|0|||61|hecc91ff375334a69c1e48e2a50f25d28501d03ce54fb3eeed30034c406bb57d7", "signature": "F6 = 61", "value": "61" }, { "name": "F7", "kind": "enum value", "id": "enum value|F7|1|0|||62|hab8de3acc4a2cc329ec60b3c8dc14008996332c3808420712aa61f6999660cde", "signature": "F7 = 62", "value": "62" }, { "name": "F8", "kind": "enum value", "id": "enum value|F8|1|0|||63|h47ccd00c0548262ad9e0de11ef48c602cd5e3facf407395559877f5cd6b4176b", "signature": "F8 = 63", "value": "63" }, { "name": "F9", "kind": "enum value", "id": "enum value|F9|1|0|||64|h5eb9c1f041fd1873fa2ea1004654cf160eb1214fa7ef4b7f6b7bc9d6a0ab1737", "signature": "F9 = 64", "value": "64" }, { "name": "G", "kind": "enum value", "id": "enum value|G|1|0|||21|h7a7c7b1c2c445242b2b6856fa462dfe1e83640f67b4a3c01adbcae4da01b2700", "signature": "G = 21", "value": "21" }, { "name": "H", "kind": "enum value", "id": "enum value|H|1|0|||22|h54d0247c7a708b123801f86b544b569b1c9f7b182806a98913122db25b453fef", "signature": "H = 22", "value": "22" }, { "name": "Home", "kind": "enum value", "id": "enum value|Home|1|0|||11|hb7eb97197fa263839ac1d73b03b49831efb7463d9b6086cbf487ef3c4956eba9", "signature": "Home = 11", "value": "11" }, { "name": "I", "kind": "enum value", "id": "enum value|I|1|0|||23|h78048a83754ac01d5b878b867c1b1fd6da52c3da9e779ed859fe7f4ccb168404", "signature": "I = 23", "value": "23" }, { "name": "J", "kind": "enum value", "id": "enum value|J|1|0|||24|h49abe3291ffdcb3ff37abf32744550145f7ef8be8fb452faa6d00f672b0366f9", "signature": "J = 24", "value": "24" }, { "name": "K", "kind": "enum value", "id": "enum value|K|1|0|||25|he597d0c6d950f1bb71da89c6dcffa6489fdc23304eef18df306c02eb92f4c118", "signature": "K = 25", "value": "25" }, { "name": "L", "kind": "enum value", "id": "enum value|L|1|0|||26|hd4dac79206ae9f91febf04c8cdd1b641f236d156e62f8759492abebfe067ae30", "signature": "L = 26", "value": "26" }, { "name": "Left", "kind": "enum value", "id": "enum value|Left|1|0|||7|hf484cf57e27ba6e627aef7a40bb7cb859310a1b13f917cd971eaeef5d8618b04", "signature": "Left = 7", "value": "7" }, { "name": "M", "kind": "enum value", "id": "enum value|M|1|0|||27|h1d9bd3b98ba8c5828f8abc568793ca47ce7b5b02b0f0cc7ac709d44d6c8d0bb9", "signature": "M = 27", "value": "27" }, { "name": "Minus", "kind": "enum value", "id": "enum value|Minus|1|0|||51|h77dc87500ec4655404db594f9261bbcbe34d92d8ecc8376ceb3505a834cca6df", "signature": "Minus = 51", "value": "51" }, { "name": "N", "kind": "enum value", "id": "enum value|N|1|0|||28|h908bd7fad9771873c5fe0cdfb0d7e9dfc8a1ede81f169c915a700174e4d9dfb7", "signature": "N = 28", "value": "28" }, { "name": "None", "kind": "enum value", "id": "enum value|None|1|0|||0|h9e4e72abf0eaa3b853206f4d9ea0b0faabef40a12ba47974d4328c3a5bbf4faa", "signature": "None = 0", "value": "0" }, { "name": "O", "kind": "enum value", "id": "enum value|O|1|0|||29|hb48f91b1b8087592017c096695b3610b2c5625342a474ff4dd4ba4f237ca111d", "signature": "O = 29", "value": "29" }, { "name": "P", "kind": "enum value", "id": "enum value|P|1|0|||30|h01e36a12ad9d510e9a2a326f69d9186e162f11ada296ed8b21bfcc350bda75bd", "signature": "P = 30", "value": "30" }, { "name": "PageDown", "kind": "enum value", "id": "enum value|PageDown|1|0|||14|hecdb541560339ccdbacf438e73458e855e46427749df4fdc614e1d1fcdfd2fb2", "signature": "PageDown = 14", "value": "14" }, { "name": "PageUp", "kind": "enum value", "id": "enum value|PageUp|1|0|||13|hba200b987b39fdf2479c05690f939b7ca57047057996d03ca48cfde0b415069c", "signature": "PageUp = 13", "value": "13" }, { "name": "Period", "kind": "enum value", "id": "enum value|Period|1|0|||54|h24b423bb25e9191b38b37992ba890d8a107334f6e46864bf61987c16bd0a2041", "signature": "Period = 54", "value": "54" }, { "name": "Q", "kind": "enum value", "id": "enum value|Q|1|0|||31|ha040411bafeb10f8f52314031e397b52bef78120658a85600655ebdea6b83197", "signature": "Q = 31", "value": "31" }, { "name": "R", "kind": "enum value", "id": "enum value|R|1|0|||32|h60fa8be8e4156f245cfb621d0d173a8f90cf1a72801703f6d8b4e33e4b4781f5", "signature": "R = 32", "value": "32" }, { "name": "Right", "kind": "enum value", "id": "enum value|Right|1|0|||8|h1b98d7a43dddc2834373bc7c9487a6f1fba5e78b6322e5e7acc8b1f42176a50e", "signature": "Right = 8", "value": "8" }, { "name": "S", "kind": "enum value", "id": "enum value|S|1|0|||33|h7f90502eccac7d9bd8f630ddb0ae1ba8a1a932d002de4169a8ffc43ecc61977a", "signature": "S = 33", "value": "33" }, { "name": "Slash", "kind": "enum value", "id": "enum value|Slash|1|0|||55|h46f68fe67c9c5d68659c2a3899fd479b940a21d05c63d8921ec4eadeca4a712e", "signature": "Slash = 55", "value": "55" }, { "name": "Space", "kind": "enum value", "id": "enum value|Space|1|0|||6|he26d8819f3fafbe843239dc287b8191eb2a945ed1a57d518c7bb49c6e19e89e7", "signature": "Space = 6", "value": "6" }, { "name": "T", "kind": "enum value", "id": "enum value|T|1|0|||34|h40b54dd7d3aa665935078f18a456b7cbe7cd45585c1a7e9ab869b70ba8f7a080", "signature": "T = 34", "value": "34" }, { "name": "Tab", "kind": "enum value", "id": "enum value|Tab|1|0|||1|h1c406143015c36cdfba76145e989131174f44aab872a7d807ba43b99954b04a4", "signature": "Tab = 1", "value": "1" }, { "name": "U", "kind": "enum value", "id": "enum value|U|1|0|||35|hf4c256b9116156eba084bda1d866b4b073115a5eda3d4ce17576716341bec41b", "signature": "U = 35", "value": "35" }, { "name": "Up", "kind": "enum value", "id": "enum value|Up|1|0|||9|h851532ad5fd9962f9a5729ee3cd696d7941f4d5933bae9e13e4ed9607d594086", "signature": "Up = 9", "value": "9" }, { "name": "V", "kind": "enum value", "id": "enum value|V|1|0|||36|h17196d9249b088f9b1abde32a2a8e509550985e367a82f7ac0fcb141c4c4bcf2", "signature": "V = 36", "value": "36" }, { "name": "W", "kind": "enum value", "id": "enum value|W|1|0|||37|hecdada88a402ba7784a19e71cfa92f76901969b582e40ad63a12a08d9356ca31", "signature": "W = 37", "value": "37" }, { "name": "X", "kind": "enum value", "id": "enum value|X|1|0|||38|h95a821b1fe391c6fac4727697f43b5b377dd1b80fbbedf699bc727b2da7c7f45", "signature": "X = 38", "value": "38" }, { "name": "Y", "kind": "enum value", "id": "enum value|Y|1|0|||39|h98a5d9fb514297280eeca55c405b7971b2bbbea88f8d80938b9a5632b97d1a45", "signature": "Y = 39", "value": "39" }, { "name": "Z", "kind": "enum value", "id": "enum value|Z|1|0|||40|h366155cf1ec1442b59f50bad8176fe162b311b1ae475abbb952fc1750b3d9355", "signature": "Z = 40", "value": "40" }] }, - { "name": "CuiSharp.KeyCombo", "displayName": "KeyCombo", "kind": "struct", "summary": "cui_key_combo. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Mods;Key Key = Key.None||h89eeef895337969820c6c19a53e4643dafca402ac080f4956eaba51386f6af8c", "signature": "KeyCombo(int Mods, Key Key = Key.None)", "parameters": [{ "name": "Mods", "type": "int" }, { "name": "Key", "type": "Key", "default": "Key.None" }] }, { "name": "Key", "kind": "field", "id": "field|Key|0|0|Key|||ha8a2ef1e5766d0ded6949b45f1180b64bdf9ef3740bc5c193694a2938f483f10", "signature": "public Key Key", "summary": "cui_key key" }, { "name": "Mods", "kind": "field", "id": "field|Mods|0|0|int|||h0557a35558abe6a9a70cd6ee363474ffd9ef430fca04fd8f09e8787557a8daf4", "signature": "public int Mods", "summary": "int mods" }] }, + { "name": "CuiSharp.KeyCombo", "displayName": "KeyCombo", "kind": "struct", "summary": "Shortcut recorder: click and press a key combination to record it. Backspace clears, Esc cancels. Returns true when the combination changed. cui_shortcut_label formats a combination (\u0022Ctrl Shift K\u0022). Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Mods;Key Key = Key.None||h89eeef895337969820c6c19a53e4643dafca402ac080f4956eaba51386f6af8c", "signature": "KeyCombo(int Mods, Key Key = Key.None)", "parameters": [{ "name": "Mods", "type": "int" }, { "name": "Key", "type": "Key", "default": "Key.None" }] }, { "name": "Key", "kind": "field", "id": "field|Key|0|0|Key|||ha8a2ef1e5766d0ded6949b45f1180b64bdf9ef3740bc5c193694a2938f483f10", "signature": "public Key Key", "summary": "cui_key key" }, { "name": "Mods", "kind": "field", "id": "field|Mods|0|0|int|||h0557a35558abe6a9a70cd6ee363474ffd9ef430fca04fd8f09e8787557a8daf4", "signature": "public int Mods", "summary": "int mods" }] }, { "name": "CuiSharp.KeyFn\u00601", "displayName": "KeyFn", "kind": "delegate", "summary": "The key for one item in Keyed\u0060\u00601.", "members": [{ "name": "BeginInvoke", "kind": "method", "id": "method|BeginInvoke|0|0|IAsyncResult|in T item;AsyncCallback callback;object object||hf7cb1f1676fb0b51dc3ecbf4ed3a526d0f518953c7edef952f2e1dcd6d65c874", "signature": "IAsyncResult BeginInvoke(in T item, AsyncCallback callback, object @object)", "parameters": [{ "name": "item", "type": "in T" }, { "name": "callback", "type": "AsyncCallback" }, { "name": "object", "type": "object" }] }, { "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||object object;nint method||hbea1b12cd583e36c8cb961e9a06002994ee001ee6ec5ef5af9e07605f6bc3247", "signature": "KeyFn\u003CT\u003E(object @object, nint method)", "parameters": [{ "name": "object", "type": "object" }, { "name": "method", "type": "nint" }] }, { "name": "EndInvoke", "kind": "method", "id": "method|EndInvoke|0|0|int|in T item;IAsyncResult result||h0a4b2d3b06fb6e400bd0949060936ff4b81b766c1f1f00b81766ff4ff34ae119", "signature": "int EndInvoke(in T item, IAsyncResult result)", "parameters": [{ "name": "item", "type": "in T" }, { "name": "result", "type": "IAsyncResult" }] }, { "name": "Invoke", "kind": "method", "id": "method|Invoke|0|0|int|in T item||h8aacdafa962458b3a57c20d4bce4c17959cc07da83e2b6abc24d98744e2d8cb5", "signature": "int Invoke(in T item)", "parameters": [{ "name": "item", "type": "in T" }] }] }, - { "name": "CuiSharp.KeyValue", "displayName": "KeyValue", "kind": "struct", "summary": "cui_kv_pair. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Key;string? Value = null;bool Enabled = default;bool Secret = default||h2d273870818a0c6b1bde8383b3a9b65cd31cf4e7b77d80a9ca2216756d76b81f", "signature": "KeyValue(string? Key, string? Value = null, bool Enabled = default, bool Secret = default)", "parameters": [{ "name": "Key", "type": "string?" }, { "name": "Value", "type": "string?", "default": "null" }, { "name": "Enabled", "type": "bool", "default": "default" }, { "name": "Secret", "type": "bool", "default": "default" }] }, { "name": "Enabled", "kind": "field", "id": "field|Enabled|0|0|bool|||hc401cd7bda117e45326caf1c9d7cc2717bc6fc849b596b4a9463e1ef0546b200", "signature": "public bool Enabled", "summary": "_Bool enabled" }, { "name": "Secret", "kind": "field", "id": "field|Secret|0|0|bool|||h4de133bb5431ea230e8e57004a24c27e2ab6f05ffe7a72a4f38da89a94d1dde8", "signature": "public bool Secret", "summary": "_Bool secret" }, { "name": "Key", "kind": "field", "id": "field|Key|0|0|string?|||h281882e813d8ea53a018b2a3c3109be418f13385ae48845424a2b53db1b89958", "signature": "public string? Key", "summary": "char[64] key" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|string?|||h5ce95573760fbed490482794a8054e38848c0b6a2d40e7e67f6af14eb4564732", "signature": "public string? Value", "summary": "char[256] value" }] }, + { "name": "CuiSharp.KeyValue", "displayName": "KeyValue", "kind": "struct", "summary": "Rows of key = value pairs: HTTP headers, query parameters, environment variables. You own the array and it is edited in place. The checkbox turns a pair on or off, typing in the empty row at the end adds a pair, the x removes one. Secret values show as dots with an eye to reveal them. A key used twice, or one with a space, is marked. On a phone each key sits above its value. Returns true when anything changed. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Key;string? Value = null;bool Enabled = default;bool Secret = default||h2d273870818a0c6b1bde8383b3a9b65cd31cf4e7b77d80a9ca2216756d76b81f", "signature": "KeyValue(string? Key, string? Value = null, bool Enabled = default, bool Secret = default)", "parameters": [{ "name": "Key", "type": "string?" }, { "name": "Value", "type": "string?", "default": "null" }, { "name": "Enabled", "type": "bool", "default": "default" }, { "name": "Secret", "type": "bool", "default": "default" }] }, { "name": "Enabled", "kind": "field", "id": "field|Enabled|0|0|bool|||hc401cd7bda117e45326caf1c9d7cc2717bc6fc849b596b4a9463e1ef0546b200", "signature": "public bool Enabled", "summary": "the pair is in use; its checkbox toggles this" }, { "name": "Secret", "kind": "field", "id": "field|Secret|0|0|bool|||h4de133bb5431ea230e8e57004a24c27e2ab6f05ffe7a72a4f38da89a94d1dde8", "signature": "public bool Secret", "summary": "the value shows as dots, with an eye to reveal it; the lock button toggles this" }, { "name": "Key", "kind": "field", "id": "field|Key|0|0|string?|||h281882e813d8ea53a018b2a3c3109be418f13385ae48845424a2b53db1b89958", "signature": "public string? Key", "summary": "the name, e.g. \u0022Accept\u0022; edited in place" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|string?|||h5ce95573760fbed490482794a8054e38848c0b6a2d40e7e67f6af14eb4564732", "signature": "public string? Value", "summary": "the value, e.g. \u0022application/json\u0022; edited in place" }] }, { "name": "CuiSharp.KeyedScope\u00601", "displayName": "KeyedScope", "kind": "ref struct", "summary": "Enumerates items, pushing one id scope per item, so the same markup can draw every row while each row keeps its own widget state. The items are an array, not a span: the enumerator holds them for the length of the loop, and a span would tie that loop to the span\u0027s own lifetime. The key selector is a delegate: a capturing lambda allocates once per call, so prefer a static lambda or a method group in the frame loop.", "members": [{ "name": "GetEnumerator", "kind": "method", "id": "method|GetEnumerator|0|0|KeyedScope\u003CT\u003E|||h844468ea452e6961ad0aecbe77c0ae7e1588bf5c97ec0d4db9171b4dd6bf48c9", "signature": "KeyedScope\u003CT\u003E GetEnumerator()" }, { "name": "Current", "kind": "property", "id": "property|Current|0|0|T||get;|h46d41df1fe5e1853a0ed08a02dced7bac58515abab4200a69a62d0fe757c5fe2", "signature": "T Current { get; }", "summary": "The item for the current iteration." }, { "name": "MoveNext", "kind": "method", "id": "method|MoveNext|0|0|bool|||h1ef98337f66029bc42a1160083450ca5e0c3c28f861b03640bac18a6072153ce", "signature": "bool MoveNext()", "summary": "Pops the previous item\u0027s id and pushes this one\u0027s." }, { "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()", "summary": "Pops the last item\u0027s id scope, if one is still open." }] }, - { "name": "CuiSharp.KeymapBinding", "displayName": "KeymapBinding", "kind": "struct", "summary": "cui_keymap_binding. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||KeyCombo Combo;string? Action = null;int Category = default||hbd093a7d7fc8c5273faea92a699c561787258fa0a1992b7a77326e554db53023", "signature": "KeymapBinding(KeyCombo Combo, string? Action = null, int Category = default)", "parameters": [{ "name": "Combo", "type": "KeyCombo" }, { "name": "Action", "type": "string?", "default": "null" }, { "name": "Category", "type": "int", "default": "default" }] }, { "name": "Combo", "kind": "field", "id": "field|Combo|0|0|KeyCombo|||h720d33ef730c421b20a32fdfb6d2d33e6cf041f3ec3bff9a554c42efb81815fe", "signature": "public KeyCombo Combo", "summary": "cui_key_combo combo" }, { "name": "Category", "kind": "field", "id": "field|Category|0|0|int|||hdd47e2b092c5ca594640eebe08c268434674a147ebf5eafb2a46a5da46f07ed4", "signature": "public int Category", "summary": "index into the categories, colors the key" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|string?|||h288a83cea0bad5b5f38d9c844869a799f6116f3a3d074f257d6240feed95d754", "signature": "public string? Action", "summary": "const char * action" }] }, - { "name": "CuiSharp.KeymapOpts", "displayName": "KeymapOpts", "kind": "struct", "summary": "cui_keymap_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "NoFunctionRow", "kind": "field", "id": "field|NoFunctionRow|0|0|bool|||h30e4d0c7a82c0d24ff8cd08afe19f2d85f0725aa4d8171206a069927b93b9ae9", "signature": "public bool NoFunctionRow", "summary": "_Bool no_function_row" }, { "name": "Categories", "kind": "field", "id": "field|Categories|0|0|string[]?|||h3de549c63b119c475f9f8f9e332f4ea8ea0de761d9259cb33cea1f89448d1b0f", "signature": "public string[]? Categories", "summary": "names for the legend" }] }, - { "name": "CuiSharp.KeymapResult", "displayName": "KeymapResult", "kind": "struct", "summary": "cui_keymap_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||Key Clicked;int Conflicts = default||h1d67c7d8149df93cfc1734144ba23f4ece5bb3fdb772465f21d29b1ba80eb33b", "signature": "KeymapResult(Key Clicked, int Conflicts = default)", "parameters": [{ "name": "Clicked", "type": "Key" }, { "name": "Conflicts", "type": "int", "default": "default" }] }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|Key|||hf3d1089c0e1e46bc83fd27808a70e56ed41a70657965029f08dbfc901fbc370d", "signature": "public Key Clicked", "summary": "cui_key clicked" }, { "name": "Conflicts", "kind": "field", "id": "field|Conflicts|0|0|int|||h789812c8ba17c03535e8408d067679a4be25b10d6c3816628d8bb1c973ecd39c", "signature": "public int Conflicts", "summary": "int conflicts" }] }, - { "name": "CuiSharp.KnobOpts", "displayName": "KnobOpts", "kind": "struct", "summary": "cui_knob_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "the value arc, default the control color" }, { "name": "Bipolar", "kind": "field", "id": "field|Bipolar|0|0|bool|||hfd442dc5ac1edaf4637b59f8431024c601179da8a97e788d68ccdcbe169e294b", "signature": "public bool Bipolar", "summary": "the arc grows from the middle: pan, EQ gain" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "HideValue", "kind": "field", "id": "field|HideValue|0|0|bool|||h20146cccd15f7f41f4700bc1046703defa878698eed0451ccdc8acf0325f3763", "signature": "public bool HideValue", "summary": "_Bool hide_value" }, { "name": "LogScale", "kind": "field", "id": "field|LogScale|0|0|bool|||h2225f0b0b5d35122d9c7403f0c7fbea2bfb761378cbb11349ccd4b908cc12a16", "signature": "public bool LogScale", "summary": "equal turns multiply the value: frequency, time (min \u003E 0)" }, { "name": "Reset", "kind": "field", "id": "field|Reset|0|0|float|||h6f7e0b1685ab6d501be44af24ff4fc26ab960c5abf2371bc447d2d1768038172", "signature": "public float Reset", "summary": "double-click value, default 0 (clamped to the range)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "diameter, default 48" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "0 = continuous (keys move 1% of the range)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "printf format for the value, default \u0022%.0f\u0022" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "under the knob; the id when NULL" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|string?|||h0c302a69bed7c7496c01c252ba72a9e4fdc11703160e8b42558740a0215d1888", "signature": "public string? Unit", "summary": "after the value, e.g. \u0022Hz\u0022 or \u0022dB\u0022" }] }, - { "name": "CuiSharp.KvEditorOpts", "displayName": "KvEditorOpts", "kind": "struct", "summary": "cui_kv_editor_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "NoSecrets", "kind": "field", "id": "field|NoSecrets|0|0|bool|||hb812e236dd78060429f982f487c0335c418e28dfc6639a6d019e2b4c3b8de81b", "signature": "public bool NoSecrets", "summary": "no eye button" }, { "name": "NoToggles", "kind": "field", "id": "field|NoToggles|0|0|bool|||h0dea1fee99c678a80060d07f9324720431aac8d7bb4805e64f0ece12dc442a9e", "signature": "public bool NoToggles", "summary": "no checkboxes: every pair is on" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|bool|||he393614309fa34fbb6e0930aa04c288616abcb05d02f63ad9eb9cb23927877ad", "signature": "public bool ReadOnly", "summary": "_Bool read_only" }, { "name": "KeyPlaceholder", "kind": "field", "id": "field|KeyPlaceholder|0|0|string?|||hedf304f45469c5fccb451372ec7a6a06f648bd5b9a999271d5c1dcbeb18609d5", "signature": "public string? KeyPlaceholder", "summary": "default \u0022Key\u0022" }, { "name": "ValuePlaceholder", "kind": "field", "id": "field|ValuePlaceholder|0|0|string?|||hf52548b8628a0f3b479fb60579bb8ca6de0d4d8f6ceaf412af16e60c8be996ca", "signature": "public string? ValuePlaceholder", "summary": "default \u0022Value\u0022" }] }, + { "name": "CuiSharp.KeymapBinding", "displayName": "KeymapBinding", "kind": "struct", "summary": "A keyboard with your shortcuts on it: each bound key shows its action and the color of its category, for the modifiers chosen above it. Keys bound twice are marked as conflicts. Hover a key for every binding on it; click it to get the key (to rebind it). The keyboard keeps its own layout in a right-to-left interface and scales to the width it gets. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||KeyCombo Combo;string? Action = null;int Category = default||hbd093a7d7fc8c5273faea92a699c561787258fa0a1992b7a77326e554db53023", "signature": "KeymapBinding(KeyCombo Combo, string? Action = null, int Category = default)", "parameters": [{ "name": "Combo", "type": "KeyCombo" }, { "name": "Action", "type": "string?", "default": "null" }, { "name": "Category", "type": "int", "default": "default" }] }, { "name": "Combo", "kind": "field", "id": "field|Combo|0|0|KeyCombo|||h720d33ef730c421b20a32fdfb6d2d33e6cf041f3ec3bff9a554c42efb81815fe", "signature": "public KeyCombo Combo", "summary": "the modifiers and key the action is bound to" }, { "name": "Category", "kind": "field", "id": "field|Category|0|0|int|||hdd47e2b092c5ca594640eebe08c268434674a147ebf5eafb2a46a5da46f07ed4", "signature": "public int Category", "summary": "index into the categories, colors the key" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|string?|||h288a83cea0bad5b5f38d9c844869a799f6116f3a3d074f257d6240feed95d754", "signature": "public string? Action", "summary": "name of the action, shown on the key and in its tooltip" }] }, + { "name": "CuiSharp.KeymapOpts", "displayName": "KeymapOpts", "kind": "struct", "summary": "A keyboard with your shortcuts on it: each bound key shows its action and the color of its category, for the modifiers chosen above it. Keys bound twice are marked as conflicts. Hover a key for every binding on it; click it to get the key (to rebind it). The keyboard keeps its own layout in a right-to-left interface and scales to the width it gets. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "NoFunctionRow", "kind": "field", "id": "field|NoFunctionRow|0|0|bool|||h30e4d0c7a82c0d24ff8cd08afe19f2d85f0725aa4d8171206a069927b93b9ae9", "signature": "public bool NoFunctionRow", "summary": "leaves out the row of function keys" }, { "name": "Categories", "kind": "field", "id": "field|Categories|0|0|string[]?|||h3de549c63b119c475f9f8f9e332f4ea8ea0de761d9259cb33cea1f89448d1b0f", "signature": "public string[]? Categories", "summary": "names for the legend" }] }, + { "name": "CuiSharp.KeymapResult", "displayName": "KeymapResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||Key Clicked;int Conflicts = default||h1d67c7d8149df93cfc1734144ba23f4ece5bb3fdb772465f21d29b1ba80eb33b", "signature": "KeymapResult(Key Clicked, int Conflicts = default)", "parameters": [{ "name": "Clicked", "type": "Key" }, { "name": "Conflicts", "type": "int", "default": "default" }] }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|Key|||hf3d1089c0e1e46bc83fd27808a70e56ed41a70657965029f08dbfc901fbc370d", "signature": "public Key Clicked", "summary": "key clicked this frame, or \u0060CUI_KEY_NONE\u0060" }, { "name": "Conflicts", "kind": "field", "id": "field|Conflicts|0|0|int|||h789812c8ba17c03535e8408d067679a4be25b10d6c3816628d8bb1c973ecd39c", "signature": "public int Conflicts", "summary": "bindings that repeat a combination another binding already uses" }] }, + { "name": "CuiSharp.KnobOpts", "displayName": "KnobOpts", "kind": "struct", "summary": "Knob, fader and level meter: the controls of audio, synth and mixer panels. All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "the value arc, default the control color" }, { "name": "Bipolar", "kind": "field", "id": "field|Bipolar|0|0|bool|||hfd442dc5ac1edaf4637b59f8431024c601179da8a97e788d68ccdcbe169e294b", "signature": "public bool Bipolar", "summary": "the arc grows from the middle: pan, EQ gain" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "HideValue", "kind": "field", "id": "field|HideValue|0|0|bool|||h20146cccd15f7f41f4700bc1046703defa878698eed0451ccdc8acf0325f3763", "signature": "public bool HideValue", "summary": "_Bool hide_value" }, { "name": "LogScale", "kind": "field", "id": "field|LogScale|0|0|bool|||h2225f0b0b5d35122d9c7403f0c7fbea2bfb761378cbb11349ccd4b908cc12a16", "signature": "public bool LogScale", "summary": "equal turns multiply the value: frequency, time (min \u003E 0)" }, { "name": "Reset", "kind": "field", "id": "field|Reset|0|0|float|||h6f7e0b1685ab6d501be44af24ff4fc26ab960c5abf2371bc447d2d1768038172", "signature": "public float Reset", "summary": "double-click value, default 0 (clamped to the range)" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "diameter, default 48" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "0 = continuous (keys move 1% of the range)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "printf format for the value, default \u0022%.0f\u0022" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "under the knob; the id when NULL" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|string?|||h0c302a69bed7c7496c01c252ba72a9e4fdc11703160e8b42558740a0215d1888", "signature": "public string? Unit", "summary": "after the value, e.g. \u0022Hz\u0022 or \u0022dB\u0022" }] }, + { "name": "CuiSharp.KvEditorOpts", "displayName": "KvEditorOpts", "kind": "struct", "summary": "cui_kv_editor_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "NoSecrets", "kind": "field", "id": "field|NoSecrets|0|0|bool|||hb812e236dd78060429f982f487c0335c418e28dfc6639a6d019e2b4c3b8de81b", "signature": "public bool NoSecrets", "summary": "no eye button" }, { "name": "NoToggles", "kind": "field", "id": "field|NoToggles|0|0|bool|||h0dea1fee99c678a80060d07f9324720431aac8d7bb4805e64f0ece12dc442a9e", "signature": "public bool NoToggles", "summary": "no checkboxes: every pair is on" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|bool|||he393614309fa34fbb6e0930aa04c288616abcb05d02f63ad9eb9cb23927877ad", "signature": "public bool ReadOnly", "summary": "_Bool read_only" }, { "name": "KeyPlaceholder", "kind": "field", "id": "field|KeyPlaceholder|0|0|string?|||hedf304f45469c5fccb451372ec7a6a06f648bd5b9a999271d5c1dcbeb18609d5", "signature": "public string? KeyPlaceholder", "summary": "default \u0022Key\u0022" }, { "name": "ValuePlaceholder", "kind": "field", "id": "field|ValuePlaceholder|0|0|string?|||hf52548b8628a0f3b479fb60579bb8ca6de0d4d8f6ceaf412af16e60c8be996ca", "signature": "public string? ValuePlaceholder", "summary": "default \u0022Value\u0022" }] }, { "name": "CuiSharp.LayoutFormatter", "displayName": "LayoutFormatter", "kind": "static class", "summary": "A layout view of a recorded frame: each named node with the rectangle CUI laid it out under its own id where one is known, the observed bounds of what a container holds where any descendant has a verified rect, and the unknowns named as unknowns.", "members": [{ "name": "Header", "kind": "constant", "id": "constant|Header|1|0|string||layout: rects exist only for ids CUI lays out; unnamed/id-0 containers and widgets without a proven own id print [rect:unverified]; union\u2265 is a lower bound of recorded rects, not a content extent; scrolled/virtualized extents are UNKNOWN (CUI keeps them private); floating layers (dialogs, popovers, toasts, ...) sit outside their container.|h34d346bf897ae3b2d613378aa8162fdd9c314e2cc1920373ddbf7043eabc9c51", "signature": "public const string Header = \u0022layout: rects exist only for ids CUI lays out; unnamed/id-0 containers and widgets without a proven own id print [rect:unverified]; union\\u2265 is a lower bound of recorded rects, not a content extent; scrolled/virtualized extents are UNKNOWN (CUI keeps them private); floating layers (dialogs, popovers, toasts, ...) sit outside their container.\u0022", "summary": "The warning line every layout view carries, so no line below it reads as more than it is.", "value": "layout: rects exist only for ids CUI lays out; unnamed/id-0 containers and widgets without a proven own id print [rect:unverified]; union\u2265 is a lower bound of recorded rects, not a content extent; scrolled/virtualized extents are UNKNOWN (CUI keeps them private); floating layers (dialogs, popovers, toasts, ...) sit outside their container." }, { "name": "Print", "kind": "method", "id": "method|Print|1|0|string|SemanticNode frame||h19748982905939d1c43cb3f045d6f477bed6acf80d27bde18b0cd15ad6041ceb", "signature": "static string Print(SemanticNode frame)", "parameters": [{ "name": "frame", "type": "SemanticNode" }], "summary": "Renders the layout view of one recorded frame tree, header line first." }] }, { "name": "CuiSharp.LayoutScope", "displayName": "LayoutScope", "kind": "ref struct", "summary": "An always-open container. Use using to close it, including on exceptions.", "members": [{ "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()", "summary": "Closes this container. Disposing the same instance again does nothing." }] }, - { "name": "CuiSharp.LevelMeterOpts", "displayName": "LevelMeterOpts", "kind": "struct", "summary": "cui_level_meter_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Horizontal", "kind": "field", "id": "field|Horizontal|0|0|bool|||h526d7918635bb7515376b05bb273960bfff3d8076453a269cb0cc74fef6ec108", "signature": "public bool Horizontal", "summary": "_Bool horizontal" }, { "name": "Scale", "kind": "field", "id": "field|Scale|0|0|bool|||h0d8a3f3cb6185546497459a8c952cb3d8b471e12bb580ed4da19337f86b39a06", "signature": "public bool Scale", "summary": "dB labels beside the bars" }, { "name": "Segmented", "kind": "field", "id": "field|Segmented|0|0|bool|||h32669c3e675c6f25d76741286cebfbdc27f4116dc826d2c356869c3f01e33a05", "signature": "public bool Segmented", "summary": "LED segments instead of a solid bar" }, { "name": "Decay", "kind": "field", "id": "field|Decay|0|0|float|||h067240cd90c29d217819d40156fc0debc9d7b6e5290807eea7a28cffb399a6eb", "signature": "public float Decay", "summary": "fall rate, dB per second; default 20" }, { "name": "Hold", "kind": "field", "id": "field|Hold|0|0|float|||hf9cf9b5a4d1a55101a8a988c06df2d2cadf6464a1b411ed219b71cf735f20622", "signature": "public float Hold", "summary": "peak hold, seconds; default 1.5, \u003C 0 none" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|float|||hde0ed5b9413eadd735eb6ae0346647e34ca58923c6d228bcc21459281e52a172", "signature": "public float Length", "summary": "default 160" }, { "name": "MaxDb", "kind": "field", "id": "field|MaxDb|0|0|float|||h05af64f8eaf6361804782ad98715d074c249913dc00324f60ff072dd17a84ea9", "signature": "public float MaxDb", "summary": "default -60 and \u002B6" }, { "name": "MinDb", "kind": "field", "id": "field|MinDb|0|0|float|||hf0f618cb58cf13fd6bb97d775f5351393d15723ccaf0a1a2d3ce7d92fae8a2b5", "signature": "public float MinDb", "summary": "default -60 and \u002B6" }, { "name": "Thickness", "kind": "field", "id": "field|Thickness|0|0|float|||h032ae3f08d1f764102a5ab4e3449cb25f2ae394d97fb8b90dd505ead7b8576f6", "signature": "public float Thickness", "summary": "each channel\u0027s bar, default 6" }] }, - { "name": "CuiSharp.ListItemOpts", "displayName": "ListItemOpts", "kind": "struct", "summary": "cui_list_item_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Selected", "kind": "field", "id": "field|Selected|0|0|bool|||ha8f1fe2a399f368a574176637903c3d9775d632126ad3ed2ba7d99d9787055da", "signature": "public bool Selected", "summary": "_Bool selected" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|string?|||h9d0d544d7549508f61434ad5871b2b0572260bc680b2d8dad077b002b5a22c7a", "signature": "public string? Avatar", "summary": "const char * avatar" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Subtitle", "kind": "field", "id": "field|Subtitle|0|0|string?|||h370a50a915562d87bd3c3dd57879ea2e95f02f8dcf9dc1b4e921775dc91ffdac", "signature": "public string? Subtitle", "summary": "const char * subtitle" }, { "name": "Trailing", "kind": "field", "id": "field|Trailing|0|0|string?|||h74345f37cd2a39e019887165055697c10b43ca54d151eaad795ee3df8fc7ab5a", "signature": "public string? Trailing", "summary": "const char * trailing" }] }, - { "name": "CuiSharp.LoaderOpts", "displayName": "LoaderOpts", "kind": "struct", "summary": "cui_loader_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Style", "kind": "field", "id": "field|Style|0|0|LoaderStyle|||h8b8796b8c95829a2fdf2777456dde7dd852dc38a8878ac87018bf5c5c966e0ab", "signature": "public LoaderStyle Style", "summary": "cui_loader_style style" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }] }, + { "name": "CuiSharp.LevelMeterOpts", "displayName": "LevelMeterOpts", "kind": "struct", "summary": "Level meter: bars that jump up to each new peak and fall back at \u0060decay\u0060 dB per second, with a peak mark that holds for \u0060hold\u0060 seconds and a clip light that stays on until clicked. Levels are linear sample peaks (1.0 is 0 dBFS); green runs to -18 dB, amber to -6 dB, red above. All fields are optional; zero selects the native default.", "members": [{ "name": "Horizontal", "kind": "field", "id": "field|Horizontal|0|0|bool|||h526d7918635bb7515376b05bb273960bfff3d8076453a269cb0cc74fef6ec108", "signature": "public bool Horizontal", "summary": "bars run left to right instead of bottom to top" }, { "name": "Scale", "kind": "field", "id": "field|Scale|0|0|bool|||h0d8a3f3cb6185546497459a8c952cb3d8b471e12bb580ed4da19337f86b39a06", "signature": "public bool Scale", "summary": "dB labels beside the bars" }, { "name": "Segmented", "kind": "field", "id": "field|Segmented|0|0|bool|||h32669c3e675c6f25d76741286cebfbdc27f4116dc826d2c356869c3f01e33a05", "signature": "public bool Segmented", "summary": "LED segments instead of a solid bar" }, { "name": "Decay", "kind": "field", "id": "field|Decay|0|0|float|||h067240cd90c29d217819d40156fc0debc9d7b6e5290807eea7a28cffb399a6eb", "signature": "public float Decay", "summary": "fall rate, dB per second; default 20" }, { "name": "Hold", "kind": "field", "id": "field|Hold|0|0|float|||hf9cf9b5a4d1a55101a8a988c06df2d2cadf6464a1b411ed219b71cf735f20622", "signature": "public float Hold", "summary": "peak hold, seconds; default 1.5, \u003C 0 none" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|float|||hde0ed5b9413eadd735eb6ae0346647e34ca58923c6d228bcc21459281e52a172", "signature": "public float Length", "summary": "default 160" }, { "name": "MaxDb", "kind": "field", "id": "field|MaxDb|0|0|float|||h05af64f8eaf6361804782ad98715d074c249913dc00324f60ff072dd17a84ea9", "signature": "public float MaxDb", "summary": "default -60 and \u002B6" }, { "name": "MinDb", "kind": "field", "id": "field|MinDb|0|0|float|||hf0f618cb58cf13fd6bb97d775f5351393d15723ccaf0a1a2d3ce7d92fae8a2b5", "signature": "public float MinDb", "summary": "default -60 and \u002B6" }, { "name": "Thickness", "kind": "field", "id": "field|Thickness|0|0|float|||h032ae3f08d1f764102a5ab4e3449cb25f2ae394d97fb8b90dd505ead7b8576f6", "signature": "public float Thickness", "summary": "each channel\u0027s bar, default 6" }] }, + { "name": "CuiSharp.ListItemOpts", "displayName": "ListItemOpts", "kind": "struct", "summary": "List item: a selectable row with optional icon, subtitle and trailing text. All fields are optional; zero selects the native default.", "members": [{ "name": "Selected", "kind": "field", "id": "field|Selected|0|0|bool|||ha8f1fe2a399f368a574176637903c3d9775d632126ad3ed2ba7d99d9787055da", "signature": "public bool Selected", "summary": "drawn with the active background" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|string?|||h9d0d544d7549508f61434ad5871b2b0572260bc680b2d8dad077b002b5a22c7a", "signature": "public string? Avatar", "summary": "a name: shows that person\u0027s avatar (initials) in place of the icon" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Subtitle", "kind": "field", "id": "field|Subtitle|0|0|string?|||h370a50a915562d87bd3c3dd57879ea2e95f02f8dcf9dc1b4e921775dc91ffdac", "signature": "public string? Subtitle", "summary": "second line under the title, smaller; makes the row taller" }, { "name": "Trailing", "kind": "field", "id": "field|Trailing|0|0|string?|||h74345f37cd2a39e019887165055697c10b43ca54d151eaad795ee3df8fc7ab5a", "signature": "public string? Trailing", "summary": "muted text at the right edge, e.g. a time or a count" }] }, + { "name": "CuiSharp.LoaderOpts", "displayName": "LoaderOpts", "kind": "struct", "summary": "cui_loader_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Style", "kind": "field", "id": "field|Style|0|0|LoaderStyle|||h8b8796b8c95829a2fdf2777456dde7dd852dc38a8878ac87018bf5c5c966e0ab", "signature": "public LoaderStyle Style", "summary": "cui_loader_style style" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }] }, { "name": "CuiSharp.LoaderStyle", "displayName": "LoaderStyle", "kind": "enum", "summary": "cui_loader_style", "members": [{ "name": "Bars", "kind": "enum value", "id": "enum value|Bars|1|0|||1|h4973b3a2c0057c461ebae49937f2896371b8de77acfed984bebf0837dc020c18", "signature": "Bars = 1", "value": "1" }, { "name": "Dots", "kind": "enum value", "id": "enum value|Dots|1|0|||0|h4926168dff81e42b6a4bda1682aa80de31936f45651d4358e2fd8fb6981c8350", "signature": "Dots = 0", "value": "0" }, { "name": "Grid", "kind": "enum value", "id": "enum value|Grid|1|0|||4|hcf44f6539f24fd68b75e055f68f1e6f11bbc2c866a4943cdb2b154f3a452a8a8", "signature": "Grid = 4", "value": "4" }, { "name": "Orbit", "kind": "enum value", "id": "enum value|Orbit|1|0|||3|h7f1416fa91c330075f7287ca6dc42ade9fc4cceac3857a756d326313c6c03884", "signature": "Orbit = 3", "value": "3" }, { "name": "Pulse", "kind": "enum value", "id": "enum value|Pulse|1|0|||2|h9f9e2b3346cb5719dfefaa92a5361311bc6b85390ad691cbc30987fa6343b946", "signature": "Pulse = 2", "value": "2" }] }, { "name": "CuiSharp.Localization", "displayName": "Localization", "kind": "class", "summary": "The month, weekday and \u0022Today\u0022 names the date components show, for another language: the table SetLocalization hands to CUI. CUI keeps the pointer it is given and reads it every frame, so this table cannot live in the frame arena. This class owns one unmanaged block, rebuilt only when a name changes, and the surface that published it keeps this object alive and frees a replaced block at a frame boundary. Every entry is optional: a null falls back to the English name, so a partial table is a complete one. Weeks start on Monday, as in every CUI calendar, so Weekdays starts at Monday. A table belongs to one surface: publishing it to a second one throws, because only the surface that owns it is told when a name changes and a block is replaced.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||||he310586623afe13ace2a6ddaf900a62ac5a4b843a912b4603cdf0ab6bab33cca", "signature": "Localization()" }, { "name": "Today", "kind": "property", "id": "property|Today|0|0|string?||get;set;|h30122b32b11d395d8852fec5dba1b5269b77c0ae0d872cb5e18f75e351e16dac", "signature": "string? Today { get; set; }", "summary": "The word the \u0022Today\u0022 button shows. Null falls back to English." }, { "name": "Months", "kind": "property", "id": "property|Months|0|0|string?[]?||get;set;|h7f616cb1dc3604985dfed433d1bc9eed7a931a849234749698feb40d66bbcc40", "signature": "string?[]? Months { get; set; }", "summary": "Twelve month names, index 0 = January. Null entries fall back to English." }, { "name": "MonthsShort", "kind": "property", "id": "property|MonthsShort|0|0|string?[]?||get;set;|h0d869db752e7a20a54ea28959ba679395be1b82567d9d2ab096bfaef54622f63", "signature": "string?[]? MonthsShort { get; set; }", "summary": "Twelve short month names, index 0 = January. Null entries fall back to English." }, { "name": "Weekdays", "kind": "property", "id": "property|Weekdays|0|0|string?[]?||get;set;|h9af2dc21d1a49cd684be0d39f950658bd43ec4ad859d330fba9846fcd3766d3e", "signature": "string?[]? Weekdays { get; set; }", "summary": "Seven weekday names, index 0 = Monday. Null entries fall back to English." }, { "name": "WeekdaysMin", "kind": "property", "id": "property|WeekdaysMin|0|0|string?[]?||get;set;|h1b5bed40453f71829eab6c85e6bf801c10b74e5379d05e11d6d9017f16de33a0", "signature": "string?[]? WeekdaysMin { get; set; }", "summary": "Seven minimal weekday names, index 0 = Monday. Null entries fall back to English." }, { "name": "WeekdaysShort", "kind": "property", "id": "property|WeekdaysShort|0|0|string?[]?||get;set;|h20403cb0e830160750ce76693bb879485e38dd231eba3c4f6aa579ec3c6bf304", "signature": "string?[]? WeekdaysShort { get; set; }", "summary": "Seven short weekday names, index 0 = Monday. Null entries fall back to English." }, { "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()", "summary": "Frees the table now, or \u2014 while a surface still reads it \u2014 hands the block to that surface, which frees it at the next frame boundary. Either way the frames after that one draw English." }] }, { "name": "CuiSharp.LogBuffer", "displayName": "LogBuffer", "kind": "class", "summary": "A log\u0027s ring buffer and line index, owned by managed code. CUI keeps the text in storage the app supplies, so this type owns it: an unmanaged text block plus the line ring behind it. Append with Append or AppendLine and draw it with ui.LogView(id, log, opts), which adds the level filters, search, follow and copy toolbar.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int maxLines = 500;int maxChars = 65536||h15ee0eceaf3001248cd3ead585fa448dfd3a674c2b27c96afedc78e53f0a7276", "signature": "LogBuffer(int maxLines = 500, int maxChars = 65536)", "parameters": [{ "name": "maxLines", "type": "int", "default": "500" }, { "name": "maxChars", "type": "int", "default": "65536" }], "summary": "Creates a log that keeps maxLines lines of history." }, { "name": "Now", "kind": "property", "id": "property|Now|0|0|double||get;set;|h5b3b774ef76bc338b52fc1d30d8695cd7caef2945941184fa0dde6e9eca6028b", "signature": "double Now { get; set; }", "summary": "The timestamp the next line is stamped with, in seconds since the app started." }, { "name": "LineCount", "kind": "property", "id": "property|LineCount|0|0|int||get;|hccbe0d10fc4cba769fdf8bce186b88747cbf2bca89c28ea1307a990b730397dc", "signature": "int LineCount { get; }", "summary": "Lines currently in the buffer." }, { "name": "Text", "kind": "method", "id": "method|Text|0|0|string|||hda2af15c75622bf49ebd1d697b569642d3082d9ef9331399eaeb62527259b3fe", "signature": "string Text()", "summary": "Everything from the oldest line on, as text, with \\n between lines." }, { "name": "TotalLines", "kind": "property", "id": "property|TotalLines|0|0|ulong||get;|h278c4dd16e141f4395398ec1ff80e516fb4a90a880be506e1993f9a16bd317aa", "signature": "ulong TotalLines { get; }", "summary": "Lines ever appended, so the buffer can tell \u0022empty\u0022 from \u0022scrolled\u0022." }, { "name": "Append", "kind": "method", "id": "method|Append|0|0|void|string? text;LogLevel level;double time||h58a765c41c94e3f7a2cdbe6163f77cdbd3464e39c7caeed5a903018721e870e4", "signature": "void Append(string? text, LogLevel level, double time)", "parameters": [{ "name": "text", "type": "string?" }, { "name": "level", "type": "LogLevel" }, { "name": "time", "type": "double" }], "summary": "Appends one line stamped with time, in seconds." }, { "name": "AppendLine", "kind": "method", "id": "method|AppendLine|0|0|void|string? text;LogLevel level = LogLevel.Info||hc3c846d0b1a0b99fb0205109d32d141b8ee141999d9e1d48586ed7441ccc969e", "signature": "void AppendLine(string? text, LogLevel level = LogLevel.Info)", "parameters": [{ "name": "text", "type": "string?" }, { "name": "level", "type": "LogLevel", "default": "LogLevel.Info" }], "summary": "Appends one line at the buffer\u0027s own clock (Now)." }, { "name": "Clear", "kind": "method", "id": "method|Clear|0|0|void|||h9dc9f5ebe2d0fc5a7062ed0b58be5aadd046849041bb7d63ac9b387851728fe8", "signature": "void Clear()", "summary": "Forgets every line." }, { "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()" }] }, - { "name": "CuiSharp.LogLevel", "displayName": "LogLevel", "kind": "enum", "summary": "cui_log_level", "members": [{ "name": "Debug", "kind": "enum value", "id": "enum value|Debug|1|0|||1|h21de1c42bd8aeb7315c8ed5ec0bb7000616a3459707634a360c7a387476a4498", "signature": "Debug = 1", "value": "1" }, { "name": "Error", "kind": "enum value", "id": "enum value|Error|1|0|||4|h46cfe2086501cd9668374608efc825ba07d8a3d752322c578ab14f7b36ec8162", "signature": "Error = 4", "value": "4" }, { "name": "Info", "kind": "enum value", "id": "enum value|Info|1|0|||2|h9d07ea1e38d6abe142845630dc2f28ea265d47cf4ff8de68a0fe4011916186d3", "signature": "Info = 2", "value": "2" }, { "name": "LevelCount", "kind": "enum value", "id": "enum value|LevelCount|1|0|||5|h90bc784d902aca1b088b3d173ae7cb5c8e2a40faa1eaa5423dd46e19ab199164", "signature": "LevelCount = 5", "value": "5" }, { "name": "Trace", "kind": "enum value", "id": "enum value|Trace|1|0|||0|he40bc5b267de21151499cbcb80a1c2119938310f5bbcfffb071b0e5723ab7bc9", "signature": "Trace = 0", "value": "0" }, { "name": "Warn", "kind": "enum value", "id": "enum value|Warn|1|0|||3|h614f3bc18c5372cda07b6d70455bad4f0b9023f718c8d5dad5083300b4b4f4ff", "signature": "Warn = 3", "value": "3" }] }, - { "name": "CuiSharp.LogLine", "displayName": "LogLine", "kind": "struct", "summary": "cui_log_line. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||uint Offset;uint Len = default;double Time = default;byte Level = default||h810039738fb39504ee35961d1050a9d7722dbafd0675ce287bbad9ceaa5c6075", "signature": "LogLine(uint Offset, uint Len = default, double Time = default, byte Level = default)", "parameters": [{ "name": "Offset", "type": "uint" }, { "name": "Len", "type": "uint", "default": "default" }, { "name": "Time", "type": "double", "default": "default" }, { "name": "Level", "type": "byte", "default": "default" }] }, { "name": "Level", "kind": "field", "id": "field|Level|0|0|byte|||hf95527e917db045b4141feff514aa39480a59a94561f62de0df5d44c3b0694a9", "signature": "public byte Level", "summary": "uint8_t level" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|double|||hf6eb8bfefd7957f87b5ed2738bc9a721b9ff45c732f53108d799ad2931a6b170", "signature": "public double Time", "summary": "double time" }, { "name": "Len", "kind": "field", "id": "field|Len|0|0|uint|||h9a7aa5477bab3013c524af61a8579b6327603d131ea638cadc7b4f4863a23b7e", "signature": "public uint Len", "summary": "uint32_t len" }, { "name": "Offset", "kind": "field", "id": "field|Offset|0|0|uint|||h05a920517fe4fac075579a468ffc003bcb5361b495613ee0c64c3c8b144de92f", "signature": "public uint Offset", "summary": "uint32_t offset" }] }, - { "name": "CuiSharp.LogViewOpts", "displayName": "LogViewOpts", "kind": "struct", "summary": "cui_log_view_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "NoToolbar", "kind": "field", "id": "field|NoToolbar|0|0|bool|||h860df392a169878debf9e5d580124ccf63bf097014494370a8967baea8fd1225", "signature": "public bool NoToolbar", "summary": "just the lines" }, { "name": "Timestamps", "kind": "field", "id": "field|Timestamps|0|0|bool|||hc03df9126deae7312fab653657291e107622d766388d5e3b4186961b9dcc9080", "signature": "public bool Timestamps", "summary": "show each line\u0027s time as HH:MM:SS.mmm" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320; negative fills the space" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 12" }] }, - { "name": "CuiSharp.MarkdownOpts", "displayName": "MarkdownOpts", "kind": "struct", "summary": "cui_markdown_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "body text color, default foreground; links then take it too, underlined" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|bool|||h5a2127a1e548266f50dbac415de28c4f38d4739bc0238184acf147186e6e67f6", "signature": "public bool Compact", "summary": "smaller headings and tighter spacing, for chat bubbles" }, { "name": "FitContent", "kind": "field", "id": "field|FitContent|0|0|bool|||h31d43fc045d41dad6020d77eca4c4371f8237efa14a9a5db4c3f2179252380ff", "signature": "public bool FitContent", "summary": "as wide as the content needs, up to the space there is (chat bubbles)" }, { "name": "Streaming", "kind": "field", "id": "field|Streaming|0|0|bool|||hdeefea706ecc5ad3a5031c8102dc76f9e58b038200426557206f2a5e604d28b3", "signature": "public bool Streaming", "summary": "text is still arriving" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "body text size, default theme text_body" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|int|||hef2503a1d0b9fb909698fa12c327675bda30f8b40b00e879e548d3e8332f864d", "signature": "public int Length", "summary": "bytes of text to show, default strlen (text then need not end in a NUL)" }] }, - { "name": "CuiSharp.MarkdownResult", "displayName": "MarkdownResult", "kind": "struct", "summary": "cui_markdown_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Link;string? HoveredLink = null;int TaskOffset = default;int TaskLine = default;bool TaskChecked = default;float Height = default||h30b9deee7276dbc4cb48b59e54e18477ef29169e075aa62449b068cd2d15a338", "signature": "MarkdownResult(string? Link, string? HoveredLink = null, int TaskOffset = default, int TaskLine = default, bool TaskChecked = default, float Height = default)", "parameters": [{ "name": "Link", "type": "string?" }, { "name": "HoveredLink", "type": "string?", "default": "null" }, { "name": "TaskOffset", "type": "int", "default": "default" }, { "name": "TaskLine", "type": "int", "default": "default" }, { "name": "TaskChecked", "type": "bool", "default": "default" }, { "name": "Height", "type": "float", "default": "default" }] }, { "name": "TaskChecked", "kind": "field", "id": "field|TaskChecked|0|0|bool|||h86884b7eeaa0835281c8d55ede906c31347dd03b40214a4a6e4838996a50ddb8", "signature": "public bool TaskChecked", "summary": "the state the box was toggled to" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "height of the view in the latest layout" }, { "name": "TaskLine", "kind": "field", "id": "field|TaskLine|0|0|int|||h7e3bf329b030f664448bfbcf31830d3f925a03fd004a165b8de0edc39fbbae69", "signature": "public int TaskLine", "summary": "that item\u0027s 1 based line in text, 0 when none" }, { "name": "TaskOffset", "kind": "field", "id": "field|TaskOffset|0|0|int|||hc553ca4fe536319901025ae7db24cfa0ee4ba0e9ba7365622cd500b903057157", "signature": "public int TaskOffset", "summary": "a task box was toggled: byte offset in text of the character between its brackets, else -1" }, { "name": "HoveredLink", "kind": "field", "id": "field|HoveredLink|0|0|string?|||h32a43ce4bbf5a5a0c181174098c430123e6638a9dc4856da993c7f781faf3f4c", "signature": "public string? HoveredLink", "summary": "URL of the link under the pointer, or NULL; frame memory" }, { "name": "Link", "kind": "field", "id": "field|Link|0|0|string?|||hfc849a5fa2adda0ebfb00023870b1ee3135db107a2fb8cc11f845b89834fdcd1", "signature": "public string? Link", "summary": "URL of the link clicked (or activated with Enter) this frame, or NULL; frame memory" }] }, + { "name": "CuiSharp.LogLevel", "displayName": "LogLevel", "kind": "enum", "summary": "Log console. The app owns the storage: give cui_log_init an array of line records and a byte buffer for the text. Appending never allocates; when either is full the oldest lines are dropped (a ring buffer). Lines longer than the text buffer are cut to fit.", "members": [{ "name": "Debug", "kind": "enum value", "id": "enum value|Debug|1|0|||1|h21de1c42bd8aeb7315c8ed5ec0bb7000616a3459707634a360c7a387476a4498", "signature": "Debug = 1", "value": "1" }, { "name": "Error", "kind": "enum value", "id": "enum value|Error|1|0|||4|h46cfe2086501cd9668374608efc825ba07d8a3d752322c578ab14f7b36ec8162", "signature": "Error = 4", "value": "4" }, { "name": "Info", "kind": "enum value", "id": "enum value|Info|1|0|||2|h9d07ea1e38d6abe142845630dc2f28ea265d47cf4ff8de68a0fe4011916186d3", "signature": "Info = 2", "value": "2" }, { "name": "LevelCount", "kind": "enum value", "id": "enum value|LevelCount|1|0|||5|h90bc784d902aca1b088b3d173ae7cb5c8e2a40faa1eaa5423dd46e19ab199164", "signature": "LevelCount = 5", "value": "5" }, { "name": "Trace", "kind": "enum value", "id": "enum value|Trace|1|0|||0|he40bc5b267de21151499cbcb80a1c2119938310f5bbcfffb071b0e5723ab7bc9", "signature": "Trace = 0", "value": "0" }, { "name": "Warn", "kind": "enum value", "id": "enum value|Warn|1|0|||3|h614f3bc18c5372cda07b6d70455bad4f0b9023f718c8d5dad5083300b4b4f4ff", "signature": "Warn = 3", "value": "3" }] }, + { "name": "CuiSharp.LogLine", "displayName": "LogLine", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||uint Offset;uint Len = default;double Time = default;byte Level = default||h810039738fb39504ee35961d1050a9d7722dbafd0675ce287bbad9ceaa5c6075", "signature": "LogLine(uint Offset, uint Len = default, double Time = default, byte Level = default)", "parameters": [{ "name": "Offset", "type": "uint" }, { "name": "Len", "type": "uint", "default": "default" }, { "name": "Time", "type": "double", "default": "default" }, { "name": "Level", "type": "byte", "default": "default" }] }, { "name": "Level", "kind": "field", "id": "field|Level|0|0|byte|||hf95527e917db045b4141feff514aa39480a59a94561f62de0df5d44c3b0694a9", "signature": "public byte Level", "summary": "a \u0060cui_log_level\u0060" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|double|||hf6eb8bfefd7957f87b5ed2738bc9a721b9ff45c732f53108d799ad2931a6b170", "signature": "public double Time", "summary": "the timestamp it was appended with, in seconds" }, { "name": "Len", "kind": "field", "id": "field|Len|0|0|uint|||h9a7aa5477bab3013c524af61a8579b6327603d131ea638cadc7b4f4863a23b7e", "signature": "public uint Len", "summary": "bytes of text, not counting the terminator" }, { "name": "Offset", "kind": "field", "id": "field|Offset|0|0|uint|||h05a920517fe4fac075579a468ffc003bcb5361b495613ee0c64c3c8b144de92f", "signature": "public uint Offset", "summary": "where the line\u0027s text starts in the buffer\u0027s \u0060text\u0060" }] }, + { "name": "CuiSharp.LogViewOpts", "displayName": "LogViewOpts", "kind": "struct", "summary": "cui_log_view_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "NoToolbar", "kind": "field", "id": "field|NoToolbar|0|0|bool|||h860df392a169878debf9e5d580124ccf63bf097014494370a8967baea8fd1225", "signature": "public bool NoToolbar", "summary": "just the lines" }, { "name": "Timestamps", "kind": "field", "id": "field|Timestamps|0|0|bool|||hc03df9126deae7312fab653657291e107622d766388d5e3b4186961b9dcc9080", "signature": "public bool Timestamps", "summary": "show each line\u0027s time as HH:MM:SS.mmm" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320; negative fills the space" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 12" }] }, + { "name": "CuiSharp.MarkdownOpts", "displayName": "MarkdownOpts", "kind": "struct", "summary": "Markdown view: renders your markdown text (UTF-8) as native content, every frame, without keeping a copy: All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "body text color, default foreground; links then take it too, underlined" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|bool|||h5a2127a1e548266f50dbac415de28c4f38d4739bc0238184acf147186e6e67f6", "signature": "public bool Compact", "summary": "smaller headings and tighter spacing, for chat bubbles" }, { "name": "FitContent", "kind": "field", "id": "field|FitContent|0|0|bool|||h31d43fc045d41dad6020d77eca4c4371f8237efa14a9a5db4c3f2179252380ff", "signature": "public bool FitContent", "summary": "as wide as the content needs, up to the space there is (chat bubbles)" }, { "name": "Streaming", "kind": "field", "id": "field|Streaming|0|0|bool|||hdeefea706ecc5ad3a5031c8102dc76f9e58b038200426557206f2a5e604d28b3", "signature": "public bool Streaming", "summary": "text is still arriving" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "body text size, default theme text_body" }, { "name": "Length", "kind": "field", "id": "field|Length|0|0|int|||hef2503a1d0b9fb909698fa12c327675bda30f8b40b00e879e548d3e8332f864d", "signature": "public int Length", "summary": "bytes of text to show, default strlen (text then need not end in a NUL)" }] }, + { "name": "CuiSharp.MarkdownResult", "displayName": "MarkdownResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Link;string? HoveredLink = null;int TaskOffset = default;int TaskLine = default;bool TaskChecked = default;float Height = default||h30b9deee7276dbc4cb48b59e54e18477ef29169e075aa62449b068cd2d15a338", "signature": "MarkdownResult(string? Link, string? HoveredLink = null, int TaskOffset = default, int TaskLine = default, bool TaskChecked = default, float Height = default)", "parameters": [{ "name": "Link", "type": "string?" }, { "name": "HoveredLink", "type": "string?", "default": "null" }, { "name": "TaskOffset", "type": "int", "default": "default" }, { "name": "TaskLine", "type": "int", "default": "default" }, { "name": "TaskChecked", "type": "bool", "default": "default" }, { "name": "Height", "type": "float", "default": "default" }] }, { "name": "TaskChecked", "kind": "field", "id": "field|TaskChecked|0|0|bool|||h86884b7eeaa0835281c8d55ede906c31347dd03b40214a4a6e4838996a50ddb8", "signature": "public bool TaskChecked", "summary": "the state the box was toggled to" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "height of the view in the latest layout" }, { "name": "TaskLine", "kind": "field", "id": "field|TaskLine|0|0|int|||h7e3bf329b030f664448bfbcf31830d3f925a03fd004a165b8de0edc39fbbae69", "signature": "public int TaskLine", "summary": "that item\u0027s 1 based line in text, 0 when none" }, { "name": "TaskOffset", "kind": "field", "id": "field|TaskOffset|0|0|int|||hc553ca4fe536319901025ae7db24cfa0ee4ba0e9ba7365622cd500b903057157", "signature": "public int TaskOffset", "summary": "a task box was toggled: byte offset in text of the character between its brackets, else -1" }, { "name": "HoveredLink", "kind": "field", "id": "field|HoveredLink|0|0|string?|||h32a43ce4bbf5a5a0c181174098c430123e6638a9dc4856da993c7f781faf3f4c", "signature": "public string? HoveredLink", "summary": "URL of the link under the pointer, or NULL; frame memory" }, { "name": "Link", "kind": "field", "id": "field|Link|0|0|string?|||hfc849a5fa2adda0ebfb00023870b1ee3135db107a2fb8cc11f845b89834fdcd1", "signature": "public string? Link", "summary": "URL of the link clicked (or activated with Enter) this frame, or NULL; frame memory" }] }, { "name": "CuiSharp.MarkdownText", "displayName": "MarkdownText", "kind": "static class", "summary": "Applies an interactive checkbox toggle to markdown text: flips the [ ]/[x] at the offset a MarkdownResult reports.", "members": [{ "name": "ToggleTask", "kind": "method", "id": "method|ToggleTask|1|0|bool|ref string text;int taskOffset;MarkdownResult result||h019b7011964f54e98adb5a78064fd41cac4d7f7c29cc37653bd97b68c3b89197", "signature": "static bool ToggleTask(ref string text, int taskOffset, MarkdownResult result)", "parameters": [{ "name": "text", "type": "ref string" }, { "name": "taskOffset", "type": "int" }, { "name": "result", "type": "MarkdownResult" }], "summary": "Rewrites text with the task box at taskOffset flipped, keeping every other byte." }] }, - { "name": "CuiSharp.MenuBarMenuOpts", "displayName": "MenuBarMenuOpts", "kind": "struct", "summary": "cui_menu_bar_menu_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float width" }, { "name": "Mnemonic", "kind": "field", "id": "field|Mnemonic|0|0|sbyte|||hacfbb11e49ff4749382abc40b19888f44cb46198f0c8b86ad384e244793a71f1", "signature": "public sbyte Mnemonic", "summary": "char mnemonic" }] }, - { "name": "CuiSharp.MenuBarOpts", "displayName": "MenuBarOpts", "kind": "struct", "summary": "cui_menu_bar_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "NoBorder", "kind": "field", "id": "field|NoBorder|0|0|bool|||hb6606a0691e1878d2d505efaca98f05506ff46d2cad01766c9efde8a172544e3", "signature": "public bool NoBorder", "summary": "_Bool no_border" }] }, - { "name": "CuiSharp.MenuItemOpts", "displayName": "MenuItemOpts", "kind": "struct", "summary": "cui_menu_item_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Checked", "kind": "field", "id": "field|Checked|0|0|bool|||hb2ccb44fb881c0e3e6aa40c0bf9d6aebc2964a76744af30085a6ff1ce582fac4", "signature": "public bool Checked", "summary": "_Bool checked" }, { "name": "Danger", "kind": "field", "id": "field|Danger|0|0|bool|||h3e552965bd0c23ceb0f571e7b36f3aff5b19af39ece9e0ca708e9a8028437fdf", "signature": "public bool Danger", "summary": "_Bool danger" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|string?|||hb24cee523e8070471058522244148c9ff58dd158ff50852f7a6257dc7fcab350", "signature": "public string? Shortcut", "summary": "const char * shortcut" }] }, - { "name": "CuiSharp.MenuOpts", "displayName": "MenuOpts", "kind": "struct", "summary": "cui_menu_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "cui_button_variant variant" }, { "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement placement" }, { "name": "IconOnly", "kind": "field", "id": "field|IconOnly|0|0|bool|||ha338e8c8d1c6b6f843f2ac0c9673ab05d124e55bcb723e302ca438605f613acf", "signature": "public bool IconOnly", "summary": "_Bool icon_only" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float width" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, - { "name": "CuiSharp.MetricOpts", "displayName": "MetricOpts", "kind": "struct", "summary": "cui_metric_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "LowerIsBetter", "kind": "field", "id": "field|LowerIsBetter|0|0|bool|||hdbb63017a214eb7f7b2818c5485cd80ae1d87f9c8fd20fc1e56e32d63eec76ee", "signature": "public bool LowerIsBetter", "summary": "build times, errors, latency: a fall is good news, shown in green" }, { "name": "Delta", "kind": "field", "id": "field|Delta|0|0|float|||h1e522b23e3d342dfeec52a69a0ca4f14b756c85114da059add23d2c403cf19e0", "signature": "public float Delta", "summary": "float delta" }, { "name": "Spark", "kind": "field", "id": "field|Spark|0|0|float[]?|||hc9e1b6fccaebd6abaa47807970031bdfc70e61fc113b21ee950fb6f17590e6e1", "signature": "public float[]? Spark", "summary": "const float * spark" }, { "name": "DeltaLabel", "kind": "field", "id": "field|DeltaLabel|0|0|string?|||h8adc762344509f394ae06230bb6bc2bc963256ce9b575f04d462e1f7ed6ad15f", "signature": "public string? DeltaLabel", "summary": "const char * delta_label" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, - { "name": "CuiSharp.Model", "displayName": "Model", "kind": "struct", "summary": "cui_model. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;string? Detail = null;string? Badge = null;string? Icon = null||h77344b8a557e720bbed7c2bdf438bbb0cf88b9304917ff297b2bce771b84a02b", "signature": "Model(string? Name, string? Detail = null, string? Badge = null, string? Icon = null)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Detail", "type": "string?", "default": "null" }, { "name": "Badge", "type": "string?", "default": "null" }, { "name": "Icon", "type": "string?", "default": "null" }] }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|string?|||he7e7c071afd35c021d23c003aca00c74fdf6fc42e693819ce02b70951ea38c8d", "signature": "public string? Badge", "summary": "const char * badge" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "const char * detail" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }] }, - { "name": "CuiSharp.ModelPickerOpts", "displayName": "ModelPickerOpts", "kind": "struct", "summary": "cui_model_picker_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement placement" }, { "name": "Ghost", "kind": "field", "id": "field|Ghost|0|0|bool|||h9a0454fdd8bc7e4ba216478b4bc6a82cf83e57f56126c994723ed2f8139f5dbe", "signature": "public bool Ghost", "summary": "_Bool ghost" }] }, - { "name": "CuiSharp.Mods", "displayName": "Mods", "kind": "enum", "summary": "cui_mod", "members": [{ "name": "Alt", "kind": "enum value", "id": "enum value|Alt|1|0|||4|hbd31537ac8a6bc47e9d556e937a5f027cf645b28bc12825e5cbcf87e3ffc7ae2", "signature": "Alt = 4", "value": "4" }, { "name": "Ctrl", "kind": "enum value", "id": "enum value|Ctrl|1|0|||2|h9ba5357acc87d963a81a5da6fa5a6ca5d901cbf297d2f7db199110f0800a921a", "signature": "Ctrl = 2", "value": "2" }, { "name": "Primary", "kind": "enum value", "id": "enum value|Primary|1|0|||2|h0e4c408ff3df183ec6a5bda2a176eb76858f0b55c583a21318273b354abb4333", "signature": "Primary = 2", "value": "2" }, { "name": "Shift", "kind": "enum value", "id": "enum value|Shift|1|0|||1|hef4a9644eec61cac19c5aecdf0c8955bf41e2022cdf39cac85ad8329ce67c805", "signature": "Shift = 1", "value": "1" }, { "name": "Super", "kind": "enum value", "id": "enum value|Super|1|0|||8|h633fe5adaae4e192c0cc3c53dafe4009c85d114ee1d2afc4bd664d1fce2dfc11", "signature": "Super = 8", "value": "8" }] }, - { "name": "CuiSharp.MoneyOpts", "displayName": "MoneyOpts", "kind": "struct", "summary": "cui_money_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Decimals", "kind": "field", "id": "field|Decimals|0|0|int|||h1b738cb70bf917879f304fb58ce030898c555b54b73eb0e896589e3d0ec3d3b3", "signature": "public int Decimals", "summary": "int decimals" }, { "name": "Code", "kind": "field", "id": "field|Code|0|0|string?|||hde42c28fc8c88660f5826912133eb893ad7c711775687d27f968d87c856ed456", "signature": "public string? Code", "summary": "const char * code" }, { "name": "Hint", "kind": "field", "id": "field|Hint|0|0|string?|||h6e4db358e5bb7cc3e8ac0f128ae742d77d252775d935f95c1c7492d00fc7cd97", "signature": "public string? Hint", "summary": "const char * hint" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }, { "name": "Symbol", "kind": "field", "id": "field|Symbol|0|0|string?|||h148cc6ccee7adb79b9d6d0102150b28b69a2c2e77159c167f5bba469c61f3818", "signature": "public string? Symbol", "summary": "const char * symbol" }] }, - { "name": "CuiSharp.MonthEvent", "displayName": "MonthEvent", "kind": "struct", "summary": "cui_month_event. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;Date Start = default;Date End = default;float Time = default;bool AllDay = default;Tone Tone = Tone.Neutral||h39acac260f7353bd50fbe047bedb9d573cff1edb74cabd3633c9b3c4db71b783", "signature": "MonthEvent(string? Title, Date Start = default, Date End = default, float Time = default, bool AllDay = default, Tone Tone = Tone.Neutral)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Start", "type": "Date", "default": "default" }, { "name": "End", "type": "Date", "default": "default" }, { "name": "Time", "type": "float", "default": "default" }, { "name": "AllDay", "type": "bool", "default": "default" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }] }, { "name": "End", "kind": "field", "id": "field|End|0|0|Date|||h2f89325764b6e561f40d25c0710559925a9d23b2f268dee7a53f0a4c0e99f15b", "signature": "public Date End", "summary": "inclusive; an unset or earlier end means one day" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|Date|||h5308fa14681e4e7754e3fa507d5ec9848904ff7bb147546c875b26a58cda5588", "signature": "public Date Start", "summary": "inclusive; an unset or earlier end means one day" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "AllDay", "kind": "field", "id": "field|AllDay|0|0|bool|||h733907b86017aed670b0a1c3b0adfedc3f2245e28cffba20fc22cc369b91e06e", "signature": "public bool AllDay", "summary": "a bar, like every event that spans days" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|float|||h15580e530959593ba26e1516c12ce319fbad5d5b9d84fe7810a722131f57f895", "signature": "public float Time", "summary": "hour of a timed event (9.5 is 9:30); ignored when all_day" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, - { "name": "CuiSharp.MonthOpts", "displayName": "MonthOpts", "kind": "struct", "summary": "cui_month_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Today", "kind": "field", "id": "field|Today|0|0|Date|||h4ddaac7f888b19523e879039fb8c7d4cd05d5d0b7b4ee66ac05e7cafabae2551", "signature": "public Date Today", "summary": "overrides the system date when set (another time zone, tests)" }, { "name": "Hour12", "kind": "field", "id": "field|Hour12|0|0|bool|||hde952b6b9440a2d05be1f1a294867e3314125c276408d4c22e63a6eb694793f1", "signature": "public bool Hour12", "summary": "9:30a rather than 9:30" }, { "name": "CellHeight", "kind": "field", "id": "field|CellHeight|0|0|float|||hf4309f4d2441e17367cb19c170e3dc8474ed98149a30e30cb2e5983a5f6da8b8", "signature": "public float CellHeight", "summary": "default 104, 44 on a phone" }, { "name": "FirstWeekday", "kind": "field", "id": "field|FirstWeekday|0|0|int|||h3ef476bd8d4650cc173a18a8ce98dacca1ff9beff34ac40ecbbf945c23df4199", "signature": "public int FirstWeekday", "summary": "0 Monday (default) .. 6 Sunday" }, { "name": "DayNames", "kind": "field", "id": "field|DayNames|0|0|string[]?|||h3e2e3113c7a30b96c60119dbd3e7ce6430b4e0ed18f6ecddd6942a868943a44c", "signature": "public string[]? DayNames", "summary": "7 short names, Monday first" }, { "name": "MonthNames", "kind": "field", "id": "field|MonthNames|0|0|string[]?|||h15bb3950293a7020197785285f9ed1e1b9fa2b0cd40063b23c31d8ef549a2a34", "signature": "public string[]? MonthNames", "summary": "12 names for another language, January first" }] }, - { "name": "CuiSharp.MonthResult", "displayName": "MonthResult", "kind": "struct", "summary": "cui_month_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Event;bool DayClicked = default;bool DayActivated = default;bool MonthChanged = default||heb24359c6e93e506b075fcdba19fd6fb03cf2bda8d5b475b3f0b4b53497c8a81", "signature": "MonthResult(int Event, bool DayClicked = default, bool DayActivated = default, bool MonthChanged = default)", "parameters": [{ "name": "Event", "type": "int" }, { "name": "DayClicked", "type": "bool", "default": "default" }, { "name": "DayActivated", "type": "bool", "default": "default" }, { "name": "MonthChanged", "type": "bool", "default": "default" }] }, { "name": "DayActivated", "kind": "field", "id": "field|DayActivated|0|0|bool|||h0acec02d7a457957bf2c9891ee8d06b56cc8a1295bd2f9abd73607c07a9cfc79", "signature": "public bool DayActivated", "summary": "double-clicked or Enter: add an event there" }, { "name": "DayClicked", "kind": "field", "id": "field|DayClicked|0|0|bool|||h2a8ce07c1d0c4e0e8a840ef9cd7740e9e71e7800450fdc3ca006456f32a2a514", "signature": "public bool DayClicked", "summary": "a day was clicked or moved to with the keys (see selected)" }, { "name": "MonthChanged", "kind": "field", "id": "field|MonthChanged|0|0|bool|||hbe6795ad5e09bd5c4c0026e468e42c35952d86f671a9ce005bae9d45205af4de", "signature": "public bool MonthChanged", "summary": "the arrows, Today or the keys changed *month" }, { "name": "Event", "kind": "field", "id": "field|Event|0|0|int|||hf874e9890201f2fa587b91d9d374afbc1ab3d09f700c4a38f45f91cafea69f11", "signature": "public int Event", "summary": "clicked event, or -1" }] }, + { "name": "CuiSharp.MenuBarMenuOpts", "displayName": "MenuBarMenuOpts", "kind": "struct", "summary": "One menu of the bar. Returns true while its items should be built; call cui_menu_bar_menu_end only then. All fields are optional; zero selects the native default.", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float width" }, { "name": "Mnemonic", "kind": "field", "id": "field|Mnemonic|0|0|sbyte|||hacfbb11e49ff4749382abc40b19888f44cb46198f0c8b86ad384e244793a71f1", "signature": "public sbyte Mnemonic", "summary": "letter that opens the menu with Alt; 0 uses the first letter or digit of the label" }] }, + { "name": "CuiSharp.MenuBarOpts", "displayName": "MenuBarOpts", "kind": "struct", "summary": "Menu bar: File / Edit / View along the top of a window. Each menu holds the usual menu items (cui_menu_item, cui_menu_separator, cui_menu_label). Once a menu is open, hovering another one switches to it. Alt (on its own) or F10 focuses the bar; arrows move between menus and items, Enter chooses, Esc steps back. Alt \u002B a menu\u0027s mnemonic letter opens it (the first letter of its label unless \u0060mnemonic\u0060 says otherwise). All fields are optional; zero selects the native default.", "members": [{ "name": "NoBorder", "kind": "field", "id": "field|NoBorder|0|0|bool|||hb6606a0691e1878d2d505efaca98f05506ff46d2cad01766c9efde8a172544e3", "signature": "public bool NoBorder", "summary": "_Bool no_border" }] }, + { "name": "CuiSharp.MenuItemOpts", "displayName": "MenuItemOpts", "kind": "struct", "summary": "cui_menu_item_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Checked", "kind": "field", "id": "field|Checked|0|0|bool|||hb2ccb44fb881c0e3e6aa40c0bf9d6aebc2964a76744af30085a6ff1ce582fac4", "signature": "public bool Checked", "summary": "a check mark at the right edge of the item" }, { "name": "Danger", "kind": "field", "id": "field|Danger|0|0|bool|||h3e552965bd0c23ceb0f571e7b36f3aff5b19af39ece9e0ca708e9a8028437fdf", "signature": "public bool Danger", "summary": "_Bool danger" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|string?|||hb24cee523e8070471058522244148c9ff58dd158ff50852f7a6257dc7fcab350", "signature": "public string? Shortcut", "summary": "const char * shortcut" }] }, + { "name": "CuiSharp.MenuOpts", "displayName": "MenuOpts", "kind": "struct", "summary": "Dropdown menu: a button that opens a menu. Items return true when chosen. All fields are optional; zero selects the native default.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "cui_button_variant variant" }, { "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement placement" }, { "name": "IconOnly", "kind": "field", "id": "field|IconOnly|0|0|bool|||ha338e8c8d1c6b6f843f2ac0c9673ab05d124e55bcb723e302ca438605f613acf", "signature": "public bool IconOnly", "summary": "an icon button (the ellipsis unless \u0060icon\u0060 is set) with the label as its tooltip" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float width" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.MetricOpts", "displayName": "MetricOpts", "kind": "struct", "summary": "cui_metric_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "LowerIsBetter", "kind": "field", "id": "field|LowerIsBetter|0|0|bool|||hdbb63017a214eb7f7b2818c5485cd80ae1d87f9c8fd20fc1e56e32d63eec76ee", "signature": "public bool LowerIsBetter", "summary": "build times, errors, latency: a fall is good news, shown in green" }, { "name": "Delta", "kind": "field", "id": "field|Delta|0|0|float|||h1e522b23e3d342dfeec52a69a0ca4f14b756c85114da059add23d2c403cf19e0", "signature": "public float Delta", "summary": "change shown beside the value with a trend arrow, as a percentage (4.2 shows \u002B4.2%); 0 hides it" }, { "name": "Spark", "kind": "field", "id": "field|Spark|0|0|float[]?|||hc9e1b6fccaebd6abaa47807970031bdfc70e61fc113b21ee950fb6f17590e6e1", "signature": "public float[]? Spark", "summary": "values for a sparkline under the value; needs at least 2" }, { "name": "DeltaLabel", "kind": "field", "id": "field|DeltaLabel|0|0|string?|||h8adc762344509f394ae06230bb6bc2bc963256ce9b575f04d462e1f7ed6ad15f", "signature": "public string? DeltaLabel", "summary": "text shown instead of the percentage, e.g. \u0022\u002B12 this week\u0022; \u0060delta\u0060 still sets arrow and color" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.Model", "displayName": "Model", "kind": "struct", "summary": "Model picker: the current model on a button; a list with details opens. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;string? Detail = null;string? Badge = null;string? Icon = null||h77344b8a557e720bbed7c2bdf438bbb0cf88b9304917ff297b2bce771b84a02b", "signature": "Model(string? Name, string? Detail = null, string? Badge = null, string? Icon = null)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Detail", "type": "string?", "default": "null" }, { "name": "Badge", "type": "string?", "default": "null" }, { "name": "Icon", "type": "string?", "default": "null" }] }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|string?|||he7e7c071afd35c021d23c003aca00c74fdf6fc42e693819ce02b70951ea38c8d", "signature": "public string? Badge", "summary": "small accent badge after the name, e.g. \u0022New\u0022; \u0060NULL\u0060 for none" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "smaller muted line under the name in the list, e.g. what the model is good at" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "shown on the button and as the row\u0027s heading in the list" }] }, + { "name": "CuiSharp.ModelPickerOpts", "displayName": "ModelPickerOpts", "kind": "struct", "summary": "Model picker: the current model on a button; a list with details opens. All fields are optional; zero selects the native default.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement placement" }, { "name": "Ghost", "kind": "field", "id": "field|Ghost|0|0|bool|||h9a0454fdd8bc7e4ba216478b4bc6a82cf83e57f56126c994723ed2f8139f5dbe", "signature": "public bool Ghost", "summary": "no border or fill on the button until hovered, for use inside another control" }] }, + { "name": "CuiSharp.Mods", "displayName": "Mods", "kind": "enum", "summary": "cui_mod", "members": [{ "name": "Alt", "kind": "enum value", "id": "enum value|Alt|1|0|||4|hbd31537ac8a6bc47e9d556e937a5f027cf645b28bc12825e5cbcf87e3ffc7ae2", "signature": "Alt = 4", "value": "4" }, { "name": "Ctrl", "kind": "enum value", "id": "enum value|Ctrl|1|0|||2|h9ba5357acc87d963a81a5da6fa5a6ca5d901cbf297d2f7db199110f0800a921a", "signature": "Ctrl = 2", "value": "2" }, { "name": "Primary", "kind": "enum value", "id": "enum value|Primary|1|0|||2|h0e4c408ff3df183ec6a5bda2a176eb76858f0b55c583a21318273b354abb4333", "signature": "Primary = 2", "value": "2" }, { "name": "Shift", "kind": "enum value", "id": "enum value|Shift|1|0|||1|hef4a9644eec61cac19c5aecdf0c8955bf41e2022cdf39cac85ad8329ce67c805", "signature": "Shift = 1", "value": "1" }, { "name": "Super", "kind": "enum value", "id": "enum value|Super|1|0|||8|h633fe5adaae4e192c0cc3c53dafe4009c85d114ee1d2afc4bd664d1fce2dfc11", "signature": "Super = 8", "summary": "Command on macOS, Windows key elsewhere", "value": "8" }] }, + { "name": "CuiSharp.MoneyOpts", "displayName": "MoneyOpts", "kind": "struct", "summary": "Money field: shows the amount with thousands separators, edits as plain digits, keeps a fixed number of decimals. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Decimals", "kind": "field", "id": "field|Decimals|0|0|int|||h1b738cb70bf917879f304fb58ce030898c555b54b73eb0e896589e3d0ec3d3b3", "signature": "public int Decimals", "summary": "int decimals" }, { "name": "Code", "kind": "field", "id": "field|Code|0|0|string?|||hde42c28fc8c88660f5826912133eb893ad7c711775687d27f968d87c856ed456", "signature": "public string? Code", "summary": "currency code after the amount, e.g. \u0022USD\u0022" }, { "name": "Hint", "kind": "field", "id": "field|Hint|0|0|string?|||h6e4db358e5bb7cc3e8ac0f128ae742d77d252775d935f95c1c7492d00fc7cd97", "signature": "public string? Hint", "summary": "helper text below the field" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }, { "name": "Symbol", "kind": "field", "id": "field|Symbol|0|0|string?|||h148cc6ccee7adb79b9d6d0102150b28b69a2c2e77159c167f5bba469c61f3818", "signature": "public string? Symbol", "summary": "currency symbol before the amount, default \u0022$\u0022" }] }, + { "name": "CuiSharp.MonthEvent", "displayName": "MonthEvent", "kind": "struct", "summary": "Month calendar: a month grid with events. All-day and multi-day events are bars across the days they cover; timed events are a dot, a time and a title. A day with more than fits says \u0022\u002BN more\u0022 and opens a list of them. On a narrow screen the cells show colored dots and the selected day\u0027s events are listed under the grid. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;Date Start = default;Date End = default;float Time = default;bool AllDay = default;Tone Tone = Tone.Neutral||h39acac260f7353bd50fbe047bedb9d573cff1edb74cabd3633c9b3c4db71b783", "signature": "MonthEvent(string? Title, Date Start = default, Date End = default, float Time = default, bool AllDay = default, Tone Tone = Tone.Neutral)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Start", "type": "Date", "default": "default" }, { "name": "End", "type": "Date", "default": "default" }, { "name": "Time", "type": "float", "default": "default" }, { "name": "AllDay", "type": "bool", "default": "default" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }] }, { "name": "End", "kind": "field", "id": "field|End|0|0|Date|||h2f89325764b6e561f40d25c0710559925a9d23b2f268dee7a53f0a4c0e99f15b", "signature": "public Date End", "summary": "inclusive; an unset or earlier end means one day" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|Date|||h5308fa14681e4e7754e3fa507d5ec9848904ff7bb147546c875b26a58cda5588", "signature": "public Date Start", "summary": "inclusive; an unset or earlier end means one day" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "AllDay", "kind": "field", "id": "field|AllDay|0|0|bool|||h733907b86017aed670b0a1c3b0adfedc3f2245e28cffba20fc22cc369b91e06e", "signature": "public bool AllDay", "summary": "a bar, like every event that spans days" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|float|||h15580e530959593ba26e1516c12ce319fbad5d5b9d84fe7810a722131f57f895", "signature": "public float Time", "summary": "hour of a timed event (9.5 is 9:30); ignored when all_day" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "shown on the event\u0027s bar, or after the time of a timed event" }] }, + { "name": "CuiSharp.MonthOpts", "displayName": "MonthOpts", "kind": "struct", "summary": "Month calendar: a month grid with events. All-day and multi-day events are bars across the days they cover; timed events are a dot, a time and a title. A day with more than fits says \u0022\u002BN more\u0022 and opens a list of them. On a narrow screen the cells show colored dots and the selected day\u0027s events are listed under the grid. All fields are optional; zero selects the native default.", "members": [{ "name": "Today", "kind": "field", "id": "field|Today|0|0|Date|||h4ddaac7f888b19523e879039fb8c7d4cd05d5d0b7b4ee66ac05e7cafabae2551", "signature": "public Date Today", "summary": "overrides the system date when set (another time zone, tests)" }, { "name": "Hour12", "kind": "field", "id": "field|Hour12|0|0|bool|||hde952b6b9440a2d05be1f1a294867e3314125c276408d4c22e63a6eb694793f1", "signature": "public bool Hour12", "summary": "9:30a rather than 9:30" }, { "name": "CellHeight", "kind": "field", "id": "field|CellHeight|0|0|float|||hf4309f4d2441e17367cb19c170e3dc8474ed98149a30e30cb2e5983a5f6da8b8", "signature": "public float CellHeight", "summary": "default 104, 44 on a phone" }, { "name": "FirstWeekday", "kind": "field", "id": "field|FirstWeekday|0|0|int|||h3ef476bd8d4650cc173a18a8ce98dacca1ff9beff34ac40ecbbf945c23df4199", "signature": "public int FirstWeekday", "summary": "0 Monday (default) .. 6 Sunday" }, { "name": "DayNames", "kind": "field", "id": "field|DayNames|0|0|string[]?|||h3e2e3113c7a30b96c60119dbd3e7ce6430b4e0ed18f6ecddd6942a868943a44c", "signature": "public string[]? DayNames", "summary": "7 short names, Monday first" }, { "name": "MonthNames", "kind": "field", "id": "field|MonthNames|0|0|string[]?|||h15bb3950293a7020197785285f9ed1e1b9fa2b0cd40063b23c31d8ef549a2a34", "signature": "public string[]? MonthNames", "summary": "12 names for another language, January first" }] }, + { "name": "CuiSharp.MonthResult", "displayName": "MonthResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Event;bool DayClicked = default;bool DayActivated = default;bool MonthChanged = default||heb24359c6e93e506b075fcdba19fd6fb03cf2bda8d5b475b3f0b4b53497c8a81", "signature": "MonthResult(int Event, bool DayClicked = default, bool DayActivated = default, bool MonthChanged = default)", "parameters": [{ "name": "Event", "type": "int" }, { "name": "DayClicked", "type": "bool", "default": "default" }, { "name": "DayActivated", "type": "bool", "default": "default" }, { "name": "MonthChanged", "type": "bool", "default": "default" }] }, { "name": "DayActivated", "kind": "field", "id": "field|DayActivated|0|0|bool|||h0acec02d7a457957bf2c9891ee8d06b56cc8a1295bd2f9abd73607c07a9cfc79", "signature": "public bool DayActivated", "summary": "double-clicked or Enter: add an event there" }, { "name": "DayClicked", "kind": "field", "id": "field|DayClicked|0|0|bool|||h2a8ce07c1d0c4e0e8a840ef9cd7740e9e71e7800450fdc3ca006456f32a2a514", "signature": "public bool DayClicked", "summary": "a day was clicked or moved to with the keys (see selected)" }, { "name": "MonthChanged", "kind": "field", "id": "field|MonthChanged|0|0|bool|||hbe6795ad5e09bd5c4c0026e468e42c35952d86f671a9ce005bae9d45205af4de", "signature": "public bool MonthChanged", "summary": "the arrows, Today or the keys changed *month" }, { "name": "Event", "kind": "field", "id": "field|Event|0|0|int|||hf874e9890201f2fa587b91d9d374afbc1ab3d09f700c4a38f45f91cafea69f11", "signature": "public int Event", "summary": "clicked event, or -1" }] }, { "name": "CuiSharp.MouseButton", "displayName": "MouseButton", "kind": "enum", "summary": "cui_mouse_button", "members": [{ "name": "Left", "kind": "enum value", "id": "enum value|Left|1|0|||0|hbe7aa7b592bed7bbd61d522a9f2403b9475421178f93cb513b79a7ddb0edae48", "signature": "Left = 0", "value": "0" }, { "name": "Middle", "kind": "enum value", "id": "enum value|Middle|1|0|||2|hb48ed983676e5a072c73ea7b5adc47987426b06a77359d8321d3cc8438e934f4", "signature": "Middle = 2", "value": "2" }, { "name": "Right", "kind": "enum value", "id": "enum value|Right|1|0|||1|ha49e326d8e596c96baeeb0893fa229748ba21aa2344fa6f87f2a08b5a9bb6b6b", "signature": "Right = 1", "value": "1" }] }, - { "name": "CuiSharp.MultiSelectOpts", "displayName": "MultiSelectOpts", "kind": "struct", "summary": "cui_multi_select_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Searchable", "kind": "field", "id": "field|Searchable|0|0|bool|||he07abb6a59c4f1b548e1e75a7d0a2b5775f298d1d816b82649be0aadf7f20bc5", "signature": "public bool Searchable", "summary": "_Bool searchable" }, { "name": "MaxChips", "kind": "field", "id": "field|MaxChips|0|0|int|||h5a257dc5993646fab646b8979966626c37e6b96141761792a36818501629ad17", "signature": "public int MaxChips", "summary": "chips before \u0022\u002BN\u0022, default 3" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|string[]?|||h94d3abfae1e4e3aa50724c6bacdb1588c24d26764115ffa57679ae941c7f8b22", "signature": "public string[]? Icons", "summary": "const char *const * icons" }] }, + { "name": "CuiSharp.MultiSelectOpts", "displayName": "MultiSelectOpts", "kind": "struct", "summary": "Multi-select: a field with chips for the chosen items and a list with checkboxes (and search). selected[i] is true for chosen items. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Searchable", "kind": "field", "id": "field|Searchable|0|0|bool|||he07abb6a59c4f1b548e1e75a7d0a2b5775f298d1d816b82649be0aadf7f20bc5", "signature": "public bool Searchable", "summary": "a search field at the top of the list that filters the items as you type" }, { "name": "MaxChips", "kind": "field", "id": "field|MaxChips|0|0|int|||h5a257dc5993646fab646b8979966626c37e6b96141761792a36818501629ad17", "signature": "public int MaxChips", "summary": "chips before \u0022\u002BN\u0022, default 3" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|string[]?|||h94d3abfae1e4e3aa50724c6bacdb1588c24d26764115ffa57679ae941c7f8b22", "signature": "public string[]? Icons", "summary": "const char *const * icons" }] }, { "name": "CuiSharp.NativeFileDialogProvider", "displayName": "NativeFileDialogProvider", "kind": "class", "summary": "The OS dialog, through CUI. This is what an app gets unless it supplies its own.", "members": [{ "name": "Pick", "kind": "method", "id": "method|Pick|0|0|FilePickResult|CuiWindow window;FileDialogOpts options||h9f867669da4a21c3b53bce004250b8d1847a0abeb5d7077e199bd76432ff6d37", "signature": "FilePickResult Pick(CuiWindow window, FileDialogOpts options)", "parameters": [{ "name": "window", "type": "CuiWindow" }, { "name": "options", "type": "FileDialogOpts" }] }, { "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||||h49319a3310167653083d957024f735ba37a664463111e4301604d963a480f641", "signature": "NativeFileDialogProvider()" }, { "name": "Instance", "kind": "property", "id": "property|Instance|1|0|NativeFileDialogProvider||get;|hdb5dfd82ab8e7302592f98a044ea242b45c550f7a12409b68383013ab3c9ce5f", "signature": "static NativeFileDialogProvider Instance { get; }", "summary": "Shares the one implementation, which holds no state." }] }, - { "name": "CuiSharp.NavOpts", "displayName": "NavOpts", "kind": "struct", "summary": "cui_nav_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Selected", "kind": "field", "id": "field|Selected|0|0|bool|||ha8f1fe2a399f368a574176637903c3d9775d632126ad3ed2ba7d99d9787055da", "signature": "public bool Selected", "summary": "_Bool selected" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|string?|||he7e7c071afd35c021d23c003aca00c74fdf6fc42e693819ce02b70951ea38c8d", "signature": "public string? Badge", "summary": "const char * badge" }, { "name": "Group", "kind": "field", "id": "field|Group|0|0|string?|||hf3da4970c81056945d7238681c51ca4ab28004c0ca941fabfe885256c6388d9b", "signature": "public string? Group", "summary": "const char * group" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, - { "name": "CuiSharp.NetRequest", "displayName": "NetRequest", "kind": "struct", "summary": "cui_net_request. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;string? Method = null;int Status = default;string? Type = null;double Size = default;double Start = default;float[]? Timing = null||h363a19c2efa88c581ac3795fbf54709ed4c2f3c49306d9b62e97b1cf4daf874c", "signature": "NetRequest(string? Name, string? Method = null, int Status = default, string? Type = null, double Size = default, double Start = default, float[]? Timing = null)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Method", "type": "string?", "default": "null" }, { "name": "Status", "type": "int", "default": "default" }, { "name": "Type", "type": "string?", "default": "null" }, { "name": "Size", "type": "double", "default": "default" }, { "name": "Start", "type": "double", "default": "default" }, { "name": "Timing", "type": "float[]?", "default": "null" }] }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|double|||h7b5849893687f979193405168798960c297b79687570ed452c529a187133d42f", "signature": "public double Size", "summary": "bytes transferred" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "seconds from the start of the page" }, { "name": "Timing", "kind": "field", "id": "field|Timing|0|0|float[]?|||hd135f088c5510056d2faa184de202fd2432165878bc79d42ae4f93dad8e70251", "signature": "public float[]? Timing", "summary": "seconds: queued, dns, connect, tls, waiting, download" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|int|||hcc92df3b247bff320f1b619f5ff854b64fdb1ce369fb4396a12c2d29bb6a04d8", "signature": "public int Status", "summary": "0 while pending or when it failed" }, { "name": "Method", "kind": "field", "id": "field|Method|0|0|string?|||h43edb6c576a75b56573640fa1b3c3165aeef627fe5c8abe6714ca10bf2480613", "signature": "public string? Method", "summary": "\u0022GET\u0022" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "path or URL; the last part is shown" }, { "name": "Type", "kind": "field", "id": "field|Type|0|0|string?|||hd13f10c6a1a43e5dad4e56f1c9942eeda7e31c88858c2d5b682e8c3bf87faf1f", "signature": "public string? Type", "summary": "\u0022fetch\u0022, \u0022script\u0022, \u0022image\u0022..." }] }, - { "name": "CuiSharp.NodeEditorOpts", "displayName": "NodeEditorOpts", "kind": "struct", "summary": "cui_node_editor_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default: fill the width, 440 tall" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default: fill the width, 440 tall" }, { "name": "Minimap", "kind": "field", "id": "field|Minimap|0|0|bool|||h91fd5e33468d3c229fcb0ed2e9fb28bfdc5efafe51ff5aa1bfe64751e4cfd2b1", "signature": "public bool Minimap", "summary": "an overview of the graph in the bottom right corner; click it to move there" }, { "name": "NoGrid", "kind": "field", "id": "field|NoGrid|0|0|bool|||h3235658a755bd4564629364c715a172c1b27a0be758c9a47167e63c08938a56d", "signature": "public bool NoGrid", "summary": "_Bool no_grid" }, { "name": "MaxZoom", "kind": "field", "id": "field|MaxZoom|0|0|float|||hce7b521ad509796f5171145038456d5846fb43275f5ab2bd1dd22e941b179f55", "signature": "public float MaxZoom", "summary": "default 0.25 .. 2" }, { "name": "MinZoom", "kind": "field", "id": "field|MinZoom|0|0|float|||h29a9b1097fc3444e1615953dab0039e9cc2b1daf864d629ecf3057778d2512c1", "signature": "public float MinZoom", "summary": "default 0.25 .. 2" }] }, - { "name": "CuiSharp.NodeOpts", "displayName": "NodeOpts", "kind": "struct", "summary": "cui_node_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "width default 184" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "width default 184" }] }, - { "name": "CuiSharp.NodeView", "displayName": "NodeView", "kind": "struct", "summary": "cui_node_view. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float X;float Y = default;float Zoom = default||h4f09583e7e954efae5f3260f31684e5139214de10736978ab2039f088f7a47e1", "signature": "NodeView(float X, float Y = default, float Zoom = default)", "parameters": [{ "name": "X", "type": "float" }, { "name": "Y", "type": "float", "default": "default" }, { "name": "Zoom", "type": "float", "default": "default" }] }, { "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "pan in points; zoom 0 means 1" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "pan in points; zoom 0 means 1" }, { "name": "Zoom", "kind": "field", "id": "field|Zoom|0|0|float|||h15d1ab2e6f15237e95efde0c028fdb5a985bc69724f9d1c2dfbc7d04a92a3d84", "signature": "public float Zoom", "summary": "pan in points; zoom 0 means 1" }] }, + { "name": "CuiSharp.NavOpts", "displayName": "NavOpts", "kind": "struct", "summary": "Sidebar navigation item with a gliding selection highlight shared by all items in the same group. All fields are optional; zero selects the native default.", "members": [{ "name": "Selected", "kind": "field", "id": "field|Selected|0|0|bool|||ha8f1fe2a399f368a574176637903c3d9775d632126ad3ed2ba7d99d9787055da", "signature": "public bool Selected", "summary": "the current page: medium weight text, and the group\u0027s highlight glides to it" }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|string?|||he7e7c071afd35c021d23c003aca00c74fdf6fc42e693819ce02b70951ea38c8d", "signature": "public string? Badge", "summary": "small text at the right edge of the item, e.g. a count" }, { "name": "Group", "kind": "field", "id": "field|Group|0|0|string?|||hf3da4970c81056945d7238681c51ca4ab28004c0ca941fabfe885256c6388d9b", "signature": "public string? Group", "summary": "items with the same group name share one highlight; \u0060NULL\u0060 puts them in one common group" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.NetRequest", "displayName": "NetRequest", "kind": "struct", "summary": "HTTP requests as a table with a timing bar each: queued, DNS, connect, TLS, waiting for the first byte and downloading, on one time scale with the page\u0027s DOMContentLoaded and load lines. Hover a bar for the breakdown. Narrow panels drop the type and size columns. Only the rows in view are built. Up and Down move the selection. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;string? Method = null;int Status = default;string? Type = null;double Size = default;double Start = default;float[]? Timing = null||h363a19c2efa88c581ac3795fbf54709ed4c2f3c49306d9b62e97b1cf4daf874c", "signature": "NetRequest(string? Name, string? Method = null, int Status = default, string? Type = null, double Size = default, double Start = default, float[]? Timing = null)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Method", "type": "string?", "default": "null" }, { "name": "Status", "type": "int", "default": "default" }, { "name": "Type", "type": "string?", "default": "null" }, { "name": "Size", "type": "double", "default": "default" }, { "name": "Start", "type": "double", "default": "default" }, { "name": "Timing", "type": "float[]?", "default": "null" }] }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|double|||h7b5849893687f979193405168798960c297b79687570ed452c529a187133d42f", "signature": "public double Size", "summary": "bytes transferred" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "seconds from the start of the page" }, { "name": "Timing", "kind": "field", "id": "field|Timing|0|0|float[]?|||hd135f088c5510056d2faa184de202fd2432165878bc79d42ae4f93dad8e70251", "signature": "public float[]? Timing", "summary": "seconds: queued, dns, connect, tls, waiting, download" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|int|||hcc92df3b247bff320f1b619f5ff854b64fdb1ce369fb4396a12c2d29bb6a04d8", "signature": "public int Status", "summary": "0 while pending or when it failed" }, { "name": "Method", "kind": "field", "id": "field|Method|0|0|string?|||h43edb6c576a75b56573640fa1b3c3165aeef627fe5c8abe6714ca10bf2480613", "signature": "public string? Method", "summary": "\u0022GET\u0022" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "path or URL; the last part is shown" }, { "name": "Type", "kind": "field", "id": "field|Type|0|0|string?|||hd13f10c6a1a43e5dad4e56f1c9942eeda7e31c88858c2d5b682e8c3bf87faf1f", "signature": "public string? Type", "summary": "\u0022fetch\u0022, \u0022script\u0022, \u0022image\u0022..." }] }, + { "name": "CuiSharp.NodeEditorOpts", "displayName": "NodeEditorOpts", "kind": "struct", "summary": "Node editor: nodes with input and output pins on a canvas that pans and zooms, joined by curved links. You own the nodes, pins and links; the editor moves the node positions you pass and reports what the user did: All fields are optional; zero selects the native default.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default: fill the width, 440 tall" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default: fill the width, 440 tall" }, { "name": "Minimap", "kind": "field", "id": "field|Minimap|0|0|bool|||h91fd5e33468d3c229fcb0ed2e9fb28bfdc5efafe51ff5aa1bfe64751e4cfd2b1", "signature": "public bool Minimap", "summary": "an overview of the graph in the bottom right corner; click it to move there" }, { "name": "NoGrid", "kind": "field", "id": "field|NoGrid|0|0|bool|||h3235658a755bd4564629364c715a172c1b27a0be758c9a47167e63c08938a56d", "signature": "public bool NoGrid", "summary": "_Bool no_grid" }, { "name": "MaxZoom", "kind": "field", "id": "field|MaxZoom|0|0|float|||hce7b521ad509796f5171145038456d5846fb43275f5ab2bd1dd22e941b179f55", "signature": "public float MaxZoom", "summary": "default 0.25 .. 2" }, { "name": "MinZoom", "kind": "field", "id": "field|MinZoom|0|0|float|||h29a9b1097fc3444e1615953dab0039e9cc2b1daf864d629ecf3057778d2512c1", "signature": "public float MinZoom", "summary": "default 0.25 .. 2" }] }, + { "name": "CuiSharp.NodeOpts", "displayName": "NodeOpts", "kind": "struct", "summary": "A node at canvas position (*x, *y), updated while it is dragged. Returns true while the node is selected. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "width default 184" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "width default 184" }] }, + { "name": "CuiSharp.NodeView", "displayName": "NodeView", "kind": "struct", "summary": "Node editor: nodes with input and output pins on a canvas that pans and zooms, joined by curved links. You own the nodes, pins and links; the editor moves the node positions you pass and reports what the user did: Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float X;float Y = default;float Zoom = default||h4f09583e7e954efae5f3260f31684e5139214de10736978ab2039f088f7a47e1", "signature": "NodeView(float X, float Y = default, float Zoom = default)", "parameters": [{ "name": "X", "type": "float" }, { "name": "Y", "type": "float", "default": "default" }, { "name": "Zoom", "type": "float", "default": "default" }] }, { "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "where the canvas origin sits, in points from the editor\u0027s left edge; panning changes it" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "where the canvas origin sits, in points from the editor\u0027s top edge" }, { "name": "Zoom", "kind": "field", "id": "field|Zoom|0|0|float|||h15d1ab2e6f15237e95efde0c028fdb5a985bc69724f9d1c2dfbc7d04a92a3d84", "signature": "public float Zoom", "summary": "scale of the canvas; 0 means 1. Kept between \u0060min_zoom\u0060 and \u0060max_zoom\u0060" }] }, { "name": "CuiSharp.NormalizeMode", "displayName": "NormalizeMode", "kind": "enum", "summary": "How a chart scales each series against its own baseline, so series of very different magnitudes can be compared by shape. A baseline is the first finite nonzero sample of the series; see ChartNormalizer for the exact rules.", "members": [{ "name": "Index100", "kind": "enum value", "id": "enum value|Index100|1|0|||1|h5f7bef48f5c460a2cad08f7d327f678d1e95344d379c9b4bc93f5869bcf174d6", "signature": "Index100 = 1", "summary": "Rebase to 100 at the baseline, like a total-return index: 100 is \u0022unchanged\u0022.", "value": "1" }, { "name": "None", "kind": "enum value", "id": "enum value|None|1|0|||0|h9e4e72abf0eaa3b853206f4d9ea0b0faabef40a12ba47974d4328c3a5bbf4faa", "signature": "None = 0", "summary": "No scaling: the samples are drawn as they are.", "value": "0" }, { "name": "Percent", "kind": "enum value", "id": "enum value|Percent|1|0|||2|h2153b9f4e108f6af3c957d56a5679cd80a26264ad0dd0396b776495ec07566c2", "signature": "Percent = 2", "summary": "Percent change from the baseline: 0 is \u0022unchanged\u0022.", "value": "2" }] }, - { "name": "CuiSharp.NowPlayingOpts", "displayName": "NowPlayingOpts", "kind": "struct", "summary": "cui_now_playing_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|bool|||h5a2127a1e548266f50dbac415de28c4f38d4739bc0238184acf147186e6e67f6", "signature": "public bool Compact", "summary": "_Bool compact" }] }, - { "name": "CuiSharp.NowPlayingState", "displayName": "NowPlayingState", "kind": "struct", "summary": "cui_now_playing. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Artist = null;ulong Art = default;Color ArtColor = default;float Position = default;float Duration = default;bool Playing = default||hbb9e94dbc0e87767dd3aa06e23d7f01d947304dca3824a060aa52b74fb96da1e", "signature": "NowPlayingState(string? Title, string? Artist = null, ulong Art = default, Color ArtColor = default, float Position = default, float Duration = default, bool Playing = default)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Artist", "type": "string?", "default": "null" }, { "name": "Art", "type": "ulong", "default": "default" }, { "name": "ArtColor", "type": "Color", "default": "default" }, { "name": "Position", "type": "float", "default": "default" }, { "name": "Duration", "type": "float", "default": "default" }, { "name": "Playing", "type": "bool", "default": "default" }] }, { "name": "ArtColor", "kind": "field", "id": "field|ArtColor|0|0|Color|||h244eb7cccbf77df1ddb22633c7fd350f094198b6b2aadf2578281d01374036e8", "signature": "public Color ArtColor", "summary": "cui_color art_color" }, { "name": "Playing", "kind": "field", "id": "field|Playing|0|0|bool|||hdf6871b87f5c865fbbb8cb1ba249b1a8417a1a2fd21b6fe9e7d44948808de1af", "signature": "public bool Playing", "summary": "_Bool playing" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "float duration" }, { "name": "Position", "kind": "field", "id": "field|Position|0|0|float|||hd7fd432a49838186bd7a06ec98a4843ede3007d3a1803ab3581dabd884c9c313", "signature": "public float Position", "summary": "float position" }, { "name": "Artist", "kind": "field", "id": "field|Artist|0|0|string?|||h07dabe513fac6496756425c36fdb68907748dada03582ca5fa245ec67ec449d2", "signature": "public string? Artist", "summary": "const char * artist" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }, { "name": "Art", "kind": "field", "id": "field|Art|0|0|ulong|||h19abe1aca1c372b5d71e6ee5c212ee79fe340cde357d6c23bf3af4a305f7caba", "signature": "public ulong Art", "summary": "cui_texture art" }] }, - { "name": "CuiSharp.NumberOpts", "displayName": "NumberOpts", "kind": "struct", "summary": "cui_number_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|double|||h44b63c009d1e13f96b6beedec59bbb32a22e099dcdc403d6954e0407657f670a", "signature": "public double Step", "summary": "double step" }, { "name": "Decimals", "kind": "field", "id": "field|Decimals|0|0|int|||h1b738cb70bf917879f304fb58ce030898c555b54b73eb0e896589e3d0ec3d3b3", "signature": "public int Decimals", "summary": "int decimals" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|string?|||h2c79c464acb56463b20bda4e8b606074d49aaf774f54ac687c0b7a5ece4147df", "signature": "public string? Suffix", "summary": "const char * suffix" }] }, + { "name": "CuiSharp.NowPlayingOpts", "displayName": "NowPlayingOpts", "kind": "struct", "summary": "Now playing card: artwork, title, artist, a scrubber and transport buttons. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|bool|||h5a2127a1e548266f50dbac415de28c4f38d4739bc0238184acf147186e6e67f6", "signature": "public bool Compact", "summary": "smaller artwork and padding, and no previous button" }] }, + { "name": "CuiSharp.NowPlayingState", "displayName": "NowPlayingState", "kind": "struct", "summary": "Now playing card: artwork, title, artist, a scrubber and transport buttons. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Artist = null;ulong Art = default;Color ArtColor = default;float Position = default;float Duration = default;bool Playing = default||hbb9e94dbc0e87767dd3aa06e23d7f01d947304dca3824a060aa52b74fb96da1e", "signature": "NowPlayingState(string? Title, string? Artist = null, ulong Art = default, Color ArtColor = default, float Position = default, float Duration = default, bool Playing = default)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Artist", "type": "string?", "default": "null" }, { "name": "Art", "type": "ulong", "default": "default" }, { "name": "ArtColor", "type": "Color", "default": "default" }, { "name": "Position", "type": "float", "default": "default" }, { "name": "Duration", "type": "float", "default": "default" }, { "name": "Playing", "type": "bool", "default": "default" }] }, { "name": "ArtColor", "kind": "field", "id": "field|ArtColor|0|0|Color|||h244eb7cccbf77df1ddb22633c7fd350f094198b6b2aadf2578281d01374036e8", "signature": "public Color ArtColor", "summary": "color of the tile behind (or in place of) the artwork" }, { "name": "Playing", "kind": "field", "id": "field|Playing|0|0|bool|||hdf6871b87f5c865fbbb8cb1ba249b1a8417a1a2fd21b6fe9e7d44948808de1af", "signature": "public bool Playing", "summary": "shows pause instead of play; the play button flips it" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "length of the track in seconds" }, { "name": "Position", "kind": "field", "id": "field|Position|0|0|float|||hd7fd432a49838186bd7a06ec98a4843ede3007d3a1803ab3581dabd884c9c313", "signature": "public float Position", "summary": "seconds played; written when the user seeks" }, { "name": "Artist", "kind": "field", "id": "field|Artist|0|0|string?|||h07dabe513fac6496756425c36fdb68907748dada03582ca5fa245ec67ec449d2", "signature": "public string? Artist", "summary": "shown under the title" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "name of the track, in medium weight" }, { "name": "Art", "kind": "field", "id": "field|Art|0|0|ulong|||h19abe1aca1c372b5d71e6ee5c212ee79fe340cde357d6c23bf3af4a305f7caba", "signature": "public ulong Art", "summary": "artwork texture; 0 shows a tile in \u0060art_color\u0060 with a note icon" }] }, + { "name": "CuiSharp.NumberOpts", "displayName": "NumberOpts", "kind": "struct", "summary": "cui_number_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|double|||h44b63c009d1e13f96b6beedec59bbb32a22e099dcdc403d6954e0407657f670a", "signature": "public double Step", "summary": "double step" }, { "name": "Decimals", "kind": "field", "id": "field|Decimals|0|0|int|||h1b738cb70bf917879f304fb58ce030898c555b54b73eb0e896589e3d0ec3d3b3", "signature": "public int Decimals", "summary": "int decimals" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|string?|||h2c79c464acb56463b20bda4e8b606074d49aaf774f54ac687c0b7a5ece4147df", "signature": "public string? Suffix", "summary": "muted text after the value, before the - and \u002B buttons, e.g. \u0022kg\u0022" }] }, { "name": "CuiSharp.OpenScope", "displayName": "OpenScope", "kind": "ref struct", "summary": "A conditional container. Use using var scope = \u2026; if (scope) { \u2026 }.", "members": [{ "name": "Open", "kind": "property", "id": "property|Open|0|0|bool||get;|h6f230c8664d026604496adcaeb16e6ee760fdae9254fd2f5c98a7b49ae4549e6", "signature": "bool Open { get; }", "summary": "Whether the native container opened and its body should be drawn." }, { "name": "implicit operator bool", "kind": "conversion", "id": "conversion|op_Implicit|1|0|bool|OpenScope scope||ha3f24f17d003f9819102f485eb8ea795e3cdbdfd9a7779996b7ddb7445f92c2b", "signature": "static implicit operator bool(OpenScope scope)", "member": "op_Implicit", "parameters": [{ "name": "scope", "type": "OpenScope" }], "summary": "Tests whether the body should be drawn." }, { "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()", "summary": "Closes the container only if it opened." }] }, { "name": "CuiSharp.PaintFn", "displayName": "PaintFn", "kind": "delegate", "summary": "A canvas painter, invoked after layout with a fresh stack-only UI value.", "members": [{ "name": "BeginInvoke", "kind": "method", "id": "method|BeginInvoke|0|0|IAsyncResult|Ui ui;RectF rect;AsyncCallback callback;object object||hd1cb9625acad153c3c617f4a807c644656ea9aea371cc8374146177d63e409d4", "signature": "IAsyncResult BeginInvoke(Ui ui, RectF rect, AsyncCallback callback, object @object)", "parameters": [{ "name": "ui", "type": "Ui" }, { "name": "rect", "type": "RectF" }, { "name": "callback", "type": "AsyncCallback" }, { "name": "object", "type": "object" }] }, { "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||object object;nint method||h5b7bac8ff65ff761901fd9c3234b2d0701314e7fa30a78cd84b7c5176edd3e0d", "signature": "PaintFn(object @object, nint method)", "parameters": [{ "name": "object", "type": "object" }, { "name": "method", "type": "nint" }] }, { "name": "EndInvoke", "kind": "method", "id": "method|EndInvoke|0|0|void|IAsyncResult result||h477a5257f2f4c2172e54e854d9bc2f5c7bb790dade430a493c5a1c7d25248214", "signature": "void EndInvoke(IAsyncResult result)", "parameters": [{ "name": "result", "type": "IAsyncResult" }] }, { "name": "Invoke", "kind": "method", "id": "method|Invoke|0|0|void|Ui ui;RectF rect||hfa6527aba7d9f93374c5eb721cc5288568b084d05d6e4697f034a81326571b2a", "signature": "void Invoke(Ui ui, RectF rect)", "parameters": [{ "name": "ui", "type": "Ui" }, { "name": "rect", "type": "RectF" }] }] }, - { "name": "CuiSharp.PathBarOpts", "displayName": "PathBarOpts", "kind": "struct", "summary": "cui_path_bar_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "Menus", "kind": "field", "id": "field|Menus|0|0|bool|||h289bddb311246ca876859a205e5f81cc2870db62c5217694981239fde27b7d7b", "signature": "public bool Menus", "summary": "separators open a menu of the next segment\u0027s siblings" }, { "name": "NoEdit", "kind": "field", "id": "field|NoEdit|0|0|bool|||ha3bd0df1896a5ea75bedca8344056a60172b60916f05917d9637a1c21b3348a1", "signature": "public bool NoEdit", "summary": "no text mode" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "before the first segment" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }, { "name": "Text", "kind": "field", "id": "field|Text|0|0|string?|||h1d596481f0534ef4670b109aa09a18150844b650eb6d98ed99b486585a9b119f", "signature": "public string? Text", "summary": "what editing starts with, default the segments joined by \u0022/\u0022" }] }, - { "name": "CuiSharp.PathBarResult", "displayName": "PathBarResult", "kind": "struct", "summary": "cui_path_bar_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Clicked;string? Submitted = null;bool Editing = default||h38c6b295cd2ce16cd3875f32827c2cfd8543b5c5446014331fec112c69cdebfe", "signature": "PathBarResult(int Clicked, string? Submitted = null, bool Editing = default)", "parameters": [{ "name": "Clicked", "type": "int" }, { "name": "Submitted", "type": "string?", "default": "null" }, { "name": "Editing", "type": "bool", "default": "default" }] }, { "name": "Editing", "kind": "field", "id": "field|Editing|0|0|bool|||hf6da8912c99ee0eb02d64cb361db4ad7c5648ed260c587b4f2b39cdd5515b8bb", "signature": "public bool Editing", "summary": "_Bool editing" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "segment clicked (here or in the \u0022...\u0022 menu), else -1" }, { "name": "Submitted", "kind": "field", "id": "field|Submitted|0|0|string?|||hbd70346b1db65285e15a9439e2c1153bea12b0603a582388ffe3e0368249c370", "signature": "public string? Submitted", "summary": "the typed path after Enter, else NULL; valid this frame" }] }, - { "name": "CuiSharp.PinOpts", "displayName": "PinOpts", "kind": "struct", "summary": "cui_pin_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Type", "kind": "field", "id": "field|Type|0|0|int|||h291cfcf7e8be08751051d80452d4ba9737270b48802d5b353cb8f86b5c8d4c2a", "signature": "public int Type", "summary": "int type" }] }, - { "name": "CuiSharp.PipelineJob", "displayName": "PipelineJob", "kind": "struct", "summary": "cui_pipeline_job. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;int Stage = default;JobStatus Status = JobStatus.Pending;float Duration = default;bool AllowFailure = default||hf1d70c487faa81899160b80600c3418d3c007842940d27bbfede44daf45aa8f8", "signature": "PipelineJob(string? Name, int Stage = default, JobStatus Status = JobStatus.Pending, float Duration = default, bool AllowFailure = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Stage", "type": "int", "default": "default" }, { "name": "Status", "type": "JobStatus", "default": "JobStatus.Pending" }, { "name": "Duration", "type": "float", "default": "default" }, { "name": "AllowFailure", "type": "bool", "default": "default" }] }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|JobStatus|||h8dbfd9370caabecd55d2b859321b59d6a4ee052ab7364783aff88cbd0eff2901", "signature": "public JobStatus Status", "summary": "cui_job_status status" }, { "name": "AllowFailure", "kind": "field", "id": "field|AllowFailure|0|0|bool|||h24c9847020a78476426dad2b6b095d67d1a9a130d38c4c5e3be5532607a0ba1f", "signature": "public bool AllowFailure", "summary": "a failure does not fail the stage" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "seconds; negative when it has not run" }, { "name": "Stage", "kind": "field", "id": "field|Stage|0|0|int|||h6fc576c7f16ed80d38f61828b33d23fb8c2ef709dfff4121d292da2de39e7868", "signature": "public int Stage", "summary": "index into the stage names" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }] }, - { "name": "CuiSharp.PipelineOpts", "displayName": "PipelineOpts", "kind": "struct", "summary": "cui_pipeline_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "job shown selected, set on a click" }] }, - { "name": "CuiSharp.PipelineResult", "displayName": "PipelineResult", "kind": "struct", "summary": "cui_pipeline_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Clicked;int Hovered = default||ha08a55a9bdd30e063c3836c583a82e4211ac87856c7365e728fe3ab0e85355cd", "signature": "PipelineResult(int Clicked, int Hovered = default)", "parameters": [{ "name": "Clicked", "type": "int" }, { "name": "Hovered", "type": "int", "default": "default" }] }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "job indices, or -1" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "job indices, or -1" }] }, + { "name": "CuiSharp.PathBarOpts", "displayName": "PathBarOpts", "kind": "struct", "summary": "Path bar: a breadcrumb for file and scene paths. Segments are clickable, the last one is the current place. Middle segments that do not fit collapse into a \u0022...\u0022 menu. With .menus, the chevron after segment k opens a menu you fill with the children of segment k (cui_path_bar_menu_begin). Click the empty part (or the current segment), or press Ctrl\u002BL, to type a path: Enter submits it, Esc or clicking away cancels. All fields are optional; zero selects the native default.", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "Menus", "kind": "field", "id": "field|Menus|0|0|bool|||h289bddb311246ca876859a205e5f81cc2870db62c5217694981239fde27b7d7b", "signature": "public bool Menus", "summary": "separators open a menu of the next segment\u0027s siblings" }, { "name": "NoEdit", "kind": "field", "id": "field|NoEdit|0|0|bool|||ha3bd0df1896a5ea75bedca8344056a60172b60916f05917d9637a1c21b3348a1", "signature": "public bool NoEdit", "summary": "no text mode" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "before the first segment" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }, { "name": "Text", "kind": "field", "id": "field|Text|0|0|string?|||h1d596481f0534ef4670b109aa09a18150844b650eb6d98ed99b486585a9b119f", "signature": "public string? Text", "summary": "what editing starts with, default the segments joined by \u0022/\u0022" }] }, + { "name": "CuiSharp.PathBarResult", "displayName": "PathBarResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Clicked;string? Submitted = null;bool Editing = default||h38c6b295cd2ce16cd3875f32827c2cfd8543b5c5446014331fec112c69cdebfe", "signature": "PathBarResult(int Clicked, string? Submitted = null, bool Editing = default)", "parameters": [{ "name": "Clicked", "type": "int" }, { "name": "Submitted", "type": "string?", "default": "null" }, { "name": "Editing", "type": "bool", "default": "default" }] }, { "name": "Editing", "kind": "field", "id": "field|Editing|0|0|bool|||hf6da8912c99ee0eb02d64cb361db4ad7c5648ed260c587b4f2b39cdd5515b8bb", "signature": "public bool Editing", "summary": "the bar is showing its text field for typing a path" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "segment clicked (here or in the \u0022...\u0022 menu), else -1" }, { "name": "Submitted", "kind": "field", "id": "field|Submitted|0|0|string?|||hbd70346b1db65285e15a9439e2c1153bea12b0603a582388ffe3e0368249c370", "signature": "public string? Submitted", "summary": "the typed path after Enter, else NULL; valid this frame" }] }, + { "name": "CuiSharp.PinOpts", "displayName": "PinOpts", "kind": "struct", "summary": "A row with a pin on the left (input) or right (output). type picks the pin color from the series palette and limits links to pins of the same type (0 connects to anything). Returns true when the pin has a link. All fields are optional; zero selects the native default.", "members": [{ "name": "Type", "kind": "field", "id": "field|Type|0|0|int|||h291cfcf7e8be08751051d80452d4ba9737270b48802d5b353cb8f86b5c8d4c2a", "signature": "public int Type", "summary": "0 links to any pin; another number links only to pins of that type and picks their color" }] }, + { "name": "CuiSharp.PipelineJob", "displayName": "PipelineJob", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;int Stage = default;JobStatus Status = JobStatus.Pending;float Duration = default;bool AllowFailure = default||hf1d70c487faa81899160b80600c3418d3c007842940d27bbfede44daf45aa8f8", "signature": "PipelineJob(string? Name, int Stage = default, JobStatus Status = JobStatus.Pending, float Duration = default, bool AllowFailure = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Stage", "type": "int", "default": "default" }, { "name": "Status", "type": "JobStatus", "default": "JobStatus.Pending" }, { "name": "Duration", "type": "float", "default": "default" }, { "name": "AllowFailure", "type": "bool", "default": "default" }] }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|JobStatus|||h8dbfd9370caabecd55d2b859321b59d6a4ee052ab7364783aff88cbd0eff2901", "signature": "public JobStatus Status", "summary": "cui_job_status status" }, { "name": "AllowFailure", "kind": "field", "id": "field|AllowFailure|0|0|bool|||h24c9847020a78476426dad2b6b095d67d1a9a130d38c4c5e3be5532607a0ba1f", "signature": "public bool AllowFailure", "summary": "a failure does not fail the stage" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "seconds; negative when it has not run" }, { "name": "Stage", "kind": "field", "id": "field|Stage|0|0|int|||h6fc576c7f16ed80d38f61828b33d23fb8c2ef709dfff4121d292da2de39e7868", "signature": "public int Stage", "summary": "index into the stage names" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "shown on the job\u0027s row and in its tooltip" }] }, + { "name": "CuiSharp.PipelineOpts", "displayName": "PipelineOpts", "kind": "struct", "summary": "cui_pipeline_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "job shown selected, set on a click" }] }, + { "name": "CuiSharp.PipelineResult", "displayName": "PipelineResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Clicked;int Hovered = default||ha08a55a9bdd30e063c3836c583a82e4211ac87856c7365e728fe3ab0e85355cd", "signature": "PipelineResult(int Clicked, int Hovered = default)", "parameters": [{ "name": "Clicked", "type": "int" }, { "name": "Hovered", "type": "int", "default": "default" }] }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "job clicked this frame (or chosen with Enter or Space), or -1" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "job under the pointer, or -1" }] }, { "name": "CuiSharp.PixelFormat", "displayName": "PixelFormat", "kind": "enum", "summary": "Pixel layout for Render.", "members": [{ "name": "Bgra", "kind": "enum value", "id": "enum value|Bgra|1|0|||1|h8c5e5d26ea6e8313039382a525db7a512308017c8b8b62061deaa37e7c202df4", "signature": "Bgra = 1", "summary": "Bytes B, G, R, A (Win32 DIBs, and what most framebuffers want).", "value": "1" }, { "name": "Rgba", "kind": "enum value", "id": "enum value|Rgba|1|0|||0|hc7fcacd0ab678cc1579948fc3eb8e07774063388065bdc4edb7957d68b3a2efa", "signature": "Rgba = 0", "summary": "Bytes R, G, B, A.", "value": "0" }] }, { "name": "CuiSharp.Placement", "displayName": "Placement", "kind": "enum", "summary": "cui_placement", "members": [{ "name": "Bottom", "kind": "enum value", "id": "enum value|Bottom|1|0|||1|h997cd45c98b3147942efa729e07c36fa2f0a30a89e304cf6991322e27b322ed0", "signature": "Bottom = 1", "value": "1" }, { "name": "BottomEnd", "kind": "enum value", "id": "enum value|BottomEnd|1|0|||2|h9b6b149aa7bac6706bdda2c808067687e645210e40450cd3abacbb40c79e25b2", "signature": "BottomEnd = 2", "value": "2" }, { "name": "BottomStart", "kind": "enum value", "id": "enum value|BottomStart|1|0|||0|h5234647b992b2dafe2011a0d8f8a813ae3840a6c0f1b640e82975bd758cb8966", "signature": "BottomStart = 0", "value": "0" }, { "name": "Left", "kind": "enum value", "id": "enum value|Left|1|0|||9|h41840e9c8028f2df892da2d80c3f6762f6c5a25e4d22db24f23eb24d549ee2a7", "signature": "Left = 9", "value": "9" }, { "name": "LeftStart", "kind": "enum value", "id": "enum value|LeftStart|1|0|||7|h0f631620b393d113fcc13f4ab100e52f8fd3e28bd6b85b94eb0128bba2310875", "signature": "LeftStart = 7", "value": "7" }, { "name": "Right", "kind": "enum value", "id": "enum value|Right|1|0|||8|h1b98d7a43dddc2834373bc7c9487a6f1fba5e78b6322e5e7acc8b1f42176a50e", "signature": "Right = 8", "value": "8" }, { "name": "RightStart", "kind": "enum value", "id": "enum value|RightStart|1|0|||6|hb88f595137f2657a29c127ce18f43ccdb828957e04f3d832a997f81c4e5d54a3", "signature": "RightStart = 6", "value": "6" }, { "name": "Top", "kind": "enum value", "id": "enum value|Top|1|0|||4|h0634112b52bc85364fae2088535e4a22f7edcfaeca6c1b7e6feb028c823633f5", "signature": "Top = 4", "value": "4" }, { "name": "TopEnd", "kind": "enum value", "id": "enum value|TopEnd|1|0|||5|h1f8031a858198c43f8ef481f5c46a4df5d1b7cd68e9fe3594f519f79a5210629", "signature": "TopEnd = 5", "value": "5" }, { "name": "TopStart", "kind": "enum value", "id": "enum value|TopStart|1|0|||3|h6f0dc1d520e146104a3d5f06af838b4f461907eda8c4af65c2665f25988f6e7e", "signature": "TopStart = 3", "value": "3" }] }, - { "name": "CuiSharp.PlanStep", "displayName": "PlanStep", "kind": "struct", "summary": "cui_plan_step. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Detail = null;CuiTaskStatus Status = CuiTaskStatus.Pending||h47227e6be66b2a52ab2c93521766d315872cdc85e25337d1b0507d4978ffa2c3", "signature": "PlanStep(string? Title, string? Detail = null, CuiTaskStatus Status = CuiTaskStatus.Pending)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Detail", "type": "string?", "default": "null" }, { "name": "Status", "type": "CuiTaskStatus", "default": "CuiTaskStatus.Pending" }] }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|CuiTaskStatus|||hc70e5654f5e0b77ce9da45f798c273c2ac66019dc100160d6f02b89ccf377bba", "signature": "public CuiTaskStatus Status", "summary": "cui_task_status status" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "const char * detail" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, + { "name": "CuiSharp.PlanStep", "displayName": "PlanStep", "kind": "struct", "summary": "Agent plan: steps with their status on a connected rail, and progress. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Detail = null;CuiTaskStatus Status = CuiTaskStatus.Pending||h47227e6be66b2a52ab2c93521766d315872cdc85e25337d1b0507d4978ffa2c3", "signature": "PlanStep(string? Title, string? Detail = null, CuiTaskStatus Status = CuiTaskStatus.Pending)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Detail", "type": "string?", "default": "null" }, { "name": "Status", "type": "CuiTaskStatus", "default": "CuiTaskStatus.Pending" }] }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|CuiTaskStatus|||hc70e5654f5e0b77ce9da45f798c273c2ac66019dc100160d6f02b89ccf377bba", "signature": "public CuiTaskStatus Status", "summary": "cui_task_status status" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "smaller muted line under the title (red when the step failed); may be \u0060NULL\u0060" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "the step\u0027s text; shimmers while the step is running" }] }, { "name": "CuiSharp.PlayerEvents", "displayName": "PlayerEvents", "kind": "enum", "summary": "CUI_PLAYER_TOGGLE", "members": [{ "name": "Next", "kind": "enum value", "id": "enum value|Next|1|0|||4|hb9eed07a8764318c4bf93c00a16f0099da2e9ee3628adbf85288fab4642dcdfd", "signature": "Next = 4", "value": "4" }, { "name": "None", "kind": "enum value", "id": "enum value|None|1|0|||0|h9e4e72abf0eaa3b853206f4d9ea0b0faabef40a12ba47974d4328c3a5bbf4faa", "signature": "None = 0", "value": "0" }, { "name": "Prev", "kind": "enum value", "id": "enum value|Prev|1|0|||2|h39afbb6c0deff438bb7922f5d7d445709ae6bfa1fa65a25e401c41cd84d0a06a", "signature": "Prev = 2", "value": "2" }, { "name": "Seek", "kind": "enum value", "id": "enum value|Seek|1|0|||8|h5b24943e0dc23a9fc85d950bed20b4b04b04b5feadb16c1dc60719c70552a530", "signature": "Seek = 8", "value": "8" }, { "name": "Toggle", "kind": "enum value", "id": "enum value|Toggle|1|0|||1|h8d1267db6f2e2b404b183eab5c47c5fcc7ca7f75bfdb67381e662c97f931f11e", "signature": "Toggle = 1", "value": "1" }] }, - { "name": "CuiSharp.PopoverOpts", "displayName": "PopoverOpts", "kind": "struct", "summary": "cui_popover_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement placement" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float gap" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float pad" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float width" }] }, - { "name": "CuiSharp.PresenceUser", "displayName": "PresenceUser", "kind": "struct", "summary": "cui_presence_user. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;Color Color = default;ulong Avatar = default;bool Idle = default||hdb436cb70c2db907d4474ac13b15de2953ac7f28ffcb52ee87ea18c1234ca05f", "signature": "PresenceUser(string? Name, Color Color = default, ulong Avatar = default, bool Idle = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Color", "type": "Color", "default": "default" }, { "name": "Avatar", "type": "ulong", "default": "default" }, { "name": "Idle", "type": "bool", "default": "default" }] }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Idle", "kind": "field", "id": "field|Idle|0|0|bool|||h442e9857afee320342ed5cd5da27a5fd4579e0f9b73b29455fda773c08d75f59", "signature": "public bool Idle", "summary": "_Bool idle" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|ulong|||h6765b735e7badc83f84a351ff974e0656ad18b5550da2fa781650ae1ccda1d0d", "signature": "public ulong Avatar", "summary": "cui_texture avatar" }] }, - { "name": "CuiSharp.ProblemItem", "displayName": "ProblemItem", "kind": "struct", "summary": "cui_diagnostic. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||Severity Severity;string? Message = null;string? File = null;int Line = default;int Column = default;string? Source = null;string? Code = null||hfbda9a242fd94806258fd1326f897c71ac365457f4db60f3f59fdc3e84ca14ee", "signature": "ProblemItem(Severity Severity, string? Message = null, string? File = null, int Line = default, int Column = default, string? Source = null, string? Code = null)", "parameters": [{ "name": "Severity", "type": "Severity" }, { "name": "Message", "type": "string?", "default": "null" }, { "name": "File", "type": "string?", "default": "null" }, { "name": "Line", "type": "int", "default": "default" }, { "name": "Column", "type": "int", "default": "default" }, { "name": "Source", "type": "string?", "default": "null" }, { "name": "Code", "type": "string?", "default": "null" }] }, { "name": "Severity", "kind": "field", "id": "field|Severity|0|0|Severity|||h9e5e3ed80aa43cf83d574b57f16dd2271622ff069cd74d83468aa520e5b9608b", "signature": "public Severity Severity", "summary": "cui_severity severity" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "1 based; 0 leaves it out" }, { "name": "Line", "kind": "field", "id": "field|Line|0|0|int|||h1879f4fdbcfa3a3747d1163cdd353585f2b2bd90bfd45d0dfb258aacbc098d3e", "signature": "public int Line", "summary": "1 based; 0 leaves it out" }, { "name": "Code", "kind": "field", "id": "field|Code|0|0|string?|||hde42c28fc8c88660f5826912133eb893ad7c711775687d27f968d87c856ed456", "signature": "public string? Code", "summary": "\u0022-Wunused-variable\u0022... (may be NULL)" }, { "name": "File", "kind": "field", "id": "field|File|0|0|string?|||hcb0b8d0218e8cf25aa697a2fe7d3f1b57e07380a5833c8f8df5ed5a679ae940a", "signature": "public string? File", "summary": "groups the rows; NULL or \u0022\u0022 groups as \u0022No file\u0022" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|string?|||hef2e6225d86c6eb3366a0a172da793ed9f3ab16202af98b590c25bfb4adb1feb", "signature": "public string? Message", "summary": "const char * message" }, { "name": "Source", "kind": "field", "id": "field|Source|0|0|string?|||haadc02f4fa442e516b6de4476ffe875cdf7c960634984573467eba700b08ca50", "signature": "public string? Source", "summary": "\u0022gcc\u0022, \u0022clang-tidy\u0022... (may be NULL)" }] }, - { "name": "CuiSharp.ProblemsOpts", "displayName": "ProblemsOpts", "kind": "struct", "summary": "cui_problems_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "NoToolbar", "kind": "field", "id": "field|NoToolbar|0|0|bool|||h860df392a169878debf9e5d580124ccf63bf097014494370a8967baea8fd1225", "signature": "public bool NoToolbar", "summary": "_Bool no_toolbar" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }] }, - { "name": "CuiSharp.ProblemsResult", "displayName": "ProblemsResult", "kind": "struct", "summary": "cui_problems_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Selected;int Activated = default;int Shown = default||h4ce40ab59a6ee7d82fbf606d923abcbb711077e222e79b4ff925d83426750ac5", "signature": "ProblemsResult(int Selected, int Activated = default, int Shown = default)", "parameters": [{ "name": "Selected", "type": "int" }, { "name": "Activated", "type": "int", "default": "default" }, { "name": "Shown", "type": "int", "default": "default" }] }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "diagnostic opened this frame (Enter, double-click), or -1" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "diagnostic selected, or -1" }, { "name": "Shown", "kind": "field", "id": "field|Shown|0|0|int|||hb58805b7e5564373001000b59ffc5a328243e1da90b1bf69d07d8ff266b1d72f", "signature": "public int Shown", "summary": "diagnostics that pass the filters" }] }, - { "name": "CuiSharp.ProgressOpts", "displayName": "ProgressOpts", "kind": "struct", "summary": "cui_progress_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Indeterminate", "kind": "field", "id": "field|Indeterminate|0|0|bool|||he38813187674932a5621bb6b38b49afa8004ab77baa2505c22f3600d136405a8", "signature": "public bool Indeterminate", "summary": "_Bool indeterminate" }, { "name": "ShowValue", "kind": "field", "id": "field|ShowValue|0|0|bool|||hd0974546e5f5fd0d3590998a1e541a6ef369d199dd57720a3611943d5245da68", "signature": "public bool ShowValue", "summary": "_Bool show_value" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, - { "name": "CuiSharp.PromptSuggestion", "displayName": "PromptSuggestion", "kind": "struct", "summary": "cui_prompt_suggestion. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Icon;string? Title = null;string? Detail = null||h15207afd2883d9e79f6b30aea0910e160070efdcc85035e872cb68acb84ca94c", "signature": "PromptSuggestion(string? Icon, string? Title = null, string? Detail = null)", "parameters": [{ "name": "Icon", "type": "string?" }, { "name": "Title", "type": "string?", "default": "null" }, { "name": "Detail", "type": "string?", "default": "null" }] }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "const char * detail" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, - { "name": "CuiSharp.PromptSuggestionsOpts", "displayName": "PromptSuggestionsOpts", "kind": "struct", "summary": "cui_prompt_suggestions_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "int columns" }] }, - { "name": "CuiSharp.PropOpts", "displayName": "PropOpts", "kind": "struct", "summary": "cui_prop_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Checkbox", "kind": "field", "id": "field|Checkbox|0|0|bool|||he961fa78e7edf313d192909f2ef79c43a4a19f9cf45d780434ed05e9ebce0ec1", "signature": "public bool Checkbox", "summary": "bool rows: a checkbox instead of a switch" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "number and vector rows; both 0 = unbounded" }, { "name": "Min", "kind": "field", "id": "field|Min|0|0|float|||h81101b82558caea906d5838961d5313f13c99e7d68f18285b0cf84040f989d8a", "signature": "public float Min", "summary": "number and vector rows; both 0 = unbounded" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "drag and arrow step, default 1/100 of the range (0.1 unbounded)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "printf format, default from the step (\u0022%.2f\u0022 for 0.01)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "text rows" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|string?|||h2c79c464acb56463b20bda4e8b606074d49aaf774f54ac687c0b7a5ece4147df", "signature": "public string? Suffix", "summary": "unit after the value, e.g. \u0022px\u0022 or \u0022deg\u0022" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|string?|||h82837286b4f40e657285a1f72d68bcf8fa107f1c1022330456870eeab4fce431", "signature": "public string? Tooltip", "summary": "shown on the label" }] }, - { "name": "CuiSharp.QueryField", "displayName": "QueryField", "kind": "struct", "summary": "cui_query_field. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;QueryType Type = QueryType.Text;string[]? Choices = null||h48b8fb8a05d287dd9b566adc6675a494744df5aaf3cb9fdd909bf2f50a2414ad", "signature": "QueryField(string? Name, QueryType Type = QueryType.Text, string[]? Choices = null)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Type", "type": "QueryType", "default": "QueryType.Text" }, { "name": "Choices", "type": "string[]?", "default": "null" }] }, { "name": "Type", "kind": "field", "id": "field|Type|0|0|QueryType|||hf209f50f5f23cd7bcfb0c92b4bab8a6e54deec08302998719d5a083a7aeda993", "signature": "public QueryType Type", "summary": "cui_query_type type" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }, { "name": "Choices", "kind": "field", "id": "field|Choices|0|0|string[]?|||h41277725d7540813139d9729883d7c141827a738cde2cc8d3310f3742bc4c0d9", "signature": "public string[]? Choices", "summary": "CUI_QUERY_CHOICE: the values to pick from" }] }, - { "name": "CuiSharp.QueryNode", "displayName": "QueryNode", "kind": "struct", "summary": "cui_query_node. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Depth;bool Group = default;bool Any = default;int Field = default;int Op = default;string? Value = null||h7b62a5aaf018e81c58eaa9c35ee1d467cf0a67670a81e3c0fc77ae397b3295b3", "signature": "QueryNode(int Depth, bool Group = default, bool Any = default, int Field = default, int Op = default, string? Value = null)", "parameters": [{ "name": "Depth", "type": "int" }, { "name": "Group", "type": "bool", "default": "default" }, { "name": "Any", "type": "bool", "default": "default" }, { "name": "Field", "type": "int", "default": "default" }, { "name": "Op", "type": "int", "default": "default" }, { "name": "Value", "type": "string?", "default": "null" }] }, { "name": "Any", "kind": "field", "id": "field|Any|0|0|bool|||hdcec9da6cacd41baef4b6038493eb7e4b2369f5278d4378cd1c4b0470dee7bf7", "signature": "public bool Any", "summary": "group: any rule (or) instead of all (and)" }, { "name": "Group", "kind": "field", "id": "field|Group|0|0|bool|||h8db773c070c0474234b3161d5fef6b1f242445122c5d4bb61313a44c589024b9", "signature": "public bool Group", "summary": "_Bool group" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "0 for the outer group" }, { "name": "Field", "kind": "field", "id": "field|Field|0|0|int|||hdcf6cff1322591f3a88cb72bd2e2121e1e20ef1a7c6b74518e9e156290f19324", "signature": "public int Field", "summary": "rule: index into the fields" }, { "name": "Op", "kind": "field", "id": "field|Op|0|0|int|||h6505aa172e0f27a8b351e7d974812a780ea421fa10662d2e3e0f3d89db6217e1", "signature": "public int Op", "summary": "rule: see cui_query_op_name" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|string?|||h5ce95573760fbed490482794a8054e38848c0b6a2d40e7e67f6af14eb4564732", "signature": "public string? Value", "summary": "rule: the text, number or choice compared with" }] }, - { "name": "CuiSharp.QueryOpts", "displayName": "QueryOpts", "kind": "struct", "summary": "cui_query_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default 3" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|bool|||he393614309fa34fbb6e0930aa04c288616abcb05d02f63ad9eb9cb23927877ad", "signature": "public bool ReadOnly", "summary": "_Bool read_only" }, { "name": "MaxDepth", "kind": "field", "id": "field|MaxDepth|0|0|int|||he1682a88cdc03d3743c38ec2bdc17f9131942fa953ffde04cded5fc866b9afdd", "signature": "public int MaxDepth", "summary": "default 3" }] }, - { "name": "CuiSharp.QueryType", "displayName": "QueryType", "kind": "enum", "summary": "cui_query_type", "members": [{ "name": "Bool", "kind": "enum value", "id": "enum value|Bool|1|0|||3|h538c6993afa1ce50c1c93514479790bb337ead9ac3fe898d6b7d82a52715778f", "signature": "Bool = 3", "value": "3" }, { "name": "Choice", "kind": "enum value", "id": "enum value|Choice|1|0|||2|hf1169fec4fb5876b0369a473b2ec2f5a2939be7e10c67fe57c40cacf9e4f8299", "signature": "Choice = 2", "value": "2" }, { "name": "Number", "kind": "enum value", "id": "enum value|Number|1|0|||1|hb42a4997c878db766c147fade150c3f834e94aba6360a2559c0cc924b8cadf2a", "signature": "Number = 1", "value": "1" }, { "name": "Text", "kind": "enum value", "id": "enum value|Text|1|0|||0|he5c95b6734225e148880cf2d14fecb3cc9df5415fd27e1da617cef31bc50c963", "signature": "Text = 0", "value": "0" }] }, - { "name": "CuiSharp.RadarOpts", "displayName": "RadarOpts", "kind": "struct", "summary": "cui_radar_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|bool|||h250c4eea95a5d266560d2d964fb9559196dd3c844895b86f25edb16e6fe18fef", "signature": "public bool NoLegend", "summary": "_Bool no_legend" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "float max" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, - { "name": "CuiSharp.RadialGaugeOpts", "displayName": "RadialGaugeOpts", "kind": "struct", "summary": "cui_radial_gauge_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Bands", "kind": "field", "id": "field|Bands|0|0|GaugeBand[]?|||he11dadf277f590d78b997c9d0d36d8512bf09e4b084bcde46b1f1b047d68eb2f", "signature": "public GaugeBand[]? Bands", "summary": "const cui_gauge_band * bands" }, { "name": "NoNeedle", "kind": "field", "id": "field|NoNeedle|0|0|bool|||h954eb16283d88b6d3f382b5e415deffda19a2b4b4ae12ce76c1295a94f5862a9", "signature": "public bool NoNeedle", "summary": "a thick arc filled to the value instead of a needle" }, { "name": "ShowTarget", "kind": "field", "id": "field|ShowTarget|0|0|bool|||h035e45d43dc281b3ba770544e2dd2414155aa4218c1b801728d5cdd977d5d3be", "signature": "public bool ShowTarget", "summary": "_Bool show_target" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "width, default 200; the height follows the sweep" }, { "name": "Sweep", "kind": "field", "id": "field|Sweep|0|0|float|||h7fb4447237bd85b4fcbb34bc83034682a6f51ce1885fdf1656d0e29fa9bde9ce", "signature": "public float Sweep", "summary": "degrees of arc, default 240 (90 to 300)" }, { "name": "Target", "kind": "field", "id": "field|Target|0|0|float|||hcde29887b1065a0d920ec35b586d383741d5219b2c69db75b52f3c59633bdfe2", "signature": "public float Target", "summary": "a marker on the arc, when show_target is set" }, { "name": "BandCount", "kind": "field", "id": "field|BandCount|0|0|int|||h8f772448f68b8cd351be66664954248f0016d89e0ec779c00a5d8db33648680f", "signature": "public int BandCount", "summary": "int band_count" }, { "name": "Ticks", "kind": "field", "id": "field|Ticks|0|0|int|||hdd7be04ef4d976cb0eb1119ce46c1e28a88d3f9b64451ac52a79686542ec0cce", "signature": "public int Ticks", "summary": "labelled divisions, default 5; -1 hides the ticks" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "the value and the tick labels, default \u0022%.0f\u0022" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "under the value" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|string?|||h0c302a69bed7c7496c01c252ba72a9e4fdc11703160e8b42558740a0215d1888", "signature": "public string? Unit", "summary": "after the value, smaller" }] }, - { "name": "CuiSharp.RadioCardsOpts", "displayName": "RadioCardsOpts", "kind": "struct", "summary": "cui_radio_cards_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "int columns" }] }, - { "name": "CuiSharp.Reaction", "displayName": "Reaction", "kind": "struct", "summary": "cui_reaction. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Icon;int Count = default;bool Active = default||h7d711ba4172aadd90bd6cbccd4cf9e1e5300cb18f697354cc0682d655adcdb76", "signature": "Reaction(string? Icon, int Count = default, bool Active = default)", "parameters": [{ "name": "Icon", "type": "string?" }, { "name": "Count", "type": "int", "default": "default" }, { "name": "Active", "type": "bool", "default": "default" }] }, { "name": "Active", "kind": "field", "id": "field|Active|0|0|bool|||h5929e7f8064e6c5eab88e5392b559dde918574728d1991b0c837588fd8751952", "signature": "public bool Active", "summary": "_Bool active" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "int count" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, - { "name": "CuiSharp.ReasoningOpts", "displayName": "ReasoningOpts", "kind": "struct", "summary": "cui_reasoning_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Thinking", "kind": "field", "id": "field|Thinking|0|0|bool|||hf464dd50d39d6e096e88d04456a95154dc06cb7f7f5c070f29d098699665adeb", "signature": "public bool Thinking", "summary": "_Bool thinking" }, { "name": "Seconds", "kind": "field", "id": "field|Seconds|0|0|float|||hb2b6bfb7a4abde73c46fe03cfd0492620c03edc110332cec5c1c257b49ebec83", "signature": "public float Seconds", "summary": "float seconds" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, + { "name": "CuiSharp.PopoverOpts", "displayName": "PopoverOpts", "kind": "struct", "summary": "Popover anchored to the previous component. Toggle it with cui_popover_toggle / cui_popover_open. All fields are optional; zero selects the native default.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement placement" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float gap" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float pad" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float width" }] }, + { "name": "CuiSharp.PresenceUser", "displayName": "PresenceUser", "kind": "struct", "summary": "Presence: who is here now. Overlapping avatars with a colored ring each, that spread out on hover and name themselves. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;Color Color = default;ulong Avatar = default;bool Idle = default||hdb436cb70c2db907d4474ac13b15de2953ac7f28ffcb52ee87ea18c1234ca05f", "signature": "PresenceUser(string? Name, Color Color = default, ulong Avatar = default, bool Idle = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Color", "type": "Color", "default": "default" }, { "name": "Avatar", "type": "ulong", "default": "default" }, { "name": "Idle", "type": "bool", "default": "default" }] }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Idle", "kind": "field", "id": "field|Idle|0|0|bool|||h442e9857afee320342ed5cd5da27a5fd4579e0f9b73b29455fda773c08d75f59", "signature": "public bool Idle", "summary": "away: the avatar dims, its ring turns gray and the tooltip adds \u0022(away)\u0022" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "shown in the tooltip, and as initials when there is no avatar" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|ulong|||h6765b735e7badc83f84a351ff974e0656ad18b5550da2fa781650ae1ccda1d0d", "signature": "public ulong Avatar", "summary": "picture to show instead of the initials" }] }, + { "name": "CuiSharp.ProblemItem", "displayName": "ProblemItem", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||Severity Severity;string? Message = null;string? File = null;int Line = default;int Column = default;string? Source = null;string? Code = null||hfbda9a242fd94806258fd1326f897c71ac365457f4db60f3f59fdc3e84ca14ee", "signature": "ProblemItem(Severity Severity, string? Message = null, string? File = null, int Line = default, int Column = default, string? Source = null, string? Code = null)", "parameters": [{ "name": "Severity", "type": "Severity" }, { "name": "Message", "type": "string?", "default": "null" }, { "name": "File", "type": "string?", "default": "null" }, { "name": "Line", "type": "int", "default": "default" }, { "name": "Column", "type": "int", "default": "default" }, { "name": "Source", "type": "string?", "default": "null" }, { "name": "Code", "type": "string?", "default": "null" }] }, { "name": "Severity", "kind": "field", "id": "field|Severity|0|0|Severity|||h9e5e3ed80aa43cf83d574b57f16dd2271622ff069cd74d83468aa520e5b9608b", "signature": "public Severity Severity", "summary": "cui_severity severity" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "1 based; 0 leaves it out" }, { "name": "Line", "kind": "field", "id": "field|Line|0|0|int|||h1879f4fdbcfa3a3747d1163cdd353585f2b2bd90bfd45d0dfb258aacbc098d3e", "signature": "public int Line", "summary": "1 based; 0 leaves it out" }, { "name": "Code", "kind": "field", "id": "field|Code|0|0|string?|||hde42c28fc8c88660f5826912133eb893ad7c711775687d27f968d87c856ed456", "signature": "public string? Code", "summary": "\u0022-Wunused-variable\u0022... (may be NULL)" }, { "name": "File", "kind": "field", "id": "field|File|0|0|string?|||hcb0b8d0218e8cf25aa697a2fe7d3f1b57e07380a5833c8f8df5ed5a679ae940a", "signature": "public string? File", "summary": "groups the rows; NULL or \u0022\u0022 groups as \u0022No file\u0022" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|string?|||hef2e6225d86c6eb3366a0a172da793ed9f3ab16202af98b590c25bfb4adb1feb", "signature": "public string? Message", "summary": "the text of the row; the whole message shows on hover" }, { "name": "Source", "kind": "field", "id": "field|Source|0|0|string?|||haadc02f4fa442e516b6de4476ffe875cdf7c960634984573467eba700b08ca50", "signature": "public string? Source", "summary": "\u0022gcc\u0022, \u0022clang-tidy\u0022... (may be NULL)" }] }, + { "name": "CuiSharp.ProblemsOpts", "displayName": "ProblemsOpts", "kind": "struct", "summary": "cui_problems_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "NoToolbar", "kind": "field", "id": "field|NoToolbar|0|0|bool|||h860df392a169878debf9e5d580124ccf63bf097014494370a8967baea8fd1225", "signature": "public bool NoToolbar", "summary": "hides the severity toggles and the filter field above the list" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }] }, + { "name": "CuiSharp.ProblemsResult", "displayName": "ProblemsResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Selected;int Activated = default;int Shown = default||h4ce40ab59a6ee7d82fbf606d923abcbb711077e222e79b4ff925d83426750ac5", "signature": "ProblemsResult(int Selected, int Activated = default, int Shown = default)", "parameters": [{ "name": "Selected", "type": "int" }, { "name": "Activated", "type": "int", "default": "default" }, { "name": "Shown", "type": "int", "default": "default" }] }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "diagnostic opened this frame (Enter, double-click), or -1" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "diagnostic selected, or -1" }, { "name": "Shown", "kind": "field", "id": "field|Shown|0|0|int|||hb58805b7e5564373001000b59ffc5a328243e1da90b1bf69d07d8ff266b1d72f", "signature": "public int Shown", "summary": "diagnostics that pass the filters" }] }, + { "name": "CuiSharp.ProgressOpts", "displayName": "ProgressOpts", "kind": "struct", "summary": "cui_progress_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Indeterminate", "kind": "field", "id": "field|Indeterminate|0|0|bool|||he38813187674932a5621bb6b38b49afa8004ab77baa2505c22f3600d136405a8", "signature": "public bool Indeterminate", "summary": "_Bool indeterminate" }, { "name": "ShowValue", "kind": "field", "id": "field|ShowValue|0|0|bool|||hd0974546e5f5fd0d3590998a1e541a6ef369d199dd57720a3611943d5245da68", "signature": "public bool ShowValue", "summary": "_Bool show_value" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, + { "name": "CuiSharp.PromptSuggestion", "displayName": "PromptSuggestion", "kind": "struct", "summary": "Prompt suggestions: cards to start a conversation with. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Icon;string? Title = null;string? Detail = null||h15207afd2883d9e79f6b30aea0910e160070efdcc85035e872cb68acb84ca94c", "signature": "PromptSuggestion(string? Icon, string? Title = null, string? Detail = null)", "parameters": [{ "name": "Icon", "type": "string?" }, { "name": "Title", "type": "string?", "default": "null" }, { "name": "Detail", "type": "string?", "default": "null" }] }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "smaller muted text under the title; may be \u0060NULL\u0060" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "the card\u0027s heading, in medium weight" }] }, + { "name": "CuiSharp.PromptSuggestionsOpts", "displayName": "PromptSuggestionsOpts", "kind": "struct", "summary": "Prompt suggestions: cards to start a conversation with. All fields are optional; zero selects the native default.", "members": [{ "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "cards per row, default 2" }] }, + { "name": "CuiSharp.PropOpts", "displayName": "PropOpts", "kind": "struct", "summary": "cui_prop_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Checkbox", "kind": "field", "id": "field|Checkbox|0|0|bool|||he961fa78e7edf313d192909f2ef79c43a4a19f9cf45d780434ed05e9ebce0ec1", "signature": "public bool Checkbox", "summary": "bool rows: a checkbox instead of a switch" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "number and vector rows; both 0 = unbounded" }, { "name": "Min", "kind": "field", "id": "field|Min|0|0|float|||h81101b82558caea906d5838961d5313f13c99e7d68f18285b0cf84040f989d8a", "signature": "public float Min", "summary": "number and vector rows; both 0 = unbounded" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "drag and arrow step, default 1/100 of the range (0.1 unbounded)" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "printf format, default from the step (\u0022%.2f\u0022 for 0.01)" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "text rows" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|string?|||h2c79c464acb56463b20bda4e8b606074d49aaf774f54ac687c0b7a5ece4147df", "signature": "public string? Suffix", "summary": "unit after the value, e.g. \u0022px\u0022 or \u0022deg\u0022" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|string?|||h82837286b4f40e657285a1f72d68bcf8fa107f1c1022330456870eeab4fce431", "signature": "public string? Tooltip", "summary": "shown on the label" }] }, + { "name": "CuiSharp.QueryField", "displayName": "QueryField", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;QueryType Type = QueryType.Text;string[]? Choices = null||h48b8fb8a05d287dd9b566adc6675a494744df5aaf3cb9fdd909bf2f50a2414ad", "signature": "QueryField(string? Name, QueryType Type = QueryType.Text, string[]? Choices = null)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Type", "type": "QueryType", "default": "QueryType.Text" }, { "name": "Choices", "type": "string[]?", "default": "null" }] }, { "name": "Type", "kind": "field", "id": "field|Type|0|0|QueryType|||hf209f50f5f23cd7bcfb0c92b4bab8a6e54deec08302998719d5a083a7aeda993", "signature": "public QueryType Type", "summary": "cui_query_type type" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "shown in the field select and in the text \u0060cui_query_text\u0060 writes" }, { "name": "Choices", "kind": "field", "id": "field|Choices|0|0|string[]?|||h41277725d7540813139d9729883d7c141827a738cde2cc8d3310f3742bc4c0d9", "signature": "public string[]? Choices", "summary": "CUI_QUERY_CHOICE: the values to pick from" }] }, + { "name": "CuiSharp.QueryNode", "displayName": "QueryNode", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Depth;bool Group = default;bool Any = default;int Field = default;int Op = default;string? Value = null||h7b62a5aaf018e81c58eaa9c35ee1d467cf0a67670a81e3c0fc77ae397b3295b3", "signature": "QueryNode(int Depth, bool Group = default, bool Any = default, int Field = default, int Op = default, string? Value = null)", "parameters": [{ "name": "Depth", "type": "int" }, { "name": "Group", "type": "bool", "default": "default" }, { "name": "Any", "type": "bool", "default": "default" }, { "name": "Field", "type": "int", "default": "default" }, { "name": "Op", "type": "int", "default": "default" }, { "name": "Value", "type": "string?", "default": "null" }] }, { "name": "Any", "kind": "field", "id": "field|Any|0|0|bool|||hdcec9da6cacd41baef4b6038493eb7e4b2369f5278d4378cd1c4b0470dee7bf7", "signature": "public bool Any", "summary": "group: any rule (or) instead of all (and)" }, { "name": "Group", "kind": "field", "id": "field|Group|0|0|bool|||h8db773c070c0474234b3161d5fef6b1f242445122c5d4bb61313a44c589024b9", "signature": "public bool Group", "summary": "a group of the nodes after it that are one level deeper; otherwise a rule" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "0 for the outer group" }, { "name": "Field", "kind": "field", "id": "field|Field|0|0|int|||hdcf6cff1322591f3a88cb72bd2e2121e1e20ef1a7c6b74518e9e156290f19324", "signature": "public int Field", "summary": "rule: index into the fields" }, { "name": "Op", "kind": "field", "id": "field|Op|0|0|int|||h6505aa172e0f27a8b351e7d974812a780ea421fa10662d2e3e0f3d89db6217e1", "signature": "public int Op", "summary": "rule: see cui_query_op_name" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|string?|||h5ce95573760fbed490482794a8054e38848c0b6a2d40e7e67f6af14eb4564732", "signature": "public string? Value", "summary": "rule: the text, number or choice compared with" }] }, + { "name": "CuiSharp.QueryOpts", "displayName": "QueryOpts", "kind": "struct", "summary": "cui_query_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|bool|||he393614309fa34fbb6e0930aa04c288616abcb05d02f63ad9eb9cb23927877ad", "signature": "public bool ReadOnly", "summary": "_Bool read_only" }, { "name": "MaxDepth", "kind": "field", "id": "field|MaxDepth|0|0|int|||he1682a88cdc03d3743c38ec2bdc17f9131942fa953ffde04cded5fc866b9afdd", "signature": "public int MaxDepth", "summary": "how deep groups may nest, default 3" }] }, + { "name": "CuiSharp.QueryType", "displayName": "QueryType", "kind": "enum", "summary": "Conditions joined by \u0022all\u0022 or \u0022any\u0022, in groups you can nest: the filter of an issue tracker, a log search or a database view. You own the nodes, in order, each with its depth: node 0 is the outer group (made for you when count is 0). A rule picks a field, an operator for the field\u0027s type and a value; a group picks all or any. Returns true when anything changed. cui_query_text writes the query as a sentence, cui_query_match tests a record against it.", "members": [{ "name": "Bool", "kind": "enum value", "id": "enum value|Bool|1|0|||3|h538c6993afa1ce50c1c93514479790bb337ead9ac3fe898d6b7d82a52715778f", "signature": "Bool = 3", "value": "3" }, { "name": "Choice", "kind": "enum value", "id": "enum value|Choice|1|0|||2|hf1169fec4fb5876b0369a473b2ec2f5a2939be7e10c67fe57c40cacf9e4f8299", "signature": "Choice = 2", "value": "2" }, { "name": "Number", "kind": "enum value", "id": "enum value|Number|1|0|||1|hb42a4997c878db766c147fade150c3f834e94aba6360a2559c0cc924b8cadf2a", "signature": "Number = 1", "value": "1" }, { "name": "Text", "kind": "enum value", "id": "enum value|Text|1|0|||0|he5c95b6734225e148880cf2d14fecb3cc9df5415fd27e1da617cef31bc50c963", "signature": "Text = 0", "value": "0" }] }, + { "name": "CuiSharp.RadarOpts", "displayName": "RadarOpts", "kind": "struct", "summary": "Radar chart: series over shared axes (series[i].values[axis]). All fields are optional; zero selects the native default.", "members": [{ "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|bool|||h250c4eea95a5d266560d2d964fb9559196dd3c844895b86f25edb16e6fe18fef", "signature": "public bool NoLegend", "summary": "_Bool no_legend" }, { "name": "Max", "kind": "field", "id": "field|Max|0|0|float|||hbfb97365f87b77bc2fa51f3b6b7aa7630e15f6dd2d7a40b3d76c97043e3c5b6f", "signature": "public float Max", "summary": "value at the outer ring; 0 picks a round number above the largest value" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, + { "name": "CuiSharp.RadialGaugeOpts", "displayName": "RadialGaugeOpts", "kind": "struct", "summary": "cui_radial_gauge_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Bands", "kind": "field", "id": "field|Bands|0|0|GaugeBand[]?|||he11dadf277f590d78b997c9d0d36d8512bf09e4b084bcde46b1f1b047d68eb2f", "signature": "public GaugeBand[]? Bands", "summary": "colored stretches of the arc, each from the one before up to its \u0060to\u0060; at most 16" }, { "name": "NoNeedle", "kind": "field", "id": "field|NoNeedle|0|0|bool|||h954eb16283d88b6d3f382b5e415deffda19a2b4b4ae12ce76c1295a94f5862a9", "signature": "public bool NoNeedle", "summary": "a thick arc filled to the value instead of a needle" }, { "name": "ShowTarget", "kind": "field", "id": "field|ShowTarget|0|0|bool|||h035e45d43dc281b3ba770544e2dd2414155aa4218c1b801728d5cdd977d5d3be", "signature": "public bool ShowTarget", "summary": "draws the marker at \u0060target\u0060" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "width, default 200; the height follows the sweep" }, { "name": "Sweep", "kind": "field", "id": "field|Sweep|0|0|float|||h7fb4447237bd85b4fcbb34bc83034682a6f51ce1885fdf1656d0e29fa9bde9ce", "signature": "public float Sweep", "summary": "degrees of arc, default 240 (90 to 300)" }, { "name": "Target", "kind": "field", "id": "field|Target|0|0|float|||hcde29887b1065a0d920ec35b586d383741d5219b2c69db75b52f3c59633bdfe2", "signature": "public float Target", "summary": "a marker on the arc, when show_target is set" }, { "name": "Ticks", "kind": "field", "id": "field|Ticks|0|0|int|||hdd7be04ef4d976cb0eb1119ce46c1e28a88d3f9b64451ac52a79686542ec0cce", "signature": "public int Ticks", "summary": "labelled divisions, default 5; -1 hides the ticks" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "the value and the tick labels, default \u0022%.0f\u0022" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "under the value" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|string?|||h0c302a69bed7c7496c01c252ba72a9e4fdc11703160e8b42558740a0215d1888", "signature": "public string? Unit", "summary": "after the value, smaller" }] }, + { "name": "CuiSharp.RadioCardsOpts", "displayName": "RadioCardsOpts", "kind": "struct", "summary": "Radio cards: larger selectable cards for choices that need a description (plans, templates). All fields are optional; zero selects the native default.", "members": [{ "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "cards per row; 0 puts up to 3 choices in one row and more in 2 columns" }] }, + { "name": "CuiSharp.Reaction", "displayName": "Reaction", "kind": "struct", "summary": "Reactions: icon pills with counts. Clicking toggles \u0060active\u0060 and adjusts the count. Returns the index that changed, or -1. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Icon;int Count = default;bool Active = default||h7d711ba4172aadd90bd6cbccd4cf9e1e5300cb18f697354cc0682d655adcdb76", "signature": "Reaction(string? Icon, int Count = default, bool Active = default)", "parameters": [{ "name": "Icon", "type": "string?" }, { "name": "Count", "type": "int", "default": "default" }, { "name": "Active", "type": "bool", "default": "default" }] }, { "name": "Active", "kind": "field", "id": "field|Active|0|0|bool|||h5929e7f8064e6c5eab88e5392b559dde918574728d1991b0c837588fd8751952", "signature": "public bool Active", "summary": "the user has reacted: the pill is highlighted; a click flips it" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "the number beside the icon; a click adds or takes away 1" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.ReadoutOpts", "displayName": "ReadoutOpts", "kind": "struct", "summary": "Readout: one figure as an instrument shows it. A small label, the value in the monospaced font with its unit, and a muted line of context under it. All fields are optional; zero selects the native default.", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "the value\u0027s size: CUI_SIZE_SM 17, CUI_SIZE_MD 28 (default), CUI_SIZE_LG 44 points" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fit" }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "default start" }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "the value\u0027s color; 0 is the foreground" }, { "name": "Accent", "kind": "field", "id": "field|Accent|0|0|bool|||h0431c455f6626321b1263c5930a5021e82041c457c7ddf40ab8be569200ff842", "signature": "public bool Accent", "summary": "the value in the accent color" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "a muted line under the value; \u0060NULL\u0060 for none" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|string?|||h0c302a69bed7c7496c01c252ba72a9e4fdc11703160e8b42558740a0215d1888", "signature": "public string? Unit", "summary": "after the value, smaller and muted, e.g. \u0022MG\u0022" }] }, + { "name": "CuiSharp.ReasoningOpts", "displayName": "ReasoningOpts", "kind": "struct", "summary": "Reasoning: a model\u0027s thinking. While thinking, the header shimmers and counts the seconds; afterwards it reads \u0022Thought for 12s\u0022 and the body folds away. Click the header to open or close it. Put text inside. All fields are optional; zero selects the native default.", "members": [{ "name": "Thinking", "kind": "field", "id": "field|Thinking|0|0|bool|||hf464dd50d39d6e096e88d04456a95154dc06cb7f7f5c070f29d098699665adeb", "signature": "public bool Thinking", "summary": "still thinking: the header shimmers and the body opens; it folds when this turns false" }, { "name": "Seconds", "kind": "field", "id": "field|Seconds|0|0|float|||hb2b6bfb7a4abde73c46fe03cfd0492620c03edc110332cec5c1c257b49ebec83", "signature": "public float Seconds", "summary": "time spent, for the header: \u0022Thinking for 12s\u0022, then \u0022Thought for 12s\u0022" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "header text to show instead of the \u0022Thinking\u0022 and \u0022Thought for\u0022 lines" }] }, { "name": "CuiSharp.RectF", "displayName": "RectF", "kind": "struct", "summary": "A rectangle in points, top-left origin.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float x;float y;float w;float h||h9e81656e2b44f26304f8313bf1a5e6c734e8d9f31e47d112457ebe3b356ad18f", "signature": "RectF(float x, float y, float w, float h)", "parameters": [{ "name": "x", "type": "float" }, { "name": "y", "type": "float" }, { "name": "w", "type": "float" }, { "name": "h", "type": "float" }] }, { "name": "H", "kind": "field", "id": "field|H|0|0|float|||h34e3709364550cb1072bf7ad817825ef5ddd27e4a18917ae3882b1483139eb14", "signature": "public readonly float H" }, { "name": "W", "kind": "field", "id": "field|W|0|0|float|||h3ba3b1b0d772a0242db76240f298906a598bbb46a8952da8c5f8ea9a24658970", "signature": "public readonly float W" }, { "name": "X", "kind": "field", "id": "field|X|0|0|float|||he9261fd2b117657f94cf3da6b2dc69c3a3903a39db96e08c0d82688405c814b3", "signature": "public readonly float X" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||h69d39d9a6029300bf6f486747fb3a60594fa57563f1d4c360b012a1343b06361", "signature": "public readonly float Y" }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()" }] }, { "name": "CuiSharp.RegexFlags", "displayName": "RegexFlags", "kind": "enum", "summary": "How a pattern matches. CUI\u0027s engine ignores case, ^/$ per line, or both.", "members": [{ "name": "IgnoreCase", "kind": "enum value", "id": "enum value|IgnoreCase|1|0|||1|h624bf4c6d904d509dca79f8ffa1a7505dadbbbc57330f9cc35cf634e006be0d5", "signature": "IgnoreCase = 1", "value": "1" }, { "name": "Multiline", "kind": "enum value", "id": "enum value|Multiline|1|0|||2|hcc1c9ba71c6d30c7aae577310db90bb4370c7323777e7abb7c8b29998cfc5626", "signature": "Multiline = 2", "value": "2" }, { "name": "None", "kind": "enum value", "id": "enum value|None|1|0|||0|h9e4e72abf0eaa3b853206f4d9ea0b0faabef40a12ba47974d4328c3a5bbf4faa", "signature": "None = 0", "value": "0" }, { "name": "Singleline", "kind": "enum value", "id": "enum value|Singleline|1|0|||4|h4ce72671299a769bba4bfbc67b309f3a2c0599a3269f1e472b6f79722322e62e", "signature": "Singleline = 4", "value": "4" }] }, { "name": "CuiSharp.RegexGroup", "displayName": "RegexGroup", "kind": "struct", "summary": "One capture group of a match: byte offsets into the text, and the group\u0027s name when it has one.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Start;int End;string? Name||h8ffbf8ebcec21a024f13137e69afc5c507a6f2e9d2241fd0214772d7d1136306", "signature": "RegexGroup(int Start, int End, string? Name)", "parameters": [{ "name": "Start", "type": "int" }, { "name": "End", "type": "int" }, { "name": "Name", "type": "string?" }], "summary": "One capture group of a match: byte offsets into the text, and the group\u0027s name when it has one." }, { "name": "Equals", "kind": "method", "id": "method|Equals|0|0|bool|RegexGroup other||h354529fe9114f3072c523483f22e7e4e742ab15c5b3873b39f19f3865378e382", "signature": "bool Equals(RegexGroup other)", "parameters": [{ "name": "other", "type": "RegexGroup" }] }, { "name": "Equals", "kind": "method", "id": "method|Equals|0|0|bool|object obj||hdf2fccef3fb95cd65c067116b7fab214698fd62b7ba7acf819e39cecdecd49f0", "signature": "bool Equals(object obj)", "parameters": [{ "name": "obj", "type": "object" }] }, { "name": "End", "kind": "property", "id": "property|End|0|0|int||get;set;|ha559f0a4bc280302cff7f466cdbbb1ea1234e58ee712872083504c98970d34bb", "signature": "int End { get; init; }", "summary": "One past the last byte, or -1 when it took no part." }, { "name": "GetHashCode", "kind": "method", "id": "method|GetHashCode|0|0|int|||hdfcf1984bbd53bb9079a9b702ff4724865de4dcf06bbed07c42edbc8e1085a8d", "signature": "int GetHashCode()" }, { "name": "Start", "kind": "property", "id": "property|Start|0|0|int||get;set;|hfc864694bad8d8d1a3ef716a34299634c51031de85178a15fcda940b5d4a4525", "signature": "int Start { get; init; }", "summary": "The first byte of the group, or -1 when the group took no part in the match." }, { "name": "!=", "kind": "operator", "id": "operator|op_Inequality|1|0|bool|RegexGroup left;RegexGroup right||h2853ab582306013249d4bb5f41763f5226e78c7d0b51e0bd8c6454b87a326e52", "signature": "static bool operator !=(RegexGroup left, RegexGroup right)", "member": "op_Inequality", "parameters": [{ "name": "left", "type": "RegexGroup" }, { "name": "right", "type": "RegexGroup" }] }, { "name": "==", "kind": "operator", "id": "operator|op_Equality|1|0|bool|RegexGroup left;RegexGroup right||h35f2d00b713c0a00fb7689f4e9ac68b39ba1164603b7dbad3f5fa1f16f0bec23", "signature": "static bool operator ==(RegexGroup left, RegexGroup right)", "member": "op_Equality", "parameters": [{ "name": "left", "type": "RegexGroup" }, { "name": "right", "type": "RegexGroup" }] }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()" }, { "name": "Name", "kind": "property", "id": "property|Name|0|0|string?||get;set;|h5248972ea91eb27d71985a233b1d930452e3c7af716b1382a1c21ad2b804a208", "signature": "string? Name { get; init; }", "summary": "The name in (?\u003Cname\u003E\u2026), or null for a positional group." }, { "name": "Deconstruct", "kind": "method", "id": "method|Deconstruct|0|0|void|out int Start;out int End;out string? Name||h9b6f6955d207a5c01bb51e04dad769f7a5b7b721ca6a38a8e111767173253e1f", "signature": "void Deconstruct(out int Start, out int End, out string? Name)", "parameters": [{ "name": "Start", "type": "out int" }, { "name": "End", "type": "out int" }, { "name": "Name", "type": "out string?" }] }] }, { "name": "CuiSharp.RegexMatch", "displayName": "RegexMatch", "kind": "struct", "summary": "One match: its byte range, and one RegexGroup per group, index 0 being the whole match.", "members": [{ "name": "Groups", "kind": "property", "id": "property|Groups|0|0|RegexGroup[]||get;set;|ha0934472bbaf03084668dbedfe3b7e562ec5e274b06fdc9163f803380afe2ff8", "signature": "RegexGroup[] Groups { get; init; }" }, { "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Start;int End;RegexGroup[] Groups||hd7d6c336dd2b47312ec353e2966335d0e1b32230f6ac9fbd74cdf9e22b3e4c24", "signature": "RegexMatch(int Start, int End, RegexGroup[] Groups)", "parameters": [{ "name": "Start", "type": "int" }, { "name": "End", "type": "int" }, { "name": "Groups", "type": "RegexGroup[]" }], "summary": "One match: its byte range, and one RegexGroup per group, index 0 being the whole match." }, { "name": "Equals", "kind": "method", "id": "method|Equals|0|0|bool|RegexMatch other||h4d127bc5a3dcadabb8eb6868e5ce7e938175f3c075c5e9936e89ca2711cbf3d6", "signature": "bool Equals(RegexMatch other)", "parameters": [{ "name": "other", "type": "RegexMatch" }] }, { "name": "Equals", "kind": "method", "id": "method|Equals|0|0|bool|object obj||hdf2fccef3fb95cd65c067116b7fab214698fd62b7ba7acf819e39cecdecd49f0", "signature": "bool Equals(object obj)", "parameters": [{ "name": "obj", "type": "object" }] }, { "name": "End", "kind": "property", "id": "property|End|0|0|int||get;set;|ha559f0a4bc280302cff7f466cdbbb1ea1234e58ee712872083504c98970d34bb", "signature": "int End { get; init; }" }, { "name": "GetHashCode", "kind": "method", "id": "method|GetHashCode|0|0|int|||hdfcf1984bbd53bb9079a9b702ff4724865de4dcf06bbed07c42edbc8e1085a8d", "signature": "int GetHashCode()" }, { "name": "Start", "kind": "property", "id": "property|Start|0|0|int||get;set;|hfc864694bad8d8d1a3ef716a34299634c51031de85178a15fcda940b5d4a4525", "signature": "int Start { get; init; }" }, { "name": "!=", "kind": "operator", "id": "operator|op_Inequality|1|0|bool|RegexMatch left;RegexMatch right||h22e817ba564a4eb792d0de6ce5fd0f02d94dfbb21dcf019ccc9ca5caed67e8c5", "signature": "static bool operator !=(RegexMatch left, RegexMatch right)", "member": "op_Inequality", "parameters": [{ "name": "left", "type": "RegexMatch" }, { "name": "right", "type": "RegexMatch" }] }, { "name": "==", "kind": "operator", "id": "operator|op_Equality|1|0|bool|RegexMatch left;RegexMatch right||h5ed1591cfb286468fae185ae563d7c7b69e76bda8ed87eb0f94e3b9153a41008", "signature": "static bool operator ==(RegexMatch left, RegexMatch right)", "member": "op_Equality", "parameters": [{ "name": "left", "type": "RegexMatch" }, { "name": "right", "type": "RegexMatch" }] }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()" }, { "name": "Deconstruct", "kind": "method", "id": "method|Deconstruct|0|0|void|out int Start;out int End;out RegexGroup[] Groups||h8dd3c05d106f084566437cc915f32cc2e5cb3fb4c4902b197d8cf271815c3437", "signature": "void Deconstruct(out int Start, out int End, out RegexGroup[] Groups)", "parameters": [{ "name": "Start", "type": "out int" }, { "name": "End", "type": "out int" }, { "name": "Groups", "type": "out RegexGroup[]" }] }] }, - { "name": "CuiSharp.RegexTesterOpts", "displayName": "RegexTesterOpts", "kind": "struct", "summary": "cui_regex_tester_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "of the test text, default 180" }] }, - { "name": "CuiSharp.RegexTesterResult", "displayName": "RegexTesterResult", "kind": "struct", "summary": "cui_regex_tester_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Valid;int Matches = default;string? Error = null||he6f4f4e14ca7d9019cda96bee63475fcb4663f5970fa1d423eb538657e8b2228", "signature": "RegexTesterResult(bool Valid, int Matches = default, string? Error = null)", "parameters": [{ "name": "Valid", "type": "bool" }, { "name": "Matches", "type": "int", "default": "default" }, { "name": "Error", "type": "string?", "default": "null" }] }, { "name": "Valid", "kind": "field", "id": "field|Valid|0|0|bool|||h7ca8856a4d2de0f5a2a653cccda6609bb071117f9dc2b81e77d45f50fd6b8385", "signature": "public bool Valid", "summary": "_Bool valid" }, { "name": "Matches", "kind": "field", "id": "field|Matches|0|0|int|||hcedd9515c638fc304b4b46a264002d08e5bd2da7de258318812e2fb6ea94b072", "signature": "public int Matches", "summary": "int matches" }, { "name": "Error", "kind": "field", "id": "field|Error|0|0|string?|||h0b7f7e3a629b91e7b6cf4f9562657aad586fd4666941bbac0e0e8fccbc0ea31d", "signature": "public string? Error", "summary": "const char * error" }] }, - { "name": "CuiSharp.Renderer", "displayName": "Renderer", "kind": "enum", "summary": "cui_renderer_kind", "members": [{ "name": "Auto", "kind": "enum value", "id": "enum value|Auto|1|0|||0|h284236ae44d2136d400d7adf09d16069ad74e439b1df76d7c8eddc5385164140", "signature": "Auto = 0", "value": "0" }, { "name": "OpenGL", "kind": "enum value", "id": "enum value|OpenGL|1|0|||1|hb9692d6e72320810bff0c91c598bbed9993bb9c9465d0f979cf5f0e92ede1417", "signature": "OpenGL = 1", "value": "1" }, { "name": "Software", "kind": "enum value", "id": "enum value|Software|1|0|||2|h28bc4665785d34e42fb52be1dafd3b6e20ca521221646f8e5f7e7965c2451ac5", "signature": "Software = 2", "value": "2" }] }, + { "name": "CuiSharp.RegexTesterOpts", "displayName": "RegexTesterOpts", "kind": "struct", "summary": "A pattern field with flags over a test text: every match is highlighted in the text and its groups in their own colors, and the list below shows each match with its groups. Errors show under the pattern. Both buffers are yours and edited in place. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "of the test text, default 180" }] }, + { "name": "CuiSharp.RegexTesterResult", "displayName": "RegexTesterResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Valid;int Matches = default;string? Error = null||he6f4f4e14ca7d9019cda96bee63475fcb4663f5970fa1d423eb538657e8b2228", "signature": "RegexTesterResult(bool Valid, int Matches = default, string? Error = null)", "parameters": [{ "name": "Valid", "type": "bool" }, { "name": "Matches", "type": "int", "default": "default" }, { "name": "Error", "type": "string?", "default": "null" }] }, { "name": "Valid", "kind": "field", "id": "field|Valid|0|0|bool|||h7ca8856a4d2de0f5a2a653cccda6609bb071117f9dc2b81e77d45f50fd6b8385", "signature": "public bool Valid", "summary": "the pattern is valid and matching finished in time" }, { "name": "Matches", "kind": "field", "id": "field|Matches|0|0|int|||hcedd9515c638fc304b4b46a264002d08e5bd2da7de258318812e2fb6ea94b072", "signature": "public int Matches", "summary": "matches found in the test text" }, { "name": "Error", "kind": "field", "id": "field|Error|0|0|string?|||h0b7f7e3a629b91e7b6cf4f9562657aad586fd4666941bbac0e0e8fccbc0ea31d", "signature": "public string? Error", "summary": "why, when \u0060valid\u0060 is false; otherwise \u0060NULL\u0060" }] }, + { "name": "CuiSharp.Renderer", "displayName": "Renderer", "kind": "enum", "summary": "cui_renderer_kind", "members": [{ "name": "Auto", "kind": "enum value", "id": "enum value|Auto|1|0|||0|h284236ae44d2136d400d7adf09d16069ad74e439b1df76d7c8eddc5385164140", "signature": "Auto = 0", "summary": "OpenGL, or software when there is no GPU (CPU-drawn OpenGL, X11 and Win32)", "value": "0" }, { "name": "OpenGL", "kind": "enum value", "id": "enum value|OpenGL|1|0|||1|hb9692d6e72320810bff0c91c598bbed9993bb9c9465d0f979cf5f0e92ede1417", "signature": "OpenGL = 1", "value": "1" }, { "name": "Software", "kind": "enum value", "id": "enum value|Software|1|0|||2|h28bc4665785d34e42fb52be1dafd3b6e20ca521221646f8e5f7e7965c2451ac5", "signature": "Software = 2", "value": "2" }] }, { "name": "CuiSharp.RendererKind", "displayName": "RendererKind", "kind": "enum", "summary": "Which rasterizer a surface uses to turn draw data into pixels.", "members": [{ "name": "Gpu", "kind": "enum value", "id": "enum value|Gpu|1|0|||1|h65019820efb6e36ff0268db406291955d2a2b1c89d3a7008933917e9351b6705", "signature": "Gpu = 1", "summary": "GPU renderer (WebGL2 in the browser) consuming the surface\u0027s draw data.", "value": "1" }, { "name": "Software", "kind": "enum value", "id": "enum value|Software|1|0|||0|h631c7b6d74799c8ab80ae4816527d5bdb3aefb2e3ad4e9d3e688ec4ee51d7c7b", "signature": "Software = 0", "summary": "Software rasterizer into a pixel buffer (CPU, works everywhere).", "value": "0" }] }, - { "name": "CuiSharp.RequestBarOpts", "displayName": "RequestBarOpts", "kind": "struct", "summary": "cui_request_bar_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Loading", "kind": "field", "id": "field|Loading|0|0|bool|||h1a1df670039b692be8a827bee28c939371fe741e0871265ea4bdd3a172311bd8", "signature": "public bool Loading", "summary": "_Bool loading" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }] }, - { "name": "CuiSharp.RequestBarResult", "displayName": "RequestBarResult", "kind": "struct", "summary": "cui_request_bar_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Send;bool Cancel = default;bool Changed = default||h68d778d1cd29be8f34a56c061b429131b33869382c4a2e78ec4ead662a0446d3", "signature": "RequestBarResult(bool Send, bool Cancel = default, bool Changed = default)", "parameters": [{ "name": "Send", "type": "bool" }, { "name": "Cancel", "type": "bool", "default": "default" }, { "name": "Changed", "type": "bool", "default": "default" }] }, { "name": "Cancel", "kind": "field", "id": "field|Cancel|0|0|bool|||h415f8fb17ae6a4daf79803e4d07341fefe680a32dc62663c2503d7e8eaa13c45", "signature": "public bool Cancel", "summary": "_Bool cancel" }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|bool|||h8c85f6cfc38e0138c8eb4125f6296f3a8f63126e75288f3d3b7fc9e85c6c1f63", "signature": "public bool Changed", "summary": "_Bool changed" }, { "name": "Send", "kind": "field", "id": "field|Send|0|0|bool|||he70bac26a761d17520ddb5d7d37168ad091ede3b4c7cba9d5d8eb0f6f5e382d7", "signature": "public bool Send", "summary": "_Bool send" }] }, - { "name": "CuiSharp.ResponseActionsOpts", "displayName": "ResponseActionsOpts", "kind": "struct", "summary": "cui_response_actions_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "NoRegenerate", "kind": "field", "id": "field|NoRegenerate|0|0|bool|||h06b5931683cdcc4cc9ae926772734510653e788fc8f6189b22819f9e647a2894", "signature": "public bool NoRegenerate", "summary": "_Bool no_regenerate" }, { "name": "NoShare", "kind": "field", "id": "field|NoShare|0|0|bool|||h32a001d872c2df9d7c8035c43bf1acbcd7d42ab762cc139aa15394787d93d6f4", "signature": "public bool NoShare", "summary": "_Bool no_share" }, { "name": "CopyText", "kind": "field", "id": "field|CopyText|0|0|string?|||hfe793dda98f888020e54f1782d429935c4c338206c4238febd197ee92f0efe2e", "signature": "public string? CopyText", "summary": "const char * copy_text" }] }, - { "name": "CuiSharp.ResponseEvents", "displayName": "ResponseEvents", "kind": "enum", "summary": "CUI_RESPONSE_COPY", "members": [{ "name": "Copy", "kind": "enum value", "id": "enum value|Copy|1|0|||1|hf0f7587488c431e2cc70dd51d76355f6d7635084b7ad3883f21f85fd74adab27", "signature": "Copy = 1", "value": "1" }, { "name": "Down", "kind": "enum value", "id": "enum value|Down|1|0|||8|h20d969dac1f8d8d88f699088e4d1761dd52b626d4b4a8ce5f50beca2a5dd8e6c", "signature": "Down = 8", "value": "8" }, { "name": "None", "kind": "enum value", "id": "enum value|None|1|0|||0|h9e4e72abf0eaa3b853206f4d9ea0b0faabef40a12ba47974d4328c3a5bbf4faa", "signature": "None = 0", "value": "0" }, { "name": "Regenerate", "kind": "enum value", "id": "enum value|Regenerate|1|0|||2|h8a1e965bb8924bc13884397b214a06230370a18eaa605912e2cef0065ef10d4a", "signature": "Regenerate = 2", "value": "2" }, { "name": "Share", "kind": "enum value", "id": "enum value|Share|1|0|||16|h0e99b7d0e2186e5c2bb5846a6c021c3ba97040cd815b090307b71db08933513a", "signature": "Share = 16", "value": "16" }, { "name": "Up", "kind": "enum value", "id": "enum value|Up|1|0|||4|hd533e8226c4ebc0b022d15d20378306ca776b9697192f1023e888f6ecab1d962", "signature": "Up = 4", "value": "4" }] }, - { "name": "CuiSharp.RingsOpts", "displayName": "RingsOpts", "kind": "struct", "summary": "cui_rings_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Legend", "kind": "field", "id": "field|Legend|0|0|bool|||haed9472a8896500486e1ecb259e7670594a043839c501669b2ebbeca29a2f1d2", "signature": "public bool Legend", "summary": "names and shares beside the rings" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "names and shares beside the rings" }, { "name": "Thickness", "kind": "field", "id": "field|Thickness|0|0|float|||h032ae3f08d1f764102a5ab4e3449cb25f2ae394d97fb8b90dd505ead7b8576f6", "signature": "public float Thickness", "summary": "names and shares beside the rings" }, { "name": "Caption", "kind": "field", "id": "field|Caption|0|0|string?|||hcef7118db71b438fca0f3f6c713c711ebcdb3e5c7a4f0fba8f4999852652040a", "signature": "public string? Caption", "summary": "names and shares beside the rings" }, { "name": "Center", "kind": "field", "id": "field|Center|0|0|string?|||h40bba056e10dcb46add9a06319d319f1245a2c7ea611e35032ff42b9d4d074f0", "signature": "public string? Center", "summary": "names and shares beside the rings" }] }, - { "name": "CuiSharp.RulerOpts", "displayName": "RulerOpts", "kind": "struct", "summary": "cui_ruler_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Spacing", "kind": "field", "id": "field|Spacing|0|0|float|||h22da469a15540ae6a7f22a07bcce21a26b31756bc58b41e93dfacd4da75285a9", "signature": "public float Spacing", "summary": "float spacing" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "float step" }, { "name": "MajorEvery", "kind": "field", "id": "field|MajorEvery|0|0|int|||hb8966c550f0af08c692ad9b7a0009bc4750e28358fc03967f4a7ff5bc21f7ed4", "signature": "public int MajorEvery", "summary": "int major_every" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|string?|||h0c302a69bed7c7496c01c252ba72a9e4fdc11703160e8b42558740a0215d1888", "signature": "public string? Unit", "summary": "const char * unit" }] }, - { "name": "CuiSharp.SankeyLink", "displayName": "SankeyLink", "kind": "struct", "summary": "cui_sankey_link. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int From;int To = default;float Value = default||h4935e90b35af0cd8f9b7a8ab66b1e944478ea669af6a08d5b20071f2627078a2", "signature": "SankeyLink(int From, int To = default, float Value = default)", "parameters": [{ "name": "From", "type": "int" }, { "name": "To", "type": "int", "default": "default" }, { "name": "Value", "type": "float", "default": "default" }] }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|float|||h8c20ac2e2f946bfe778b76ce5a0751e644f14cbfa254ac592650fe0166f91e91", "signature": "public float Value", "summary": "float value" }, { "name": "From", "kind": "field", "id": "field|From|0|0|int|||h11f7cebcf77a074c120dda4af3a2c2a7d6533333236d3fbb272c705fd58fd693", "signature": "public int From", "summary": "int from" }, { "name": "To", "kind": "field", "id": "field|To|0|0|int|||h51c44d9327d4ff5ec543672605cdc9085758c30f02fb02478eed8ab117d48e44", "signature": "public int To", "summary": "int to" }] }, - { "name": "CuiSharp.SankeyOpts", "displayName": "SankeyOpts", "kind": "struct", "summary": "cui_sankey_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "NodeWidth", "kind": "field", "id": "field|NodeWidth|0|0|float|||h854c8bca8b3d6404a03cf66a2c3c87c152ea3dd5251148ee7b7181601bb4ff91", "signature": "public float NodeWidth", "summary": "float node_width" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, - { "name": "CuiSharp.ScatterOpts", "displayName": "ScatterOpts", "kind": "struct", "summary": "cui_scatter_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|bool|||h250c4eea95a5d266560d2d964fb9559196dd3c844895b86f25edb16e6fe18fef", "signature": "public bool NoLegend", "summary": "_Bool no_legend" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "XFormat", "kind": "field", "id": "field|XFormat|0|0|string?|||h84bff9c35a9947f320862f17d212a1b90a915ce62a3a97933b6134f65d16e852", "signature": "public string? XFormat", "summary": "const char * x_format" }, { "name": "XLabel", "kind": "field", "id": "field|XLabel|0|0|string?|||h5bda4d949c0c6ca8d8d6347120ba210c06bb017646874d73dcfab798cd0f5724", "signature": "public string? XLabel", "summary": "const char * x_label" }, { "name": "YFormat", "kind": "field", "id": "field|YFormat|0|0|string?|||h8b96500d860715a132efa2f0dd7a26efcb7f23b9fe640633606ca592f8524e17", "signature": "public string? YFormat", "summary": "const char * y_format" }, { "name": "YLabel", "kind": "field", "id": "field|YLabel|0|0|string?|||h6f154799663b1b32e6e6b484a6c3d43ea71d2e2ce48ec0d8f1d95fefb34fab4d", "signature": "public string? YLabel", "summary": "const char * y_label" }] }, - { "name": "CuiSharp.ScatterSeries", "displayName": "ScatterSeries", "kind": "struct", "summary": "cui_scatter_series. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;Vec2[]? Points = null;float[]? Sizes = null;int Count = default;Color Color = default||h0c9e3772ee6d1d273d5874e58f32817c4678849464ced5108825fbee4a08c30b", "signature": "ScatterSeries(string? Name, Vec2[]? Points = null, float[]? Sizes = null, int Count = default, Color Color = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Points", "type": "Vec2[]?", "default": "null" }, { "name": "Sizes", "type": "float[]?", "default": "null" }, { "name": "Count", "type": "int", "default": "default" }, { "name": "Color", "type": "Color", "default": "default" }] }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Points", "kind": "field", "id": "field|Points|0|0|Vec2[]?|||h3dbc7a42c52c429bb7adfaec324112224e57926f57024ea34e1c28545f737119", "signature": "public Vec2[]? Points", "summary": "const cui_vec2 * points" }, { "name": "Sizes", "kind": "field", "id": "field|Sizes|0|0|float[]?|||h94a77f6a194c7ae18baaa6fde73c8103a184b0113eda7b42552249abdbf6f1bf", "signature": "public float[]? Sizes", "summary": "const float * sizes" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "int count" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }] }, - { "name": "CuiSharp.ScheduleOpts", "displayName": "ScheduleOpts", "kind": "struct", "summary": "cui_schedule_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Utc", "kind": "field", "id": "field|Utc|0|0|bool|||hce27528a0642529c63bbecfb74ceeffd4af58ffbe72eea12d92db228ca35332e", "signature": "public bool Utc", "summary": "times in UTC instead of local time" }, { "name": "NextCount", "kind": "field", "id": "field|NextCount|0|0|int|||h80bfe4de5677a884d75cb874b420721eb542ff4df1afc53136faf5ba124b192b", "signature": "public int NextCount", "summary": "runs listed, default 3, 0 hides them" }, { "name": "Now", "kind": "field", "id": "field|Now|0|0|long|||h949d29ec25550cd1c5e589c99b5e39471c9584ce47315d26d5fa02dc132525d7", "signature": "public long Now", "summary": "the next runs are counted from here, Unix seconds; 0: the clock" }] }, - { "name": "CuiSharp.ScheduleResult", "displayName": "ScheduleResult", "kind": "struct", "summary": "cui_schedule_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Changed;bool Valid = default;long Next = default||h7e003c234503259c0f88543cf0bcd89f1a498367b301084dede97cf4807b1e37", "signature": "ScheduleResult(bool Changed, bool Valid = default, long Next = default)", "parameters": [{ "name": "Changed", "type": "bool" }, { "name": "Valid", "type": "bool", "default": "default" }, { "name": "Next", "type": "long", "default": "default" }] }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|bool|||h8c85f6cfc38e0138c8eb4125f6296f3a8f63126e75288f3d3b7fc9e85c6c1f63", "signature": "public bool Changed", "summary": "the next run, Unix seconds, 0 none" }, { "name": "Valid", "kind": "field", "id": "field|Valid|0|0|bool|||h7ca8856a4d2de0f5a2a653cccda6609bb071117f9dc2b81e77d45f50fd6b8385", "signature": "public bool Valid", "summary": "the next run, Unix seconds, 0 none" }, { "name": "Next", "kind": "field", "id": "field|Next|0|0|long|||hd7ee1f886f886259549f3654f5275aaa94247e8c4d9446f9f2a3a90e2de894d3", "signature": "public long Next", "summary": "the next run, Unix seconds, 0 none" }] }, - { "name": "CuiSharp.ScrollOpts", "displayName": "ScrollOpts", "kind": "struct", "summary": "cui_scroll_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "FadeColor", "kind": "field", "id": "field|FadeColor|0|0|Color|||h450b978d4c657ce0b5a9766567452335438f0c631c9ab3811a7e7e4ea4b744e4", "signature": "public Color FadeColor", "summary": "what it fades into (default: the nearest opaque box around it)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "cui_size height" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "FadeEdges", "kind": "field", "id": "field|FadeEdges|0|0|bool|||ha1edfcc7531e10879bb73f5b6efd91c9042d4d3b43fc89822a2c6a89f259854b", "signature": "public bool FadeEdges", "summary": "content fades out at an edge with more to scroll" }, { "name": "Horizontal", "kind": "field", "id": "field|Horizontal|0|0|bool|||h526d7918635bb7515376b05bb273960bfff3d8076453a269cb0cc74fef6ec108", "signature": "public bool Horizontal", "summary": "also scroll horizontally" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float gap" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float pad" }, { "name": "Id", "kind": "field", "id": "field|Id|0|0|string?|||h903b441d2692d36130aa05f5607dedb9f29f50f33eb6b8e718d9e7958d011fa9", "signature": "public string? Id", "summary": "const char * id" }] }, - { "name": "CuiSharp.ScrubOpts", "displayName": "ScrubOpts", "kind": "struct", "summary": "cui_scrub_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "default (max - min) / 100" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "default \u0022%.0f\u0022" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "shown instead of the label" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|string?|||h2c79c464acb56463b20bda4e8b606074d49aaf774f54ac687c0b7a5ece4147df", "signature": "public string? Suffix", "summary": "e.g. \u0022px\u0022 or \u0022%\u0022" }] }, - { "name": "CuiSharp.SegmentedOpts", "displayName": "SegmentedOpts", "kind": "struct", "summary": "cui_segmented_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "FullWidth", "kind": "field", "id": "field|FullWidth|0|0|bool|||hdc8aafcce927648adf0c0145203424f8957fc857f5c4d890241daae15b5eac45", "signature": "public bool FullWidth", "summary": "_Bool full_width" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|string[]?|||h94d3abfae1e4e3aa50724c6bacdb1588c24d26764115ffa57679ae941c7f8b22", "signature": "public string[]? Icons", "summary": "const char *const * icons" }] }, - { "name": "CuiSharp.SelectOpts", "displayName": "SelectOpts", "kind": "struct", "summary": "cui_select_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Searchable", "kind": "field", "id": "field|Searchable|0|0|bool|||he07abb6a59c4f1b548e1e75a7d0a2b5775f298d1d816b82649be0aadf7f20bc5", "signature": "public bool Searchable", "summary": "combobox: filter options by typing" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|string[]?|||h94d3abfae1e4e3aa50724c6bacdb1588c24d26764115ffa57679ae941c7f8b22", "signature": "public string[]? Icons", "summary": "const char *const * icons" }] }, + { "name": "CuiSharp.RequestBarOpts", "displayName": "RequestBarOpts", "kind": "struct", "summary": "cui_request_bar_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Loading", "kind": "field", "id": "field|Loading|0|0|bool|||h1a1df670039b692be8a827bee28c939371fe741e0871265ea4bdd3a172311bd8", "signature": "public bool Loading", "summary": "a request is in flight: the button reads Cancel and Enter does not send" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }] }, + { "name": "CuiSharp.RequestBarResult", "displayName": "RequestBarResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Send;bool Cancel = default;bool Changed = default||h68d778d1cd29be8f34a56c061b429131b33869382c4a2e78ec4ead662a0446d3", "signature": "RequestBarResult(bool Send, bool Cancel = default, bool Changed = default)", "parameters": [{ "name": "Send", "type": "bool" }, { "name": "Cancel", "type": "bool", "default": "default" }, { "name": "Changed", "type": "bool", "default": "default" }] }, { "name": "Cancel", "kind": "field", "id": "field|Cancel|0|0|bool|||h415f8fb17ae6a4daf79803e4d07341fefe680a32dc62663c2503d7e8eaa13c45", "signature": "public bool Cancel", "summary": "Cancel was pressed while \u0060loading\u0060" }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|bool|||h8c85f6cfc38e0138c8eb4125f6296f3a8f63126e75288f3d3b7fc9e85c6c1f63", "signature": "public bool Changed", "summary": "the method or the URL was edited this frame" }, { "name": "Send", "kind": "field", "id": "field|Send|0|0|bool|||he70bac26a761d17520ddb5d7d37168ad091ede3b4c7cba9d5d8eb0f6f5e382d7", "signature": "public bool Send", "summary": "Send was pressed, or Enter in the URL: start the request" }] }, + { "name": "CuiSharp.ResponseActionsOpts", "displayName": "ResponseActionsOpts", "kind": "struct", "summary": "cui_response_actions_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "NoRegenerate", "kind": "field", "id": "field|NoRegenerate|0|0|bool|||h06b5931683cdcc4cc9ae926772734510653e788fc8f6189b22819f9e647a2894", "signature": "public bool NoRegenerate", "summary": "hides the regenerate button" }, { "name": "NoShare", "kind": "field", "id": "field|NoShare|0|0|bool|||h32a001d872c2df9d7c8035c43bf1acbcd7d42ab762cc139aa15394787d93d6f4", "signature": "public bool NoShare", "summary": "hides the share button" }, { "name": "CopyText", "kind": "field", "id": "field|CopyText|0|0|string?|||hfe793dda98f888020e54f1782d429935c4c338206c4238febd197ee92f0efe2e", "signature": "public string? CopyText", "summary": "the text the copy button copies; \u0060NULL\u0060 leaves the button out" }] }, + { "name": "CuiSharp.ResponseEvents", "displayName": "ResponseEvents", "kind": "enum", "summary": "Response actions: copy, regenerate, vote and share under an answer.", "members": [{ "name": "Copy", "kind": "enum value", "id": "enum value|Copy|1|0|||1|hf0f7587488c431e2cc70dd51d76355f6d7635084b7ad3883f21f85fd74adab27", "signature": "Copy = 1", "value": "1" }, { "name": "Down", "kind": "enum value", "id": "enum value|Down|1|0|||8|h20d969dac1f8d8d88f699088e4d1761dd52b626d4b4a8ce5f50beca2a5dd8e6c", "signature": "Down = 8", "value": "8" }, { "name": "None", "kind": "enum value", "id": "enum value|None|1|0|||0|h9e4e72abf0eaa3b853206f4d9ea0b0faabef40a12ba47974d4328c3a5bbf4faa", "signature": "None = 0", "value": "0" }, { "name": "Regenerate", "kind": "enum value", "id": "enum value|Regenerate|1|0|||2|h8a1e965bb8924bc13884397b214a06230370a18eaa605912e2cef0065ef10d4a", "signature": "Regenerate = 2", "value": "2" }, { "name": "Share", "kind": "enum value", "id": "enum value|Share|1|0|||16|h0e99b7d0e2186e5c2bb5846a6c021c3ba97040cd815b090307b71db08933513a", "signature": "Share = 16", "value": "16" }, { "name": "Up", "kind": "enum value", "id": "enum value|Up|1|0|||4|hd533e8226c4ebc0b022d15d20378306ca776b9697192f1023e888f6ecab1d962", "signature": "Up = 4", "value": "4" }] }, + { "name": "CuiSharp.RingsOpts", "displayName": "RingsOpts", "kind": "struct", "summary": "Activity rings: concentric progress rings; values past 1 keep winding. All fields are optional; zero selects the native default.", "members": [{ "name": "Legend", "kind": "field", "id": "field|Legend|0|0|bool|||haed9472a8896500486e1ecb259e7670594a043839c501669b2ebbeca29a2f1d2", "signature": "public bool Legend", "summary": "names and shares beside the rings" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }, { "name": "Thickness", "kind": "field", "id": "field|Thickness|0|0|float|||h032ae3f08d1f764102a5ab4e3449cb25f2ae394d97fb8b90dd505ead7b8576f6", "signature": "public float Thickness", "summary": "width of each ring in points; 0 uses a tenth of \u0060size\u0060, at least 8" }, { "name": "Caption", "kind": "field", "id": "field|Caption|0|0|string?|||hcef7118db71b438fca0f3f6c713c711ebcdb3e5c7a4f0fba8f4999852652040a", "signature": "public string? Caption", "summary": "small muted text under \u0060center\u0060; shown only with \u0060center\u0060" }, { "name": "Center", "kind": "field", "id": "field|Center|0|0|string?|||h40bba056e10dcb46add9a06319d319f1245a2c7ea611e35032ff42b9d4d074f0", "signature": "public string? Center", "summary": "large text in the middle of the rings, e.g. a total" }] }, + { "name": "CuiSharp.RulerOpts", "displayName": "RulerOpts", "kind": "struct", "summary": "Ruler slider: a tape measure that slides under a fixed marker, with momentum and snapping to step. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Spacing", "kind": "field", "id": "field|Spacing|0|0|float|||h22da469a15540ae6a7f22a07bcce21a26b31756bc58b41e93dfacd4da75285a9", "signature": "public float Spacing", "summary": "points between two ticks (one \u0060step\u0060 apart), default 9" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "float step" }, { "name": "MajorEvery", "kind": "field", "id": "field|MajorEvery|0|0|int|||hb8966c550f0af08c692ad9b7a0009bc4750e28358fc03967f4a7ff5bc21f7ed4", "signature": "public int MajorEvery", "summary": "every Nth tick is long and labelled, default 10; Shift\u002Barrows move this many steps" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }, { "name": "Unit", "kind": "field", "id": "field|Unit|0|0|string?|||h0c302a69bed7c7496c01c252ba72a9e4fdc11703160e8b42558740a0215d1888", "signature": "public string? Unit", "summary": "const char * unit" }] }, + { "name": "CuiSharp.SankeyLink", "displayName": "SankeyLink", "kind": "struct", "summary": "Sankey: flows between nodes; columns follow the links from the sources. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int From;int To = default;float Value = default||h4935e90b35af0cd8f9b7a8ab66b1e944478ea669af6a08d5b20071f2627078a2", "signature": "SankeyLink(int From, int To = default, float Value = default)", "parameters": [{ "name": "From", "type": "int" }, { "name": "To", "type": "int", "default": "default" }, { "name": "Value", "type": "float", "default": "default" }] }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|float|||h8c20ac2e2f946bfe778b76ce5a0751e644f14cbfa254ac592650fe0166f91e91", "signature": "public float Value", "summary": "size of the flow: sets the link\u0027s thickness" }, { "name": "From", "kind": "field", "id": "field|From|0|0|int|||h11f7cebcf77a074c120dda4af3a2c2a7d6533333236d3fbb272c705fd58fd693", "signature": "public int From", "summary": "index of the node the flow leaves" }, { "name": "To", "kind": "field", "id": "field|To|0|0|int|||h51c44d9327d4ff5ec543672605cdc9085758c30f02fb02478eed8ab117d48e44", "signature": "public int To", "summary": "index of the node the flow enters" }] }, + { "name": "CuiSharp.SankeyOpts", "displayName": "SankeyOpts", "kind": "struct", "summary": "Sankey: flows between nodes; columns follow the links from the sources. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "NodeWidth", "kind": "field", "id": "field|NodeWidth|0|0|float|||h854c8bca8b3d6404a03cf66a2c3c87c152ea3dd5251148ee7b7181601bb4ff91", "signature": "public float NodeWidth", "summary": "width of the node bars in points, default 12" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, + { "name": "CuiSharp.ScatterOpts", "displayName": "ScatterOpts", "kind": "struct", "summary": "Scatter (or bubble) chart: points per series, optional sizes. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|bool|||h250c4eea95a5d266560d2d964fb9559196dd3c844895b86f25edb16e6fe18fef", "signature": "public bool NoLegend", "summary": "_Bool no_legend" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "XFormat", "kind": "field", "id": "field|XFormat|0|0|string?|||h84bff9c35a9947f320862f17d212a1b90a915ce62a3a97933b6134f65d16e852", "signature": "public string? XFormat", "summary": "printf format for the x axis labels and the tooltip" }, { "name": "XLabel", "kind": "field", "id": "field|XLabel|0|0|string?|||h5bda4d949c0c6ca8d8d6347120ba210c06bb017646874d73dcfab798cd0f5724", "signature": "public string? XLabel", "summary": "title under the x axis; also names the x value in the tooltip" }, { "name": "YFormat", "kind": "field", "id": "field|YFormat|0|0|string?|||h8b96500d860715a132efa2f0dd7a26efcb7f23b9fe640633606ca592f8524e17", "signature": "public string? YFormat", "summary": "printf format for the y axis labels and the tooltip" }, { "name": "YLabel", "kind": "field", "id": "field|YLabel|0|0|string?|||h6f154799663b1b32e6e6b484a6c3d43ea71d2e2ce48ec0d8f1d95fefb34fab4d", "signature": "public string? YLabel", "summary": "title above the y axis; also names the y value in the tooltip" }] }, + { "name": "CuiSharp.ScatterSeries", "displayName": "ScatterSeries", "kind": "struct", "summary": "Scatter (or bubble) chart: points per series, optional sizes. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;Vec2[]? Points = null;float[]? Sizes = null;int Count = default;Color Color = default||h0c9e3772ee6d1d273d5874e58f32817c4678849464ced5108825fbee4a08c30b", "signature": "ScatterSeries(string? Name, Vec2[]? Points = null, float[]? Sizes = null, int Count = default, Color Color = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Points", "type": "Vec2[]?", "default": "null" }, { "name": "Sizes", "type": "float[]?", "default": "null" }, { "name": "Count", "type": "int", "default": "default" }, { "name": "Color", "type": "Color", "default": "default" }] }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Points", "kind": "field", "id": "field|Points|0|0|Vec2[]?|||h3dbc7a42c52c429bb7adfaec324112224e57926f57024ea34e1c28545f737119", "signature": "public Vec2[]? Points", "summary": "the points, x and y in data units" }, { "name": "Sizes", "kind": "field", "id": "field|Sizes|0|0|float[]?|||h94a77f6a194c7ae18baaa6fde73c8103a184b0113eda7b42552249abdbf6f1bf", "signature": "public float[]? Sizes", "summary": "optional, one per point: makes a bubble chart, each bubble sized against the largest" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "number of \u0060points\u0060 (and of \u0060sizes\u0060)" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "shown in the legend, which appears with two or more series" }] }, + { "name": "CuiSharp.ScheduleOpts", "displayName": "ScheduleOpts", "kind": "struct", "summary": "A cron schedule edited the friendly way: every N minutes, hourly at a minute, daily at a time, weekly on chosen days, monthly on a day, or a custom expression. It reads and writes \u0060cron\u0060 (five fields: minute hour day month weekday) and shows what it means and when it runs next. Weekday and month names come from cui_set_strings. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Utc", "kind": "field", "id": "field|Utc|0|0|bool|||hce27528a0642529c63bbecfb74ceeffd4af58ffbe72eea12d92db228ca35332e", "signature": "public bool Utc", "summary": "times in UTC instead of local time" }, { "name": "NextCount", "kind": "field", "id": "field|NextCount|0|0|int|||h80bfe4de5677a884d75cb874b420721eb542ff4df1afc53136faf5ba124b192b", "signature": "public int NextCount", "summary": "runs listed, default 3, 0 hides them" }, { "name": "Now", "kind": "field", "id": "field|Now|0|0|long|||h949d29ec25550cd1c5e589c99b5e39471c9584ce47315d26d5fa02dc132525d7", "signature": "public long Now", "summary": "the next runs are counted from here, Unix seconds; 0: the clock" }] }, + { "name": "CuiSharp.ScheduleResult", "displayName": "ScheduleResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Changed;bool Valid = default;long Next = default||h7e003c234503259c0f88543cf0bcd89f1a498367b301084dede97cf4807b1e37", "signature": "ScheduleResult(bool Changed, bool Valid = default, long Next = default)", "parameters": [{ "name": "Changed", "type": "bool" }, { "name": "Valid", "type": "bool", "default": "default" }, { "name": "Next", "type": "long", "default": "default" }] }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|bool|||h8c85f6cfc38e0138c8eb4125f6296f3a8f63126e75288f3d3b7fc9e85c6c1f63", "signature": "public bool Changed", "summary": "\u0060cron\u0060 was edited this frame" }, { "name": "Valid", "kind": "field", "id": "field|Valid|0|0|bool|||h7ca8856a4d2de0f5a2a653cccda6609bb071117f9dc2b81e77d45f50fd6b8385", "signature": "public bool Valid", "summary": "\u0060cron\u0060 is a valid expression" }, { "name": "Next", "kind": "field", "id": "field|Next|0|0|long|||hd7ee1f886f886259549f3654f5275aaa94247e8c4d9446f9f2a3a90e2de894d3", "signature": "public long Next", "summary": "the next run, Unix seconds, 0 none" }] }, + { "name": "CuiSharp.ScrollOpts", "displayName": "ScrollOpts", "kind": "struct", "summary": "Scroll area with smooth scrolling and overlay scrollbars. All fields are optional; zero selects the native default.", "members": [{ "name": "FadeColor", "kind": "field", "id": "field|FadeColor|0|0|Color|||h450b978d4c657ce0b5a9766567452335438f0c631c9ab3811a7e7e4ea4b744e4", "signature": "public Color FadeColor", "summary": "what it fades into (default: the nearest opaque box around it)" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "cui_size height" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "FadeEdges", "kind": "field", "id": "field|FadeEdges|0|0|bool|||ha1edfcc7531e10879bb73f5b6efd91c9042d4d3b43fc89822a2c6a89f259854b", "signature": "public bool FadeEdges", "summary": "content fades out at an edge with more to scroll" }, { "name": "Horizontal", "kind": "field", "id": "field|Horizontal|0|0|bool|||h526d7918635bb7515376b05bb273960bfff3d8076453a269cb0cc74fef6ec108", "signature": "public bool Horizontal", "summary": "also scroll horizontally" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float gap" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float pad" }, { "name": "Id", "kind": "field", "id": "field|Id|0|0|string?|||h903b441d2692d36130aa05f5607dedb9f29f50f33eb6b8e718d9e7958d011fa9", "signature": "public string? Id", "summary": "const char * id" }] }, + { "name": "CuiSharp.ScrubOpts", "displayName": "ScrubOpts", "kind": "struct", "summary": "Scrub field: drag sideways anywhere on it to change the value (Shift for fine steps), or click to type a number. Arrow keys step when focused. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "default (max - min) / 100" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "default \u0022%.0f\u0022" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "shown instead of the label" }, { "name": "Suffix", "kind": "field", "id": "field|Suffix|0|0|string?|||h2c79c464acb56463b20bda4e8b606074d49aaf774f54ac687c0b7a5ece4147df", "signature": "public string? Suffix", "summary": "e.g. \u0022px\u0022 or \u0022%\u0022" }] }, + { "name": "CuiSharp.SegmentedOpts", "displayName": "SegmentedOpts", "kind": "struct", "summary": "Segmented control: a row of options with a gliding highlight. All fields are optional; zero selects the native default.", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "FullWidth", "kind": "field", "id": "field|FullWidth|0|0|bool|||hdc8aafcce927648adf0c0145203424f8957fc857f5c4d890241daae15b5eac45", "signature": "public bool FullWidth", "summary": "_Bool full_width" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|string[]?|||h94d3abfae1e4e3aa50724c6bacdb1588c24d26764115ffa57679ae941c7f8b22", "signature": "public string[]? Icons", "summary": "const char *const * icons" }] }, + { "name": "CuiSharp.SelectOpts", "displayName": "SelectOpts", "kind": "struct", "summary": "cui_select_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Searchable", "kind": "field", "id": "field|Searchable|0|0|bool|||he07abb6a59c4f1b548e1e75a7d0a2b5775f298d1d816b82649be0aadf7f20bc5", "signature": "public bool Searchable", "summary": "combobox: filter options by typing" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|string[]?|||h94d3abfae1e4e3aa50724c6bacdb1588c24d26764115ffa57679ae941c7f8b22", "signature": "public string[]? Icons", "summary": "const char *const * icons" }] }, { "name": "CuiSharp.SemanticNode", "displayName": "SemanticNode", "kind": "class", "summary": "One named thing in a frame \u2014 a control, or a container the app gave an id \u2014 and everything drawn inside it.", "members": [{ "name": "Descendants", "kind": "method", "id": "method|Descendants|0|0|IEnumerable\u003CSemanticNode\u003E|||hb2e00cdf2d1e34171d687045000fe4dd6904f246cc4904cbaa8a21fdd3e29b8b", "signature": "IEnumerable\u003CSemanticNode\u003E Descendants()", "summary": "Every node below this one, depth first." }, { "name": "Children", "kind": "property", "id": "property|Children|0|0|IReadOnlyList\u003CSemanticNode\u003E||get;|h5966cf2ffc85aa0cefb339b7a12aecbb96d2e1b1cbdc4d0ae23e0a897ad1bb69", "signature": "IReadOnlyList\u003CSemanticNode\u003E Children { get; }", "summary": "Everything drawn inside it, in drawing order." }, { "name": "Rect", "kind": "property", "id": "property|Rect|0|0|RectF||get;|hf755173a5fe47fca342422117b9258f72be7002a01ae38cb809f072f70e4e9a6", "signature": "RectF Rect { get; }", "summary": "Where it was laid out, in points." }, { "name": "Find", "kind": "method", "id": "method|Find|0|0|SemanticNode|string query||h9aa27c93146559c3380a35c8c7bb7292a46ce84553a02211995082057dc09c66", "signature": "SemanticNode Find(string query)", "parameters": [{ "name": "query", "type": "string" }], "summary": "Finds a node below this one, or explains what is there instead." }, { "name": "Parent", "kind": "property", "id": "property|Parent|0|0|SemanticNode?||get;|h0a677e23dee947553b8ffbefec3d898ffd27e077224bc55a9e2bd8c65cba3b33", "signature": "SemanticNode? Parent { get; }", "summary": "The container it sits in, or null for a node at the top of the frame." }, { "name": "Detached", "kind": "property", "id": "property|Detached|0|0|bool||get;|hc64c578af9d7646df189fa7a1bdb0a3de267a533558de3b50292b286e8a16593", "signature": "bool Detached { get; }", "summary": "True when CUI draws this node on a floating layer of its own \u2014 a dialog, popover, menu, tooltip, toast or tour. The tree keeps it where the app drew it, but its geometry belongs to its own layer and says nothing about the bounds of its nesting ancestors." }, { "name": "HasOwnRect", "kind": "property", "id": "property|HasOwnRect|0|0|bool||get;|h2147106daf2920bdfba7a67efa15434b0bbc83cf365a412e6711199944e16f5e", "signature": "bool HasOwnRect { get; }", "summary": "True when the recorded id is one CUI laid this very widget out under, so its rect is its own. False means the id may belong to whatever was drawn before it: the rect is a hint, not a fact. This is geometry provenance, unrelated to how queries rank the node." }, { "name": "IsContainer", "kind": "property", "id": "property|IsContainer|0|0|bool||get;|h58e6d50111e3867dc21d8ff3f8e340fcdce36de432ab79c3dd814dea5f335c26", "signature": "bool IsContainer { get; }", "summary": "True when the app drew something inside it, so it can be a parent." }, { "name": "TryFind", "kind": "method", "id": "method|TryFind|0|0|bool|string query;out SemanticNode node||h10f68a1bf1fea034c9872526bdc9b2bebc5d2ef0e770be328c4ca3ce8928dbb7", "signature": "bool TryFind(string query, out SemanticNode node)", "parameters": [{ "name": "query", "type": "string" }, { "name": "node", "type": "out SemanticNode" }], "summary": "Finds this node or anything below it by a query: a label (Save), a kind and a label (Button \u0022Save\u0022), or a path (Card \u0022editor\u0022 \u003E Button \u0022Save\u0022)." }, { "name": "Depth", "kind": "property", "id": "property|Depth|0|0|int||get;|h005393779795fcee5a87d55774bb521a2fdf30d65e68e7ea958f24c21fa71717", "signature": "int Depth { get; }", "summary": "How many containers were open around it." }, { "name": "Kind", "kind": "property", "id": "property|Kind|0|0|string||get;|h388961e1f6a3037bd4a4c8333a144e60a99cdcd3bd10798d477a76bdae288a1d", "signature": "string Kind { get; }", "summary": "The wrapper that drew it: Button, Input, Card." }, { "name": "Path", "kind": "property", "id": "property|Path|0|0|string||get;|hb2d3527ced8c78e3ca97b5a77f9028096a1989cb0f7317d6116bac0bf5229f5e", "signature": "string Path { get; }", "summary": "The nesting that leads here, e.g. Card \u0022editor\u0022 \u003E Button \u0022Save\u0022: the shortest description of where a control is." }, { "name": "Print", "kind": "method", "id": "method|Print|0|0|string|bool rects = default||h06252dafaeb8005776cf294d00cc449cae2255f6fc351ae1f5be1e7d769c801e", "signature": "string Print(bool rects = default)", "parameters": [{ "name": "rects", "type": "bool", "default": "default" }], "summary": "The tree as text, one line per node: what a test prints when it fails, and what an agent reads to find out which controls a frame drew." }, { "name": "Text", "kind": "property", "id": "property|Text|0|0|string||get;|h221097532e4154611cbbc42c65b80d74f8055bd282efb709184598cd9d2c27bb", "signature": "string Text { get; }", "summary": "The label, or the id when the widget or container has one." }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()" }, { "name": "Id", "kind": "property", "id": "property|Id|0|0|uint||get;|hc3025f4e0981c7ad622608a2293f185737bdcec4eb82f21efce88bc6011cdaed", "signature": "uint Id { get; }", "summary": "The id CUI laid it out under \u2014 for an item of a tab strip or a segmented control, the id the widget derived for that item. Unrelated to the label, so it survives translation." }] }, { "name": "CuiSharp.SemanticWidget", "displayName": "SemanticWidget", "kind": "struct", "summary": "One thing a frame recorded: a control, or a container the app gave an id, with the text that names it and where it was laid out.", "members": [{ "name": "Center", "kind": "property", "id": "property|Center|0|0|ValueTuple\u003Cfloat, float\u003E||get;|h0a928e20a77e4a851575877bd247d3e0bfd675854061d20c99152b0ee772b6a0", "signature": "ValueTuple\u003Cfloat, float\u003E Center { get; }", "summary": "The point at the middle: where a simulated click goes." }, { "name": "Contains", "kind": "method", "id": "method|Contains|0|0|bool|float x;float y||h5e2c35791a73fb0fecb5d484bb6de7e408b5219215458ddd10c4b7637a782e0b", "signature": "bool Contains(float x, float y)", "parameters": [{ "name": "x", "type": "float" }, { "name": "y", "type": "float" }], "summary": "True when the point is inside it." }, { "name": "Rect", "kind": "field", "id": "field|Rect|0|0|RectF|||h36c84f4bf259c7df4e00bfe92693bbcd043eb64d7e623295afc1e04bc98f27cf", "signature": "public readonly RectF Rect", "summary": "Where it was laid out, in points, in the frame that produced it." }, { "name": "Detached", "kind": "field", "id": "field|Detached|0|0|bool|||he6905cb36f4c3c3809678b25e7ae9d5832d501865c58ed49acedcf588989b1be", "signature": "public readonly bool Detached", "summary": "True when CUI draws this widget on a floating layer of its own \u2014 a dialog, popover, menu, tooltip, toast or tour. The recorded nesting still shows where the app drew it, but its geometry belongs to its own layer, not to the containers it is nested under." }, { "name": "HasOwnRect", "kind": "field", "id": "field|HasOwnRect|0|0|bool|||hbe275cc80db9d6625846a7ecbd505321e02f175f33417b35536afdb14ea6a8c1", "signature": "public readonly bool HasOwnRect", "summary": "True when the recorded id is one CUI laid this very widget out under \u2014 a container id its begin call returned, an id derived the way CUI derives it, or a kind proven to publish its own id as the last id. False means the id may be someone else\u0027s, so the rect is a hint about where to look, not a fact about this widget." }, { "name": "IsContainer", "kind": "field", "id": "field|IsContainer|0|0|bool|||hc7454505ba97259cb1cc992d89ed1c2a725cf4d19a0bb95b3707be1f64bc21b6", "signature": "public readonly bool IsContainer", "summary": "True for a container that recorded itself because the app named it." }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||ha8878fee53eb9cf2414e3afde3184f31a9eb3bf9f98176af4487368b5b454317", "signature": "public readonly int Depth", "summary": "How many containers were open around it: 0 for a widget at the top of the frame, 1 for one inside a card, and so on." }, { "name": "Kind", "kind": "field", "id": "field|Kind|0|0|string|||h4c541c4957c89762e7d2d2e3e33b14a44c2b1619f09f22b3a8d6e0a8c941f23c", "signature": "public readonly string Kind", "summary": "The wrapper\u0027s name: Button, Input, Card." }, { "name": "Text", "kind": "field", "id": "field|Text|0|0|string|||h68b7cc166e7738ce60e67f228271e2cb816cb8f3d6800b8f76b1b01d3a1fbf83", "signature": "public readonly string Text", "summary": "The widget\u0027s id, or its label when it has no id." }, { "name": "Id", "kind": "field", "id": "field|Id|0|0|uint|||h9c07ed1bc23d891c34bd2cf77a987ddd1ee61647bb18261e3ca19e1b6b2d6b48", "signature": "public readonly uint Id", "summary": "The id CUI laid this widget out under. Stable while the widget exists, and unrelated to the text, so it is what a test can hold on to when the label is translated." }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()", "summary": "The kind and the text, e.g. Button \u0022Save\u0022." }] }, - { "name": "CuiSharp.Series", "displayName": "Series", "kind": "struct", "summary": "cui_series. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;float[]? Values = null;int Count = default;Color Color = default||h9a61f1f33b52068aa9ce296dda6a5add41bce025de6a0a5bd4185bd6709f3a55", "signature": "Series(string? Name, float[]? Values = null, int Count = default, Color Color = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Values", "type": "float[]?", "default": "null" }, { "name": "Count", "type": "int", "default": "default" }, { "name": "Color", "type": "Color", "default": "default" }] }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "default: series palette" }, { "name": "Values", "kind": "field", "id": "field|Values|0|0|float[]?|||h2297887dc39e194c11ed11a1bc7d673508c8c381e7f2c43c6669bc8a49edec45", "signature": "public float[]? Values", "summary": "const float * values" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "int count" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }] }, + { "name": "CuiSharp.Series", "displayName": "Series", "kind": "struct", "summary": "Charts Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;float[]? Values = null;int Count = default;Color Color = default||h9a61f1f33b52068aa9ce296dda6a5add41bce025de6a0a5bd4185bd6709f3a55", "signature": "Series(string? Name, float[]? Values = null, int Count = default, Color Color = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Values", "type": "float[]?", "default": "null" }, { "name": "Count", "type": "int", "default": "default" }, { "name": "Color", "type": "Color", "default": "default" }] }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "default: series palette" }, { "name": "Values", "kind": "field", "id": "field|Values|0|0|float[]?|||h2297887dc39e194c11ed11a1bc7d673508c8c381e7f2c43c6669bc8a49edec45", "signature": "public float[]? Values", "summary": "the series\u0027 data, one value per point" }, { "name": "Count", "kind": "field", "id": "field|Count|0|0|int|||hc275cef54f50cf3f56b3edd59bd99c83cfa813a4286599b3d70fc99d7cb42067", "signature": "public int Count", "summary": "number of \u0060values\u0060" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "shown in the legend and in the hover tooltip" }] }, { "name": "CuiSharp.SeriesDecimator", "displayName": "SeriesDecimator", "kind": "static class", "summary": "Reduces a long series to something a chart can draw in real time. A chart is a few hundred pixels wide, so points beyond roughly two per pixel cannot be seen \u2014 but they still cost geometry. This collapses each bucket of consecutive samples into its minimum and its maximum, in the order they occurred, which keeps spikes and gaps that plain averaging would erase. That is what financial and monitoring charts do. Copy-based and allocation-free: pass a destination span and reuse it every frame. See RequiredCapacity.", "members": [{ "name": "Decimate", "kind": "method", "id": "method|Decimate|1|0|float[]|ReadOnlySpan\u003Cfloat\u003E source;int buckets||h57be39ba7b62d04901227ad335a715cdc65b0e15d7aca2281d6671d35b6aabab", "signature": "static float[] Decimate(ReadOnlySpan\u003Cfloat\u003E source, int buckets)", "parameters": [{ "name": "source", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "buckets", "type": "int" }], "summary": "Convenience overload for callers that would rather not size a buffer. Allocates; prefer the span overload inside a frame." }, { "name": "Decimate", "kind": "method", "id": "method|Decimate|1|0|int|ReadOnlySpan\u003Cfloat\u003E source;Span\u003Cfloat\u003E destination;int buckets||h33b46cde5ca131f2feaa537df35b0d4942a589525ab6a83a0dd11cc2aafe289d", "signature": "static int Decimate(ReadOnlySpan\u003Cfloat\u003E source, Span\u003Cfloat\u003E destination, int buckets)", "parameters": [{ "name": "source", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "destination", "type": "Span\u003Cfloat\u003E" }, { "name": "buckets", "type": "int" }], "summary": "Decimates source into destination. Returns the number of points written, which is 0, source.Length when it already fits, or an even number up to buckets * 2." }, { "name": "RequiredCapacity", "kind": "method", "id": "method|RequiredCapacity|1|0|int|int buckets||h0ba19241dfd2882418a4df437ca414de20707e5ad3098dbd9ac046454f14832e", "signature": "static int RequiredCapacity(int buckets)", "parameters": [{ "name": "buckets", "type": "int" }], "summary": "Points written at most for a given bucket count." }] }, - { "name": "CuiSharp.Severity", "displayName": "Severity", "kind": "enum", "summary": "cui_severity", "members": [{ "name": "Error", "kind": "enum value", "id": "enum value|Error|1|0|||0|h1be74ca9b09430ce431ffab022c61f7d490899907fffc473c0d4263ea397cf72", "signature": "Error = 0", "value": "0" }, { "name": "Hint", "kind": "enum value", "id": "enum value|Hint|1|0|||3|h8d01460ad77a1547aaf15f014ccfbafe2609035a1d0f145ad03c97bda2143974", "signature": "Hint = 3", "value": "3" }, { "name": "Info", "kind": "enum value", "id": "enum value|Info|1|0|||2|h9d07ea1e38d6abe142845630dc2f28ea265d47cf4ff8de68a0fe4011916186d3", "signature": "Info = 2", "value": "2" }, { "name": "Warning", "kind": "enum value", "id": "enum value|Warning|1|0|||1|h3699e894f07e195e49680b995c40992a452b1434348b9c7a1704f55611bae132", "signature": "Warning = 1", "value": "1" }] }, + { "name": "CuiSharp.Severity", "displayName": "Severity", "kind": "enum", "summary": "Compiler and linter diagnostics, grouped by file: errors, warnings, notes and hints with their position, source and code. Toggles above filter by severity (with counts) and a field filters by text. A file\u0027s header folds its group. Up and Down move the selection, Left and Right fold and unfold, Enter or a double-click reports \u0060activated\u0060 (open the file there). Only the rows in view are built, so thousands of diagnostics stay fast. The array needs to be valid only during the call.", "members": [{ "name": "Error", "kind": "enum value", "id": "enum value|Error|1|0|||0|h1be74ca9b09430ce431ffab022c61f7d490899907fffc473c0d4263ea397cf72", "signature": "Error = 0", "value": "0" }, { "name": "Hint", "kind": "enum value", "id": "enum value|Hint|1|0|||3|h8d01460ad77a1547aaf15f014ccfbafe2609035a1d0f145ad03c97bda2143974", "signature": "Hint = 3", "value": "3" }, { "name": "Info", "kind": "enum value", "id": "enum value|Info|1|0|||2|h9d07ea1e38d6abe142845630dc2f28ea265d47cf4ff8de68a0fe4011916186d3", "signature": "Info = 2", "value": "2" }, { "name": "Warning", "kind": "enum value", "id": "enum value|Warning|1|0|||1|h3699e894f07e195e49680b995c40992a452b1434348b9c7a1704f55611bae132", "signature": "Warning = 1", "value": "1" }] }, { "name": "CuiSharp.Shadow", "displayName": "Shadow", "kind": "struct", "summary": "One shadow layer of the theme: the box-shadow triple plus its alpha.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float y;float blur;float spread = default;float alpha = 1f||h52586bda9a7b6e43eb67e9fcd00215cb99e10171217f542e0ff89d913c4d1bbb", "signature": "Shadow(float y, float blur, float spread = default, float alpha = 1f)", "parameters": [{ "name": "y", "type": "float" }, { "name": "blur", "type": "float" }, { "name": "spread", "type": "float", "default": "default" }, { "name": "alpha", "type": "float", "default": "1f" }] }, { "name": "Alpha", "kind": "field", "id": "field|Alpha|0|0|float|||h4db41205ef0fe741b6dc8610469847b3d2e04d6d68fa7bf65f40d9c6ac4e5662", "signature": "public readonly float Alpha", "summary": "Opacity, 0 to 1." }, { "name": "Blur", "kind": "field", "id": "field|Blur|0|0|float|||h1b638360fc5addb2a6f1a4378e3f53cc25a8208f0524d1b5ce8bca9a1bfd022a", "signature": "public readonly float Blur", "summary": "Blur radius in points." }, { "name": "Spread", "kind": "field", "id": "field|Spread|0|0|float|||hb95f7114db781357f8f5fcb0caf37326817cf15b5ffd81be52bb983b2ba3e221", "signature": "public readonly float Spread", "summary": "Spread in points; negative pulls the shadow in at the sides." }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||h69d39d9a6029300bf6f486747fb3a60594fa57563f1d4c360b012a1343b06361", "signature": "public readonly float Y", "summary": "Vertical offset in points; positive casts downward." }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()" }] }, - { "name": "CuiSharp.SheetOpts", "displayName": "SheetOpts", "kind": "struct", "summary": "cui_sheet_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Side", "kind": "field", "id": "field|Side|0|0|Side|||h246cd6630b9e5173ef64270ae4793d84e4ae57c4170b390ddf3234197dd10321", "signature": "public Side Side", "summary": "cui_side side" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }] }, - { "name": "CuiSharp.ShortcutRecorderOpts", "displayName": "ShortcutRecorderOpts", "kind": "struct", "summary": "cui_shortcut_recorder_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }] }, + { "name": "CuiSharp.SheetOpts", "displayName": "SheetOpts", "kind": "struct", "summary": "cui_sheet_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Side", "kind": "field", "id": "field|Side|0|0|Side|||h246cd6630b9e5173ef64270ae4793d84e4ae57c4170b390ddf3234197dd10321", "signature": "public Side Side", "summary": "cui_side side" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }] }, + { "name": "CuiSharp.ShortcutRecorderOpts", "displayName": "ShortcutRecorderOpts", "kind": "struct", "summary": "Shortcut recorder: click and press a key combination to record it. Backspace clears, Esc cancels. Returns true when the combination changed. cui_shortcut_label formats a combination (\u0022Ctrl Shift K\u0022). All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }] }, { "name": "CuiSharp.Side", "displayName": "Side", "kind": "enum", "summary": "cui_side", "members": [{ "name": "Bottom", "kind": "enum value", "id": "enum value|Bottom|1|0|||2|h0862538babcf2a086a256d007852bc8a43bf86d313ddc23c41ade284f27b2a9e", "signature": "Bottom = 2", "value": "2" }, { "name": "Left", "kind": "enum value", "id": "enum value|Left|1|0|||1|hf671bc6932922aef2ac1a4125ae2532931f30a2d397b0f0ca21018c00c6c84da", "signature": "Left = 1", "value": "1" }, { "name": "Right", "kind": "enum value", "id": "enum value|Right|1|0|||0|h08d50cb63b6adb063b6c50afa635847a93edcdfbcf063d547d6fca799afbb6d0", "signature": "Right = 0", "value": "0" }, { "name": "Top", "kind": "enum value", "id": "enum value|Top|1|0|||3|hb1ed46e3dd5f59ea3d0b551cf80d64f49880e3f6dd1eaef702171ed9a19ec755", "signature": "Top = 3", "value": "3" }] }, - { "name": "CuiSharp.SignatureOpts", "displayName": "SignatureOpts", "kind": "struct", "summary": "cui_signature_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Ink", "kind": "field", "id": "field|Ink|0|0|Color|||h1e489f3751f1bcc46a8bd2c784f7540a1695c7586c8c4873095168b14c285be5", "signature": "public Color Ink", "summary": "cui_color ink" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }] }, + { "name": "CuiSharp.SignatureOpts", "displayName": "SignatureOpts", "kind": "struct", "summary": "Signature pad: draw with the mouse or a pen. The strokes are kept for you; read them with cui_signature_points (stroke_ends[i] is one past the last point of stroke i). All fields are optional; zero selects the native default.", "members": [{ "name": "Ink", "kind": "field", "id": "field|Ink|0|0|Color|||h1e489f3751f1bcc46a8bd2c784f7540a1695c7586c8c4873095168b14c285be5", "signature": "public Color Ink", "summary": "color of the strokes, default the foreground color" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }] }, { "name": "CuiSharp.Size", "displayName": "Size", "kind": "struct", "summary": "cui_size: FIT, FILL, a fixed size in points, or a percentage of the parent.", "members": [{ "name": "Fill", "kind": "field", "id": "field|Fill|1|0|Size|||h790115b6211329a34fc1b5834807c9eb7d393fea88cc38588cebb48424e35ea1", "signature": "public static readonly Size Fill" }, { "name": "Fit", "kind": "field", "id": "field|Fit|1|0|Size|||hdaa4842ff2d572e20f3cd6e736da2c5505704cc9c606c11a63518add68d41804", "signature": "public static readonly Size Fit" }, { "name": "Grow", "kind": "method", "id": "method|Grow|1|0|Size|float w||h5596ca63547629277fcdf13865a1ed206da91439840235e6710713bfd08ea4bd", "signature": "static Size Grow(float w)", "parameters": [{ "name": "w", "type": "float" }] }, { "name": "Percent", "kind": "method", "id": "method|Percent|1|0|Size|float p||heab4606395abad8b3c38a5d65afa384229a1999668ab119e49682d758090d023", "signature": "static Size Percent(float p)", "parameters": [{ "name": "p", "type": "float" }] }, { "name": "Px", "kind": "method", "id": "method|Px|1|0|Size|float v||h719d0c5ced61889c531b21ea4e449976a8a3dea18d23d3ec61f75cd39c82f204", "signature": "static Size Px(float v)", "parameters": [{ "name": "v", "type": "float" }] }, { "name": "implicit operator Size", "kind": "conversion", "id": "conversion|op_Implicit|1|0|Size|float points||haa7af4a383872bdd173c483aa2417db201ae049698d7e393bef2b4a290d48f0f", "signature": "static implicit operator Size(float points)", "member": "op_Implicit", "parameters": [{ "name": "points", "type": "float" }], "summary": "A bare number is a fixed size in points, so Width = 240 reads like every other layout value. Use Fill, Fit or Percent when the size is relative." }] }, { "name": "CuiSharp.SizeKind", "displayName": "SizeKind", "kind": "enum", "summary": "cui_size_kind", "members": [{ "name": "Fit", "kind": "enum value", "id": "enum value|Fit|1|0|||0|hcdd031f42e54d697a13b2efcae71f1bc9d7acfd1d0d99910b287245b73e035bc", "signature": "Fit = 0", "value": "0" }, { "name": "Fixed", "kind": "enum value", "id": "enum value|Fixed|1|0|||2|h6970e23dec123bc9a61175098a09ff33d85995ba44643367aecbdea462662478", "signature": "Fixed = 2", "value": "2" }, { "name": "Grow", "kind": "enum value", "id": "enum value|Grow|1|0|||1|h64ad9af845328d80462ccb115e33b85b01a66a2524b2116c36dc1526a4a4942a", "signature": "Grow = 1", "value": "1" }, { "name": "Percent", "kind": "enum value", "id": "enum value|Percent|1|0|||3|h335bc15932474690bbb8bf068ec30c38b8ce86636d11e701ce648866ccaf80dd", "signature": "Percent = 3", "value": "3" }] }, - { "name": "CuiSharp.SliderOpts", "displayName": "SliderOpts", "kind": "struct", "summary": "cui_slider_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "ShowValue", "kind": "field", "id": "field|ShowValue|0|0|bool|||hd0974546e5f5fd0d3590998a1e541a6ef369d199dd57720a3611943d5245da68", "signature": "public bool ShowValue", "summary": "_Bool show_value" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "0 = continuous" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "printf format for the value, default \u0022%.0f\u0022" }] }, - { "name": "CuiSharp.Source", "displayName": "Source", "kind": "struct", "summary": "cui_source. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Url = null;string? Snippet = null||h39e0a65c6c954596245d39a1b9a35ef0bb8f95e8bbf5ec0920915c9468f048bf", "signature": "Source(string? Title, string? Url = null, string? Snippet = null)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Url", "type": "string?", "default": "null" }, { "name": "Snippet", "type": "string?", "default": "null" }] }, { "name": "Snippet", "kind": "field", "id": "field|Snippet|0|0|string?|||hce8601e46b8098c0405f6b5767e2110391ffe8ecbe0d08165351569ed2e71ca2", "signature": "public string? Snippet", "summary": "const char * snippet" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }, { "name": "Url", "kind": "field", "id": "field|Url|0|0|string?|||h019bf1b15b950788d9efa2764da1816a2b3f9583d4fd74a01e5e11cc1ab6b5d9", "signature": "public string? Url", "summary": "const char * url" }] }, - { "name": "CuiSharp.SpeedAction", "displayName": "SpeedAction", "kind": "struct", "summary": "cui_speed_action. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Icon;string? Label = null||h2735c656af1a3e39a08390cc4dafa6e8fa78d7ad0ac7b4c6e8d46d9ab30a902b", "signature": "SpeedAction(string? Icon, string? Label = null)", "parameters": [{ "name": "Icon", "type": "string?" }, { "name": "Label", "type": "string?", "default": "null" }] }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, - { "name": "CuiSharp.SpeedDialOpts", "displayName": "SpeedDialOpts", "kind": "struct", "summary": "cui_speed_dial_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement placement" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|string?|||h82837286b4f40e657285a1f72d68bcf8fa107f1c1022330456870eeab4fce431", "signature": "public string? Tooltip", "summary": "const char * tooltip" }] }, - { "name": "CuiSharp.SplitBarOpts", "displayName": "SplitBarOpts", "kind": "struct", "summary": "cui_split_bar_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|bool|||h250c4eea95a5d266560d2d964fb9559196dd3c844895b86f25edb16e6fe18fef", "signature": "public bool NoLegend", "summary": "_Bool no_legend" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, - { "name": "CuiSharp.SplitButtonOpts", "displayName": "SplitButtonOpts", "kind": "struct", "summary": "cui_split_button_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "default primary" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "ItemIcons", "kind": "field", "id": "field|ItemIcons|0|0|string[]?|||hcaf91bea3358468010ed20f67d366d25d10034afbcebd60dc1efe82b736bcef4", "signature": "public string[]? ItemIcons", "summary": "const char *const * item_icons" }] }, - { "name": "CuiSharp.SplitOpts", "displayName": "SplitOpts", "kind": "struct", "summary": "cui_split_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "cui_size height" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Vertical", "kind": "field", "id": "field|Vertical|0|0|bool|||hfd18d3a96b7fc20c4a8bf4afbba876db1cf5ccde6a27c0179f2b46b01ecdbd8d", "signature": "public bool Vertical", "summary": "_Bool vertical" }, { "name": "MinFirst", "kind": "field", "id": "field|MinFirst|0|0|float|||h203ccf5752771158a9004b5869c64efac48743fd8ad2d4052049ab858c705911", "signature": "public float MinFirst", "summary": "float min_first" }, { "name": "MinSecond", "kind": "field", "id": "field|MinSecond|0|0|float|||hc79d7e0191f3217f02adf136ff4c3f9fbe0fad72ad8716f348481f65792590d7", "signature": "public float MinSecond", "summary": "float min_second" }] }, - { "name": "CuiSharp.SpotlightOpts", "displayName": "SpotlightOpts", "kind": "struct", "summary": "cui_spotlight_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "cui_size height" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Beam", "kind": "field", "id": "field|Beam|0|0|bool|||h94bae9852abad3bd381ea73d57f0b896f08f6d5f9a7fb68cce0f0c5f85159a0a", "signature": "public bool Beam", "summary": "_Bool beam" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float gap" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float pad" }] }, - { "name": "CuiSharp.StackFrame", "displayName": "StackFrame", "kind": "struct", "summary": "cui_stack_frame. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Function;string? File = null;int Line = default;int Column = default;bool External = default;string[]? Source = null;int SourceFirst = default||he4c88fd7ad093d972722ba4e5a587548b111212d4d273403f1addcba9af51ba8", "signature": "StackFrame(string? Function, string? File = null, int Line = default, int Column = default, bool External = default, string[]? Source = null, int SourceFirst = default)", "parameters": [{ "name": "Function", "type": "string?" }, { "name": "File", "type": "string?", "default": "null" }, { "name": "Line", "type": "int", "default": "default" }, { "name": "Column", "type": "int", "default": "default" }, { "name": "External", "type": "bool", "default": "default" }, { "name": "Source", "type": "string[]?", "default": "null" }, { "name": "SourceFirst", "type": "int", "default": "default" }] }, { "name": "External", "kind": "field", "id": "field|External|0|0|bool|||h17b17a8ebe312ce76e5204293f4544a40d41af42dfded01c79a3c6a1392eb1ff", "signature": "public bool External", "summary": "library or runtime code" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "1 based; 0 leaves it out" }, { "name": "Line", "kind": "field", "id": "field|Line|0|0|int|||h1879f4fdbcfa3a3747d1163cdd353585f2b2bd90bfd45d0dfb258aacbc098d3e", "signature": "public int Line", "summary": "1 based; 0 leaves it out" }, { "name": "SourceFirst", "kind": "field", "id": "field|SourceFirst|0|0|int|||hdbfe26cdd0e9e35221244418a1765d3b7ab294b68bdd1b1356d37e84561caf72", "signature": "public int SourceFirst", "summary": "line number of source[0]" }, { "name": "File", "kind": "field", "id": "field|File|0|0|string?|||hcb0b8d0218e8cf25aa697a2fe7d3f1b57e07380a5833c8f8df5ed5a679ae940a", "signature": "public string? File", "summary": "const char * file" }, { "name": "Function", "kind": "field", "id": "field|Function|0|0|string?|||h63bca84090f11c69fcfbed586b3dea60c3bff045be3cd738824a9ab3dcbf1a2c", "signature": "public string? Function", "summary": "const char * function" }, { "name": "Source", "kind": "field", "id": "field|Source|0|0|string[]?|||h06eff54a16a0ace906a605734f7edf82903829b89d67ba3bc94f2ffdd5e4c24c", "signature": "public string[]? Source", "summary": "lines around the frame, may be NULL" }] }, - { "name": "CuiSharp.StackTraceOpts", "displayName": "StackTraceOpts", "kind": "struct", "summary": "cui_stack_trace_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|string?|||h8fa7b7c8fe2a50b3a95391e856d3b6c823e1a596a3f5d40e9f37c84029dc2357", "signature": "public string? Lang", "summary": "highlights the source, as the code block" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|string?|||hef2e6225d86c6eb3366a0a172da793ed9f3ab16202af98b590c25bfb4adb1feb", "signature": "public string? Message", "summary": "\u0022Cannot read properties of undefined\u0022" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "\u0022TypeError\u0022" }] }, - { "name": "CuiSharp.StackTraceResult", "displayName": "StackTraceResult", "kind": "struct", "summary": "cui_stack_trace_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Clicked||ha42e5e32b4ac620e2d6f06d81ff8da5ffa676464f314186237b331b4317b8f7b", "signature": "StackTraceResult(int Clicked)", "parameters": [{ "name": "Clicked", "type": "int" }] }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "frame, or -1" }] }, - { "name": "CuiSharp.Status", "displayName": "Status", "kind": "enum", "summary": "cui_status", "members": [{ "name": "Busy", "kind": "enum value", "id": "enum value|Busy|1|0|||1|h378ab634bbf8bb78570fd40d5f1b7c6f8c45f221ee77b0cd236f479a1b9d7e17", "signature": "Busy = 1", "value": "1" }, { "name": "Error", "kind": "enum value", "id": "enum value|Error|1|0|||3|h68b7ce13e0519d729c752ef576237d56a4727cd9d47dd2fb3e15249371dc4aea", "signature": "Error = 3", "value": "3" }, { "name": "Idle", "kind": "enum value", "id": "enum value|Idle|1|0|||0|h20c3936fb6d84745aab37d74d712fd6dfdf7b2e28735244f399d17b466c6d050", "signature": "Idle = 0", "value": "0" }, { "name": "Success", "kind": "enum value", "id": "enum value|Success|1|0|||2|h9453fe91cad217e9affb373e791ef407f27e2a00453790c4bdd9a094e56d63dc", "signature": "Success = 2", "value": "2" }] }, - { "name": "CuiSharp.StatusBarOpts", "displayName": "StatusBarOpts", "kind": "struct", "summary": "cui_status_bar_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "NoBorder", "kind": "field", "id": "field|NoBorder|0|0|bool|||hb6606a0691e1878d2d505efaca98f05506ff46d2cad01766c9efde8a172544e3", "signature": "public bool NoBorder", "summary": "_Bool no_border" }] }, - { "name": "CuiSharp.StatusButtonOpts", "displayName": "StatusButtonOpts", "kind": "struct", "summary": "cui_status_button_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "default primary" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "BusyLabel", "kind": "field", "id": "field|BusyLabel|0|0|string?|||h0403c19987ce94fd75aa609b1dbae50ef96c5bcbc8372daae42c9c047aa504f9", "signature": "public string? BusyLabel", "summary": "default label \u002B \u0022...\u0022" }, { "name": "ErrorLabel", "kind": "field", "id": "field|ErrorLabel|0|0|string?|||h765709e038bdbddf204086838f91e505e493728bb83e20bf3f432835e10d0f61", "signature": "public string? ErrorLabel", "summary": "default \u0022Failed\u0022" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "SuccessLabel", "kind": "field", "id": "field|SuccessLabel|0|0|string?|||h00d5182028e0fcd6c82e33fbb6b7a8f27b8d1d43cc8587bb8294ce3e681aa459", "signature": "public string? SuccessLabel", "summary": "default \u0022Done\u0022" }] }, - { "name": "CuiSharp.StatusItemOpts", "displayName": "StatusItemOpts", "kind": "struct", "summary": "cui_status_item_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|string?|||h82837286b4f40e657285a1f72d68bcf8fa107f1c1022330456870eeab4fce431", "signature": "public string? Tooltip", "summary": "const char * tooltip" }] }, - { "name": "CuiSharp.StatusProgressOpts", "displayName": "StatusProgressOpts", "kind": "struct", "summary": "cui_status_progress_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Indeterminate", "kind": "field", "id": "field|Indeterminate|0|0|bool|||he38813187674932a5621bb6b38b49afa8004ab77baa2505c22f3600d136405a8", "signature": "public bool Indeterminate", "summary": "_Bool indeterminate" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float width" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, - { "name": "CuiSharp.SwFormat", "displayName": "SwFormat", "kind": "enum", "summary": "cui_sw_format", "members": [{ "name": "Bgra", "kind": "enum value", "id": "enum value|Bgra|1|0|||1|h8c5e5d26ea6e8313039382a525db7a512308017c8b8b62061deaa37e7c202df4", "signature": "Bgra = 1", "value": "1" }, { "name": "Rgba", "kind": "enum value", "id": "enum value|Rgba|1|0|||0|hc7fcacd0ab678cc1579948fc3eb8e07774063388065bdc4edb7957d68b3a2efa", "signature": "Rgba = 0", "value": "0" }] }, - { "name": "CuiSharp.SwipeAction", "displayName": "SwipeAction", "kind": "struct", "summary": "cui_swipe_action. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Icon;string? Label = null;Tone Tone = Tone.Neutral||h3975a6cdf5c88713cb133bb7305e3ebdb4495bb7bd3f114e9bcf9970469e5b68", "signature": "SwipeAction(string? Icon, string? Label = null, Tone Tone = Tone.Neutral)", "parameters": [{ "name": "Icon", "type": "string?" }, { "name": "Label", "type": "string?", "default": "null" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, - { "name": "CuiSharp.TabBarItem", "displayName": "TabBarItem", "kind": "struct", "summary": "cui_tab_bar_item. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Icon;string? Label = null;int Badge = default||hde457cb2a5b9ce1c1fb9e25bdf335be3001808caedb1d20900b1b1b34678ec84", "signature": "TabBarItem(string? Icon, string? Label = null, int Badge = default)", "parameters": [{ "name": "Icon", "type": "string?" }, { "name": "Label", "type": "string?", "default": "null" }, { "name": "Badge", "type": "int", "default": "default" }] }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|int|||h1ea0a5985eea3db7ed64622a6693b2d10e07bdfdc4610208a1b5ee962fce491c", "signature": "public int Badge", "summary": "int badge" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, - { "name": "CuiSharp.TabBarOpts", "displayName": "TabBarOpts", "kind": "struct", "summary": "cui_tab_bar_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "LabelsOnSelectedOnly", "kind": "field", "id": "field|LabelsOnSelectedOnly|0|0|bool|||h93eb4f461e702a18879a2a8f4f330ad0205586732b401def0874e804b16b7eb7", "signature": "public bool LabelsOnSelectedOnly", "summary": "_Bool labels_on_selected_only" }] }, - { "name": "CuiSharp.TableColumn", "displayName": "TableColumn", "kind": "struct", "summary": "cui_table_column. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;Size Width = default;TextAlign Align = TextAlign.Start;bool Sortable = default||hb239bc5cd660ab6314bf7c8024cf937f976f2238f0258bb4f53cdf3219c29eee", "signature": "TableColumn(string? Title, Size Width = default, TextAlign Align = TextAlign.Start, bool Sortable = default)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Width", "type": "Size", "default": "default" }, { "name": "Align", "type": "TextAlign", "default": "TextAlign.Start" }, { "name": "Sortable", "type": "bool", "default": "default" }] }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "cui_text_align align" }, { "name": "Sortable", "kind": "field", "id": "field|Sortable|0|0|bool|||ha21687844f87f043066ecf4a581aada41967a9906bbaa3897b2a88d640efc033", "signature": "public bool Sortable", "summary": "_Bool sortable" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, - { "name": "CuiSharp.TableOpts", "displayName": "TableOpts", "kind": "struct", "summary": "cui_table_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "scrolls when set" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|bool|||h5a2127a1e548266f50dbac415de28c4f38d4739bc0238184acf147186e6e67f6", "signature": "public bool Compact", "summary": "_Bool compact" }, { "name": "Selectable", "kind": "field", "id": "field|Selectable|0|0|bool|||h1a73ba6030aa83f21295dd2f784fe3b67bc0f00f1e6159545865f03b1c0cb4a4", "signature": "public bool Selectable", "summary": "_Bool selectable" }, { "name": "Striped", "kind": "field", "id": "field|Striped|0|0|bool|||h8ee3cac64f2feaa8e6270ae2b329845033941012b85937e8fd5ac134a90bb7dc", "signature": "public bool Striped", "summary": "_Bool striped" }] }, - { "name": "CuiSharp.TableSort", "displayName": "TableSort", "kind": "struct", "summary": "cui_table_sort. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Column;bool Descending = default||h0bdf2a03f829284a59c5a4e38dc34975c677cd3924924279015fe940d6e20401", "signature": "TableSort(int Column, bool Descending = default)", "parameters": [{ "name": "Column", "type": "int" }, { "name": "Descending", "type": "bool", "default": "default" }] }, { "name": "Descending", "kind": "field", "id": "field|Descending|0|0|bool|||h1a360352e80820c7abfc68e033c0efd7511fb05677a9bded45e8e83643b17746", "signature": "public bool Descending", "summary": "_Bool descending" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "int column" }] }, - { "name": "CuiSharp.TabsOpts", "displayName": "TabsOpts", "kind": "struct", "summary": "cui_tabs_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|TabsVariant|||h49f8a6f3a6cada318bc7957941b921d2719766718e3e73680559679aab99b41d", "signature": "public TabsVariant Variant", "summary": "cui_tabs_variant variant" }, { "name": "FullWidth", "kind": "field", "id": "field|FullWidth|0|0|bool|||hdc8aafcce927648adf0c0145203424f8957fc857f5c4d890241daae15b5eac45", "signature": "public bool FullWidth", "summary": "_Bool full_width" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|string[]?|||h94d3abfae1e4e3aa50724c6bacdb1588c24d26764115ffa57679ae941c7f8b22", "signature": "public string[]? Icons", "summary": "const char *const * icons" }] }, + { "name": "CuiSharp.SliderOpts", "displayName": "SliderOpts", "kind": "struct", "summary": "cui_slider_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "ShowValue", "kind": "field", "id": "field|ShowValue|0|0|bool|||hd0974546e5f5fd0d3590998a1e541a6ef369d199dd57720a3611943d5245da68", "signature": "public bool ShowValue", "summary": "_Bool show_value" }, { "name": "Step", "kind": "field", "id": "field|Step|0|0|float|||h0c90f87a47946c37f88110bf22e34747a17db5c6eac355fefc306b7187723b09", "signature": "public float Step", "summary": "0 = continuous" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "printf format for the value, default \u0022%.0f\u0022" }] }, + { "name": "CuiSharp.Source", "displayName": "Source", "kind": "struct", "summary": "Sources: cards for the documents an answer used, and inline citations that show a card on hover. Both return true / the index when clicked. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Url = null;string? Snippet = null||h39e0a65c6c954596245d39a1b9a35ef0bb8f95e8bbf5ec0920915c9468f048bf", "signature": "Source(string? Title, string? Url = null, string? Snippet = null)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Url", "type": "string?", "default": "null" }, { "name": "Snippet", "type": "string?", "default": "null" }] }, { "name": "Snippet", "kind": "field", "id": "field|Snippet|0|0|string?|||hce8601e46b8098c0405f6b5767e2110391ffe8ecbe0d08165351569ed2e71ca2", "signature": "public string? Snippet", "summary": "an excerpt, shown in the hover card of a citation" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "the card\u0027s heading; \u0060NULL\u0060 shows the URL\u0027s domain" }, { "name": "Url", "kind": "field", "id": "field|Url|0|0|string?|||h019bf1b15b950788d9efa2764da1816a2b3f9583d4fd74a01e5e11cc1ab6b5d9", "signature": "public string? Url", "summary": "the address: its domain is shown, and the whole URL as the card\u0027s tooltip" }] }, + { "name": "CuiSharp.SpeedAction", "displayName": "SpeedAction", "kind": "struct", "summary": "Speed dial: a round floating action button that fans out related actions. Returns the chosen action index, or -1. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Icon;string? Label = null||h2735c656af1a3e39a08390cc4dafa6e8fa78d7ad0ac7b4c6e8d46d9ab30a902b", "signature": "SpeedAction(string? Icon, string? Label = null)", "parameters": [{ "name": "Icon", "type": "string?" }, { "name": "Label", "type": "string?", "default": "null" }] }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, + { "name": "CuiSharp.SpeedDialOpts", "displayName": "SpeedDialOpts", "kind": "struct", "summary": "Speed dial: a round floating action button that fans out related actions. Returns the chosen action index, or -1. All fields are optional; zero selects the native default.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement placement" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|string?|||h82837286b4f40e657285a1f72d68bcf8fa107f1c1022330456870eeab4fce431", "signature": "public string? Tooltip", "summary": "const char * tooltip" }] }, + { "name": "CuiSharp.SplitBarOpts", "displayName": "SplitBarOpts", "kind": "struct", "summary": "Split bar: one bar split into parts, with a legend of values and shares. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "NoLegend", "kind": "field", "id": "field|NoLegend|0|0|bool|||h250c4eea95a5d266560d2d964fb9559196dd3c844895b86f25edb16e6fe18fef", "signature": "public bool NoLegend", "summary": "_Bool no_legend" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, + { "name": "CuiSharp.SplitButtonOpts", "displayName": "SplitButtonOpts", "kind": "struct", "summary": "Split button: a main action with a menu of related actions on the chevron. Returns 0 when the main part is clicked, 1 \u002B i when menu item i is chosen and -1 otherwise. All fields are optional; zero selects the native default.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "default primary" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "ItemIcons", "kind": "field", "id": "field|ItemIcons|0|0|string[]?|||hcaf91bea3358468010ed20f67d366d25d10034afbcebd60dc1efe82b736bcef4", "signature": "public string[]? ItemIcons", "summary": "one icon per menu item, in the order of the items; \u0060NULL\u0060 for none" }] }, + { "name": "CuiSharp.SplitOpts", "displayName": "SplitOpts", "kind": "struct", "summary": "Resizable split view: two panes with a draggable divider. \u0060ratio\u0060 is the size of the first pane in 0..1. Call cui_split_next between the panes. All fields are optional; zero selects the native default.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "cui_size height" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Vertical", "kind": "field", "id": "field|Vertical|0|0|bool|||hfd18d3a96b7fc20c4a8bf4afbba876db1cf5ccde6a27c0179f2b46b01ecdbd8d", "signature": "public bool Vertical", "summary": "_Bool vertical" }, { "name": "MinFirst", "kind": "field", "id": "field|MinFirst|0|0|float|||h203ccf5752771158a9004b5869c64efac48743fd8ad2d4052049ab858c705911", "signature": "public float MinFirst", "summary": "float min_first" }, { "name": "MinSecond", "kind": "field", "id": "field|MinSecond|0|0|float|||hc79d7e0191f3217f02adf136ff4c3f9fbe0fad72ad8716f348481f65792590d7", "signature": "public float MinSecond", "summary": "float min_second" }] }, + { "name": "CuiSharp.SpotlightOpts", "displayName": "SpotlightOpts", "kind": "struct", "summary": "Spotlight card: a soft light follows the pointer across the card and lights the nearest stretch of its border. beam sends a light around the edge. All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "cui_size height" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Beam", "kind": "field", "id": "field|Beam|0|0|bool|||h94bae9852abad3bd381ea73d57f0b896f08f6d5f9a7fb68cce0f0c5f85159a0a", "signature": "public bool Beam", "summary": "a light travels around the card\u0027s edge all the time" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float gap" }, { "name": "Pad", "kind": "field", "id": "field|Pad|0|0|float|||hc0c71e69f9b15d6abad4a13aff35117ed3688321c92801e20aa0ca1ac91b5739", "signature": "public float Pad", "summary": "float pad" }] }, + { "name": "CuiSharp.StackFrame", "displayName": "StackFrame", "kind": "struct", "summary": "An exception and its call stack: the error\u0027s type and message, then each frame\u0027s function and position. Runs of library frames fold into one row. A frame with source opens to show the lines around it, the failing line marked; the first frame of your own code starts open. A button copies the whole trace as text. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Function;string? File = null;int Line = default;int Column = default;bool External = default;string[]? Source = null;int SourceFirst = default||he4c88fd7ad093d972722ba4e5a587548b111212d4d273403f1addcba9af51ba8", "signature": "StackFrame(string? Function, string? File = null, int Line = default, int Column = default, bool External = default, string[]? Source = null, int SourceFirst = default)", "parameters": [{ "name": "Function", "type": "string?" }, { "name": "File", "type": "string?", "default": "null" }, { "name": "Line", "type": "int", "default": "default" }, { "name": "Column", "type": "int", "default": "default" }, { "name": "External", "type": "bool", "default": "default" }, { "name": "Source", "type": "string[]?", "default": "null" }, { "name": "SourceFirst", "type": "int", "default": "default" }] }, { "name": "External", "kind": "field", "id": "field|External|0|0|bool|||h17b17a8ebe312ce76e5204293f4544a40d41af42dfded01c79a3c6a1392eb1ff", "signature": "public bool External", "summary": "library or runtime code" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "1 based; 0 leaves it out" }, { "name": "Line", "kind": "field", "id": "field|Line|0|0|int|||h1879f4fdbcfa3a3747d1163cdd353585f2b2bd90bfd45d0dfb258aacbc098d3e", "signature": "public int Line", "summary": "1 based; 0 leaves it out" }, { "name": "SourceFirst", "kind": "field", "id": "field|SourceFirst|0|0|int|||hdbfe26cdd0e9e35221244418a1765d3b7ab294b68bdd1b1356d37e84561caf72", "signature": "public int SourceFirst", "summary": "line number of source[0]" }, { "name": "File", "kind": "field", "id": "field|File|0|0|string?|||hcb0b8d0218e8cf25aa697a2fe7d3f1b57e07380a5833c8f8df5ed5a679ae940a", "signature": "public string? File", "summary": "path shown with the line and column; on a phone only the file\u0027s name" }, { "name": "Function", "kind": "field", "id": "field|Function|0|0|string?|||h63bca84090f11c69fcfbed586b3dea60c3bff045be3cd738824a9ab3dcbf1a2c", "signature": "public string? Function", "summary": "name of the function; \u0060NULL\u0060 or \u0022\u0022 shows as \u003Canonymous\u003E" }, { "name": "Source", "kind": "field", "id": "field|Source|0|0|string[]?|||h06eff54a16a0ace906a605734f7edf82903829b89d67ba3bc94f2ffdd5e4c24c", "signature": "public string[]? Source", "summary": "lines around the frame, may be NULL" }] }, + { "name": "CuiSharp.StackTraceOpts", "displayName": "StackTraceOpts", "kind": "struct", "summary": "An exception and its call stack: the error\u0027s type and message, then each frame\u0027s function and position. Runs of library frames fold into one row. A frame with source opens to show the lines around it, the failing line marked; the first frame of your own code starts open. A button copies the whole trace as text. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Lang", "kind": "field", "id": "field|Lang|0|0|string?|||h8fa7b7c8fe2a50b3a95391e856d3b6c823e1a596a3f5d40e9f37c84029dc2357", "signature": "public string? Lang", "summary": "highlights the source, as the code block" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|string?|||hef2e6225d86c6eb3366a0a172da793ed9f3ab16202af98b590c25bfb4adb1feb", "signature": "public string? Message", "summary": "\u0022Cannot read properties of undefined\u0022" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "\u0022TypeError\u0022" }] }, + { "name": "CuiSharp.StackTraceResult", "displayName": "StackTraceResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Clicked||ha42e5e32b4ac620e2d6f06d81ff8da5ffa676464f314186237b331b4317b8f7b", "signature": "StackTraceResult(int Clicked)", "parameters": [{ "name": "Clicked", "type": "int" }] }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "frame, or -1" }] }, + { "name": "CuiSharp.Status", "displayName": "Status", "kind": "enum", "summary": "Button that shows the result of the work it started: idle, a spinner while busy, then a check (or an error) that settles back. Width morphs smoothly between the states. Returns true when clicked while idle.", "members": [{ "name": "Busy", "kind": "enum value", "id": "enum value|Busy|1|0|||1|h378ab634bbf8bb78570fd40d5f1b7c6f8c45f221ee77b0cd236f479a1b9d7e17", "signature": "Busy = 1", "value": "1" }, { "name": "Error", "kind": "enum value", "id": "enum value|Error|1|0|||3|h68b7ce13e0519d729c752ef576237d56a4727cd9d47dd2fb3e15249371dc4aea", "signature": "Error = 3", "value": "3" }, { "name": "Idle", "kind": "enum value", "id": "enum value|Idle|1|0|||0|h20c3936fb6d84745aab37d74d712fd6dfdf7b2e28735244f399d17b466c6d050", "signature": "Idle = 0", "value": "0" }, { "name": "Success", "kind": "enum value", "id": "enum value|Success|1|0|||2|h9453fe91cad217e9affb373e791ef407f27e2a00453790c4bdd9a094e56d63dc", "signature": "Success = 2", "value": "2" }] }, + { "name": "CuiSharp.StatusBarOpts", "displayName": "StatusBarOpts", "kind": "struct", "summary": "Status bar: a thin bar along the bottom of a window, with a hairline on top and no fill of its own (put it in a box with the background you want). Items go left to right; cui_status_bar_spacer sends the rest to the right edge. All fields are optional; zero selects the native default.", "members": [{ "name": "NoBorder", "kind": "field", "id": "field|NoBorder|0|0|bool|||hb6606a0691e1878d2d505efaca98f05506ff46d2cad01766c9efde8a172544e3", "signature": "public bool NoBorder", "summary": "_Bool no_border" }] }, + { "name": "CuiSharp.StatusButtonOpts", "displayName": "StatusButtonOpts", "kind": "struct", "summary": "cui_status_button_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|ButtonVariant|||h7b0e90262431904c9074f1d022ec6c9718cb83c4c116f49c1cedf677a7b35f5e", "signature": "public ButtonVariant Variant", "summary": "default primary" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "BusyLabel", "kind": "field", "id": "field|BusyLabel|0|0|string?|||h0403c19987ce94fd75aa609b1dbae50ef96c5bcbc8372daae42c9c047aa504f9", "signature": "public string? BusyLabel", "summary": "default label \u002B \u0022...\u0022" }, { "name": "ErrorLabel", "kind": "field", "id": "field|ErrorLabel|0|0|string?|||h765709e038bdbddf204086838f91e505e493728bb83e20bf3f432835e10d0f61", "signature": "public string? ErrorLabel", "summary": "default \u0022Failed\u0022" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "SuccessLabel", "kind": "field", "id": "field|SuccessLabel|0|0|string?|||h00d5182028e0fcd6c82e33fbb6b7a8f27b8d1d43cc8587bb8294ce3e681aa459", "signature": "public string? SuccessLabel", "summary": "default \u0022Done\u0022" }] }, + { "name": "CuiSharp.StatusItemOpts", "displayName": "StatusItemOpts", "kind": "struct", "summary": "cui_status_item_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|string?|||h82837286b4f40e657285a1f72d68bcf8fa107f1c1022330456870eeab4fce431", "signature": "public string? Tooltip", "summary": "const char * tooltip" }] }, + { "name": "CuiSharp.StatusProgressOpts", "displayName": "StatusProgressOpts", "kind": "struct", "summary": "A small progress bar with an optional label. value is 0..1. All fields are optional; zero selects the native default.", "members": [{ "name": "Indeterminate", "kind": "field", "id": "field|Indeterminate|0|0|bool|||he38813187674932a5621bb6b38b49afa8004ab77baa2505c22f3600d136405a8", "signature": "public bool Indeterminate", "summary": "_Bool indeterminate" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float width" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, + { "name": "CuiSharp.SwFormat", "displayName": "SwFormat", "kind": "enum", "summary": "cui_sw_format", "members": [{ "name": "Bgra", "kind": "enum value", "id": "enum value|Bgra|1|0|||1|h8c5e5d26ea6e8313039382a525db7a512308017c8b8b62061deaa37e7c202df4", "signature": "Bgra = 1", "summary": "bytes B, G, R, A in memory (Win32 DIBs, X11, Cairo)", "value": "1" }, { "name": "Rgba", "kind": "enum value", "id": "enum value|Rgba|1|0|||0|hc7fcacd0ab678cc1579948fc3eb8e07774063388065bdc4edb7957d68b3a2efa", "signature": "Rgba = 0", "summary": "bytes R, G, B, A in memory", "value": "0" }] }, + { "name": "CuiSharp.SwipeAction", "displayName": "SwipeAction", "kind": "struct", "summary": "Swipe actions: drag a row sideways (or swipe on a trackpad) to reveal actions behind it. A long swipe triggers the first action. The row content goes between begin and end; end returns the chosen action: 0..left_count-1 for left actions, 100 \u002B i for right actions, or -1. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Icon;string? Label = null;Tone Tone = Tone.Neutral||h3975a6cdf5c88713cb133bb7305e3ebdb4495bb7bd3f114e9bcf9970469e5b68", "signature": "SwipeAction(string? Icon, string? Label = null, Tone Tone = Tone.Neutral)", "parameters": [{ "name": "Icon", "type": "string?" }, { "name": "Label", "type": "string?", "default": "null" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, + { "name": "CuiSharp.TabBarItem", "displayName": "TabBarItem", "kind": "struct", "summary": "Bottom tab bar for compact layouts, with a pill that glides to the selection. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Icon;string? Label = null;int Badge = default||hde457cb2a5b9ce1c1fb9e25bdf335be3001808caedb1d20900b1b1b34678ec84", "signature": "TabBarItem(string? Icon, string? Label = null, int Badge = default)", "parameters": [{ "name": "Icon", "type": "string?" }, { "name": "Label", "type": "string?", "default": "null" }, { "name": "Badge", "type": "int", "default": "default" }] }, { "name": "Badge", "kind": "field", "id": "field|Badge|0|0|int|||h1ea0a5985eea3db7ed64622a6693b2d10e07bdfdc4610208a1b5ee962fce491c", "signature": "public int Badge", "summary": "a count on the icon (\u00229\u002B\u0022 above 9); 0 for none" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, + { "name": "CuiSharp.TabBarOpts", "displayName": "TabBarOpts", "kind": "struct", "summary": "Bottom tab bar for compact layouts, with a pill that glides to the selection. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "LabelsOnSelectedOnly", "kind": "field", "id": "field|LabelsOnSelectedOnly|0|0|bool|||h93eb4f461e702a18879a2a8f4f330ad0205586732b401def0874e804b16b7eb7", "signature": "public bool LabelsOnSelectedOnly", "summary": "only the selected tab shows its label; the others show just their icon" }] }, + { "name": "CuiSharp.TableColumn", "displayName": "TableColumn", "kind": "struct", "summary": "Table Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;Size Width = default;TextAlign Align = TextAlign.Start;bool Sortable = default||hb239bc5cd660ab6314bf7c8024cf937f976f2238f0258bb4f53cdf3219c29eee", "signature": "TableColumn(string? Title, Size Width = default, TextAlign Align = TextAlign.Start, bool Sortable = default)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Width", "type": "Size", "default": "default" }, { "name": "Align", "type": "TextAlign", "default": "TextAlign.Start" }, { "name": "Sortable", "type": "bool", "default": "default" }] }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "cui_text_align align" }, { "name": "Sortable", "kind": "field", "id": "field|Sortable|0|0|bool|||ha21687844f87f043066ecf4a581aada41967a9906bbaa3897b2a88d640efc033", "signature": "public bool Sortable", "summary": "_Bool sortable" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "text of the column\u0027s header" }] }, + { "name": "CuiSharp.TableOpts", "displayName": "TableOpts", "kind": "struct", "summary": "cui_table_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "scrolls when set" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|bool|||h5a2127a1e548266f50dbac415de28c4f38d4739bc0238184acf147186e6e67f6", "signature": "public bool Compact", "summary": "rows at least 36 points tall instead of 44" }, { "name": "Selectable", "kind": "field", "id": "field|Selectable|0|0|bool|||h1a73ba6030aa83f21295dd2f784fe3b67bc0f00f1e6159545865f03b1c0cb4a4", "signature": "public bool Selectable", "summary": "rows take keyboard focus and show the hand cursor (pass the chosen row\u0027s state to \u0060cui_table_row\u0060)" }, { "name": "Striped", "kind": "field", "id": "field|Striped|0|0|bool|||h8ee3cac64f2feaa8e6270ae2b329845033941012b85937e8fd5ac134a90bb7dc", "signature": "public bool Striped", "summary": "_Bool striped" }] }, + { "name": "CuiSharp.TableSort", "displayName": "TableSort", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Column;bool Descending = default||h0bdf2a03f829284a59c5a4e38dc34975c677cd3924924279015fe940d6e20401", "signature": "TableSort(int Column, bool Descending = default)", "parameters": [{ "name": "Column", "type": "int" }, { "name": "Descending", "type": "bool", "default": "default" }] }, { "name": "Descending", "kind": "field", "id": "field|Descending|0|0|bool|||h1a360352e80820c7abfc68e033c0efd7511fb05677a9bded45e8e83643b17746", "signature": "public bool Descending", "summary": "_Bool descending" }, { "name": "Column", "kind": "field", "id": "field|Column|0|0|int|||hb93bf5690ed5508fe10b0f439cd4464aab3f031472de30cfaf0930715854f5a4", "signature": "public int Column", "summary": "int column" }] }, + { "name": "CuiSharp.TabsOpts", "displayName": "TabsOpts", "kind": "struct", "summary": "cui_tabs_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Variant", "kind": "field", "id": "field|Variant|0|0|TabsVariant|||h49f8a6f3a6cada318bc7957941b921d2719766718e3e73680559679aab99b41d", "signature": "public TabsVariant Variant", "summary": "cui_tabs_variant variant" }, { "name": "FullWidth", "kind": "field", "id": "field|FullWidth|0|0|bool|||hdc8aafcce927648adf0c0145203424f8957fc857f5c4d890241daae15b5eac45", "signature": "public bool FullWidth", "summary": "_Bool full_width" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|string[]?|||h94d3abfae1e4e3aa50724c6bacdb1588c24d26764115ffa57679ae941c7f8b22", "signature": "public string[]? Icons", "summary": "const char *const * icons" }] }, { "name": "CuiSharp.TabsVariant", "displayName": "TabsVariant", "kind": "enum", "summary": "cui_tabs_variant", "members": [{ "name": "Pill", "kind": "enum value", "id": "enum value|Pill|1|0|||1|h8ee7ccf29aba7d6b7ec2355c686fbdd019f4da4ab5c390de8702d5613e71ff66", "signature": "Pill = 1", "value": "1" }, { "name": "Underline", "kind": "enum value", "id": "enum value|Underline|1|0|||0|heec07c0faa5bc1f63dbd25ceb654980dca96b37125d8e7e19137e5c5542d667f", "signature": "Underline = 0", "value": "0" }] }, - { "name": "CuiSharp.TagOpts", "displayName": "TagOpts", "kind": "struct", "summary": "cui_tag_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "MaxTags", "kind": "field", "id": "field|MaxTags|0|0|int|||h8b26d1afd151f6d00ddf61355c9b723d07f9b163c1b15507df383533264ce0ab", "signature": "public int MaxTags", "summary": "int max_tags" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }] }, + { "name": "CuiSharp.TagOpts", "displayName": "TagOpts", "kind": "struct", "summary": "Tag input: tags are stored comma separated in buf. Enter or comma adds the typed tag, Backspace on an empty field removes the last one. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "MaxTags", "kind": "field", "id": "field|MaxTags|0|0|int|||h8b26d1afd151f6d00ddf61355c9b723d07f9b163c1b15507df383533264ce0ab", "signature": "public int MaxTags", "summary": "most tags the field holds; once reached it takes no more typing. 0 means no limit" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }, { "name": "Placeholder", "kind": "field", "id": "field|Placeholder|0|0|string?|||hbe61d1785f65fabbd3ef4afbfb40a45eae9d76cb4082fe468fe662c6a46ecb72", "signature": "public string? Placeholder", "summary": "const char * placeholder" }] }, { "name": "CuiSharp.Terminal", "displayName": "Terminal", "kind": "class", "summary": "A terminal\u0027s scrollback and its line index, owned by managed code. CUI keeps the text in a buffer the app supplies, so this type owns that storage and keeps it valid: an unmanaged text block plus the line ring behind it. Write with Write, Write or an interpolated string, then draw it with ui.Terminal(id, terminal, opts). The ring recycles the oldest lines when it fills, so a long-running log never has to grow; Clear empties it.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int maxLines = 500;int maxChars = 65536||h470d76ea89a1c94ac1b1a71181ba9e2e25595945088fd78c030d4e4d65ac6089", "signature": "Terminal(int maxLines = 500, int maxChars = 65536)", "parameters": [{ "name": "maxLines", "type": "int", "default": "500" }, { "name": "maxChars", "type": "int", "default": "65536" }], "summary": "Creates a terminal with a fixed scrollback size." }, { "name": "LineCount", "kind": "property", "id": "property|LineCount|0|0|int||get;|hccbe0d10fc4cba769fdf8bce186b88747cbf2bca89c28ea1307a990b730397dc", "signature": "int LineCount { get; }", "summary": "Lines currently in the scrollback, including the one being written." }, { "name": "TotalLines", "kind": "property", "id": "property|TotalLines|0|0|ulong||get;|h278c4dd16e141f4395398ec1ff80e516fb4a90a880be506e1993f9a16bd317aa", "signature": "ulong TotalLines { get; }", "summary": "Lines ever started, so a caller can tell an empty terminal from a scrolled one." }, { "name": "Clear", "kind": "method", "id": "method|Clear|0|0|void|||h9dc9f5ebe2d0fc5a7062ed0b58be5aadd046849041bb7d63ac9b387851728fe8", "signature": "void Clear()", "summary": "Empties the scrollback, leaving one empty line." }, { "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()" }, { "name": "Write", "kind": "method", "id": "method|Write|0|0|void|ReadOnlySpan\u003Cbyte\u003E utf8||h8fe8907e0c2ef9b0917714e8359bc752a00f15e967215dc287c34e173ff31700", "signature": "void Write(ReadOnlySpan\u003Cbyte\u003E utf8)", "parameters": [{ "name": "utf8", "type": "ReadOnlySpan\u003Cbyte\u003E" }], "summary": "Appends UTF-8 text, interpreting \\n, \\r, \\t, \\b and ANSI SGR colours." }, { "name": "Write", "kind": "method", "id": "method|Write|0|0|void|string? text||h8a0dc0c50258d2942ea4556cc038f9f61fd651794e249ea6596045d8ab581e63", "signature": "void Write(string? text)", "parameters": [{ "name": "text", "type": "string?" }], "summary": "Appends text, interpreting \\n, \\r, \\t, \\b and ANSI SGR colours." }, { "name": "WriteLine", "kind": "method", "id": "method|WriteLine|0|0|void|string? text||h49ba439d2981699955fa3657bf89a801474697369593bd0e598a38b77310d6f7", "signature": "void WriteLine(string? text)", "parameters": [{ "name": "text", "type": "string?" }], "summary": "Appends one line and starts a new one." }] }, - { "name": "CuiSharp.TerminalOpts", "displayName": "TerminalOpts", "kind": "struct", "summary": "cui_terminal_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "NoInput", "kind": "field", "id": "field|NoInput|0|0|bool|||h5751fec1ea64489ef496c378dc86e188c0c92abbca35d28332c835f99baa2052", "signature": "public bool NoInput", "summary": "output only" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320; negative fills the space" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 13" }, { "name": "Prompt", "kind": "field", "id": "field|Prompt|0|0|string?|||h451a5e8b7aa4a14280613568617226b5573fbb551c31b0b7fe9c33b136ce1eb5", "signature": "public string? Prompt", "summary": "default \u0022$ \u0022" }] }, - { "name": "CuiSharp.TerminalResult", "displayName": "TerminalResult", "kind": "struct", "summary": "cui_terminal_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Command;bool Interrupt = default||hb9c9fc210ac716512de52c6a2e77e0872954e629f5e6f211ced782976a0a086a", "signature": "TerminalResult(string? Command, bool Interrupt = default)", "parameters": [{ "name": "Command", "type": "string?" }, { "name": "Interrupt", "type": "bool", "default": "default" }] }, { "name": "Interrupt", "kind": "field", "id": "field|Interrupt|0|0|bool|||hcd6bb3802ee93b93c229b22dc4f7f8be2e11ab1bee985b5ccdaa8ceb7993b60f", "signature": "public bool Interrupt", "summary": "Ctrl\u002BC with nothing selected" }, { "name": "Command", "kind": "field", "id": "field|Command|0|0|string?|||h102268d764529c1c4e1c301f36fa8e23135fc6d5efb34c8b2f9d67ec59145719", "signature": "public string? Command", "summary": "the line entered (Enter), already echoed; valid this frame" }] }, - { "name": "CuiSharp.TestExplorerOpts", "displayName": "TestExplorerOpts", "kind": "struct", "summary": "cui_test_explorer_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default 320" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320" }] }, - { "name": "CuiSharp.TestExplorerResult", "displayName": "TestExplorerResult", "kind": "struct", "summary": "cui_test_explorer_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Selected;int Activated = default;int Run = default;bool RunAll = default;int Passed = default;int Failed = default;int Skipped = default;int Total = default||h9259b82a75ad6dca89e55663dba836fdbaad0a7a0286dc59724c92e0ac55df92", "signature": "TestExplorerResult(int Selected, int Activated = default, int Run = default, bool RunAll = default, int Passed = default, int Failed = default, int Skipped = default, int Total = default)", "parameters": [{ "name": "Selected", "type": "int" }, { "name": "Activated", "type": "int", "default": "default" }, { "name": "Run", "type": "int", "default": "default" }, { "name": "RunAll", "type": "bool", "default": "default" }, { "name": "Passed", "type": "int", "default": "default" }, { "name": "Failed", "type": "int", "default": "default" }, { "name": "Skipped", "type": "int", "default": "default" }, { "name": "Total", "type": "int", "default": "default" }] }, { "name": "RunAll", "kind": "field", "id": "field|RunAll|0|0|bool|||h88b3c69231e42061271d0f1fa6f711106ea7bacadb202da4bc197feec04a1363", "signature": "public bool RunAll", "summary": "_Bool run_all" }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "items, or -1" }, { "name": "Failed", "kind": "field", "id": "field|Failed|0|0|int|||h954e3e1cff0f1c1bb6525eb637eb532fe3800ffae0e88a17e8937e71770eb878", "signature": "public int Failed", "summary": "tests, not suites" }, { "name": "Passed", "kind": "field", "id": "field|Passed|0|0|int|||ha54154687a68e2d3d923fd44deff6ffd7b2827cd859fd5c85fb74ca762065819", "signature": "public int Passed", "summary": "tests, not suites" }, { "name": "Run", "kind": "field", "id": "field|Run|0|0|int|||h0ec7bdebf60675d120297a95cf2c08e9e717550db21f2ba45d23e163df40ba24", "signature": "public int Run", "summary": "item whose run button was pressed this frame, or -1" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "items, or -1" }, { "name": "Skipped", "kind": "field", "id": "field|Skipped|0|0|int|||h9233e29a38823c989e2d1ba105e13aa0edb8fb494155446c9779f82e28e85383", "signature": "public int Skipped", "summary": "tests, not suites" }, { "name": "Total", "kind": "field", "id": "field|Total|0|0|int|||h2541c69f06cf8d174824c50787be284aaf2e18bcc6734e72b01d11fde3e30f21", "signature": "public int Total", "summary": "tests, not suites" }] }, - { "name": "CuiSharp.TestItem", "displayName": "TestItem", "kind": "struct", "summary": "cui_test_item. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;int Depth = default;JobStatus Status = JobStatus.Pending;float Duration = default;string? Message = null||h68299cc02838d0bbbaf19c50d166a72f839f1de71cd868c55290bcc71b4c26b5", "signature": "TestItem(string? Name, int Depth = default, JobStatus Status = JobStatus.Pending, float Duration = default, string? Message = null)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Depth", "type": "int", "default": "default" }, { "name": "Status", "type": "JobStatus", "default": "JobStatus.Pending" }, { "name": "Duration", "type": "float", "default": "default" }, { "name": "Message", "type": "string?", "default": "null" }] }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|JobStatus|||h8dbfd9370caabecd55d2b859321b59d6a4ee052ab7364783aff88cbd0eff2901", "signature": "public JobStatus Status", "summary": "a suite\u0027s own status is ignored when it has tests" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "seconds, negative when it has not run" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "0 for the top suites" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|string?|||hef2e6225d86c6eb3366a0a172da793ed9f3ab16202af98b590c25bfb4adb1feb", "signature": "public string? Message", "summary": "why it failed, may be NULL" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }] }, + { "name": "CuiSharp.TerminalOpts", "displayName": "TerminalOpts", "kind": "struct", "summary": "cui_terminal_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "NoInput", "kind": "field", "id": "field|NoInput|0|0|bool|||h5751fec1ea64489ef496c378dc86e188c0c92abbca35d28332c835f99baa2052", "signature": "public bool NoInput", "summary": "output only" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320; negative fills the space" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "font size, default 13" }, { "name": "Prompt", "kind": "field", "id": "field|Prompt|0|0|string?|||h451a5e8b7aa4a14280613568617226b5573fbb551c31b0b7fe9c33b136ce1eb5", "signature": "public string? Prompt", "summary": "default \u0022$ \u0022" }] }, + { "name": "CuiSharp.TerminalResult", "displayName": "TerminalResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Command;bool Interrupt = default||hb9c9fc210ac716512de52c6a2e77e0872954e629f5e6f211ced782976a0a086a", "signature": "TerminalResult(string? Command, bool Interrupt = default)", "parameters": [{ "name": "Command", "type": "string?" }, { "name": "Interrupt", "type": "bool", "default": "default" }] }, { "name": "Interrupt", "kind": "field", "id": "field|Interrupt|0|0|bool|||hcd6bb3802ee93b93c229b22dc4f7f8be2e11ab1bee985b5ccdaa8ceb7993b60f", "signature": "public bool Interrupt", "summary": "Ctrl\u002BC with nothing selected" }, { "name": "Command", "kind": "field", "id": "field|Command|0|0|string?|||h102268d764529c1c4e1c301f36fa8e23135fc6d5efb34c8b2f9d67ec59145719", "signature": "public string? Command", "summary": "the line entered (Enter), already echoed; valid this frame" }] }, + { "name": "CuiSharp.TestExplorerOpts", "displayName": "TestExplorerOpts", "kind": "struct", "summary": "Test results as a tree: suites fold, each test shows its status and time, and a failure shows its message under it. A suite\u0027s status sums up its tests. The toolbar runs everything, counts results and filters by status and by name. Hover a row for its run button. Only the rows in view are built. Up and Down move, Left and Right fold, Enter activates. Items are in tree order with their depth; the statuses are the pipeline\u0027s. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default 320" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320" }] }, + { "name": "CuiSharp.TestExplorerResult", "displayName": "TestExplorerResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Selected;int Activated = default;int Run = default;bool RunAll = default;int Passed = default;int Failed = default;int Skipped = default;int Total = default||h9259b82a75ad6dca89e55663dba836fdbaad0a7a0286dc59724c92e0ac55df92", "signature": "TestExplorerResult(int Selected, int Activated = default, int Run = default, bool RunAll = default, int Passed = default, int Failed = default, int Skipped = default, int Total = default)", "parameters": [{ "name": "Selected", "type": "int" }, { "name": "Activated", "type": "int", "default": "default" }, { "name": "Run", "type": "int", "default": "default" }, { "name": "RunAll", "type": "bool", "default": "default" }, { "name": "Passed", "type": "int", "default": "default" }, { "name": "Failed", "type": "int", "default": "default" }, { "name": "Skipped", "type": "int", "default": "default" }, { "name": "Total", "type": "int", "default": "default" }] }, { "name": "RunAll", "kind": "field", "id": "field|RunAll|0|0|bool|||h88b3c69231e42061271d0f1fa6f711106ea7bacadb202da4bc197feec04a1363", "signature": "public bool RunAll", "summary": "the Run all button was pressed this frame" }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "items, or -1" }, { "name": "Failed", "kind": "field", "id": "field|Failed|0|0|int|||h954e3e1cff0f1c1bb6525eb637eb532fe3800ffae0e88a17e8937e71770eb878", "signature": "public int Failed", "summary": "tests, not suites" }, { "name": "Passed", "kind": "field", "id": "field|Passed|0|0|int|||ha54154687a68e2d3d923fd44deff6ffd7b2827cd859fd5c85fb74ca762065819", "signature": "public int Passed", "summary": "tests, not suites" }, { "name": "Run", "kind": "field", "id": "field|Run|0|0|int|||h0ec7bdebf60675d120297a95cf2c08e9e717550db21f2ba45d23e163df40ba24", "signature": "public int Run", "summary": "item whose run button was pressed this frame, or -1" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|int|||hd98912bfc567742bd8241eb3f21d509fffc5e92c09441b5ff08a59d14bcf1553", "signature": "public int Selected", "summary": "items, or -1" }, { "name": "Skipped", "kind": "field", "id": "field|Skipped|0|0|int|||h9233e29a38823c989e2d1ba105e13aa0edb8fb494155446c9779f82e28e85383", "signature": "public int Skipped", "summary": "tests, not suites" }, { "name": "Total", "kind": "field", "id": "field|Total|0|0|int|||h2541c69f06cf8d174824c50787be284aaf2e18bcc6734e72b01d11fde3e30f21", "signature": "public int Total", "summary": "tests, not suites" }] }, + { "name": "CuiSharp.TestItem", "displayName": "TestItem", "kind": "struct", "summary": "Test results as a tree: suites fold, each test shows its status and time, and a failure shows its message under it. A suite\u0027s status sums up its tests. The toolbar runs everything, counts results and filters by status and by name. Hover a row for its run button. Only the rows in view are built. Up and Down move, Left and Right fold, Enter activates. Items are in tree order with their depth; the statuses are the pipeline\u0027s. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;int Depth = default;JobStatus Status = JobStatus.Pending;float Duration = default;string? Message = null||h68299cc02838d0bbbaf19c50d166a72f839f1de71cd868c55290bcc71b4c26b5", "signature": "TestItem(string? Name, int Depth = default, JobStatus Status = JobStatus.Pending, float Duration = default, string? Message = null)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Depth", "type": "int", "default": "default" }, { "name": "Status", "type": "JobStatus", "default": "JobStatus.Pending" }, { "name": "Duration", "type": "float", "default": "default" }, { "name": "Message", "type": "string?", "default": "null" }] }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|JobStatus|||h8dbfd9370caabecd55d2b859321b59d6a4ee052ab7364783aff88cbd0eff2901", "signature": "public JobStatus Status", "summary": "a suite\u0027s own status is ignored when it has tests" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "seconds, negative when it has not run" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "0 for the top suites" }, { "name": "Message", "kind": "field", "id": "field|Message|0|0|string?|||hef2e6225d86c6eb3366a0a172da793ed9f3ab16202af98b590c25bfb4adb1feb", "signature": "public string? Message", "summary": "why it failed, may be NULL" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "name of the suite or test; the toolbar\u0027s field filters by it" }] }, { "name": "CuiSharp.TextAlign", "displayName": "TextAlign", "kind": "enum", "summary": "cui_text_align", "members": [{ "name": "Center", "kind": "enum value", "id": "enum value|Center|1|0|||1|h4686332f74612068f01a4f33de206306d6fb2c9c2179083777b04e191a22c459", "signature": "Center = 1", "value": "1" }, { "name": "End", "kind": "enum value", "id": "enum value|End|1|0|||4|h89bf9f40742bd2f9c5fab43da2e39ff58c9a085150662373e119b920fdecb6e3", "signature": "End = 4", "value": "4" }, { "name": "Left", "kind": "enum value", "id": "enum value|Left|1|0|||3|heb11e40928826e6e89050314c8a90225a5e0aeef58e5238a505c274183aa0739", "signature": "Left = 3", "value": "3" }, { "name": "Right", "kind": "enum value", "id": "enum value|Right|1|0|||2|h04490d416bd05ae4ce2e2653a2b85d7aeb03d602051b05e2e85af2f720b753c6", "signature": "Right = 2", "value": "2" }, { "name": "Start", "kind": "enum value", "id": "enum value|Start|1|0|||0|h7ed6ed3a37dd742f4ad5c45d58358615134c8004790a39b9f752c72aff023900", "signature": "Start = 0", "value": "0" }] }, { "name": "CuiSharp.TextBuffer", "displayName": "TextBuffer", "kind": "class", "summary": "Unmanaged, NUL-terminated UTF-8 storage that CUI can read and write: the value of an editable field lives here, not in a managed string. One allocation per buffer for the lifetime of the app. Reading costs one decode; Utf8 exposes it as a span without allocating, and Value decodes only when the text actually changed \u2014 CuiSharp invalidates the cached string when a widget reports an edit.", "members": [{ "name": "Utf8", "kind": "property", "id": "property|Utf8|0|0|ReadOnlySpan\u003Cbyte\u003E||get;|h1ebf5f96fdd2cb5d308d5f5cc2113cca0b1b2d030ff6494e3e786e7cf1b30f9a", "signature": "ReadOnlySpan\u003Cbyte\u003E Utf8 { get; }", "summary": "The current value as UTF-8 bytes, without copying." }, { "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int capacity = 256||h4f98254a6c6ef755cafed2e00c59e7edf3b04564b4c7491995819fe86512318f", "signature": "TextBuffer(int capacity = 256)", "parameters": [{ "name": "capacity", "type": "int", "default": "256" }], "summary": "Allocates a zeroed buffer of capacity bytes." }, { "name": "ValueIs", "kind": "method", "id": "method|ValueIs|0|0|bool|ReadOnlySpan\u003Cbyte\u003E utf8||h1ba89803debaa14d0efafe427db0823432dd875d731f3dc6c3fa55369109548a", "signature": "bool ValueIs(ReadOnlySpan\u003Cbyte\u003E utf8)", "parameters": [{ "name": "utf8", "type": "ReadOnlySpan\u003Cbyte\u003E" }], "summary": "True when the value equals utf8 without allocating." }, { "name": "ByteLength", "kind": "property", "id": "property|ByteLength|0|0|int||get;|hc47798bc282290b4b4bceb55542db0b2995e2be505c886181213e32d780afb70", "signature": "int ByteLength { get; }", "summary": "Length of the current value in bytes, excluding the terminator." }, { "name": "Value", "kind": "property", "id": "property|Value|0|0|string||get;|hc35438a76c40e8b63585a0d550bdfb10f4a04799456d09f5dde8333ee1700156", "signature": "string Value { get; }", "summary": "The current value as a string. Cached until the buffer changes, so it is free to read every frame; the first read after an edit allocates." }, { "name": "Dispose", "kind": "method", "id": "method|Dispose|0|0|void|||h743737a1705f80570f9b0dca3334406a3351c7ecb98acd045baf6804dd060a4e", "signature": "void Dispose()" }, { "name": "Set", "kind": "method", "id": "method|Set|0|0|void|ReadOnlySpan\u003Cbyte\u003E utf8||hf0407ead5b3d98000b367da645046c3cc2ec02def483b99b0d11d971a3005b7a", "signature": "void Set(ReadOnlySpan\u003Cbyte\u003E utf8)", "parameters": [{ "name": "utf8", "type": "ReadOnlySpan\u003Cbyte\u003E" }], "summary": "Writes UTF-8 bytes into the buffer. Throws when they do not fit." }, { "name": "Set", "kind": "method", "id": "method|Set|0|0|void|string s||hdc78ae56ef8e4eb0ae403bc11dcbc6b61a55a98d11c3b89d583dbece2a63b114", "signature": "void Set(string s)", "parameters": [{ "name": "s", "type": "string" }], "summary": "Writes s into the buffer. Throws when it does not fit." }] }, - { "name": "CuiSharp.TextFxOpts", "displayName": "TextFxOpts", "kind": "struct", "summary": "cui_text_fx_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "cui_font font" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Caret", "kind": "field", "id": "field|Caret|0|0|bool|||h6a4b096973d26880743eac4163bd442ca2c3b0a536c27cbbf75318078e8ed5d7", "signature": "public bool Caret", "summary": "typewriter: a blinking caret while typing" }, { "name": "Nowrap", "kind": "field", "id": "field|Nowrap|0|0|bool|||h3e6f1021d5f3b77726fa0a88094dafcffdc12f5cc518b270882f4a24c205131a", "signature": "public bool Nowrap", "summary": "_Bool nowrap" }, { "name": "Delay", "kind": "field", "id": "field|Delay|0|0|float|||h3a45177d911de60d3c1058d19f965797cda6f4da3e3656b82d0a5ea6832de388", "signature": "public float Delay", "summary": "seconds before it starts" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }, { "name": "Speed", "kind": "field", "id": "field|Speed|0|0|float|||h2ba64f4f7b87ff7c83f6953450f7a11e533584380fff99eb3ff47fdb3ff7deac", "signature": "public float Speed", "summary": "shimmer: sweeps per second; typewriter: characters per second" }] }, - { "name": "CuiSharp.TextMark", "displayName": "TextMark", "kind": "struct", "summary": "cui_text_mark. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Start;int End = default;int Color = default||hafe09d30eba5083a70c3264a76bcb76d925efa104b16dc2be2556bb8c14d4ccc", "signature": "TextMark(int Start, int End = default, int Color = default)", "parameters": [{ "name": "Start", "type": "int" }, { "name": "End", "type": "int", "default": "default" }, { "name": "Color", "type": "int", "default": "default" }] }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|int|||hc8bb6c96b99475fa7944168851a42353a5485b00cf73bf71a02c209b6e3d49c6", "signature": "public int Color", "summary": "int color" }, { "name": "End", "kind": "field", "id": "field|End|0|0|int|||h101ad3d5ebda13e9c347a22363390231322c8fbb64d191c3a092d362955b7964", "signature": "public int End", "summary": "int end" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|int|||ha1b0c3e4699fce964620bef0f781444da21c0b72084141f26a9e30e25bf70e5f", "signature": "public int Start", "summary": "int start" }] }, + { "name": "CuiSharp.TextFxOpts", "displayName": "TextFxOpts", "kind": "struct", "summary": "Motion and text effects All of these respect reduced motion: they show their final state. All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "default \u0060CUI_FONT_BODY\u0060 (0)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Caret", "kind": "field", "id": "field|Caret|0|0|bool|||h6a4b096973d26880743eac4163bd442ca2c3b0a536c27cbbf75318078e8ed5d7", "signature": "public bool Caret", "summary": "typewriter: a blinking caret while typing" }, { "name": "Nowrap", "kind": "field", "id": "field|Nowrap|0|0|bool|||h3e6f1021d5f3b77726fa0a88094dafcffdc12f5cc518b270882f4a24c205131a", "signature": "public bool Nowrap", "summary": "keeps the text on one line instead of wrapping it" }, { "name": "Delay", "kind": "field", "id": "field|Delay|0|0|float|||h3a45177d911de60d3c1058d19f965797cda6f4da3e3656b82d0a5ea6832de388", "signature": "public float Delay", "summary": "seconds before it starts" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }, { "name": "Speed", "kind": "field", "id": "field|Speed|0|0|float|||h2ba64f4f7b87ff7c83f6953450f7a11e533584380fff99eb3ff47fdb3ff7deac", "signature": "public float Speed", "summary": "shimmer: sweeps per second; typewriter: characters per second" }] }, + { "name": "CuiSharp.TextMark", "displayName": "TextMark", "kind": "struct", "summary": "Code editor: editable code with the code block\u0027s highlighting, a line number gutter and a monospace grid, for shader editors, script consoles and config files. You own the text: a NUL terminated buffer and its capacity, edited in place. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Start;int End = default;int Color = default||hafe09d30eba5083a70c3264a76bcb76d925efa104b16dc2be2556bb8c14d4ccc", "signature": "TextMark(int Start, int End = default, int Color = default)", "parameters": [{ "name": "Start", "type": "int" }, { "name": "End", "type": "int", "default": "default" }, { "name": "Color", "type": "int", "default": "default" }] }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|int|||hc8bb6c96b99475fa7944168851a42353a5485b00cf73bf71a02c209b6e3d49c6", "signature": "public int Color", "summary": "int color" }, { "name": "End", "kind": "field", "id": "field|End|0|0|int|||h101ad3d5ebda13e9c347a22363390231322c8fbb64d191c3a092d362955b7964", "signature": "public int End", "summary": "int end" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|int|||ha1b0c3e4699fce964620bef0f781444da21c0b72084141f26a9e30e25bf70e5f", "signature": "public int Start", "summary": "int start" }] }, { "name": "CuiSharp.TextMetrics", "displayName": "TextMetrics", "kind": "struct", "summary": "The measurements CUI reports for one run of text.", "members": [{ "name": "LinesThatFit", "kind": "method", "id": "method|LinesThatFit|0|0|int|float height||h198746ff21467ce014888bd94a232d7d0b6a746391c0cf13a7598dee22c3e2fb", "signature": "int LinesThatFit(float height)", "parameters": [{ "name": "height", "type": "float" }], "summary": "How many lines of this text fit in height." }, { "name": "Ascent", "kind": "field", "id": "field|Ascent|0|0|float|||hd735eb2af9d20d8ce6b7d75fcb79636fae516b8878acaf26403550200b287571", "signature": "public readonly float Ascent" }, { "name": "Descent", "kind": "field", "id": "field|Descent|0|0|float|||h281e63bf4b6d08469804e17678606438e1af6f6b9a2d6934d788590b5da98d31", "signature": "public readonly float Descent" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||hc9362a720c3b97791ec30d3850d9813d8f4e227c5188afa6d0806110c66249e9", "signature": "public readonly float Height" }, { "name": "LineHeight", "kind": "field", "id": "field|LineHeight|0|0|float|||he1885c26bf82b2f6f134df36f48f39e22d95c987bf85a99e854e0914187f8e9d", "signature": "public readonly float LineHeight" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||hcdb1ac85607320d5b5d642eab49e7434d35785b47abc3babb99fc1e5fcb1713c", "signature": "public readonly float Width" }] }, - { "name": "CuiSharp.TextOpts", "displayName": "TextOpts", "kind": "struct", "summary": "cui_text_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float size = default;Color color = default||h00998a1e0fe432a66682bf0f54ca0243d94687307cb0c24b1559ac8c05b36d0a", "signature": "TextOpts(float size = default, Color color = default)", "parameters": [{ "name": "size", "type": "float", "default": "default" }, { "name": "color", "type": "Color", "default": "default" }], "summary": "Text options with the two fields a call site reaches for most: ui.Text(\u0022Live\u0022, new(size: 12, color: Color.TextSecondary)). Every other field keeps its native default, exactly as the equivalent object initializer." }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "default foreground" }, { "name": "Direction", "kind": "field", "id": "field|Direction|0|0|Direction|||h894fea11f583bab4f597860149502f9c496b27b2c30b238beaf6828e963d3be0", "signature": "public Direction Direction", "summary": "inherited; AUTO examines this text" }, { "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "default CUI_FONT_BODY (0)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "cui_text_align align" }, { "name": "NoWrap", "kind": "field", "id": "field|NoWrap|0|0|bool|||hedd425991122684c109be1619269b4c271ddd90b9731a6baf6c7ac0e19b21ab6", "signature": "public bool NoWrap", "summary": "single line, ellipsis when it does not fit" }, { "name": "Selectable", "kind": "field", "id": "field|Selectable|0|0|bool|||h1a73ba6030aa83f21295dd2f784fe3b67bc0f00f1e6159545865f03b1c0cb4a4", "signature": "public bool Selectable", "summary": "reserved" }, { "name": "Tabular", "kind": "field", "id": "field|Tabular|0|0|bool|||h8a172f3b677c83acfc294103bfd5e56cf751642ac5f8f4f45ea2219e3eaff000", "signature": "public bool Tabular", "summary": "tabular numbers" }, { "name": "LineHeight", "kind": "field", "id": "field|LineHeight|0|0|float|||hd04f8c37288bfa75d1784f32ad03a4f0296751d116d20c7a399cdba4f46d572d", "signature": "public float LineHeight", "summary": "multiplier, default 1.45" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "default theme text_body" }] }, + { "name": "CuiSharp.TextOpts", "displayName": "TextOpts", "kind": "struct", "summary": "cui_text_opts. All fields are optional; zero selects the native default.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float size = default;Color color = default||h00998a1e0fe432a66682bf0f54ca0243d94687307cb0c24b1559ac8c05b36d0a", "signature": "TextOpts(float size = default, Color color = default)", "parameters": [{ "name": "size", "type": "float", "default": "default" }, { "name": "color", "type": "Color", "default": "default" }], "summary": "Text options with the two fields a call site reaches for most: ui.Text(\u0022Live\u0022, new(size: 12, color: Color.TextSecondary)). Every other field keeps its native default, exactly as the equivalent object initializer." }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "default foreground" }, { "name": "Direction", "kind": "field", "id": "field|Direction|0|0|Direction|||h894fea11f583bab4f597860149502f9c496b27b2c30b238beaf6828e963d3be0", "signature": "public Direction Direction", "summary": "inherited; AUTO examines this text" }, { "name": "Font", "kind": "field", "id": "field|Font|0|0|Font|||hcd4f0ca548108d455246def0ca532ad670cb744cdc6615008e2a930bc47ababc", "signature": "public Font Font", "summary": "default CUI_FONT_BODY (0)" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Align", "kind": "field", "id": "field|Align|0|0|TextAlign|||h6ff96aac7a3fc8d3690efcf70b1d20c634720e28a0fe218fa2d0bcfba09c25dd", "signature": "public TextAlign Align", "summary": "cui_text_align align" }, { "name": "NoWrap", "kind": "field", "id": "field|NoWrap|0|0|bool|||hedd425991122684c109be1619269b4c271ddd90b9731a6baf6c7ac0e19b21ab6", "signature": "public bool NoWrap", "summary": "single line, ellipsis when it does not fit" }, { "name": "Selectable", "kind": "field", "id": "field|Selectable|0|0|bool|||h1a73ba6030aa83f21295dd2f784fe3b67bc0f00f1e6159545865f03b1c0cb4a4", "signature": "public bool Selectable", "summary": "reserved" }, { "name": "Tabular", "kind": "field", "id": "field|Tabular|0|0|bool|||h8a172f3b677c83acfc294103bfd5e56cf751642ac5f8f4f45ea2219e3eaff000", "signature": "public bool Tabular", "summary": "tabular numbers" }, { "name": "LineHeight", "kind": "field", "id": "field|LineHeight|0|0|float|||hd04f8c37288bfa75d1784f32ad03a4f0296751d116d20c7a399cdba4f46d572d", "signature": "public float LineHeight", "summary": "multiplier, default 1.45" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "default theme text_body" }] }, { "name": "CuiSharp.TextureFormat", "displayName": "TextureFormat", "kind": "enum", "summary": "cui_texture_format", "members": [{ "name": "R8", "kind": "enum value", "id": "enum value|R8|1|0|||1|hdd8be0dbf2a049b003e11447885b2e0d5ae1de58fd464162f4620db2ed01680b", "signature": "R8 = 1", "value": "1" }, { "name": "Rgba8", "kind": "enum value", "id": "enum value|Rgba8|1|0|||4|h8352b01d9e8e33271e076f18d36014030f5f1b09a0f58594d44660e4b691215c", "signature": "Rgba8 = 4", "value": "4" }] }, { "name": "CuiSharp.Theme", "displayName": "Theme", "kind": "enum", "summary": "cui_theme_mode", "members": [{ "name": "Dark", "kind": "enum value", "id": "enum value|Dark|1|0|||1|h1bb1fceb859fee3f48eb51b0b9088420db8d84887553aee0a6b4939b01589d5c", "signature": "Dark = 1", "value": "1" }, { "name": "Light", "kind": "enum value", "id": "enum value|Light|1|0|||0|h9ea9168c351f3ca9162554dd3570ab1f3235da7717acdf1017c007eda5943a2d", "signature": "Light = 0", "value": "0" }] }, { "name": "CuiSharp.ThemeStyle", "displayName": "ThemeStyle", "kind": "ref struct", "summary": "CUI\u0027s live design tokens, as Style hands them over: the radii and heights every control and surface is drawn with, the text and heading scale, the motion multiplier and the palette itself.", "members": [{ "name": "Item", "kind": "property", "id": "property|Item|0|0|Color||get;set;|h7891e2f80a13f3058666868326b76b31d2f1244e3710ce06876cb1c17b362e9f", "signature": "Color Item { get; set; }" }, { "name": "ToneInfo", "kind": "property", "id": "property|ToneInfo|0|0|Color||get;set;|hdfbb288b8c6d0dd509a3290b86ecc18c90451321adb81375a98ee374dd1a2ac6", "signature": "Color ToneInfo { get; set; }", "summary": "The colour Info is drawn with \u2014 the theme\u0027s tone_sky. Default is the light/dark sky blue." }, { "name": "ToneRose", "kind": "property", "id": "property|ToneRose|0|0|Color||get;set;|h9a3e9acdf94ed12dc0d5ddeebed6bdc72fcffb971011fb744a2edde3a413cb03", "signature": "Color ToneRose { get; set; }", "summary": "The colour Rose is drawn with \u2014 the theme\u0027s tone_orchid, which is the field that name resolves to upstream." }, { "name": "ToneTeal", "kind": "property", "id": "property|ToneTeal|0|0|Color||get;set;|heaa55bf03d5a1b9ce8d647f0cacc0a3f146c6402204563ee15202bddf1558476", "signature": "Color ToneTeal { get; set; }", "summary": "The colour Teal is drawn with \u2014 the theme\u0027s tone_teal." }, { "name": "ToneViolet", "kind": "property", "id": "property|ToneViolet|0|0|Color||get;set;|h1c1cbee4546064dbaa772f010c257a2807ab8125305b2e6528dfa1faf8bfab92", "signature": "Color ToneViolet { get; set; }", "summary": "The colour Violet is drawn with \u2014 the theme\u0027s tone_violet." }, { "name": "GetShadow", "kind": "method", "id": "method|GetShadow|0|0|Shadow|Elevation elevation;int layer = default||h4a57917b7f746a4c9efde76642a66a224cf23f7a938615cde2d17d3cd8b0d03a", "signature": "Shadow GetShadow(Elevation elevation, int layer = default)", "parameters": [{ "name": "elevation", "type": "Elevation" }, { "name": "layer", "type": "int", "default": "default" }], "summary": "One of the two shadow layers an elevation is drawn with, where layer is 0 (the contact shadow) or 1 (the cast)." }, { "name": "ControlLg", "kind": "property", "id": "property|ControlLg|0|0|float||get;set;|h683d522f5d3a920c808dc8806ac0d8c828c3fdff5e20cfb3250dc5d957fdaac9", "signature": "float ControlLg { get; set; }", "summary": "The height of a Lg control, in points. Default 44." }, { "name": "ControlMd", "kind": "property", "id": "property|ControlMd|0|0|float||get;set;|h915325ea163f4fae6d71a8933b25b933af0b505eac87ec382e57f4716d87c32b", "signature": "float ControlMd { get; set; }", "summary": "The height of a default control, in points. Default 36." }, { "name": "ControlSm", "kind": "property", "id": "property|ControlSm|0|0|float||get;set;|ha47d42464940f08b843ba0364414ab80d2843db2cdd22ef804b1bb26b6d79d3a", "signature": "float ControlSm { get; set; }", "summary": "The height of a Sm control, in points. Default 30." }, { "name": "FontScale", "kind": "property", "id": "property|FontScale|0|0|float||get;set;|h7c8db5d16e95ae10c963c8eaa222b7b1fa35c1fdf595ce731767d6243aca8375", "signature": "float FontScale { get; set; }", "summary": "Every text size multiplied at once \u2014 the dial behind a user\u0027s \u0022text size\u0022 preference. Default 1." }, { "name": "GetHeading", "kind": "method", "id": "method|GetHeading|0|0|float|int level||hef2001f8f550ddeb0c6bdb19996b3cd1a74684aa79f7e8e11aabe55222f56c1a", "signature": "float GetHeading(int level)", "parameters": [{ "name": "level", "type": "int" }], "summary": "The size of a heading level, 1 to 4, in points. Defaults 36, 28, 22 and 17." }, { "name": "Motion", "kind": "property", "id": "property|Motion|0|0|float||get;set;|hc5e078238a95c063200ac23706b224d6cd2317d5ecd91eb1570096f2b035a3ef", "signature": "float Motion { get; set; }", "summary": "How much the theme animates: 1 is normal, 0 is reduced motion, above 1 is slow motion." }, { "name": "RadiusControl", "kind": "property", "id": "property|RadiusControl|0|0|float||get;set;|h680ec0817a9d99d2b18382d17e62cdb4cacf801ac61f71cee6bbf5011f553bf9", "signature": "float RadiusControl { get; set; }", "summary": "The corner radius of buttons, inputs and other controls, in points. Default 10." }, { "name": "RadiusPanel", "kind": "property", "id": "property|RadiusPanel|0|0|float||get;set;|h144ad42e605fb3f6ab46b03ea409f37ba672fc109aaccad2767dcb084ecbd566", "signature": "float RadiusPanel { get; set; }", "summary": "The corner radius of menus, popovers and nested panels, in points. Default 14." }, { "name": "RadiusSurface", "kind": "property", "id": "property|RadiusSurface|0|0|float||get;set;|h8519eed348504fa0dce7ac343a9d3bcceac0d67be7659aac1d544215c400fd9c", "signature": "float RadiusSurface { get; set; }", "summary": "The corner radius of cards, dialogs and sheets, in points. Default 18." }, { "name": "TextBody", "kind": "property", "id": "property|TextBody|0|0|float||get;set;|hf7b89bb8d803a2261a9feaafec9d8ba89c9c0cfb02f0e52b2389aba9c8ddb94e", "signature": "float TextBody { get; set; }", "summary": "The body text size, in points. Default 13." }, { "name": "TextLg", "kind": "property", "id": "property|TextLg|0|0|float||get;set;|h8e29419dcb396fca94217a653bfc1efbe9903fb09fe3d1ee15793e578d3cbec4", "signature": "float TextLg { get; set; }", "summary": "The large text size, in points. Default 15." }, { "name": "TextSm", "kind": "property", "id": "property|TextSm|0|0|float||get;set;|h5c8383f5d36dc36412cdc78464ec1b9fe3fe28e7814b54acc2b3a5c4480b1be5", "signature": "float TextSm { get; set; }", "summary": "The secondary text size, for subtext and labels, in points. Default 12." }, { "name": "TextXs", "kind": "property", "id": "property|TextXs|0|0|float||get;set;|hc4cfed325851c0f205f939fc952fb12046900e0b577e2e1992a90275e48409d2", "signature": "float TextXs { get; set; }", "summary": "The smallest text size, for captions and dense metadata, in points. Default 11." }, { "name": "SetHeading", "kind": "method", "id": "method|SetHeading|0|0|void|int level;float points||had08dcf078148b76162dfdd5ae89d6af58717c5542721cd25400edcdc86ed87c", "signature": "void SetHeading(int level, float points)", "parameters": [{ "name": "level", "type": "int" }, { "name": "points", "type": "float" }], "summary": "Sets one heading level\u0027s size in points. See GetHeading." }, { "name": "SetShadow", "kind": "method", "id": "method|SetShadow|0|0|void|Elevation elevation;int layer;Shadow shadow||h4eea98a60ceee94e1d245dba0f3f3b4990ff8fc841d27a2c2cad658ee723d94b", "signature": "void SetShadow(Elevation elevation, int layer, Shadow shadow)", "parameters": [{ "name": "elevation", "type": "Elevation" }, { "name": "layer", "type": "int" }, { "name": "shadow", "type": "Shadow" }], "summary": "Sets one of the two shadow layers an elevation is drawn with. See GetShadow." }] }, - { "name": "CuiSharp.TickerItem", "displayName": "TickerItem", "kind": "struct", "summary": "cui_ticker_item. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Label;string? Value = null;float Delta = default;bool LowerIsBetter = default||h792dce0cb71de14ba3388589db1ef9d58ad44289c7edd5f3771ee88210200a37", "signature": "TickerItem(string? Label, string? Value = null, float Delta = default, bool LowerIsBetter = default)", "parameters": [{ "name": "Label", "type": "string?" }, { "name": "Value", "type": "string?", "default": "null" }, { "name": "Delta", "type": "float", "default": "default" }, { "name": "LowerIsBetter", "type": "bool", "default": "default" }] }, { "name": "LowerIsBetter", "kind": "field", "id": "field|LowerIsBetter|0|0|bool|||hdbb63017a214eb7f7b2818c5485cd80ae1d87f9c8fd20fc1e56e32d63eec76ee", "signature": "public bool LowerIsBetter", "summary": "a fall is good: shown green" }, { "name": "Delta", "kind": "field", "id": "field|Delta|0|0|float|||h1e522b23e3d342dfeec52a69a0ca4f14b756c85114da059add23d2c403cf19e0", "signature": "public float Delta", "summary": "a fall is good: shown green" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "a fall is good: shown green" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|string?|||h5ce95573760fbed490482794a8054e38848c0b6a2d40e7e67f6af14eb4564732", "signature": "public string? Value", "summary": "a fall is good: shown green" }] }, - { "name": "CuiSharp.TickerOpts", "displayName": "TickerOpts", "kind": "struct", "summary": "cui_ticker_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Speed", "kind": "field", "id": "field|Speed|0|0|float|||h2ba64f4f7b87ff7c83f6953450f7a11e533584380fff99eb3ff47fdb3ff7deac", "signature": "public float Speed", "summary": "float speed" }] }, - { "name": "CuiSharp.TileOpts", "displayName": "TileOpts", "kind": "struct", "summary": "cui_tile_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Wide", "kind": "field", "id": "field|Wide|0|0|bool|||he3f28dc2c3369b3bae8254c3abb8b09cf3925a27b4b01fe3aea8dbfe787424e3", "signature": "public bool Wide", "summary": "_Bool wide" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "const char * detail" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, - { "name": "CuiSharp.TimeHistogramOpts", "displayName": "TimeHistogramOpts", "kind": "struct", "summary": "cui_time_histogram_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default 140" }, { "name": "Utc", "kind": "field", "id": "field|Utc|0|0|bool|||hce27528a0642529c63bbecfb74ceeffd4af58ffbe72eea12d92db228ca35332e", "signature": "public bool Utc", "summary": "_Bool utc" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 140" }] }, - { "name": "CuiSharp.TimeHistogramResult", "displayName": "TimeHistogramResult", "kind": "struct", "summary": "cui_time_histogram_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool SelectionChanged;int Hovered = default||hdc2711e7483548d8b0b410cc4d8901d4f9eb51005c974809f249fef139294c8f", "signature": "TimeHistogramResult(bool SelectionChanged, int Hovered = default)", "parameters": [{ "name": "SelectionChanged", "type": "bool" }, { "name": "Hovered", "type": "int", "default": "default" }] }, { "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|bool|||h05b0cea014ff6284a7cc2c58dd6fb1035a7e0e81c25aa7972d22ca756915ea7a", "signature": "public bool SelectionChanged", "summary": "bucket, or -1" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "bucket, or -1" }] }, - { "name": "CuiSharp.TimeOpts", "displayName": "TimeOpts", "kind": "struct", "summary": "cui_time_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "TwelveHour", "kind": "field", "id": "field|TwelveHour|0|0|bool|||h9947b8902a5782d09675e98cab40ee27b992c6b0e89095d1c8e273bde5f2c71a", "signature": "public bool TwelveHour", "summary": "_Bool twelve_hour" }, { "name": "MinuteStep", "kind": "field", "id": "field|MinuteStep|0|0|int|||h8b617dbbc51baef740290e5dbf1841a2842003c33375c72d7fc0340267dda89a", "signature": "public int MinuteStep", "summary": "int minute_step" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, - { "name": "CuiSharp.TimelineEditorOpts", "displayName": "TimelineEditorOpts", "kind": "struct", "summary": "cui_timeline_editor_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "FreeDrag", "kind": "field", "id": "field|FreeDrag|0|0|bool|||hcf7bcc6af3f6823ecda6e49d1828ccac3be4b48776137fa7bc60760728123918", "signature": "public bool FreeDrag", "summary": "drags and scrubbing do not snap to frames" }, { "name": "Toggles", "kind": "field", "id": "field|Toggles|0|0|bool|||hc56f327425b105a2cd091fdea353e07bf2b9e7d75d9ca27d00e90523f3c4bd54", "signature": "public bool Toggles", "summary": "hide and lock buttons on every track" }, { "name": "End", "kind": "field", "id": "field|End|0|0|float|||h746aa4735d52d974b98a908b8c756c9e0c0f37203b3999ab7359e161064f649d", "signature": "public float End", "summary": "the sequence in seconds; both 0 = 0..10" }, { "name": "Fps", "kind": "field", "id": "field|Fps|0|0|float|||hd2f14e8d0c94590cc91095a6112128e328e291713114ddde746a2f651504d635", "signature": "public float Fps", "summary": "frames per second, default 30: snapping, stepping and frame labels" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default: fits every track (up to 360)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "default 26" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|float|||ha3e89c7d95d80cd26b26f17ad97c1dd953e50a5774663a52471d8a17579c8978", "signature": "public float Start", "summary": "the sequence in seconds; both 0 = 0..10" }, { "name": "TrackWidth", "kind": "field", "id": "field|TrackWidth|0|0|float|||h5be028c49353fefae2fc30686c1ecbee4d2683da191546d7ee2049c3050c7282", "signature": "public float TrackWidth", "summary": "track list, default 184; narrower (then icons only) on a narrow editor" }, { "name": "Ruler", "kind": "field", "id": "field|Ruler|0|0|int|||hac6a7a1e03a54bf8ec255254799822b67c702cb2dff94260c7dcf36e7f9ba893", "signature": "public int Ruler", "summary": "cui_timeline_ruler" }] }, - { "name": "CuiSharp.TimelineEditorResult", "displayName": "TimelineEditorResult", "kind": "struct", "summary": "cui_timeline_editor_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Changed;bool TimeChanged = default;bool Scrubbing = default;bool PlayToggled = default;bool SelectionChanged = default;bool ViewChanged = default;bool KeysMoved = default;int AddedTrack = default;int AddedKey = default;int RemovedKeys = default;int RemovedClips = default;int ClipTrack = default;int Clip = default;int Toggled = default;int CurrentTrack = default;int CurrentKey = default;int HoveredTrack = default;int HoveredKey = default||h07f2fe9c82e3f17831ab25869edd78c087c208c03c4d002322a7a9990ac30a83", "signature": "TimelineEditorResult(bool Changed, bool TimeChanged = default, bool Scrubbing = default, bool PlayToggled = default, bool SelectionChanged = default, bool ViewChanged = default, bool KeysMoved = default, int AddedTrack = default, int AddedKey = default, int RemovedKeys = default, int RemovedClips = default, int ClipTrack = default, int Clip = default, int Toggled = default, int CurrentTrack = default, int CurrentKey = default, int HoveredTrack = default, int HoveredKey = default)", "parameters": [{ "name": "Changed", "type": "bool" }, { "name": "TimeChanged", "type": "bool", "default": "default" }, { "name": "Scrubbing", "type": "bool", "default": "default" }, { "name": "PlayToggled", "type": "bool", "default": "default" }, { "name": "SelectionChanged", "type": "bool", "default": "default" }, { "name": "ViewChanged", "type": "bool", "default": "default" }, { "name": "KeysMoved", "type": "bool", "default": "default" }, { "name": "AddedTrack", "type": "int", "default": "default" }, { "name": "AddedKey", "type": "int", "default": "default" }, { "name": "RemovedKeys", "type": "int", "default": "default" }, { "name": "RemovedClips", "type": "int", "default": "default" }, { "name": "ClipTrack", "type": "int", "default": "default" }, { "name": "Clip", "type": "int", "default": "default" }, { "name": "Toggled", "type": "int", "default": "default" }, { "name": "CurrentTrack", "type": "int", "default": "default" }, { "name": "CurrentKey", "type": "int", "default": "default" }, { "name": "HoveredTrack", "type": "int", "default": "default" }, { "name": "HoveredKey", "type": "int", "default": "default" }] }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|bool|||h8c85f6cfc38e0138c8eb4125f6296f3a8f63126e75288f3d3b7fc9e85c6c1f63", "signature": "public bool Changed", "summary": "keys or clips moved, were added or removed, or a track flag changed" }, { "name": "KeysMoved", "kind": "field", "id": "field|KeysMoved|0|0|bool|||hdc57514bf704c645ad41be07e5a873e2a8013bb89e3fae35e6a7dec4d98ff09c", "signature": "public bool KeysMoved", "summary": "selected keys moved this frame (drag or Alt\u002Barrows)" }, { "name": "PlayToggled", "kind": "field", "id": "field|PlayToggled|0|0|bool|||h802f49c116da95a4854cd70378df8a981f32161447e6a274554d3762ae5cccd4", "signature": "public bool PlayToggled", "summary": "Space: start or stop playback" }, { "name": "Scrubbing", "kind": "field", "id": "field|Scrubbing|0|0|bool|||hda2d5b4a77455b38ed4cfcd8031063262078a8daa09121271bdff83faaf587f3", "signature": "public bool Scrubbing", "summary": "the playhead is being dragged" }, { "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|bool|||h05b0cea014ff6284a7cc2c58dd6fb1035a7e0e81c25aa7972d22ca756915ea7a", "signature": "public bool SelectionChanged", "summary": "_Bool selection_changed" }, { "name": "TimeChanged", "kind": "field", "id": "field|TimeChanged|0|0|bool|||h8000cd3a016d4b70379af3762d2ef941ed548963f32abd218ee0e0f6817ae5f1", "signature": "public bool TimeChanged", "summary": "time moved (scrub, ruler click, keys)" }, { "name": "ViewChanged", "kind": "field", "id": "field|ViewChanged|0|0|bool|||h644da108e153019ae339e325a567b1b89a1cc6e0c8470c8761ac096a08aee5ee", "signature": "public bool ViewChanged", "summary": "_Bool view_changed" }, { "name": "AddedKey", "kind": "field", "id": "field|AddedKey|0|0|int|||ha8e58faba1c728fe25d31ea3e66082285970f2ec12ab48f52376a20679473da9", "signature": "public int AddedKey", "summary": "the key added this frame (double click), or -1" }, { "name": "AddedTrack", "kind": "field", "id": "field|AddedTrack|0|0|int|||hd09c9d0b3aaf7c0a2f00f840aad0417f84f4096dcfd34c9bbb7837e2452ee4da", "signature": "public int AddedTrack", "summary": "the key added this frame (double click), or -1" }, { "name": "Clip", "kind": "field", "id": "field|Clip|0|0|int|||ha920295d84599cdc0940acb2d6a074abbe96d37d1c4b07783b3d79dc3b94a907", "signature": "public int Clip", "summary": "the clip moved or trimmed this frame, or -1" }, { "name": "ClipTrack", "kind": "field", "id": "field|ClipTrack|0|0|int|||hd040e6fd1c8a24948aa8714159d0f6860d9dfa74526817d24bf44b0750aeccf0", "signature": "public int ClipTrack", "summary": "the clip moved or trimmed this frame, or -1" }, { "name": "CurrentKey", "kind": "field", "id": "field|CurrentKey|0|0|int|||h1f9f9e276d189f141cc95626370c85293587bbc81d6ed41c542bf89d7b66a89e", "signature": "public int CurrentKey", "summary": "int current_key" }, { "name": "CurrentTrack", "kind": "field", "id": "field|CurrentTrack|0|0|int|||h1cd8beaafe2750d4e51c20d8c9bd32973b6b59d441d469e210cd68066b762a5f", "signature": "public int CurrentTrack", "summary": "int current_track" }, { "name": "HoveredKey", "kind": "field", "id": "field|HoveredKey|0|0|int|||h5f9a0b03a58b19df9fe682e41ca82692d9a7d27ef2cf9eb436df6a03faed7ec7", "signature": "public int HoveredKey", "summary": "the key under the pointer, or -1" }, { "name": "HoveredTrack", "kind": "field", "id": "field|HoveredTrack|0|0|int|||hef9e0c1f9c6600daf6fa5e659af87654318417480a903f316dcb65f0c22b9976", "signature": "public int HoveredTrack", "summary": "the key under the pointer, or -1" }, { "name": "RemovedClips", "kind": "field", "id": "field|RemovedClips|0|0|int|||hd2490000eb723d503a8568158ee4c011ed9b150aa2b815079cc13d7aa054a4b9", "signature": "public int RemovedClips", "summary": "how many were removed this frame (Delete)" }, { "name": "RemovedKeys", "kind": "field", "id": "field|RemovedKeys|0|0|int|||h4df23841d98bd9d4b2bfc95ae5403d1478d1ffd2f7398843b1f8ee32c749837f", "signature": "public int RemovedKeys", "summary": "how many were removed this frame (Delete)" }, { "name": "Toggled", "kind": "field", "id": "field|Toggled|0|0|int|||h82e392de52553e129e49d9cce4050ccbbcd5dc4b65665d552caefdfb90d73691", "signature": "public int Toggled", "summary": "the track whose collapsed, muted or locked flag changed, or -1" }] }, - { "name": "CuiSharp.TimelineOpts", "displayName": "TimelineOpts", "kind": "struct", "summary": "cui_timeline_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Last", "kind": "field", "id": "field|Last|0|0|bool|||h02dc1e060c4cf29b134ec89650f2519c9b8961c1f5d9e8e81f180758d80cb4da", "signature": "public bool Last", "summary": "_Bool last" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|string?|||h3fa6df975c274c56979003cf790a67367077eb0ba02d23dac030823b376828bc", "signature": "public string? Time", "summary": "const char * time" }] }, - { "name": "CuiSharp.TimelineRuler", "displayName": "TimelineRuler", "kind": "enum", "summary": "cui_timeline_ruler", "members": [{ "name": "Frames", "kind": "enum value", "id": "enum value|Frames|1|0|||0|hd9e3da7733a73f760367f7156c48512e8f0cfb00915bc925a9b8786aedd31ac7", "signature": "Frames = 0", "value": "0" }, { "name": "Seconds", "kind": "enum value", "id": "enum value|Seconds|1|0|||1|h331e51325a49359813ac0df726f2d7026395578f81b8760460e31b5342b73cb1", "signature": "Seconds = 1", "value": "1" }, { "name": "Timecode", "kind": "enum value", "id": "enum value|Timecode|1|0|||2|haad37a0eafc5b4421bcefc243456200d652e768aea7dab644b1a28d2bfb98c3d", "signature": "Timecode = 2", "value": "2" }] }, - { "name": "CuiSharp.TimelineView", "displayName": "TimelineView", "kind": "struct", "summary": "cui_timeline_view. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float Start;float End = default;float Scroll = default||h2470c0a69bbb86925e7d0ac7ee7e3607562ac231be8ff16d4f17391ad3c44c3c", "signature": "TimelineView(float Start, float End = default, float Scroll = default)", "parameters": [{ "name": "Start", "type": "float" }, { "name": "End", "type": "float", "default": "default" }, { "name": "Scroll", "type": "float", "default": "default" }] }, { "name": "End", "kind": "field", "id": "field|End|0|0|float|||h746aa4735d52d974b98a908b8c756c9e0c0f37203b3999ab7359e161064f649d", "signature": "public float End", "summary": "visible time range; end \u003C= start fits the sequence" }, { "name": "Scroll", "kind": "field", "id": "field|Scroll|0|0|float|||h0dfb15b9f1ad3ea27fb4bb36094488302791ae6da1fc5727249bcba34280b5fb", "signature": "public float Scroll", "summary": "rows scrolled off the top, in points" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|float|||ha3e89c7d95d80cd26b26f17ad97c1dd953e50a5774663a52471d8a17579c8978", "signature": "public float Start", "summary": "visible time range; end \u003C= start fits the sequence" }] }, - { "name": "CuiSharp.ToastOpts", "displayName": "ToastOpts", "kind": "struct", "summary": "cui_toast_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "ShowTimer", "kind": "field", "id": "field|ShowTimer|0|0|bool|||h2cdb08fb0e12e79b037d47e88d3090ed559a3a9fe94d455d0f41c78dac20f989", "signature": "public bool ShowTimer", "summary": "a draining line shows how long the action stays (undo)" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "seconds, default 4; negative = until dismissed" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|string?|||h288a83cea0bad5b5f38d9c844869a799f6116f3a3d074f257d6240feed95d754", "signature": "public string? Action", "summary": "optional action button label" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }] }, - { "name": "CuiSharp.TocItem", "displayName": "TocItem", "kind": "struct", "summary": "cui_toc_item. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Anchor = null;int Level = default||hca9f52fd38877b08bbef1ed6d92adf8e0237c5dd22b79f8cca1113fc12e8f748", "signature": "TocItem(string? Title, string? Anchor = null, int Level = default)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Anchor", "type": "string?", "default": "null" }, { "name": "Level", "type": "int", "default": "default" }] }, { "name": "Level", "kind": "field", "id": "field|Level|0|0|int|||h17c0e20faecc69c8472481644557574bb0d4d89b76f0c643524eb31d6b244fbe", "signature": "public int Level", "summary": "int level" }, { "name": "Anchor", "kind": "field", "id": "field|Anchor|0|0|string?|||h3eec5228ee60e1f13b26e0130c9811acd29052cd6e4584dcd45fea8634dda5ee", "signature": "public string? Anchor", "summary": "const char * anchor" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }] }, - { "name": "CuiSharp.ToggleGroupOpts", "displayName": "ToggleGroupOpts", "kind": "struct", "summary": "cui_toggle_group_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "Exclusive", "kind": "field", "id": "field|Exclusive|0|0|bool|||hf045fa9c2f55c09fade33be7364323e4cad988e1083cb700daa415e4ef6f9ee1", "signature": "public bool Exclusive", "summary": "_Bool exclusive" }, { "name": "IconOnly", "kind": "field", "id": "field|IconOnly|0|0|bool|||ha338e8c8d1c6b6f843f2ac0c9673ab05d124e55bcb723e302ca438605f613acf", "signature": "public bool IconOnly", "summary": "_Bool icon_only" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|string[]?|||h94d3abfae1e4e3aa50724c6bacdb1588c24d26764115ffa57679ae941c7f8b22", "signature": "public string[]? Icons", "summary": "const char *const * icons" }] }, - { "name": "CuiSharp.Token", "displayName": "Token", "kind": "enum", "summary": "cui_token", "members": [{ "name": "Accent", "kind": "enum value", "id": "enum value|Accent|1|0|||11|h5ab8881b5d2a8c62a4436b488de4977723b2487ca95acd7517943f5b5f724ed3", "signature": "Accent = 11", "value": "11" }, { "name": "AccentForeground", "kind": "enum value", "id": "enum value|AccentForeground|1|0|||14|h30640c7095f9d89437785178d6e8641ca66703e86e57be0686544e63f95eb84d", "signature": "AccentForeground = 14", "value": "14" }, { "name": "AccentStrong", "kind": "enum value", "id": "enum value|AccentStrong|1|0|||12|h3137bc51891c00083d747aab5e814229e6cff0cee617550e73d75530c0562e77", "signature": "AccentStrong = 12", "value": "12" }, { "name": "AccentSubtle", "kind": "enum value", "id": "enum value|AccentSubtle|1|0|||13|hcf962b2b79c5a3585673fc5db0e7c6270e2ce8bf1eb8e4e55278d0b61094f4f3", "signature": "AccentSubtle = 13", "value": "13" }, { "name": "Active", "kind": "enum value", "id": "enum value|Active|1|0|||26|h9d5cfb74d1f84452fdafc38d3bf340430dd0eb55e24485b0ca69356f047e0acd", "signature": "Active = 26", "value": "26" }, { "name": "Background", "kind": "enum value", "id": "enum value|Background|1|0|||1|h30ad77272d912b62754c76a53c0d00468a7387cc9f4fb3713223f35d7d3398e1", "signature": "Background = 1", "value": "1" }, { "name": "Border", "kind": "enum value", "id": "enum value|Border|1|0|||8|hf00422bf72c08cdcbbd6dc1259d192c49f05a5ab7437a9b0549d9871d2216ba4", "signature": "Border = 8", "value": "8" }, { "name": "BorderStrong", "kind": "enum value", "id": "enum value|BorderStrong|1|0|||10|h7562e8dfa914b7e908a4368ec7f090953c2d0554f9ea854093366e6bad45bcec", "signature": "BorderStrong = 10", "value": "10" }, { "name": "BorderSubtle", "kind": "enum value", "id": "enum value|BorderSubtle|1|0|||9|h9ae587f03cf2939594c5c5ae76ead449d96359daa1f773b3f177e3b4d445a534", "signature": "BorderSubtle = 9", "value": "9" }, { "name": "ControlGlyph", "kind": "enum value", "id": "enum value|ControlGlyph|1|0|||20|h11e9cb10a3f81908e66911d0462fa8bfc7eff0f92044b1423b756046998ae5cb", "signature": "ControlGlyph = 20", "value": "20" }, { "name": "ControlOn", "kind": "enum value", "id": "enum value|ControlOn|1|0|||19|he51a5cb79aa16502073f220a2eb5e16e2528068593d2a6290781ccadd6b8c721", "signature": "ControlOn = 19", "value": "19" }, { "name": "ControlThumb", "kind": "enum value", "id": "enum value|ControlThumb|1|0|||23|h781136c315e8bb7cd38d6acf9c62dc8543d84a07260f1c8605af7175d9b9f366", "signature": "ControlThumb = 23", "value": "23" }, { "name": "ControlThumbOn", "kind": "enum value", "id": "enum value|ControlThumbOn|1|0|||24|h6d26162d0bf916a435e97ae99f262f2fa255128c569ec7dba2d23233436305c1", "signature": "ControlThumbOn = 24", "value": "24" }, { "name": "ControlTrack", "kind": "enum value", "id": "enum value|ControlTrack|1|0|||21|hfa0ab87837ef76b9285a75f480b215038ca59ee6b3e38cf92620afaa18010be1", "signature": "ControlTrack = 21", "value": "21" }, { "name": "ControlTrackHover", "kind": "enum value", "id": "enum value|ControlTrackHover|1|0|||22|ha89e11ded1b73f818d4cacc2d554576ef74df6ed4c731023cc9dd27173df2da0", "signature": "ControlTrackHover = 22", "value": "22" }, { "name": "Count", "kind": "enum value", "id": "enum value|Count|1|0|||35|h98b1296ac30e673cbd8b8efc1bfcff7291ff8761c6c947eecc9ba9290a7699b3", "signature": "Count = 35", "value": "35" }, { "name": "Danger", "kind": "enum value", "id": "enum value|Danger|1|0|||17|h15907d9f3fde7e7dacac2ec86c8719c10fa97406bb1204f5d67192cb74e24aef", "signature": "Danger = 17", "value": "17" }, { "name": "FocusRing", "kind": "enum value", "id": "enum value|FocusRing|1|0|||28|h2b502adaf6eb5c074ef9ee76d03e6a95cc50f1ccdfe6d45c35a73ab88e28a609", "signature": "FocusRing = 28", "value": "28" }, { "name": "Foreground", "kind": "enum value", "id": "enum value|Foreground|1|0|||5|h80f9ae28668bdbf57a03a86897cb18c07828a8980b86c72544207f8ed1977ebf", "signature": "Foreground = 5", "value": "5" }, { "name": "Hover", "kind": "enum value", "id": "enum value|Hover|1|0|||25|h23758fcd560bbd1c5ce2af0cd021b126f27fbf9b992c19cb2d708040344396f5", "signature": "Hover = 25", "value": "25" }, { "name": "Info", "kind": "enum value", "id": "enum value|Info|1|0|||18|h6a5b4760da82ce8799d7c1fb0b85804722ed836b52afb044ef14bcd9b110d096", "signature": "Info = 18", "value": "18" }, { "name": "None", "kind": "enum value", "id": "enum value|None|1|0|||0|h9e4e72abf0eaa3b853206f4d9ea0b0faabef40a12ba47974d4328c3a5bbf4faa", "signature": "None = 0", "value": "0" }, { "name": "Scrim", "kind": "enum value", "id": "enum value|Scrim|1|0|||27|h50a00c34c057e83e20a0947c16e77817f193858a835aa16d268fbd93a5f7528a", "signature": "Scrim = 27", "value": "27" }, { "name": "Series1", "kind": "enum value", "id": "enum value|Series1|1|0|||29|h9796d61fea966ec7cb28e19d4982225552ce3d59ea58d653f245a4ed94c0619e", "signature": "Series1 = 29", "value": "29" }, { "name": "Series2", "kind": "enum value", "id": "enum value|Series2|1|0|||30|h0282faae917f90ae21394330e3c757b2d959ddc19eac9e7123531ba117796af0", "signature": "Series2 = 30", "value": "30" }, { "name": "Series3", "kind": "enum value", "id": "enum value|Series3|1|0|||31|h1ed22591b548cbf5c25902587d9e0d315863a136d930549ef8dfedf69fb200d4", "signature": "Series3 = 31", "value": "31" }, { "name": "Series4", "kind": "enum value", "id": "enum value|Series4|1|0|||32|hd49e17877d1f6ecba263b4c6f865f9ff4d4097b945b35c31941cbcf7cfcc586a", "signature": "Series4 = 32", "value": "32" }, { "name": "Series5", "kind": "enum value", "id": "enum value|Series5|1|0|||33|hb0fbc6f0ba160aca060f721eacf08ca69bc658a7a7786e720f63fa3be6c06f2c", "signature": "Series5 = 33", "value": "33" }, { "name": "Series6", "kind": "enum value", "id": "enum value|Series6|1|0|||34|he0925e7b8f50d180ddb97b5cabc593d4d572fe2d12f0d1d731d33b2a971e12a4", "signature": "Series6 = 34", "value": "34" }, { "name": "Success", "kind": "enum value", "id": "enum value|Success|1|0|||15|h74e37af322e3c5902bf73383b88981f7de2d8690e9ade95aa35e372430c1da73", "signature": "Success = 15", "value": "15" }, { "name": "Surface", "kind": "enum value", "id": "enum value|Surface|1|0|||2|h4d12977973b741d8666721db493bb5f4221b58e2862d1095b4062dc2fc131527", "signature": "Surface = 2", "value": "2" }, { "name": "SurfaceMuted", "kind": "enum value", "id": "enum value|SurfaceMuted|1|0|||4|hf18f3ad0be6b129bcc1f7c4ccb563593f3c91322225309c71faad2dc8871cc03", "signature": "SurfaceMuted = 4", "value": "4" }, { "name": "SurfaceRaised", "kind": "enum value", "id": "enum value|SurfaceRaised|1|0|||3|h42eb1df34fc7c65a9ed804208f59d9508c3a0302d16d9c655f9c91bbb13ab18d", "signature": "SurfaceRaised = 3", "value": "3" }, { "name": "TextMuted", "kind": "enum value", "id": "enum value|TextMuted|1|0|||7|h0242b2867e0f15e77deabc0cdb95eb506458651d5328bd4bb479999ac07ea56a", "signature": "TextMuted = 7", "value": "7" }, { "name": "TextSecondary", "kind": "enum value", "id": "enum value|TextSecondary|1|0|||6|hfb227b99ea881d1e92c43ed51e5c2549fcd3770be91cc1d5632d852d214286e3", "signature": "TextSecondary = 6", "value": "6" }, { "name": "Warning", "kind": "enum value", "id": "enum value|Warning|1|0|||16|h1ea02043c9dc4508528988c5aa54155a5ffc142cc52ea35be5443aff4e80f5c0", "signature": "Warning = 16", "value": "16" }] }, + { "name": "CuiSharp.TickerItem", "displayName": "TickerItem", "kind": "struct", "summary": "Ticker: items that scroll by continuously, pausing on hover. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Label;string? Value = null;float Delta = default;bool LowerIsBetter = default||h792dce0cb71de14ba3388589db1ef9d58ad44289c7edd5f3771ee88210200a37", "signature": "TickerItem(string? Label, string? Value = null, float Delta = default, bool LowerIsBetter = default)", "parameters": [{ "name": "Label", "type": "string?" }, { "name": "Value", "type": "string?", "default": "null" }, { "name": "Delta", "type": "float", "default": "default" }, { "name": "LowerIsBetter", "type": "bool", "default": "default" }] }, { "name": "LowerIsBetter", "kind": "field", "id": "field|LowerIsBetter|0|0|bool|||hdbb63017a214eb7f7b2818c5485cd80ae1d87f9c8fd20fc1e56e32d63eec76ee", "signature": "public bool LowerIsBetter", "summary": "a fall in \u0060delta\u0060 is good news: it shows green, and a rise red" }, { "name": "Delta", "kind": "field", "id": "field|Delta|0|0|float|||h1e522b23e3d342dfeec52a69a0ca4f14b756c85114da059add23d2c403cf19e0", "signature": "public float Delta", "summary": "percent change, shown with a trend arrow in green or red; 0 hides it" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|string?|||h5ce95573760fbed490482794a8054e38848c0b6a2d40e7e67f6af14eb4564732", "signature": "public string? Value", "summary": "text after the label in medium weight, e.g. a price; may be \u0060NULL\u0060" }] }, + { "name": "CuiSharp.TickerOpts", "displayName": "TickerOpts", "kind": "struct", "summary": "Ticker: items that scroll by continuously, pausing on hover. All fields are optional; zero selects the native default.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Speed", "kind": "field", "id": "field|Speed|0|0|float|||h2ba64f4f7b87ff7c83f6953450f7a11e533584380fff99eb3ff47fdb3ff7deac", "signature": "public float Speed", "summary": "points per second, default 40" }] }, + { "name": "CuiSharp.TileOpts", "displayName": "TileOpts", "kind": "struct", "summary": "Control tile: a large toggle with an icon, a label and a state line. All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Wide", "kind": "field", "id": "field|Wide|0|0|bool|||he3f28dc2c3369b3bae8254c3abb8b09cf3925a27b4b01fe3aea8dbfe787424e3", "signature": "public bool Wide", "summary": "icon beside the text in a lower tile, instead of above it" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "the state line under the label, default \u0022On\u0022 or \u0022Off\u0022" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.TimeHistogramOpts", "displayName": "TimeHistogramOpts", "kind": "struct", "summary": "Event counts over time, stacked by series (log levels, status classes), as above a log search. Drag across it to select a time range, click to clear. Hover a bar for its time and counts. Times are Unix seconds. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Utc", "kind": "field", "id": "field|Utc|0|0|bool|||hce27528a0642529c63bbecfb74ceeffd4af58ffbe72eea12d92db228ca35332e", "signature": "public bool Utc", "summary": "label times in UTC instead of local time" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 140" }] }, + { "name": "CuiSharp.TimeHistogramResult", "displayName": "TimeHistogramResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool SelectionChanged;int Hovered = default||hdc2711e7483548d8b0b410cc4d8901d4f9eb51005c974809f249fef139294c8f", "signature": "TimeHistogramResult(bool SelectionChanged, int Hovered = default)", "parameters": [{ "name": "SelectionChanged", "type": "bool" }, { "name": "Hovered", "type": "int", "default": "default" }] }, { "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|bool|||h05b0cea014ff6284a7cc2c58dd6fb1035a7e0e81c25aa7972d22ca756915ea7a", "signature": "public bool SelectionChanged", "summary": "\u0060*sel_start\u0060 or \u0060*sel_end\u0060 changed this frame (a drag, or a click that cleared it)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "bucket, or -1" }] }, + { "name": "CuiSharp.TimeOpts", "displayName": "TimeOpts", "kind": "struct", "summary": "Time picker: a field that opens hour and minute columns. hour is 0..23. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "TwelveHour", "kind": "field", "id": "field|TwelveHour|0|0|bool|||h9947b8902a5782d09675e98cab40ee27b992c6b0e89095d1c8e273bde5f2c71a", "signature": "public bool TwelveHour", "summary": "shows 1 to 12 with AM and PM (as in \u00222:30 PM\u0022); \u0060*hour\u0060 stays 0..23" }, { "name": "MinuteStep", "kind": "field", "id": "field|MinuteStep|0|0|int|||h8b617dbbc51baef740290e5dbf1841a2842003c33375c72d7fc0340267dda89a", "signature": "public int MinuteStep", "summary": "minutes between the entries of the minute column, default 5" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, + { "name": "CuiSharp.TimelineEditorOpts", "displayName": "TimelineEditorOpts", "kind": "struct", "summary": "cui_timeline_editor_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "FreeDrag", "kind": "field", "id": "field|FreeDrag|0|0|bool|||hcf7bcc6af3f6823ecda6e49d1828ccac3be4b48776137fa7bc60760728123918", "signature": "public bool FreeDrag", "summary": "drags and scrubbing do not snap to frames" }, { "name": "Toggles", "kind": "field", "id": "field|Toggles|0|0|bool|||hc56f327425b105a2cd091fdea353e07bf2b9e7d75d9ca27d00e90523f3c4bd54", "signature": "public bool Toggles", "summary": "hide and lock buttons on every track" }, { "name": "End", "kind": "field", "id": "field|End|0|0|float|||h746aa4735d52d974b98a908b8c756c9e0c0f37203b3999ab7359e161064f649d", "signature": "public float End", "summary": "the sequence in seconds; both 0 = 0..10" }, { "name": "Fps", "kind": "field", "id": "field|Fps|0|0|float|||hd2f14e8d0c94590cc91095a6112128e328e291713114ddde746a2f651504d635", "signature": "public float Fps", "summary": "frames per second, default 30: snapping, stepping and frame labels" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default: fits every track (up to 360)" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "default 26" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|float|||ha3e89c7d95d80cd26b26f17ad97c1dd953e50a5774663a52471d8a17579c8978", "signature": "public float Start", "summary": "the sequence in seconds; both 0 = 0..10" }, { "name": "TrackWidth", "kind": "field", "id": "field|TrackWidth|0|0|float|||h5be028c49353fefae2fc30686c1ecbee4d2683da191546d7ee2049c3050c7282", "signature": "public float TrackWidth", "summary": "track list, default 184; narrower (then icons only) on a narrow editor" }, { "name": "Ruler", "kind": "field", "id": "field|Ruler|0|0|int|||hac6a7a1e03a54bf8ec255254799822b67c702cb2dff94260c7dcf36e7f9ba893", "signature": "public int Ruler", "summary": "cui_timeline_ruler" }] }, + { "name": "CuiSharp.TimelineEditorResult", "displayName": "TimelineEditorResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool Changed;bool TimeChanged = default;bool Scrubbing = default;bool PlayToggled = default;bool SelectionChanged = default;bool ViewChanged = default;bool KeysMoved = default;int AddedTrack = default;int AddedKey = default;int RemovedKeys = default;int RemovedClips = default;int ClipTrack = default;int Clip = default;int Toggled = default;int CurrentTrack = default;int CurrentKey = default;int HoveredTrack = default;int HoveredKey = default||h07f2fe9c82e3f17831ab25869edd78c087c208c03c4d002322a7a9990ac30a83", "signature": "TimelineEditorResult(bool Changed, bool TimeChanged = default, bool Scrubbing = default, bool PlayToggled = default, bool SelectionChanged = default, bool ViewChanged = default, bool KeysMoved = default, int AddedTrack = default, int AddedKey = default, int RemovedKeys = default, int RemovedClips = default, int ClipTrack = default, int Clip = default, int Toggled = default, int CurrentTrack = default, int CurrentKey = default, int HoveredTrack = default, int HoveredKey = default)", "parameters": [{ "name": "Changed", "type": "bool" }, { "name": "TimeChanged", "type": "bool", "default": "default" }, { "name": "Scrubbing", "type": "bool", "default": "default" }, { "name": "PlayToggled", "type": "bool", "default": "default" }, { "name": "SelectionChanged", "type": "bool", "default": "default" }, { "name": "ViewChanged", "type": "bool", "default": "default" }, { "name": "KeysMoved", "type": "bool", "default": "default" }, { "name": "AddedTrack", "type": "int", "default": "default" }, { "name": "AddedKey", "type": "int", "default": "default" }, { "name": "RemovedKeys", "type": "int", "default": "default" }, { "name": "RemovedClips", "type": "int", "default": "default" }, { "name": "ClipTrack", "type": "int", "default": "default" }, { "name": "Clip", "type": "int", "default": "default" }, { "name": "Toggled", "type": "int", "default": "default" }, { "name": "CurrentTrack", "type": "int", "default": "default" }, { "name": "CurrentKey", "type": "int", "default": "default" }, { "name": "HoveredTrack", "type": "int", "default": "default" }, { "name": "HoveredKey", "type": "int", "default": "default" }] }, { "name": "Changed", "kind": "field", "id": "field|Changed|0|0|bool|||h8c85f6cfc38e0138c8eb4125f6296f3a8f63126e75288f3d3b7fc9e85c6c1f63", "signature": "public bool Changed", "summary": "keys or clips moved, were added or removed, or a track flag changed" }, { "name": "KeysMoved", "kind": "field", "id": "field|KeysMoved|0|0|bool|||hdc57514bf704c645ad41be07e5a873e2a8013bb89e3fae35e6a7dec4d98ff09c", "signature": "public bool KeysMoved", "summary": "selected keys moved this frame (drag or Alt\u002Barrows)" }, { "name": "PlayToggled", "kind": "field", "id": "field|PlayToggled|0|0|bool|||h802f49c116da95a4854cd70378df8a981f32161447e6a274554d3762ae5cccd4", "signature": "public bool PlayToggled", "summary": "Space: start or stop playback" }, { "name": "Scrubbing", "kind": "field", "id": "field|Scrubbing|0|0|bool|||hda2d5b4a77455b38ed4cfcd8031063262078a8daa09121271bdff83faaf587f3", "signature": "public bool Scrubbing", "summary": "the playhead is being dragged" }, { "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|bool|||h05b0cea014ff6284a7cc2c58dd6fb1035a7e0e81c25aa7972d22ca756915ea7a", "signature": "public bool SelectionChanged", "summary": "a key or clip was selected or unselected this frame" }, { "name": "TimeChanged", "kind": "field", "id": "field|TimeChanged|0|0|bool|||h8000cd3a016d4b70379af3762d2ef941ed548963f32abd218ee0e0f6817ae5f1", "signature": "public bool TimeChanged", "summary": "time moved (scrub, ruler click, keys)" }, { "name": "ViewChanged", "kind": "field", "id": "field|ViewChanged|0|0|bool|||h644da108e153019ae339e325a567b1b89a1cc6e0c8470c8761ac096a08aee5ee", "signature": "public bool ViewChanged", "summary": "the visible time range or the row scroll changed (zoom, pan, fit)" }, { "name": "AddedKey", "kind": "field", "id": "field|AddedKey|0|0|int|||ha8e58faba1c728fe25d31ea3e66082285970f2ec12ab48f52376a20679473da9", "signature": "public int AddedKey", "summary": "the key added this frame (double click), or -1" }, { "name": "AddedTrack", "kind": "field", "id": "field|AddedTrack|0|0|int|||hd09c9d0b3aaf7c0a2f00f840aad0417f84f4096dcfd34c9bbb7837e2452ee4da", "signature": "public int AddedTrack", "summary": "the key added this frame (double click), or -1" }, { "name": "Clip", "kind": "field", "id": "field|Clip|0|0|int|||ha920295d84599cdc0940acb2d6a074abbe96d37d1c4b07783b3d79dc3b94a907", "signature": "public int Clip", "summary": "the clip moved or trimmed this frame, or -1" }, { "name": "ClipTrack", "kind": "field", "id": "field|ClipTrack|0|0|int|||hd040e6fd1c8a24948aa8714159d0f6860d9dfa74526817d24bf44b0750aeccf0", "signature": "public int ClipTrack", "summary": "the clip moved or trimmed this frame, or -1" }, { "name": "CurrentKey", "kind": "field", "id": "field|CurrentKey|0|0|int|||h1f9f9e276d189f141cc95626370c85293587bbc81d6ed41c542bf89d7b66a89e", "signature": "public int CurrentKey", "summary": "index of that key in its track, or -1" }, { "name": "CurrentTrack", "kind": "field", "id": "field|CurrentTrack|0|0|int|||h1cd8beaafe2750d4e51c20d8c9bd32973b6b59d441d469e210cd68066b762a5f", "signature": "public int CurrentTrack", "summary": "track of the key last clicked or added, or -1" }, { "name": "HoveredKey", "kind": "field", "id": "field|HoveredKey|0|0|int|||h5f9a0b03a58b19df9fe682e41ca82692d9a7d27ef2cf9eb436df6a03faed7ec7", "signature": "public int HoveredKey", "summary": "the key under the pointer, or -1" }, { "name": "HoveredTrack", "kind": "field", "id": "field|HoveredTrack|0|0|int|||hef9e0c1f9c6600daf6fa5e659af87654318417480a903f316dcb65f0c22b9976", "signature": "public int HoveredTrack", "summary": "the key under the pointer, or -1" }, { "name": "RemovedClips", "kind": "field", "id": "field|RemovedClips|0|0|int|||hd2490000eb723d503a8568158ee4c011ed9b150aa2b815079cc13d7aa054a4b9", "signature": "public int RemovedClips", "summary": "how many were removed this frame (Delete)" }, { "name": "RemovedKeys", "kind": "field", "id": "field|RemovedKeys|0|0|int|||h4df23841d98bd9d4b2bfc95ae5403d1478d1ffd2f7398843b1f8ee32c749837f", "signature": "public int RemovedKeys", "summary": "how many were removed this frame (Delete)" }, { "name": "Toggled", "kind": "field", "id": "field|Toggled|0|0|int|||h82e392de52553e129e49d9cce4050ccbbcd5dc4b65665d552caefdfb90d73691", "signature": "public int Toggled", "summary": "the track whose collapsed, muted or locked flag changed, or -1" }] }, + { "name": "CuiSharp.TimelineOpts", "displayName": "TimelineOpts", "kind": "struct", "summary": "Activity timeline item. All fields are optional; zero selects the native default.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Last", "kind": "field", "id": "field|Last|0|0|bool|||h02dc1e060c4cf29b134ec89650f2519c9b8961c1f5d9e8e81f180758d80cb4da", "signature": "public bool Last", "summary": "the final item: no connector line below its dot and no space after it" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|string?|||h3fa6df975c274c56979003cf790a67367077eb0ba02d23dac030823b376828bc", "signature": "public string? Time", "summary": "muted text at the right of the title, e.g. \u00222h ago\u0022" }] }, + { "name": "CuiSharp.TimelineRuler", "displayName": "TimelineRuler", "kind": "enum", "summary": "Timeline editor (dope sheet): a track list on the left, a time ruler on top and a row per track with its keys (and clips, for video and audio tracks). You own the tracks, their keys and clips, the playhead time and the selection; the editor edits them in place and reports what it did:", "members": [{ "name": "Frames", "kind": "enum value", "id": "enum value|Frames|1|0|||0|hd9e3da7733a73f760367f7156c48512e8f0cfb00915bc925a9b8786aedd31ac7", "signature": "Frames = 0", "summary": "frame numbers", "value": "0" }, { "name": "Seconds", "kind": "enum value", "id": "enum value|Seconds|1|0|||1|h331e51325a49359813ac0df726f2d7026395578f81b8760460e31b5342b73cb1", "signature": "Seconds = 1", "summary": "1.5 s", "value": "1" }, { "name": "Timecode", "kind": "enum value", "id": "enum value|Timecode|1|0|||2|haad37a0eafc5b4421bcefc243456200d652e768aea7dab644b1a28d2bfb98c3d", "signature": "Timecode = 2", "summary": "minutes:seconds:frames (hours too past an hour)", "value": "2" }] }, + { "name": "CuiSharp.TimelineView", "displayName": "TimelineView", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float Start;float End = default;float Scroll = default||h2470c0a69bbb86925e7d0ac7ee7e3607562ac231be8ff16d4f17391ad3c44c3c", "signature": "TimelineView(float Start, float End = default, float Scroll = default)", "parameters": [{ "name": "Start", "type": "float" }, { "name": "End", "type": "float", "default": "default" }, { "name": "Scroll", "type": "float", "default": "default" }] }, { "name": "End", "kind": "field", "id": "field|End|0|0|float|||h746aa4735d52d974b98a908b8c756c9e0c0f37203b3999ab7359e161064f649d", "signature": "public float End", "summary": "visible time range; end \u003C= start fits the sequence" }, { "name": "Scroll", "kind": "field", "id": "field|Scroll|0|0|float|||h0dfb15b9f1ad3ea27fb4bb36094488302791ae6da1fc5727249bcba34280b5fb", "signature": "public float Scroll", "summary": "rows scrolled off the top, in points" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|float|||ha3e89c7d95d80cd26b26f17ad97c1dd953e50a5774663a52471d8a17579c8978", "signature": "public float Start", "summary": "visible time range; end \u003C= start fits the sequence" }] }, + { "name": "CuiSharp.ToastOpts", "displayName": "ToastOpts", "kind": "struct", "summary": "cui_toast_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "ShowTimer", "kind": "field", "id": "field|ShowTimer|0|0|bool|||h2cdb08fb0e12e79b037d47e88d3090ed559a3a9fe94d455d0f41c78dac20f989", "signature": "public bool ShowTimer", "summary": "a draining line shows how long the action stays (undo)" }, { "name": "Duration", "kind": "field", "id": "field|Duration|0|0|float|||h2f80017f9c32679580f9de13eedc1ab816c5701c1761ae5b1f3500a885b7493a", "signature": "public float Duration", "summary": "seconds, default 4; negative = until dismissed" }, { "name": "Action", "kind": "field", "id": "field|Action|0|0|string?|||h288a83cea0bad5b5f38d9c844869a799f6116f3a3d074f257d6240feed95d754", "signature": "public string? Action", "summary": "optional action button label" }, { "name": "Description", "kind": "field", "id": "field|Description|0|0|string?|||he31fdab720a891b12b69abe8267791cc6b93ee9c503db7db243823da82f3928d", "signature": "public string? Description", "summary": "const char * description" }] }, + { "name": "CuiSharp.TocItem", "displayName": "TocItem", "kind": "struct", "summary": "Table of contents for a scroll area: highlights the section in view on a progress rail, and scrolls to a section when clicked. Put cui_toc_anchor(ui, \u0022anchor\u0022) at each heading inside the scroll area, and call cui_toc in the same scope as the scroll area. Returns the active index. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Title;string? Anchor = null;int Level = default||hca9f52fd38877b08bbef1ed6d92adf8e0237c5dd22b79f8cca1113fc12e8f748", "signature": "TocItem(string? Title, string? Anchor = null, int Level = default)", "parameters": [{ "name": "Title", "type": "string?" }, { "name": "Anchor", "type": "string?", "default": "null" }, { "name": "Level", "type": "int", "default": "default" }] }, { "name": "Level", "kind": "field", "id": "field|Level|0|0|int|||h17c0e20faecc69c8472481644557574bb0d4d89b76f0c643524eb31d6b244fbe", "signature": "public int Level", "summary": "indentation: 0 for a top level section, up to 4 (12 points each)" }, { "name": "Anchor", "kind": "field", "id": "field|Anchor|0|0|string?|||h3eec5228ee60e1f13b26e0130c9811acd29052cd6e4584dcd45fea8634dda5ee", "signature": "public string? Anchor", "summary": "the name given to \u0060cui_toc_anchor\u0060 at that section\u0027s heading" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "the entry\u0027s text in the list" }] }, + { "name": "CuiSharp.ToggleGroupOpts", "displayName": "ToggleGroupOpts", "kind": "struct", "summary": "Toggle group: a row of toggles (bold, italic...). values[i] is toggled when item i is clicked; with exclusive set exactly one stays on. Labels become tooltips when icon_only is set. Returns true when a value changed. All fields are optional; zero selects the native default.", "members": [{ "name": "Size", "kind": "field", "id": "field|Size|0|0|ControlSize|||h32de9b14a4bf8f7cd9d51ddf122308c327f7d5cddfa2b057d7d9d10409d1283b", "signature": "public ControlSize Size", "summary": "cui_control_size size" }, { "name": "Exclusive", "kind": "field", "id": "field|Exclusive|0|0|bool|||hf045fa9c2f55c09fade33be7364323e4cad988e1083cb700daa415e4ef6f9ee1", "signature": "public bool Exclusive", "summary": "clicking an item turns it on and every other one off, like radio buttons" }, { "name": "IconOnly", "kind": "field", "id": "field|IconOnly|0|0|bool|||ha338e8c8d1c6b6f843f2ac0c9673ab05d124e55bcb723e302ca438605f613acf", "signature": "public bool IconOnly", "summary": "items that have an icon show only the icon, with their label as the tooltip" }, { "name": "Icons", "kind": "field", "id": "field|Icons|0|0|string[]?|||h94d3abfae1e4e3aa50724c6bacdb1588c24d26764115ffa57679ae941c7f8b22", "signature": "public string[]? Icons", "summary": "const char *const * icons" }] }, + { "name": "CuiSharp.Token", "displayName": "Token", "kind": "enum", "summary": "Semantic colors. Use these instead of raw colors so your UI follows the theme (light/dark) and the accent. They can go anywhere a cui_color goes.", "members": [{ "name": "Accent", "kind": "enum value", "id": "enum value|Accent|1|0|||11|h5ab8881b5d2a8c62a4436b488de4977723b2487ca95acd7517943f5b5f724ed3", "signature": "Accent = 11", "value": "11" }, { "name": "AccentForeground", "kind": "enum value", "id": "enum value|AccentForeground|1|0|||14|h30640c7095f9d89437785178d6e8641ca66703e86e57be0686544e63f95eb84d", "signature": "AccentForeground = 14", "value": "14" }, { "name": "AccentStrong", "kind": "enum value", "id": "enum value|AccentStrong|1|0|||12|h3137bc51891c00083d747aab5e814229e6cff0cee617550e73d75530c0562e77", "signature": "AccentStrong = 12", "value": "12" }, { "name": "AccentSubtle", "kind": "enum value", "id": "enum value|AccentSubtle|1|0|||13|hcf962b2b79c5a3585673fc5db0e7c6270e2ce8bf1eb8e4e55278d0b61094f4f3", "signature": "AccentSubtle = 13", "value": "13" }, { "name": "Active", "kind": "enum value", "id": "enum value|Active|1|0|||26|h9d5cfb74d1f84452fdafc38d3bf340430dd0eb55e24485b0ca69356f047e0acd", "signature": "Active = 26", "value": "26" }, { "name": "Background", "kind": "enum value", "id": "enum value|Background|1|0|||1|h30ad77272d912b62754c76a53c0d00468a7387cc9f4fb3713223f35d7d3398e1", "signature": "Background = 1", "value": "1" }, { "name": "Border", "kind": "enum value", "id": "enum value|Border|1|0|||8|hf00422bf72c08cdcbbd6dc1259d192c49f05a5ab7437a9b0549d9871d2216ba4", "signature": "Border = 8", "value": "8" }, { "name": "BorderStrong", "kind": "enum value", "id": "enum value|BorderStrong|1|0|||10|h7562e8dfa914b7e908a4368ec7f090953c2d0554f9ea854093366e6bad45bcec", "signature": "BorderStrong = 10", "value": "10" }, { "name": "BorderSubtle", "kind": "enum value", "id": "enum value|BorderSubtle|1|0|||9|h9ae587f03cf2939594c5c5ae76ead449d96359daa1f773b3f177e3b4d445a534", "signature": "BorderSubtle = 9", "value": "9" }, { "name": "ControlGlyph", "kind": "enum value", "id": "enum value|ControlGlyph|1|0|||20|h11e9cb10a3f81908e66911d0462fa8bfc7eff0f92044b1423b756046998ae5cb", "signature": "ControlGlyph = 20", "value": "20" }, { "name": "ControlOn", "kind": "enum value", "id": "enum value|ControlOn|1|0|||19|he51a5cb79aa16502073f220a2eb5e16e2528068593d2a6290781ccadd6b8c721", "signature": "ControlOn = 19", "value": "19" }, { "name": "ControlThumb", "kind": "enum value", "id": "enum value|ControlThumb|1|0|||23|h781136c315e8bb7cd38d6acf9c62dc8543d84a07260f1c8605af7175d9b9f366", "signature": "ControlThumb = 23", "value": "23" }, { "name": "ControlThumbOn", "kind": "enum value", "id": "enum value|ControlThumbOn|1|0|||24|h6d26162d0bf916a435e97ae99f262f2fa255128c569ec7dba2d23233436305c1", "signature": "ControlThumbOn = 24", "value": "24" }, { "name": "ControlTrack", "kind": "enum value", "id": "enum value|ControlTrack|1|0|||21|hfa0ab87837ef76b9285a75f480b215038ca59ee6b3e38cf92620afaa18010be1", "signature": "ControlTrack = 21", "value": "21" }, { "name": "ControlTrackHover", "kind": "enum value", "id": "enum value|ControlTrackHover|1|0|||22|ha89e11ded1b73f818d4cacc2d554576ef74df6ed4c731023cc9dd27173df2da0", "signature": "ControlTrackHover = 22", "value": "22" }, { "name": "Count", "kind": "enum value", "id": "enum value|Count|1|0|||35|h98b1296ac30e673cbd8b8efc1bfcff7291ff8761c6c947eecc9ba9290a7699b3", "signature": "Count = 35", "value": "35" }, { "name": "Danger", "kind": "enum value", "id": "enum value|Danger|1|0|||17|h15907d9f3fde7e7dacac2ec86c8719c10fa97406bb1204f5d67192cb74e24aef", "signature": "Danger = 17", "value": "17" }, { "name": "FocusRing", "kind": "enum value", "id": "enum value|FocusRing|1|0|||28|h2b502adaf6eb5c074ef9ee76d03e6a95cc50f1ccdfe6d45c35a73ab88e28a609", "signature": "FocusRing = 28", "value": "28" }, { "name": "Foreground", "kind": "enum value", "id": "enum value|Foreground|1|0|||5|h80f9ae28668bdbf57a03a86897cb18c07828a8980b86c72544207f8ed1977ebf", "signature": "Foreground = 5", "value": "5" }, { "name": "Hover", "kind": "enum value", "id": "enum value|Hover|1|0|||25|h23758fcd560bbd1c5ce2af0cd021b126f27fbf9b992c19cb2d708040344396f5", "signature": "Hover = 25", "value": "25" }, { "name": "Info", "kind": "enum value", "id": "enum value|Info|1|0|||18|h6a5b4760da82ce8799d7c1fb0b85804722ed836b52afb044ef14bcd9b110d096", "signature": "Info = 18", "value": "18" }, { "name": "None", "kind": "enum value", "id": "enum value|None|1|0|||0|h9e4e72abf0eaa3b853206f4d9ea0b0faabef40a12ba47974d4328c3a5bbf4faa", "signature": "None = 0", "value": "0" }, { "name": "Scrim", "kind": "enum value", "id": "enum value|Scrim|1|0|||27|h50a00c34c057e83e20a0947c16e77817f193858a835aa16d268fbd93a5f7528a", "signature": "Scrim = 27", "value": "27" }, { "name": "Series1", "kind": "enum value", "id": "enum value|Series1|1|0|||29|h9796d61fea966ec7cb28e19d4982225552ce3d59ea58d653f245a4ed94c0619e", "signature": "Series1 = 29", "value": "29" }, { "name": "Series2", "kind": "enum value", "id": "enum value|Series2|1|0|||30|h0282faae917f90ae21394330e3c757b2d959ddc19eac9e7123531ba117796af0", "signature": "Series2 = 30", "value": "30" }, { "name": "Series3", "kind": "enum value", "id": "enum value|Series3|1|0|||31|h1ed22591b548cbf5c25902587d9e0d315863a136d930549ef8dfedf69fb200d4", "signature": "Series3 = 31", "value": "31" }, { "name": "Series4", "kind": "enum value", "id": "enum value|Series4|1|0|||32|hd49e17877d1f6ecba263b4c6f865f9ff4d4097b945b35c31941cbcf7cfcc586a", "signature": "Series4 = 32", "value": "32" }, { "name": "Series5", "kind": "enum value", "id": "enum value|Series5|1|0|||33|hb0fbc6f0ba160aca060f721eacf08ca69bc658a7a7786e720f63fa3be6c06f2c", "signature": "Series5 = 33", "value": "33" }, { "name": "Series6", "kind": "enum value", "id": "enum value|Series6|1|0|||34|he0925e7b8f50d180ddb97b5cabc593d4d572fe2d12f0d1d731d33b2a971e12a4", "signature": "Series6 = 34", "value": "34" }, { "name": "Success", "kind": "enum value", "id": "enum value|Success|1|0|||15|h74e37af322e3c5902bf73383b88981f7de2d8690e9ade95aa35e372430c1da73", "signature": "Success = 15", "value": "15" }, { "name": "Surface", "kind": "enum value", "id": "enum value|Surface|1|0|||2|h4d12977973b741d8666721db493bb5f4221b58e2862d1095b4062dc2fc131527", "signature": "Surface = 2", "value": "2" }, { "name": "SurfaceMuted", "kind": "enum value", "id": "enum value|SurfaceMuted|1|0|||4|hf18f3ad0be6b129bcc1f7c4ccb563593f3c91322225309c71faad2dc8871cc03", "signature": "SurfaceMuted = 4", "value": "4" }, { "name": "SurfaceRaised", "kind": "enum value", "id": "enum value|SurfaceRaised|1|0|||3|h42eb1df34fc7c65a9ed804208f59d9508c3a0302d16d9c655f9c91bbb13ab18d", "signature": "SurfaceRaised = 3", "value": "3" }, { "name": "TextMuted", "kind": "enum value", "id": "enum value|TextMuted|1|0|||7|h0242b2867e0f15e77deabc0cdb95eb506458651d5328bd4bb479999ac07ea56a", "signature": "TextMuted = 7", "value": "7" }, { "name": "TextSecondary", "kind": "enum value", "id": "enum value|TextSecondary|1|0|||6|hfb227b99ea881d1e92c43ed51e5c2549fcd3770be91cc1d5632d852d214286e3", "signature": "TextSecondary = 6", "value": "6" }, { "name": "Warning", "kind": "enum value", "id": "enum value|Warning|1|0|||16|h1ea02043c9dc4508528988c5aa54155a5ffc142cc52ea35be5443aff4e80f5c0", "signature": "Warning = 16", "value": "16" }] }, { "name": "CuiSharp.Tone", "displayName": "Tone", "kind": "enum", "summary": "cui_tone", "members": [{ "name": "Accent", "kind": "enum value", "id": "enum value|Accent|1|0|||8|hbcf0e8370c5837a6c6a719ef8d72af8e02d6fdbfd38e67102abe8f1066d532ad", "signature": "Accent = 8", "value": "8" }, { "name": "Danger", "kind": "enum value", "id": "enum value|Danger|1|0|||4|hebcc3dc3f414ec1060069244194e1348739a5a0a44a4e1999ceadd0666068873", "signature": "Danger = 4", "value": "4" }, { "name": "Info", "kind": "enum value", "id": "enum value|Info|1|0|||1|h32ee2601ed4abeda8105c41a479d58367921cf05c79dedb87cbb5d3e71ecd911", "signature": "Info = 1", "value": "1" }, { "name": "Neutral", "kind": "enum value", "id": "enum value|Neutral|1|0|||0|h7da2b00cd549e0ae5dedf23ebaa10ee7a6b5919fa688f312008de9ec173d7926", "signature": "Neutral = 0", "value": "0" }, { "name": "Rose", "kind": "enum value", "id": "enum value|Rose|1|0|||7|ha5672793379d76359c9deeeb24b9e6e01894be1258c7570b394712a946dbaaab", "signature": "Rose = 7", "value": "7" }, { "name": "Success", "kind": "enum value", "id": "enum value|Success|1|0|||2|h9453fe91cad217e9affb373e791ef407f27e2a00453790c4bdd9a094e56d63dc", "signature": "Success = 2", "value": "2" }, { "name": "Teal", "kind": "enum value", "id": "enum value|Teal|1|0|||6|hb614d0b22c54ae283e5666a52a2ec1634b60b1dea42f7482e51c305c9c7fd2e2", "signature": "Teal = 6", "value": "6" }, { "name": "Violet", "kind": "enum value", "id": "enum value|Violet|1|0|||5|he96215a3fdd9bab30d6ad16124d63af290b9ddaf5e517fb8904ad601ba9ac6a0", "signature": "Violet = 5", "value": "5" }, { "name": "Warning", "kind": "enum value", "id": "enum value|Warning|1|0|||3|he550c5ec3f41a05e788c812470fd3009a451f0ea6af0afa60b0693ac4f41ee90", "signature": "Warning = 3", "value": "3" }] }, - { "name": "CuiSharp.ToolCallOpts", "displayName": "ToolCallOpts", "kind": "struct", "summary": "cui_tool_call_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Status", "kind": "field", "id": "field|Status|0|0|CuiTaskStatus|||hc70e5654f5e0b77ce9da45f798c273c2ac66019dc100160d6f02b89ccf377bba", "signature": "public CuiTaskStatus Status", "summary": "cui_task_status status" }, { "name": "Seconds", "kind": "field", "id": "field|Seconds|0|0|float|||hb2b6bfb7a4abde73c46fe03cfd0492620c03edc110332cec5c1c257b49ebec83", "signature": "public float Seconds", "summary": "float seconds" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "const char * detail" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Input", "kind": "field", "id": "field|Input|0|0|string?|||h8a7ba97ac09e13ba6d9fd85cf570de2432378775e3f8057eee8b8ae214a7359d", "signature": "public string? Input", "summary": "const char * input" }, { "name": "Output", "kind": "field", "id": "field|Output|0|0|string?|||ha4486258c9347f466518682fdd390375f3ae5e9cd368d7181387fa1339b251e4", "signature": "public string? Output", "summary": "const char * output" }] }, - { "name": "CuiSharp.ToolOpts", "displayName": "ToolOpts", "kind": "struct", "summary": "cui_tool_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "text on the button (icon may be NULL); also its name in the overflow menu" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|string?|||hb24cee523e8070471058522244148c9ff58dd158ff50852f7a6257dc7fcab350", "signature": "public string? Shortcut", "summary": "shown in the tooltip, e.g. \u0022Ctrl B\u0022" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|string?|||h82837286b4f40e657285a1f72d68bcf8fa107f1c1022330456870eeab4fce431", "signature": "public string? Tooltip", "summary": "the name of an icon only button" }] }, - { "name": "CuiSharp.ToolbarOpts", "displayName": "ToolbarOpts", "kind": "struct", "summary": "cui_toolbar_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "NoBorder", "kind": "field", "id": "field|NoBorder|0|0|bool|||hb6606a0691e1878d2d505efaca98f05506ff46d2cad01766c9efde8a172544e3", "signature": "public bool NoBorder", "summary": "_Bool no_border" }] }, + { "name": "CuiSharp.ToolCallOpts", "displayName": "ToolCallOpts", "kind": "struct", "summary": "cui_tool_call_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Status", "kind": "field", "id": "field|Status|0|0|CuiTaskStatus|||hc70e5654f5e0b77ce9da45f798c273c2ac66019dc100160d6f02b89ccf377bba", "signature": "public CuiTaskStatus Status", "summary": "cui_task_status status" }, { "name": "Seconds", "kind": "field", "id": "field|Seconds|0|0|float|||hb2b6bfb7a4abde73c46fe03cfd0492620c03edc110332cec5c1c257b49ebec83", "signature": "public float Seconds", "summary": "how long the call took, shown at the end of the row unless it is pending; 0 hides it" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "muted text after the tool\u0027s name, e.g. the file or query it works on" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }, { "name": "Input", "kind": "field", "id": "field|Input|0|0|string?|||h8a7ba97ac09e13ba6d9fd85cf570de2432378775e3f8057eee8b8ae214a7359d", "signature": "public string? Input", "summary": "what was sent to the tool; the row then opens to show it (as JSON when it parses)" }, { "name": "Output", "kind": "field", "id": "field|Output|0|0|string?|||ha4486258c9347f466518682fdd390375f3ae5e9cd368d7181387fa1339b251e4", "signature": "public string? Output", "summary": "what the tool returned, shown when open; labelled \u0022Error\u0022 when the status is failed" }] }, + { "name": "CuiSharp.ToolOpts", "displayName": "ToolOpts", "kind": "struct", "summary": "cui_tool_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Disabled", "kind": "field", "id": "field|Disabled|0|0|bool|||h4baa107f7923040caa8203f55780aae06d0b8981825d1ea1524ec7d60ae2a53f", "signature": "public bool Disabled", "summary": "_Bool disabled" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "text on the button (icon may be NULL); also its name in the overflow menu" }, { "name": "Shortcut", "kind": "field", "id": "field|Shortcut|0|0|string?|||hb24cee523e8070471058522244148c9ff58dd158ff50852f7a6257dc7fcab350", "signature": "public string? Shortcut", "summary": "shown in the tooltip, e.g. \u0022Ctrl B\u0022" }, { "name": "Tooltip", "kind": "field", "id": "field|Tooltip|0|0|string?|||h82837286b4f40e657285a1f72d68bcf8fa107f1c1022330456870eeab4fce431", "signature": "public string? Tooltip", "summary": "the name of an icon only button" }] }, + { "name": "CuiSharp.ToolbarOpts", "displayName": "ToolbarOpts", "kind": "struct", "summary": "Toolbar: a row of compact icon buttons, toggles, separators and small text buttons. Icon only buttons show their tooltip as their name. Items that do not fit collapse, from the end, into a \u0022more\u0022 menu; an item chosen there returns true on the next frame. All fields are optional; zero selects the native default.", "members": [{ "name": "NoBorder", "kind": "field", "id": "field|NoBorder|0|0|bool|||hb6606a0691e1878d2d505efaca98f05506ff46d2cad01766c9efde8a172544e3", "signature": "public bool NoBorder", "summary": "_Bool no_border" }] }, { "name": "CuiSharp.TourAction", "displayName": "TourAction", "kind": "enum", "summary": "CUI_TOUR_NONE", "members": [{ "name": "Back", "kind": "enum value", "id": "enum value|Back|1|0|||2|hff1014b8954dcd676df9df977aacada314fffd94909d9b148f45ddd7db2b99c0", "signature": "Back = 2", "value": "2" }, { "name": "Done", "kind": "enum value", "id": "enum value|Done|1|0|||3|ha4bc5831131391f7fb2327344257f10b5c1247e168ed91a14b6f8c1b1bd95449", "signature": "Done = 3", "value": "3" }, { "name": "Next", "kind": "enum value", "id": "enum value|Next|1|0|||1|h2aadc2235858bed934d4752e58564d8f65bae992bc09edc0e64a0d8adc2998b6", "signature": "Next = 1", "value": "1" }, { "name": "None", "kind": "enum value", "id": "enum value|None|1|0|||0|h9e4e72abf0eaa3b853206f4d9ea0b0faabef40a12ba47974d4328c3a5bbf4faa", "signature": "None = 0", "value": "0" }, { "name": "Skipped", "kind": "enum value", "id": "enum value|Skipped|1|0|||4|hc86a6a4cf9d7fbe0d4b4f660230c7effb152c9749550c01b40366787bc1640b4", "signature": "Skipped = 4", "value": "4" }] }, - { "name": "CuiSharp.TourOpts", "displayName": "TourOpts", "kind": "struct", "summary": "cui_tour_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "BlockTarget", "kind": "field", "id": "field|BlockTarget|0|0|bool|||hc54dd82166075855eb3447029292a804808a9ffb616f8982505652faa49b6a2f", "signature": "public bool BlockTarget", "summary": "the spotlighted control ignores the pointer too" }, { "name": "Padding", "kind": "field", "id": "field|Padding|0|0|float|||h5921be8adbefbfcb4404da7db85d1cb3731c758d863577be4fbce92451350649", "signature": "public float Padding", "summary": "room around the target inside the spotlight, default 6" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "the card, default 300" }, { "name": "BackLabel", "kind": "field", "id": "field|BackLabel|0|0|string?|||h890944a46dcecfa4148ac8a5893912710e3adb907b4dfa51320e35d338bb98b2", "signature": "public string? BackLabel", "summary": "default \u0022Next\u0022, \u0022Back\u0022, \u0022Done\u0022" }, { "name": "CountFormat", "kind": "field", "id": "field|CountFormat|0|0|string?|||hcd488b92046f94c8ab3c58db743f23405d8eb2ee0793df1695a74b1afa9ce82e", "signature": "public string? CountFormat", "summary": "the step count, default \u0022%d of %d\u0022 (step, then total)" }, { "name": "DoneLabel", "kind": "field", "id": "field|DoneLabel|0|0|string?|||h49f02e29ac797c25df73a6aa480f8e6ea3c16789f168ffdd7cc282980771c4e4", "signature": "public string? DoneLabel", "summary": "default \u0022Next\u0022, \u0022Back\u0022, \u0022Done\u0022" }, { "name": "NextLabel", "kind": "field", "id": "field|NextLabel|0|0|string?|||hf68c00f75ffaab77da7a20859ec292e622ffeec83256e9b9a2960ae0b56a234b", "signature": "public string? NextLabel", "summary": "default \u0022Next\u0022, \u0022Back\u0022, \u0022Done\u0022" }] }, - { "name": "CuiSharp.TourStep", "displayName": "TourStep", "kind": "struct", "summary": "cui_tour_step. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||uint Target;string? Title = null;string? Body = null;Placement Placement = Placement.BottomStart||ha0e63858101ca2bc0a30175686c4d52a76f578cfa000b771f07abcd48132ded5", "signature": "TourStep(uint Target, string? Title = null, string? Body = null, Placement Placement = Placement.BottomStart)", "parameters": [{ "name": "Target", "type": "uint" }, { "name": "Title", "type": "string?", "default": "null" }, { "name": "Body", "type": "string?", "default": "null" }, { "name": "Placement", "type": "Placement", "default": "Placement.BottomStart" }] }, { "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "the card\u0027s side of the target, default below it" }, { "name": "Body", "kind": "field", "id": "field|Body|0|0|string?|||h359dc924fe6434cd62ccb077f8293542411e1affb331176c8bd8c2155d017c49", "signature": "public string? Body", "summary": "const char * body" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "const char * title" }, { "name": "Target", "kind": "field", "id": "field|Target|0|0|uint|||he9ee9dd345fe17fa7d374fd3bbf2d77faa51c7aa3b0c74aba7353f9abfa39524", "signature": "public uint Target", "summary": "the control to point at (cui_last_id after it); 0: a card in the middle" }] }, - { "name": "CuiSharp.TraceMarker", "displayName": "TraceMarker", "kind": "struct", "summary": "cui_trace_marker. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;double Time = default;Tone Tone = Tone.Neutral||h987415e60e77e6d92905126b647219b2bd52fbbb66f06f7a65b50eb84c158d95", "signature": "TraceMarker(string? Name, double Time = default, Tone Tone = Tone.Neutral)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Time", "type": "double", "default": "default" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|double|||hf6eb8bfefd7957f87b5ed2738bc9a721b9ff45c732f53108d799ad2931a6b170", "signature": "public double Time", "summary": "double time" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }] }, - { "name": "CuiSharp.TraceOpts", "displayName": "TraceOpts", "kind": "struct", "summary": "cui_trace_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Markers", "kind": "field", "id": "field|Markers|0|0|TraceMarker[]?|||ha15b2672eaf5697815e581f2168823bf6d0bd845bc7f4ac7692c751438405e08", "signature": "public TraceMarker[]? Markers", "summary": "const cui_trace_marker * markers" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "default 20" }, { "name": "MarkerCount", "kind": "field", "id": "field|MarkerCount|0|0|int|||hd02925399c1946c54760fa87c0cf0fc40e035f18f37eefaa1c62d9287953f517", "signature": "public int MarkerCount", "summary": "int marker_count" }] }, - { "name": "CuiSharp.TraceResult", "displayName": "TraceResult", "kind": "struct", "summary": "cui_trace_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool SelectionChanged;bool ViewChanged = default;int Hovered = default||h877b66a976f96361fffb3dc5ce0f9118fa4f9111e5da9165ba1a175ee657d38e", "signature": "TraceResult(bool SelectionChanged, bool ViewChanged = default, int Hovered = default)", "parameters": [{ "name": "SelectionChanged", "type": "bool" }, { "name": "ViewChanged", "type": "bool", "default": "default" }, { "name": "Hovered", "type": "int", "default": "default" }] }, { "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|bool|||h05b0cea014ff6284a7cc2c58dd6fb1035a7e0e81c25aa7972d22ca756915ea7a", "signature": "public bool SelectionChanged", "summary": "_Bool selection_changed" }, { "name": "ViewChanged", "kind": "field", "id": "field|ViewChanged|0|0|bool|||h644da108e153019ae339e325a567b1b89a1cc6e0c8470c8761ac096a08aee5ee", "signature": "public bool ViewChanged", "summary": "_Bool view_changed" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "int hovered" }] }, - { "name": "CuiSharp.TraceSpan", "displayName": "TraceSpan", "kind": "struct", "summary": "cui_trace_span. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;double Start = default;double End = default;int Track = default;int Depth = default;uint ColorKey = default||h318ab1b416f7f76477208583d7ee0a1bafafd70676f571c1fa4b60a65337ae1d", "signature": "TraceSpan(string? Name, double Start = default, double End = default, int Track = default, int Depth = default, uint ColorKey = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Start", "type": "double", "default": "default" }, { "name": "End", "type": "double", "default": "default" }, { "name": "Track", "type": "int", "default": "default" }, { "name": "Depth", "type": "int", "default": "default" }, { "name": "ColorKey", "type": "uint", "default": "default" }] }, { "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "double end" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "double start" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "int depth" }, { "name": "Track", "kind": "field", "id": "field|Track|0|0|int|||h9c37b28844517649f18e47061d3bb9ab42f294995e73a6edbf8deb27d891797c", "signature": "public int Track", "summary": "int track" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }, { "name": "ColorKey", "kind": "field", "id": "field|ColorKey|0|0|uint|||hbbc8b9d5c464ef1cd597c6f62696a77755f8847c84433421ceea1723416ab5bd", "signature": "public uint ColorKey", "summary": "uint32_t color_key" }] }, - { "name": "CuiSharp.TraceTrack", "displayName": "TraceTrack", "kind": "struct", "summary": "cui_trace_track. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;bool Collapsed = default||hb6c92adbe1e1698c807549b8dca0e0385a2377fbad5bc4f56207ada0eb76bc07", "signature": "TraceTrack(string? Name, bool Collapsed = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Collapsed", "type": "bool", "default": "default" }] }, { "name": "Collapsed", "kind": "field", "id": "field|Collapsed|0|0|bool|||hff01a5ca4f7c74b1b48bd9b63d63e7035971a03ec821d972bb3d0af55a386c69", "signature": "public bool Collapsed", "summary": "_Bool collapsed" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }] }, - { "name": "CuiSharp.TraceViewState", "displayName": "TraceViewState", "kind": "struct", "summary": "cui_trace_view. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||double Start;double End = default;float Scroll = default;double MarkStart = default;double MarkEnd = default||hb47178c03c4179a3cad63bc37fa630b2b822ba96a6f824134bec5fc92d6891d2", "signature": "TraceViewState(double Start, double End = default, float Scroll = default, double MarkStart = default, double MarkEnd = default)", "parameters": [{ "name": "Start", "type": "double" }, { "name": "End", "type": "double", "default": "default" }, { "name": "Scroll", "type": "float", "default": "default" }, { "name": "MarkStart", "type": "double", "default": "default" }, { "name": "MarkEnd", "type": "double", "default": "default" }] }, { "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "visible time range; end \u003C= start fits everything" }, { "name": "MarkEnd", "kind": "field", "id": "field|MarkEnd|0|0|double|||h699816d1c0538e008f463ac8f850d0a13da89e363166dd067ec66639d88d61fa", "signature": "public double MarkEnd", "summary": "measured range; mark_end \u003C= mark_start: none" }, { "name": "MarkStart", "kind": "field", "id": "field|MarkStart|0|0|double|||h35e62cd0862ac884bb6c77fa8438ba07d7a031aa2c53827132af5f19a5e16bf4", "signature": "public double MarkStart", "summary": "measured range; mark_end \u003C= mark_start: none" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "visible time range; end \u003C= start fits everything" }, { "name": "Scroll", "kind": "field", "id": "field|Scroll|0|0|float|||h0dfb15b9f1ad3ea27fb4bb36094488302791ae6da1fc5727249bcba34280b5fb", "signature": "public float Scroll", "summary": "points scrolled down" }] }, + { "name": "CuiSharp.TourOpts", "displayName": "TourOpts", "kind": "struct", "summary": "cui_tour_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "BlockTarget", "kind": "field", "id": "field|BlockTarget|0|0|bool|||hc54dd82166075855eb3447029292a804808a9ffb616f8982505652faa49b6a2f", "signature": "public bool BlockTarget", "summary": "the spotlighted control ignores the pointer too" }, { "name": "Padding", "kind": "field", "id": "field|Padding|0|0|float|||h5921be8adbefbfcb4404da7db85d1cb3731c758d863577be4fbce92451350649", "signature": "public float Padding", "summary": "room around the target inside the spotlight, default 6" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "the card, default 300" }, { "name": "BackLabel", "kind": "field", "id": "field|BackLabel|0|0|string?|||h890944a46dcecfa4148ac8a5893912710e3adb907b4dfa51320e35d338bb98b2", "signature": "public string? BackLabel", "summary": "default \u0022Next\u0022, \u0022Back\u0022, \u0022Done\u0022" }, { "name": "CountFormat", "kind": "field", "id": "field|CountFormat|0|0|string?|||hcd488b92046f94c8ab3c58db743f23405d8eb2ee0793df1695a74b1afa9ce82e", "signature": "public string? CountFormat", "summary": "the step count, default \u0022%d of %d\u0022 (step, then total)" }, { "name": "DoneLabel", "kind": "field", "id": "field|DoneLabel|0|0|string?|||h49f02e29ac797c25df73a6aa480f8e6ea3c16789f168ffdd7cc282980771c4e4", "signature": "public string? DoneLabel", "summary": "default \u0022Next\u0022, \u0022Back\u0022, \u0022Done\u0022" }, { "name": "NextLabel", "kind": "field", "id": "field|NextLabel|0|0|string?|||hf68c00f75ffaab77da7a20859ec292e622ffeec83256e9b9a2960ae0b56a234b", "signature": "public string? NextLabel", "summary": "default \u0022Next\u0022, \u0022Back\u0022, \u0022Done\u0022" }] }, + { "name": "CuiSharp.TourStep", "displayName": "TourStep", "kind": "struct", "summary": "Guided tour: a spotlight on one control at a time, with a card beside it that says what the control does, for onboarding and \u0022what\u0027s new\u0022. The rest of the window dims; the spotlight glides from one control to the next. Call it after the controls it points at, every frame while *step is 0 or more; it sets *step to -1 when the tour ends. Right or Enter go to the next step, Left goes back and Esc ends the tour. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||uint Target;string? Title = null;string? Body = null;Placement Placement = Placement.BottomStart||ha0e63858101ca2bc0a30175686c4d52a76f578cfa000b771f07abcd48132ded5", "signature": "TourStep(uint Target, string? Title = null, string? Body = null, Placement Placement = Placement.BottomStart)", "parameters": [{ "name": "Target", "type": "uint" }, { "name": "Title", "type": "string?", "default": "null" }, { "name": "Body", "type": "string?", "default": "null" }, { "name": "Placement", "type": "Placement", "default": "Placement.BottomStart" }] }, { "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "the card\u0027s side of the target, default below it" }, { "name": "Body", "kind": "field", "id": "field|Body|0|0|string?|||h359dc924fe6434cd62ccb077f8293542411e1affb331176c8bd8c2155d017c49", "signature": "public string? Body", "summary": "the explanation under the title; wraps to the card\u0027s width" }, { "name": "Title", "kind": "field", "id": "field|Title|0|0|string?|||h93a8edaa93b16842fe0ac6654a4057aba157dadc71904a5f698e3e310fc21f31", "signature": "public string? Title", "summary": "heading of the step\u0027s card; \u0060NULL\u0060 or \u0022\u0022 leaves it out" }, { "name": "Target", "kind": "field", "id": "field|Target|0|0|uint|||he9ee9dd345fe17fa7d374fd3bbf2d77faa51c7aa3b0c74aba7353f9abfa39524", "signature": "public uint Target", "summary": "the control to point at (cui_last_id after it); 0: a card in the middle" }] }, + { "name": "CuiSharp.TraceMarker", "displayName": "TraceMarker", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;double Time = default;Tone Tone = Tone.Neutral||h987415e60e77e6d92905126b647219b2bd52fbbb66f06f7a65b50eb84c158d95", "signature": "TraceMarker(string? Name, double Time = default, Tone Tone = Tone.Neutral)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Time", "type": "double", "default": "default" }, { "name": "Tone", "type": "Tone", "default": "Tone.Neutral" }] }, { "name": "Tone", "kind": "field", "id": "field|Tone|0|0|Tone|||h34cf99709011d80e01e30e5f5f32dd42fc736257abef30989bc1bdf182b7842e", "signature": "public Tone Tone", "summary": "cui_tone tone" }, { "name": "Time", "kind": "field", "id": "field|Time|0|0|double|||hf6eb8bfefd7957f87b5ed2738bc9a721b9ff45c732f53108d799ad2931a6b170", "signature": "public double Time", "summary": "double time" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }] }, + { "name": "CuiSharp.TraceOpts", "displayName": "TraceOpts", "kind": "struct", "summary": "A tracing timeline: one lane per thread, process or service, each with its nested spans, on one time ruler, with markers (frames, GC pauses, deploys) drawn across every lane. Wheel zooms around the pointer, Shift\u002Bwheel or a drag pans, click selects a span, Shift\u002Bdrag measures a time range. A lane\u0027s name folds it. Keys: Left and Right step through the selected span\u0027s lane, \u002B and - zoom, F fits, Esc clears. Spans must be sorted by track, depth and start (cui_trace_sort), with no overlap within a depth of a track. Like the flame graph, only what is in view is visited. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Markers", "kind": "field", "id": "field|Markers|0|0|TraceMarker[]?|||ha15b2672eaf5697815e581f2168823bf6d0bd845bc7f4ac7692c751438405e08", "signature": "public TraceMarker[]? Markers", "summary": "moments drawn as lines across every lane, named in a strip under the ruler" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "default 320" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "default 20" }] }, + { "name": "CuiSharp.TraceResult", "displayName": "TraceResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||bool SelectionChanged;bool ViewChanged = default;int Hovered = default||h877b66a976f96361fffb3dc5ce0f9118fa4f9111e5da9165ba1a175ee657d38e", "signature": "TraceResult(bool SelectionChanged, bool ViewChanged = default, int Hovered = default)", "parameters": [{ "name": "SelectionChanged", "type": "bool" }, { "name": "ViewChanged", "type": "bool", "default": "default" }, { "name": "Hovered", "type": "int", "default": "default" }] }, { "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|bool|||h05b0cea014ff6284a7cc2c58dd6fb1035a7e0e81c25aa7972d22ca756915ea7a", "signature": "public bool SelectionChanged", "summary": "\u0060*selected\u0060 changed this frame (click or keys)" }, { "name": "ViewChanged", "kind": "field", "id": "field|ViewChanged|0|0|bool|||h644da108e153019ae339e325a567b1b89a1cc6e0c8470c8761ac096a08aee5ee", "signature": "public bool ViewChanged", "summary": "the visible time range or the scroll in \u0060*view\u0060 changed (zoom, pan, fit)" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "span under the pointer, or -1" }] }, + { "name": "CuiSharp.TraceSpan", "displayName": "TraceSpan", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;double Start = default;double End = default;int Track = default;int Depth = default;uint ColorKey = default||h318ab1b416f7f76477208583d7ee0a1bafafd70676f571c1fa4b60a65337ae1d", "signature": "TraceSpan(string? Name, double Start = default, double End = default, int Track = default, int Depth = default, uint ColorKey = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Start", "type": "double", "default": "default" }, { "name": "End", "type": "double", "default": "default" }, { "name": "Track", "type": "int", "default": "default" }, { "name": "Depth", "type": "int", "default": "default" }, { "name": "ColorKey", "type": "uint", "default": "default" }] }, { "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "when the span ends, in seconds; end \u003E= start" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "when the span begins, in seconds" }, { "name": "Depth", "kind": "field", "id": "field|Depth|0|0|int|||h5c000330acd96a811d204190bc527bc04dc1fb3eb86013885f00fa4eab3a4544", "signature": "public int Depth", "summary": "row within the lane, 0 = top; a child lies within its parent" }, { "name": "Track", "kind": "field", "id": "field|Track|0|0|int|||h9c37b28844517649f18e47061d3bb9ab42f294995e73a6edbf8deb27d891797c", "signature": "public int Track", "summary": "index into the tracks: the lane the span is drawn in" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "drawn in the span when it fits, and in its tooltip" }, { "name": "ColorKey", "kind": "field", "id": "field|ColorKey|0|0|uint|||hbbc8b9d5c464ef1cd597c6f62696a77755f8847c84433421ceea1723416ab5bd", "signature": "public uint ColorKey", "summary": "picks the color; 0: hashed from the name" }] }, + { "name": "CuiSharp.TraceTrack", "displayName": "TraceTrack", "kind": "struct", "summary": "A tracing timeline: one lane per thread, process or service, each with its nested spans, on one time ruler, with markers (frames, GC pauses, deploys) drawn across every lane. Wheel zooms around the pointer, Shift\u002Bwheel or a drag pans, click selects a span, Shift\u002Bdrag measures a time range. A lane\u0027s name folds it. Keys: Left and Right step through the selected span\u0027s lane, \u002B and - zoom, F fits, Esc clears. Spans must be sorted by track, depth and start (cui_trace_sort), with no overlap within a depth of a track. Like the flame graph, only what is in view is visited. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;bool Collapsed = default||hb6c92adbe1e1698c807549b8dca0e0385a2377fbad5bc4f56207ada0eb76bc07", "signature": "TraceTrack(string? Name, bool Collapsed = default)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Collapsed", "type": "bool", "default": "default" }] }, { "name": "Collapsed", "kind": "field", "id": "field|Collapsed|0|0|bool|||hff01a5ca4f7c74b1b48bd9b63d63e7035971a03ec821d972bb3d0af55a386c69", "signature": "public bool Collapsed", "summary": "the lane shows only its top row; a click on its name toggles this" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "the lane\u0027s name, in the column on the left" }] }, + { "name": "CuiSharp.TraceViewState", "displayName": "TraceViewState", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||double Start;double End = default;float Scroll = default;double MarkStart = default;double MarkEnd = default||hb47178c03c4179a3cad63bc37fa630b2b822ba96a6f824134bec5fc92d6891d2", "signature": "TraceViewState(double Start, double End = default, float Scroll = default, double MarkStart = default, double MarkEnd = default)", "parameters": [{ "name": "Start", "type": "double" }, { "name": "End", "type": "double", "default": "default" }, { "name": "Scroll", "type": "float", "default": "default" }, { "name": "MarkStart", "type": "double", "default": "default" }, { "name": "MarkEnd", "type": "double", "default": "default" }] }, { "name": "End", "kind": "field", "id": "field|End|0|0|double|||h6036cc8c80c4f7fe4db06e1f6a110eab3e3a9c853bbcfa03ca04aaaf19719aa6", "signature": "public double End", "summary": "visible time range; end \u003C= start fits everything" }, { "name": "MarkEnd", "kind": "field", "id": "field|MarkEnd|0|0|double|||h699816d1c0538e008f463ac8f850d0a13da89e363166dd067ec66639d88d61fa", "signature": "public double MarkEnd", "summary": "measured range; mark_end \u003C= mark_start: none" }, { "name": "MarkStart", "kind": "field", "id": "field|MarkStart|0|0|double|||h35e62cd0862ac884bb6c77fa8438ba07d7a031aa2c53827132af5f19a5e16bf4", "signature": "public double MarkStart", "summary": "measured range; mark_end \u003C= mark_start: none" }, { "name": "Start", "kind": "field", "id": "field|Start|0|0|double|||h16038a000538b7b1f579c15d36736f51594d056fbf691fb893afd369cec10be0", "signature": "public double Start", "summary": "visible time range; end \u003C= start fits everything" }, { "name": "Scroll", "kind": "field", "id": "field|Scroll|0|0|float|||h0dfb15b9f1ad3ea27fb4bb36094488302791ae6da1fc5727249bcba34280b5fb", "signature": "public float Scroll", "summary": "points scrolled down" }] }, { "name": "CuiSharp.TreeNode", "displayName": "TreeNode", "kind": "struct", "summary": "One node of a ui.TreeTable model: a flat array linked by index, so a hundred thousand nodes cost what one screenful does.", "members": [{ "name": "IsLoading", "kind": "property", "id": "property|IsLoading|0|0|bool||get;|h1000d5a5af6a7de8621a806a9d6788c2b158ca1464f05ee1ff0985fb5fb2ccb5", "signature": "bool IsLoading { get; }", "summary": "The table asked for this node\u0027s children and they have not arrived yet." }, { "name": "IsOpen", "kind": "property", "id": "property|IsOpen|0|0|bool||get;|h96b23fc8d76da78cf5192392dbc1c068d4f138bb5af686d1949fa0f77fad9d9f", "signature": "bool IsOpen { get; }", "summary": "The node is expanded." }, { "name": "IsSelected", "kind": "property", "id": "property|IsSelected|0|0|bool||get;|h4fe4acc829c155fc706f9f9d41e2d850c4ab3d570b838abaffd1b48ba94b077d", "signature": "bool IsSelected { get; }", "summary": "The node is selected." }, { "name": "Flags", "kind": "field", "id": "field|Flags|0|0|TreeNodeFlags|||h30d77de956fd75ffb6db0fe1d49652e7c3770f8f602195447d5ef2c60d2bb911", "signature": "public TreeNodeFlags Flags", "summary": "Open, selected and loading state, plus whether children are pending." }, { "name": "FirstChild", "kind": "field", "id": "field|FirstChild|0|0|int|||hf352db55e0335cdbaba7921f10fcce1a433441b9e9200bbbffc55ea64941e15f", "signature": "public int FirstChild", "summary": "The first child\u0027s index, or -1 when it has none or none are loaded yet." }, { "name": "NextSibling", "kind": "field", "id": "field|NextSibling|0|0|int|||h91edbf9b95ba6415a86ef01020d77d524dc26276aeb561f29306da80f336c887", "signature": "public int NextSibling", "summary": "The next sibling\u0027s index, or -1 for the last one." }, { "name": "Parent", "kind": "field", "id": "field|Parent|0|0|int|||h337a9d403da4862c29838d25d5876fa8d3e3fbbc6d85493b646b4fd3986ce253", "signature": "public int Parent", "summary": "The parent\u0027s index, or -1 for a top level node." }, { "name": "Detached", "kind": "property", "id": "property|Detached|1|0|TreeNode||get;|hdc007f657e128f0442981656c6199a5b0550304e29c95d5b342ce17ac41dfd30", "signature": "static TreeNode Detached { get; }", "summary": "A detached node: no parent, no children, no state." }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()" }] }, { "name": "CuiSharp.TreeNodeFlags", "displayName": "TreeNodeFlags", "kind": "enum", "summary": "cui_tree_node flags: what the tree table toggles as you use it.", "members": [{ "name": "HasChildren", "kind": "enum value", "id": "enum value|HasChildren|1|0|||1|h8b94abcf62b3c228023ca60518f889bd7a7ca85c3cc267c3399fe6fe5c7e5294", "signature": "HasChildren = 1", "summary": "Show a chevron before the children are loaded.", "value": "1" }, { "name": "Loading", "kind": "enum value", "id": "enum value|Loading|1|0|||8|hd47dfc49768b2c9a74cac1c7d7522b8ff8ba795b966c510f781b81d92b29d8dc", "signature": "Loading = 8", "summary": "Children are arriving: an open node shows a spinner row until this is cleared.", "value": "8" }, { "name": "Open", "kind": "enum value", "id": "enum value|Open|1|0|||2|h72c06004b608acab9f58a1959dc7e8ba4c9b77f2ef339d98a9960394ce79b50f", "signature": "Open = 2", "summary": "Expanded. The table toggles this when the chevron is clicked.", "value": "2" }, { "name": "Selected", "kind": "enum value", "id": "enum value|Selected|1|0|||4|hbbb533099a9bb876754c4154b3f8f5c50a5eb9b2c609408c798179f0188cb6d5", "signature": "Selected = 4", "summary": "Selected. The table sets and clears this.", "value": "4" }] }, - { "name": "CuiSharp.TreeOpts", "displayName": "TreeOpts", "kind": "struct", "summary": "cui_tree_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Leaf", "kind": "field", "id": "field|Leaf|0|0|bool|||h9e0b7d1fb275ead7e56429825f41e5b25adba52a81b1e2f5b6f2186737ba0aec", "signature": "public bool Leaf", "summary": "_Bool leaf" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|bool|||ha8f1fe2a399f368a574176637903c3d9775d632126ad3ed2ba7d99d9787055da", "signature": "public bool Selected", "summary": "_Bool selected" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, + { "name": "CuiSharp.TreeOpts", "displayName": "TreeOpts", "kind": "struct", "summary": "Tree view node. All fields are optional; zero selects the native default.", "members": [{ "name": "Leaf", "kind": "field", "id": "field|Leaf|0|0|bool|||h9e0b7d1fb275ead7e56429825f41e5b25adba52a81b1e2f5b6f2186737ba0aec", "signature": "public bool Leaf", "summary": "a node without children: no chevron, a file icon, and \u0060*open\u0060 is left alone" }, { "name": "Selected", "kind": "field", "id": "field|Selected|0|0|bool|||ha8f1fe2a399f368a574176637903c3d9775d632126ad3ed2ba7d99d9787055da", "signature": "public bool Selected", "summary": "drawn with the active background and medium weight text" }, { "name": "Icon", "kind": "field", "id": "field|Icon|0|0|string?|||hcde1437bde43c1697295d30669c92da2e86cf40ed384690cfdabd8cbe15ff219", "signature": "public string? Icon", "summary": "const char * icon" }] }, { "name": "CuiSharp.TreeTableEvents", "displayName": "TreeTableEvents", "kind": "struct", "summary": "What the tree table reported after its rows were drawn.", "members": [{ "name": "Load", "kind": "property", "id": "property|Load|0|0|ReadOnlySpan\u003Cint\u003E||get;|hf574fe7d86fb9203bea2da3fe001c215448afd499772bfaf3fe2954e21a86348", "signature": "ReadOnlySpan\u003Cint\u003E Load { get; }", "summary": "Nodes whose children the table wants: each now has Loading. Link them in, then clear Loading." }, { "name": "SelectionChanged", "kind": "field", "id": "field|SelectionChanged|0|0|bool|||hfc2fabdd111f94408cc1374997bcce1f837e9af90c5d57ed179cdf79b2024282", "signature": "public readonly bool SelectionChanged", "summary": "True when the selection changed." }, { "name": "SortChanged", "kind": "field", "id": "field|SortChanged|0|0|bool|||h4ed34b6a17b64739dccb45acd519e7ae49ee1e04f7ed3c7e2084d1d8236e7db5", "signature": "public readonly bool SortChanged", "summary": "True when a sortable header was clicked: sort the model and pass the new root back in." }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hf82a7fddd9f722e744daa5da83239837a9bcd1d31fdab1d134ee7a8f3c6567ab", "signature": "public readonly int Activated", "summary": "The node chosen with Enter or a double click, or -1." }, { "name": "Collapsed", "kind": "field", "id": "field|Collapsed|0|0|int|||hdca337d55089a7479ff0d43b36ff981f9e1b6a860520a0079aa259f098e4dfa2", "signature": "public readonly int Collapsed", "summary": "The node the user closed this frame, or -1." }, { "name": "Expanded", "kind": "field", "id": "field|Expanded|0|0|int|||hce43280ac2d5d6338c86ce97e134376691cf6d6df4ffff508be1c93c3ff5ca36", "signature": "public readonly int Expanded", "summary": "The node the user opened this frame, or -1." }] }, - { "name": "CuiSharp.TreeTableOpts", "displayName": "TreeTableOpts", "kind": "struct", "summary": "cui_tree_table_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default fill" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "Guides", "kind": "field", "id": "field|Guides|0|0|bool|||h7e9ab088cd84e6855062433d2087613e5fb8460e5ed62e343e4c52830488ac6b", "signature": "public bool Guides", "summary": "quiet vertical lines for each indentation level" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "default 32" }, { "name": "Root", "kind": "field", "id": "field|Root|0|0|int|||h6951cf8e44d999438aa751b095b478c002e3b8defd9d6fa77bc90f1c5a707dfb", "signature": "public int Root", "summary": "the first top level node, default 0" }] }, + { "name": "CuiSharp.TreeTableOpts", "displayName": "TreeTableOpts", "kind": "struct", "summary": "cui_tree_table_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "default fill" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "default fill" }, { "name": "Guides", "kind": "field", "id": "field|Guides|0|0|bool|||h7e9ab088cd84e6855062433d2087613e5fb8460e5ed62e343e4c52830488ac6b", "signature": "public bool Guides", "summary": "quiet vertical lines for each indentation level" }, { "name": "RowHeight", "kind": "field", "id": "field|RowHeight|0|0|float|||h5ea2104bcd7b1901e422af1ae5e7bfbafd249069750d53240ecbcc4c462a864a", "signature": "public float RowHeight", "summary": "default 32" }, { "name": "Root", "kind": "field", "id": "field|Root|0|0|int|||h6951cf8e44d999438aa751b095b478c002e3b8defd9d6fa77bc90f1c5a707dfb", "signature": "public int Root", "summary": "the first top level node, default 0" }] }, { "name": "CuiSharp.TreeTableRow", "displayName": "TreeTableRow", "kind": "delegate", "summary": "Draws one tree row: the caller writes the cells, the widget the indentation and chevron.", "members": [{ "name": "BeginInvoke", "kind": "method", "id": "method|BeginInvoke|0|0|IAsyncResult|Ui ui;int node;int depth;AsyncCallback callback;object object||hb8e87a7a2022e77c4a6ee5001cb539806ecfb6ef5552cdea8804276f71f2232c", "signature": "IAsyncResult BeginInvoke(Ui ui, int node, int depth, AsyncCallback callback, object @object)", "parameters": [{ "name": "ui", "type": "Ui" }, { "name": "node", "type": "int" }, { "name": "depth", "type": "int" }, { "name": "callback", "type": "AsyncCallback" }, { "name": "object", "type": "object" }] }, { "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||object object;nint method||he6641ea5e617ffa8974579447d4c8370257dc98cf899f5b6a348234630ca3eeb", "signature": "TreeTableRow(object @object, nint method)", "parameters": [{ "name": "object", "type": "object" }, { "name": "method", "type": "nint" }] }, { "name": "EndInvoke", "kind": "method", "id": "method|EndInvoke|0|0|void|IAsyncResult result||h477a5257f2f4c2172e54e854d9bc2f5c7bb790dade430a493c5a1c7d25248214", "signature": "void EndInvoke(IAsyncResult result)", "parameters": [{ "name": "result", "type": "IAsyncResult" }] }, { "name": "Invoke", "kind": "method", "id": "method|Invoke|0|0|void|Ui ui;int node;int depth||h9a371e5ae54502a8006d96dcddef3da1e0c9c674283682bf899a96595e9eecde", "signature": "void Invoke(Ui ui, int node, int depth)", "parameters": [{ "name": "ui", "type": "Ui" }, { "name": "node", "type": "int" }, { "name": "depth", "type": "int" }] }] }, - { "name": "CuiSharp.TreemapOpts", "displayName": "TreemapOpts", "kind": "struct", "summary": "cui_treemap_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, - { "name": "CuiSharp.Ui", "displayName": "Ui", "kind": "ref struct", "summary": "A stack-only drawing context. Do not retain it outside the current frame.", "members": [{ "name": "Accent", "kind": "property", "id": "property|Accent|0|0|Accent||get;set;|h601d9cfd9625a035242c1bcbf7277be4924bde18cceaaaa599fef54890ea0c9b", "signature": "Accent Accent { get; set; }", "summary": "The accent in use, and the way to change it. See Theme." }, { "name": "ApiExplorer", "kind": "extension", "id": "extension|ApiExplorer|0|0|ApiExplorerResult|UiText id;ReadOnlySpan\u003CApiEndpoint\u003E endpoints;ref int selected;ApiExplorerOpts o = default||h8e1274e09ed373172bec2fe1ee1969a7f9b2e594fbeed0ea8abed98302f3ed84", "signature": "ApiExplorerResult ApiExplorer(UiText id, ReadOnlySpan\u003CApiEndpoint\u003E endpoints, ref int selected, ApiExplorerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "endpoints", "type": "ReadOnlySpan\u003CApiEndpoint\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "ApiExplorerOpts", "default": "default" }], "summary": "cui_api_explorer_ex" }, { "name": "Blame", "kind": "extension", "id": "extension|Blame|0|0|BlameResult|UiText id;ReadOnlySpan\u003Cstring\u003E lines;ReadOnlySpan\u003Cint\u003E lineCommit;ReadOnlySpan\u003CBlameCommit\u003E commits;BlameOpts o = default||hdf716d42271c45696039bb07abacc01b9b0b2a935ee05dc1842213c276edf5eb", "signature": "BlameResult Blame(UiText id, ReadOnlySpan\u003Cstring\u003E lines, ReadOnlySpan\u003Cint\u003E lineCommit, ReadOnlySpan\u003CBlameCommit\u003E commits, BlameOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "lines", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "lineCommit", "type": "ReadOnlySpan\u003Cint\u003E" }, { "name": "commits", "type": "ReadOnlySpan\u003CBlameCommit\u003E" }, { "name": "o", "type": "BlameOpts", "default": "default" }], "summary": "cui_blame_ex" }, { "name": "Canvas", "kind": "method", "id": "method|Canvas|0|0|CanvasResult|UiText id;Size width;Size height;PaintFn paint||hf2c318f0b609f7226e807d7cf7e4edada63dc45f85bb57025ad7567a006824a0", "signature": "CanvasResult Canvas(UiText id, Size width, Size height, PaintFn paint)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "width", "type": "Size" }, { "name": "height", "type": "Size" }, { "name": "paint", "type": "PaintFn" }], "summary": "Reserves a box of the given size and lets you paint it." }, { "name": "Clip", "kind": "method", "id": "method|Clip|0|0|ClipScope|RectF r||h81bb7c5dd19720d5aa2ee17f5cb20e0238b08db45d6d0cb5700d16ce531ec5f2", "signature": "ClipScope Clip(RectF r)", "parameters": [{ "name": "r", "type": "RectF" }], "summary": "Clips subsequent drawing to a rectangle, closing the clip on dispose." }, { "name": "CodeEditor", "kind": "extension", "id": "extension|CodeEditor|0|0|CodeEditorResult|UiText id;ref string buf;int cap;CodeEditorOpts o = default||h3f99c4340c4ea2a0ae4ecc840716120045f85d30ea53f0aebe7ab1be2c09aa9a", "signature": "CodeEditorResult CodeEditor(UiText id, ref string buf, int cap, CodeEditorOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "buf", "type": "ref string" }, { "name": "cap", "type": "int" }, { "name": "o", "type": "CodeEditorOpts", "default": "default" }], "summary": "* left to right in any interface: see cui__keep_ltr" }, { "name": "ColorOf", "kind": "method", "id": "method|ColorOf|0|0|Color|Color color||h980f9c13c6409b9b666e72b6641e22a816c4a7d68a80eb109a44bc201bceceb0", "signature": "Color ColorOf(Color color)", "parameters": [{ "name": "color", "type": "Color" }], "summary": "Resolves a semantic token to its channels; other colors come back unchanged." }, { "name": "TokenColor", "kind": "method", "id": "method|TokenColor|0|0|Color|Token token||h0916cfc8affaa4db1788c2edd8ac85f518f146b3b691ef4d7181b7ad8ccac2fe", "signature": "Color TokenColor(Token token)", "parameters": [{ "name": "token", "type": "Token" }], "summary": "The channels a theme token resolves to this frame." }, { "name": "Comment", "kind": "extension", "id": "extension|Comment|0|0|CommentEvents|UiText id;UiText author;UiText text;ref int likes;ref bool liked;CommentOpts o = default||hd58eadbf1b4e2807aa889ed3f4c70606227f61711c62110ec27aebc46c70512c", "signature": "CommentEvents Comment(UiText id, UiText author, UiText text, ref int likes, ref bool liked, CommentOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "author", "type": "UiText" }, { "name": "text", "type": "UiText" }, { "name": "likes", "type": "ref int" }, { "name": "liked", "type": "ref bool" }, { "name": "o", "type": "CommentOpts", "default": "default" }], "summary": "cui_comment_ex" }, { "name": "CommitGraph", "kind": "extension", "id": "extension|CommitGraph|0|0|CommitGraphResult|UiText id;ReadOnlySpan\u003CCommit\u003E commits;ref int selected;CommitGraphOpts o = default||h8d094156c694b6c409f8abe92f01e016c9b138a44ea76b0770f70f4fd34781c7", "signature": "CommitGraphResult CommitGraph(UiText id, ReadOnlySpan\u003CCommit\u003E commits, ref int selected, CommitGraphOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "commits", "type": "ReadOnlySpan\u003CCommit\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "CommitGraphOpts", "default": "default" }], "summary": "cui_commit_graph_ex" }, { "name": "ChatComposer", "kind": "extension", "id": "extension|ChatComposer|0|0|ComposerEvents|UiText id;ref string buf;int cap;ref int removed;ref int model;ComposerOpts o = default||ha61bd40b4efb8355a255edc7d36d348178993536309ab1ee4c6c9a381fd22431", "signature": "ComposerEvents ChatComposer(UiText id, ref string buf, int cap, ref int removed, ref int model, ComposerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "buf", "type": "ref string" }, { "name": "cap", "type": "int" }, { "name": "removed", "type": "ref int" }, { "name": "model", "type": "ref int" }, { "name": "o", "type": "ComposerOpts", "default": "default" }], "summary": "cui_chat_composer_ex" }, { "name": "Coverage", "kind": "extension", "id": "extension|Coverage|0|0|CoverageResult|UiText id;ReadOnlySpan\u003CCoverageFile\u003E files;CoverageOpts o = default||h71a24310abd0377c27ded9130e91e48dc3e91a798d1a79f3563a30b446fe6a95", "signature": "CoverageResult Coverage(UiText id, ReadOnlySpan\u003CCoverageFile\u003E files, CoverageOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "files", "type": "ReadOnlySpan\u003CCoverageFile\u003E" }, { "name": "o", "type": "CoverageOpts", "default": "default" }], "summary": "cui_coverage_ex" }, { "name": "Cursor", "kind": "property", "id": "property|Cursor|0|0|Cursor||get;|hc22a16db67c85c2843d2f88cc8ab464d28c155381bf1d1998e9fc4743eb42043", "signature": "Cursor Cursor { get; }", "summary": "The cursor the UI asked for last frame, for a backend that draws its own." }, { "name": "CurveEditor", "kind": "extension", "id": "extension|CurveEditor|0|0|CurveResult|UiText id;Span\u003CCurveKey\u003E keys;ref int count;int capacity;ref int selected;CurveOpts o = default||h0aa646bcaa2a7a88d9f7fb5646774b70a481e877c7087d2169536d01d2eb89dc", "signature": "CurveResult CurveEditor(UiText id, Span\u003CCurveKey\u003E keys, ref int count, int capacity, ref int selected, CurveOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "keys", "type": "Span\u003CCurveKey\u003E" }, { "name": "count", "type": "ref int" }, { "name": "capacity", "type": "int" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "CurveOpts", "default": "default" }], "summary": "cui_curve_editor_ex" }, { "name": "DiffView", "kind": "extension", "id": "extension|DiffView|0|0|DiffResult|UiText id;UiText oldText;UiText newText;ref int current;DiffOpts o = default||h1928b65f5fa6dc715c0e20351e64a90a55ca9b8fd792c4a9a6e3df7545ba072a", "signature": "DiffResult DiffView(UiText id, UiText oldText, UiText newText, ref int current, DiffOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "oldText", "type": "UiText" }, { "name": "newText", "type": "UiText" }, { "name": "current", "type": "ref int" }, { "name": "o", "type": "DiffOpts", "default": "default" }], "summary": "* left to right in any interface: see cui__keep_ltr" }, { "name": "Disabled", "kind": "method", "id": "method|Disabled|0|0|DisabledScope|bool disabled||h3a515a3de1d8d0205d97aef4118bf5ab6c5af12e051d859d3b8cabae81fb9db1", "signature": "DisabledScope Disabled(bool disabled)", "parameters": [{ "name": "disabled", "type": "bool" }], "summary": "Opens a disabled gate that using closes." }, { "name": "Disabled", "kind": "method", "id": "method|Disabled|0|0|DisabledScope|bool disabled;DrawFn body||hcc29e71513d0c4970a98faee97bed37a754ecae1da31ed37b95a7e3588c336d9", "signature": "DisabledScope Disabled(bool disabled, DrawFn body)", "parameters": [{ "name": "disabled", "type": "bool" }, { "name": "body", "type": "DrawFn" }], "summary": "Draws body with every control inside it disabled: it still lays out and paints, but clicks, keys and hover do nothing." }, { "name": "DocTabs", "kind": "extension", "id": "extension|DocTabs|0|0|DocTabsResult|UiText id;ReadOnlySpan\u003CDocTab\u003E tabs;ref int selected;DocTabsOpts o = default||hdb202a4c9e42fa362479fb5e674bee39fa9949e204316f94f4197f0a54fe4c83", "signature": "DocTabsResult DocTabs(UiText id, ReadOnlySpan\u003CDocTab\u003E tabs, ref int selected, DocTabsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "tabs", "type": "ReadOnlySpan\u003CDocTab\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "DocTabsOpts", "default": "default" }], "summary": "cui_doc_tabs_ex" }, { "name": "FeatureFlags", "kind": "extension", "id": "extension|FeatureFlags|0|0|FeatureFlagsResult|UiText id;Span\u003CFeatureFlag\u003E flags;ReadOnlySpan\u003Cstring\u003E envs;FeatureFlagsOpts o = default||h1c2c043a1a911bf524b328f35cfa7f2ee4862adfb16f1b0cbd98cf1077245b34", "signature": "FeatureFlagsResult FeatureFlags(UiText id, Span\u003CFeatureFlag\u003E flags, ReadOnlySpan\u003Cstring\u003E envs, FeatureFlagsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "flags", "type": "Span\u003CFeatureFlag\u003E" }, { "name": "envs", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "o", "type": "FeatureFlagsOpts", "default": "default" }], "summary": "cui_feature_flags_ex" }, { "name": "FileBrowser", "kind": "extension", "id": "extension|FileBrowser|0|0|FileBrowserResult|UiText id;ref string path;int pathCap = 1024;FileBrowserOpts o = default||hdcc3319728f0b23560a33e9d8c875e4b5389d816f8e66b4e3630e917284e3bf8", "signature": "FileBrowserResult FileBrowser(UiText id, ref string path, int pathCap = 1024, FileBrowserOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "path", "type": "ref string" }, { "name": "pathCap", "type": "int", "default": "1024" }, { "name": "o", "type": "FileBrowserOpts", "default": "default" }], "summary": "path: the folder shown, yours; the browser writes it as you move around." }, { "name": "FlameGraph", "kind": "extension", "id": "extension|FlameGraph|0|0|FlameResult|UiText id;ReadOnlySpan\u003CFlameSpan\u003E spans;ref FlameView view;ref int selected;FlameOpts o = default||h825a9e17f3b7381f2b9b6b4244a8edbabda629701c297e3c877a4e13fc43e98c", "signature": "FlameResult FlameGraph(UiText id, ReadOnlySpan\u003CFlameSpan\u003E spans, ref FlameView view, ref int selected, FlameOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "spans", "type": "ReadOnlySpan\u003CFlameSpan\u003E" }, { "name": "view", "type": "ref FlameView" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "FlameOpts", "default": "default" }], "summary": "selected: index into spans, -1 for none (may be NULL)." }, { "name": "LoadFont", "kind": "extension", "id": "extension|LoadFont|0|0|Font|ReadOnlySpan\u003Cbyte\u003E data;bool copy = true||h73d65ad67f9acdd48823d96c747c086a24a1625658056e8af856a3bd4d554241", "signature": "Font LoadFont(ReadOnlySpan\u003Cbyte\u003E data, bool copy = true)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "data", "type": "ReadOnlySpan\u003Cbyte\u003E" }, { "name": "copy", "type": "bool", "default": "true" }], "summary": "Loads a font from memory and returns a handle for SetFont." }, { "name": "LoadFont", "kind": "extension", "id": "extension|LoadFont|0|0|Font|UiText path||h5faed851de772ad862622c3312f2aeae3c81ef7915ae305e81bb638cf9b3b107", "signature": "Font LoadFont(UiText path)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "path", "type": "UiText" }], "summary": "Loads a font file (TTF/OTF) and returns a handle for SetFont." }, { "name": "UseSystemFontFallback", "kind": "extension", "id": "extension|UseSystemFontFallback|0|0|Font|string sample||h718698d4ba3dba692a0bf04e8e6729a2aae4ac8563689108bb00fdf124984df6", "signature": "Font UseSystemFontFallback(string sample)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "sample", "type": "string" }], "summary": "Finds a face on this machine that can draw sample and registers it as a fallback for the app\u0027s roles, so a UI in a script the bundled faces do not cover renders instead of going blank." }, { "name": "GradientEditor", "kind": "extension", "id": "extension|GradientEditor|0|0|GradientResult|UiText id;Span\u003CGradientStop\u003E stops;ref int count;int capacity;ref int selected;GradientOpts o = default||h22ba29de3dd5440cd7373415c1f48323da92a14dd19862d6a962bbf6a3147afd", "signature": "GradientResult GradientEditor(UiText id, Span\u003CGradientStop\u003E stops, ref int count, int capacity, ref int selected, GradientOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "stops", "type": "Span\u003CGradientStop\u003E" }, { "name": "count", "type": "ref int" }, { "name": "capacity", "type": "int" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "GradientOpts", "default": "default" }], "summary": "cui_gradient_editor_ex" }, { "name": "GraphView", "kind": "extension", "id": "extension|GraphView|0|0|GraphResult|UiText id;ReadOnlySpan\u003CGraphNode\u003E nodes;ReadOnlySpan\u003CGraphEdge\u003E edges;ref int selected;GraphOpts o = default||hbce489b5fa6d64979be674221b7ae61e945b26d0224773080270c2c7dfd8b3bc", "signature": "GraphResult GraphView(UiText id, ReadOnlySpan\u003CGraphNode\u003E nodes, ReadOnlySpan\u003CGraphEdge\u003E edges, ref int selected, GraphOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "nodes", "type": "ReadOnlySpan\u003CGraphNode\u003E" }, { "name": "edges", "type": "ReadOnlySpan\u003CGraphEdge\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "GraphOpts", "default": "default" }], "summary": "cui_graph_view_ex" }, { "name": "DataGrid", "kind": "extension", "id": "extension|DataGrid|0|0|GridScope|UiText id;ReadOnlySpan\u003CGridColumn\u003E columns;int rowCount;GridState state;GridOpts o = default||hae20817285aa5f5ee430918dd512e707df8a0306e32777f0e13839f607262829", "signature": "GridScope DataGrid(UiText id, ReadOnlySpan\u003CGridColumn\u003E columns, int rowCount, GridState state, GridOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "columns", "type": "ReadOnlySpan\u003CGridColumn\u003E" }, { "name": "rowCount", "type": "int" }, { "name": "state", "type": "GridState" }, { "name": "o", "type": "GridOpts", "default": "default" }], "summary": "Opens a virtualized grid; draw rows in [state.First, state.Last)." }, { "name": "HexView", "kind": "extension", "id": "extension|HexView|0|0|HexResult|UiText id;Span\u003Cbyte\u003E bytes;ref HexSelection selection;HexViewOpts o = default||hb82ecf6f9d8a58d5c2bce7702bd188c8bb502de7a2d696f1a0af827be5fa22d9", "signature": "HexResult HexView(UiText id, Span\u003Cbyte\u003E bytes, ref HexSelection selection, HexViewOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "bytes", "type": "Span\u003Cbyte\u003E" }, { "name": "selection", "type": "ref HexSelection" }, { "name": "o", "type": "HexViewOpts", "default": "default" }], "summary": "Draws bytes and lets the user overwrite them in place." }, { "name": "Id", "kind": "method", "id": "method|Id|0|0|IdScope|UiText id||hf913a0d346bf51d9f7a0e55299041c30e8aa0eeb2f93eadbe20cad0c4ae3879b", "signature": "IdScope Id(UiText id)", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "Pushes a string id for the widgets drawn inside the scope." }, { "name": "Id", "kind": "method", "id": "method|Id|0|0|IdScope|int key||h3b4b6991acded6793bc66a091956c19c02661da15fabdf72db107273b8ed3d1b", "signature": "IdScope Id(int key)", "parameters": [{ "name": "key", "type": "int" }], "summary": "Pushes an integer id, typically a row or item index." }, { "name": "Input", "kind": "method", "id": "method|Input|0|0|InputResult|UiText id;ref string value;InputOpts o = default||he495e19d9d5cb23d03e35f0f55ea0ebafd853d7386ae9e4989697b39cec38980", "signature": "InputResult Input(UiText id, ref string value, InputOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref string" }, { "name": "o", "type": "InputOpts", "default": "default" }], "summary": "A single-line text field. Assign the string; CUI edits it in place and the new value comes back through value on the frames it changed." }, { "name": "Search", "kind": "method", "id": "method|Search|0|0|InputResult|UiText id;ref string value;InputOpts o = default||h11bb746b263541b15457e9933eac6e37a6cdfac44547449d0d7375a7431b87da", "signature": "InputResult Search(UiText id, ref string value, InputOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref string" }, { "name": "o", "type": "InputOpts", "default": "default" }], "summary": "A search field. See Input." }, { "name": "TextArea", "kind": "method", "id": "method|TextArea|0|0|InputResult|UiText id;ref string value;InputOpts o = default||ha0535c062baff5583884fcf6394397476e4b2a40ee79b643e731e601e2daad5c", "signature": "InputResult TextArea(UiText id, ref string value, InputOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref string" }, { "name": "o", "type": "InputOpts", "default": "default" }], "summary": "A multi-line text field. See Input." }, { "name": "Keyed", "kind": "method", "id": "method|Keyed|0|1|KeyedScope\u003CT\u003E|T[] items;KeyFn\u003CT\u003E key||h3645b3dae05812e37fd01340a5693892b688bf1436826030f83bf34e5dca43f8", "signature": "KeyedScope\u003CT\u003E Keyed\u003CT\u003E(T[] items, KeyFn\u003CT\u003E key)", "parameters": [{ "name": "items", "type": "T[]" }, { "name": "key", "type": "KeyFn\u003CT\u003E" }], "summary": "Enumerates items, each inside its own id scope derived from key." }, { "name": "Keymap", "kind": "extension", "id": "extension|Keymap|0|0|KeymapResult|UiText id;ReadOnlySpan\u003CKeymapBinding\u003E bindings;ref Mods mods;KeymapOpts o = default||h986c8ea2572b42d56814a32427ed89b00db2a4a2ff3ba6c7a4711a66da3c0bae", "signature": "KeymapResult Keymap(UiText id, ReadOnlySpan\u003CKeymapBinding\u003E bindings, ref Mods mods, KeymapOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "bindings", "type": "ReadOnlySpan\u003CKeymapBinding\u003E" }, { "name": "mods", "type": "ref Mods" }, { "name": "o", "type": "KeymapOpts", "default": "default" }], "summary": "cui_keymap_ex" }, { "name": "Box", "kind": "extension", "id": "extension|Box|0|0|LayoutScope|Box o = default||haec5c052acbeeaca94cb5a10a37f80e98abc85d069b6fa9aec58cf20715c0a06", "signature": "LayoutScope Box(Box o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "o", "type": "Box", "default": "default" }], "summary": "cui_box_begin" }, { "name": "ButtonGroup", "kind": "extension", "id": "extension|ButtonGroup|0|0|LayoutScope|||h8a2a0872d3ba1595bf0e1d9ad5860dfa36735b0ac74178a57cc8157b6493d6d4", "signature": "LayoutScope ButtonGroup()", "extensionOn": "CuiSharp.Ui", "summary": "Connected buttons. Put buttons between begin and end." }, { "name": "Card", "kind": "extension", "id": "extension|Card|0|0|LayoutScope|Card o = default||hb8d0387f360f71c39f098c9de712bb4aa0eb22a25fffee4615049459c0cc224e", "signature": "LayoutScope Card(Card o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "o", "type": "Card", "default": "default" }], "summary": "cui_card_begin" }, { "name": "Card", "kind": "extension", "id": "extension|Card|0|0|LayoutScope|Card o;out bool clicked||he64474f809036667bb19ed0028db705f58a61d124f67b6520b26f73775ae32e5", "signature": "LayoutScope Card(Card o, out bool clicked)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "o", "type": "Card" }, { "name": "clicked", "type": "out bool" }], "summary": "Always opens the container; clicked reports its interaction result." }, { "name": "CardStackItem", "kind": "extension", "id": "extension|CardStackItem|0|0|LayoutScope|int depth||h6f29f3239b665449b7d0d9b4e5177cb4099b541e3423fcb9d1a9b14fb1f686d0", "signature": "LayoutScope CardStackItem(int depth)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "depth", "type": "int" }], "summary": "cui_card_stack_item_begin" }, { "name": "CarouselSlide", "kind": "extension", "id": "extension|CarouselSlide|0|0|LayoutScope|||h9755b016a070064271f7e45738238254443cdfcb4d22aca524774095031595ec", "signature": "LayoutScope CarouselSlide()", "extensionOn": "CuiSharp.Ui", "summary": "cui_carousel_slide_begin" }, { "name": "Column", "kind": "extension", "id": "extension|Column|0|0|LayoutScope|Box o = default||h78447c50c087189e1c45a5984115c6b2709affec511cf6ab6521254dd0406549", "signature": "LayoutScope Column(Box o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "o", "type": "Box", "default": "default" }], "summary": "cui_column_begin" }, { "name": "DialogFooter", "kind": "extension", "id": "extension|DialogFooter|0|0|LayoutScope|||hea62c5e329105c7d787894e1fbdbbd9b079d2910e82c4be61263045ff18c81f3", "signature": "LayoutScope DialogFooter()", "extensionOn": "CuiSharp.Ui", "summary": "A right-aligned row for dialog actions." }, { "name": "Dock", "kind": "extension", "id": "extension|Dock|0|0|LayoutScope|UiText id;DockOpts o = default||ha8052963c653afff4ec2b3304515265b67454d94f44ee3c01d076c1e27148816", "signature": "LayoutScope Dock(UiText id, DockOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "DockOpts", "default": "default" }], "summary": "cui_dock_begin" }, { "name": "Dockspace", "kind": "extension", "id": "extension|Dockspace|0|0|LayoutScope|UiText id;DockspaceOpts o = default||hd8cabbad4df58a75fbb1e93299868d95ae7671ca676e01478b8c6067ace5a82d", "signature": "LayoutScope Dockspace(UiText id, DockspaceOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "DockspaceOpts", "default": "default" }], "summary": "cui_dockspace_begin_ex" }, { "name": "KanbanCard", "kind": "extension", "id": "extension|KanbanCard|0|0|LayoutScope|int cardId||h04d36b815b7f14d7d624e0b56c06560e052f6458aecd5cd68f485e0c8dc64b11", "signature": "LayoutScope KanbanCard(int cardId)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "cardId", "type": "int" }], "summary": "cui_kanban_card_begin" }, { "name": "KanbanCard", "kind": "extension", "id": "extension|KanbanCard|0|0|LayoutScope|int cardId;out bool clicked||h0ef9ec0801ab926804d1119b9bc9dc886afc490850829ed33cad336f7ee94f50", "signature": "LayoutScope KanbanCard(int cardId, out bool clicked)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "cardId", "type": "int" }, { "name": "clicked", "type": "out bool" }], "summary": "Always opens the container; clicked reports its interaction result." }, { "name": "KanbanColumn", "kind": "extension", "id": "extension|KanbanColumn|0|0|LayoutScope|UiText title;int cardCount;KanbanColumnOpts o = default||hd3dcefdc81fb36dfee31edd1754914e0453a4c7e0b1bb4c4b2b20b542eb8adaa", "signature": "LayoutScope KanbanColumn(UiText title, int cardCount, KanbanColumnOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "cardCount", "type": "int" }, { "name": "o", "type": "KanbanColumnOpts", "default": "default" }], "summary": "cui_kanban_column_begin_ex" }, { "name": "KanbanColumn", "kind": "extension", "id": "extension|KanbanColumn|0|0|LayoutScope|UiText title;int cardCount;KanbanColumnOpts o;out bool clicked||h7c9ca66f79f064c49eed8f4544d8fea1ed3304dc45d84e5ec067d319ed4ea113", "signature": "LayoutScope KanbanColumn(UiText title, int cardCount, KanbanColumnOpts o, out bool clicked)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "cardCount", "type": "int" }, { "name": "o", "type": "KanbanColumnOpts" }, { "name": "clicked", "type": "out bool" }], "summary": "Always opens the container; clicked reports its interaction result." }, { "name": "MenuBar", "kind": "extension", "id": "extension|MenuBar|0|0|LayoutScope|UiText id;MenuBarOpts o = default||h29b57cc387904e3c1d3083b170ceaa309e6bc4a2535b4c27f22ecd482570e152", "signature": "LayoutScope MenuBar(UiText id, MenuBarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "MenuBarOpts", "default": "default" }], "summary": "cui_menu_bar_begin" }, { "name": "NodeContent", "kind": "extension", "id": "extension|NodeContent|0|0|LayoutScope|||h6a09d812c8b6d9c4a4f2fc6aedc000b977da707334c08c94ee4e6dd62573dd59", "signature": "LayoutScope NodeContent()", "extensionOn": "CuiSharp.Ui", "summary": "A row for ordinary components. They are laid out at 100% and scaled with the view, so their text is sharpest at 100% zoom and below." }, { "name": "ReorderItem", "kind": "method", "id": "method|ReorderItem|0|0|LayoutScope|int position||h407076f847f4d4f606b87a109b5a505ca525179c0bff6726382889745d33f038", "signature": "LayoutScope ReorderItem(int position)", "parameters": [{ "name": "position", "type": "int" }] }, { "name": "Row", "kind": "extension", "id": "extension|Row|0|0|LayoutScope|Box o = default||ha02204054f3ea32388e8e24fc8038f253dd0b3504b0e01b650d69265773cb67e", "signature": "LayoutScope Row(Box o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "o", "type": "Box", "default": "default" }], "summary": "cui_row_begin" }, { "name": "Scroll", "kind": "extension", "id": "extension|Scroll|0|0|LayoutScope|ScrollOpts o = default||h7aa8eed4bb32b5efc54efbe5c6c7c19215ddf1d8ffed8dfc60e0c8d5234bc6f7", "signature": "LayoutScope Scroll(ScrollOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "o", "type": "ScrollOpts", "default": "default" }], "summary": "cui_scroll_begin" }, { "name": "Split", "kind": "extension", "id": "extension|Split|0|0|LayoutScope|UiText id;ref float ratio;SplitOpts o = default||h83e75ece850ab88dc38fde4b7d1d8ae789128ab387c95d8025b6302e8f59269f", "signature": "LayoutScope Split(UiText id, ref float ratio, SplitOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "ratio", "type": "ref float" }, { "name": "o", "type": "SplitOpts", "default": "default" }], "summary": "cui_split_begin" }, { "name": "Spotlight", "kind": "extension", "id": "extension|Spotlight|0|0|LayoutScope|UiText id;SpotlightOpts o = default||hfb70f807d4c0a2d5450e1ff296551adc78a8733ed06c6b0cb9ed7427add12f16", "signature": "LayoutScope Spotlight(UiText id, SpotlightOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "SpotlightOpts", "default": "default" }], "summary": "cui_spotlight_begin" }, { "name": "StatusBar", "kind": "extension", "id": "extension|StatusBar|0|0|LayoutScope|UiText id;StatusBarOpts o = default||h394ecf13ba82c0abd4bdf1a5b7cb5fce6102392c5a87cea283bc38fd2213e96a", "signature": "LayoutScope StatusBar(UiText id, StatusBarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "StatusBarOpts", "default": "default" }], "summary": "cui_status_bar_begin" }, { "name": "Toolbar", "kind": "extension", "id": "extension|Toolbar|0|0|LayoutScope|UiText id;ToolbarOpts o = default||hc5826ec43e3d8bf178cfa9f1605bd29bded229aae82424077aa18e1ae7e9cc61", "signature": "LayoutScope Toolbar(UiText id, ToolbarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "ToolbarOpts", "default": "default" }], "summary": "cui_toolbar_begin" }, { "name": "VirtualList", "kind": "extension", "id": "extension|VirtualList|0|0|LayoutScope|UiText id;int count;float rowHeight;Size height;out int first;out int last||h90165d4490987ebd4d90276d5b449695a1f58d89f212149090827bfd08a055f2", "signature": "LayoutScope VirtualList(UiText id, int count, float rowHeight, Size height, out int first, out int last)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "count", "type": "int" }, { "name": "rowHeight", "type": "float" }, { "name": "height", "type": "Size" }, { "name": "first", "type": "out int" }, { "name": "last", "type": "out int" }], "summary": "Virtual list: only the visible rows are built, so lists with a million rows stay fast. Fills first/last with the visible range." }, { "name": "Localization", "kind": "property", "id": "property|Localization|0|0|Localization?||get;|h0a921bf7a95ff40f095f5e7f43cc6d636b74f025ae427be1edbd250e93f88e54", "signature": "Localization? Localization { get; }", "summary": "The table this surface published, or null for English." }, { "name": "Markdown", "kind": "extension", "id": "extension|Markdown|0|0|MarkdownResult|UiText id;UiText text;MarkdownOpts o = default||h61fdb7c6fb770f95ff734bbdf7b607bad9e23af8b25df034da34f408eed536fa", "signature": "MarkdownResult Markdown(UiText id, UiText text, MarkdownOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "text", "type": "UiText" }, { "name": "o", "type": "MarkdownOpts", "default": "default" }], "summary": "cui_markdown_ex" }, { "name": "Modifiers", "kind": "property", "id": "property|Modifiers|0|0|Mods||get;|h994504ae5710377741956558b3dae0b4e2fc318f73c5408e701c6675295af911", "signature": "Mods Modifiers { get; }", "summary": "The modifier keys held right now." }, { "name": "MonthCalendar", "kind": "extension", "id": "extension|MonthCalendar|0|0|MonthResult|UiText id;ref Date month;ReadOnlySpan\u003CMonthEvent\u003E events;ref Date selected;MonthOpts o = default||hacb7fb0b706addd9098a1569df3adbf8cff5b20d3b0bf01f49970bd839da7523", "signature": "MonthResult MonthCalendar(UiText id, ref Date month, ReadOnlySpan\u003CMonthEvent\u003E events, ref Date selected, MonthOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "month", "type": "ref Date" }, { "name": "events", "type": "ReadOnlySpan\u003CMonthEvent\u003E" }, { "name": "selected", "type": "ref Date" }, { "name": "o", "type": "MonthOpts", "default": "default" }], "summary": "cui_month_calendar_ex" }, { "name": "Accordion", "kind": "extension", "id": "extension|Accordion|0|0|OpenScope|UiText title;ref bool open||h485829d02ee323bfa485f05285d6b19d78dcf02ed0a36c9ca4b1da7e70f540e5", "signature": "OpenScope Accordion(UiText title, ref bool open)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }], "summary": "Accordion / disclosure. Content animates its height." }, { "name": "Carousel", "kind": "extension", "id": "extension|Carousel|0|0|OpenScope|UiText id;int count;ref int index;CarouselOpts o = default||hbcf0bd0059da4b82e6417513dac4646a1ad558c1f46fc3c55b233c3367ef0a4e", "signature": "OpenScope Carousel(UiText id, int count, ref int index, CarouselOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "o", "type": "CarouselOpts", "default": "default" }], "summary": "cui_carousel_begin" }, { "name": "ContextMenu", "kind": "extension", "id": "extension|ContextMenu|0|0|OpenScope|UiText id||hb5be2e863b82aa032d3281886a07b75e6a10932b22c9c06daa36e6ec8460b9c3", "signature": "OpenScope ContextMenu(UiText id)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "Context menu: opens on right click over the previous component." }, { "name": "Dialog", "kind": "extension", "id": "extension|Dialog|0|0|OpenScope|UiText title;ref bool open;DialogOpts o = default||h08e9cf3a4bf5178fc47947da0ad76b53486c74b4ebd9c7e92e078d4cb3653668", "signature": "OpenScope Dialog(UiText title, ref bool open, DialogOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "o", "type": "DialogOpts", "default": "default" }], "summary": "Modal dialog. Shown while *open is true; closing sets it to false." }, { "name": "DockPanel", "kind": "extension", "id": "extension|DockPanel|0|0|OpenScope|UiText title;ref bool open;DockPanelOpts o = default||h983b85f4b88defb64e03c80c7fd67832cccc8b15fa3b11e9e9c8954cdd239b75", "signature": "OpenScope DockPanel(UiText title, ref bool open, DockPanelOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "o", "type": "DockPanelOpts", "default": "default" }], "summary": "cui_dock_panel_begin_ex" }, { "name": "ExpandableCard", "kind": "extension", "id": "extension|ExpandableCard|0|0|OpenScope|UiText title;ref bool open;ExpandableCardOpts o = default||h19637d079a2ee9821dfa4b6223ecf9694471f6157ed61e0139e207c045d56878", "signature": "OpenScope ExpandableCard(UiText title, ref bool open, ExpandableCardOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "o", "type": "ExpandableCardOpts", "default": "default" }], "summary": "cui_expandable_card_begin" }, { "name": "HoverCard", "kind": "extension", "id": "extension|HoverCard|0|0|OpenScope|UiText id;HoverCardOpts o = default||hd31fbafd01c517229f3a54d9fbeed478689533294a82e16da99cb56ed4b82d37", "signature": "OpenScope HoverCard(UiText id, HoverCardOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "HoverCardOpts", "default": "default" }], "summary": "cui_hover_card_begin" }, { "name": "Inspector", "kind": "extension", "id": "extension|Inspector|0|0|OpenScope|UiText id;InspectorOpts o = default||hdb3db7ec75e95846d7b987536583618b0b9445c2deb40a5f16828b5d2d735020", "signature": "OpenScope Inspector(UiText id, InspectorOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "InspectorOpts", "default": "default" }], "summary": "cui_inspector_begin_ex" }, { "name": "Menu", "kind": "extension", "id": "extension|Menu|0|0|OpenScope|UiText label;MenuOpts o = default||hec1b2b131f19c8f1eb37269016b963aed4449341b367ca89e175c1940294ab63", "signature": "OpenScope Menu(UiText label, MenuOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "MenuOpts", "default": "default" }], "summary": "cui_menu_begin" }, { "name": "MenuBarMenu", "kind": "extension", "id": "extension|MenuBarMenu|0|0|OpenScope|UiText label;MenuBarMenuOpts o = default||h32c463fd3c1d7fa382d82e43f75326d1e14efad5ce907db7337df9ba3480688b", "signature": "OpenScope MenuBarMenu(UiText label, MenuBarMenuOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "MenuBarMenuOpts", "default": "default" }], "summary": "cui_menu_bar_menu_begin" }, { "name": "Node", "kind": "extension", "id": "extension|Node|0|0|OpenScope|int nodeId;ref float x;ref float y;UiText title;NodeOpts o = default||hb7439d9c37ecca24fb0858272f81826919b789149f2a34acd1e1c44ff3266f62", "signature": "OpenScope Node(int nodeId, ref float x, ref float y, UiText title, NodeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "nodeId", "type": "int" }, { "name": "x", "type": "ref float" }, { "name": "y", "type": "ref float" }, { "name": "title", "type": "UiText" }, { "name": "o", "type": "NodeOpts", "default": "default" }], "summary": "cui_node_begin_ex" }, { "name": "NodeEditor", "kind": "extension", "id": "extension|NodeEditor|0|0|OpenScope|UiText id;ref NodeView view;NodeEditorOpts o = default||h4e3c9c7bbaa0ed5b0750957f90a5c6c86f0fbfea8e96d4a8cacd68503ae7ad85", "signature": "OpenScope NodeEditor(UiText id, ref NodeView view, NodeEditorOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "view", "type": "ref NodeView" }, { "name": "o", "type": "NodeEditorOpts", "default": "default" }], "summary": "cui_node_editor_begin_ex" }, { "name": "PathBarMenu", "kind": "extension", "id": "extension|PathBarMenu|0|0|OpenScope|UiText id;ref int segment||h2aeb15441c53f332d451a287be64ba38ecdb4c05be10ad0f8a2412b04c3ad51a", "signature": "OpenScope PathBarMenu(UiText id, ref int segment)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "segment", "type": "ref int" }], "summary": "True while the menu of separator *segment is showing: build menu items for the children of that segment, then call cui_path_bar_menu_end." }, { "name": "Popover", "kind": "extension", "id": "extension|Popover|0|0|OpenScope|UiText id;PopoverOpts o = default||had5881283c2885b236d342cac799068e3bd7a8c2d4272ceb08bf27aa60e812f7", "signature": "OpenScope Popover(UiText id, PopoverOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "PopoverOpts", "default": "default" }], "summary": "cui_popover_begin" }, { "name": "Reasoning", "kind": "extension", "id": "extension|Reasoning|0|0|OpenScope|UiText id;ReasoningOpts o = default||hd8c6837b660811abb55b30c3bcc35eb42dd2099f40a5a73eb35972aca384d12b", "signature": "OpenScope Reasoning(UiText id, ReasoningOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "ReasoningOpts", "default": "default" }], "summary": "cui_reasoning_begin" }, { "name": "Sheet", "kind": "extension", "id": "extension|Sheet|0|0|OpenScope|UiText title;ref bool open;SheetOpts o = default||heb98d14c7c6250a83593cac259a583d17aa8636e9eaa839b64b4b5e3db2551d7", "signature": "OpenScope Sheet(UiText title, ref bool open, SheetOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "o", "type": "SheetOpts", "default": "default" }], "summary": "cui_sheet_begin" }, { "name": "Table", "kind": "extension", "id": "extension|Table|0|0|OpenScope|UiText id;ReadOnlySpan\u003CTableColumn\u003E columns;TableOpts o = default||hfd909896b0ab780a5093f3e917adaa2e23e03121d3b8e920a5305582c66486d0", "signature": "OpenScope Table(UiText id, ReadOnlySpan\u003CTableColumn\u003E columns, TableOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "columns", "type": "ReadOnlySpan\u003CTableColumn\u003E" }, { "name": "o", "type": "TableOpts", "default": "default" }], "summary": "Same as the overload with ref sort, but reports nothing back: the state pointer is null, so the widget stores no state the caller could read." }, { "name": "Table", "kind": "extension", "id": "extension|Table|0|0|OpenScope|UiText id;ReadOnlySpan\u003CTableColumn\u003E columns;ref TableSort sort;TableOpts o = default||hfda1db8518191e5d1de411deaefeed0d0f8d6838a3a1398abfa10ad4b36ff692", "signature": "OpenScope Table(UiText id, ReadOnlySpan\u003CTableColumn\u003E columns, ref TableSort sort, TableOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "columns", "type": "ReadOnlySpan\u003CTableColumn\u003E" }, { "name": "sort", "type": "ref TableSort" }, { "name": "o", "type": "TableOpts", "default": "default" }], "summary": "cui_table_begin_ex" }, { "name": "Tree", "kind": "extension", "id": "extension|Tree|0|0|OpenScope|UiText label;ref bool open;TreeOpts o = default||h4406f8e6a4e0d2f04e9468f25ca87def814144056b1780a4e869ea86998fdd10", "signature": "OpenScope Tree(UiText label, ref bool open, TreeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "o", "type": "TreeOpts", "default": "default" }], "summary": "cui_tree_begin" }, { "name": "UserMenu", "kind": "extension", "id": "extension|UserMenu|0|0|OpenScope|UiText name;UserMenuOpts o = default||h5323b7ef69eef4b5689f61a0c79b09355b7d2e1579ced7536bd574838f5eb096", "signature": "OpenScope UserMenu(UiText name, UserMenuOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "name", "type": "UiText" }, { "name": "o", "type": "UserMenuOpts", "default": "default" }], "summary": "cui_user_menu_begin" }, { "name": "PathBar", "kind": "extension", "id": "extension|PathBar|0|0|PathBarResult|UiText id;ReadOnlySpan\u003Cstring\u003E segments;PathBarOpts o = default||h5256da01c2004bf6922b836f1b3e9fbc43ed881a67e823c1895ab05f0949dd56", "signature": "PathBarResult PathBar(UiText id, ReadOnlySpan\u003Cstring\u003E segments, PathBarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "segments", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "o", "type": "PathBarOpts", "default": "default" }], "summary": "cui_path_bar_ex" }, { "name": "Pipeline", "kind": "extension", "id": "extension|Pipeline|0|0|PipelineResult|UiText id;ReadOnlySpan\u003Cstring\u003E stages;ReadOnlySpan\u003CPipelineJob\u003E jobs;ref int selected;PipelineOpts o = default||h57164c455b64addad840b532dee1f4eb3acaba49d3b9d3b92afbab5d775aa6e7", "signature": "PipelineResult Pipeline(UiText id, ReadOnlySpan\u003Cstring\u003E stages, ReadOnlySpan\u003CPipelineJob\u003E jobs, ref int selected, PipelineOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "stages", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "jobs", "type": "ReadOnlySpan\u003CPipelineJob\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "PipelineOpts", "default": "default" }], "summary": "cui_pipeline_ex" }, { "name": "NowPlaying", "kind": "extension", "id": "extension|NowPlaying|0|0|PlayerEvents|UiText id;ref NowPlayingState np;NowPlayingOpts o = default||h9fae980dc34277b737fa803cbecd222d9c0a4c796e96fa70b56eeeefd0df2b25", "signature": "PlayerEvents NowPlaying(UiText id, ref NowPlayingState np, NowPlayingOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "np", "type": "ref NowPlayingState" }, { "name": "o", "type": "NowPlayingOpts", "default": "default" }], "summary": "cui_now_playing_ex" }, { "name": "Problems", "kind": "extension", "id": "extension|Problems|0|0|ProblemsResult|UiText id;ReadOnlySpan\u003CProblemItem\u003E diags;ProblemsOpts o = default||h6893f9c629255366d4079d33866236777cdcf107644e4109933ef620b8022eed", "signature": "ProblemsResult Problems(UiText id, ReadOnlySpan\u003CProblemItem\u003E diags, ProblemsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "diags", "type": "ReadOnlySpan\u003CProblemItem\u003E" }, { "name": "o", "type": "ProblemsOpts", "default": "default" }], "summary": "cui_problems_ex" }, { "name": "FlameSpanRect", "kind": "extension", "id": "extension|FlameSpanRect|0|0|RectF|uint flame;in FlameSpan span||haa242a01ec7cc85ea2f271378c3c8c334942d3f054714bdc41b27574a4327c82", "signature": "RectF FlameSpanRect(uint flame, in FlameSpan span)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "flame", "type": "uint" }, { "name": "span", "type": "in FlameSpan" }], "summary": "Where a span was drawn in the latest frame, in points (zero size when out of view). flame is the graph\u0027s id: cui_last_id(ui) right after the call." }, { "name": "LastRect", "kind": "property", "id": "property|LastRect|0|0|RectF||get;|ha796a249509c6af4a48352050e2d549bf5de307702a0f97fbc12276bc4b72b7b", "signature": "RectF LastRect { get; }", "summary": "Rectangle of the most recent component." }, { "name": "RectOf", "kind": "method", "id": "method|RectOf|0|0|RectF|UiText id||hf03418b016be6b023e965616caed52e5a7dd6a367152691bc14de3eb646ed966", "signature": "RectF RectOf(UiText id)", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "Rectangle of the widget with this string id." }, { "name": "RectOf", "kind": "method", "id": "method|RectOf|0|0|RectF|uint id||hc518e049cee7502b5770da6d0349e6e1b3764c8cc67fc33e3a92b5006d46ad99", "signature": "RectF RectOf(uint id)", "parameters": [{ "name": "id", "type": "uint" }], "summary": "Rectangle of any widget by id, for hit tests and overlays." }, { "name": "RegexTester", "kind": "extension", "id": "extension|RegexTester|0|0|RegexTesterResult|UiText id;ref string pattern;int patternCap;ref string text;int textCap;ref RegexFlags flags;RegexTesterOpts o = default||h53b2155ffb50f74e3cdbeb47580968a3b4c6256e0cbe584d8955de62e7015f50", "signature": "RegexTesterResult RegexTester(UiText id, ref string pattern, int patternCap, ref string text, int textCap, ref RegexFlags flags, RegexTesterOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "pattern", "type": "ref string" }, { "name": "patternCap", "type": "int" }, { "name": "text", "type": "ref string" }, { "name": "textCap", "type": "int" }, { "name": "flags", "type": "ref RegexFlags" }, { "name": "o", "type": "RegexTesterOpts", "default": "default" }], "summary": "cui_regex_tester_ex" }, { "name": "RequestBar", "kind": "extension", "id": "extension|RequestBar|0|0|RequestBarResult|UiText id;ref HttpMethod method;ref string url;int cap = 2048;RequestBarOpts o = default||h400ba2e5c7aed931b8c2e5897d16438378b1652b5dfca8f9a1057e88fcb46043", "signature": "RequestBarResult RequestBar(UiText id, ref HttpMethod method, ref string url, int cap = 2048, RequestBarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "method", "type": "ref HttpMethod" }, { "name": "url", "type": "ref string" }, { "name": "cap", "type": "int", "default": "2048" }, { "name": "o", "type": "RequestBarOpts", "default": "default" }], "summary": "cui_request_bar_ex" }, { "name": "ResponseActions", "kind": "extension", "id": "extension|ResponseActions|0|0|ResponseEvents|UiText id;ref int vote;ResponseActionsOpts o = default||hc81149b07827af0f59a3269486e0d44858ac9bb48073ed5150872c876c11984c", "signature": "ResponseEvents ResponseActions(UiText id, ref int vote, ResponseActionsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "vote", "type": "ref int" }, { "name": "o", "type": "ResponseActionsOpts", "default": "default" }], "summary": "cui_response_actions_ex" }, { "name": "SchedulePicker", "kind": "extension", "id": "extension|SchedulePicker|0|0|ScheduleResult|UiText id;ref string cron;int cap = 128;ScheduleOpts o = default||h5e149aabf00cdaf3e05fa29f62f956e474f8fee28641ae71fde4eaaeb8801f91", "signature": "ScheduleResult SchedulePicker(UiText id, ref string cron, int cap = 128, ScheduleOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "cron", "type": "ref string" }, { "name": "cap", "type": "int", "default": "128" }, { "name": "o", "type": "ScheduleOpts", "default": "default" }], "summary": "cui_schedule_picker_ex" }, { "name": "State", "kind": "method", "id": "method|State|0|1|Span\u003CT\u003E|UiText id||h8505c3ecbdde9acd049fc2d5d47e3c43d0545b89b2b78cc39c0a3993049107cf", "signature": "Span\u003CT\u003E State\u003CT\u003E(UiText id) where T : unmanaged", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "Persistent, zeroed storage for a widget id, for values that must survive between frames (animation phases, drag state, hit-test scratch)." }, { "name": "State", "kind": "method", "id": "method|State|0|1|Span\u003CT\u003E|UiText id;Action onFree||hbfa4567fbf2313cbdd3cc11d8daae823c35ccab56e58f7f91c8635a98f228824", "signature": "Span\u003CT\u003E State\u003CT\u003E(UiText id, Action onFree) where T : unmanaged", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "onFree", "type": "Action" }], "summary": "Persistent, zeroed storage for a widget id, with a callback CUI runs when it throws that id\u0027s state away (about five idle seconds, or when the window closes)." }, { "name": "StackTrace", "kind": "extension", "id": "extension|StackTrace|0|0|StackTraceResult|UiText id;ReadOnlySpan\u003CStackFrame\u003E frames;StackTraceOpts o = default||h31d88e2151b353d79ca390bcbc46b17c2882a950f9cf2239a266b97eeaa36a9b", "signature": "StackTraceResult StackTrace(UiText id, ReadOnlySpan\u003CStackFrame\u003E frames, StackTraceOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "frames", "type": "ReadOnlySpan\u003CStackFrame\u003E" }, { "name": "o", "type": "StackTraceOpts", "default": "default" }], "summary": "cui_stack_trace_ex" }, { "name": "Terminal", "kind": "extension", "id": "extension|Terminal|0|0|TerminalResult|UiText id;Terminal terminal;TerminalOpts o = default||h3bb90fc3e22f3e909beb279d5867cc2751b7287513f1480f8c73f2e7405f14d7", "signature": "TerminalResult Terminal(UiText id, Terminal terminal, TerminalOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "terminal", "type": "Terminal" }, { "name": "o", "type": "TerminalOpts", "default": "default" }], "summary": "Draws terminal and reports what the user did in it." }, { "name": "TestExplorer", "kind": "extension", "id": "extension|TestExplorer|0|0|TestExplorerResult|UiText id;ReadOnlySpan\u003CTestItem\u003E items;TestExplorerOpts o = default||h9eeb18e60e88e82a908b873a27468f9699a55c61fb36da8ff356557f102e3862", "signature": "TestExplorerResult TestExplorer(UiText id, ReadOnlySpan\u003CTestItem\u003E items, TestExplorerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CTestItem\u003E" }, { "name": "o", "type": "TestExplorerOpts", "default": "default" }], "summary": "cui_test_explorer_ex" }, { "name": "MeasureText", "kind": "method", "id": "method|MeasureText|0|0|TextMetrics|UiText text;float size = 12f;Font font = Font.Body||h992b53c9418ee9ba19c1fd34ea05dca44fabbaac335e2ecdd31ccf760fd4f66f", "signature": "TextMetrics MeasureText(UiText text, float size = 12f, Font font = Font.Body)", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "size", "type": "float", "default": "12f" }, { "name": "font", "type": "Font", "default": "Font.Body" }], "summary": "Width and height of a single line of text, without wrapping." }, { "name": "Theme", "kind": "property", "id": "property|Theme|0|0|Theme||get;set;|h898a02cacbcba9a905f94fba0740f328f89ab1e042e5fea5ff9d21a93e3e297d", "signature": "Theme Theme { get; set; }", "summary": "The theme this frame draws with. Assign to switch, from anywhere inside a frame." }, { "name": "Style", "kind": "property", "id": "property|Style|0|0|ThemeStyle||get;|h4a1ba7271e3ed1e378ccdc5f7d6055b8fea5756bf3605b1214e29e77e4e7860a", "signature": "ThemeStyle Style { get; }", "summary": "The design tokens this frame draws with \u2014 radii, control heights, text and heading sizes, the motion multiplier and the palette \u2014 as a live view to read and to assign." }, { "name": "TimeHistogram", "kind": "extension", "id": "extension|TimeHistogram|0|0|TimeHistogramResult|UiText id;double start;double bucketSeconds;int buckets;ReadOnlySpan\u003CHistogramSeries\u003E series;ref double selStart;ref double selEnd;TimeHistogramOpts o = default||hfc0784cb52bfd6a3615191c61545b37c444f2ce965ef93b671333df27d4bf165", "signature": "TimeHistogramResult TimeHistogram(UiText id, double start, double bucketSeconds, int buckets, ReadOnlySpan\u003CHistogramSeries\u003E series, ref double selStart, ref double selEnd, TimeHistogramOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "start", "type": "double" }, { "name": "bucketSeconds", "type": "double" }, { "name": "buckets", "type": "int" }, { "name": "series", "type": "ReadOnlySpan\u003CHistogramSeries\u003E" }, { "name": "selStart", "type": "ref double" }, { "name": "selEnd", "type": "ref double" }, { "name": "o", "type": "TimeHistogramOpts", "default": "default" }], "summary": "cui_time_histogram_ex" }, { "name": "Tour", "kind": "extension", "id": "extension|Tour|0|0|TourAction|UiText id;ReadOnlySpan\u003CTourStep\u003E steps;ref int step;TourOpts o = default||h7a480bb022c619036d7ca1d19006a7d5aa923a84ea3fc62b5eae88ea7b1088c8", "signature": "TourAction Tour(UiText id, ReadOnlySpan\u003CTourStep\u003E steps, ref int step, TourOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "steps", "type": "ReadOnlySpan\u003CTourStep\u003E" }, { "name": "step", "type": "ref int" }, { "name": "o", "type": "TourOpts", "default": "default" }], "summary": "What happened this frame: one of CUI_TOUR_*." }, { "name": "TraceView", "kind": "extension", "id": "extension|TraceView|0|0|TraceResult|UiText id;ReadOnlySpan\u003CTraceTrack\u003E tracks;ReadOnlySpan\u003CTraceSpan\u003E spans;ref TraceViewState view;ref int selected;TraceOpts o = default||h7ab8ce526cada0bd73b947180d909dfa39f159b47ac14940ec53b67f28158b92", "signature": "TraceResult TraceView(UiText id, ReadOnlySpan\u003CTraceTrack\u003E tracks, ReadOnlySpan\u003CTraceSpan\u003E spans, ref TraceViewState view, ref int selected, TraceOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "tracks", "type": "ReadOnlySpan\u003CTraceTrack\u003E" }, { "name": "spans", "type": "ReadOnlySpan\u003CTraceSpan\u003E" }, { "name": "view", "type": "ref TraceViewState" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "TraceOpts", "default": "default" }], "summary": "cui_trace_view_ex" }, { "name": "TreeTable", "kind": "extension", "id": "extension|TreeTable|0|0|TreeTableEvents|UiText id;ReadOnlySpan\u003CGridColumn\u003E columns;TreeNode[] nodes;TreeTableRow row;TreeTableOpts o = default;Func\u003Cint, string?\u003E? label = null||h5ad3a7ebd26d1298c20becc826efa4b5392b7ddbca0d68cfbb1f162eb572fd75", "signature": "TreeTableEvents TreeTable(UiText id, ReadOnlySpan\u003CGridColumn\u003E columns, TreeNode[] nodes, TreeTableRow row, TreeTableOpts o = default, Func\u003Cint, string?\u003E? label = null)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "columns", "type": "ReadOnlySpan\u003CGridColumn\u003E" }, { "name": "nodes", "type": "TreeNode[]" }, { "name": "row", "type": "TreeTableRow" }, { "name": "o", "type": "TreeTableOpts", "default": "default" }, { "name": "label", "type": "Func\u003Cint, string?\u003E?", "default": "null" }], "summary": "Draws a tree without sort or keyboard state: the table keeps no per-id interaction state, which is all a static tree needs." }, { "name": "TreeTable", "kind": "extension", "id": "extension|TreeTable|0|0|TreeTableEvents|UiText id;ReadOnlySpan\u003CGridColumn\u003E columns;TreeNode[] nodes;TreeTableRow row;ref TableSort sort;ref int cursor;TreeTableOpts o = default;Func\u003Cint, string?\u003E? label = null||hdc8db941f4c0a5cc7a1e81a316f1e56fbc2468020569fb6cacf3307bec596a1d", "signature": "TreeTableEvents TreeTable(UiText id, ReadOnlySpan\u003CGridColumn\u003E columns, TreeNode[] nodes, TreeTableRow row, ref TableSort sort, ref int cursor, TreeTableOpts o = default, Func\u003Cint, string?\u003E? label = null)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "columns", "type": "ReadOnlySpan\u003CGridColumn\u003E" }, { "name": "nodes", "type": "TreeNode[]" }, { "name": "row", "type": "TreeTableRow" }, { "name": "sort", "type": "ref TableSort" }, { "name": "cursor", "type": "ref int" }, { "name": "o", "type": "TreeTableOpts", "default": "default" }, { "name": "label", "type": "Func\u003Cint, string?\u003E?", "default": "null" }], "summary": "Draws nodes as a tree with columns, calling row once per visible node to fill its cells." }, { "name": "Uptime", "kind": "extension", "id": "extension|Uptime|0|0|UptimeResult|UiText id;ReadOnlySpan\u003CUptimeService\u003E services;UptimeOpts o = default||h60131e1db59b8a809d222a6d6dee840e1ccde25607a2c4178418eef8a488dccb", "signature": "UptimeResult Uptime(UiText id, ReadOnlySpan\u003CUptimeService\u003E services, UptimeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "services", "type": "ReadOnlySpan\u003CUptimeService\u003E" }, { "name": "o", "type": "UptimeOpts", "default": "default" }], "summary": "cui_uptime_ex" }, { "name": "MousePosition", "kind": "property", "id": "property|MousePosition|0|0|ValueTuple\u003Cfloat, float\u003E||get;|h02b51b7243b762c56e53482522c31644d844cd12e36381af09a9700cd549db93", "signature": "ValueTuple\u003Cfloat, float\u003E MousePosition { get; }", "summary": "Pointer position in points, top-left origin." }, { "name": "ViewportSize", "kind": "method", "id": "method|ViewportSize|0|0|ValueTuple\u003Cfloat, float\u003E|||h7a26e2e5e6b39edb5a26a6e7adde40edf0bcd8599f3d7629ea37d02c109493a2", "signature": "ValueTuple\u003Cfloat, float\u003E ViewportSize()" }, { "name": "Waterfall", "kind": "extension", "id": "extension|Waterfall|0|0|WaterfallResult|UiText id;ReadOnlySpan\u003CNetRequest\u003E requests;ref int selected;WaterfallOpts o = default||h419b5ccb1a80d64ac3cce058fa79a3ac44664f29e8c9685c083cf8552c6714e6", "signature": "WaterfallResult Waterfall(UiText id, ReadOnlySpan\u003CNetRequest\u003E requests, ref int selected, WaterfallOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "requests", "type": "ReadOnlySpan\u003CNetRequest\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "WaterfallOpts", "default": "default" }], "summary": "cui_waterfall_ex" }, { "name": "Alert", "kind": "extension", "id": "extension|Alert|0|0|bool|UiText title;AlertOpts o = default||hb9b8786bcd05d91b48b9d5b7e7c8dfe99eab8a18cccf61ee5708920e8c2c65a0", "signature": "bool Alert(UiText title, AlertOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "o", "type": "AlertOpts", "default": "default" }], "summary": "Inline alert. Returns false once dismissed (when dismissible)." }, { "name": "Banner", "kind": "extension", "id": "extension|Banner|0|0|bool|UiText text;ref bool open;BannerOpts o = default||hded3699dd8c0717c5f0d2f8a60f5b76364aaa539a156402e1d68fed1e8b19dd6", "signature": "bool Banner(UiText text, ref bool open, BannerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "o", "type": "BannerOpts", "default": "default" }], "summary": "cui_banner_ex" }, { "name": "Button", "kind": "extension", "id": "extension|Button|0|0|bool|UiText label;ButtonOpts o = default||h0824ce1ee9db1a3102bbbc57b5f43c838d0aac0c456dc9d0f5ddf3a8bb9eaae3", "signature": "bool Button(UiText label, ButtonOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "ButtonOpts", "default": "default" }], "summary": "cui_button_ex" }, { "name": "Calendar", "kind": "extension", "id": "extension|Calendar|0|0|bool|UiText id;ref Date value||he2d734019c4ba63e626cffe267911189a15dbf5b403eff0fc6fd9898d4334662", "signature": "bool Calendar(UiText id, ref Date value)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref Date" }], "summary": "cui_calendar" }, { "name": "Checkbox", "kind": "extension", "id": "extension|Checkbox|0|0|bool|UiText label;ref bool value;CheckOpts o = default||h5e553956f3358e286491451619c072577baad5689e0ba2b38257460dced857ee", "signature": "bool Checkbox(UiText label, ref bool value, CheckOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref bool" }, { "name": "o", "type": "CheckOpts", "default": "default" }], "summary": "cui_checkbox_ex" }, { "name": "Chip", "kind": "extension", "id": "extension|Chip|0|0|bool|UiText label;ref bool selected;ChipOpts o = default||h4ff38ab2a9a818e7526990ee6c9e6f19f63a1138e5fb79d08917e25c0d0a78ee", "signature": "bool Chip(UiText label, ref bool selected, ChipOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "selected", "type": "ref bool" }, { "name": "o", "type": "ChipOpts", "default": "default" }], "summary": "cui_chip_ex" }, { "name": "Citation", "kind": "extension", "id": "extension|Citation|0|0|bool|int number;in Source source||ha19b93ee36f160c6271aaa8db69ab4937531c6d0be1bdcd8e208aa7eb206aee7", "signature": "bool Citation(int number, in Source source)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "number", "type": "int" }, { "name": "source", "type": "in Source" }], "summary": "cui_citation" }, { "name": "ColorPicker", "kind": "extension", "id": "extension|ColorPicker|0|0|bool|UiText id;ref Color value||h337517bd7bbb67ac9f2a0f2cd3561338116b8bbce4aab6736de92c41bd706e10", "signature": "bool ColorPicker(UiText id, ref Color value)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref Color" }], "summary": "cui_color_picker" }, { "name": "ConfirmButton", "kind": "extension", "id": "extension|ConfirmButton|0|0|bool|UiText label;ConfirmOpts o = default||ha173e8d04000010db239a95f45b5a65630e6c3a32565f48acd835a79732b2383", "signature": "bool ConfirmButton(UiText label, ConfirmOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "ConfirmOpts", "default": "default" }], "summary": "cui_confirm_button_ex" }, { "name": "ConfirmPopover", "kind": "extension", "id": "extension|ConfirmPopover|0|0|bool|UiText id;ConfirmPopoverOpts o = default||h1c2e0982b9c59e893eae1a02030bc1dcf3a82997c3f51101dbeae1b45e768ee2", "signature": "bool ConfirmPopover(UiText id, ConfirmPopoverOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "ConfirmPopoverOpts", "default": "default" }], "summary": "cui_confirm_popover_ex" }, { "name": "ControlTile", "kind": "extension", "id": "extension|ControlTile|0|0|bool|UiText label;ref bool on;TileOpts o = default||h030def7b2183e0b26721bad6afc91a710eb6f7cf309e2889db383c64f1477cbd", "signature": "bool ControlTile(UiText label, ref bool on, TileOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "on", "type": "ref bool" }, { "name": "o", "type": "TileOpts", "default": "default" }], "summary": "cui_control_tile_ex" }, { "name": "CopyButton", "kind": "extension", "id": "extension|CopyButton|0|0|bool|UiText id;UiText text||hbc740c15d3716aa5400fb730217b29b8462ce4a82a1b3b2c9884600f4fbfe844", "signature": "bool CopyButton(UiText id, UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "text", "type": "UiText" }], "summary": "Icon button that copies text to the clipboard and confirms with a check." }, { "name": "Cropper", "kind": "extension", "id": "extension|Cropper|0|0|bool|UiText id;ulong tex;int imageW;int imageH;ref RectF crop;CropperOpts o = default||hc4433b320e719d68cf000799d9f75543139b19ed26265d5d5b7ef0e7cb29a2cf", "signature": "bool Cropper(UiText id, ulong tex, int imageW, int imageH, ref RectF crop, CropperOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "tex", "type": "ulong" }, { "name": "imageW", "type": "int" }, { "name": "imageH", "type": "int" }, { "name": "crop", "type": "ref RectF" }, { "name": "o", "type": "CropperOpts", "default": "default" }], "summary": "Returns true when the crop changed." }, { "name": "DataGridCellEdit", "kind": "extension", "id": "extension|DataGridCellEdit|0|0|bool|ref string buf;int cap||h36d248e6c06ee8f7c129163000d2afe51274d879f2f2a6dd8f75e48579c04c63", "signature": "bool DataGridCellEdit(ref string buf, int cap)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "buf", "type": "ref string" }, { "name": "cap", "type": "int" }], "summary": "Editable text cell: double click (or Enter on the cursor row) to edit, Enter or clicking away commits, Esc reverts. True when committed." }, { "name": "DataGridEdit", "kind": "extension", "id": "extension|DataGridEdit|0|0|bool|ref string buf;int cap||h4a0248a3c48520cf419b921b7953de24c458026bb86ab7bd00ba08e5d194ef65", "signature": "bool DataGridEdit(ref string buf, int cap)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "buf", "type": "ref string" }, { "name": "cap", "type": "int" }], "summary": "The same editable text, inside the current cell (after an avatar, say)." }, { "name": "DataGridRow", "kind": "extension", "id": "extension|DataGridRow|0|0|bool|int row||h5fe4fdf7429d5b5aac0325fa0af56631c8d8a1ff342c03251fe30d766d9f9225", "signature": "bool DataGridRow(int row)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "row", "type": "int" }], "summary": "cui_data_grid_row" }, { "name": "DatePicker", "kind": "extension", "id": "extension|DatePicker|0|0|bool|UiText id;ref Date value;DateOpts o = default||h993523ace680cddb6c1434059ef52f3fb34d716bed495d79d97b148118785ee2", "signature": "bool DatePicker(UiText id, ref Date value, DateOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref Date" }, { "name": "o", "type": "DateOpts", "default": "default" }], "summary": "cui_date_picker_ex" }, { "name": "DateRangePicker", "kind": "extension", "id": "extension|DateRangePicker|0|0|bool|UiText id;ref DateRange range;DateRangeOpts o = default||h9daa98cbb5461612c53362c329641eba719561905ce1865087421113c0ee84d1", "signature": "bool DateRangePicker(UiText id, ref DateRange range, DateRangeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "range", "type": "ref DateRange" }, { "name": "o", "type": "DateRangeOpts", "default": "default" }], "summary": "cui_date_range_picker_ex" }, { "name": "DateToday", "kind": "method", "id": "method|DateToday|0|0|bool|out Date value||h2030bff62c6a99d4c47e3fa2a09f8c125232327d048faf8c41c853eeafa84679", "signature": "bool DateToday(out Date value)", "parameters": [{ "name": "value", "type": "out Date" }] }, { "name": "DockItem", "kind": "extension", "id": "extension|DockItem|0|0|bool|UiText icon;UiText label;DockItemOpts o = default||h6868974ee881c1a4f660ae0207737b226f6822fd1064babdbda9860825db89d1", "signature": "bool DockItem(UiText icon, UiText label, DockItemOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "icon", "type": "UiText" }, { "name": "label", "type": "UiText" }, { "name": "o", "type": "DockItemOpts", "default": "default" }], "summary": "cui_dock_item_ex" }, { "name": "DockLoad", "kind": "extension", "id": "extension|DockLoad|0|0|bool|UiText id;UiText text||hffd91787faf77c3d390dfe7deb8bb16df93eb717a31ba3fd4130eac2e2e134b4", "signature": "bool DockLoad(UiText id, UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "text", "type": "UiText" }], "summary": "cui_dock_load" }, { "name": "EmojiFontLoadFile", "kind": "extension", "id": "extension|EmojiFontLoadFile|0|0|bool|UiText path||hf9ed3d99d8c528c9df41c7bca5721cb0eb461686e0a48bc35d1cf718f13ba0f6", "signature": "bool EmojiFontLoadFile(UiText path)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "path", "type": "UiText" }], "summary": "---- Emoji ---- Color emoji come from an emoji font: the system\u0027s (cui_emoji_font_load_system, which the picker calls by itself when nothing is loaded) or one the app ships. Bitmap color fonts (sbix as on macOS, CBDT as on Linux and Android) and layered ones (COLR version 0, as on Windows) are read, as is a plain outline font for one-color emoji. Sequences with skin tones, joined people and flags are looked up through the font\u0027s ligatures. Big fonts are read from the file as needed rather than loaded whole. Drawn emoji are kept in one texture and reused." }, { "name": "EmojiFontLoadMemory", "kind": "extension", "id": "extension|EmojiFontLoadMemory|0|0|bool|ReadOnlySpan\u003Cbyte\u003E data;bool copy||h8f31cf994f46f3f46e0c7fdefbd7d39be865056bcb0700421f0fee7be7142342", "signature": "bool EmojiFontLoadMemory(ReadOnlySpan\u003Cbyte\u003E data, bool copy)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "data", "type": "ReadOnlySpan\u003Cbyte\u003E" }, { "name": "copy", "type": "bool" }], "summary": "cui_emoji_font_load_memory" }, { "name": "EmojiFontLoadSystem", "kind": "extension", "id": "extension|EmojiFontLoadSystem|0|0|bool|||he4386dbb08b9f31fd0c23d6cb333b56d4babcbd26d5e38fa72a56bc89a6bac12", "signature": "bool EmojiFontLoadSystem()", "extensionOn": "CuiSharp.Ui", "summary": "cui_emoji_font_load_system" }, { "name": "EmojiSupported", "kind": "extension", "id": "extension|EmojiSupported|0|0|bool|UiText utf8||he0adda46557f9d84dbc4c6feb4f995d99998ffae9bdabd33371c8df1fc7899fb", "signature": "bool EmojiSupported(UiText utf8)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "utf8", "type": "UiText" }], "summary": "cui_emoji_supported" }, { "name": "EmptyState", "kind": "extension", "id": "extension|EmptyState|0|0|bool|UiText title;EmptyOpts o = default||h3447935b9ffe834dcbe57094c2bd062fa6216fbbd3d59e4e2527f7da36f6f369", "signature": "bool EmptyState(UiText title, EmptyOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "o", "type": "EmptyOpts", "default": "default" }], "summary": "Empty state. Returns true when its action button is clicked." }, { "name": "ExpandableText", "kind": "extension", "id": "extension|ExpandableText|0|0|bool|UiText id;UiText text;ExpandableTextOpts o = default||h0853336278f85890679dc7cd1bc9eb77a34f2cf61567d87164045778c0f8d6ad", "signature": "bool ExpandableText(UiText id, UiText text, ExpandableTextOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "text", "type": "UiText" }, { "name": "o", "type": "ExpandableTextOpts", "default": "default" }], "summary": "cui_expandable_text_ex" }, { "name": "Fader", "kind": "extension", "id": "extension|Fader|0|0|bool|UiText id;ref float value;float min;float max;FaderOpts o = default||h8266bbe632feda1ec1b4b87bd7f41cc9e107e496de7dfb957c9d87f1e63f8835", "signature": "bool Fader(UiText id, ref float value, float min, float max, FaderOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "o", "type": "FaderOpts", "default": "default" }], "summary": "cui_fader_ex" }, { "name": "FileDragActive", "kind": "property", "id": "property|FileDragActive|0|0|bool||get;|hc2e815e1a71bc6a75b5e19ff96d7c1ef201253bc7b4d7f60949c96df158538ac", "signature": "bool FileDragActive { get; }", "summary": "True while files are being dragged over the window, for a drop target to light up." }, { "name": "FilePicker", "kind": "extension", "id": "extension|FilePicker|0|0|bool|UiText id;ref bool open;ref string out;int outCap = 1024;FilePickerOpts o = default||hb1ce6182678b8b2ca569fff7fdf6d4a781314228ed80d25a4c02a48b368dd07f", "signature": "bool FilePicker(UiText id, ref bool open, ref string @out, int outCap = 1024, FilePickerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "out", "type": "ref string" }, { "name": "outCap", "type": "int", "default": "1024" }, { "name": "o", "type": "FilePickerOpts", "default": "default" }], "summary": "True once, with the chosen path in out, when the dialog is confirmed; *open turns false then, or on Cancel and Esc." }, { "name": "FilterBar", "kind": "method", "id": "method|FilterBar|0|0|bool|UiText id;ReadOnlySpan\u003CFilterField\u003E fields;Span\u003Cuint\u003E selected;ref string search;int searchCap = 256||h05b35fdecfc879680ca00e844554bef0fb0d2b9ee533e72f50a25b4cb5e4be7a", "signature": "bool FilterBar(UiText id, ReadOnlySpan\u003CFilterField\u003E fields, Span\u003Cuint\u003E selected, ref string search, int searchCap = 256)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "fields", "type": "ReadOnlySpan\u003CFilterField\u003E" }, { "name": "selected", "type": "Span\u003Cuint\u003E" }, { "name": "search", "type": "ref string" }, { "name": "searchCap", "type": "int", "default": "256" }], "summary": "Filter chips, one dropdown per field plus a search. selected holds one option bitmask per field; returns true on any change." }, { "name": "HistogramSlider", "kind": "extension", "id": "extension|HistogramSlider|0|0|bool|UiText label;ReadOnlySpan\u003Cfloat\u003E bins;ref float lo;ref float hi;float min;float max;HistogramOpts o = default||h72cc41a613543670d7d773f53d3ed618f4ca5dda5c9cf710a8ea0c0745f9816a", "signature": "bool HistogramSlider(UiText label, ReadOnlySpan\u003Cfloat\u003E bins, ref float lo, ref float hi, float min, float max, HistogramOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "bins", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "lo", "type": "ref float" }, { "name": "hi", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "o", "type": "HistogramOpts", "default": "default" }], "summary": "cui_histogram_slider_ex" }, { "name": "HoldButton", "kind": "extension", "id": "extension|HoldButton|0|0|bool|UiText label;HoldOpts o = default||ha44fcfbb972ecfbea614fbc280b43abd9c243c1e05ac46d39ac240667e1b2a30", "signature": "bool HoldButton(UiText label, HoldOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "HoldOpts", "default": "default" }], "summary": "cui_hold_button_ex" }, { "name": "IconButton", "kind": "extension", "id": "extension|IconButton|0|0|bool|UiText icon;ButtonOpts o = default||h5215045b3b917c5c328653c82d759d884c905c9bee3fd2bcae9c23b95552a5e2", "signature": "bool IconButton(UiText icon, ButtonOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "icon", "type": "UiText" }, { "name": "o", "type": "ButtonOpts", "default": "default" }], "summary": "Square/round button with only an icon. Give it a tooltip so it has a name." }, { "name": "ImageCompare", "kind": "extension", "id": "extension|ImageCompare|0|0|bool|UiText id;ulong before;ulong after;ref float pos;CompareOpts o = default||hbf70b5332c704791b825e9cb8d9e14cd4661dfc72efb9bed54e7afc61aac7221", "signature": "bool ImageCompare(UiText id, ulong before, ulong after, ref float pos, CompareOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "before", "type": "ulong" }, { "name": "after", "type": "ulong" }, { "name": "pos", "type": "ref float" }, { "name": "o", "type": "CompareOpts", "default": "default" }], "summary": "cui_image_compare_ex" }, { "name": "ImageViewer", "kind": "extension", "id": "extension|ImageViewer|0|0|bool|UiText id;ulong tex;int imageW;int imageH;ref ImageView view;ImageViewerOpts o = default||hfd49614f5ed12268c88fafc87f200f9ba92c7a0989e02c2476dadf0bb0fab3b3", "signature": "bool ImageViewer(UiText id, ulong tex, int imageW, int imageH, ref ImageView view, ImageViewerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "tex", "type": "ulong" }, { "name": "imageW", "type": "int" }, { "name": "imageH", "type": "int" }, { "name": "view", "type": "ref ImageView" }, { "name": "o", "type": "ImageViewerOpts", "default": "default" }], "summary": "Returns true when the view changed." }, { "name": "InspectorGroup", "kind": "extension", "id": "extension|InspectorGroup|0|0|bool|UiText title;ref bool open||hba33317836e4529b513b762245b52b82d2fc8fd252b7ae2174d7ffdf7ff08018", "signature": "bool InspectorGroup(UiText title, ref bool open)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }], "summary": "A folding group header. Build its rows only when this returns true (it stays true while the group animates closed). open may be NULL for a plain section that does not fold." }, { "name": "IsDisabled", "kind": "property", "id": "property|IsDisabled|0|0|bool||get;|h66819bb8e34991aa0b9a8fdf312d84bcc577f1aed8196c14e9cfc9792bab4b6e", "signature": "bool IsDisabled { get; }", "summary": "True inside a Disabled scope (or one a parent opened)." }, { "name": "JsonView", "kind": "extension", "id": "extension|JsonView|0|0|bool|UiText id;UiText json;JsonOpts o = default||h206112d6d2798b04c8b2e35b11a492fe5022438268206f218c32f29f9efa0bbf", "signature": "bool JsonView(UiText id, UiText json, JsonOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "json", "type": "UiText" }, { "name": "o", "type": "JsonOpts", "default": "default" }], "summary": "* left to right in any interface: see cui__keep_ltr" }, { "name": "Kanban", "kind": "extension", "id": "extension|Kanban|0|0|bool|UiText id;out KanbanMove kanbanmove;DrawFn body||h06459ebde22b2b48e212f80454450eb468aac078e18e50dee8f7aa756afdbe5e", "signature": "bool Kanban(UiText id, out KanbanMove kanbanmove, DrawFn body)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "kanbanmove", "type": "out KanbanMove" }, { "name": "body", "type": "DrawFn" }], "summary": "cui_kanban_begin The card was dropped into another column, and the move is written into the out parameter." }, { "name": "KeyDown", "kind": "method", "id": "method|KeyDown|0|0|bool|Key key||h8b8a390f57bfe976c9fae2d30fec99be77322f69944968534c26bc08482cb159", "signature": "bool KeyDown(Key key)", "parameters": [{ "name": "key", "type": "Key" }], "summary": "True while the key is held (with auto-repeat)." }, { "name": "KeyPressed", "kind": "method", "id": "method|KeyPressed|0|0|bool|Key key||hd4bc534b9e8b12976f0c38f87635500fca89a9d6949ea0a103354f41e6d39700", "signature": "bool KeyPressed(Key key)", "parameters": [{ "name": "key", "type": "Key" }], "summary": "True on the frame the key went down, including repeats." }, { "name": "Knob", "kind": "extension", "id": "extension|Knob|0|0|bool|UiText id;ref float value;float min;float max;KnobOpts o = default||hfceb051da509c5e36d4bd22400b42f24a8cc0da8ba2c27a23c8e378855c66680", "signature": "bool Knob(UiText id, ref float value, float min, float max, KnobOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "o", "type": "KnobOpts", "default": "default" }], "summary": "cui_knob_ex" }, { "name": "KvEditor", "kind": "extension", "id": "extension|KvEditor|0|0|bool|UiText id;Span\u003CKeyValue\u003E pairs;ref int count;int capacity;KvEditorOpts o = default||h5d7a626c1e0d0a2cbf62a8c0287d50a3401dbcf803f979b35c42c7899fb4db07", "signature": "bool KvEditor(UiText id, Span\u003CKeyValue\u003E pairs, ref int count, int capacity, KvEditorOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "pairs", "type": "Span\u003CKeyValue\u003E" }, { "name": "count", "type": "ref int" }, { "name": "capacity", "type": "int" }, { "name": "o", "type": "KvEditorOpts", "default": "default" }], "summary": "cui_kv_editor_ex" }, { "name": "LevelMeter", "kind": "extension", "id": "extension|LevelMeter|0|0|bool|UiText id;ReadOnlySpan\u003Cfloat\u003E levels;LevelMeterOpts o = default||he2b90272968549a2bc948844fa0f2e5fcb787783f5c0716cf3d8c48db532ab7e", "signature": "bool LevelMeter(UiText id, ReadOnlySpan\u003Cfloat\u003E levels, LevelMeterOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "levels", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "o", "type": "LevelMeterOpts", "default": "default" }], "summary": "Returns true when the clip light was clicked to clear it." }, { "name": "Link", "kind": "extension", "id": "extension|Link|0|0|bool|UiText text||h20b90df40ad793aa00f00bae1aeddd8c78d8d1ee7eccdf7f709db8b78317b57a", "signature": "bool Link(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "cui_link" }, { "name": "ListItem", "kind": "extension", "id": "extension|ListItem|0|0|bool|UiText title;ListItemOpts o = default||h59240e7a8fd8d1115830e25d32bfc60e47f14e4645e8e48b58281c710be7f5c9", "signature": "bool ListItem(UiText title, ListItemOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "o", "type": "ListItemOpts", "default": "default" }], "summary": "cui_list_item_ex" }, { "name": "LoadImage", "kind": "method", "id": "method|LoadImage|0|0|bool|UiText path;out ulong texture;out int width;out int height||hfe19783db558936a04580a0831ac4289470f120ccd1ef3163fcee3e05649da1f", "signature": "bool LoadImage(UiText path, out ulong texture, out int width, out int height)", "parameters": [{ "name": "path", "type": "UiText" }, { "name": "texture", "type": "out ulong" }, { "name": "width", "type": "out int" }, { "name": "height", "type": "out int" }], "summary": "Decodes a PNG or JPEG from disk into a texture and reports its pixel size. Returns false when the file cannot be read or decoded; the texture is then 0. Release it with DestroyImage." }, { "name": "MenuItem", "kind": "extension", "id": "extension|MenuItem|0|0|bool|UiText label;MenuItemOpts o = default||h6f02a24b8c3e14f743f1164e34c40e0c32e7647a378fc18f6fac4bd77708b604", "signature": "bool MenuItem(UiText label, MenuItemOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "MenuItemOpts", "default": "default" }], "summary": "cui_menu_item_ex" }, { "name": "ModelPicker", "kind": "extension", "id": "extension|ModelPicker|0|0|bool|UiText id;ReadOnlySpan\u003CModel\u003E models;ref int selected;ModelPickerOpts o = default||h30f09bcdbcd0511d67feaab5ce1eb2d84b0769c8eb387e2675cdc4b9faf9d869", "signature": "bool ModelPicker(UiText id, ReadOnlySpan\u003CModel\u003E models, ref int selected, ModelPickerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "models", "type": "ReadOnlySpan\u003CModel\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "ModelPickerOpts", "default": "default" }], "summary": "cui_model_picker_ex" }, { "name": "MoneyInput", "kind": "extension", "id": "extension|MoneyInput|0|0|bool|UiText id;ref double value;MoneyOpts o = default||hd65fb688e51d9a482d2f9031cdb57646790ad85a3c809e961601a8725a753b42", "signature": "bool MoneyInput(UiText id, ref double value, MoneyOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref double" }, { "name": "o", "type": "MoneyOpts", "default": "default" }], "summary": "cui_money_input_ex" }, { "name": "MouseClicked", "kind": "method", "id": "method|MouseClicked|0|0|bool|MouseButton button||h8e0f0ad614e613c5c152543c9917af645f5ae90299577124c2da8f7863f69862", "signature": "bool MouseClicked(MouseButton button)", "parameters": [{ "name": "button", "type": "MouseButton" }], "summary": "True on the frame a mouse button went down." }, { "name": "MouseDown", "kind": "method", "id": "method|MouseDown|0|0|bool|MouseButton button||hf67b74dbd9e44892fdb6b384ac7537f75c21e2054ec9267ee7cf800f77c4c81d", "signature": "bool MouseDown(MouseButton button)", "parameters": [{ "name": "button", "type": "MouseButton" }], "summary": "True while a mouse button is held." }, { "name": "MultiSelect", "kind": "method", "id": "method|MultiSelect|0|0|bool|UiText id;ReadOnlySpan\u003Cstring\u003E items;Span\u003Cbool\u003E selected;MultiSelectOpts o = default||h3e128721808f3d5d3438e029c09a821039a75342e2851271e35420570d1affca", "signature": "bool MultiSelect(UiText id, ReadOnlySpan\u003Cstring\u003E items, Span\u003Cbool\u003E selected, MultiSelectOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "selected", "type": "Span\u003Cbool\u003E" }, { "name": "o", "type": "MultiSelectOpts", "default": "default" }], "summary": "A searchable list with one checkbox per item and chips for the chosen ones. Returns true on the frame an entry flips." }, { "name": "NavItem", "kind": "extension", "id": "extension|NavItem|0|0|bool|UiText label;NavOpts o = default||h163b7c5bf544cc2227cbef6b64c928a89e62b8536a9e4ab947179a86d455c59d", "signature": "bool NavItem(UiText label, NavOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "NavOpts", "default": "default" }], "summary": "cui_nav_item_ex" }, { "name": "NeedsRedraw", "kind": "property", "id": "property|NeedsRedraw|0|0|bool||get;|h5aadd05568570958d5b9529ecc317e3ce874d6c40baa003636859fb90a0da9fc", "signature": "bool NeedsRedraw { get; }" }, { "name": "NodeDeleted", "kind": "extension", "id": "extension|NodeDeleted|0|0|bool|ref int nodeId||hc3cfc3ad4c4fc3a042b1dbb26d3de5739a59ee9b1e9f8c1741f772a5e535d6bc", "signature": "bool NodeDeleted(ref int nodeId)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "nodeId", "type": "ref int" }], "summary": "cui_node_deleted" }, { "name": "NodeInput", "kind": "extension", "id": "extension|NodeInput|0|0|bool|int pinId;UiText label;PinOpts o = default||hd37a374006c3c8cd18c68d9d7503bd5160359d3f3e458d3531e756c52700b1f0", "signature": "bool NodeInput(int pinId, UiText label, PinOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "pinId", "type": "int" }, { "name": "label", "type": "UiText" }, { "name": "o", "type": "PinOpts", "default": "default" }], "summary": "cui_node_input_ex" }, { "name": "NodeLink", "kind": "extension", "id": "extension|NodeLink|0|0|bool|int linkId;int fromPin;int toPin||hab2ff05d12c3863dc35ff7ced8cdef83783fba6a2e16dbd81214feb3eaf01910", "signature": "bool NodeLink(int linkId, int fromPin, int toPin)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "linkId", "type": "int" }, { "name": "fromPin", "type": "int" }, { "name": "toPin", "type": "int" }], "summary": "A link from an output pin to an input pin. Returns true while it is selected." }, { "name": "NodeLinkCreated", "kind": "extension", "id": "extension|NodeLinkCreated|0|0|bool|ref int fromPin;ref int toPin||h7c136a895333c132f83c1d99cf5809163d5430c0060eaaedcf7bbe0f15f462bd", "signature": "bool NodeLinkCreated(ref int fromPin, ref int toPin)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "fromPin", "type": "ref int" }, { "name": "toPin", "type": "ref int" }], "summary": "What the user did this frame, one event per call; call them after cui_node_editor_begin (and up to the end of the frame)." }, { "name": "NodeLinkRemoved", "kind": "extension", "id": "extension|NodeLinkRemoved|0|0|bool|ref int linkId||h8cf7097abf407418a15af49e45ee086b240ec03b1e130c7888ce620da1bbadca", "signature": "bool NodeLinkRemoved(ref int linkId)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "linkId", "type": "ref int" }], "summary": "Part of cui_node_link \u2014 A link from an output pin to an input pin. Returns true while it is selected." }, { "name": "NodeOutput", "kind": "extension", "id": "extension|NodeOutput|0|0|bool|int pinId;UiText label;PinOpts o = default||h3750efacdd047bf840c0482278adf33fa6dd72ffa3acb6bf2c1afd789b95d351", "signature": "bool NodeOutput(int pinId, UiText label, PinOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "pinId", "type": "int" }, { "name": "label", "type": "UiText" }, { "name": "o", "type": "PinOpts", "default": "default" }], "summary": "cui_node_output_ex" }, { "name": "Number", "kind": "method", "id": "method|Number|0|0|bool|UiText id;ref double value;double min;double max;NumberOpts o = default||h695eacf696437442db4c71e212e9d772037965f7b79fa0164581c32f72012f09", "signature": "bool Number(UiText id, ref double value, double min, double max, NumberOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref double" }, { "name": "min", "type": "double" }, { "name": "max", "type": "double" }, { "name": "o", "type": "NumberOpts", "default": "default" }] }, { "name": "OtpInput", "kind": "method", "id": "method|OtpInput|0|0|bool|UiText id;ref string value;int length||h8029c922f0c302147b4a9d172f51e477cf692656857072b2505965f1cc911eaf", "signature": "bool OtpInput(UiText id, ref string value, int length)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref string" }, { "name": "length", "type": "int" }], "summary": "One-time code input: length boxes, buffer length \u002B 1." }, { "name": "Pagination", "kind": "extension", "id": "extension|Pagination|0|0|bool|UiText id;ref int page;int pageCount||h79ccb8aea896cd889c714acd8763edcf22dbbfb029a1dbd70ed9639354c6b6c8", "signature": "bool Pagination(UiText id, ref int page, int pageCount)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "page", "type": "ref int" }, { "name": "pageCount", "type": "int" }], "summary": "cui_pagination" }, { "name": "PopoverIsOpen", "kind": "extension", "id": "extension|PopoverIsOpen|0|0|bool|UiText id||h83722811a2be8261fbe93cc555b026a4a1e130ec294d2cd25013358d929a3c0e", "signature": "bool PopoverIsOpen(UiText id)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "cui_popover_is_open" }, { "name": "PropBool", "kind": "extension", "id": "extension|PropBool|0|0|bool|UiText label;ref bool value;PropOpts o = default||h121ac40771efea9741585563443f4c4687f7a10d137ffd9d268555b5501ddd64", "signature": "bool PropBool(UiText label, ref bool value, PropOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref bool" }, { "name": "o", "type": "PropOpts", "default": "default" }], "summary": "cui_prop_bool_ex" }, { "name": "PropColor", "kind": "extension", "id": "extension|PropColor|0|0|bool|UiText label;ref Color value;PropOpts o = default||h6ca0bc5ddc35dae8cf9131bd28c26cd31e497e501164de0d50828fb7983a1cc2", "signature": "bool PropColor(UiText label, ref Color value, PropOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref Color" }, { "name": "o", "type": "PropOpts", "default": "default" }], "summary": "A swatch and hex value that opens the color picker." }, { "name": "PropEnum", "kind": "extension", "id": "extension|PropEnum|0|0|bool|UiText label;ReadOnlySpan\u003Cstring\u003E items;ref int index;PropOpts o = default||h241aa42ffd01f5c7a9fadb861af4a608b0c8a014ae458b62692370d10cf009d8", "signature": "bool PropEnum(UiText label, ReadOnlySpan\u003Cstring\u003E items, ref int index, PropOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "index", "type": "ref int" }, { "name": "o", "type": "PropOpts", "default": "default" }], "summary": "cui_prop_enum_ex" }, { "name": "PropFloat", "kind": "extension", "id": "extension|PropFloat|0|0|bool|UiText label;ref float value;PropOpts o = default||hc8efd7345903f342766598358e2e5c0998eb7933cf7f5cec0429b86873ff6ccf", "signature": "bool PropFloat(UiText label, ref float value, PropOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref float" }, { "name": "o", "type": "PropOpts", "default": "default" }], "summary": "cui_prop_float_ex" }, { "name": "PropInt", "kind": "extension", "id": "extension|PropInt|0|0|bool|UiText label;ref int value;PropOpts o = default||hd93df8234e1afb0dba5df9a1531c8936c732948e17db67e12102617d568c305b", "signature": "bool PropInt(UiText label, ref int value, PropOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref int" }, { "name": "o", "type": "PropOpts", "default": "default" }], "summary": "cui_prop_int_ex" }, { "name": "PropText", "kind": "extension", "id": "extension|PropText|0|0|bool|UiText label;ref string buf;int cap;PropOpts o = default||h46a1a717145b1f3a7800e8921d45ea9b002d8c2fdf5958fbf3c03f97fc47d1db", "signature": "bool PropText(UiText label, ref string buf, int cap, PropOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "buf", "type": "ref string" }, { "name": "cap", "type": "int" }, { "name": "o", "type": "PropOpts", "default": "default" }], "summary": "cui_prop_text_ex" }, { "name": "PropVec", "kind": "extension", "id": "extension|PropVec|0|0|bool|UiText label;ref float value;int components;PropOpts o = default||h57600f963270b3c592fd247d9b1f943533361ae615e7b6ca52e287fa289a67b2", "signature": "bool PropVec(UiText label, ref float value, int components, PropOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref float" }, { "name": "components", "type": "int" }, { "name": "o", "type": "PropOpts", "default": "default" }], "summary": "Compact X, Y (Z, W) scrub fields side by side; value holds 2, 3 or 4 floats." }, { "name": "QueryBuilder", "kind": "extension", "id": "extension|QueryBuilder|0|0|bool|UiText id;ReadOnlySpan\u003CQueryField\u003E fields;Span\u003CQueryNode\u003E nodes;ref int count;int capacity;QueryOpts o = default||h63279934815740f429812f645fc20bbc38efc937b246d56e61a9f171034a9922", "signature": "bool QueryBuilder(UiText id, ReadOnlySpan\u003CQueryField\u003E fields, Span\u003CQueryNode\u003E nodes, ref int count, int capacity, QueryOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "fields", "type": "ReadOnlySpan\u003CQueryField\u003E" }, { "name": "nodes", "type": "Span\u003CQueryNode\u003E" }, { "name": "count", "type": "ref int" }, { "name": "capacity", "type": "int" }, { "name": "o", "type": "QueryOpts", "default": "default" }], "summary": "cui_query_builder_ex" }, { "name": "Radio", "kind": "extension", "id": "extension|Radio|0|0|bool|UiText label;ref int value;int option;CheckOpts o = default||h837451b9483026bc7e273c76e5251c0de524d770f182a8365674ac44553130ee", "signature": "bool Radio(UiText label, ref int value, int option, CheckOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref int" }, { "name": "option", "type": "int" }, { "name": "o", "type": "CheckOpts", "default": "default" }], "summary": "cui_radio_ex" }, { "name": "RadioCards", "kind": "extension", "id": "extension|RadioCards|0|0|bool|UiText id;ReadOnlySpan\u003CChoice\u003E choices;ref int index;RadioCardsOpts o = default||h277ecfd91b4ab6ad87556ac5585d5014c5f8f4b70743ded6f2d33b25b513c439", "signature": "bool RadioCards(UiText id, ReadOnlySpan\u003CChoice\u003E choices, ref int index, RadioCardsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "choices", "type": "ReadOnlySpan\u003CChoice\u003E" }, { "name": "index", "type": "ref int" }, { "name": "o", "type": "RadioCardsOpts", "default": "default" }], "summary": "cui_radio_cards_ex" }, { "name": "RadioGroup", "kind": "extension", "id": "extension|RadioGroup|0|0|bool|UiText id;ReadOnlySpan\u003Cstring\u003E items;ref int index||h13b5e8871098bf87979cd713e4fa844042e8066de15ba83cf7b5cda071897cee", "signature": "bool RadioGroup(UiText id, ReadOnlySpan\u003Cstring\u003E items, ref int index)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "index", "type": "ref int" }], "summary": "cui_radio_group" }, { "name": "RangeCalendar", "kind": "extension", "id": "extension|RangeCalendar|0|0|bool|UiText id;ref DateRange range;int months||h8c74871e3d5b09aa52567046cfb0cacddba5d6bd45af5a0343aa6ea880da3344", "signature": "bool RangeCalendar(UiText id, ref DateRange range, int months)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "range", "type": "ref DateRange" }, { "name": "months", "type": "int" }], "summary": "One or two months side by side; click a start and an end." }, { "name": "RangeSlider", "kind": "extension", "id": "extension|RangeSlider|0|0|bool|UiText label;ref float lo;ref float hi;float min;float max||h431a1c22347795ecfaf7422d776daf2552ad13b1bbafc0b34e7ddfbb9f6fca1e", "signature": "bool RangeSlider(UiText label, ref float lo, ref float hi, float min, float max)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "lo", "type": "ref float" }, { "name": "hi", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }], "summary": "cui_range_slider" }, { "name": "Rating", "kind": "extension", "id": "extension|Rating|0|0|bool|UiText id;ref int value;int max = 5||ha54ef468c924f3613d361d9d3e4ba18c9bed4ef0f7d7dd855532a052b89231ce", "signature": "bool Rating(UiText id, ref int value, int max = 5)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref int" }, { "name": "max", "type": "int", "default": "5" }], "summary": "cui_rating" }, { "name": "ReorderEnd", "kind": "method", "id": "method|ReorderEnd|0|0|bool|||h289d889249190a219f4708d3f6a34916df30d8dccdd623b1af17d06cf7ad4fe9", "signature": "bool ReorderEnd()" }, { "name": "RulerSlider", "kind": "extension", "id": "extension|RulerSlider|0|0|bool|UiText label;ref float value;float min;float max;RulerOpts o = default||hda8dec175710635b7de7215517d587b9a5332ed440922d693ed02813d9c4deb7", "signature": "bool RulerSlider(UiText label, ref float value, float min, float max, RulerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "o", "type": "RulerOpts", "default": "default" }], "summary": "cui_ruler_slider_ex" }, { "name": "Scrub", "kind": "extension", "id": "extension|Scrub|0|0|bool|UiText label;ref float value;float min;float max;ScrubOpts o = default||h816f9787704b09241842573d59264e0cc5674f4a764e0ae2054b721f3ad20a7b", "signature": "bool Scrub(UiText label, ref float value, float min, float max, ScrubOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "o", "type": "ScrubOpts", "default": "default" }], "summary": "cui_scrub_ex" }, { "name": "Segmented", "kind": "extension", "id": "extension|Segmented|0|0|bool|UiText id;ReadOnlySpan\u003Cstring\u003E items;ref int index;SegmentedOpts o = default||h8452b4d90fbd938f7492782df2bfd7e49e6f17b79bb32a7fa92536dbbc52bbfb", "signature": "bool Segmented(UiText id, ReadOnlySpan\u003Cstring\u003E items, ref int index, SegmentedOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "index", "type": "ref int" }, { "name": "o", "type": "SegmentedOpts", "default": "default" }], "summary": "cui_segmented_ex" }, { "name": "Select", "kind": "extension", "id": "extension|Select|0|0|bool|UiText id;ReadOnlySpan\u003Cstring\u003E items;ref int index;SelectOpts o = default||h4546d9051044aa80f649b171897799d53c415b998250abdc626bf84e5341bea3", "signature": "bool Select(UiText id, ReadOnlySpan\u003Cstring\u003E items, ref int index, SelectOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "index", "type": "ref int" }, { "name": "o", "type": "SelectOpts", "default": "default" }], "summary": "cui_select_ex" }, { "name": "Shortcut", "kind": "method", "id": "method|Shortcut|0|0|bool|Mods mods;Key key||h23544d98ad9364c783897d23b07d28fd4c4889f44ac4f6b734142ae19cee295a", "signature": "bool Shortcut(Mods mods, Key key)", "parameters": [{ "name": "mods", "type": "Mods" }, { "name": "key", "type": "Key" }] }, { "name": "ShortcutRecorder", "kind": "extension", "id": "extension|ShortcutRecorder|0|0|bool|UiText id;ref KeyCombo combo;ShortcutRecorderOpts o = default||h22c067848057da16592bf471e38a3d5c8d3e7a976928a24a34dda5e650586e2a", "signature": "bool ShortcutRecorder(UiText id, ref KeyCombo combo, ShortcutRecorderOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "combo", "type": "ref KeyCombo" }, { "name": "o", "type": "ShortcutRecorderOpts", "default": "default" }], "summary": "* left to right in any interface: see cui__keep_ltr" }, { "name": "SignaturePad", "kind": "extension", "id": "extension|SignaturePad|0|0|bool|UiText id;SignatureOpts o = default||h26a7180ac812cfc40208765b73de3283d8bdc2a773db48e467c36bfac61e2f47", "signature": "bool SignaturePad(UiText id, SignatureOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "SignatureOpts", "default": "default" }], "summary": "cui_signature_pad_ex" }, { "name": "Slider", "kind": "extension", "id": "extension|Slider|0|0|bool|UiText label;ref float value;float min;float max;SliderOpts o = default||h07890e859be8c8053afac54f6a7ef888728ac54358e77cca1a0c6f9d5936fcd0", "signature": "bool Slider(UiText label, ref float value, float min, float max, SliderOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "o", "type": "SliderOpts", "default": "default" }], "summary": "Elastic slider: the track stretches like rubber when dragged past its ends." }, { "name": "StatusBarItem", "kind": "extension", "id": "extension|StatusBarItem|0|0|bool|UiText label;StatusItemOpts o = default||h35fa1b9b36f005ceff913dc858202baee2f50d4678537b369e987582020f4d84", "signature": "bool StatusBarItem(UiText label, StatusItemOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "StatusItemOpts", "default": "default" }], "summary": "A small clickable item (\u0022Ln 12, Col 4\u0022, \u0022UTF-8\u0022). Returns true when clicked." }, { "name": "StatusButton", "kind": "extension", "id": "extension|StatusButton|0|0|bool|UiText label;Status status;StatusButtonOpts o = default||h5c9d9e2cd49f70a00398d2fe51ccf1933f78becdf2d7e5b610c5e2427ee30722", "signature": "bool StatusButton(UiText label, Status status, StatusButtonOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "status", "type": "Status" }, { "name": "o", "type": "StatusButtonOpts", "default": "default" }], "summary": "cui_status_button_ex" }, { "name": "Switch", "kind": "extension", "id": "extension|Switch|0|0|bool|UiText label;ref bool value;CheckOpts o = default||he58bf080044a84430ae1c50aae77072ba3e8bc1dc7ad4f8576f39e74324cd486", "signature": "bool Switch(UiText label, ref bool value, CheckOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref bool" }, { "name": "o", "type": "CheckOpts", "default": "default" }], "summary": "cui_switch_ex" }, { "name": "TabBar", "kind": "extension", "id": "extension|TabBar|0|0|bool|UiText id;ReadOnlySpan\u003CTabBarItem\u003E items;ref int selected;TabBarOpts o = default||h3b532a1edd39eaf1a6db4278f4c3c26674c9a67777ba72dd890ca8c67ecbb0d8", "signature": "bool TabBar(UiText id, ReadOnlySpan\u003CTabBarItem\u003E items, ref int selected, TabBarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CTabBarItem\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "TabBarOpts", "default": "default" }], "summary": "cui_tab_bar_ex" }, { "name": "TableRow", "kind": "extension", "id": "extension|TableRow|0|0|bool|bool selected||h5862a1074065231ee67e616f36b6ef2708e5a53d06e9c647dfc4e50f9f54feb9", "signature": "bool TableRow(bool selected)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "selected", "type": "bool" }], "summary": "Begin a row. Returns true when the row is clicked." }, { "name": "Tabs", "kind": "extension", "id": "extension|Tabs|0|0|bool|UiText id;ReadOnlySpan\u003Cstring\u003E items;ref int index;TabsOpts o = default||h44602f1d285b43ccb2a4a3f04fc10eeb9824d034d9c4786918ec03417b25d800", "signature": "bool Tabs(UiText id, ReadOnlySpan\u003Cstring\u003E items, ref int index, TabsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "index", "type": "ref int" }, { "name": "o", "type": "TabsOpts", "default": "default" }], "summary": "cui_tabs_ex" }, { "name": "TagInput", "kind": "method", "id": "method|TagInput|0|0|bool|UiText id;ref string value;TagOpts o = default||h7d78f96fc27b022e7ce11dd6a4742470284f57dc2e17866e76fb8b61780bf9f0", "signature": "bool TagInput(UiText id, ref string value, TagOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref string" }, { "name": "o", "type": "TagOpts", "default": "default" }], "summary": "Comma-separated tags in one field; enter or comma adds, backspace removes." }, { "name": "ThemeSwitcher", "kind": "extension", "id": "extension|ThemeSwitcher|0|0|bool|ref int mode;bool withSystem||h6ac2911103fa89f29df34fe5abd3737f62b03fad01ac2c5f7ce9f96f81466e7b", "signature": "bool ThemeSwitcher(ref int mode, bool withSystem)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "mode", "type": "ref int" }, { "name": "withSystem", "type": "bool" }], "summary": "Theme switcher: light, dark and (optionally) system, as a compact icon segmented control. mode is 0 light, 1 dark, 2 system. Light and dark are applied for you; for system call cui_set_theme with the OS setting. Returns true when mode changed." }, { "name": "ThemeToggle", "kind": "extension", "id": "extension|ThemeToggle|0|0|bool|||hac003993a346e758ec03a7b5cae2fbd886929a7ae077d9f9459a78e6cb9e9028", "signature": "bool ThemeToggle()", "extensionOn": "CuiSharp.Ui", "summary": "Sun and moon icon button that toggles the theme with a morph." }, { "name": "TimeDial", "kind": "extension", "id": "extension|TimeDial|0|0|bool|UiText id;ref int hour;ref int minute;float size||hc81f9c9c6cda6a218a1a97579124c3a6415d5a3bec246c2545e9638a3cbefadc", "signature": "bool TimeDial(UiText id, ref int hour, ref int minute, float size)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "hour", "type": "ref int" }, { "name": "minute", "type": "ref int" }, { "name": "size", "type": "float" }], "summary": "Time dial: a clock face. Drag the hand to set hours, then minutes." }, { "name": "TimePicker", "kind": "extension", "id": "extension|TimePicker|0|0|bool|UiText id;ref int hour;ref int minute;TimeOpts o = default||h2f5e91438efc0191e949769048849a3fb8bb629993aef37fa50790655d5a16e2", "signature": "bool TimePicker(UiText id, ref int hour, ref int minute, TimeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "hour", "type": "ref int" }, { "name": "minute", "type": "ref int" }, { "name": "o", "type": "TimeOpts", "default": "default" }], "summary": "cui_time_picker_ex" }, { "name": "ToastActionClicked", "kind": "extension", "id": "extension|ToastActionClicked|0|0|bool|int handle||h80802ec80123dda69208be2582b05ccc3d887063aa242cdb0a7d5f946417cce1", "signature": "bool ToastActionClicked(int handle)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "handle", "type": "int" }], "summary": "cui_toast_action_clicked" }, { "name": "ToggleGroup", "kind": "method", "id": "method|ToggleGroup|0|0|bool|UiText id;ReadOnlySpan\u003Cstring\u003E labels;Span\u003Cbool\u003E values;ToggleGroupOpts o = default||hbf4630396185f73a4900042d74fe62f684385217a55457d20067677982015437", "signature": "bool ToggleGroup(UiText id, ReadOnlySpan\u003Cstring\u003E labels, Span\u003Cbool\u003E values, ToggleGroupOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "labels", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "values", "type": "Span\u003Cbool\u003E" }, { "name": "o", "type": "ToggleGroupOpts", "default": "default" }], "summary": "A row of toggle buttons sharing one bool per label. Independent by default; Exclusive makes them behave like radio buttons. Returns true on the frame an entry flips." }, { "name": "ToolbarButton", "kind": "extension", "id": "extension|ToolbarButton|0|0|bool|UiText icon;ref bool toggle;ToolOpts o = default||h280488daf404cebc0318d20c1e09b3000ff82103111371b7fdf8c2735fe2c970", "signature": "bool ToolbarButton(UiText icon, ref bool toggle, ToolOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "icon", "type": "UiText" }, { "name": "toggle", "type": "ref bool" }, { "name": "o", "type": "ToolOpts", "default": "default" }], "summary": "cui_toolbar_button_ex" }, { "name": "TreeCell", "kind": "extension", "id": "extension|TreeCell|0|0|bool|UiText label;int depth;bool hasChildren;ref bool open;UiText icon||h7d87cfa9d747ede3646c93ffc4296bb6d158f59a36670c943b38b8891f9a08bd", "signature": "bool TreeCell(UiText label, int depth, bool hasChildren, ref bool open, UiText icon)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "depth", "type": "int" }, { "name": "hasChildren", "type": "bool" }, { "name": "open", "type": "ref bool" }, { "name": "icon", "type": "UiText" }], "summary": "Tree cell: indentation, a disclosure chevron and a label, for tree tables (use it in a table or grid cell). Returns true when *open toggled." }, { "name": "TreeClicked", "kind": "extension", "id": "extension|TreeClicked|0|0|bool|||he0d6c1a473304bfa16c30035268639d026f37ddeade6a53e36b6a43056ea0039", "signature": "bool TreeClicked()", "extensionOn": "CuiSharp.Ui", "summary": "cui_tree_clicked" }, { "name": "Typewriter", "kind": "extension", "id": "extension|Typewriter|0|0|bool|UiText id;UiText text;TextFxOpts o = default||hd2793d1d9701d6e1c2de232ed4163f8a0a17de8606e1a0c00033798e26804d7b", "signature": "bool Typewriter(UiText id, UiText text, TextFxOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "text", "type": "UiText" }, { "name": "o", "type": "TextFxOpts", "default": "default" }], "summary": "Types the text out. When the text grows (streamed tokens) it carries on from where it was; other changes start over. Returns true once complete." }, { "name": "VoiceOrb", "kind": "extension", "id": "extension|VoiceOrb|0|0|bool|UiText id;VoiceState state;float level;VoiceOrbOpts o = default||h55678c858554bd6ffbc3fbad4b03aeb90fff9d582a2dad8b10090a9496cf7d41", "signature": "bool VoiceOrb(UiText id, VoiceState state, float level, VoiceOrbOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "state", "type": "VoiceState" }, { "name": "level", "type": "float" }, { "name": "o", "type": "VoiceOrbOpts", "default": "default" }], "summary": "cui_voice_orb_ex" }, { "name": "WantsKeyboard", "kind": "property", "id": "property|WantsKeyboard|0|0|bool||get;|h9fd1d2033ea34ec49759c84f9a199c15d92ad7e28a6a1a4cc3ebee535bec764b", "signature": "bool WantsKeyboard { get; }" }, { "name": "WantsMouse", "kind": "property", "id": "property|WantsMouse|0|0|bool||get;|h88ad7771300bfdd824d0527cc05ab2978f5a741b34494adb9660c29ae0fd53b7", "signature": "bool WantsMouse { get; }", "summary": "True when the pointer is over this window and the UI wants it." }, { "name": "Waveform", "kind": "extension", "id": "extension|Waveform|0|0|bool|UiText id;ReadOnlySpan\u003Cfloat\u003E peaks;ref float progress;WaveformOpts o = default||h82b5eb85d1dd0e891471303dae6af8ef45f993a4522c265b5380640be5f95a34", "signature": "bool Waveform(UiText id, ReadOnlySpan\u003Cfloat\u003E peaks, ref float progress, WaveformOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "peaks", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "progress", "type": "ref float" }, { "name": "o", "type": "WaveformOpts", "default": "default" }], "summary": "cui_waveform_ex" }, { "name": "WheelPicker", "kind": "extension", "id": "extension|WheelPicker|0|0|bool|UiText id;ReadOnlySpan\u003Cstring\u003E items;ref int index;WheelOpts o = default||h6e20c98f3670a089db93c4a37a910bd23a7f6b3a8ad5c2cd67e1294d58a2fae4", "signature": "bool WheelPicker(UiText id, ReadOnlySpan\u003Cstring\u003E items, ref int index, WheelOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "index", "type": "ref int" }, { "name": "o", "type": "WheelOpts", "default": "default" }], "summary": "cui_wheel_picker_ex" }, { "name": "Time", "kind": "property", "id": "property|Time|0|0|double||get;|h59d804a6c66b43aad6ffe38fb8d686d405da1f1e73a127a3af738e7ba55df397", "signature": "double Time { get; }", "summary": "Seconds since the app started. Monotonic; use it for animation phases." }, { "name": "Animate", "kind": "method", "id": "method|Animate|0|0|float|UiText id;float target||h6aa8f80b2f784f8d21be090f3514e71ea8c5c9e820fb1fc041073b0956552fa8", "signature": "float Animate(UiText id, float target)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "target", "type": "float" }], "summary": "Moves a value toward target with a spring, keyed by id." }, { "name": "AnimateSpring", "kind": "method", "id": "method|AnimateSpring|0|0|float|UiText id;float target;float duration;float bounce||h18961b791dced18013209a15d6f4c3ea989233c2d507d6986cf80ff8eea91b47", "signature": "float AnimateSpring(UiText id, float target, float duration, float bounce)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "target", "type": "float" }, { "name": "duration", "type": "float" }, { "name": "bounce", "type": "float" }], "summary": "Moves a value toward target with a spring of the given duration and bounce." }, { "name": "DeltaTime", "kind": "property", "id": "property|DeltaTime|0|0|float||get;|h9b38e45e1e2ffd64837bd659bc02203c5bcd38701ca6046589022c3424ef1a09", "signature": "float DeltaTime { get; }", "summary": "Seconds since the previous frame, clamped by the host." }, { "name": "DpiScale", "kind": "property", "id": "property|DpiScale|0|0|float||get;|hd6fea6745004ce2bacbb8eac54eebd74e77705ff2605b31ccb4a18c241ebb063", "signature": "float DpiScale { get; }", "summary": "Device pixels per logical point for the window this frame draws into." }, { "name": "ActivityRings", "kind": "extension", "id": "extension|ActivityRings|0|0|int|UiText id;ReadOnlySpan\u003CVizItem\u003E rings;RingsOpts o = default||he739303ba236c8b2947fe3ee08443b09f019e41b8acac0f7da681d197ae0307e", "signature": "int ActivityRings(UiText id, ReadOnlySpan\u003CVizItem\u003E rings, RingsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "rings", "type": "ReadOnlySpan\u003CVizItem\u003E" }, { "name": "o", "type": "RingsOpts", "default": "default" }], "summary": "cui_activity_rings_ex" }, { "name": "AgentPlan", "kind": "extension", "id": "extension|AgentPlan|0|0|int|UiText id;ReadOnlySpan\u003CPlanStep\u003E steps;AgentPlanOpts o = default||h6067d2501a7a26bcccda0db7d672b245a2fcff12d68ede6c491d265a45d1b4b9", "signature": "int AgentPlan(UiText id, ReadOnlySpan\u003CPlanStep\u003E steps, AgentPlanOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "steps", "type": "ReadOnlySpan\u003CPlanStep\u003E" }, { "name": "o", "type": "AgentPlanOpts", "default": "default" }], "summary": "cui_agent_plan_ex" }, { "name": "AvatarUpload", "kind": "extension", "id": "extension|AvatarUpload|0|0|int|UiText id;UiText name;ref ulong image;float size||h2032bcd7f55566afffa2cde5d86987aa5b1a36719844c8d755d13b19b16255bb", "signature": "int AvatarUpload(UiText id, UiText name, ref ulong image, float size)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "name", "type": "UiText" }, { "name": "image", "type": "ref ulong" }, { "name": "size", "type": "float" }], "summary": "Avatar upload: a round avatar that takes a dropped image, with a camera badge on hover. Returns 1 when *image changed, -1 when clicked (browse), 0 otherwise. A dropped image is loaded with cui_image_load." }, { "name": "BarList", "kind": "extension", "id": "extension|BarList|0|0|int|UiText id;ReadOnlySpan\u003CVizItem\u003E items;BarListOpts o = default||h0e2abad96db38540b47d6c74f2cc68369ed40c046f6bf6c2d2dea3c10d465680", "signature": "int BarList(UiText id, ReadOnlySpan\u003CVizItem\u003E items, BarListOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CVizItem\u003E" }, { "name": "o", "type": "BarListOpts", "default": "default" }], "summary": "cui_bar_list_ex" }, { "name": "Breadcrumb", "kind": "extension", "id": "extension|Breadcrumb|0|0|int|ReadOnlySpan\u003Cstring\u003E items||h7e5435f64395bbaf15f18d4923a996c88ca3bd79318405fd33733751c65e8682", "signature": "int Breadcrumb(ReadOnlySpan\u003Cstring\u003E items)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }], "summary": "cui_breadcrumb" }, { "name": "CalendarHeatmap", "kind": "extension", "id": "extension|CalendarHeatmap|0|0|int|UiText id;Date start;ReadOnlySpan\u003Cfloat\u003E values;CalendarHeatmapOpts o = default||hdf61b9c82e018ac6c9a5f0797950a2a53c4826b47594dd073d18121a1691e796", "signature": "int CalendarHeatmap(UiText id, Date start, ReadOnlySpan\u003Cfloat\u003E values, CalendarHeatmapOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "start", "type": "Date" }, { "name": "values", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "o", "type": "CalendarHeatmapOpts", "default": "default" }], "summary": "cui_calendar_heatmap_ex" }, { "name": "Candlestick", "kind": "extension", "id": "extension|Candlestick|0|0|int|UiText id;ReadOnlySpan\u003CCandle\u003E candles;CandlestickOpts o = default||hdab8fd71be859d6cc56de05a9e2feb81a2532c176230e766fa2ba67fa5260e3c", "signature": "int Candlestick(UiText id, ReadOnlySpan\u003CCandle\u003E candles, CandlestickOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "candles", "type": "ReadOnlySpan\u003CCandle\u003E" }, { "name": "o", "type": "CandlestickOpts", "default": "default" }], "summary": "Returns the candle under the crosshair (pointer or keys), or -1." }, { "name": "CardStack", "kind": "extension", "id": "extension|CardStack|0|0|int|UiText id;int count;DrawFn body;CardStackOpts o = default||h2dadbccb1e5391a98cfda3530cd5b460c17e79dd01b6927d2346f58287b56332", "signature": "int CardStack(UiText id, int count, DrawFn body, CardStackOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "count", "type": "int" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "CardStackOpts", "default": "default" }], "summary": "cui_card_stack_begin The end call reports which card in the stack is active, or -1, so the body overload returns it." }, { "name": "Checklist", "kind": "extension", "id": "extension|Checklist|0|0|int|UiText id;ReadOnlySpan\u003CCheckStep\u003E steps;ChecklistOpts o = default||hb1cdf5bee54759618ba4c2e6386ab30794ff911948e833f0610afb911e63f554", "signature": "int Checklist(UiText id, ReadOnlySpan\u003CCheckStep\u003E steps, ChecklistOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "steps", "type": "ReadOnlySpan\u003CCheckStep\u003E" }, { "name": "o", "type": "ChecklistOpts", "default": "default" }], "summary": "cui_checklist_ex" }, { "name": "CommandPalette", "kind": "extension", "id": "extension|CommandPalette|0|0|int|ref bool open;ReadOnlySpan\u003CCommand\u003E commands||h001b59aa0ea6df8a0ea3d57d57bc1d6c25690db136f11ce1d794c93d9c7bbfc3", "signature": "int CommandPalette(ref bool open, ReadOnlySpan\u003CCommand\u003E commands)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "open", "type": "ref bool" }, { "name": "commands", "type": "ReadOnlySpan\u003CCommand\u003E" }], "summary": "Spotlight style command palette. Returns the index of the chosen command, or -1. Open it with a shortcut: if (cui_shortcut(ui, CUI_MOD_PRIMARY, CUI_KEY_K)) open = true;" }, { "name": "DiffRows", "kind": "extension", "id": "extension|DiffRows|0|0|int|UiText id;Span\u003CDiffRow\u003E rows;int first = default||h5c94a97ef7958912de5bdb07673a9402664eef62f0238701e95229d154b6ac95", "signature": "int DiffRows(UiText id, Span\u003CDiffRow\u003E rows, int first = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "rows", "type": "Span\u003CDiffRow\u003E" }, { "name": "first", "type": "int", "default": "default" }], "summary": "Copies up to rows.Length of the diff view\u0027s rows into rows, starting at row first." }, { "name": "DroppedFileCount", "kind": "property", "id": "property|DroppedFileCount|0|0|int||get;|h5421210a1933793fbee263cb811628208321526d954709ce2c6f023389dc8e5d", "signature": "int DroppedFileCount { get; }", "summary": "Number of files the window is tracking as dropped; a dropzone reports them first." }, { "name": "Dropzone", "kind": "extension", "id": "extension|Dropzone|0|0|int|UiText id;DropzoneOpts o = default||h1a4c314252379bc356942c2d624bf8dc2388e096a816cda96c08748d80f874cf", "signature": "int Dropzone(UiText id, DropzoneOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "DropzoneOpts", "default": "default" }], "summary": "cui_dropzone_ex" }, { "name": "Funnel", "kind": "extension", "id": "extension|Funnel|0|0|int|UiText id;ReadOnlySpan\u003CVizItem\u003E stages;FunnelOpts o = default||he5202d3e37c12c123db9bc8dddaf33f25d6ee0d1790d21a12846d2233ba2f5e4", "signature": "int Funnel(UiText id, ReadOnlySpan\u003CVizItem\u003E stages, FunnelOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "stages", "type": "ReadOnlySpan\u003CVizItem\u003E" }, { "name": "o", "type": "FunnelOpts", "default": "default" }], "summary": "cui_funnel_ex" }, { "name": "Gantt", "kind": "extension", "id": "extension|Gantt|0|0|int|UiText id;Span\u003CGanttTask\u003E tasks;Date origin;int days;GanttOpts o = default||h6405eb5f36078bd6c78b652a408e39c0fdb1c3a89355a3c7e0368f5d2306981a", "signature": "int Gantt(UiText id, Span\u003CGanttTask\u003E tasks, Date origin, int days, GanttOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "tasks", "type": "Span\u003CGanttTask\u003E" }, { "name": "origin", "type": "Date" }, { "name": "days", "type": "int" }, { "name": "o", "type": "GanttOpts", "default": "default" }], "summary": "* left to right in any interface: see cui__keep_ltr" }, { "name": "Heatmap", "kind": "extension", "id": "extension|Heatmap|0|0|int|UiText id;ReadOnlySpan\u003Cfloat\u003E values;int rows;int cols;HeatmapOpts o = default||hb23a8befed5cb93e645e80d3a23d15bd4f06bdbf22a6f65815edb1bef4129225", "signature": "int Heatmap(UiText id, ReadOnlySpan\u003Cfloat\u003E values, int rows, int cols, HeatmapOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "values", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "rows", "type": "int" }, { "name": "cols", "type": "int" }, { "name": "o", "type": "HeatmapOpts", "default": "default" }], "summary": "cui_heatmap_ex" }, { "name": "InlineEdit", "kind": "extension", "id": "extension|InlineEdit|0|0|int|UiText id;ref string buf;int cap = 256;InlineEditOpts o = default||hdc2fcc11f00fc875b370e784540495eec9451da64bf16b076e0bf19bfc7c475a", "signature": "int InlineEdit(UiText id, ref string buf, int cap = 256, InlineEditOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "buf", "type": "ref string" }, { "name": "cap", "type": "int", "default": "256" }, { "name": "o", "type": "InlineEditOpts", "default": "default" }], "summary": "cui_inline_edit_ex" }, { "name": "PasswordStrength", "kind": "extension", "id": "extension|PasswordStrength|0|0|int|UiText password||h485b27b320ae208ea07b64ec8e1f317ab018ad6465c8ddb02cd01a4424689adb", "signature": "int PasswordStrength(UiText password)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "password", "type": "UiText" }], "summary": "Password strength meter (0 weak .. 4 strong). Returns the score." }, { "name": "PromptSuggestions", "kind": "extension", "id": "extension|PromptSuggestions|0|0|int|UiText id;ReadOnlySpan\u003CPromptSuggestion\u003E items;PromptSuggestionsOpts o = default||ha7ba62105e302f4fa64dd30bf005d6217ab47f44b8de4dcb382d55bb8686de65", "signature": "int PromptSuggestions(UiText id, ReadOnlySpan\u003CPromptSuggestion\u003E items, PromptSuggestionsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CPromptSuggestion\u003E" }, { "name": "o", "type": "PromptSuggestionsOpts", "default": "default" }], "summary": "cui_prompt_suggestions_ex" }, { "name": "RadarChart", "kind": "extension", "id": "extension|RadarChart|0|0|int|UiText id;ReadOnlySpan\u003CSeries\u003E series;ReadOnlySpan\u003Cstring\u003E axes;RadarOpts o = default||hc3ad2df41c9c6b26dc90f3b916ae531651d598ceef8ab541dd035331b9ea768a", "signature": "int RadarChart(UiText id, ReadOnlySpan\u003CSeries\u003E series, ReadOnlySpan\u003Cstring\u003E axes, RadarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "series", "type": "ReadOnlySpan\u003CSeries\u003E" }, { "name": "axes", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "o", "type": "RadarOpts", "default": "default" }], "summary": "cui_radar_chart_ex" }, { "name": "Reactions", "kind": "extension", "id": "extension|Reactions|0|0|int|UiText id;Span\u003CReaction\u003E items||h7528193af8d452456269a4867874808d1a14d9b9b10f82f0f851537b4f5fcc31", "signature": "int Reactions(UiText id, Span\u003CReaction\u003E items)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "Span\u003CReaction\u003E" }], "summary": "cui_reactions" }, { "name": "Sankey", "kind": "extension", "id": "extension|Sankey|0|0|int|UiText id;ReadOnlySpan\u003Cstring\u003E nodes;ReadOnlySpan\u003CSankeyLink\u003E links;SankeyOpts o = default||h54e60f881596c8425c36f81063bcf3bca0ae525a5cb9acb9d9291c93343d590b", "signature": "int Sankey(UiText id, ReadOnlySpan\u003Cstring\u003E nodes, ReadOnlySpan\u003CSankeyLink\u003E links, SankeyOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "nodes", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "links", "type": "ReadOnlySpan\u003CSankeyLink\u003E" }, { "name": "o", "type": "SankeyOpts", "default": "default" }], "summary": "cui_sankey_ex" }, { "name": "ScatterChart", "kind": "extension", "id": "extension|ScatterChart|0|0|int|UiText id;ReadOnlySpan\u003CScatterSeries\u003E series;ScatterOpts o = default||hff3593e05140bd9fcdc8f3c4f996ca064ecb18c59024984a51431c04b86145eb", "signature": "int ScatterChart(UiText id, ReadOnlySpan\u003CScatterSeries\u003E series, ScatterOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "series", "type": "ReadOnlySpan\u003CScatterSeries\u003E" }, { "name": "o", "type": "ScatterOpts", "default": "default" }], "summary": "cui_scatter_chart_ex" }, { "name": "SourceList", "kind": "extension", "id": "extension|SourceList|0|0|int|UiText id;ReadOnlySpan\u003CSource\u003E sources||h6f59cfee8fa72dc7eca177af354e0a6f666d1ec1975ff987f31f00841dd57a41", "signature": "int SourceList(UiText id, ReadOnlySpan\u003CSource\u003E sources)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "sources", "type": "ReadOnlySpan\u003CSource\u003E" }], "summary": "cui_source_list" }, { "name": "SpeedDial", "kind": "extension", "id": "extension|SpeedDial|0|0|int|UiText id;ReadOnlySpan\u003CSpeedAction\u003E actions;SpeedDialOpts o = default||h8f3dcc4f3e218426dd87000bfe603cd7a2a64cc3cdaa021cbc2dea064de87347", "signature": "int SpeedDial(UiText id, ReadOnlySpan\u003CSpeedAction\u003E actions, SpeedDialOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "actions", "type": "ReadOnlySpan\u003CSpeedAction\u003E" }, { "name": "o", "type": "SpeedDialOpts", "default": "default" }], "summary": "cui_speed_dial_ex" }, { "name": "SplitBar", "kind": "extension", "id": "extension|SplitBar|0|0|int|UiText id;ReadOnlySpan\u003CVizItem\u003E items;SplitBarOpts o = default||h16bc37b28b54a3959b1ffffa5d212e2ce5767fa384b82e9693cfc0cf3ecba083", "signature": "int SplitBar(UiText id, ReadOnlySpan\u003CVizItem\u003E items, SplitBarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CVizItem\u003E" }, { "name": "o", "type": "SplitBarOpts", "default": "default" }], "summary": "cui_split_bar_ex" }, { "name": "SplitButton", "kind": "extension", "id": "extension|SplitButton|0|0|int|UiText label;ReadOnlySpan\u003Cstring\u003E items;SplitButtonOpts o = default||hab5170280449718e8bb4e18299a9939e8c4585d7f457498a1884dce52f1a5b83", "signature": "int SplitButton(UiText label, ReadOnlySpan\u003Cstring\u003E items, SplitButtonOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "o", "type": "SplitButtonOpts", "default": "default" }], "summary": "cui_split_button_ex" }, { "name": "SwipeItem", "kind": "extension", "id": "extension|SwipeItem|0|0|int|UiText id;ReadOnlySpan\u003CSwipeAction\u003E left;ReadOnlySpan\u003CSwipeAction\u003E right;DrawFn body||hde404a799a1b468b7df4ac9ce65a247c02d83d6788917c5eb60378cb5ebf709d", "signature": "int SwipeItem(UiText id, ReadOnlySpan\u003CSwipeAction\u003E left, ReadOnlySpan\u003CSwipeAction\u003E right, DrawFn body)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "left", "type": "ReadOnlySpan\u003CSwipeAction\u003E" }, { "name": "right", "type": "ReadOnlySpan\u003CSwipeAction\u003E" }, { "name": "body", "type": "DrawFn" }], "summary": "cui_swipe_item_begin The end call reports which swipe action was taken, or -1, so the body overload returns it." }, { "name": "Toast", "kind": "extension", "id": "extension|Toast|0|0|int|UiText title;ToastOpts o = default||hf3201662ddfe1d84b58e5851658ccd1e36ba6d53acdb101b80df283a2f0ee264", "signature": "int Toast(UiText title, ToastOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "o", "type": "ToastOpts", "default": "default" }], "summary": "Queue a toast. Returns a handle; cui_toast_action_clicked(handle) tells whether its action button was pressed." }, { "name": "Toc", "kind": "extension", "id": "extension|Toc|0|0|int|UiText scrollId;ReadOnlySpan\u003CTocItem\u003E items||h226d5cf4f0b7b58f3c7df69b1762d483d977d46968c43d4468a7db886e3771f0", "signature": "int Toc(UiText scrollId, ReadOnlySpan\u003CTocItem\u003E items)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "scrollId", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CTocItem\u003E" }], "summary": "cui_toc" }, { "name": "TreeTableDepth", "kind": "extension", "id": "extension|TreeTableDepth|0|0|int|||h6f4316e2e33c3ebb9b14932b5fc588d50a9b4b5b52a70f672523341f85c34b6b", "signature": "int TreeTableDepth()", "extensionOn": "CuiSharp.Ui", "summary": "cui_tree_table_depth" }, { "name": "TreeTableRow", "kind": "extension", "id": "extension|TreeTableRow|0|0|int|||h6f0d82997cbd7dfd529bd1d04c7fd279173e864794b9acde1a6f8cf0deb80e45", "signature": "int TreeTableRow()", "extensionOn": "CuiSharp.Ui", "summary": "The next row in view: returns its node, or -1 when done. Then build its cells: cui_tree_table_name first, then cui_data_grid_cell(_text)." }, { "name": "Treemap", "kind": "extension", "id": "extension|Treemap|0|0|int|UiText id;ReadOnlySpan\u003CVizItem\u003E items;TreemapOpts o = default||hea14dd60cbeb36d78c486e9549f6917d7d431d80c23f54fe86c191e4e647a6e4", "signature": "int Treemap(UiText id, ReadOnlySpan\u003CVizItem\u003E items, TreemapOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CVizItem\u003E" }, { "name": "o", "type": "TreemapOpts", "default": "default" }], "summary": "cui_treemap_ex" }, { "name": "Waffle", "kind": "extension", "id": "extension|Waffle|0|0|int|UiText id;ReadOnlySpan\u003CVizItem\u003E items;WaffleOpts o = default||hbb9c8a5b82ec5547e3c36f001de128742bbee117c0a3da39be26ed99600e3617", "signature": "int Waffle(UiText id, ReadOnlySpan\u003CVizItem\u003E items, WaffleOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CVizItem\u003E" }, { "name": "o", "type": "WaffleOpts", "default": "default" }], "summary": "cui_waffle_ex" }, { "name": "WeekCalendar", "kind": "extension", "id": "extension|WeekCalendar|0|0|int|UiText id;Date weekStart;Span\u003CCalendarEvent\u003E events;WeekOpts o = default||h6ebe88be9f390e98d2c4c1e3f796e62f09b23309fe4f21093ce3e1e506653fc9", "signature": "int WeekCalendar(UiText id, Date weekStart, Span\u003CCalendarEvent\u003E events, WeekOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "weekStart", "type": "Date" }, { "name": "events", "type": "Span\u003CCalendarEvent\u003E" }, { "name": "o", "type": "WeekOpts", "default": "default" }], "summary": "* left to right in any interface: see cui__keep_ltr" }, { "name": "Segmented", "kind": "extension", "id": "extension|Segmented|0|0|int?|UiText id;ReadOnlySpan\u003Cstring\u003E items;int value;SegmentedOpts o = default||hfb54a79c3ab77ad5f8295229f391ceafab348451a898c9a700f5adccce24a7a9", "signature": "int? Segmented(UiText id, ReadOnlySpan\u003Cstring\u003E items, int value, SegmentedOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "value", "type": "int" }, { "name": "o", "type": "SegmentedOpts", "default": "default" }], "summary": "Returns the chosen index on a change, otherwise null." }, { "name": "AccentName", "kind": "method", "id": "method|AccentName|1|0|string|Accent accent||h0e37f10433228fc19b1442b10a947b92a35e4c1252d1688e2237e77f9c961f50", "signature": "static string AccentName(Accent accent)", "parameters": [{ "name": "accent", "type": "Accent" }], "summary": "The name of an accent as the UI shows it: \u0022Violet\u0022." }, { "name": "KeyName", "kind": "method", "id": "method|KeyName|1|0|string|Key key||ha31820aa00db9a4c2b6c84c51b79eb08b079cecb712605806d2763204d3f8fc8", "signature": "static string KeyName(Key key)", "parameters": [{ "name": "key", "type": "Key" }], "summary": "The name of a key as the UI shows it: A, Space, F5." }, { "name": "CronDescribe", "kind": "extension", "id": "extension|CronDescribe|0|0|string?|UiText cron||hd4c9ada55bcf91c1c683541837ecf35a841f847a3eee89aabbb26c529db1cd47", "signature": "string? CronDescribe(UiText cron)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "cron", "type": "UiText" }], "summary": "\u0022Every weekday at 09:30\u0022, in frame memory; NULL when invalid." }, { "name": "DroppedFile", "kind": "method", "id": "method|DroppedFile|0|0|string?|int index||hadc15393659f2bdf4574fe25868fce27bf8d063345e13c4c1b9285ed95d06a8e", "signature": "string? DroppedFile(int index)", "parameters": [{ "name": "index", "type": "int" }], "summary": "The path of a dropped file, or null when the index is out of range." }, { "name": "EmojiPicker", "kind": "extension", "id": "extension|EmojiPicker|0|0|string?|UiText id;ref string recent;ref int tone;EmojiPickerOpts o = default||h15890f303b9bfcb523f735ab2f9e6844938b14c17122927fe58f4714c2d1577c", "signature": "string? EmojiPicker(UiText id, ref string recent, ref int tone, EmojiPickerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "recent", "type": "ref string" }, { "name": "tone", "type": "ref int" }, { "name": "o", "type": "EmojiPickerOpts", "default": "default" }], "summary": "cui_emoji_picker_ex" }, { "name": "ShortcutLabel", "kind": "extension", "id": "extension|ShortcutLabel|0|0|string?|KeyCombo combo||hbc2b6ede54efc1cdfc932533bfaa02df6e2091b08013ed268adaeb5f70fe77fd", "signature": "string? ShortcutLabel(KeyCombo combo)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "combo", "type": "KeyCombo" }], "summary": "cui_shortcut_label" }, { "name": "LastId", "kind": "property", "id": "property|LastId|0|0|uint||get;|hb45a60a2627c7935e56a964ff3d4b23b89b21d8a180962ea221f54c95e1e68d2", "signature": "uint LastId { get; }", "summary": "The id of the widget drawn last, which is what Target and the other \u0022point at this\u0022 APIs take. Read it immediately after the control." }, { "name": "MakeId", "kind": "method", "id": "method|MakeId|0|0|uint|UiText id||hf729d2c0f406a6b883b2cbb0e869941e897aaaef891e76b22daa8e479857208d", "signature": "uint MakeId(UiText id)", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "A stable cui_id for a string, for Animate and State callers." }, { "name": "CreateImage", "kind": "method", "id": "method|CreateImage|0|0|ulong|int width;int height;ReadOnlySpan\u003Cbyte\u003E rgba||h5ee4689276531d64da132f6a1cc9e229a83100259c335ca4ab5a007c20a68ce7", "signature": "ulong CreateImage(int width, int height, ReadOnlySpan\u003Cbyte\u003E rgba)", "parameters": [{ "name": "width", "type": "int" }, { "name": "height", "type": "int" }, { "name": "rgba", "type": "ReadOnlySpan\u003Cbyte\u003E" }], "summary": "Uploads RGBA8 pixels as a texture. The pixels are copied, so the span may live on the stack. Release the handle with DestroyImage when the page that shows it is done with it \u2014 State\u0060\u00601 with an onFree callback is the usual owner." }, { "name": "DockSave", "kind": "extension", "id": "extension|DockSave|0|0|ulong|UiText id;ref string buf;int cap||h10c71156edbbe3c5e529016814c796584f469d6d0b0b7466e4bde6ba2b0893b4", "signature": "ulong DockSave(UiText id, ref string buf, int cap)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "buf", "type": "ref string" }, { "name": "cap", "type": "int" }], "summary": "Saved layout: one line, e.g. dock1 h0.22([*Scene tree,Assets],v0.7([*Viewport],[*Log,-Console])) h splits side by side and v stacks, the number is the first child\u0027s share, [..] is a leaf\u0027s tabs in order, * the selected tab, - a closed panel; a backslash escapes , [ ] ( ) and itself in names. cui_dock_save returns the full length (as snprintf does) and writes what fits, or 0 when there is no layout. cui_dock_load replaces the layout (and sets each panel\u0027s *open from it on its next frame); names it does not know yet are kept for when they appear. Malformed text returns false and changes nothing." }, { "name": "FrameCount", "kind": "property", "id": "property|FrameCount|0|0|ulong||get;|h7254dceb0c426d20c644d45bf8a5ca3e9a444a54dee4128f0adcf9db4b00c8fc", "signature": "ulong FrameCount { get; }", "summary": "Frames presented so far, counted by CUI." }, { "name": "Accordion", "kind": "extension", "id": "extension|Accordion|0|0|void|UiText title;ref bool open;DrawFn body||h5a6e18ec6c43cdc43af8a25085ec728fca441d6f03d65c135ac01415603bdc5b", "signature": "void Accordion(UiText title, ref bool open, DrawFn body)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "body", "type": "DrawFn" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "AddFontFallback", "kind": "extension", "id": "extension|AddFontFallback|0|0|void|Font font;Font fallback||h046e79521dc69de86a794461399d269a9ea51fd36fd162afddde019ca45934e1", "signature": "void AddFontFallback(Font font, Font fallback)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "font", "type": "Font" }, { "name": "fallback", "type": "Font" }], "summary": "Adds a fallback CUI reaches for when font has no glyph. The chain holds at most four fallbacks; when it is exhausted CUI scans every other loaded face before giving up. A glyph no face has draws nothing at all \u2014 not even a .notdef box in every font \u2014 so an untranslated screen comes up blank with no warning. UseSystemFontFallback is the check for that, and the bundled faces are Latin. The glyph atlas is what a large script actually costs: one texture of CUI_ATLAS_MAX (4096) pixels per side, with the frame\u0027s glyph cache reset between frames, so a font that makes every frame load new glyphs is the expensive case. Register the faces a language needs at startup, not per frame." }, { "name": "AgentStatus", "kind": "extension", "id": "extension|AgentStatus|0|0|void|UiText text;AgentStatusOpts o = default||h61ac25149bb714e9244c62474d67f93158a7f9bd1583135da08e6b32a5ac5120", "signature": "void AgentStatus(UiText text, AgentStatusOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "o", "type": "AgentStatusOpts", "default": "default" }], "summary": "cui_agent_status_ex" }, { "name": "Avatar", "kind": "extension", "id": "extension|Avatar|0|0|void|UiText name;AvatarOpts o = default||h86ad06b6f35491ed7cd4f337c2a2688db37d73bfec4c164c7b90267365ce8af2", "signature": "void Avatar(UiText name, AvatarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "name", "type": "UiText" }, { "name": "o", "type": "AvatarOpts", "default": "default" }], "summary": "cui_avatar_ex" }, { "name": "AvatarGroup", "kind": "extension", "id": "extension|AvatarGroup|0|0|void|ReadOnlySpan\u003Cstring\u003E names;int maxVisible = 4;float size = 32f||h2aebe32a1e3101b42a18771fc77f1b10cb011e17bea49c9f7cbf01e0be5ca252", "signature": "void AvatarGroup(ReadOnlySpan\u003Cstring\u003E names, int maxVisible = 4, float size = 32f)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "names", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "maxVisible", "type": "int", "default": "4" }, { "name": "size", "type": "float", "default": "32f" }], "summary": "cui_avatar_group" }, { "name": "Badge", "kind": "extension", "id": "extension|Badge|0|0|void|UiText text;BadgeOpts o = default||h2e146cbd498ce9ebfdcbb978fe8414bd9ff4389e1361c02fa453b24fcfc15d1c", "signature": "void Badge(UiText text, BadgeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "o", "type": "BadgeOpts", "default": "default" }], "summary": "cui_badge_ex" }, { "name": "BarChart", "kind": "method", "id": "method|BarChart|0|0|void|UiText id;ReadOnlySpan\u003Cfloat\u003E values;ChartOpts o = default;Color color = default||hdd24ad8679c5e482e048ed73ce69225b69c19ad5704a83f9a427093e4551242a", "signature": "void BarChart(UiText id, ReadOnlySpan\u003Cfloat\u003E values, ChartOpts o = default, Color color = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "values", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "o", "type": "ChartOpts", "default": "default" }, { "name": "color", "type": "Color", "default": "default" }], "summary": "A bar chart of one series. See LineChart." }, { "name": "BarChart", "kind": "method", "id": "method|BarChart|0|0|void|UiText id;Series[] series;ChartOpts o = default||h8d42b4d0a483459731da6ec00c3001f0d1f69bd28a07b4618095e800910f67c7", "signature": "void BarChart(UiText id, Series[] series, ChartOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "series", "type": "Series[]" }, { "name": "o", "type": "ChartOpts", "default": "default" }] }, { "name": "Carousel", "kind": "extension", "id": "extension|Carousel|0|0|void|UiText id;int count;ref int index;DrawFn body;CarouselOpts o = default||haf6583b1edd10132a276ed92f3c7cc7b139b36644ab8586eadce1ce1ae7cf431", "signature": "void Carousel(UiText id, int count, ref int index, DrawFn body, CarouselOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "CarouselOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "ChatDivider", "kind": "extension", "id": "extension|ChatDivider|0|0|void|UiText label||hdb17d96dbafb815bdf9d77a06116d1a2d004dbf0c4190716f604d7f7503032a5", "signature": "void ChatDivider(UiText label)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }], "summary": "cui_chat_divider" }, { "name": "ChatMessage", "kind": "extension", "id": "extension|ChatMessage|0|0|void|UiText text;ChatOpts o = default||h0067e7f3c9a991c64026e5433bcd84d614a634bb99011d70cf7548c49b4d0e46", "signature": "void ChatMessage(UiText text, ChatOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "o", "type": "ChatOpts", "default": "default" }], "summary": "Same as the overload with ref markdownResult, but reports nothing back: the state pointer is null, so the widget stores no state the caller could read." }, { "name": "ChatMessage", "kind": "extension", "id": "extension|ChatMessage|0|0|void|UiText text;ref MarkdownResult markdownResult;ChatOpts o = default||he419f66e4261e2e5f8341890ace8476938bbabe2ce7747bb1cf378821e824da4", "signature": "void ChatMessage(UiText text, ref MarkdownResult markdownResult, ChatOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "markdownResult", "type": "ref MarkdownResult" }, { "name": "o", "type": "ChatOpts", "default": "default" }], "summary": "cui_chat_message_ex" }, { "name": "Code", "kind": "extension", "id": "extension|Code|0|0|void|UiText text||heb5c95cf0725be5b6a3d5d064b904bf47fbe9b2889e74bd910d61b666764b439", "signature": "void Code(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "cui_code" }, { "name": "CodeBlock", "kind": "extension", "id": "extension|CodeBlock|0|0|void|UiText id;UiText code;CodeOpts o = default||h649344835854747b9cbde6157eb263d70a9df1f246e3854f21806fef682fedac", "signature": "void CodeBlock(UiText id, UiText code, CodeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "code", "type": "UiText" }, { "name": "o", "type": "CodeOpts", "default": "default" }], "summary": "* left to right in any interface: see cui__keep_ltr" }, { "name": "CodeEditorFind", "kind": "extension", "id": "extension|CodeEditorFind|0|0|void|UiText id;UiText query||ha5ad5e0daacc15247f7497756195d2f521b1676f4f4275c1360e7dd6a099a27e", "signature": "void CodeEditorFind(UiText id, UiText query)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "query", "type": "UiText" }], "summary": "Opens the find bar with query and selects the next match (NULL closes)." }, { "name": "CodeEditorGoto", "kind": "extension", "id": "extension|CodeEditorGoto|0|0|void|UiText id;int line;int column||he046da323e1fb441003f0aff4a8b1fb21892920cc0d306e08811c4d4b477dfae", "signature": "void CodeEditorGoto(UiText id, int line, int column)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "line", "type": "int" }, { "name": "column", "type": "int" }], "summary": "On the editor\u0027s next frame: put the caret at a line and column (1 based), focus the editor and scroll there. Call from the same id scope." }, { "name": "CodeEditorSelect", "kind": "extension", "id": "extension|CodeEditorSelect|0|0|void|UiText id;int anchor;int cursor||hbae83fe5ce54e61f495c10224f17c5f97155815624a80c230f94b710bbd25bbc", "signature": "void CodeEditorSelect(UiText id, int anchor, int cursor)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "anchor", "type": "int" }, { "name": "cursor", "type": "int" }], "summary": "On the next frame: select bytes anchor..cursor, focus and scroll there." }, { "name": "Component", "kind": "extension", "id": "extension|Component|0|0|void|Component component||h848740a50a9eb8dc56641315816144114376ac9c315542b20691de3cbc9300d4", "signature": "void Component(Component component)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "component", "type": "Component" }], "summary": "Draws component, with its own error boundary." }, { "name": "ContextMenu", "kind": "extension", "id": "extension|ContextMenu|0|0|void|UiText id;DrawFn body||h639ca26a4859a28b5d0c68a17b414a22b59f92e32460ae828991807709b85741", "signature": "void ContextMenu(UiText id, DrawFn body)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "body", "type": "DrawFn" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "ContextMeter", "kind": "extension", "id": "extension|ContextMeter|0|0|void|UiText id;float used;float limit;ContextOpts o = default||h19d9530359d94af2f36c2f8a876d49576ae0e0c4c67e5270f45fdf36934d1c78", "signature": "void ContextMeter(UiText id, float used, float limit, ContextOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "used", "type": "float" }, { "name": "limit", "type": "float" }, { "name": "o", "type": "ContextOpts", "default": "default" }], "summary": "cui_context_meter_ex" }, { "name": "Countdown", "kind": "extension", "id": "extension|Countdown|0|0|void|UiText id;double secondsLeft;CountdownOpts o = default||h821d564a1492fd931adfbbc43d4c182d207343abf289fdf0702df537f77d848a", "signature": "void Countdown(UiText id, double secondsLeft, CountdownOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "secondsLeft", "type": "double" }, { "name": "o", "type": "CountdownOpts", "default": "default" }], "summary": "* left to right in any interface: see cui__keep_ltr" }, { "name": "Counter", "kind": "extension", "id": "extension|Counter|0|0|void|UiText id;double value;CounterOpts o = default||h0b05971fdda28297316e6f4447ca5d501aa7a11fe9da2f3bdc3756e5b7c5ffd3", "signature": "void Counter(UiText id, double value, CounterOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "double" }, { "name": "o", "type": "CounterOpts", "default": "default" }], "summary": "* left to right in any interface: see cui__keep_ltr" }, { "name": "DataGrid", "kind": "extension", "id": "extension|DataGrid|0|0|void|UiText id;ReadOnlySpan\u003CGridColumn\u003E columns;int rowCount;GridState state;DrawFn body;GridOpts o = default||h9c456dfa1016ff4f42bd0014595270a05519919f42743036e5fc9f8cb8147c63", "signature": "void DataGrid(UiText id, ReadOnlySpan\u003CGridColumn\u003E columns, int rowCount, GridState state, DrawFn body, GridOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "columns", "type": "ReadOnlySpan\u003CGridColumn\u003E" }, { "name": "rowCount", "type": "int" }, { "name": "state", "type": "GridState" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "GridOpts", "default": "default" }], "summary": "Draws the body only when open; closes and publishes state even on exceptions." }, { "name": "DataGridCell", "kind": "extension", "id": "extension|DataGridCell|0|0|void|||h17266c47617cb3e20e5aafb4e0740fb451853300d3ea2f4cf357c27f4e0c97e5", "signature": "void DataGridCell()", "extensionOn": "CuiSharp.Ui", "summary": "cui_data_grid_cell" }, { "name": "DataGridCellText", "kind": "extension", "id": "extension|DataGridCellText|0|0|void|UiText text||hbc15a57820d975503239bf1e6c43046de51dd25c53400b94dc05e4c5ec821c22", "signature": "void DataGridCellText(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "cui_data_grid_cell_text" }, { "name": "DestroyImage", "kind": "method", "id": "method|DestroyImage|0|0|void|ulong texture||h233513e5e0f04cab6a29321054080d17776d33b361cec53060f335038ac6c4f4", "signature": "void DestroyImage(ulong texture)", "parameters": [{ "name": "texture", "type": "ulong" }], "summary": "Frees a texture obtained from CreateImage, LoadImage or a widget that loaded one for you (the avatar upload). Passing 0 does nothing, so a field can be cleared and released in one step." }, { "name": "Dialog", "kind": "extension", "id": "extension|Dialog|0|0|void|UiText title;ref bool open;DrawFn body;DialogOpts o = default||hb9a2198e7b3396b3f8e81f53972b52816f4e10d0c965758cb0b8e59b20c0dad6", "signature": "void Dialog(UiText title, ref bool open, DrawFn body, DialogOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "DialogOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "DockPanel", "kind": "extension", "id": "extension|DockPanel|0|0|void|UiText title;ref bool open;DrawFn body;DockPanelOpts o = default||haec3aec1f30c0641ff9d8d21ef9827c8984e582f195575f5bdafa8e30c26bf47", "signature": "void DockPanel(UiText title, ref bool open, DrawFn body, DockPanelOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "DockPanelOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "DockSeparator", "kind": "extension", "id": "extension|DockSeparator|0|0|void|||h4f7b4ffb27ff0752d3414c6e36155f014d64756d9c99299d0061f4d3b662e948", "signature": "void DockSeparator()", "extensionOn": "CuiSharp.Ui", "summary": "cui_dock_separator" }, { "name": "DonutChart", "kind": "method", "id": "method|DonutChart|0|0|void|UiText id;float[] values;string[]? labels = null;ChartOpts o = default||h105b6ba9a48212810ca8eaa543dfd59b8bcbb7a078d6d00c43caa8337cf3e984", "signature": "void DonutChart(UiText id, float[] values, string[]? labels = null, ChartOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "values", "type": "float[]" }, { "name": "labels", "type": "string[]?", "default": "null" }, { "name": "o", "type": "ChartOpts", "default": "default" }] }, { "name": "DrawArc", "kind": "method", "id": "method|DrawArc|0|0|void|float cx;float cy;float radius;float fromRadians;float toRadians;float thickness;Color color||h75c08329ccf02db7c649c3de4062b857fcb9fb9b5607cc0cdc3ffa02cdd3a32a", "signature": "void DrawArc(float cx, float cy, float radius, float fromRadians, float toRadians, float thickness, Color color)", "parameters": [{ "name": "cx", "type": "float" }, { "name": "cy", "type": "float" }, { "name": "radius", "type": "float" }, { "name": "fromRadians", "type": "float" }, { "name": "toRadians", "type": "float" }, { "name": "thickness", "type": "float" }, { "name": "color", "type": "Color" }], "summary": "An arc from fromRadians to toRadians." }, { "name": "DrawCircle", "kind": "method", "id": "method|DrawCircle|0|0|void|float cx;float cy;float radius;Color color||hb1d4daba0313192a47661dfdcba2bbea774eacd066b6e992e4b4698dddcde09a", "signature": "void DrawCircle(float cx, float cy, float radius, Color color)", "parameters": [{ "name": "cx", "type": "float" }, { "name": "cy", "type": "float" }, { "name": "radius", "type": "float" }, { "name": "color", "type": "Color" }], "summary": "A filled circle." }, { "name": "DrawEmoji", "kind": "extension", "id": "extension|DrawEmoji|0|0|void|UiText utf8;RectF r||ha6979720ffa9f6b639eedcdc2f34912ae99c3e8f6db6d29d49b7a755626e5e61", "signature": "void DrawEmoji(UiText utf8, RectF r)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "utf8", "type": "UiText" }, { "name": "r", "type": "RectF" }], "summary": "cui_draw_emoji" }, { "name": "DrawIcon", "kind": "method", "id": "method|DrawIcon|0|0|void|UiText icon;RectF r;Color color;float size = 16f||hd54b671c520dcce41f616162ba2038b0604408edb2178e4e538b9fd737631621", "signature": "void DrawIcon(UiText icon, RectF r, Color color, float size = 16f)", "parameters": [{ "name": "icon", "type": "UiText" }, { "name": "r", "type": "RectF" }, { "name": "color", "type": "Color" }, { "name": "size", "type": "float", "default": "16f" }], "summary": "Draws an icon glyph into a rectangle." }, { "name": "DrawImage", "kind": "method", "id": "method|DrawImage|0|0|void|ulong texture;RectF destination;Color tint;float radius = default||h02908132cac945b65c579f6460fda70375b546d9df86cb8e4446b3d6369a8ad2", "signature": "void DrawImage(ulong texture, RectF destination, Color tint, float radius = default)", "parameters": [{ "name": "texture", "type": "ulong" }, { "name": "destination", "type": "RectF" }, { "name": "tint", "type": "Color" }, { "name": "radius", "type": "float", "default": "default" }], "summary": "Draws the whole texture into destination." }, { "name": "DrawImage", "kind": "method", "id": "method|DrawImage|0|0|void|ulong texture;RectF destination;RectF uv;Color tint;float radius = default||h19922f36165664b04b3f13745794f29cd576c87d690e38abfacd839c9eebe6ea", "signature": "void DrawImage(ulong texture, RectF destination, RectF uv, Color tint, float radius = default)", "parameters": [{ "name": "texture", "type": "ulong" }, { "name": "destination", "type": "RectF" }, { "name": "uv", "type": "RectF" }, { "name": "tint", "type": "Color" }, { "name": "radius", "type": "float", "default": "default" }], "summary": "Draws a texture into destination, sampling uv in 0..1 texture coordinates." }, { "name": "DrawLine", "kind": "method", "id": "method|DrawLine|0|0|void|float x0;float y0;float x1;float y1;float thickness;Color color||h7c718f3cf261fcdd9890ecc99c37b4c7ef88951855160bbd3b4b84bbb0906183", "signature": "void DrawLine(float x0, float y0, float x1, float y1, float thickness, Color color)", "parameters": [{ "name": "x0", "type": "float" }, { "name": "y0", "type": "float" }, { "name": "x1", "type": "float" }, { "name": "y1", "type": "float" }, { "name": "thickness", "type": "float" }, { "name": "color", "type": "Color" }], "summary": "A line between two points." }, { "name": "DrawPolygon", "kind": "method", "id": "method|DrawPolygon|0|0|void|ReadOnlySpan\u003CValueTuple\u003Cfloat, float\u003E\u003E points;Color color||h0a35ee50b137930776943658c6a4b0a802340e6fc1443224120f511919b82309", "signature": "void DrawPolygon(ReadOnlySpan\u003CValueTuple\u003Cfloat, float\u003E\u003E points, Color color)", "parameters": [{ "name": "points", "type": "ReadOnlySpan\u003CValueTuple\u003Cfloat, float\u003E\u003E" }, { "name": "color", "type": "Color" }], "summary": "A convex polygon through the given x/y pairs." }, { "name": "DrawPolyline", "kind": "method", "id": "method|DrawPolyline|0|0|void|ReadOnlySpan\u003CValueTuple\u003Cfloat, float\u003E\u003E points;float thickness;Color color;bool closed = default||h4c7f07e3c9fc697e544cc98214f394946bae499ac03450d9e5812ced69ce04e9", "signature": "void DrawPolyline(ReadOnlySpan\u003CValueTuple\u003Cfloat, float\u003E\u003E points, float thickness, Color color, bool closed = default)", "parameters": [{ "name": "points", "type": "ReadOnlySpan\u003CValueTuple\u003Cfloat, float\u003E\u003E" }, { "name": "thickness", "type": "float" }, { "name": "color", "type": "Color" }, { "name": "closed", "type": "bool", "default": "default" }], "summary": "A polyline through the given x/y pairs." }, { "name": "DrawRect", "kind": "method", "id": "method|DrawRect|0|0|void|RectF r;Color fill;Color border;float borderWidth;float radius = default||h4ba9a89c0df1a36edef3bc858b12de8bb1c2d9020a801bc38d101b16e9839611", "signature": "void DrawRect(RectF r, Color fill, Color border, float borderWidth, float radius = default)", "parameters": [{ "name": "r", "type": "RectF" }, { "name": "fill", "type": "Color" }, { "name": "border", "type": "Color" }, { "name": "borderWidth", "type": "float" }, { "name": "radius", "type": "float", "default": "default" }], "summary": "Fills a rounded rectangle and strokes its border." }, { "name": "DrawRect", "kind": "method", "id": "method|DrawRect|0|0|void|RectF r;Color fill;float radius = default||hbede7dc4a83173600f87c3151cfb881b786025c1a85bfc6cfd41ac9c76b997ec", "signature": "void DrawRect(RectF r, Color fill, float radius = default)", "parameters": [{ "name": "r", "type": "RectF" }, { "name": "fill", "type": "Color" }, { "name": "radius", "type": "float", "default": "default" }], "summary": "Fills a rounded rectangle." }, { "name": "DrawRectGradient", "kind": "method", "id": "method|DrawRectGradient|0|0|void|RectF r;Color top;Color bottom;float radius = default||hdfb2b1697ea2ab6d38c629c2592cb4496e061c2c2d2d73080e90e315c179fa59", "signature": "void DrawRectGradient(RectF r, Color top, Color bottom, float radius = default)", "parameters": [{ "name": "r", "type": "RectF" }, { "name": "top", "type": "Color" }, { "name": "bottom", "type": "Color" }, { "name": "radius", "type": "float", "default": "default" }], "summary": "Fills a rounded rectangle with a vertical gradient." }, { "name": "DrawShadow", "kind": "method", "id": "method|DrawShadow|0|0|void|RectF r;Color color;float blur = 12f;float spread = default;float dx = default;float dy = 2f;float radius = default||hd608a1aa394a6724e278bdd79827b6dd27fa0b58389aad230a6976a37e6e1bc9", "signature": "void DrawShadow(RectF r, Color color, float blur = 12f, float spread = default, float dx = default, float dy = 2f, float radius = default)", "parameters": [{ "name": "r", "type": "RectF" }, { "name": "color", "type": "Color" }, { "name": "blur", "type": "float", "default": "12f" }, { "name": "spread", "type": "float", "default": "default" }, { "name": "dx", "type": "float", "default": "default" }, { "name": "dy", "type": "float", "default": "2f" }, { "name": "radius", "type": "float", "default": "default" }], "summary": "A soft drop shadow behind a rounded rectangle." }, { "name": "DrawText", "kind": "method", "id": "method|DrawText|0|0|void|UiText text;float x;float y;Color color;float size = 12f;Font font = Font.Body||ha379555b96749e8089ccd4a67f9f06f0c97c8e3bf6628a829212e087cdf44073", "signature": "void DrawText(UiText text, float x, float y, Color color, float size = 12f, Font font = Font.Body)", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "x", "type": "float" }, { "name": "y", "type": "float" }, { "name": "color", "type": "Color" }, { "name": "size", "type": "float", "default": "12f" }, { "name": "font", "type": "Font", "default": "Font.Body" }], "summary": "Draws text outside layout, from a string, UTF-8 bytes, or interpolation." }, { "name": "Emoji", "kind": "extension", "id": "extension|Emoji|0|0|void|UiText utf8;float size||hcce49478392e105a5082cf12fe2c18e8a68954f1395b48ec19c91052abdbfa90", "signature": "void Emoji(UiText utf8, float size)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "utf8", "type": "UiText" }, { "name": "size", "type": "float" }], "summary": "cui_emoji" }, { "name": "ExpandableCard", "kind": "extension", "id": "extension|ExpandableCard|0|0|void|UiText title;ref bool open;DrawFn body;ExpandableCardOpts o = default||h45a44cd40dda73a400ba664b3783303201ba3f221c6a0c0021b4519c21652a83", "signature": "void ExpandableCard(UiText title, ref bool open, DrawFn body, ExpandableCardOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "ExpandableCardOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "Gap", "kind": "extension", "id": "extension|Gap|0|0|void|float size||h89c0f099b911f74a22d756328dc6f8c634ce4e2561cfb7403549af06bfe120d2", "signature": "void Gap(float size)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "size", "type": "float" }], "summary": "cui_gap" }, { "name": "Gauge", "kind": "extension", "id": "extension|Gauge|0|0|void|UiText label;float value;float size = 130f||h0d866db02a3773b1f94110de3177536a50289e2eb2f4f1328d5ea96164ce0e3d", "signature": "void Gauge(UiText label, float value, float size = 130f)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "float" }, { "name": "size", "type": "float", "default": "130f" }], "summary": "cui_gauge" }, { "name": "GradientText", "kind": "extension", "id": "extension|GradientText|0|0|void|UiText text;GradientTextOpts o = default||h3f77173db929d5d0326fb0d6aacd31968c768ec86de8e25973b46685c05898a0", "signature": "void GradientText(UiText text, GradientTextOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "o", "type": "GradientTextOpts", "default": "default" }], "summary": "cui_gradient_text_ex" }, { "name": "Heading", "kind": "extension", "id": "extension|Heading|0|0|void|UiText text;int level = 2||h557aed71184ccf0f99a503a8e9e31f47bd8f19daa88deaf28acbf6bd2f58da8f", "signature": "void Heading(UiText text, int level = 2)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "level", "type": "int", "default": "2" }], "summary": "cui_heading" }, { "name": "HexViewGoto", "kind": "extension", "id": "extension|HexViewGoto|0|0|void|UiText id;ulong offset||he99988413132b927d206b59bb10ff266913c4aed14642da49708324af5d3a4ea", "signature": "void HexViewGoto(UiText id, ulong offset)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "offset", "type": "ulong" }], "summary": "Go to offset: on the view\u0027s next frame its cursor moves to offset, that byte becomes the selection and it scrolls into view (to the middle when it was out of sight). Wire a \u0022Go to\u0022 field to it; it is safe to call every frame." }, { "name": "HoverCard", "kind": "extension", "id": "extension|HoverCard|0|0|void|UiText id;DrawFn body;HoverCardOpts o = default||h1feb5df25fc90d51f65ce5d548e1c92a15c20d4dbcfb120ec57197031f6bf861", "signature": "void HoverCard(UiText id, DrawFn body, HoverCardOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "HoverCardOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "Icon", "kind": "method", "id": "method|Icon|0|0|void|UiText icon;float size = 16f;Color color = default||ha3c2c3c378676921960172e72c0cd75e176f823d910f148819cb62c5c07fcdb7", "signature": "void Icon(UiText icon, float size = 16f, Color color = default)", "parameters": [{ "name": "icon", "type": "UiText" }, { "name": "size", "type": "float", "default": "16f" }, { "name": "color", "type": "Color", "default": "default" }] }, { "name": "Image", "kind": "extension", "id": "extension|Image|0|0|void|ulong tex;ImageOpts o = default||h4aba4bdd877e6dfb8e45ba090aba9ec93a98e0c6441d125c9038d1be437dc417", "signature": "void Image(ulong tex, ImageOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "tex", "type": "ulong" }, { "name": "o", "type": "ImageOpts", "default": "default" }], "summary": "cui_image_ex" }, { "name": "Inspector", "kind": "extension", "id": "extension|Inspector|0|0|void|UiText id;DrawFn body;InspectorOpts o = default||h841cdf7d1c9125bb04f373e4d2f93c10eccdb9bcbb43da0de7dccc3769b41a32", "signature": "void Inspector(UiText id, DrawFn body, InspectorOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "InspectorOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "Kbd", "kind": "extension", "id": "extension|Kbd|0|0|void|UiText keys||h417076fb4869022dd26ff1c344a189d091fce7e448e96c96224d62f1a451f6d1", "signature": "void Kbd(UiText keys)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "keys", "type": "UiText" }], "summary": "* left to right in any interface: see cui__keep_ltr" }, { "name": "Label", "kind": "extension", "id": "extension|Label|0|0|void|UiText text||h72e24445b52f829a1571cbd68c5c6fac6835700a497232df3ad518950a463221", "signature": "void Label(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "cui_label" }, { "name": "LineChart", "kind": "method", "id": "method|LineChart|0|0|void|UiText id;ReadOnlySpan\u003Cfloat\u003E values;ChartOpts o = default;Color color = default||h3cdc2012853a1aaf00f86229fc128bb443d3b47540340bb22a37e12c48168603", "signature": "void LineChart(UiText id, ReadOnlySpan\u003Cfloat\u003E values, ChartOpts o = default, Color color = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "values", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "o", "type": "ChartOpts", "default": "default" }, { "name": "color", "type": "Color", "default": "default" }], "summary": "A line chart of one series. This is the overload most charts want: the samples are passed directly, and an empty span draws nothing at all." }, { "name": "LineChart", "kind": "method", "id": "method|LineChart|0|0|void|UiText id;Series[] series;ChartOpts o = default||hc086d5dcd804a5f509ce75cc8bee9f3f8667a55ceb50af4ffaabadafd4609ad0", "signature": "void LineChart(UiText id, Series[] series, ChartOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "series", "type": "Series[]" }, { "name": "o", "type": "ChartOpts", "default": "default" }] }, { "name": "Loader", "kind": "extension", "id": "extension|Loader|0|0|void|LoaderOpts o = default||h5945e358ac0fbf3d0cb4c3df6db1ab5234d41a31263116b2fb63eee24b3e9451", "signature": "void Loader(LoaderOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "o", "type": "LoaderOpts", "default": "default" }], "summary": "cui_loader_ex" }, { "name": "LogView", "kind": "extension", "id": "extension|LogView|0|0|void|UiText id;LogBuffer log;LogViewOpts o = default||h629acfd43966ab117356ba793bd70ad6b9dfe93587dd289ab839a823556ecc7b", "signature": "void LogView(UiText id, LogBuffer log, LogViewOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "log", "type": "LogBuffer" }, { "name": "o", "type": "LogViewOpts", "default": "default" }], "summary": "Draws log with its toolbar: level filters, search with highlight, Follow, Copy and Clear. Scrolling up turns Follow off; reaching the bottom turns it back on." }, { "name": "MarkReady", "kind": "method", "id": "method|MarkReady|0|0|void|||h8dc4126f75765e5089f4b5e2bbbb22f0fc14d612aafd61d5d0998543d5b212d0", "signature": "void MarkReady()", "summary": "Declares that this frame shows complete, current app data. This is what dotnet cui --wait ready waits for: readiness is a property of the frame that marks it, so the next frame starts unready and a screen that goes back to loading is never seen as ready on the strength of an older mark." }, { "name": "Menu", "kind": "extension", "id": "extension|Menu|0|0|void|UiText label;DrawFn body;MenuOpts o = default||h46a55ef5a629d54cea211e8cff97db0e260e3c390254e4a74263ef25c2b8fe9d", "signature": "void Menu(UiText label, DrawFn body, MenuOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "MenuOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "MenuBarMenu", "kind": "extension", "id": "extension|MenuBarMenu|0|0|void|UiText label;DrawFn body;MenuBarMenuOpts o = default||h1b1bac394be04ea33333eee937841b7391a0fc642ea6951788ddb9eb4b199110", "signature": "void MenuBarMenu(UiText label, DrawFn body, MenuBarMenuOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "MenuBarMenuOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "MenuLabel", "kind": "extension", "id": "extension|MenuLabel|0|0|void|UiText text||h55d6bbe5cef52bef1137dee2490a736200d78319bc81b81cdd5d2b7fbe16d2b6", "signature": "void MenuLabel(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "cui_menu_label" }, { "name": "MenuSeparator", "kind": "extension", "id": "extension|MenuSeparator|0|0|void|||h7babb70cb1540862bd8b5e000e173763dc48b627688082cf19bcc2e23c25ba73", "signature": "void MenuSeparator()", "extensionOn": "CuiSharp.Ui", "summary": "cui_menu_separator" }, { "name": "Meter", "kind": "extension", "id": "extension|Meter|0|0|void|UiText label;float used;float total;UiText unit = default||h1d8b4e728d051b711957aa7fbc9bcf832cd505900fdce01a27a79bdc8e9d89fa", "signature": "void Meter(UiText label, float used, float total, UiText unit = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "used", "type": "float" }, { "name": "total", "type": "float" }, { "name": "unit", "type": "UiText", "default": "default" }], "summary": "cui_meter" }, { "name": "Metric", "kind": "extension", "id": "extension|Metric|0|0|void|UiText label;UiText value;MetricOpts o = default||h9bab4a4dc12d3dace12e7106ac89323fdbfdf7c56bba9a0e2f0c40e9c95fbef6", "signature": "void Metric(UiText label, UiText value, MetricOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "UiText" }, { "name": "o", "type": "MetricOpts", "default": "default" }], "summary": "cui_metric_ex" }, { "name": "Muted", "kind": "extension", "id": "extension|Muted|0|0|void|UiText text||haf3dda321d9292f4d904d1870d8bb5dea3c49cb695524acb75572822bff2f9b8", "signature": "void Muted(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "cui_muted" }, { "name": "NavSection", "kind": "extension", "id": "extension|NavSection|0|0|void|UiText title||hf901052c3e5ba17c7b523058746a19e11e181239069f2b8fbb43adfafdbdcafc", "signature": "void NavSection(UiText title)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }], "summary": "cui_nav_section" }, { "name": "Node", "kind": "extension", "id": "extension|Node|0|0|void|int nodeId;ref float x;ref float y;UiText title;DrawFn body;NodeOpts o = default||he2a131c3e341325536d7aaaafc4f83046a7d7e9c45eead6545f141826f6d7e82", "signature": "void Node(int nodeId, ref float x, ref float y, UiText title, DrawFn body, NodeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "nodeId", "type": "int" }, { "name": "x", "type": "ref float" }, { "name": "y", "type": "ref float" }, { "name": "title", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "NodeOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "NodeEditor", "kind": "extension", "id": "extension|NodeEditor|0|0|void|UiText id;ref NodeView view;DrawFn body;NodeEditorOpts o = default||h5854f9b818a6cafa92571b34f94f5f0c435142d546b6f628a1174b1effe7ac67", "signature": "void NodeEditor(UiText id, ref NodeView view, DrawFn body, NodeEditorOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "view", "type": "ref NodeView" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "NodeEditorOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "NumberRoll", "kind": "extension", "id": "extension|NumberRoll|0|0|void|UiText id;UiText text;TextFxOpts o = default||h67c63e017e57f215b45262ce043c429d9ff6e486e3c507e0c84f3d5daa53a5bf", "signature": "void NumberRoll(UiText id, UiText text, TextFxOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "text", "type": "UiText" }, { "name": "o", "type": "TextFxOpts", "default": "default" }], "summary": "A figure whose changed digits roll into place: up when the value rises, down when it falls, a beat apart from the left; unchanged characters stay still. Pass the formatted text (\u0022$64,210\u0022, \u00221.2k\u0022); digits are tabular." }, { "name": "PathBarMenu", "kind": "extension", "id": "extension|PathBarMenu|0|0|void|UiText id;ref int segment;DrawFn body||h875759cac9f5832bcb6782caaa672db98fbc277a19f31017d3155a38c398dce5", "signature": "void PathBarMenu(UiText id, ref int segment, DrawFn body)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "segment", "type": "ref int" }, { "name": "body", "type": "DrawFn" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "PopClip", "kind": "method", "id": "method|PopClip|0|0|void|||hd223700ffd7f730814c69ec5bd11dae3b4dd4a7a738e754b775a351e0c980575", "signature": "void PopClip()", "summary": "Ends the clip opened by PushClip." }, { "name": "Popover", "kind": "extension", "id": "extension|Popover|0|0|void|UiText id;DrawFn body;PopoverOpts o = default||h597b85fb0e87089ca73543226f68a70b713ea0f9c949974f2c0425c7028438f3", "signature": "void Popover(UiText id, DrawFn body, PopoverOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "PopoverOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "PopoverClose", "kind": "extension", "id": "extension|PopoverClose|0|0|void|UiText id||hca913fedac00c0c27ef6b37fb3f90cb88cd76862d0e5884e8f4e8dac8ba415b3", "signature": "void PopoverClose(UiText id)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "cui_popover_close" }, { "name": "PopoverOpen", "kind": "extension", "id": "extension|PopoverOpen|0|0|void|UiText id||h424af0f304196b1a039d033eb75b4bff9dca251d0232dbc683699a925dfaa16d", "signature": "void PopoverOpen(UiText id)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "cui_popover_open" }, { "name": "PopoverToggle", "kind": "extension", "id": "extension|PopoverToggle|0|0|void|UiText id||h58628645f47f2c9c2896b1ec70e7d661c861b7abb26420d9b750e21380db5e02", "signature": "void PopoverToggle(UiText id)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "cui_popover_toggle" }, { "name": "Presence", "kind": "extension", "id": "extension|Presence|0|0|void|UiText id;ReadOnlySpan\u003CPresenceUser\u003E users;int maxVisible;float size||h33db1325c05049463f7c9a97e3df833a114732c8a156f6ee2d775dad7a69c214", "signature": "void Presence(UiText id, ReadOnlySpan\u003CPresenceUser\u003E users, int maxVisible, float size)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "users", "type": "ReadOnlySpan\u003CPresenceUser\u003E" }, { "name": "maxVisible", "type": "int" }, { "name": "size", "type": "float" }], "summary": "cui_presence" }, { "name": "Progress", "kind": "extension", "id": "extension|Progress|0|0|void|float value;ProgressOpts o = default||h811e97c08fde2498427fc6a279e22a1c2ea3bc1ce69c3d642c73832f10623d4d", "signature": "void Progress(float value, ProgressOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "value", "type": "float" }, { "name": "o", "type": "ProgressOpts", "default": "default" }], "summary": "cui_progress_ex" }, { "name": "ProgressRing", "kind": "extension", "id": "extension|ProgressRing|0|0|void|UiText label;float value;float size = 104f||h2e30430280ecfbc1925c0164f0bb59a54da3003b073ef1535c6cb3c2d4e8e057", "signature": "void ProgressRing(UiText label, float value, float size = 104f)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "float" }, { "name": "size", "type": "float", "default": "104f" }], "summary": "Circular progress with the value in the middle." }, { "name": "PushClip", "kind": "method", "id": "method|PushClip|0|0|void|RectF r||h95bac6dcebf24b24b986a596422f965edfee8cd616663a1e59d0da09a9bd3efb", "signature": "void PushClip(RectF r)", "parameters": [{ "name": "r", "type": "RectF" }], "summary": "Clips subsequent drawing to a rectangle. Pair with PopClip." }, { "name": "RadialGauge", "kind": "extension", "id": "extension|RadialGauge|0|0|void|UiText id;float value;float min;float max;RadialGaugeOpts o = default||h69d72defa0179e7173e927724367a4bb9575a2e75bbd9949225f9eab886c2992", "signature": "void RadialGauge(UiText id, float value, float min, float max, RadialGaugeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "o", "type": "RadialGaugeOpts", "default": "default" }], "summary": "cui_radial_gauge_ex" }, { "name": "Reasoning", "kind": "extension", "id": "extension|Reasoning|0|0|void|UiText id;DrawFn body;ReasoningOpts o = default||h892c50fc79e75386733c9149e18f72832dbdccb2d31c29b39a76a16ea185386e", "signature": "void Reasoning(UiText id, DrawFn body, ReasoningOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "ReasoningOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "ReorderBegin", "kind": "method", "id": "method|ReorderBegin|0|0|void|UiText id;int[] order||hb312c00b771ad378a0324c96198659487c28a3c21c9d71a96e3f595957ffe21f", "signature": "void ReorderBegin(UiText id, int[] order)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "order", "type": "int[]" }] }, { "name": "RequestRedraw", "kind": "method", "id": "method|RequestRedraw|0|0|void|||h4986f5ad7c5201d2830f1dee1e374ca29980fe9c408b3ef833336aabba3ed66c", "signature": "void RequestRedraw()", "summary": "Requests another frame; call only from the synchronous draw path." }, { "name": "RequestWakeup", "kind": "extension", "id": "extension|RequestWakeup|0|0|void|float seconds||h1e8d82035be8a5e226207bb6bd0874265dba29cf4b6a4779f60b95ab7cc567f7", "signature": "void RequestWakeup(float seconds)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "seconds", "type": "float" }], "summary": "Asks for one more frame after seconds, even when nothing else would wake the window. Use it for a timer, a toast timeout or a poll interval." }, { "name": "ResponseStatus", "kind": "extension", "id": "extension|ResponseStatus|0|0|void|int status;double seconds;double bytes||h63e7c9d5181d7379043415c904edf88e89db4e9781c0577d221801f58399a1cf", "signature": "void ResponseStatus(int status, double seconds, double bytes)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "status", "type": "int" }, { "name": "seconds", "type": "double" }, { "name": "bytes", "type": "double" }], "summary": "cui_response_status" }, { "name": "ScrollTo", "kind": "extension", "id": "extension|ScrollTo|0|0|void|UiText scrollId;float y||h795b4245740f616fce2565ac40d5ea6dfa995143af81eedbc7067db0b0f1e7c0", "signature": "void ScrollTo(UiText scrollId, float y)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "scrollId", "type": "UiText" }, { "name": "y", "type": "float" }], "summary": "cui_scroll_to" }, { "name": "Secondary", "kind": "extension", "id": "extension|Secondary|0|0|void|UiText text||h4f32c253f11a19b26ceb397d205e5e2d5c6c8e5db01a0ef2e8984e0a2c78ef46", "signature": "void Secondary(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "cui_secondary" }, { "name": "Separator", "kind": "extension", "id": "extension|Separator|0|0|void|||h913edddc60366f9044c6b66111a5672080bdd3cb042c5febb3487cac873e4f6b", "signature": "void Separator()", "extensionOn": "CuiSharp.Ui", "summary": "cui_separator" }, { "name": "SetFont", "kind": "extension", "id": "extension|SetFont|0|0|void|Font role;Font font||hcab29e22e2019bb3b541b3254c5e4027f76d357aa2ea4e762ced8560cad6c652", "signature": "void SetFont(Font role, Font font)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "role", "type": "Font" }, { "name": "font", "type": "Font" }], "summary": "Makes font the face every widget using role draws with." }, { "name": "SetLocalization", "kind": "method", "id": "method|SetLocalization|0|0|void|Localization? table||h9b1e18df8b05e42ae28fc53a566e5014c93cf59eea849033c0ab9f19b6bae9bd", "signature": "void SetLocalization(Localization? table)", "parameters": [{ "name": "table", "type": "Localization?" }], "summary": "Sets the month, weekday and \u0022Today\u0022 names the date components show, and returns to English with null." }, { "name": "SetReducedMotion", "kind": "method", "id": "method|SetReducedMotion|0|0|void|bool reduced||hae4b830dd1026084cab290fac44e758b675baf93c35f70486ffa7547f059af88", "signature": "void SetReducedMotion(bool reduced)", "parameters": [{ "name": "reduced", "type": "bool" }], "summary": "Turns off animation (transitions, springs and spinners) for accessibility." }, { "name": "Sheet", "kind": "extension", "id": "extension|Sheet|0|0|void|UiText title;ref bool open;DrawFn body;SheetOpts o = default||h65c09301eb5dd69c80862865570241bbd654452c640464cf772559af8fc6bf22", "signature": "void Sheet(UiText title, ref bool open, DrawFn body, SheetOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "SheetOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "ShimmerText", "kind": "extension", "id": "extension|ShimmerText|0|0|void|UiText text;TextFxOpts o = default||h10fe1a4021ac0e8c72d7fdf6f3cb558e9a8c622c13f4749b7ac3d5d402cb9f57", "signature": "void ShimmerText(UiText text, TextFxOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "o", "type": "TextFxOpts", "default": "default" }], "summary": "Text with a highlight sweeping across it, for \u0022Thinking...\u0022 states." }, { "name": "SignatureClear", "kind": "extension", "id": "extension|SignatureClear|0|0|void|UiText id||hf23272f80768839b31369fdd5a82c42808ef1d11985d804d96d54c704b0de8bf", "signature": "void SignatureClear(UiText id)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "cui_signature_clear" }, { "name": "Skeleton", "kind": "extension", "id": "extension|Skeleton|0|0|void|Size width;float height||h9a80641f8540ed71174043f46e0ff5190568ee803a507a52125ab6fd1ccd12ec", "signature": "void Skeleton(Size width, float height)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "width", "type": "Size" }, { "name": "height", "type": "float" }], "summary": "cui_skeleton" }, { "name": "Spacer", "kind": "extension", "id": "extension|Spacer|0|0|void|||h8df9fad32f644fb75d2f19ff5d3057f2529306e3edc1921a901da58f59bdf332", "signature": "void Spacer()", "extensionOn": "CuiSharp.Ui", "summary": "cui_spacer" }, { "name": "Sparkline", "kind": "extension", "id": "extension|Sparkline|0|0|void|ReadOnlySpan\u003Cfloat\u003E values;Size width;float height;Color color||hf5e74b2ae617ca510b0dea71f3513379b77ff9597fa28585678fd9d5dc90c297", "signature": "void Sparkline(ReadOnlySpan\u003Cfloat\u003E values, Size width, float height, Color color)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "values", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "width", "type": "Size" }, { "name": "height", "type": "float" }, { "name": "color", "type": "Color" }], "summary": "cui_sparkline" }, { "name": "Spinner", "kind": "extension", "id": "extension|Spinner|0|0|void|float size = 16f||h910bfa94c12faa6f479982793408735550b3b41b6f58bf9d2ecbd8fbd8d537f9", "signature": "void Spinner(float size = 16f)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "size", "type": "float", "default": "16f" }], "summary": "cui_spinner" }, { "name": "SplitNext", "kind": "extension", "id": "extension|SplitNext|0|0|void|||h2e9b4df1853b9715ec487e793813aebc81a3f6ac93bd19f40400a8b7db5e57b1", "signature": "void SplitNext()", "extensionOn": "CuiSharp.Ui", "summary": "cui_split_next" }, { "name": "StatusBarProgress", "kind": "extension", "id": "extension|StatusBarProgress|0|0|void|float value;StatusProgressOpts o = default||h0d89461fbae2cb62b010aaa92c832f76c787764ad8bf6a7f6f3b2352d43eb62e", "signature": "void StatusBarProgress(float value, StatusProgressOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "value", "type": "float" }, { "name": "o", "type": "StatusProgressOpts", "default": "default" }], "summary": "cui_status_bar_progress_ex" }, { "name": "StatusBarSpacer", "kind": "extension", "id": "extension|StatusBarSpacer|0|0|void|||hff79ec75c75a5a4046a3afdf7908bfa1687f1fccc3cca35aa6a3c05e5696b38d", "signature": "void StatusBarSpacer()", "extensionOn": "CuiSharp.Ui", "summary": "cui_status_bar_spacer" }, { "name": "StatusBarText", "kind": "extension", "id": "extension|StatusBarText|0|0|void|UiText text;StatusItemOpts o = default||hf5288fddf236ac4166245c73e6f33c7b59cd60825aad4b4b26f2a62615179863", "signature": "void StatusBarText(UiText text, StatusItemOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "o", "type": "StatusItemOpts", "default": "default" }], "summary": "A message; \u0060tone\u0060 colors its icon." }, { "name": "Stepper", "kind": "extension", "id": "extension|Stepper|0|0|void|ReadOnlySpan\u003Cstring\u003E steps;int current||h80f2e80af6bf18ef466ffe2f62937141940d661367c04989db4a52915786a5ca", "signature": "void Stepper(ReadOnlySpan\u003Cstring\u003E steps, int current)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "steps", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "current", "type": "int" }], "summary": "cui_stepper" }, { "name": "Table", "kind": "extension", "id": "extension|Table|0|0|void|UiText id;ReadOnlySpan\u003CTableColumn\u003E columns;ref TableSort sort;DrawFn body;TableOpts o = default||h7968ef7a646f0817ff9658c4cbca9383316e49dd9c742c9662b2ff3812b0fd0a", "signature": "void Table(UiText id, ReadOnlySpan\u003CTableColumn\u003E columns, ref TableSort sort, DrawFn body, TableOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "columns", "type": "ReadOnlySpan\u003CTableColumn\u003E" }, { "name": "sort", "type": "ref TableSort" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "TableOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "TableCell", "kind": "extension", "id": "extension|TableCell|0|0|void|||h7206d360daa4de79037d61b719094d0baea2de5a24e5aeb9f04149502f3db3bc", "signature": "void TableCell()", "extensionOn": "CuiSharp.Ui", "summary": "Next cell; put any components inside, or use cui_table_cell_text." }, { "name": "TableCellText", "kind": "extension", "id": "extension|TableCellText|0|0|void|UiText text||h7ed6f22b1e22b71ecfb331830e30c25829c7af8fec09d3b888c861bbb28793a6", "signature": "void TableCellText(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "Part of cui_table_cell \u2014 Next cell; put any components inside, or use cui_table_cell_text." }, { "name": "Text", "kind": "extension", "id": "extension|Text|0|0|void|UiText text;TextOpts o = default||h098380135ff70fa9e6364b4f5cb5baaa3d0d23bb4e06916511f00c01e904dcb6", "signature": "void Text(UiText text, TextOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "o", "type": "TextOpts", "default": "default" }], "summary": "cui_text_ex" }, { "name": "TextReveal", "kind": "extension", "id": "extension|TextReveal|0|0|void|UiText id;UiText text;TextFxOpts o = default||h7f99ba4d6b24021ea0f87d36914931f6994d1962327a22f1e8b4caad0115cafe", "signature": "void TextReveal(UiText id, UiText text, TextFxOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "text", "type": "UiText" }, { "name": "o", "type": "TextFxOpts", "default": "default" }], "summary": "Words fade and rise into place one after another, when first shown and again whenever the text changes." }, { "name": "Ticker", "kind": "extension", "id": "extension|Ticker|0|0|void|UiText id;ReadOnlySpan\u003CTickerItem\u003E items;TickerOpts o = default||h62c76d0d359572be4036b278345efbeac770ba89bef0d4343912d1b51ea0fc23", "signature": "void Ticker(UiText id, ReadOnlySpan\u003CTickerItem\u003E items, TickerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CTickerItem\u003E" }, { "name": "o", "type": "TickerOpts", "default": "default" }], "summary": "cui_ticker_ex" }, { "name": "TimelineItem", "kind": "extension", "id": "extension|TimelineItem|0|0|void|UiText title;TimelineOpts o = default||hd57ae894fcdcf6a57e4008b86ca1e4a0ea3d920a1be7b0beead7f0c64dce9b25", "signature": "void TimelineItem(UiText title, TimelineOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "o", "type": "TimelineOpts", "default": "default" }], "summary": "cui_timeline_item_ex" }, { "name": "ToastDismiss", "kind": "extension", "id": "extension|ToastDismiss|0|0|void|int handle||h6a894b14bc221b765154e4ee9cf6cdd1812f544772192205c25a197be8077904", "signature": "void ToastDismiss(int handle)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "handle", "type": "int" }], "summary": "cui_toast_dismiss" }, { "name": "TocAnchor", "kind": "extension", "id": "extension|TocAnchor|0|0|void|UiText anchor||h474d1046a90fd952ce1996c9a0f04e59d8090e886222bfa8a62b08c2d191127c", "signature": "void TocAnchor(UiText anchor)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "anchor", "type": "UiText" }], "summary": "cui_toc_anchor" }, { "name": "ToggleTheme", "kind": "method", "id": "method|ToggleTheme|0|0|void|||h9c315cf4c8d3ce0774082f4db1c10fdcde1dfdef8503f7e49968fc73805e19e8", "signature": "void ToggleTheme()", "summary": "Switches to the other theme: what a \u0022dark mode\u0022 command is." }, { "name": "ToolCall", "kind": "extension", "id": "extension|ToolCall|0|0|void|UiText id;UiText name;ToolCallOpts o = default||h16a78d12e8afd01cd74d0ff79d04eab871b3602eb401436850ec64b67c8d437d", "signature": "void ToolCall(UiText id, UiText name, ToolCallOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "name", "type": "UiText" }, { "name": "o", "type": "ToolCallOpts", "default": "default" }], "summary": "cui_tool_call_ex" }, { "name": "ToolbarSeparator", "kind": "extension", "id": "extension|ToolbarSeparator|0|0|void|||h1ac04b800f486b06135932d0c44c42e77b107a635f62f0ebe94dc31f9e99b9a6", "signature": "void ToolbarSeparator()", "extensionOn": "CuiSharp.Ui", "summary": "cui_toolbar_separator" }, { "name": "ToolbarSpacer", "kind": "extension", "id": "extension|ToolbarSpacer|0|0|void|||h494edd9bb119d78eaa1c281a125dd1a9effb7a85caa35e4b35c4253376bb92f3", "signature": "void ToolbarSpacer()", "extensionOn": "CuiSharp.Ui", "summary": "cui_toolbar_spacer" }, { "name": "Tooltip", "kind": "extension", "id": "extension|Tooltip|0|0|void|UiText text||h5665aef7d99446eea8e623f0f1227e52e0512f331e35936232eb9a28aa7f3634", "signature": "void Tooltip(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "Tooltip for the previous component, shown after a short hover delay." }, { "name": "Tree", "kind": "extension", "id": "extension|Tree|0|0|void|UiText label;ref bool open;DrawFn body;TreeOpts o = default||he13b4bfd412c90e5210ac7a3109d12fb25e4a2280312b5257572daebbb5bbd95", "signature": "void Tree(UiText label, ref bool open, DrawFn body, TreeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "TreeOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "TreeTableName", "kind": "extension", "id": "extension|TreeTableName|0|0|void|UiText label;UiText icon||h1db08630dbcd5478e4543d6fc7df51dec714a4cefea2efb55e95ec44273c7151", "signature": "void TreeTableName(UiText label, UiText icon)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "icon", "type": "UiText" }], "summary": "The first cell: indentation, guides, the chevron, an icon and the name (cut short with a tooltip of the whole name when it does not fit)." }, { "name": "TypingIndicator", "kind": "extension", "id": "extension|TypingIndicator|0|0|void|UiText name||h29e1190d004ef9cf04c8fb3bb6772b74ea89a31b5105bb6fe5d65e29383b006a", "signature": "void TypingIndicator(UiText name)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "name", "type": "UiText" }], "summary": "cui_typing_indicator" }, { "name": "UserMenu", "kind": "extension", "id": "extension|UserMenu|0|0|void|UiText name;DrawFn body;UserMenuOpts o = default||h1d302e00c446dbae93ac0347cf4063547177c7d4c68194db26c7ca15c8128f8c", "signature": "void UserMenu(UiText name, DrawFn body, UserMenuOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "name", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "UserMenuOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "WordRotate", "kind": "extension", "id": "extension|WordRotate|0|0|void|UiText id;ReadOnlySpan\u003Cstring\u003E words;float interval;TextFxOpts o = default||he53938c5acb8d2d7786cb08323a565882c4e7c01bc50637a3c5c0d9131734da4", "signature": "void WordRotate(UiText id, ReadOnlySpan\u003Cstring\u003E words, float interval, TextFxOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "words", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "interval", "type": "float" }, { "name": "o", "type": "TextFxOpts", "default": "default" }], "summary": "One word at a time; the next one rolls up into place and the width follows." }] }, + { "name": "CuiSharp.TreemapOpts", "displayName": "TreemapOpts", "kind": "struct", "summary": "cui_treemap_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, + { "name": "CuiSharp.Ui", "displayName": "Ui", "kind": "ref struct", "summary": "A stack-only drawing context. Do not retain it outside the current frame.", "members": [{ "name": "Accent", "kind": "property", "id": "property|Accent|0|0|Accent||get;set;|h601d9cfd9625a035242c1bcbf7277be4924bde18cceaaaa599fef54890ea0c9b", "signature": "Accent Accent { get; set; }", "summary": "The accent in use, and the way to change it. See Theme." }, { "name": "ApiExplorer", "kind": "extension", "id": "extension|ApiExplorer|0|0|ApiExplorerResult|UiText id;ReadOnlySpan\u003CApiEndpoint\u003E endpoints;ref int selected;ApiExplorerOpts o = default||h8e1274e09ed373172bec2fe1ee1969a7f9b2e594fbeed0ea8abed98302f3ed84", "signature": "ApiExplorerResult ApiExplorer(UiText id, ReadOnlySpan\u003CApiEndpoint\u003E endpoints, ref int selected, ApiExplorerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "endpoints", "type": "ReadOnlySpan\u003CApiEndpoint\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "ApiExplorerOpts", "default": "default" }], "summary": "cui_api_explorer_ex" }, { "name": "Blame", "kind": "extension", "id": "extension|Blame|0|0|BlameResult|UiText id;ReadOnlySpan\u003Cstring\u003E lines;ReadOnlySpan\u003Cint\u003E lineCommit;ReadOnlySpan\u003CBlameCommit\u003E commits;BlameOpts o = default||hdf716d42271c45696039bb07abacc01b9b0b2a935ee05dc1842213c276edf5eb", "signature": "BlameResult Blame(UiText id, ReadOnlySpan\u003Cstring\u003E lines, ReadOnlySpan\u003Cint\u003E lineCommit, ReadOnlySpan\u003CBlameCommit\u003E commits, BlameOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "lines", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "lineCommit", "type": "ReadOnlySpan\u003Cint\u003E" }, { "name": "commits", "type": "ReadOnlySpan\u003CBlameCommit\u003E" }, { "name": "o", "type": "BlameOpts", "default": "default" }], "summary": "Source with who last changed each line: lines from one commit share one gutter entry with its author, age and hash, and a bar at the edge shades newer changes stronger. Hover a gutter entry for the commit\u0027s summary and to mark its lines; click it to get the commit. Only the lines in view are built. On a phone the gutter keeps only the shade and initials." }, { "name": "Canvas", "kind": "method", "id": "method|Canvas|0|0|CanvasResult|UiText id;Size width;Size height;PaintFn paint||hf2c318f0b609f7226e807d7cf7e4edada63dc45f85bb57025ad7567a006824a0", "signature": "CanvasResult Canvas(UiText id, Size width, Size height, PaintFn paint)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "width", "type": "Size" }, { "name": "height", "type": "Size" }, { "name": "paint", "type": "PaintFn" }], "summary": "Reserves a box of the given size and lets you paint it." }, { "name": "Clip", "kind": "method", "id": "method|Clip|0|0|ClipScope|RectF r||h81bb7c5dd19720d5aa2ee17f5cb20e0238b08db45d6d0cb5700d16ce531ec5f2", "signature": "ClipScope Clip(RectF r)", "parameters": [{ "name": "r", "type": "RectF" }], "summary": "Clips subsequent drawing to a rectangle, closing the clip on dispose." }, { "name": "CodeEditor", "kind": "extension", "id": "extension|CodeEditor|0|0|CodeEditorResult|UiText id;ref string buf;int cap;CodeEditorOpts o = default||h3f99c4340c4ea2a0ae4ecc840716120045f85d30ea53f0aebe7ab1be2c09aa9a", "signature": "CodeEditorResult CodeEditor(UiText id, ref string buf, int cap, CodeEditorOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "buf", "type": "ref string" }, { "name": "cap", "type": "int" }, { "name": "o", "type": "CodeEditorOpts", "default": "default" }], "summary": "cui_code_editor_ex" }, { "name": "ColorOf", "kind": "method", "id": "method|ColorOf|0|0|Color|Color color||h980f9c13c6409b9b666e72b6641e22a816c4a7d68a80eb109a44bc201bceceb0", "signature": "Color ColorOf(Color color)", "parameters": [{ "name": "color", "type": "Color" }], "summary": "Resolves a semantic token to its channels; other colors come back unchanged." }, { "name": "TokenColor", "kind": "method", "id": "method|TokenColor|0|0|Color|Token token||h0916cfc8affaa4db1788c2edd8ac85f518f146b3b691ef4d7181b7ad8ccac2fe", "signature": "Color TokenColor(Token token)", "parameters": [{ "name": "token", "type": "Token" }], "summary": "The channels a theme token resolves to this frame." }, { "name": "Comment", "kind": "extension", "id": "extension|Comment|0|0|CommentEvents|UiText id;UiText author;UiText text;ref int likes;ref bool liked;CommentOpts o = default||hd58eadbf1b4e2807aa889ed3f4c70606227f61711c62110ec27aebc46c70512c", "signature": "CommentEvents Comment(UiText id, UiText author, UiText text, ref int likes, ref bool liked, CommentOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "author", "type": "UiText" }, { "name": "text", "type": "UiText" }, { "name": "likes", "type": "ref int" }, { "name": "liked", "type": "ref bool" }, { "name": "o", "type": "CommentOpts", "default": "default" }], "summary": "cui_comment_ex" }, { "name": "CommitGraph", "kind": "extension", "id": "extension|CommitGraph|0|0|CommitGraphResult|UiText id;ReadOnlySpan\u003CCommit\u003E commits;ref int selected;CommitGraphOpts o = default||h8d094156c694b6c409f8abe92f01e016c9b138a44ea76b0770f70f4fd34781c7", "signature": "CommitGraphResult CommitGraph(UiText id, ReadOnlySpan\u003CCommit\u003E commits, ref int selected, CommitGraphOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "commits", "type": "ReadOnlySpan\u003CCommit\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "CommitGraphOpts", "default": "default" }], "summary": "Version history: the branch lanes drawn beside each commit, newest first, with its message, branch and tag names, author, date and short hash. Each commit names its parents by row (parents come later in the array), so merges and branches draw as lines between lanes. Only the rows in view are built. Up and Down move the selection; Enter or a double-click activates." }, { "name": "ChatComposer", "kind": "extension", "id": "extension|ChatComposer|0|0|ComposerEvents|UiText id;ref string buf;int cap;ref int removed;ref int model;ComposerOpts o = default||ha61bd40b4efb8355a255edc7d36d348178993536309ab1ee4c6c9a381fd22431", "signature": "ComposerEvents ChatComposer(UiText id, ref string buf, int cap, ref int removed, ref int model, ComposerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "buf", "type": "ref string" }, { "name": "cap", "type": "int" }, { "name": "removed", "type": "ref int" }, { "name": "model", "type": "ref int" }, { "name": "o", "type": "ComposerOpts", "default": "default" }], "summary": "cui_chat_composer_ex" }, { "name": "Coverage", "kind": "extension", "id": "extension|Coverage|0|0|CoverageResult|UiText id;ReadOnlySpan\u003CCoverageFile\u003E files;CoverageOpts o = default||h71a24310abd0377c27ded9130e91e48dc3e91a798d1a79f3563a30b446fe6a95", "signature": "CoverageResult Coverage(UiText id, ReadOnlySpan\u003CCoverageFile\u003E files, CoverageOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "files", "type": "ReadOnlySpan\u003CCoverageFile\u003E" }, { "name": "o", "type": "CoverageOpts", "default": "default" }], "summary": "Test coverage by folder and file: the files\u0027 paths make the tree, each folder sums up what it holds, and folders fold. Line coverage shows as a bar colored by thresholds, with branches and functions beside it. Click a column\u0027s title to sort. Enter or a double-click activates a file. Narrow panels show lines only." }, { "name": "Cursor", "kind": "property", "id": "property|Cursor|0|0|Cursor||get;|hc22a16db67c85c2843d2f88cc8ab464d28c155381bf1d1998e9fc4743eb42043", "signature": "Cursor Cursor { get; }", "summary": "The cursor the UI asked for last frame, for a backend that draws its own." }, { "name": "CurveEditor", "kind": "extension", "id": "extension|CurveEditor|0|0|CurveResult|UiText id;Span\u003CCurveKey\u003E keys;ref int count;ref int selected;CurveOpts o = default||h39773d299469a65f6696e9dc3fbe9375a8f18a602c2b96d77d1eee0c01377f62", "signature": "CurveResult CurveEditor(UiText id, Span\u003CCurveKey\u003E keys, ref int count, ref int selected, CurveOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "keys", "type": "Span\u003CCurveKey\u003E" }, { "name": "count", "type": "ref int" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "CurveOpts", "default": "default" }], "summary": "cui_curve_editor_ex" }, { "name": "DiffView", "kind": "extension", "id": "extension|DiffView|0|0|DiffResult|UiText id;UiText oldText;UiText newText;ref int current;DiffOpts o = default||h1928b65f5fa6dc715c0e20351e64a90a55ca9b8fd792c4a9a6e3df7545ba072a", "signature": "DiffResult DiffView(UiText id, UiText oldText, UiText newText, ref int current, DiffOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "oldText", "type": "UiText" }, { "name": "newText", "type": "UiText" }, { "name": "current", "type": "ref int" }, { "name": "o", "type": "DiffOpts", "default": "default" }], "summary": "cui_diff_view_ex" }, { "name": "Disabled", "kind": "method", "id": "method|Disabled|0|0|DisabledScope|bool disabled||h3a515a3de1d8d0205d97aef4118bf5ab6c5af12e051d859d3b8cabae81fb9db1", "signature": "DisabledScope Disabled(bool disabled)", "parameters": [{ "name": "disabled", "type": "bool" }], "summary": "Opens a disabled gate that using closes." }, { "name": "Disabled", "kind": "method", "id": "method|Disabled|0|0|DisabledScope|bool disabled;DrawFn body||hcc29e71513d0c4970a98faee97bed37a754ecae1da31ed37b95a7e3588c336d9", "signature": "DisabledScope Disabled(bool disabled, DrawFn body)", "parameters": [{ "name": "disabled", "type": "bool" }, { "name": "body", "type": "DrawFn" }], "summary": "Draws body with every control inside it disabled: it still lays out and paints, but clicks, keys and hover do nothing." }, { "name": "DocTabs", "kind": "extension", "id": "extension|DocTabs|0|0|DocTabsResult|UiText id;ReadOnlySpan\u003CDocTab\u003E tabs;ref int selected;DocTabsOpts o = default||hdb202a4c9e42fa362479fb5e674bee39fa9949e204316f94f4197f0a54fe4c83", "signature": "DocTabsResult DocTabs(UiText id, ReadOnlySpan\u003CDocTab\u003E tabs, ref int selected, DocTabsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "tabs", "type": "ReadOnlySpan\u003CDocTab\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "DocTabsOpts", "default": "default" }], "summary": "Document tabs: editor style tabs. Clicking selects (*selected is updated), the x or a middle click asks to close, dragging reorders, and the strip scrolls sideways when the tabs do not fit. A dirty tab shows a dot that turns into the close button under the pointer. The selected tab is filled with the surface color so it joins the content below; the strip itself has no fill, like the other bars. Tabs keep their state by title, so give two tabs with the same name a key: \u0022main.c##src\u0022. The component never removes or moves your tabs itself: it reports a close or a move in the result and you apply it (selection already follows a move). With keyboard focus on the strip, Left and Right select, Home and End jump, Shift\u002BLeft/Right move the tab and Delete closes it. With \u0060shortcuts\u0060 set it also answers Ctrl\u002BTab, Ctrl\u002BShift\u002BTab, Ctrl\u002BPageUp/Down and Ctrl\u002BW (Cmd\u002BW on macOS) from anywhere in the window." }, { "name": "DotChart", "kind": "method", "id": "method|DotChart|0|0|DotChartResult|UiText id;ReadOnlySpan\u003CDotSeries\u003E series;int count;DotChartOpts o = default||h83e83d00645373641fe3f26a3fedf035305cc683a48a4802e1ebb7d5c572f881", "signature": "DotChartResult DotChart(UiText id, ReadOnlySpan\u003CDotSeries\u003E series, int count, DotChartOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "series", "type": "ReadOnlySpan\u003CDotSeries\u003E" }, { "name": "count", "type": "int" }, { "name": "o", "type": "DotChartOpts", "default": "default" }], "summary": "A dot-matrix chart: values as a grid of dots, lit up to each column\u0027s value. Several series stack in their own bands, and the pointer or the arrow keys show a readout of the value under it. Returns where a click landed, so an app can add something there." }, { "name": "EventTrack", "kind": "extension", "id": "extension|EventTrack|0|0|EventTrackResult|UiText id;Span\u003Cdouble\u003E times;ref int count;double min;double max;ref int selected;EventTrackOpts o = default||h552c584d56c0bad07e42547a610e3888e7ecda2c1a64bab104fa79448d19086c", "signature": "EventTrackResult EventTrack(UiText id, Span\u003Cdouble\u003E times, ref int count, double min, double max, ref int selected, EventTrackOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "times", "type": "Span\u003Cdouble\u003E" }, { "name": "count", "type": "ref int" }, { "name": "min", "type": "double" }, { "name": "max", "type": "double" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "EventTrackOpts", "default": "default" }], "summary": "Event track: moments on a time axis, as dots you drag along it. A click on an empty spot adds an event there and a double-click on one removes it. You own the array: the track keeps it sorted, edits it in place and never grows it past \u0060capacity\u0060." }, { "name": "FeatureFlags", "kind": "extension", "id": "extension|FeatureFlags|0|0|FeatureFlagsResult|UiText id;Span\u003CFeatureFlag\u003E flags;ReadOnlySpan\u003Cstring\u003E envs;FeatureFlagsOpts o = default||h1c2c043a1a911bf524b328f35cfa7f2ee4862adfb16f1b0cbd98cf1077245b34", "signature": "FeatureFlagsResult FeatureFlags(UiText id, Span\u003CFeatureFlag\u003E flags, ReadOnlySpan\u003Cstring\u003E envs, FeatureFlagsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "flags", "type": "Span\u003CFeatureFlag\u003E" }, { "name": "envs", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "o", "type": "FeatureFlagsOpts", "default": "default" }], "summary": "cui_feature_flags_ex" }, { "name": "FileBrowser", "kind": "extension", "id": "extension|FileBrowser|0|0|FileBrowserResult|UiText id;ref string path;int pathCap = 1024;FileBrowserOpts o = default||hdcc3319728f0b23560a33e9d8c875e4b5389d816f8e66b4e3630e917284e3bf8", "signature": "FileBrowserResult FileBrowser(UiText id, ref string path, int pathCap = 1024, FileBrowserOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "path", "type": "ref string" }, { "name": "pathCap", "type": "int", "default": "1024" }, { "name": "o", "type": "FileBrowserOpts", "default": "default" }], "summary": "path: the folder shown, yours; the browser writes it as you move around." }, { "name": "FlameGraph", "kind": "extension", "id": "extension|FlameGraph|0|0|FlameResult|UiText id;ReadOnlySpan\u003CFlameSpan\u003E spans;ref FlameView view;ref int selected;FlameOpts o = default||h825a9e17f3b7381f2b9b6b4244a8edbabda629701c297e3c877a4e13fc43e98c", "signature": "FlameResult FlameGraph(UiText id, ReadOnlySpan\u003CFlameSpan\u003E spans, ref FlameView view, ref int selected, FlameOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "spans", "type": "ReadOnlySpan\u003CFlameSpan\u003E" }, { "name": "view", "type": "ref FlameView" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "FlameOpts", "default": "default" }], "summary": "selected: index into spans, -1 for none (may be NULL)." }, { "name": "LoadFont", "kind": "extension", "id": "extension|LoadFont|0|0|Font|ReadOnlySpan\u003Cbyte\u003E data;bool copy = true||h73d65ad67f9acdd48823d96c747c086a24a1625658056e8af856a3bd4d554241", "signature": "Font LoadFont(ReadOnlySpan\u003Cbyte\u003E data, bool copy = true)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "data", "type": "ReadOnlySpan\u003Cbyte\u003E" }, { "name": "copy", "type": "bool", "default": "true" }], "summary": "Loads a font from memory and returns a handle for SetFont." }, { "name": "LoadFont", "kind": "extension", "id": "extension|LoadFont|0|0|Font|UiText path||h5faed851de772ad862622c3312f2aeae3c81ef7915ae305e81bb638cf9b3b107", "signature": "Font LoadFont(UiText path)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "path", "type": "UiText" }], "summary": "Loads a font file (TTF/OTF) and returns a handle for SetFont." }, { "name": "UseSystemFontFallback", "kind": "extension", "id": "extension|UseSystemFontFallback|0|0|Font|string sample||h718698d4ba3dba692a0bf04e8e6729a2aae4ac8563689108bb00fdf124984df6", "signature": "Font UseSystemFontFallback(string sample)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "sample", "type": "string" }], "summary": "Finds a face on this machine that can draw sample and registers it as a fallback for the app\u0027s roles, so a UI in a script the bundled faces do not cover renders instead of going blank." }, { "name": "GradientEditor", "kind": "extension", "id": "extension|GradientEditor|0|0|GradientResult|UiText id;Span\u003CGradientStop\u003E stops;ref int count;ref int selected;GradientOpts o = default||h840bbab777b2202298d9b5a0d6519bc52d291ff2a13de0a26b88f92a8379b841", "signature": "GradientResult GradientEditor(UiText id, Span\u003CGradientStop\u003E stops, ref int count, ref int selected, GradientOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "stops", "type": "Span\u003CGradientStop\u003E" }, { "name": "count", "type": "ref int" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "GradientOpts", "default": "default" }], "summary": "cui_gradient_editor_ex" }, { "name": "GraphView", "kind": "extension", "id": "extension|GraphView|0|0|GraphResult|UiText id;ReadOnlySpan\u003CGraphNode\u003E nodes;ReadOnlySpan\u003CGraphEdge\u003E edges;ref int selected;GraphOpts o = default||hbce489b5fa6d64979be674221b7ae61e945b26d0224773080270c2c7dfd8b3bc", "signature": "GraphResult GraphView(UiText id, ReadOnlySpan\u003CGraphNode\u003E nodes, ReadOnlySpan\u003CGraphEdge\u003E edges, ref int selected, GraphOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "nodes", "type": "ReadOnlySpan\u003CGraphNode\u003E" }, { "name": "edges", "type": "ReadOnlySpan\u003CGraphEdge\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "GraphOpts", "default": "default" }], "summary": "Nodes and directed edges laid out in layers (each edge points to a later layer, cycles are broken), for build targets, packages, services or call graphs. The layout is computed when the graph changes. Wheel zooms, drag pans, click selects; hovering a node lights up what it depends on and what depends on it. F fits the graph." }, { "name": "DataGrid", "kind": "extension", "id": "extension|DataGrid|0|0|GridScope|UiText id;ReadOnlySpan\u003CGridColumn\u003E columns;int rowCount;GridState state;GridOpts o = default||hae20817285aa5f5ee430918dd512e707df8a0306e32777f0e13839f607262829", "signature": "GridScope DataGrid(UiText id, ReadOnlySpan\u003CGridColumn\u003E columns, int rowCount, GridState state, GridOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "columns", "type": "ReadOnlySpan\u003CGridColumn\u003E" }, { "name": "rowCount", "type": "int" }, { "name": "state", "type": "GridState" }, { "name": "o", "type": "GridOpts", "default": "default" }], "summary": "Opens a virtualized grid; draw rows in [state.First, state.Last)." }, { "name": "HexView", "kind": "extension", "id": "extension|HexView|0|0|HexResult|UiText id;Span\u003Cbyte\u003E bytes;ref HexSelection selection;HexViewOpts o = default||hb82ecf6f9d8a58d5c2bce7702bd188c8bb502de7a2d696f1a0af827be5fa22d9", "signature": "HexResult HexView(UiText id, Span\u003Cbyte\u003E bytes, ref HexSelection selection, HexViewOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "bytes", "type": "Span\u003Cbyte\u003E" }, { "name": "selection", "type": "ref HexSelection" }, { "name": "o", "type": "HexViewOpts", "default": "default" }], "summary": "Draws bytes and lets the user overwrite them in place." }, { "name": "Id", "kind": "method", "id": "method|Id|0|0|IdScope|UiText id||hf913a0d346bf51d9f7a0e55299041c30e8aa0eeb2f93eadbe20cad0c4ae3879b", "signature": "IdScope Id(UiText id)", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "Pushes a string id for the widgets drawn inside the scope." }, { "name": "Id", "kind": "method", "id": "method|Id|0|0|IdScope|int key||h3b4b6991acded6793bc66a091956c19c02661da15fabdf72db107273b8ed3d1b", "signature": "IdScope Id(int key)", "parameters": [{ "name": "key", "type": "int" }], "summary": "Pushes an integer id, typically a row or item index." }, { "name": "Input", "kind": "method", "id": "method|Input|0|0|InputResult|UiText id;ref string value;InputOpts o = default||he495e19d9d5cb23d03e35f0f55ea0ebafd853d7386ae9e4989697b39cec38980", "signature": "InputResult Input(UiText id, ref string value, InputOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref string" }, { "name": "o", "type": "InputOpts", "default": "default" }], "summary": "A single-line text field. Assign the string; CUI edits it in place and the new value comes back through value on the frames it changed." }, { "name": "Search", "kind": "method", "id": "method|Search|0|0|InputResult|UiText id;ref string value;InputOpts o = default||h11bb746b263541b15457e9933eac6e37a6cdfac44547449d0d7375a7431b87da", "signature": "InputResult Search(UiText id, ref string value, InputOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref string" }, { "name": "o", "type": "InputOpts", "default": "default" }], "summary": "A search field. See Input." }, { "name": "TextArea", "kind": "method", "id": "method|TextArea|0|0|InputResult|UiText id;ref string value;InputOpts o = default||ha0535c062baff5583884fcf6394397476e4b2a40ee79b643e731e601e2daad5c", "signature": "InputResult TextArea(UiText id, ref string value, InputOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref string" }, { "name": "o", "type": "InputOpts", "default": "default" }], "summary": "A multi-line text field. See Input." }, { "name": "Keyed", "kind": "method", "id": "method|Keyed|0|1|KeyedScope\u003CT\u003E|T[] items;KeyFn\u003CT\u003E key||h3645b3dae05812e37fd01340a5693892b688bf1436826030f83bf34e5dca43f8", "signature": "KeyedScope\u003CT\u003E Keyed\u003CT\u003E(T[] items, KeyFn\u003CT\u003E key)", "parameters": [{ "name": "items", "type": "T[]" }, { "name": "key", "type": "KeyFn\u003CT\u003E" }], "summary": "Enumerates items, each inside its own id scope derived from key." }, { "name": "Keymap", "kind": "extension", "id": "extension|Keymap|0|0|KeymapResult|UiText id;ReadOnlySpan\u003CKeymapBinding\u003E bindings;ref Mods mods;KeymapOpts o = default||h986c8ea2572b42d56814a32427ed89b00db2a4a2ff3ba6c7a4711a66da3c0bae", "signature": "KeymapResult Keymap(UiText id, ReadOnlySpan\u003CKeymapBinding\u003E bindings, ref Mods mods, KeymapOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "bindings", "type": "ReadOnlySpan\u003CKeymapBinding\u003E" }, { "name": "mods", "type": "ref Mods" }, { "name": "o", "type": "KeymapOpts", "default": "default" }], "summary": "A keyboard with your shortcuts on it: each bound key shows its action and the color of its category, for the modifiers chosen above it. Keys bound twice are marked as conflicts. Hover a key for every binding on it; click it to get the key (to rebind it). The keyboard keeps its own layout in a right-to-left interface and scales to the width it gets." }, { "name": "Box", "kind": "extension", "id": "extension|Box|0|0|LayoutScope|Box o = default||haec5c052acbeeaca94cb5a10a37f80e98abc85d069b6fa9aec58cf20715c0a06", "signature": "LayoutScope Box(Box o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "o", "type": "Box", "default": "default" }], "summary": "cui_box_begin" }, { "name": "ButtonGroup", "kind": "extension", "id": "extension|ButtonGroup|0|0|LayoutScope|||h8a2a0872d3ba1595bf0e1d9ad5860dfa36735b0ac74178a57cc8157b6493d6d4", "signature": "LayoutScope ButtonGroup()", "extensionOn": "CuiSharp.Ui", "summary": "Connected buttons. Put buttons between begin and end." }, { "name": "Card", "kind": "extension", "id": "extension|Card|0|0|LayoutScope|Card o = default||hb8d0387f360f71c39f098c9de712bb4aa0eb22a25fffee4615049459c0cc224e", "signature": "LayoutScope Card(Card o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "o", "type": "Card", "default": "default" }], "summary": "returns true when clicked (hoverable)" }, { "name": "Card", "kind": "extension", "id": "extension|Card|0|0|LayoutScope|Card o;out bool clicked||he64474f809036667bb19ed0028db705f58a61d124f67b6520b26f73775ae32e5", "signature": "LayoutScope Card(Card o, out bool clicked)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "o", "type": "Card" }, { "name": "clicked", "type": "out bool" }], "summary": "Always opens the container; clicked reports its interaction result." }, { "name": "CardStackItem", "kind": "extension", "id": "extension|CardStackItem|0|0|LayoutScope|int depth||h6f29f3239b665449b7d0d9b4e5177cb4099b541e3423fcb9d1a9b14fb1f686d0", "signature": "LayoutScope CardStackItem(int depth)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "depth", "type": "int" }], "summary": "cui_card_stack_item_begin" }, { "name": "CarouselSlide", "kind": "extension", "id": "extension|CarouselSlide|0|0|LayoutScope|||h9755b016a070064271f7e45738238254443cdfcb4d22aca524774095031595ec", "signature": "LayoutScope CarouselSlide()", "extensionOn": "CuiSharp.Ui", "summary": "cui_carousel_slide_begin" }, { "name": "Column", "kind": "extension", "id": "extension|Column|0|0|LayoutScope|Box o = default||h78447c50c087189e1c45a5984115c6b2709affec511cf6ab6521254dd0406549", "signature": "LayoutScope Column(Box o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "o", "type": "Box", "default": "default" }], "summary": "cui_column_begin" }, { "name": "DialogFooter", "kind": "extension", "id": "extension|DialogFooter|0|0|LayoutScope|||hea62c5e329105c7d787894e1fbdbbd9b079d2910e82c4be61263045ff18c81f3", "signature": "LayoutScope DialogFooter()", "extensionOn": "CuiSharp.Ui", "summary": "A right-aligned row for dialog actions." }, { "name": "Dock", "kind": "extension", "id": "extension|Dock|0|0|LayoutScope|UiText id;DockOpts o = default||ha8052963c653afff4ec2b3304515265b67454d94f44ee3c01d076c1e27148816", "signature": "LayoutScope Dock(UiText id, DockOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "DockOpts", "default": "default" }], "summary": "Dock: a row of icons that grow as the pointer passes, with labels and a dot under the running ones. Each item returns true when clicked." }, { "name": "Dockspace", "kind": "extension", "id": "extension|Dockspace|0|0|LayoutScope|UiText id;DockspaceOpts o = default||hd8cabbad4df58a75fbb1e93299868d95ae7671ca676e01478b8c6067ace5a82d", "signature": "LayoutScope Dockspace(UiText id, DockspaceOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "DockspaceOpts", "default": "default" }], "summary": "Dockspace: an IDE style workspace that lays out your panels in a tree of resizable splits whose leaves hold one or more panels as document tabs. Submit every panel each frame between cui_dockspace_begin and cui_dockspace_end; the dockspace decides where it goes, and a panel\u0027s content is built only while its tab is the one showing:" }, { "name": "KanbanCard", "kind": "extension", "id": "extension|KanbanCard|0|0|LayoutScope|int cardId||h04d36b815b7f14d7d624e0b56c06560e052f6458aecd5cd68f485e0c8dc64b11", "signature": "LayoutScope KanbanCard(int cardId)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "cardId", "type": "int" }], "summary": "true when clicked" }, { "name": "KanbanCard", "kind": "extension", "id": "extension|KanbanCard|0|0|LayoutScope|int cardId;out bool clicked||h0ef9ec0801ab926804d1119b9bc9dc886afc490850829ed33cad336f7ee94f50", "signature": "LayoutScope KanbanCard(int cardId, out bool clicked)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "cardId", "type": "int" }, { "name": "clicked", "type": "out bool" }], "summary": "Always opens the container; clicked reports its interaction result." }, { "name": "KanbanColumn", "kind": "extension", "id": "extension|KanbanColumn|0|0|LayoutScope|UiText title;int cardCount;KanbanColumnOpts o = default||hd3dcefdc81fb36dfee31edd1754914e0453a4c7e0b1bb4c4b2b20b542eb8adaa", "signature": "LayoutScope KanbanColumn(UiText title, int cardCount, KanbanColumnOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "cardCount", "type": "int" }, { "name": "o", "type": "KanbanColumnOpts", "default": "default" }], "summary": "true: \u0022\u002B\u0022 clicked" }, { "name": "KanbanColumn", "kind": "extension", "id": "extension|KanbanColumn|0|0|LayoutScope|UiText title;int cardCount;KanbanColumnOpts o;out bool clicked||h7c9ca66f79f064c49eed8f4544d8fea1ed3304dc45d84e5ec067d319ed4ea113", "signature": "LayoutScope KanbanColumn(UiText title, int cardCount, KanbanColumnOpts o, out bool clicked)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "cardCount", "type": "int" }, { "name": "o", "type": "KanbanColumnOpts" }, { "name": "clicked", "type": "out bool" }], "summary": "Always opens the container; clicked reports its interaction result." }, { "name": "MenuBar", "kind": "extension", "id": "extension|MenuBar|0|0|LayoutScope|UiText id;MenuBarOpts o = default||h29b57cc387904e3c1d3083b170ceaa309e6bc4a2535b4c27f22ecd482570e152", "signature": "LayoutScope MenuBar(UiText id, MenuBarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "MenuBarOpts", "default": "default" }], "summary": "Menu bar: File / Edit / View along the top of a window. Each menu holds the usual menu items (cui_menu_item, cui_menu_separator, cui_menu_label). Once a menu is open, hovering another one switches to it. Alt (on its own) or F10 focuses the bar; arrows move between menus and items, Enter chooses, Esc steps back. Alt \u002B a menu\u0027s mnemonic letter opens it (the first letter of its label unless \u0060mnemonic\u0060 says otherwise)." }, { "name": "NodeContent", "kind": "extension", "id": "extension|NodeContent|0|0|LayoutScope|||h6a09d812c8b6d9c4a4f2fc6aedc000b977da707334c08c94ee4e6dd62573dd59", "signature": "LayoutScope NodeContent()", "extensionOn": "CuiSharp.Ui", "summary": "A row for ordinary components. They are laid out at 100% and scaled with the view, so their text is sharpest at 100% zoom and below." }, { "name": "ReorderItem", "kind": "method", "id": "method|ReorderItem|0|0|LayoutScope|int position||h407076f847f4d4f606b87a109b5a505ca525179c0bff6726382889745d33f038", "signature": "LayoutScope ReorderItem(int position)", "parameters": [{ "name": "position", "type": "int" }] }, { "name": "Row", "kind": "extension", "id": "extension|Row|0|0|LayoutScope|Box o = default||ha02204054f3ea32388e8e24fc8038f253dd0b3504b0e01b650d69265773cb67e", "signature": "LayoutScope Row(Box o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "o", "type": "Box", "default": "default" }], "summary": "cui_row_begin" }, { "name": "Scroll", "kind": "extension", "id": "extension|Scroll|0|0|LayoutScope|ScrollOpts o = default||h7aa8eed4bb32b5efc54efbe5c6c7c19215ddf1d8ffed8dfc60e0c8d5234bc6f7", "signature": "LayoutScope Scroll(ScrollOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "o", "type": "ScrollOpts", "default": "default" }], "summary": "Scroll area with smooth scrolling and overlay scrollbars." }, { "name": "Split", "kind": "extension", "id": "extension|Split|0|0|LayoutScope|UiText id;ref float ratio;SplitOpts o = default||h83e75ece850ab88dc38fde4b7d1d8ae789128ab387c95d8025b6302e8f59269f", "signature": "LayoutScope Split(UiText id, ref float ratio, SplitOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "ratio", "type": "ref float" }, { "name": "o", "type": "SplitOpts", "default": "default" }], "summary": "Resizable split view: two panes with a draggable divider. \u0060ratio\u0060 is the size of the first pane in 0..1. Call cui_split_next between the panes." }, { "name": "Spotlight", "kind": "extension", "id": "extension|Spotlight|0|0|LayoutScope|UiText id;SpotlightOpts o = default||hfb70f807d4c0a2d5450e1ff296551adc78a8733ed06c6b0cb9ed7427add12f16", "signature": "LayoutScope Spotlight(UiText id, SpotlightOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "SpotlightOpts", "default": "default" }], "summary": "Spotlight card: a soft light follows the pointer across the card and lights the nearest stretch of its border. beam sends a light around the edge." }, { "name": "StatusBar", "kind": "extension", "id": "extension|StatusBar|0|0|LayoutScope|UiText id;StatusBarOpts o = default||h394ecf13ba82c0abd4bdf1a5b7cb5fce6102392c5a87cea283bc38fd2213e96a", "signature": "LayoutScope StatusBar(UiText id, StatusBarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "StatusBarOpts", "default": "default" }], "summary": "Status bar: a thin bar along the bottom of a window, with a hairline on top and no fill of its own (put it in a box with the background you want). Items go left to right; cui_status_bar_spacer sends the rest to the right edge." }, { "name": "Toolbar", "kind": "extension", "id": "extension|Toolbar|0|0|LayoutScope|UiText id;ToolbarOpts o = default||hc5826ec43e3d8bf178cfa9f1605bd29bded229aae82424077aa18e1ae7e9cc61", "signature": "LayoutScope Toolbar(UiText id, ToolbarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "ToolbarOpts", "default": "default" }], "summary": "Toolbar: a row of compact icon buttons, toggles, separators and small text buttons. Icon only buttons show their tooltip as their name. Items that do not fit collapse, from the end, into a \u0022more\u0022 menu; an item chosen there returns true on the next frame." }, { "name": "VirtualList", "kind": "extension", "id": "extension|VirtualList|0|0|LayoutScope|UiText id;int count;float rowHeight;Size height;out int first;out int last||h90165d4490987ebd4d90276d5b449695a1f58d89f212149090827bfd08a055f2", "signature": "LayoutScope VirtualList(UiText id, int count, float rowHeight, Size height, out int first, out int last)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "count", "type": "int" }, { "name": "rowHeight", "type": "float" }, { "name": "height", "type": "Size" }, { "name": "first", "type": "out int" }, { "name": "last", "type": "out int" }], "summary": "Virtual list: only the visible rows are built, so lists with a million rows stay fast. Fills first/last with the visible range." }, { "name": "Localization", "kind": "property", "id": "property|Localization|0|0|Localization?||get;|h0a921bf7a95ff40f095f5e7f43cc6d636b74f025ae427be1edbd250e93f88e54", "signature": "Localization? Localization { get; }", "summary": "The table this surface published, or null for English." }, { "name": "Markdown", "kind": "extension", "id": "extension|Markdown|0|0|MarkdownResult|UiText id;UiText text;MarkdownOpts o = default||h61fdb7c6fb770f95ff734bbdf7b607bad9e23af8b25df034da34f408eed536fa", "signature": "MarkdownResult Markdown(UiText id, UiText text, MarkdownOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "text", "type": "UiText" }, { "name": "o", "type": "MarkdownOpts", "default": "default" }], "summary": "Markdown view: renders your markdown text (UTF-8) as native content, every frame, without keeping a copy:" }, { "name": "Modifiers", "kind": "property", "id": "property|Modifiers|0|0|Mods||get;|h994504ae5710377741956558b3dae0b4e2fc318f73c5408e701c6675295af911", "signature": "Mods Modifiers { get; }", "summary": "The modifier keys held right now." }, { "name": "MonthCalendar", "kind": "extension", "id": "extension|MonthCalendar|0|0|MonthResult|UiText id;ref Date month;ReadOnlySpan\u003CMonthEvent\u003E events;ref Date selected;MonthOpts o = default||hacb7fb0b706addd9098a1569df3adbf8cff5b20d3b0bf01f49970bd839da7523", "signature": "MonthResult MonthCalendar(UiText id, ref Date month, ReadOnlySpan\u003CMonthEvent\u003E events, ref Date selected, MonthOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "month", "type": "ref Date" }, { "name": "events", "type": "ReadOnlySpan\u003CMonthEvent\u003E" }, { "name": "selected", "type": "ref Date" }, { "name": "o", "type": "MonthOpts", "default": "default" }], "summary": "Month calendar: a month grid with events. All-day and multi-day events are bars across the days they cover; timed events are a dot, a time and a title. A day with more than fits says \u0022\u002BN more\u0022 and opens a list of them. On a narrow screen the cells show colored dots and the selected day\u0027s events are listed under the grid." }, { "name": "Accordion", "kind": "extension", "id": "extension|Accordion|0|0|OpenScope|UiText title;ref bool open||h485829d02ee323bfa485f05285d6b19d78dcf02ed0a36c9ca4b1da7e70f540e5", "signature": "OpenScope Accordion(UiText title, ref bool open)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }], "summary": "Accordion / disclosure. Content animates its height." }, { "name": "Carousel", "kind": "extension", "id": "extension|Carousel|0|0|OpenScope|UiText id;int count;ref int index;CarouselOpts o = default||hbcf0bd0059da4b82e6417513dac4646a1ad558c1f46fc3c55b233c3367ef0a4e", "signature": "OpenScope Carousel(UiText id, int count, ref int index, CarouselOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "o", "type": "CarouselOpts", "default": "default" }], "summary": "Carousel: slides that you swipe, drag, scroll or page with the arrows and dots. Build every slide between begin and end: cui_carousel(ui, \u0022tour\u0022, 4, \u0026index, .height = 220) { for (int k = 0; k \u003C 4; k\u002B\u002B) cui_carousel_slide(ui) { ... } }" }, { "name": "ContextMenu", "kind": "extension", "id": "extension|ContextMenu|0|0|OpenScope|UiText id||hb5be2e863b82aa032d3281886a07b75e6a10932b22c9c06daa36e6ec8460b9c3", "signature": "OpenScope ContextMenu(UiText id)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "Context menu: opens on right click over the previous component." }, { "name": "Dialog", "kind": "extension", "id": "extension|Dialog|0|0|OpenScope|UiText title;ref bool open;DialogOpts o = default||h08e9cf3a4bf5178fc47947da0ad76b53486c74b4ebd9c7e92e078d4cb3653668", "signature": "OpenScope Dialog(UiText title, ref bool open, DialogOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "o", "type": "DialogOpts", "default": "default" }], "summary": "Modal dialog. Shown while *open is true; closing sets it to false." }, { "name": "DockPanel", "kind": "extension", "id": "extension|DockPanel|0|0|OpenScope|UiText title;ref bool open;DockPanelOpts o = default||h983b85f4b88defb64e03c80c7fd67832cccc8b15fa3b11e9e9c8954cdd239b75", "signature": "OpenScope DockPanel(UiText title, ref bool open, DockPanelOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "o", "type": "DockPanelOpts", "default": "default" }], "summary": "Returns true while the panel\u0027s content should be built; then call cui_dock_panel_end." }, { "name": "ExpandableCard", "kind": "extension", "id": "extension|ExpandableCard|0|0|OpenScope|UiText title;ref bool open;ExpandableCardOpts o = default||h19637d079a2ee9821dfa4b6223ecf9694471f6157ed61e0139e207c045d56878", "signature": "OpenScope ExpandableCard(UiText title, ref bool open, ExpandableCardOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "o", "type": "ExpandableCardOpts", "default": "default" }], "summary": "Expandable card: a card whose header opens a body with a height spring." }, { "name": "HoverCard", "kind": "extension", "id": "extension|HoverCard|0|0|OpenScope|UiText id;HoverCardOpts o = default||hd31fbafd01c517229f3a54d9fbeed478689533294a82e16da99cb56ed4b82d37", "signature": "OpenScope HoverCard(UiText id, HoverCardOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "HoverCardOpts", "default": "default" }], "summary": "Hover card: rich content that appears when the pointer rests on the previous component, and stays while the pointer is over either." }, { "name": "Inspector", "kind": "extension", "id": "extension|Inspector|0|0|OpenScope|UiText id;InspectorOpts o = default||hdb3db7ec75e95846d7b987536583618b0b9445c2deb40a5f16828b5d2d735020", "signature": "OpenScope Inspector(UiText id, InspectorOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "InspectorOpts", "default": "default" }], "summary": "Property inspector: labelled rows in folding groups, a label column on the left (drag the line between the columns to resize it) and an editor on the right. Every row returns true when its value changed. Groups end at the next group or at cui_inspector_end." }, { "name": "Menu", "kind": "extension", "id": "extension|Menu|0|0|OpenScope|UiText label;MenuOpts o = default||hec1b2b131f19c8f1eb37269016b963aed4449341b367ca89e175c1940294ab63", "signature": "OpenScope Menu(UiText label, MenuOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "MenuOpts", "default": "default" }], "summary": "Dropdown menu: a button that opens a menu. Items return true when chosen." }, { "name": "MenuBarMenu", "kind": "extension", "id": "extension|MenuBarMenu|0|0|OpenScope|UiText label;MenuBarMenuOpts o = default||h32c463fd3c1d7fa382d82e43f75326d1e14efad5ce907db7337df9ba3480688b", "signature": "OpenScope MenuBarMenu(UiText label, MenuBarMenuOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "MenuBarMenuOpts", "default": "default" }], "summary": "One menu of the bar. Returns true while its items should be built; call cui_menu_bar_menu_end only then." }, { "name": "Node", "kind": "extension", "id": "extension|Node|0|0|OpenScope|int nodeId;ref float x;ref float y;UiText title;NodeOpts o = default||hb7439d9c37ecca24fb0858272f81826919b789149f2a34acd1e1c44ff3266f62", "signature": "OpenScope Node(int nodeId, ref float x, ref float y, UiText title, NodeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "nodeId", "type": "int" }, { "name": "x", "type": "ref float" }, { "name": "y", "type": "ref float" }, { "name": "title", "type": "UiText" }, { "name": "o", "type": "NodeOpts", "default": "default" }], "summary": "A node at canvas position (*x, *y), updated while it is dragged. Returns true while the node is selected." }, { "name": "NodeEditor", "kind": "extension", "id": "extension|NodeEditor|0|0|OpenScope|UiText id;ref NodeView view;NodeEditorOpts o = default||h4e3c9c7bbaa0ed5b0750957f90a5c6c86f0fbfea8e96d4a8cacd68503ae7ad85", "signature": "OpenScope NodeEditor(UiText id, ref NodeView view, NodeEditorOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "view", "type": "ref NodeView" }, { "name": "o", "type": "NodeEditorOpts", "default": "default" }], "summary": "Node editor: nodes with input and output pins on a canvas that pans and zooms, joined by curved links. You own the nodes, pins and links; the editor moves the node positions you pass and reports what the user did:" }, { "name": "PathBarMenu", "kind": "extension", "id": "extension|PathBarMenu|0|0|OpenScope|UiText id;ref int segment||h2aeb15441c53f332d451a287be64ba38ecdb4c05be10ad0f8a2412b04c3ad51a", "signature": "OpenScope PathBarMenu(UiText id, ref int segment)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "segment", "type": "ref int" }], "summary": "True while the menu of separator *segment is showing: build menu items for the children of that segment, then call cui_path_bar_menu_end." }, { "name": "Popover", "kind": "extension", "id": "extension|Popover|0|0|OpenScope|UiText id;PopoverOpts o = default||had5881283c2885b236d342cac799068e3bd7a8c2d4272ceb08bf27aa60e812f7", "signature": "OpenScope Popover(UiText id, PopoverOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "PopoverOpts", "default": "default" }], "summary": "Popover anchored to the previous component. Toggle it with cui_popover_toggle / cui_popover_open." }, { "name": "Reasoning", "kind": "extension", "id": "extension|Reasoning|0|0|OpenScope|UiText id;ReasoningOpts o = default||hd8c6837b660811abb55b30c3bcc35eb42dd2099f40a5a73eb35972aca384d12b", "signature": "OpenScope Reasoning(UiText id, ReasoningOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "ReasoningOpts", "default": "default" }], "summary": "Reasoning: a model\u0027s thinking. While thinking, the header shimmers and counts the seconds; afterwards it reads \u0022Thought for 12s\u0022 and the body folds away. Click the header to open or close it. Put text inside." }, { "name": "Sheet", "kind": "extension", "id": "extension|Sheet|0|0|OpenScope|UiText title;ref bool open;SheetOpts o = default||heb98d14c7c6250a83593cac259a583d17aa8636e9eaa839b64b4b5e3db2551d7", "signature": "OpenScope Sheet(UiText title, ref bool open, SheetOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "o", "type": "SheetOpts", "default": "default" }], "summary": "cui_sheet_begin" }, { "name": "Table", "kind": "extension", "id": "extension|Table|0|0|OpenScope|UiText id;ReadOnlySpan\u003CTableColumn\u003E columns;TableOpts o = default||hfd909896b0ab780a5093f3e917adaa2e23e03121d3b8e920a5305582c66486d0", "signature": "OpenScope Table(UiText id, ReadOnlySpan\u003CTableColumn\u003E columns, TableOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "columns", "type": "ReadOnlySpan\u003CTableColumn\u003E" }, { "name": "o", "type": "TableOpts", "default": "default" }], "summary": "Same as the overload with ref sort, but reports nothing back: the state pointer is null, so the widget stores no state the caller could read." }, { "name": "Table", "kind": "extension", "id": "extension|Table|0|0|OpenScope|UiText id;ReadOnlySpan\u003CTableColumn\u003E columns;ref TableSort sort;TableOpts o = default||hfda1db8518191e5d1de411deaefeed0d0f8d6838a3a1398abfa10ad4b36ff692", "signature": "OpenScope Table(UiText id, ReadOnlySpan\u003CTableColumn\u003E columns, ref TableSort sort, TableOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "columns", "type": "ReadOnlySpan\u003CTableColumn\u003E" }, { "name": "sort", "type": "ref TableSort" }, { "name": "o", "type": "TableOpts", "default": "default" }], "summary": "cui_table_begin_ex" }, { "name": "Tree", "kind": "extension", "id": "extension|Tree|0|0|OpenScope|UiText label;ref bool open;TreeOpts o = default||h4406f8e6a4e0d2f04e9468f25ca87def814144056b1780a4e869ea86998fdd10", "signature": "OpenScope Tree(UiText label, ref bool open, TreeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "o", "type": "TreeOpts", "default": "default" }], "summary": "cui_tree_begin" }, { "name": "UserMenu", "kind": "extension", "id": "extension|UserMenu|0|0|OpenScope|UiText name;UserMenuOpts o = default||h5323b7ef69eef4b5689f61a0c79b09355b7d2e1579ced7536bd574838f5eb096", "signature": "OpenScope UserMenu(UiText name, UserMenuOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "name", "type": "UiText" }, { "name": "o", "type": "UserMenuOpts", "default": "default" }], "summary": "User menu: an avatar, a name and a line of detail that opens a menu of account actions. Put menu items between begin and end." }, { "name": "PathBar", "kind": "extension", "id": "extension|PathBar|0|0|PathBarResult|UiText id;ReadOnlySpan\u003Cstring\u003E segments;PathBarOpts o = default||h5256da01c2004bf6922b836f1b3e9fbc43ed881a67e823c1895ab05f0949dd56", "signature": "PathBarResult PathBar(UiText id, ReadOnlySpan\u003Cstring\u003E segments, PathBarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "segments", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "o", "type": "PathBarOpts", "default": "default" }], "summary": "Path bar: a breadcrumb for file and scene paths. Segments are clickable, the last one is the current place. Middle segments that do not fit collapse into a \u0022...\u0022 menu. With .menus, the chevron after segment k opens a menu you fill with the children of segment k (cui_path_bar_menu_begin). Click the empty part (or the current segment), or press Ctrl\u002BL, to type a path: Enter submits it, Esc or clicking away cancels." }, { "name": "Pipeline", "kind": "extension", "id": "extension|Pipeline|0|0|PipelineResult|UiText id;ReadOnlySpan\u003Cstring\u003E stages;ReadOnlySpan\u003CPipelineJob\u003E jobs;ref int selected;PipelineOpts o = default||h57164c455b64addad840b532dee1f4eb3acaba49d3b9d3b92afbab5d775aa6e7", "signature": "PipelineResult Pipeline(UiText id, ReadOnlySpan\u003Cstring\u003E stages, ReadOnlySpan\u003CPipelineJob\u003E jobs, ref int selected, PipelineOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "stages", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "jobs", "type": "ReadOnlySpan\u003CPipelineJob\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "PipelineOpts", "default": "default" }], "summary": "cui_pipeline_ex" }, { "name": "NowPlaying", "kind": "extension", "id": "extension|NowPlaying|0|0|PlayerEvents|UiText id;ref NowPlayingState np;NowPlayingOpts o = default||h9fae980dc34277b737fa803cbecd222d9c0a4c796e96fa70b56eeeefd0df2b25", "signature": "PlayerEvents NowPlaying(UiText id, ref NowPlayingState np, NowPlayingOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "np", "type": "ref NowPlayingState" }, { "name": "o", "type": "NowPlayingOpts", "default": "default" }], "summary": "Now playing card: artwork, title, artist, a scrubber and transport buttons." }, { "name": "Problems", "kind": "extension", "id": "extension|Problems|0|0|ProblemsResult|UiText id;ReadOnlySpan\u003CProblemItem\u003E diags;ProblemsOpts o = default||h6893f9c629255366d4079d33866236777cdcf107644e4109933ef620b8022eed", "signature": "ProblemsResult Problems(UiText id, ReadOnlySpan\u003CProblemItem\u003E diags, ProblemsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "diags", "type": "ReadOnlySpan\u003CProblemItem\u003E" }, { "name": "o", "type": "ProblemsOpts", "default": "default" }], "summary": "cui_problems_ex" }, { "name": "FlameSpanRect", "kind": "extension", "id": "extension|FlameSpanRect|0|0|RectF|uint flame;in FlameSpan span||haa242a01ec7cc85ea2f271378c3c8c334942d3f054714bdc41b27574a4327c82", "signature": "RectF FlameSpanRect(uint flame, in FlameSpan span)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "flame", "type": "uint" }, { "name": "span", "type": "in FlameSpan" }], "summary": "Where a span was drawn in the latest frame, in points (zero size when out of view). flame is the graph\u0027s id: cui_last_id(ui) right after the call." }, { "name": "LastRect", "kind": "property", "id": "property|LastRect|0|0|RectF||get;|ha796a249509c6af4a48352050e2d549bf5de307702a0f97fbc12276bc4b72b7b", "signature": "RectF LastRect { get; }", "summary": "Rectangle of the most recent component." }, { "name": "RectOf", "kind": "method", "id": "method|RectOf|0|0|RectF|UiText id||hf03418b016be6b023e965616caed52e5a7dd6a367152691bc14de3eb646ed966", "signature": "RectF RectOf(UiText id)", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "Rectangle of the widget with this string id." }, { "name": "RectOf", "kind": "method", "id": "method|RectOf|0|0|RectF|uint id||hc518e049cee7502b5770da6d0349e6e1b3764c8cc67fc33e3a92b5006d46ad99", "signature": "RectF RectOf(uint id)", "parameters": [{ "name": "id", "type": "uint" }], "summary": "Rectangle of any widget by id, for hit tests and overlays." }, { "name": "RegexTester", "kind": "extension", "id": "extension|RegexTester|0|0|RegexTesterResult|UiText id;ref string pattern;int patternCap;ref string text;int textCap;ref RegexFlags flags;RegexTesterOpts o = default||h53b2155ffb50f74e3cdbeb47580968a3b4c6256e0cbe584d8955de62e7015f50", "signature": "RegexTesterResult RegexTester(UiText id, ref string pattern, int patternCap, ref string text, int textCap, ref RegexFlags flags, RegexTesterOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "pattern", "type": "ref string" }, { "name": "patternCap", "type": "int" }, { "name": "text", "type": "ref string" }, { "name": "textCap", "type": "int" }, { "name": "flags", "type": "ref RegexFlags" }, { "name": "o", "type": "RegexTesterOpts", "default": "default" }], "summary": "A pattern field with flags over a test text: every match is highlighted in the text and its groups in their own colors, and the list below shows each match with its groups. Errors show under the pattern. Both buffers are yours and edited in place." }, { "name": "RequestBar", "kind": "extension", "id": "extension|RequestBar|0|0|RequestBarResult|UiText id;ref HttpMethod method;ref string url;int cap = 2048;RequestBarOpts o = default||h400ba2e5c7aed931b8c2e5897d16438378b1652b5dfca8f9a1057e88fcb46043", "signature": "RequestBarResult RequestBar(UiText id, ref HttpMethod method, ref string url, int cap = 2048, RequestBarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "method", "type": "ref HttpMethod" }, { "name": "url", "type": "ref string" }, { "name": "cap", "type": "int", "default": "2048" }, { "name": "o", "type": "RequestBarOpts", "default": "default" }], "summary": "cui_request_bar_ex" }, { "name": "ResponseActions", "kind": "extension", "id": "extension|ResponseActions|0|0|ResponseEvents|UiText id;ref int vote;ResponseActionsOpts o = default||hc81149b07827af0f59a3269486e0d44858ac9bb48073ed5150872c876c11984c", "signature": "ResponseEvents ResponseActions(UiText id, ref int vote, ResponseActionsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "vote", "type": "ref int" }, { "name": "o", "type": "ResponseActionsOpts", "default": "default" }], "summary": "cui_response_actions_ex" }, { "name": "SchedulePicker", "kind": "extension", "id": "extension|SchedulePicker|0|0|ScheduleResult|UiText id;ref string cron;int cap = 128;ScheduleOpts o = default||h5e149aabf00cdaf3e05fa29f62f956e474f8fee28641ae71fde4eaaeb8801f91", "signature": "ScheduleResult SchedulePicker(UiText id, ref string cron, int cap = 128, ScheduleOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "cron", "type": "ref string" }, { "name": "cap", "type": "int", "default": "128" }, { "name": "o", "type": "ScheduleOpts", "default": "default" }], "summary": "A cron schedule edited the friendly way: every N minutes, hourly at a minute, daily at a time, weekly on chosen days, monthly on a day, or a custom expression. It reads and writes \u0060cron\u0060 (five fields: minute hour day month weekday) and shows what it means and when it runs next. Weekday and month names come from cui_set_strings." }, { "name": "State", "kind": "method", "id": "method|State|0|1|Span\u003CT\u003E|UiText id||h8505c3ecbdde9acd049fc2d5d47e3c43d0545b89b2b78cc39c0a3993049107cf", "signature": "Span\u003CT\u003E State\u003CT\u003E(UiText id) where T : unmanaged", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "Persistent, zeroed storage for a widget id, for values that must survive between frames (animation phases, drag state, hit-test scratch)." }, { "name": "State", "kind": "method", "id": "method|State|0|1|Span\u003CT\u003E|UiText id;Action onFree||hbfa4567fbf2313cbdd3cc11d8daae823c35ccab56e58f7f91c8635a98f228824", "signature": "Span\u003CT\u003E State\u003CT\u003E(UiText id, Action onFree) where T : unmanaged", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "onFree", "type": "Action" }], "summary": "Persistent, zeroed storage for a widget id, with a callback CUI runs when it throws that id\u0027s state away (about five idle seconds, or when the window closes)." }, { "name": "StackTrace", "kind": "extension", "id": "extension|StackTrace|0|0|StackTraceResult|UiText id;ReadOnlySpan\u003CStackFrame\u003E frames;StackTraceOpts o = default||h31d88e2151b353d79ca390bcbc46b17c2882a950f9cf2239a266b97eeaa36a9b", "signature": "StackTraceResult StackTrace(UiText id, ReadOnlySpan\u003CStackFrame\u003E frames, StackTraceOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "frames", "type": "ReadOnlySpan\u003CStackFrame\u003E" }, { "name": "o", "type": "StackTraceOpts", "default": "default" }], "summary": "An exception and its call stack: the error\u0027s type and message, then each frame\u0027s function and position. Runs of library frames fold into one row. A frame with source opens to show the lines around it, the failing line marked; the first frame of your own code starts open. A button copies the whole trace as text." }, { "name": "Terminal", "kind": "extension", "id": "extension|Terminal|0|0|TerminalResult|UiText id;Terminal terminal;TerminalOpts o = default||h3bb90fc3e22f3e909beb279d5867cc2751b7287513f1480f8c73f2e7405f14d7", "signature": "TerminalResult Terminal(UiText id, Terminal terminal, TerminalOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "terminal", "type": "Terminal" }, { "name": "o", "type": "TerminalOpts", "default": "default" }], "summary": "Draws terminal and reports what the user did in it." }, { "name": "TestExplorer", "kind": "extension", "id": "extension|TestExplorer|0|0|TestExplorerResult|UiText id;ReadOnlySpan\u003CTestItem\u003E items;TestExplorerOpts o = default||h9eeb18e60e88e82a908b873a27468f9699a55c61fb36da8ff356557f102e3862", "signature": "TestExplorerResult TestExplorer(UiText id, ReadOnlySpan\u003CTestItem\u003E items, TestExplorerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CTestItem\u003E" }, { "name": "o", "type": "TestExplorerOpts", "default": "default" }], "summary": "Test results as a tree: suites fold, each test shows its status and time, and a failure shows its message under it. A suite\u0027s status sums up its tests. The toolbar runs everything, counts results and filters by status and by name. Hover a row for its run button. Only the rows in view are built. Up and Down move, Left and Right fold, Enter activates. Items are in tree order with their depth; the statuses are the pipeline\u0027s." }, { "name": "MeasureText", "kind": "method", "id": "method|MeasureText|0|0|TextMetrics|UiText text;float size = 12f;Font font = Font.Body||h992b53c9418ee9ba19c1fd34ea05dca44fabbaac335e2ecdd31ccf760fd4f66f", "signature": "TextMetrics MeasureText(UiText text, float size = 12f, Font font = Font.Body)", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "size", "type": "float", "default": "12f" }, { "name": "font", "type": "Font", "default": "Font.Body" }], "summary": "Width and height of a single line of text, without wrapping." }, { "name": "Theme", "kind": "property", "id": "property|Theme|0|0|Theme||get;set;|h898a02cacbcba9a905f94fba0740f328f89ab1e042e5fea5ff9d21a93e3e297d", "signature": "Theme Theme { get; set; }", "summary": "The theme this frame draws with. Assign to switch, from anywhere inside a frame." }, { "name": "Style", "kind": "property", "id": "property|Style|0|0|ThemeStyle||get;|h4a1ba7271e3ed1e378ccdc5f7d6055b8fea5756bf3605b1214e29e77e4e7860a", "signature": "ThemeStyle Style { get; }", "summary": "The design tokens this frame draws with \u2014 radii, control heights, text and heading sizes, the motion multiplier and the palette \u2014 as a live view to read and to assign." }, { "name": "TimeHistogram", "kind": "extension", "id": "extension|TimeHistogram|0|0|TimeHistogramResult|UiText id;double start;double bucketSeconds;int buckets;ReadOnlySpan\u003CHistogramSeries\u003E series;ref double selStart;ref double selEnd;TimeHistogramOpts o = default||hfc0784cb52bfd6a3615191c61545b37c444f2ce965ef93b671333df27d4bf165", "signature": "TimeHistogramResult TimeHistogram(UiText id, double start, double bucketSeconds, int buckets, ReadOnlySpan\u003CHistogramSeries\u003E series, ref double selStart, ref double selEnd, TimeHistogramOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "start", "type": "double" }, { "name": "bucketSeconds", "type": "double" }, { "name": "buckets", "type": "int" }, { "name": "series", "type": "ReadOnlySpan\u003CHistogramSeries\u003E" }, { "name": "selStart", "type": "ref double" }, { "name": "selEnd", "type": "ref double" }, { "name": "o", "type": "TimeHistogramOpts", "default": "default" }], "summary": "Event counts over time, stacked by series (log levels, status classes), as above a log search. Drag across it to select a time range, click to clear. Hover a bar for its time and counts. Times are Unix seconds." }, { "name": "Tour", "kind": "extension", "id": "extension|Tour|0|0|TourAction|UiText id;ReadOnlySpan\u003CTourStep\u003E steps;ref int step;TourOpts o = default||h7a480bb022c619036d7ca1d19006a7d5aa923a84ea3fc62b5eae88ea7b1088c8", "signature": "TourAction Tour(UiText id, ReadOnlySpan\u003CTourStep\u003E steps, ref int step, TourOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "steps", "type": "ReadOnlySpan\u003CTourStep\u003E" }, { "name": "step", "type": "ref int" }, { "name": "o", "type": "TourOpts", "default": "default" }], "summary": "What happened this frame: one of CUI_TOUR_*." }, { "name": "TraceView", "kind": "extension", "id": "extension|TraceView|0|0|TraceResult|UiText id;ReadOnlySpan\u003CTraceTrack\u003E tracks;ReadOnlySpan\u003CTraceSpan\u003E spans;ref TraceViewState view;ref int selected;TraceOpts o = default||h7ab8ce526cada0bd73b947180d909dfa39f159b47ac14940ec53b67f28158b92", "signature": "TraceResult TraceView(UiText id, ReadOnlySpan\u003CTraceTrack\u003E tracks, ReadOnlySpan\u003CTraceSpan\u003E spans, ref TraceViewState view, ref int selected, TraceOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "tracks", "type": "ReadOnlySpan\u003CTraceTrack\u003E" }, { "name": "spans", "type": "ReadOnlySpan\u003CTraceSpan\u003E" }, { "name": "view", "type": "ref TraceViewState" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "TraceOpts", "default": "default" }], "summary": "A tracing timeline: one lane per thread, process or service, each with its nested spans, on one time ruler, with markers (frames, GC pauses, deploys) drawn across every lane. Wheel zooms around the pointer, Shift\u002Bwheel or a drag pans, click selects a span, Shift\u002Bdrag measures a time range. A lane\u0027s name folds it. Keys: Left and Right step through the selected span\u0027s lane, \u002B and - zoom, F fits, Esc clears. Spans must be sorted by track, depth and start (cui_trace_sort), with no overlap within a depth of a track. Like the flame graph, only what is in view is visited." }, { "name": "TreeTable", "kind": "extension", "id": "extension|TreeTable|0|0|TreeTableEvents|UiText id;ReadOnlySpan\u003CGridColumn\u003E columns;TreeNode[] nodes;TreeTableRow row;TreeTableOpts o = default;Func\u003Cint, string?\u003E? label = null||h5ad3a7ebd26d1298c20becc826efa4b5392b7ddbca0d68cfbb1f162eb572fd75", "signature": "TreeTableEvents TreeTable(UiText id, ReadOnlySpan\u003CGridColumn\u003E columns, TreeNode[] nodes, TreeTableRow row, TreeTableOpts o = default, Func\u003Cint, string?\u003E? label = null)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "columns", "type": "ReadOnlySpan\u003CGridColumn\u003E" }, { "name": "nodes", "type": "TreeNode[]" }, { "name": "row", "type": "TreeTableRow" }, { "name": "o", "type": "TreeTableOpts", "default": "default" }, { "name": "label", "type": "Func\u003Cint, string?\u003E?", "default": "null" }], "summary": "Draws a tree without sort or keyboard state: the table keeps no per-id interaction state, which is all a static tree needs." }, { "name": "TreeTable", "kind": "extension", "id": "extension|TreeTable|0|0|TreeTableEvents|UiText id;ReadOnlySpan\u003CGridColumn\u003E columns;TreeNode[] nodes;TreeTableRow row;ref TableSort sort;ref int cursor;TreeTableOpts o = default;Func\u003Cint, string?\u003E? label = null||hdc8db941f4c0a5cc7a1e81a316f1e56fbc2468020569fb6cacf3307bec596a1d", "signature": "TreeTableEvents TreeTable(UiText id, ReadOnlySpan\u003CGridColumn\u003E columns, TreeNode[] nodes, TreeTableRow row, ref TableSort sort, ref int cursor, TreeTableOpts o = default, Func\u003Cint, string?\u003E? label = null)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "columns", "type": "ReadOnlySpan\u003CGridColumn\u003E" }, { "name": "nodes", "type": "TreeNode[]" }, { "name": "row", "type": "TreeTableRow" }, { "name": "sort", "type": "ref TableSort" }, { "name": "cursor", "type": "ref int" }, { "name": "o", "type": "TreeTableOpts", "default": "default" }, { "name": "label", "type": "Func\u003Cint, string?\u003E?", "default": "null" }], "summary": "Draws nodes as a tree with columns, calling row once per visible node to fill its cells." }, { "name": "Uptime", "kind": "extension", "id": "extension|Uptime|0|0|UptimeResult|UiText id;ReadOnlySpan\u003CUptimeService\u003E services;UptimeOpts o = default||h60131e1db59b8a809d222a6d6dee840e1ccde25607a2c4178418eef8a488dccb", "signature": "UptimeResult Uptime(UiText id, ReadOnlySpan\u003CUptimeService\u003E services, UptimeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "services", "type": "ReadOnlySpan\u003CUptimeService\u003E" }, { "name": "o", "type": "UptimeOpts", "default": "default" }], "summary": "A status page: each service with its current state, its uptime over the period, and one bar per day colored by availability (gray without data). Hover a bar for its day and uptime. On a narrow panel only the most recent days that fit are shown." }, { "name": "MousePosition", "kind": "property", "id": "property|MousePosition|0|0|ValueTuple\u003Cfloat, float\u003E||get;|h02b51b7243b762c56e53482522c31644d844cd12e36381af09a9700cd549db93", "signature": "ValueTuple\u003Cfloat, float\u003E MousePosition { get; }", "summary": "Pointer position in points, top-left origin." }, { "name": "ViewportSize", "kind": "method", "id": "method|ViewportSize|0|0|ValueTuple\u003Cfloat, float\u003E|||h7a26e2e5e6b39edb5a26a6e7adde40edf0bcd8599f3d7629ea37d02c109493a2", "signature": "ValueTuple\u003Cfloat, float\u003E ViewportSize()" }, { "name": "Waterfall", "kind": "extension", "id": "extension|Waterfall|0|0|WaterfallResult|UiText id;ReadOnlySpan\u003CNetRequest\u003E requests;ref int selected;WaterfallOpts o = default||h419b5ccb1a80d64ac3cce058fa79a3ac44664f29e8c9685c083cf8552c6714e6", "signature": "WaterfallResult Waterfall(UiText id, ReadOnlySpan\u003CNetRequest\u003E requests, ref int selected, WaterfallOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "requests", "type": "ReadOnlySpan\u003CNetRequest\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "WaterfallOpts", "default": "default" }], "summary": "HTTP requests as a table with a timing bar each: queued, DNS, connect, TLS, waiting for the first byte and downloading, on one time scale with the page\u0027s DOMContentLoaded and load lines. Hover a bar for the breakdown. Narrow panels drop the type and size columns. Only the rows in view are built. Up and Down move the selection." }, { "name": "Alert", "kind": "extension", "id": "extension|Alert|0|0|bool|UiText title;AlertOpts o = default||hb9b8786bcd05d91b48b9d5b7e7c8dfe99eab8a18cccf61ee5708920e8c2c65a0", "signature": "bool Alert(UiText title, AlertOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "o", "type": "AlertOpts", "default": "default" }], "summary": "Inline alert. Returns false once dismissed (when dismissible)." }, { "name": "Banner", "kind": "extension", "id": "extension|Banner|0|0|bool|UiText text;ref bool open;BannerOpts o = default||hded3699dd8c0717c5f0d2f8a60f5b76364aaa539a156402e1d68fed1e8b19dd6", "signature": "bool Banner(UiText text, ref bool open, BannerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "o", "type": "BannerOpts", "default": "default" }], "summary": "Announcement banner across the top of a view. Collapses smoothly when dismissed (*open becomes false). Returns true when the action is clicked." }, { "name": "Button", "kind": "extension", "id": "extension|Button|0|0|bool|UiText label;ButtonOpts o = default||h0824ce1ee9db1a3102bbbc57b5f43c838d0aac0c456dc9d0f5ddf3a8bb9eaae3", "signature": "bool Button(UiText label, ButtonOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "ButtonOpts", "default": "default" }], "summary": "cui_button_ex" }, { "name": "Calendar", "kind": "extension", "id": "extension|Calendar|0|0|bool|UiText id;ref Date value||he2d734019c4ba63e626cffe267911189a15dbf5b403eff0fc6fd9898d4334662", "signature": "bool Calendar(UiText id, ref Date value)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref Date" }], "summary": "cui_calendar" }, { "name": "Checkbox", "kind": "extension", "id": "extension|Checkbox|0|0|bool|UiText label;ref bool value;CheckOpts o = default||h5e553956f3358e286491451619c072577baad5689e0ba2b38257460dced857ee", "signature": "bool Checkbox(UiText label, ref bool value, CheckOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref bool" }, { "name": "o", "type": "CheckOpts", "default": "default" }], "summary": "cui_checkbox_ex" }, { "name": "Chip", "kind": "extension", "id": "extension|Chip|0|0|bool|UiText label;ref bool selected;ChipOpts o = default||h4ff38ab2a9a818e7526990ee6c9e6f19f63a1138e5fb79d08917e25c0d0a78ee", "signature": "bool Chip(UiText label, ref bool selected, ChipOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "selected", "type": "ref bool" }, { "name": "o", "type": "ChipOpts", "default": "default" }], "summary": "cui_chip_ex" }, { "name": "Citation", "kind": "extension", "id": "extension|Citation|0|0|bool|int number;in Source source||ha19b93ee36f160c6271aaa8db69ab4937531c6d0be1bdcd8e208aa7eb206aee7", "signature": "bool Citation(int number, in Source source)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "number", "type": "int" }, { "name": "source", "type": "in Source" }], "summary": "cui_citation" }, { "name": "ColorPicker", "kind": "extension", "id": "extension|ColorPicker|0|0|bool|UiText id;ref Color value||h337517bd7bbb67ac9f2a0f2cd3561338116b8bbce4aab6736de92c41bd706e10", "signature": "bool ColorPicker(UiText id, ref Color value)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref Color" }], "summary": "cui_color_picker" }, { "name": "ConfirmButton", "kind": "extension", "id": "extension|ConfirmButton|0|0|bool|UiText label;ConfirmOpts o = default||ha173e8d04000010db239a95f45b5a65630e6c3a32565f48acd835a79732b2383", "signature": "bool ConfirmButton(UiText label, ConfirmOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "ConfirmOpts", "default": "default" }], "summary": "Two step destructive button: the first click morphs it into a confirm state with a countdown, the second click confirms. Returns true once." }, { "name": "ConfirmPopover", "kind": "extension", "id": "extension|ConfirmPopover|0|0|bool|UiText id;ConfirmPopoverOpts o = default||h1c2e0982b9c59e893eae1a02030bc1dcf3a82997c3f51101dbeae1b45e768ee2", "signature": "bool ConfirmPopover(UiText id, ConfirmPopoverOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "ConfirmPopoverOpts", "default": "default" }], "summary": "Confirm popover: a small question anchored to the previous component. Open it with cui_popover_open(ui, id). Returns true when confirmed." }, { "name": "ControlTile", "kind": "extension", "id": "extension|ControlTile|0|0|bool|UiText label;ref bool on;TileOpts o = default||h030def7b2183e0b26721bad6afc91a710eb6f7cf309e2889db383c64f1477cbd", "signature": "bool ControlTile(UiText label, ref bool on, TileOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "on", "type": "ref bool" }, { "name": "o", "type": "TileOpts", "default": "default" }], "summary": "Control tile: a large toggle with an icon, a label and a state line." }, { "name": "CopyButton", "kind": "extension", "id": "extension|CopyButton|0|0|bool|UiText id;UiText text||hbc740c15d3716aa5400fb730217b29b8462ce4a82a1b3b2c9884600f4fbfe844", "signature": "bool CopyButton(UiText id, UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "text", "type": "UiText" }], "summary": "Icon button that copies text to the clipboard and confirms with a check. Keyboard focus stays on the button when the check appears or disappears." }, { "name": "Cropper", "kind": "extension", "id": "extension|Cropper|0|0|bool|UiText id;ulong tex;int imageW;int imageH;ref RectF crop;CropperOpts o = default||hc4433b320e719d68cf000799d9f75543139b19ed26265d5d5b7ef0e7cb29a2cf", "signature": "bool Cropper(UiText id, ulong tex, int imageW, int imageH, ref RectF crop, CropperOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "tex", "type": "ulong" }, { "name": "imageW", "type": "int" }, { "name": "imageH", "type": "int" }, { "name": "crop", "type": "ref RectF" }, { "name": "o", "type": "CropperOpts", "default": "default" }], "summary": "Returns true when the crop changed." }, { "name": "DataGridCellEdit", "kind": "extension", "id": "extension|DataGridCellEdit|0|0|bool|ref string buf;int cap||h36d248e6c06ee8f7c129163000d2afe51274d879f2f2a6dd8f75e48579c04c63", "signature": "bool DataGridCellEdit(ref string buf, int cap)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "buf", "type": "ref string" }, { "name": "cap", "type": "int" }], "summary": "Editable text cell: double click (or Enter on the cursor row) to edit, Enter or clicking away commits, Esc reverts. True when committed." }, { "name": "DataGridEdit", "kind": "extension", "id": "extension|DataGridEdit|0|0|bool|ref string buf;int cap||h4a0248a3c48520cf419b921b7953de24c458026bb86ab7bd00ba08e5d194ef65", "signature": "bool DataGridEdit(ref string buf, int cap)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "buf", "type": "ref string" }, { "name": "cap", "type": "int" }], "summary": "The same editable text, inside the current cell (after an avatar, say)." }, { "name": "DataGridRow", "kind": "extension", "id": "extension|DataGridRow|0|0|bool|int row||h5fe4fdf7429d5b5aac0325fa0af56631c8d8a1ff342c03251fe30d766d9f9225", "signature": "bool DataGridRow(int row)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "row", "type": "int" }], "summary": "true when the row was clicked" }, { "name": "DatePicker", "kind": "extension", "id": "extension|DatePicker|0|0|bool|UiText id;ref Date value;DateOpts o = default||h993523ace680cddb6c1434059ef52f3fb34d716bed495d79d97b148118785ee2", "signature": "bool DatePicker(UiText id, ref Date value, DateOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref Date" }, { "name": "o", "type": "DateOpts", "default": "default" }], "summary": "cui_date_picker_ex" }, { "name": "DateRangePicker", "kind": "extension", "id": "extension|DateRangePicker|0|0|bool|UiText id;ref DateRange range;DateRangeOpts o = default||h9daa98cbb5461612c53362c329641eba719561905ce1865087421113c0ee84d1", "signature": "bool DateRangePicker(UiText id, ref DateRange range, DateRangeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "range", "type": "ref DateRange" }, { "name": "o", "type": "DateRangeOpts", "default": "default" }], "summary": "cui_date_range_picker_ex" }, { "name": "DateToday", "kind": "method", "id": "method|DateToday|0|0|bool|out Date value||h2030bff62c6a99d4c47e3fa2a09f8c125232327d048faf8c41c853eeafa84679", "signature": "bool DateToday(out Date value)", "parameters": [{ "name": "value", "type": "out Date" }] }, { "name": "DockItem", "kind": "extension", "id": "extension|DockItem|0|0|bool|UiText icon;UiText label;DockItemOpts o = default||h6868974ee881c1a4f660ae0207737b226f6822fd1064babdbda9860825db89d1", "signature": "bool DockItem(UiText icon, UiText label, DockItemOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "icon", "type": "UiText" }, { "name": "label", "type": "UiText" }, { "name": "o", "type": "DockItemOpts", "default": "default" }], "summary": "cui_dock_item_ex" }, { "name": "DockLoad", "kind": "extension", "id": "extension|DockLoad|0|0|bool|UiText id;UiText text||hffd91787faf77c3d390dfe7deb8bb16df93eb717a31ba3fd4130eac2e2e134b4", "signature": "bool DockLoad(UiText id, UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "text", "type": "UiText" }], "summary": "cui_dock_load" }, { "name": "EmojiFontLoadFile", "kind": "extension", "id": "extension|EmojiFontLoadFile|0|0|bool|UiText path||hf9ed3d99d8c528c9df41c7bca5721cb0eb461686e0a48bc35d1cf718f13ba0f6", "signature": "bool EmojiFontLoadFile(UiText path)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "path", "type": "UiText" }], "summary": "Color emoji come from an emoji font: the system\u0027s (cui_emoji_font_load_system, which the picker calls by itself when nothing is loaded) or one the app ships. Bitmap color fonts (sbix as on macOS, CBDT as on Linux and Android) and layered ones (COLR version 0, as on Windows) are read, as is a plain outline font for one-color emoji. Sequences with skin tones, joined people and flags are looked up through the font\u0027s ligatures. Big fonts are read from the file as needed rather than loaded whole. Drawn emoji are kept in one texture and reused." }, { "name": "EmojiFontLoadMemory", "kind": "extension", "id": "extension|EmojiFontLoadMemory|0|0|bool|ReadOnlySpan\u003Cbyte\u003E data;bool copy||h8f31cf994f46f3f46e0c7fdefbd7d39be865056bcb0700421f0fee7be7142342", "signature": "bool EmojiFontLoadMemory(ReadOnlySpan\u003Cbyte\u003E data, bool copy)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "data", "type": "ReadOnlySpan\u003Cbyte\u003E" }, { "name": "copy", "type": "bool" }], "summary": "cui_emoji_font_load_memory" }, { "name": "EmojiFontLoadSystem", "kind": "extension", "id": "extension|EmojiFontLoadSystem|0|0|bool|||he4386dbb08b9f31fd0c23d6cb333b56d4babcbd26d5e38fa72a56bc89a6bac12", "signature": "bool EmojiFontLoadSystem()", "extensionOn": "CuiSharp.Ui", "summary": "cui_emoji_font_load_system" }, { "name": "EmojiSupported", "kind": "extension", "id": "extension|EmojiSupported|0|0|bool|UiText utf8||he0adda46557f9d84dbc4c6feb4f995d99998ffae9bdabd33371c8df1fc7899fb", "signature": "bool EmojiSupported(UiText utf8)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "utf8", "type": "UiText" }], "summary": "the font (or platform) can draw it" }, { "name": "EmptyState", "kind": "extension", "id": "extension|EmptyState|0|0|bool|UiText title;EmptyOpts o = default||h3447935b9ffe834dcbe57094c2bd062fa6216fbbd3d59e4e2527f7da36f6f369", "signature": "bool EmptyState(UiText title, EmptyOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "o", "type": "EmptyOpts", "default": "default" }], "summary": "Empty state. Returns true when its action button is clicked." }, { "name": "ExpandableText", "kind": "extension", "id": "extension|ExpandableText|0|0|bool|UiText id;UiText text;ExpandableTextOpts o = default||h0853336278f85890679dc7cd1bc9eb77a34f2cf61567d87164045778c0f8d6ad", "signature": "bool ExpandableText(UiText id, UiText text, ExpandableTextOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "text", "type": "UiText" }, { "name": "o", "type": "ExpandableTextOpts", "default": "default" }], "summary": "Text clamped to a few lines with a fade and Show more / Show less." }, { "name": "Fader", "kind": "extension", "id": "extension|Fader|0|0|bool|UiText id;ref float value;float min;float max;FaderOpts o = default||h8266bbe632feda1ec1b4b87bd7f41cc9e107e496de7dfb957c9d87f1e63f8835", "signature": "bool Fader(UiText id, ref float value, float min, float max, FaderOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "o", "type": "FaderOpts", "default": "default" }], "summary": "cui_fader_ex" }, { "name": "FileDragActive", "kind": "property", "id": "property|FileDragActive|0|0|bool||get;|hc2e815e1a71bc6a75b5e19ff96d7c1ef201253bc7b4d7f60949c96df158538ac", "signature": "bool FileDragActive { get; }", "summary": "True while files are being dragged over the window, for a drop target to light up." }, { "name": "FilePicker", "kind": "extension", "id": "extension|FilePicker|0|0|bool|UiText id;ref bool open;ref string out;int outCap = 1024;FilePickerOpts o = default||hb1ce6182678b8b2ca569fff7fdf6d4a781314228ed80d25a4c02a48b368dd07f", "signature": "bool FilePicker(UiText id, ref bool open, ref string @out, int outCap = 1024, FilePickerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "out", "type": "ref string" }, { "name": "outCap", "type": "int", "default": "1024" }, { "name": "o", "type": "FilePickerOpts", "default": "default" }], "summary": "True once, with the chosen path in out, when the dialog is confirmed; *open turns false then, or on Cancel and Esc." }, { "name": "FilterBar", "kind": "method", "id": "method|FilterBar|0|0|bool|UiText id;ReadOnlySpan\u003CFilterField\u003E fields;Span\u003Cuint\u003E selected;ref string search;int searchCap = 256||h05b35fdecfc879680ca00e844554bef0fb0d2b9ee533e72f50a25b4cb5e4be7a", "signature": "bool FilterBar(UiText id, ReadOnlySpan\u003CFilterField\u003E fields, Span\u003Cuint\u003E selected, ref string search, int searchCap = 256)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "fields", "type": "ReadOnlySpan\u003CFilterField\u003E" }, { "name": "selected", "type": "Span\u003Cuint\u003E" }, { "name": "search", "type": "ref string" }, { "name": "searchCap", "type": "int", "default": "256" }], "summary": "Filter chips, one dropdown per field plus a search. selected holds one option bitmask per field; returns true on any change." }, { "name": "HistogramSlider", "kind": "extension", "id": "extension|HistogramSlider|0|0|bool|UiText label;ReadOnlySpan\u003Cfloat\u003E bins;ref float lo;ref float hi;float min;float max;HistogramOpts o = default||h72cc41a613543670d7d773f53d3ed618f4ca5dda5c9cf710a8ea0c0745f9816a", "signature": "bool HistogramSlider(UiText label, ReadOnlySpan\u003Cfloat\u003E bins, ref float lo, ref float hi, float min, float max, HistogramOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "bins", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "lo", "type": "ref float" }, { "name": "hi", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "o", "type": "HistogramOpts", "default": "default" }], "summary": "Range slider over a histogram of the data it filters." }, { "name": "HoldButton", "kind": "extension", "id": "extension|HoldButton|0|0|bool|UiText label;HoldOpts o = default||ha44fcfbb972ecfbea614fbc280b43abd9c243c1e05ac46d39ac240667e1b2a30", "signature": "bool HoldButton(UiText label, HoldOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "HoldOpts", "default": "default" }], "summary": "Hold to confirm: a destructive action that fills while held and fires when full. Returns true once." }, { "name": "IconButton", "kind": "extension", "id": "extension|IconButton|0|0|bool|UiText icon;ButtonOpts o = default||h5215045b3b917c5c328653c82d759d884c905c9bee3fd2bcae9c23b95552a5e2", "signature": "bool IconButton(UiText icon, ButtonOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "icon", "type": "UiText" }, { "name": "o", "type": "ButtonOpts", "default": "default" }], "summary": "Square/round button with only an icon. Give it a tooltip so it has a name." }, { "name": "ImageCompare", "kind": "extension", "id": "extension|ImageCompare|0|0|bool|UiText id;ulong before;ulong after;ref float pos;CompareOpts o = default||hbf70b5332c704791b825e9cb8d9e14cd4661dfc72efb9bed54e7afc61aac7221", "signature": "bool ImageCompare(UiText id, ulong before, ulong after, ref float pos, CompareOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "before", "type": "ulong" }, { "name": "after", "type": "ulong" }, { "name": "pos", "type": "ref float" }, { "name": "o", "type": "CompareOpts", "default": "default" }], "summary": "Before and after: drag the divider to compare two images. *pos is 0..1." }, { "name": "ImageViewer", "kind": "extension", "id": "extension|ImageViewer|0|0|bool|UiText id;ulong tex;int imageW;int imageH;ref ImageView view;ImageViewerOpts o = default||hfd49614f5ed12268c88fafc87f200f9ba92c7a0989e02c2476dadf0bb0fab3b3", "signature": "bool ImageViewer(UiText id, ulong tex, int imageW, int imageH, ref ImageView view, ImageViewerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "tex", "type": "ulong" }, { "name": "imageW", "type": "int" }, { "name": "imageH", "type": "int" }, { "name": "view", "type": "ref ImageView" }, { "name": "o", "type": "ImageViewerOpts", "default": "default" }], "summary": "Returns true when the view changed." }, { "name": "InspectorGroup", "kind": "extension", "id": "extension|InspectorGroup|0|0|bool|UiText title;ref bool open||hba33317836e4529b513b762245b52b82d2fc8fd252b7ae2174d7ffdf7ff08018", "signature": "bool InspectorGroup(UiText title, ref bool open)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }], "summary": "A folding group header. Build its rows only when this returns true (it stays true while the group animates closed). open may be NULL for a plain section that does not fold." }, { "name": "IsDisabled", "kind": "property", "id": "property|IsDisabled|0|0|bool||get;|h66819bb8e34991aa0b9a8fdf312d84bcc577f1aed8196c14e9cfc9792bab4b6e", "signature": "bool IsDisabled { get; }", "summary": "True inside a Disabled scope (or one a parent opened)." }, { "name": "JsonView", "kind": "extension", "id": "extension|JsonView|0|0|bool|UiText id;UiText json;JsonOpts o = default||h206112d6d2798b04c8b2e35b11a492fe5022438268206f218c32f29f9efa0bbf", "signature": "bool JsonView(UiText id, UiText json, JsonOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "json", "type": "UiText" }, { "name": "o", "type": "JsonOpts", "default": "default" }], "summary": "JSON viewer: a collapsible tree with typed colors and item counts. Returns false when the text is not valid JSON (and shows the error)." }, { "name": "Kanban", "kind": "extension", "id": "extension|Kanban|0|0|bool|UiText id;out KanbanMove kanbanmove;DrawFn body||h06459ebde22b2b48e212f80454450eb468aac078e18e50dee8f7aa756afdbe5e", "signature": "bool Kanban(UiText id, out KanbanMove kanbanmove, DrawFn body)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "kanbanmove", "type": "out KanbanMove" }, { "name": "body", "type": "DrawFn" }], "summary": "cui_kanban_begin The card was dropped into another column, and the move is written into the out parameter." }, { "name": "KeyDown", "kind": "method", "id": "method|KeyDown|0|0|bool|Key key||h8b8a390f57bfe976c9fae2d30fec99be77322f69944968534c26bc08482cb159", "signature": "bool KeyDown(Key key)", "parameters": [{ "name": "key", "type": "Key" }], "summary": "True while the key is held (with auto-repeat)." }, { "name": "KeyPressed", "kind": "method", "id": "method|KeyPressed|0|0|bool|Key key||hd4bc534b9e8b12976f0c38f87635500fca89a9d6949ea0a103354f41e6d39700", "signature": "bool KeyPressed(Key key)", "parameters": [{ "name": "key", "type": "Key" }], "summary": "True on the frame the key went down, including repeats." }, { "name": "Knob", "kind": "extension", "id": "extension|Knob|0|0|bool|UiText id;ref float value;float min;float max;KnobOpts o = default||hfceb051da509c5e36d4bd22400b42f24a8cc0da8ba2c27a23c8e378855c66680", "signature": "bool Knob(UiText id, ref float value, float min, float max, KnobOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "o", "type": "KnobOpts", "default": "default" }], "summary": "Knob, fader and level meter: the controls of audio, synth and mixer panels." }, { "name": "KvEditor", "kind": "extension", "id": "extension|KvEditor|0|0|bool|UiText id;Span\u003CKeyValue\u003E pairs;ref int count;KvEditorOpts o = default||h33bb0c1c82dae67745ff12456422881b7a82c634ea86250511129fa68d145901", "signature": "bool KvEditor(UiText id, Span\u003CKeyValue\u003E pairs, ref int count, KvEditorOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "pairs", "type": "Span\u003CKeyValue\u003E" }, { "name": "count", "type": "ref int" }, { "name": "o", "type": "KvEditorOpts", "default": "default" }], "summary": "cui_kv_editor_ex" }, { "name": "LevelMeter", "kind": "extension", "id": "extension|LevelMeter|0|0|bool|UiText id;ReadOnlySpan\u003Cfloat\u003E levels;LevelMeterOpts o = default||he2b90272968549a2bc948844fa0f2e5fcb787783f5c0716cf3d8c48db532ab7e", "signature": "bool LevelMeter(UiText id, ReadOnlySpan\u003Cfloat\u003E levels, LevelMeterOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "levels", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "o", "type": "LevelMeterOpts", "default": "default" }], "summary": "Returns true when the clip light was clicked to clear it." }, { "name": "Link", "kind": "extension", "id": "extension|Link|0|0|bool|UiText text||h20b90df40ad793aa00f00bae1aeddd8c78d8d1ee7eccdf7f709db8b78317b57a", "signature": "bool Link(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "cui_link" }, { "name": "ListItem", "kind": "extension", "id": "extension|ListItem|0|0|bool|UiText title;ListItemOpts o = default||h59240e7a8fd8d1115830e25d32bfc60e47f14e4645e8e48b58281c710be7f5c9", "signature": "bool ListItem(UiText title, ListItemOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "o", "type": "ListItemOpts", "default": "default" }], "summary": "List item: a selectable row with optional icon, subtitle and trailing text." }, { "name": "LoadImage", "kind": "method", "id": "method|LoadImage|0|0|bool|UiText path;out ulong texture;out int width;out int height||hfe19783db558936a04580a0831ac4289470f120ccd1ef3163fcee3e05649da1f", "signature": "bool LoadImage(UiText path, out ulong texture, out int width, out int height)", "parameters": [{ "name": "path", "type": "UiText" }, { "name": "texture", "type": "out ulong" }, { "name": "width", "type": "out int" }, { "name": "height", "type": "out int" }], "summary": "Decodes a PNG or JPEG from disk into a texture and reports its pixel size. Returns false when the file cannot be read or decoded; the texture is then 0. Release it with DestroyImage." }, { "name": "MenuItem", "kind": "extension", "id": "extension|MenuItem|0|0|bool|UiText label;MenuItemOpts o = default||h6f02a24b8c3e14f743f1164e34c40e0c32e7647a378fc18f6fac4bd77708b604", "signature": "bool MenuItem(UiText label, MenuItemOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "MenuItemOpts", "default": "default" }], "summary": "cui_menu_item_ex" }, { "name": "ModelPicker", "kind": "extension", "id": "extension|ModelPicker|0|0|bool|UiText id;ReadOnlySpan\u003CModel\u003E models;ref int selected;ModelPickerOpts o = default||h30f09bcdbcd0511d67feaab5ce1eb2d84b0769c8eb387e2675cdc4b9faf9d869", "signature": "bool ModelPicker(UiText id, ReadOnlySpan\u003CModel\u003E models, ref int selected, ModelPickerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "models", "type": "ReadOnlySpan\u003CModel\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "ModelPickerOpts", "default": "default" }], "summary": "Model picker: the current model on a button; a list with details opens." }, { "name": "MoneyInput", "kind": "extension", "id": "extension|MoneyInput|0|0|bool|UiText id;ref double value;MoneyOpts o = default||hd65fb688e51d9a482d2f9031cdb57646790ad85a3c809e961601a8725a753b42", "signature": "bool MoneyInput(UiText id, ref double value, MoneyOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref double" }, { "name": "o", "type": "MoneyOpts", "default": "default" }], "summary": "Money field: shows the amount with thousands separators, edits as plain digits, keeps a fixed number of decimals." }, { "name": "MouseClicked", "kind": "method", "id": "method|MouseClicked|0|0|bool|MouseButton button||h8e0f0ad614e613c5c152543c9917af645f5ae90299577124c2da8f7863f69862", "signature": "bool MouseClicked(MouseButton button)", "parameters": [{ "name": "button", "type": "MouseButton" }], "summary": "True on the frame a mouse button went down." }, { "name": "MouseDown", "kind": "method", "id": "method|MouseDown|0|0|bool|MouseButton button||hf67b74dbd9e44892fdb6b384ac7537f75c21e2054ec9267ee7cf800f77c4c81d", "signature": "bool MouseDown(MouseButton button)", "parameters": [{ "name": "button", "type": "MouseButton" }], "summary": "True while a mouse button is held." }, { "name": "MultiSelect", "kind": "method", "id": "method|MultiSelect|0|0|bool|UiText id;ReadOnlySpan\u003Cstring\u003E items;Span\u003Cbool\u003E selected;MultiSelectOpts o = default||h3e128721808f3d5d3438e029c09a821039a75342e2851271e35420570d1affca", "signature": "bool MultiSelect(UiText id, ReadOnlySpan\u003Cstring\u003E items, Span\u003Cbool\u003E selected, MultiSelectOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "selected", "type": "Span\u003Cbool\u003E" }, { "name": "o", "type": "MultiSelectOpts", "default": "default" }], "summary": "A searchable list with one checkbox per item and chips for the chosen ones. Returns true on the frame an entry flips." }, { "name": "NavItem", "kind": "extension", "id": "extension|NavItem|0|0|bool|UiText label;NavOpts o = default||h163b7c5bf544cc2227cbef6b64c928a89e62b8536a9e4ab947179a86d455c59d", "signature": "bool NavItem(UiText label, NavOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "NavOpts", "default": "default" }], "summary": "Sidebar navigation item with a gliding selection highlight shared by all items in the same group." }, { "name": "NeedsRedraw", "kind": "property", "id": "property|NeedsRedraw|0|0|bool||get;|h5aadd05568570958d5b9529ecc317e3ce874d6c40baa003636859fb90a0da9fc", "signature": "bool NeedsRedraw { get; }" }, { "name": "NodeDeleted", "kind": "extension", "id": "extension|NodeDeleted|0|0|bool|ref int nodeId||hc3cfc3ad4c4fc3a042b1dbb26d3de5739a59ee9b1e9f8c1741f772a5e535d6bc", "signature": "bool NodeDeleted(ref int nodeId)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "nodeId", "type": "ref int" }], "summary": "cui_node_deleted" }, { "name": "NodeInput", "kind": "extension", "id": "extension|NodeInput|0|0|bool|int pinId;UiText label;PinOpts o = default||hd37a374006c3c8cd18c68d9d7503bd5160359d3f3e458d3531e756c52700b1f0", "signature": "bool NodeInput(int pinId, UiText label, PinOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "pinId", "type": "int" }, { "name": "label", "type": "UiText" }, { "name": "o", "type": "PinOpts", "default": "default" }], "summary": "A row with a pin on the left (input) or right (output). type picks the pin color from the series palette and limits links to pins of the same type (0 connects to anything). Returns true when the pin has a link." }, { "name": "NodeLink", "kind": "extension", "id": "extension|NodeLink|0|0|bool|int linkId;int fromPin;int toPin||hab2ff05d12c3863dc35ff7ced8cdef83783fba6a2e16dbd81214feb3eaf01910", "signature": "bool NodeLink(int linkId, int fromPin, int toPin)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "linkId", "type": "int" }, { "name": "fromPin", "type": "int" }, { "name": "toPin", "type": "int" }], "summary": "A link from an output pin to an input pin. Returns true while it is selected." }, { "name": "NodeLinkCreated", "kind": "extension", "id": "extension|NodeLinkCreated|0|0|bool|ref int fromPin;ref int toPin||h7c136a895333c132f83c1d99cf5809163d5430c0060eaaedcf7bbe0f15f462bd", "signature": "bool NodeLinkCreated(ref int fromPin, ref int toPin)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "fromPin", "type": "ref int" }, { "name": "toPin", "type": "ref int" }], "summary": "What the user did this frame, one event per call; call them after cui_node_editor_begin (and up to the end of the frame)." }, { "name": "NodeLinkRemoved", "kind": "extension", "id": "extension|NodeLinkRemoved|0|0|bool|ref int linkId||h8cf7097abf407418a15af49e45ee086b240ec03b1e130c7888ce620da1bbadca", "signature": "bool NodeLinkRemoved(ref int linkId)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "linkId", "type": "ref int" }], "summary": "Part of cui_node_link \u2014 A link from an output pin to an input pin. Returns true while it is selected." }, { "name": "NodeOutput", "kind": "extension", "id": "extension|NodeOutput|0|0|bool|int pinId;UiText label;PinOpts o = default||h3750efacdd047bf840c0482278adf33fa6dd72ffa3acb6bf2c1afd789b95d351", "signature": "bool NodeOutput(int pinId, UiText label, PinOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "pinId", "type": "int" }, { "name": "label", "type": "UiText" }, { "name": "o", "type": "PinOpts", "default": "default" }], "summary": "A row with a pin on the left (input) or right (output). type picks the pin color from the series palette and limits links to pins of the same type (0 connects to anything). Returns true when the pin has a link." }, { "name": "Number", "kind": "method", "id": "method|Number|0|0|bool|UiText id;ref double value;double min;double max;NumberOpts o = default||h695eacf696437442db4c71e212e9d772037965f7b79fa0164581c32f72012f09", "signature": "bool Number(UiText id, ref double value, double min, double max, NumberOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref double" }, { "name": "min", "type": "double" }, { "name": "max", "type": "double" }, { "name": "o", "type": "NumberOpts", "default": "default" }] }, { "name": "OtpInput", "kind": "method", "id": "method|OtpInput|0|0|bool|UiText id;ref string value;int length||h8029c922f0c302147b4a9d172f51e477cf692656857072b2505965f1cc911eaf", "signature": "bool OtpInput(UiText id, ref string value, int length)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref string" }, { "name": "length", "type": "int" }], "summary": "One-time code input: length boxes, buffer length \u002B 1." }, { "name": "Pagination", "kind": "extension", "id": "extension|Pagination|0|0|bool|UiText id;ref int page;int pageCount||h79ccb8aea896cd889c714acd8763edcf22dbbfb029a1dbd70ed9639354c6b6c8", "signature": "bool Pagination(UiText id, ref int page, int pageCount)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "page", "type": "ref int" }, { "name": "pageCount", "type": "int" }], "summary": "page is 0 based" }, { "name": "PopoverIsOpen", "kind": "extension", "id": "extension|PopoverIsOpen|0|0|bool|UiText id||h83722811a2be8261fbe93cc555b026a4a1e130ec294d2cd25013358d929a3c0e", "signature": "bool PopoverIsOpen(UiText id)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "cui_popover_is_open" }, { "name": "PropBool", "kind": "extension", "id": "extension|PropBool|0|0|bool|UiText label;ref bool value;PropOpts o = default||h121ac40771efea9741585563443f4c4687f7a10d137ffd9d268555b5501ddd64", "signature": "bool PropBool(UiText label, ref bool value, PropOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref bool" }, { "name": "o", "type": "PropOpts", "default": "default" }], "summary": "cui_prop_bool_ex" }, { "name": "PropColor", "kind": "extension", "id": "extension|PropColor|0|0|bool|UiText label;ref Color value;PropOpts o = default||h6ca0bc5ddc35dae8cf9131bd28c26cd31e497e501164de0d50828fb7983a1cc2", "signature": "bool PropColor(UiText label, ref Color value, PropOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref Color" }, { "name": "o", "type": "PropOpts", "default": "default" }], "summary": "A swatch and hex value that opens the color picker." }, { "name": "PropEnum", "kind": "extension", "id": "extension|PropEnum|0|0|bool|UiText label;ReadOnlySpan\u003Cstring\u003E items;ref int index;PropOpts o = default||h241aa42ffd01f5c7a9fadb861af4a608b0c8a014ae458b62692370d10cf009d8", "signature": "bool PropEnum(UiText label, ReadOnlySpan\u003Cstring\u003E items, ref int index, PropOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "index", "type": "ref int" }, { "name": "o", "type": "PropOpts", "default": "default" }], "summary": "cui_prop_enum_ex" }, { "name": "PropFloat", "kind": "extension", "id": "extension|PropFloat|0|0|bool|UiText label;ref float value;PropOpts o = default||hc8efd7345903f342766598358e2e5c0998eb7933cf7f5cec0429b86873ff6ccf", "signature": "bool PropFloat(UiText label, ref float value, PropOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref float" }, { "name": "o", "type": "PropOpts", "default": "default" }], "summary": "cui_prop_float_ex" }, { "name": "PropInt", "kind": "extension", "id": "extension|PropInt|0|0|bool|UiText label;ref int value;PropOpts o = default||hd93df8234e1afb0dba5df9a1531c8936c732948e17db67e12102617d568c305b", "signature": "bool PropInt(UiText label, ref int value, PropOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref int" }, { "name": "o", "type": "PropOpts", "default": "default" }], "summary": "cui_prop_int_ex" }, { "name": "PropText", "kind": "extension", "id": "extension|PropText|0|0|bool|UiText label;ref string buf;int cap;PropOpts o = default||h46a1a717145b1f3a7800e8921d45ea9b002d8c2fdf5958fbf3c03f97fc47d1db", "signature": "bool PropText(UiText label, ref string buf, int cap, PropOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "buf", "type": "ref string" }, { "name": "cap", "type": "int" }, { "name": "o", "type": "PropOpts", "default": "default" }], "summary": "cui_prop_text_ex" }, { "name": "PropVec", "kind": "extension", "id": "extension|PropVec|0|0|bool|UiText label;ref float value;int components;PropOpts o = default||h57600f963270b3c592fd247d9b1f943533361ae615e7b6ca52e287fa289a67b2", "signature": "bool PropVec(UiText label, ref float value, int components, PropOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref float" }, { "name": "components", "type": "int" }, { "name": "o", "type": "PropOpts", "default": "default" }], "summary": "Compact X, Y (Z, W) scrub fields side by side; value holds 2, 3 or 4 floats." }, { "name": "QueryBuilder", "kind": "extension", "id": "extension|QueryBuilder|0|0|bool|UiText id;ReadOnlySpan\u003CQueryField\u003E fields;Span\u003CQueryNode\u003E nodes;ref int count;QueryOpts o = default||hf3edbb954d2f83ed4e81805130275cc7c0ef85dc162f7e4b8a07a3d9d533090f", "signature": "bool QueryBuilder(UiText id, ReadOnlySpan\u003CQueryField\u003E fields, Span\u003CQueryNode\u003E nodes, ref int count, QueryOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "fields", "type": "ReadOnlySpan\u003CQueryField\u003E" }, { "name": "nodes", "type": "Span\u003CQueryNode\u003E" }, { "name": "count", "type": "ref int" }, { "name": "o", "type": "QueryOpts", "default": "default" }], "summary": "cui_query_builder_ex" }, { "name": "Radio", "kind": "extension", "id": "extension|Radio|0|0|bool|UiText label;ref int value;int option;CheckOpts o = default||h837451b9483026bc7e273c76e5251c0de524d770f182a8365674ac44553130ee", "signature": "bool Radio(UiText label, ref int value, int option, CheckOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref int" }, { "name": "option", "type": "int" }, { "name": "o", "type": "CheckOpts", "default": "default" }], "summary": "cui_radio_ex" }, { "name": "RadioCards", "kind": "extension", "id": "extension|RadioCards|0|0|bool|UiText id;ReadOnlySpan\u003CChoice\u003E choices;ref int index;RadioCardsOpts o = default||h277ecfd91b4ab6ad87556ac5585d5014c5f8f4b70743ded6f2d33b25b513c439", "signature": "bool RadioCards(UiText id, ReadOnlySpan\u003CChoice\u003E choices, ref int index, RadioCardsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "choices", "type": "ReadOnlySpan\u003CChoice\u003E" }, { "name": "index", "type": "ref int" }, { "name": "o", "type": "RadioCardsOpts", "default": "default" }], "summary": "Radio cards: larger selectable cards for choices that need a description (plans, templates)." }, { "name": "RadioGroup", "kind": "extension", "id": "extension|RadioGroup|0|0|bool|UiText id;ReadOnlySpan\u003Cstring\u003E items;ref int index||h13b5e8871098bf87979cd713e4fa844042e8066de15ba83cf7b5cda071897cee", "signature": "bool RadioGroup(UiText id, ReadOnlySpan\u003Cstring\u003E items, ref int index)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "index", "type": "ref int" }], "summary": "cui_radio_group" }, { "name": "RangeCalendar", "kind": "extension", "id": "extension|RangeCalendar|0|0|bool|UiText id;ref DateRange range;int months||h8c74871e3d5b09aa52567046cfb0cacddba5d6bd45af5a0343aa6ea880da3344", "signature": "bool RangeCalendar(UiText id, ref DateRange range, int months)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "range", "type": "ref DateRange" }, { "name": "months", "type": "int" }], "summary": "One or two months side by side; click a start and an end." }, { "name": "RangeSlider", "kind": "extension", "id": "extension|RangeSlider|0|0|bool|UiText label;ref float lo;ref float hi;float min;float max||h431a1c22347795ecfaf7422d776daf2552ad13b1bbafc0b34e7ddfbb9f6fca1e", "signature": "bool RangeSlider(UiText label, ref float lo, ref float hi, float min, float max)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "lo", "type": "ref float" }, { "name": "hi", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }], "summary": "cui_range_slider" }, { "name": "Rating", "kind": "extension", "id": "extension|Rating|0|0|bool|UiText id;ref int value;int max = 5||ha54ef468c924f3613d361d9d3e4ba18c9bed4ef0f7d7dd855532a052b89231ce", "signature": "bool Rating(UiText id, ref int value, int max = 5)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref int" }, { "name": "max", "type": "int", "default": "5" }], "summary": "cui_rating" }, { "name": "ReorderEnd", "kind": "method", "id": "method|ReorderEnd|0|0|bool|||h289d889249190a219f4708d3f6a34916df30d8dccdd623b1af17d06cf7ad4fe9", "signature": "bool ReorderEnd()" }, { "name": "RulerSlider", "kind": "extension", "id": "extension|RulerSlider|0|0|bool|UiText label;ref float value;float min;float max;RulerOpts o = default||hda8dec175710635b7de7215517d587b9a5332ed440922d693ed02813d9c4deb7", "signature": "bool RulerSlider(UiText label, ref float value, float min, float max, RulerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "o", "type": "RulerOpts", "default": "default" }], "summary": "Ruler slider: a tape measure that slides under a fixed marker, with momentum and snapping to step." }, { "name": "Scrub", "kind": "extension", "id": "extension|Scrub|0|0|bool|UiText label;ref float value;float min;float max;ScrubOpts o = default||h816f9787704b09241842573d59264e0cc5674f4a764e0ae2054b721f3ad20a7b", "signature": "bool Scrub(UiText label, ref float value, float min, float max, ScrubOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "o", "type": "ScrubOpts", "default": "default" }], "summary": "Scrub field: drag sideways anywhere on it to change the value (Shift for fine steps), or click to type a number. Arrow keys step when focused." }, { "name": "Segmented", "kind": "extension", "id": "extension|Segmented|0|0|bool|UiText id;ReadOnlySpan\u003Cstring\u003E items;ref int index;SegmentedOpts o = default||h8452b4d90fbd938f7492782df2bfd7e49e6f17b79bb32a7fa92536dbbc52bbfb", "signature": "bool Segmented(UiText id, ReadOnlySpan\u003Cstring\u003E items, ref int index, SegmentedOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "index", "type": "ref int" }, { "name": "o", "type": "SegmentedOpts", "default": "default" }], "summary": "Segmented control: a row of options with a gliding highlight." }, { "name": "Select", "kind": "extension", "id": "extension|Select|0|0|bool|UiText id;ReadOnlySpan\u003Cstring\u003E items;ref int index;SelectOpts o = default||h4546d9051044aa80f649b171897799d53c415b998250abdc626bf84e5341bea3", "signature": "bool Select(UiText id, ReadOnlySpan\u003Cstring\u003E items, ref int index, SelectOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "index", "type": "ref int" }, { "name": "o", "type": "SelectOpts", "default": "default" }], "summary": "cui_select_ex" }, { "name": "Shortcut", "kind": "method", "id": "method|Shortcut|0|0|bool|Mods mods;Key key||h23544d98ad9364c783897d23b07d28fd4c4889f44ac4f6b734142ae19cee295a", "signature": "bool Shortcut(Mods mods, Key key)", "parameters": [{ "name": "mods", "type": "Mods" }, { "name": "key", "type": "Key" }] }, { "name": "ShortcutRecorder", "kind": "extension", "id": "extension|ShortcutRecorder|0|0|bool|UiText id;ref KeyCombo combo;ShortcutRecorderOpts o = default||h22c067848057da16592bf471e38a3d5c8d3e7a976928a24a34dda5e650586e2a", "signature": "bool ShortcutRecorder(UiText id, ref KeyCombo combo, ShortcutRecorderOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "combo", "type": "ref KeyCombo" }, { "name": "o", "type": "ShortcutRecorderOpts", "default": "default" }], "summary": "Shortcut recorder: click and press a key combination to record it. Backspace clears, Esc cancels. Returns true when the combination changed. cui_shortcut_label formats a combination (\u0022Ctrl Shift K\u0022)." }, { "name": "SignaturePad", "kind": "extension", "id": "extension|SignaturePad|0|0|bool|UiText id;SignatureOpts o = default||h26a7180ac812cfc40208765b73de3283d8bdc2a773db48e467c36bfac61e2f47", "signature": "bool SignaturePad(UiText id, SignatureOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "SignatureOpts", "default": "default" }], "summary": "Signature pad: draw with the mouse or a pen. The strokes are kept for you; read them with cui_signature_points (stroke_ends[i] is one past the last point of stroke i)." }, { "name": "Slider", "kind": "extension", "id": "extension|Slider|0|0|bool|UiText label;ref float value;float min;float max;SliderOpts o = default||h07890e859be8c8053afac54f6a7ef888728ac54358e77cca1a0c6f9d5936fcd0", "signature": "bool Slider(UiText label, ref float value, float min, float max, SliderOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "o", "type": "SliderOpts", "default": "default" }], "summary": "Elastic slider: the track stretches like rubber when dragged past its ends." }, { "name": "StatusBarItem", "kind": "extension", "id": "extension|StatusBarItem|0|0|bool|UiText label;StatusItemOpts o = default||h35fa1b9b36f005ceff913dc858202baee2f50d4678537b369e987582020f4d84", "signature": "bool StatusBarItem(UiText label, StatusItemOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "o", "type": "StatusItemOpts", "default": "default" }], "summary": "A small clickable item (\u0022Ln 12, Col 4\u0022, \u0022UTF-8\u0022). Returns true when clicked." }, { "name": "StatusButton", "kind": "extension", "id": "extension|StatusButton|0|0|bool|UiText label;Status status;StatusButtonOpts o = default||h5c9d9e2cd49f70a00398d2fe51ccf1933f78becdf2d7e5b610c5e2427ee30722", "signature": "bool StatusButton(UiText label, Status status, StatusButtonOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "status", "type": "Status" }, { "name": "o", "type": "StatusButtonOpts", "default": "default" }], "summary": "cui_status_button_ex" }, { "name": "Switch", "kind": "extension", "id": "extension|Switch|0|0|bool|UiText label;ref bool value;CheckOpts o = default||he58bf080044a84430ae1c50aae77072ba3e8bc1dc7ad4f8576f39e74324cd486", "signature": "bool Switch(UiText label, ref bool value, CheckOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "ref bool" }, { "name": "o", "type": "CheckOpts", "default": "default" }], "summary": "cui_switch_ex" }, { "name": "TabBar", "kind": "extension", "id": "extension|TabBar|0|0|bool|UiText id;ReadOnlySpan\u003CTabBarItem\u003E items;ref int selected;TabBarOpts o = default||h3b532a1edd39eaf1a6db4278f4c3c26674c9a67777ba72dd890ca8c67ecbb0d8", "signature": "bool TabBar(UiText id, ReadOnlySpan\u003CTabBarItem\u003E items, ref int selected, TabBarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CTabBarItem\u003E" }, { "name": "selected", "type": "ref int" }, { "name": "o", "type": "TabBarOpts", "default": "default" }], "summary": "Bottom tab bar for compact layouts, with a pill that glides to the selection." }, { "name": "TableRow", "kind": "extension", "id": "extension|TableRow|0|0|bool|bool selected||h5862a1074065231ee67e616f36b6ef2708e5a53d06e9c647dfc4e50f9f54feb9", "signature": "bool TableRow(bool selected)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "selected", "type": "bool" }], "summary": "Begin a row. Returns true when the row is clicked." }, { "name": "Tabs", "kind": "extension", "id": "extension|Tabs|0|0|bool|UiText id;ReadOnlySpan\u003Cstring\u003E items;ref int index;TabsOpts o = default||h44602f1d285b43ccb2a4a3f04fc10eeb9824d034d9c4786918ec03417b25d800", "signature": "bool Tabs(UiText id, ReadOnlySpan\u003Cstring\u003E items, ref int index, TabsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "index", "type": "ref int" }, { "name": "o", "type": "TabsOpts", "default": "default" }], "summary": "cui_tabs_ex" }, { "name": "TagInput", "kind": "method", "id": "method|TagInput|0|0|bool|UiText id;ref string value;TagOpts o = default||h7d78f96fc27b022e7ce11dd6a4742470284f57dc2e17866e76fb8b61780bf9f0", "signature": "bool TagInput(UiText id, ref string value, TagOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "ref string" }, { "name": "o", "type": "TagOpts", "default": "default" }], "summary": "Comma-separated tags in one field; enter or comma adds, backspace removes." }, { "name": "ThemeSwitcher", "kind": "extension", "id": "extension|ThemeSwitcher|0|0|bool|ref int mode;bool withSystem||h6ac2911103fa89f29df34fe5abd3737f62b03fad01ac2c5f7ce9f96f81466e7b", "signature": "bool ThemeSwitcher(ref int mode, bool withSystem)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "mode", "type": "ref int" }, { "name": "withSystem", "type": "bool" }], "summary": "Theme switcher: light, dark and (optionally) system, as a compact icon segmented control. mode is 0 light, 1 dark, 2 system. Light and dark are applied for you; for system call cui_set_theme with the OS setting. Returns true when mode changed." }, { "name": "ThemeToggle", "kind": "extension", "id": "extension|ThemeToggle|0|0|bool|||hac003993a346e758ec03a7b5cae2fbd886929a7ae077d9f9459a78e6cb9e9028", "signature": "bool ThemeToggle()", "extensionOn": "CuiSharp.Ui", "summary": "Sun and moon icon button that toggles the theme with a morph." }, { "name": "TimeDial", "kind": "extension", "id": "extension|TimeDial|0|0|bool|UiText id;ref int hour;ref int minute;float size||hc81f9c9c6cda6a218a1a97579124c3a6415d5a3bec246c2545e9638a3cbefadc", "signature": "bool TimeDial(UiText id, ref int hour, ref int minute, float size)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "hour", "type": "ref int" }, { "name": "minute", "type": "ref int" }, { "name": "size", "type": "float" }], "summary": "Time dial: a clock face. Drag the hand to set hours, then minutes." }, { "name": "TimePicker", "kind": "extension", "id": "extension|TimePicker|0|0|bool|UiText id;ref int hour;ref int minute;TimeOpts o = default||h2f5e91438efc0191e949769048849a3fb8bb629993aef37fa50790655d5a16e2", "signature": "bool TimePicker(UiText id, ref int hour, ref int minute, TimeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "hour", "type": "ref int" }, { "name": "minute", "type": "ref int" }, { "name": "o", "type": "TimeOpts", "default": "default" }], "summary": "Time picker: a field that opens hour and minute columns. hour is 0..23." }, { "name": "ToastActionClicked", "kind": "extension", "id": "extension|ToastActionClicked|0|0|bool|int handle||h80802ec80123dda69208be2582b05ccc3d887063aa242cdb0a7d5f946417cce1", "signature": "bool ToastActionClicked(int handle)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "handle", "type": "int" }], "summary": "cui_toast_action_clicked" }, { "name": "ToggleGroup", "kind": "method", "id": "method|ToggleGroup|0|0|bool|UiText id;ReadOnlySpan\u003Cstring\u003E labels;Span\u003Cbool\u003E values;ToggleGroupOpts o = default||hbf4630396185f73a4900042d74fe62f684385217a55457d20067677982015437", "signature": "bool ToggleGroup(UiText id, ReadOnlySpan\u003Cstring\u003E labels, Span\u003Cbool\u003E values, ToggleGroupOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "labels", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "values", "type": "Span\u003Cbool\u003E" }, { "name": "o", "type": "ToggleGroupOpts", "default": "default" }], "summary": "A row of toggle buttons sharing one bool per label. Independent by default; Exclusive makes them behave like radio buttons. Returns true on the frame an entry flips." }, { "name": "ToolbarButton", "kind": "extension", "id": "extension|ToolbarButton|0|0|bool|UiText icon;ref bool toggle;ToolOpts o = default||h280488daf404cebc0318d20c1e09b3000ff82103111371b7fdf8c2735fe2c970", "signature": "bool ToolbarButton(UiText icon, ref bool toggle, ToolOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "icon", "type": "UiText" }, { "name": "toggle", "type": "ref bool" }, { "name": "o", "type": "ToolOpts", "default": "default" }], "summary": "cui_toolbar_button_ex" }, { "name": "TreeCell", "kind": "extension", "id": "extension|TreeCell|0|0|bool|UiText label;int depth;bool hasChildren;ref bool open;UiText icon||h7d87cfa9d747ede3646c93ffc4296bb6d158f59a36670c943b38b8891f9a08bd", "signature": "bool TreeCell(UiText label, int depth, bool hasChildren, ref bool open, UiText icon)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "depth", "type": "int" }, { "name": "hasChildren", "type": "bool" }, { "name": "open", "type": "ref bool" }, { "name": "icon", "type": "UiText" }], "summary": "Tree cell: indentation, a disclosure chevron and a label, for tree tables (use it in a table or grid cell). Returns true when *open toggled." }, { "name": "TreeClicked", "kind": "extension", "id": "extension|TreeClicked|0|0|bool|||he0d6c1a473304bfa16c30035268639d026f37ddeade6a53e36b6a43056ea0039", "signature": "bool TreeClicked()", "extensionOn": "CuiSharp.Ui", "summary": "the node created by the last cui_tree_begin was clicked" }, { "name": "Typewriter", "kind": "extension", "id": "extension|Typewriter|0|0|bool|UiText id;UiText text;TextFxOpts o = default||hd2793d1d9701d6e1c2de232ed4163f8a0a17de8606e1a0c00033798e26804d7b", "signature": "bool Typewriter(UiText id, UiText text, TextFxOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "text", "type": "UiText" }, { "name": "o", "type": "TextFxOpts", "default": "default" }], "summary": "Types the text out. When the text grows (streamed tokens) it carries on from where it was; other changes start over. Returns true once complete." }, { "name": "VoiceOrb", "kind": "extension", "id": "extension|VoiceOrb|0|0|bool|UiText id;VoiceState state;float level;VoiceOrbOpts o = default||h55678c858554bd6ffbc3fbad4b03aeb90fff9d582a2dad8b10090a9496cf7d41", "signature": "bool VoiceOrb(UiText id, VoiceState state, float level, VoiceOrbOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "state", "type": "VoiceState" }, { "name": "level", "type": "float" }, { "name": "o", "type": "VoiceOrbOpts", "default": "default" }], "summary": "cui_voice_orb_ex" }, { "name": "WantsKeyboard", "kind": "property", "id": "property|WantsKeyboard|0|0|bool||get;|h9fd1d2033ea34ec49759c84f9a199c15d92ad7e28a6a1a4cc3ebee535bec764b", "signature": "bool WantsKeyboard { get; }" }, { "name": "WantsMouse", "kind": "property", "id": "property|WantsMouse|0|0|bool||get;|h88ad7771300bfdd824d0527cc05ab2978f5a741b34494adb9660c29ae0fd53b7", "signature": "bool WantsMouse { get; }", "summary": "True when the pointer is over this window and the UI wants it." }, { "name": "Waveform", "kind": "extension", "id": "extension|Waveform|0|0|bool|UiText id;ReadOnlySpan\u003Cfloat\u003E peaks;ref float progress;WaveformOpts o = default||h82b5eb85d1dd0e891471303dae6af8ef45f993a4522c265b5380640be5f95a34", "signature": "bool Waveform(UiText id, ReadOnlySpan\u003Cfloat\u003E peaks, ref float progress, WaveformOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "peaks", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "progress", "type": "ref float" }, { "name": "o", "type": "WaveformOpts", "default": "default" }], "summary": "Waveform: bars from peaks (0..1). With progress, the played part is colored and clicking or dragging seeks; returns true when it did." }, { "name": "WheelPicker", "kind": "extension", "id": "extension|WheelPicker|0|0|bool|UiText id;ReadOnlySpan\u003Cstring\u003E items;ref int index;WheelOpts o = default||h6e20c98f3670a089db93c4a37a910bd23a7f6b3a8ad5c2cd67e1294d58a2fae4", "signature": "bool WheelPicker(UiText id, ReadOnlySpan\u003Cstring\u003E items, ref int index, WheelOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "index", "type": "ref int" }, { "name": "o", "type": "WheelOpts", "default": "default" }], "summary": "Wheel picker: a drum of options that you drag, scroll or arrow through. Several side by side make a date or time reel. join_left / join_right square off the selection band so wheels placed side by side share one continuous band." }, { "name": "Time", "kind": "property", "id": "property|Time|0|0|double||get;|h59d804a6c66b43aad6ffe38fb8d686d405da1f1e73a127a3af738e7ba55df397", "signature": "double Time { get; }", "summary": "Seconds since the app started. Monotonic; use it for animation phases." }, { "name": "Animate", "kind": "method", "id": "method|Animate|0|0|float|UiText id;float target||h6aa8f80b2f784f8d21be090f3514e71ea8c5c9e820fb1fc041073b0956552fa8", "signature": "float Animate(UiText id, float target)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "target", "type": "float" }], "summary": "Moves a value toward target with a spring, keyed by id." }, { "name": "AnimateSpring", "kind": "method", "id": "method|AnimateSpring|0|0|float|UiText id;float target;float duration;float bounce||h18961b791dced18013209a15d6f4c3ea989233c2d507d6986cf80ff8eea91b47", "signature": "float AnimateSpring(UiText id, float target, float duration, float bounce)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "target", "type": "float" }, { "name": "duration", "type": "float" }, { "name": "bounce", "type": "float" }], "summary": "Moves a value toward target with a spring of the given duration and bounce." }, { "name": "DeltaTime", "kind": "property", "id": "property|DeltaTime|0|0|float||get;|h9b38e45e1e2ffd64837bd659bc02203c5bcd38701ca6046589022c3424ef1a09", "signature": "float DeltaTime { get; }", "summary": "Seconds since the previous frame, clamped by the host." }, { "name": "DpiScale", "kind": "property", "id": "property|DpiScale|0|0|float||get;|hd6fea6745004ce2bacbb8eac54eebd74e77705ff2605b31ccb4a18c241ebb063", "signature": "float DpiScale { get; }", "summary": "Device pixels per logical point for the window this frame draws into." }, { "name": "ActivityRings", "kind": "extension", "id": "extension|ActivityRings|0|0|int|UiText id;ReadOnlySpan\u003CVizItem\u003E rings;RingsOpts o = default||he739303ba236c8b2947fe3ee08443b09f019e41b8acac0f7da681d197ae0307e", "signature": "int ActivityRings(UiText id, ReadOnlySpan\u003CVizItem\u003E rings, RingsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "rings", "type": "ReadOnlySpan\u003CVizItem\u003E" }, { "name": "o", "type": "RingsOpts", "default": "default" }], "summary": "Activity rings: concentric progress rings; values past 1 keep winding." }, { "name": "AgentPlan", "kind": "extension", "id": "extension|AgentPlan|0|0|int|UiText id;ReadOnlySpan\u003CPlanStep\u003E steps;AgentPlanOpts o = default||h6067d2501a7a26bcccda0db7d672b245a2fcff12d68ede6c491d265a45d1b4b9", "signature": "int AgentPlan(UiText id, ReadOnlySpan\u003CPlanStep\u003E steps, AgentPlanOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "steps", "type": "ReadOnlySpan\u003CPlanStep\u003E" }, { "name": "o", "type": "AgentPlanOpts", "default": "default" }], "summary": "Agent plan: steps with their status on a connected rail, and progress." }, { "name": "AvatarUpload", "kind": "extension", "id": "extension|AvatarUpload|0|0|int|UiText id;UiText name;ref ulong image;float size||h2032bcd7f55566afffa2cde5d86987aa5b1a36719844c8d755d13b19b16255bb", "signature": "int AvatarUpload(UiText id, UiText name, ref ulong image, float size)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "name", "type": "UiText" }, { "name": "image", "type": "ref ulong" }, { "name": "size", "type": "float" }], "summary": "Avatar upload: a round avatar that takes a dropped image, with a camera badge on hover. Returns 1 when *image changed, -1 when clicked (browse), 0 otherwise. A dropped image is loaded with cui_image_load." }, { "name": "BarList", "kind": "extension", "id": "extension|BarList|0|0|int|UiText id;ReadOnlySpan\u003CVizItem\u003E items;BarListOpts o = default||h0e2abad96db38540b47d6c74f2cc68369ed40c046f6bf6c2d2dea3c10d465680", "signature": "int BarList(UiText id, ReadOnlySpan\u003CVizItem\u003E items, BarListOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CVizItem\u003E" }, { "name": "o", "type": "BarListOpts", "default": "default" }], "summary": "Bar list: ranked horizontal bars. Rows are keyed by label, so when the values change the bars grow and the rows slide to their new rank." }, { "name": "Breadcrumb", "kind": "extension", "id": "extension|Breadcrumb|0|0|int|ReadOnlySpan\u003Cstring\u003E items||h7e5435f64395bbaf15f18d4923a996c88ca3bd79318405fd33733751c65e8682", "signature": "int Breadcrumb(ReadOnlySpan\u003Cstring\u003E items)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }], "summary": "returns clicked index or -1" }, { "name": "CalendarHeatmap", "kind": "extension", "id": "extension|CalendarHeatmap|0|0|int|UiText id;Date start;ReadOnlySpan\u003Cfloat\u003E values;CalendarHeatmapOpts o = default||hdf61b9c82e018ac6c9a5f0797950a2a53c4826b47594dd073d18121a1691e796", "signature": "int CalendarHeatmap(UiText id, Date start, ReadOnlySpan\u003Cfloat\u003E values, CalendarHeatmapOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "start", "type": "Date" }, { "name": "values", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "o", "type": "CalendarHeatmapOpts", "default": "default" }], "summary": "Calendar heatmap: one cell per day from start, weeks as columns, in five levels, with month and weekday labels and a Less / More legend." }, { "name": "Candlestick", "kind": "extension", "id": "extension|Candlestick|0|0|int|UiText id;ReadOnlySpan\u003CCandle\u003E candles;CandlestickOpts o = default||hdab8fd71be859d6cc56de05a9e2feb81a2532c176230e766fa2ba67fa5260e3c", "signature": "int Candlestick(UiText id, ReadOnlySpan\u003CCandle\u003E candles, CandlestickOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "candles", "type": "ReadOnlySpan\u003CCandle\u003E" }, { "name": "o", "type": "CandlestickOpts", "default": "default" }], "summary": "Returns the candle under the crosshair (pointer or keys), or -1." }, { "name": "CardStack", "kind": "extension", "id": "extension|CardStack|0|0|int|UiText id;int count;DrawFn body;CardStackOpts o = default||h2dadbccb1e5391a98cfda3530cd5b460c17e79dd01b6927d2346f58287b56332", "signature": "int CardStack(UiText id, int count, DrawFn body, CardStackOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "count", "type": "int" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "CardStackOpts", "default": "default" }], "summary": "Card stack: a deck where the top card can be flicked away left or right. Build \u0060count\u0060 cards; card 0 is the top. end returns -1 or 1 on the frame the top card leaves (to the left or right), else 0. The end call reports which card in the stack is active, or -1, so the body overload returns it." }, { "name": "Checklist", "kind": "extension", "id": "extension|Checklist|0|0|int|UiText id;ReadOnlySpan\u003CCheckStep\u003E steps;ChecklistOpts o = default||hb1cdf5bee54759618ba4c2e6386ab30794ff911948e833f0610afb911e63f554", "signature": "int Checklist(UiText id, ReadOnlySpan\u003CCheckStep\u003E steps, ChecklistOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "steps", "type": "ReadOnlySpan\u003CCheckStep\u003E" }, { "name": "o", "type": "ChecklistOpts", "default": "default" }], "summary": "Onboarding checklist: a card with progress and steps. The first open step shows its description and action. Clicking a step\u0027s circle toggles done. Returns the index whose action was clicked, or -1." }, { "name": "CommandPalette", "kind": "extension", "id": "extension|CommandPalette|0|0|int|ref bool open;ReadOnlySpan\u003CCommand\u003E commands||h001b59aa0ea6df8a0ea3d57d57bc1d6c25690db136f11ce1d794c93d9c7bbfc3", "signature": "int CommandPalette(ref bool open, ReadOnlySpan\u003CCommand\u003E commands)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "open", "type": "ref bool" }, { "name": "commands", "type": "ReadOnlySpan\u003CCommand\u003E" }], "summary": "Spotlight style command palette. Returns the index of the chosen command, or -1. Open it with a shortcut: if (cui_shortcut(ui, CUI_MOD_PRIMARY, CUI_KEY_K)) open = true;" }, { "name": "DiffRows", "kind": "extension", "id": "extension|DiffRows|0|0|int|UiText id;Span\u003CDiffRow\u003E rows;int first = default||h5c94a97ef7958912de5bdb07673a9402664eef62f0238701e95229d154b6ac95", "signature": "int DiffRows(UiText id, Span\u003CDiffRow\u003E rows, int first = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "rows", "type": "Span\u003CDiffRow\u003E" }, { "name": "first", "type": "int", "default": "default" }], "summary": "Copies up to rows.Length of the diff view\u0027s rows into rows, starting at row first." }, { "name": "DroppedFileCount", "kind": "property", "id": "property|DroppedFileCount|0|0|int||get;|h5421210a1933793fbee263cb811628208321526d954709ce2c6f023389dc8e5d", "signature": "int DroppedFileCount { get; }", "summary": "Number of files the window is tracking as dropped; a dropzone reports them first." }, { "name": "Dropzone", "kind": "extension", "id": "extension|Dropzone|0|0|int|UiText id;DropzoneOpts o = default||h1a4c314252379bc356942c2d624bf8dc2388e096a816cda96c08748d80f874cf", "signature": "int Dropzone(UiText id, DropzoneOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "o", "type": "DropzoneOpts", "default": "default" }], "summary": "Dropzone: drop files from the OS, or click to browse. Returns the number of files dropped on it this frame (read them with cui_dropped_file), -1 when clicked (open a file dialog), 0 otherwise. accept filters by extension, e.g. \u0022png;jpg;pdf\u0022." }, { "name": "Funnel", "kind": "extension", "id": "extension|Funnel|0|0|int|UiText id;ReadOnlySpan\u003CVizItem\u003E stages;FunnelOpts o = default||he5202d3e37c12c123db9bc8dddaf33f25d6ee0d1790d21a12846d2233ba2f5e4", "signature": "int Funnel(UiText id, ReadOnlySpan\u003CVizItem\u003E stages, FunnelOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "stages", "type": "ReadOnlySpan\u003CVizItem\u003E" }, { "name": "o", "type": "FunnelOpts", "default": "default" }], "summary": "Funnel: stages narrowing by value, with the conversion between them." }, { "name": "Gantt", "kind": "extension", "id": "extension|Gantt|0|0|int|UiText id;Span\u003CGanttTask\u003E tasks;Date origin;int days;GanttOpts o = default||h6405eb5f36078bd6c78b652a408e39c0fdb1c3a89355a3c7e0368f5d2306981a", "signature": "int Gantt(UiText id, Span\u003CGanttTask\u003E tasks, Date origin, int days, GanttOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "tasks", "type": "Span\u003CGanttTask\u003E" }, { "name": "origin", "type": "Date" }, { "name": "days", "type": "int" }, { "name": "o", "type": "GanttOpts", "default": "default" }], "summary": "Gantt chart: a task list beside a timeline of bars. Drag a bar to move it, its ends to resize it. Dependencies are drawn as elbow arrows. Returns the index of a clicked task, or -1." }, { "name": "Heatmap", "kind": "extension", "id": "extension|Heatmap|0|0|int|UiText id;ReadOnlySpan\u003Cfloat\u003E values;int rows;int cols;HeatmapOpts o = default||hb23a8befed5cb93e645e80d3a23d15bd4f06bdbf22a6f65815edb1bef4129225", "signature": "int Heatmap(UiText id, ReadOnlySpan\u003Cfloat\u003E values, int rows, int cols, HeatmapOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "values", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "rows", "type": "int" }, { "name": "cols", "type": "int" }, { "name": "o", "type": "HeatmapOpts", "default": "default" }], "summary": "Heatmap: a rows x cols matrix (values[row * cols \u002B col]) on one hue, light to dark, with a scale below." }, { "name": "InlineEdit", "kind": "extension", "id": "extension|InlineEdit|0|0|int|UiText id;ref string buf;int cap = 256;InlineEditOpts o = default||hdc2fcc11f00fc875b370e784540495eec9451da64bf16b076e0bf19bfc7c475a", "signature": "int InlineEdit(UiText id, ref string buf, int cap = 256, InlineEditOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "buf", "type": "ref string" }, { "name": "cap", "type": "int", "default": "256" }, { "name": "o", "type": "InlineEditOpts", "default": "default" }], "summary": "Inline edit: text that turns into a field in place. Click (or Enter when focused) to edit, Enter or clicking away saves, Esc cancels. Returns CUI_CHANGED when an edit is committed." }, { "name": "PasswordStrength", "kind": "extension", "id": "extension|PasswordStrength|0|0|int|UiText password||h485b27b320ae208ea07b64ec8e1f317ab018ad6465c8ddb02cd01a4424689adb", "signature": "int PasswordStrength(UiText password)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "password", "type": "UiText" }], "summary": "Password strength meter (0 weak .. 4 strong). Returns the score." }, { "name": "PromptSuggestions", "kind": "extension", "id": "extension|PromptSuggestions|0|0|int|UiText id;ReadOnlySpan\u003CPromptSuggestion\u003E items;PromptSuggestionsOpts o = default||ha7ba62105e302f4fa64dd30bf005d6217ab47f44b8de4dcb382d55bb8686de65", "signature": "int PromptSuggestions(UiText id, ReadOnlySpan\u003CPromptSuggestion\u003E items, PromptSuggestionsOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CPromptSuggestion\u003E" }, { "name": "o", "type": "PromptSuggestionsOpts", "default": "default" }], "summary": "Prompt suggestions: cards to start a conversation with." }, { "name": "RadarChart", "kind": "extension", "id": "extension|RadarChart|0|0|int|UiText id;ReadOnlySpan\u003CSeries\u003E series;ReadOnlySpan\u003Cstring\u003E axes;RadarOpts o = default||hc3ad2df41c9c6b26dc90f3b916ae531651d598ceef8ab541dd035331b9ea768a", "signature": "int RadarChart(UiText id, ReadOnlySpan\u003CSeries\u003E series, ReadOnlySpan\u003Cstring\u003E axes, RadarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "series", "type": "ReadOnlySpan\u003CSeries\u003E" }, { "name": "axes", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "o", "type": "RadarOpts", "default": "default" }], "summary": "Radar chart: series over shared axes (series[i].values[axis])." }, { "name": "Reactions", "kind": "extension", "id": "extension|Reactions|0|0|int|UiText id;Span\u003CReaction\u003E items||h7528193af8d452456269a4867874808d1a14d9b9b10f82f0f851537b4f5fcc31", "signature": "int Reactions(UiText id, Span\u003CReaction\u003E items)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "Span\u003CReaction\u003E" }], "summary": "Reactions: icon pills with counts. Clicking toggles \u0060active\u0060 and adjusts the count. Returns the index that changed, or -1." }, { "name": "Sankey", "kind": "extension", "id": "extension|Sankey|0|0|int|UiText id;ReadOnlySpan\u003Cstring\u003E nodes;ReadOnlySpan\u003CSankeyLink\u003E links;SankeyOpts o = default||h54e60f881596c8425c36f81063bcf3bca0ae525a5cb9acb9d9291c93343d590b", "signature": "int Sankey(UiText id, ReadOnlySpan\u003Cstring\u003E nodes, ReadOnlySpan\u003CSankeyLink\u003E links, SankeyOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "nodes", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "links", "type": "ReadOnlySpan\u003CSankeyLink\u003E" }, { "name": "o", "type": "SankeyOpts", "default": "default" }], "summary": "Sankey: flows between nodes; columns follow the links from the sources." }, { "name": "ScatterChart", "kind": "extension", "id": "extension|ScatterChart|0|0|int|UiText id;ReadOnlySpan\u003CScatterSeries\u003E series;ScatterOpts o = default||hff3593e05140bd9fcdc8f3c4f996ca064ecb18c59024984a51431c04b86145eb", "signature": "int ScatterChart(UiText id, ReadOnlySpan\u003CScatterSeries\u003E series, ScatterOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "series", "type": "ReadOnlySpan\u003CScatterSeries\u003E" }, { "name": "o", "type": "ScatterOpts", "default": "default" }], "summary": "Scatter (or bubble) chart: points per series, optional sizes." }, { "name": "SourceList", "kind": "extension", "id": "extension|SourceList|0|0|int|UiText id;ReadOnlySpan\u003CSource\u003E sources||h6f59cfee8fa72dc7eca177af354e0a6f666d1ec1975ff987f31f00841dd57a41", "signature": "int SourceList(UiText id, ReadOnlySpan\u003CSource\u003E sources)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "sources", "type": "ReadOnlySpan\u003CSource\u003E" }], "summary": "cui_source_list" }, { "name": "SpeedDial", "kind": "extension", "id": "extension|SpeedDial|0|0|int|UiText id;ReadOnlySpan\u003CSpeedAction\u003E actions;SpeedDialOpts o = default||h8f3dcc4f3e218426dd87000bfe603cd7a2a64cc3cdaa021cbc2dea064de87347", "signature": "int SpeedDial(UiText id, ReadOnlySpan\u003CSpeedAction\u003E actions, SpeedDialOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "actions", "type": "ReadOnlySpan\u003CSpeedAction\u003E" }, { "name": "o", "type": "SpeedDialOpts", "default": "default" }], "summary": "Speed dial: a round floating action button that fans out related actions. Returns the chosen action index, or -1." }, { "name": "SplitBar", "kind": "extension", "id": "extension|SplitBar|0|0|int|UiText id;ReadOnlySpan\u003CVizItem\u003E items;SplitBarOpts o = default||h16bc37b28b54a3959b1ffffa5d212e2ce5767fa384b82e9693cfc0cf3ecba083", "signature": "int SplitBar(UiText id, ReadOnlySpan\u003CVizItem\u003E items, SplitBarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CVizItem\u003E" }, { "name": "o", "type": "SplitBarOpts", "default": "default" }], "summary": "Split bar: one bar split into parts, with a legend of values and shares." }, { "name": "SplitButton", "kind": "extension", "id": "extension|SplitButton|0|0|int|UiText label;ReadOnlySpan\u003Cstring\u003E items;SplitButtonOpts o = default||hab5170280449718e8bb4e18299a9939e8c4585d7f457498a1884dce52f1a5b83", "signature": "int SplitButton(UiText label, ReadOnlySpan\u003Cstring\u003E items, SplitButtonOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "o", "type": "SplitButtonOpts", "default": "default" }], "summary": "Split button: a main action with a menu of related actions on the chevron. Returns 0 when the main part is clicked, 1 \u002B i when menu item i is chosen and -1 otherwise." }, { "name": "SwipeItem", "kind": "extension", "id": "extension|SwipeItem|0|0|int|UiText id;ReadOnlySpan\u003CSwipeAction\u003E left;ReadOnlySpan\u003CSwipeAction\u003E right;DrawFn body||hde404a799a1b468b7df4ac9ce65a247c02d83d6788917c5eb60378cb5ebf709d", "signature": "int SwipeItem(UiText id, ReadOnlySpan\u003CSwipeAction\u003E left, ReadOnlySpan\u003CSwipeAction\u003E right, DrawFn body)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "left", "type": "ReadOnlySpan\u003CSwipeAction\u003E" }, { "name": "right", "type": "ReadOnlySpan\u003CSwipeAction\u003E" }, { "name": "body", "type": "DrawFn" }], "summary": "Swipe actions: drag a row sideways (or swipe on a trackpad) to reveal actions behind it. A long swipe triggers the first action. The row content goes between begin and end; end returns the chosen action: 0..left_count-1 for left actions, 100 \u002B i for right actions, or -1. The end call reports which swipe action was taken, or -1, so the body overload returns it." }, { "name": "Toast", "kind": "extension", "id": "extension|Toast|0|0|int|UiText title;ToastOpts o = default||hf3201662ddfe1d84b58e5851658ccd1e36ba6d53acdb101b80df283a2f0ee264", "signature": "int Toast(UiText title, ToastOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "o", "type": "ToastOpts", "default": "default" }], "summary": "Queue a toast. Returns a handle; cui_toast_action_clicked(handle) tells whether its action button was pressed." }, { "name": "Toc", "kind": "extension", "id": "extension|Toc|0|0|int|UiText scrollId;ReadOnlySpan\u003CTocItem\u003E items||h226d5cf4f0b7b58f3c7df69b1762d483d977d46968c43d4468a7db886e3771f0", "signature": "int Toc(UiText scrollId, ReadOnlySpan\u003CTocItem\u003E items)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "scrollId", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CTocItem\u003E" }], "summary": "Table of contents for a scroll area: highlights the section in view on a progress rail, and scrolls to a section when clicked. Put cui_toc_anchor(ui, \u0022anchor\u0022) at each heading inside the scroll area, and call cui_toc in the same scope as the scroll area. Returns the active index." }, { "name": "TreeTableDepth", "kind": "extension", "id": "extension|TreeTableDepth|0|0|int|||h6f4316e2e33c3ebb9b14932b5fc588d50a9b4b5b52a70f672523341f85c34b6b", "signature": "int TreeTableDepth()", "extensionOn": "CuiSharp.Ui", "summary": "depth of the current row, 0 at the top" }, { "name": "TreeTableRow", "kind": "extension", "id": "extension|TreeTableRow|0|0|int|||h6f0d82997cbd7dfd529bd1d04c7fd279173e864794b9acde1a6f8cf0deb80e45", "signature": "int TreeTableRow()", "extensionOn": "CuiSharp.Ui", "summary": "The next row in view: returns its node, or -1 when done. Then build its cells: cui_tree_table_name first, then cui_data_grid_cell(_text)." }, { "name": "Treemap", "kind": "extension", "id": "extension|Treemap|0|0|int|UiText id;ReadOnlySpan\u003CVizItem\u003E items;TreemapOpts o = default||hea14dd60cbeb36d78c486e9549f6917d7d431d80c23f54fe86c191e4e647a6e4", "signature": "int Treemap(UiText id, ReadOnlySpan\u003CVizItem\u003E items, TreemapOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CVizItem\u003E" }, { "name": "o", "type": "TreemapOpts", "default": "default" }], "summary": "cui_treemap_ex" }, { "name": "Waffle", "kind": "extension", "id": "extension|Waffle|0|0|int|UiText id;ReadOnlySpan\u003CVizItem\u003E items;WaffleOpts o = default||hbb9c8a5b82ec5547e3c36f001de128742bbee117c0a3da39be26ed99600e3617", "signature": "int Waffle(UiText id, ReadOnlySpan\u003CVizItem\u003E items, WaffleOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CVizItem\u003E" }, { "name": "o", "type": "WaffleOpts", "default": "default" }], "summary": "Waffle: a 10 x 10 grid of squares split by share, with a legend." }, { "name": "WeekCalendar", "kind": "extension", "id": "extension|WeekCalendar|0|0|int|UiText id;Date weekStart;Span\u003CCalendarEvent\u003E events;WeekOpts o = default||h6ebe88be9f390e98d2c4c1e3f796e62f09b23309fe4f21093ce3e1e506653fc9", "signature": "int WeekCalendar(UiText id, Date weekStart, Span\u003CCalendarEvent\u003E events, WeekOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "weekStart", "type": "Date" }, { "name": "events", "type": "Span\u003CCalendarEvent\u003E" }, { "name": "o", "type": "WeekOpts", "default": "default" }], "summary": "Week calendar: seven day columns on an hour grid. Drag an event to move it (15 minute steps), drag its bottom edge to resize it. Returns the index of a clicked event, or -1." }, { "name": "Segmented", "kind": "extension", "id": "extension|Segmented|0|0|int?|UiText id;ReadOnlySpan\u003Cstring\u003E items;int value;SegmentedOpts o = default||hfb54a79c3ab77ad5f8295229f391ceafab348451a898c9a700f5adccce24a7a9", "signature": "int? Segmented(UiText id, ReadOnlySpan\u003Cstring\u003E items, int value, SegmentedOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "value", "type": "int" }, { "name": "o", "type": "SegmentedOpts", "default": "default" }], "summary": "Returns the chosen index on a change, otherwise null." }, { "name": "AccentName", "kind": "method", "id": "method|AccentName|1|0|string|Accent accent||h0e37f10433228fc19b1442b10a947b92a35e4c1252d1688e2237e77f9c961f50", "signature": "static string AccentName(Accent accent)", "parameters": [{ "name": "accent", "type": "Accent" }], "summary": "The name of an accent as the UI shows it: \u0022Violet\u0022." }, { "name": "KeyName", "kind": "method", "id": "method|KeyName|1|0|string|Key key||ha31820aa00db9a4c2b6c84c51b79eb08b079cecb712605806d2763204d3f8fc8", "signature": "static string KeyName(Key key)", "parameters": [{ "name": "key", "type": "Key" }], "summary": "The name of a key as the UI shows it: A, Space, F5." }, { "name": "CronDescribe", "kind": "extension", "id": "extension|CronDescribe|0|0|string?|UiText cron||hd4c9ada55bcf91c1c683541837ecf35a841f847a3eee89aabbb26c529db1cd47", "signature": "string? CronDescribe(UiText cron)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "cron", "type": "UiText" }], "summary": "\u0022Every weekday at 09:30\u0022, in frame memory; NULL when invalid." }, { "name": "DroppedFile", "kind": "method", "id": "method|DroppedFile|0|0|string?|int index||hadc15393659f2bdf4574fe25868fce27bf8d063345e13c4c1b9285ed95d06a8e", "signature": "string? DroppedFile(int index)", "parameters": [{ "name": "index", "type": "int" }], "summary": "The path of a dropped file, or null when the index is out of range." }, { "name": "EmojiPicker", "kind": "extension", "id": "extension|EmojiPicker|0|0|string?|UiText id;ref string recent;ref int tone;EmojiPickerOpts o = default||h15890f303b9bfcb523f735ab2f9e6844938b14c17122927fe58f4714c2d1577c", "signature": "string? EmojiPicker(UiText id, ref string recent, ref int tone, EmojiPickerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "recent", "type": "ref string" }, { "name": "tone", "type": "ref int" }, { "name": "o", "type": "EmojiPickerOpts", "default": "default" }], "summary": "Emoji picker: search, groups with tabs, recent emoji, skin tones and a preview with the name. Returns the emoji picked this frame (UTF-8, valid until the next frame) or NULL. Put it in a popover to open it from a button." }, { "name": "ShortcutLabel", "kind": "extension", "id": "extension|ShortcutLabel|0|0|string?|KeyCombo combo||hbc2b6ede54efc1cdfc932533bfaa02df6e2091b08013ed268adaeb5f70fe77fd", "signature": "string? ShortcutLabel(KeyCombo combo)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "combo", "type": "KeyCombo" }], "summary": "cui_shortcut_label" }, { "name": "LastId", "kind": "property", "id": "property|LastId|0|0|uint||get;|hb45a60a2627c7935e56a964ff3d4b23b89b21d8a180962ea221f54c95e1e68d2", "signature": "uint LastId { get; }", "summary": "The id of the widget drawn last, which is what Target and the other \u0022point at this\u0022 APIs take. Read it immediately after the control." }, { "name": "MakeId", "kind": "method", "id": "method|MakeId|0|0|uint|UiText id||hf729d2c0f406a6b883b2cbb0e869941e897aaaef891e76b22daa8e479857208d", "signature": "uint MakeId(UiText id)", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "A stable cui_id for a string, for Animate and State callers." }, { "name": "CreateImage", "kind": "method", "id": "method|CreateImage|0|0|ulong|int width;int height;ReadOnlySpan\u003Cbyte\u003E rgba||h5ee4689276531d64da132f6a1cc9e229a83100259c335ca4ab5a007c20a68ce7", "signature": "ulong CreateImage(int width, int height, ReadOnlySpan\u003Cbyte\u003E rgba)", "parameters": [{ "name": "width", "type": "int" }, { "name": "height", "type": "int" }, { "name": "rgba", "type": "ReadOnlySpan\u003Cbyte\u003E" }], "summary": "Uploads RGBA8 pixels as a texture. The pixels are copied, so the span may live on the stack. Release the handle with DestroyImage when the page that shows it is done with it \u2014 State\u0060\u00601 with an onFree callback is the usual owner." }, { "name": "DockSave", "kind": "extension", "id": "extension|DockSave|0|0|ulong|UiText id;ref string buf;int cap||h10c71156edbbe3c5e529016814c796584f469d6d0b0b7466e4bde6ba2b0893b4", "signature": "ulong DockSave(UiText id, ref string buf, int cap)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "buf", "type": "ref string" }, { "name": "cap", "type": "int" }], "summary": "Saved layout: one line, e.g. dock1 h0.22([*Scene tree,Assets],v0.7([*Viewport],[*Log,-Console])) h splits side by side and v stacks, the number is the first child\u0027s share, [..] is a leaf\u0027s tabs in order, * the selected tab, - a closed panel; a backslash escapes , [ ] ( ) and itself in names. cui_dock_save returns the full length (as snprintf does) and writes what fits, or 0 when there is no layout. cui_dock_load replaces the layout (and sets each panel\u0027s *open from it on its next frame); names it does not know yet are kept for when they appear. Malformed text returns false and changes nothing." }, { "name": "FrameCount", "kind": "property", "id": "property|FrameCount|0|0|ulong||get;|h7254dceb0c426d20c644d45bf8a5ca3e9a444a54dee4128f0adcf9db4b00c8fc", "signature": "ulong FrameCount { get; }", "summary": "Frames presented so far, counted by CUI." }, { "name": "Accordion", "kind": "extension", "id": "extension|Accordion|0|0|void|UiText title;ref bool open;DrawFn body||h5a6e18ec6c43cdc43af8a25085ec728fca441d6f03d65c135ac01415603bdc5b", "signature": "void Accordion(UiText title, ref bool open, DrawFn body)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "body", "type": "DrawFn" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "AddFontFallback", "kind": "extension", "id": "extension|AddFontFallback|0|0|void|Font font;Font fallback||h046e79521dc69de86a794461399d269a9ea51fd36fd162afddde019ca45934e1", "signature": "void AddFontFallback(Font font, Font fallback)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "font", "type": "Font" }, { "name": "fallback", "type": "Font" }], "summary": "Adds a fallback CUI reaches for when font has no glyph. The chain holds at most four fallbacks; when it is exhausted CUI scans every other loaded face before giving up. A glyph no face has draws nothing at all \u2014 not even a .notdef box in every font \u2014 so an untranslated screen comes up blank with no warning. UseSystemFontFallback is the check for that, and the bundled faces are Latin. The glyph atlas is what a large script actually costs: one texture of CUI_ATLAS_MAX (4096) pixels per side, with the frame\u0027s glyph cache reset between frames, so a font that makes every frame load new glyphs is the expensive case. Register the faces a language needs at startup, not per frame." }, { "name": "AgentStatus", "kind": "extension", "id": "extension|AgentStatus|0|0|void|UiText text;AgentStatusOpts o = default||h61ac25149bb714e9244c62474d67f93158a7f9bd1583135da08e6b32a5ac5120", "signature": "void AgentStatus(UiText text, AgentStatusOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "o", "type": "AgentStatusOpts", "default": "default" }], "summary": "Agent status pill: what the agent is doing right now and for how long." }, { "name": "Avatar", "kind": "extension", "id": "extension|Avatar|0|0|void|UiText name;AvatarOpts o = default||h86ad06b6f35491ed7cd4f337c2a2688db37d73bfec4c164c7b90267365ce8af2", "signature": "void Avatar(UiText name, AvatarOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "name", "type": "UiText" }, { "name": "o", "type": "AvatarOpts", "default": "default" }], "summary": "cui_avatar_ex" }, { "name": "AvatarGroup", "kind": "extension", "id": "extension|AvatarGroup|0|0|void|ReadOnlySpan\u003Cstring\u003E names;int maxVisible = 4;float size = 32f||h2aebe32a1e3101b42a18771fc77f1b10cb011e17bea49c9f7cbf01e0be5ca252", "signature": "void AvatarGroup(ReadOnlySpan\u003Cstring\u003E names, int maxVisible = 4, float size = 32f)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "names", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "maxVisible", "type": "int", "default": "4" }, { "name": "size", "type": "float", "default": "32f" }], "summary": "cui_avatar_group" }, { "name": "Badge", "kind": "extension", "id": "extension|Badge|0|0|void|UiText text;BadgeOpts o = default||h2e146cbd498ce9ebfdcbb978fe8414bd9ff4389e1361c02fa453b24fcfc15d1c", "signature": "void Badge(UiText text, BadgeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "o", "type": "BadgeOpts", "default": "default" }], "summary": "cui_badge_ex" }, { "name": "BarChart", "kind": "method", "id": "method|BarChart|0|0|void|UiText id;ReadOnlySpan\u003Cfloat\u003E values;ChartOpts o = default;Color color = default||hdd24ad8679c5e482e048ed73ce69225b69c19ad5704a83f9a427093e4551242a", "signature": "void BarChart(UiText id, ReadOnlySpan\u003Cfloat\u003E values, ChartOpts o = default, Color color = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "values", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "o", "type": "ChartOpts", "default": "default" }, { "name": "color", "type": "Color", "default": "default" }], "summary": "A bar chart of one series. See LineChart." }, { "name": "BarChart", "kind": "method", "id": "method|BarChart|0|0|void|UiText id;Series[] series;ChartOpts o = default||h8d42b4d0a483459731da6ec00c3001f0d1f69bd28a07b4618095e800910f67c7", "signature": "void BarChart(UiText id, Series[] series, ChartOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "series", "type": "Series[]" }, { "name": "o", "type": "ChartOpts", "default": "default" }] }, { "name": "Carousel", "kind": "extension", "id": "extension|Carousel|0|0|void|UiText id;int count;ref int index;DrawFn body;CarouselOpts o = default||haf6583b1edd10132a276ed92f3c7cc7b139b36644ab8586eadce1ce1ae7cf431", "signature": "void Carousel(UiText id, int count, ref int index, DrawFn body, CarouselOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "count", "type": "int" }, { "name": "index", "type": "ref int" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "CarouselOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "ChatDivider", "kind": "extension", "id": "extension|ChatDivider|0|0|void|UiText label||hdb17d96dbafb815bdf9d77a06116d1a2d004dbf0c4190716f604d7f7503032a5", "signature": "void ChatDivider(UiText label)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }], "summary": "\u0022Today\u0022" }, { "name": "ChatMessage", "kind": "extension", "id": "extension|ChatMessage|0|0|void|UiText text;ChatOpts o = default||h0067e7f3c9a991c64026e5433bcd84d614a634bb99011d70cf7548c49b4d0e46", "signature": "void ChatMessage(UiText text, ChatOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "o", "type": "ChatOpts", "default": "default" }], "summary": "Same as the overload with ref markdownResult, but reports nothing back: the state pointer is null, so the widget stores no state the caller could read." }, { "name": "ChatMessage", "kind": "extension", "id": "extension|ChatMessage|0|0|void|UiText text;ref MarkdownResult markdownResult;ChatOpts o = default||he419f66e4261e2e5f8341890ace8476938bbabe2ce7747bb1cf378821e824da4", "signature": "void ChatMessage(UiText text, ref MarkdownResult markdownResult, ChatOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "markdownResult", "type": "ref MarkdownResult" }, { "name": "o", "type": "ChatOpts", "default": "default" }], "summary": "Chat message bubble. Consecutive messages from one person set grouped so they stack tightly and show the avatar once." }, { "name": "Code", "kind": "extension", "id": "extension|Code|0|0|void|UiText text||heb5c95cf0725be5b6a3d5d064b904bf47fbe9b2889e74bd910d61b666764b439", "signature": "void Code(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "inline code" }, { "name": "CodeBlock", "kind": "extension", "id": "extension|CodeBlock|0|0|void|UiText id;UiText code;CodeOpts o = default||h649344835854747b9cbde6157eb263d70a9df1f246e3854f21806fef682fedac", "signature": "void CodeBlock(UiText id, UiText code, CodeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "code", "type": "UiText" }, { "name": "o", "type": "CodeOpts", "default": "default" }], "summary": "Code block with syntax highlighting (lang: \u0022c\u0022, \u0022cpp\u0022, \u0022js\u0022, \u0022ts\u0022, \u0022python\u0022, \u0022rust\u0022, \u0022go\u0022, \u0022json\u0022, \u0022shell\u0022, or \u0022text\u0022 for none), line numbers, a title bar and a copy button. Long lines scroll sideways." }, { "name": "CodeEditorFind", "kind": "extension", "id": "extension|CodeEditorFind|0|0|void|UiText id;UiText query||ha5ad5e0daacc15247f7497756195d2f521b1676f4f4275c1360e7dd6a099a27e", "signature": "void CodeEditorFind(UiText id, UiText query)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "query", "type": "UiText" }], "summary": "Opens the find bar with query and selects the next match (NULL closes)." }, { "name": "CodeEditorGoto", "kind": "extension", "id": "extension|CodeEditorGoto|0|0|void|UiText id;int line;int column||he046da323e1fb441003f0aff4a8b1fb21892920cc0d306e08811c4d4b477dfae", "signature": "void CodeEditorGoto(UiText id, int line, int column)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "line", "type": "int" }, { "name": "column", "type": "int" }], "summary": "On the editor\u0027s next frame: put the caret at a line and column (1 based), focus the editor and scroll there. Call from the same id scope." }, { "name": "CodeEditorSelect", "kind": "extension", "id": "extension|CodeEditorSelect|0|0|void|UiText id;int anchor;int cursor||hbae83fe5ce54e61f495c10224f17c5f97155815624a80c230f94b710bbd25bbc", "signature": "void CodeEditorSelect(UiText id, int anchor, int cursor)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "anchor", "type": "int" }, { "name": "cursor", "type": "int" }], "summary": "On the next frame: select bytes anchor..cursor, focus and scroll there." }, { "name": "Component", "kind": "extension", "id": "extension|Component|0|0|void|Component component||h848740a50a9eb8dc56641315816144114376ac9c315542b20691de3cbc9300d4", "signature": "void Component(Component component)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "component", "type": "Component" }], "summary": "Draws component, with its own error boundary." }, { "name": "ContextMenu", "kind": "extension", "id": "extension|ContextMenu|0|0|void|UiText id;DrawFn body||h639ca26a4859a28b5d0c68a17b414a22b59f92e32460ae828991807709b85741", "signature": "void ContextMenu(UiText id, DrawFn body)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "body", "type": "DrawFn" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "ContextMeter", "kind": "extension", "id": "extension|ContextMeter|0|0|void|UiText id;float used;float limit;ContextOpts o = default||h19d9530359d94af2f36c2f8a876d49576ae0e0c4c67e5270f45fdf36934d1c78", "signature": "void ContextMeter(UiText id, float used, float limit, ContextOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "used", "type": "float" }, { "name": "limit", "type": "float" }, { "name": "o", "type": "ContextOpts", "default": "default" }], "summary": "Context meter: a small ring of how full the context is; hover for a breakdown. It turns amber past 80% and red past 95%." }, { "name": "Countdown", "kind": "extension", "id": "extension|Countdown|0|0|void|UiText id;double secondsLeft;CountdownOpts o = default||h821d564a1492fd931adfbbc43d4c182d207343abf289fdf0702df537f77d848a", "signature": "void Countdown(UiText id, double secondsLeft, CountdownOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "secondsLeft", "type": "double" }, { "name": "o", "type": "CountdownOpts", "default": "default" }], "summary": "Countdown: days, hours, minutes and seconds as tiles whose digits roll." }, { "name": "Counter", "kind": "extension", "id": "extension|Counter|0|0|void|UiText id;double value;CounterOpts o = default||h0b05971fdda28297316e6f4447ca5d501aa7a11fe9da2f3bdc3756e5b7c5ffd3", "signature": "void Counter(UiText id, double value, CounterOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "double" }, { "name": "o", "type": "CounterOpts", "default": "default" }], "summary": "Odometer: a number whose digits roll to their new values." }, { "name": "DataGrid", "kind": "extension", "id": "extension|DataGrid|0|0|void|UiText id;ReadOnlySpan\u003CGridColumn\u003E columns;int rowCount;GridState state;DrawFn body;GridOpts o = default||h9c456dfa1016ff4f42bd0014595270a05519919f42743036e5fc9f8cb8147c63", "signature": "void DataGrid(UiText id, ReadOnlySpan\u003CGridColumn\u003E columns, int rowCount, GridState state, DrawFn body, GridOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "columns", "type": "ReadOnlySpan\u003CGridColumn\u003E" }, { "name": "rowCount", "type": "int" }, { "name": "state", "type": "GridState" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "GridOpts", "default": "default" }], "summary": "Draws the body only when open; closes and publishes state even on exceptions." }, { "name": "DataGridCell", "kind": "extension", "id": "extension|DataGridCell|0|0|void|||h17266c47617cb3e20e5aafb4e0740fb451853300d3ea2f4cf357c27f4e0c97e5", "signature": "void DataGridCell()", "extensionOn": "CuiSharp.Ui", "summary": "next cell; put components inside" }, { "name": "DataGridCellText", "kind": "extension", "id": "extension|DataGridCellText|0|0|void|UiText text||hbc15a57820d975503239bf1e6c43046de51dd25c53400b94dc05e4c5ec821c22", "signature": "void DataGridCellText(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "cui_data_grid_cell_text" }, { "name": "DestroyImage", "kind": "method", "id": "method|DestroyImage|0|0|void|ulong texture||h233513e5e0f04cab6a29321054080d17776d33b361cec53060f335038ac6c4f4", "signature": "void DestroyImage(ulong texture)", "parameters": [{ "name": "texture", "type": "ulong" }], "summary": "Frees a texture obtained from CreateImage, LoadImage or a widget that loaded one for you (the avatar upload). Passing 0 does nothing, so a field can be cleared and released in one step." }, { "name": "Dialog", "kind": "extension", "id": "extension|Dialog|0|0|void|UiText title;ref bool open;DrawFn body;DialogOpts o = default||hb9a2198e7b3396b3f8e81f53972b52816f4e10d0c965758cb0b8e59b20c0dad6", "signature": "void Dialog(UiText title, ref bool open, DrawFn body, DialogOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "DialogOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "DockPanel", "kind": "extension", "id": "extension|DockPanel|0|0|void|UiText title;ref bool open;DrawFn body;DockPanelOpts o = default||haec3aec1f30c0641ff9d8d21ef9827c8984e582f195575f5bdafa8e30c26bf47", "signature": "void DockPanel(UiText title, ref bool open, DrawFn body, DockPanelOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "DockPanelOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "DockSeparator", "kind": "extension", "id": "extension|DockSeparator|0|0|void|||h4f7b4ffb27ff0752d3414c6e36155f014d64756d9c99299d0061f4d3b662e948", "signature": "void DockSeparator()", "extensionOn": "CuiSharp.Ui", "summary": "cui_dock_separator" }, { "name": "DonutChart", "kind": "method", "id": "method|DonutChart|0|0|void|UiText id;float[] values;string[]? labels = null;ChartOpts o = default||h105b6ba9a48212810ca8eaa543dfd59b8bcbb7a078d6d00c43caa8337cf3e984", "signature": "void DonutChart(UiText id, float[] values, string[]? labels = null, ChartOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "values", "type": "float[]" }, { "name": "labels", "type": "string[]?", "default": "null" }, { "name": "o", "type": "ChartOpts", "default": "default" }] }, { "name": "DotDisplay", "kind": "extension", "id": "extension|DotDisplay|0|0|void|UiText text;DotDisplayOpts o = default||h69cc0b3822b72c2d91c328a3999ec76dc3ab49fb7d2667722d67fca441b5fa7a", "signature": "void DotDisplay(UiText text, DotDisplayOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "o", "type": "DotDisplayOpts", "default": "default" }], "summary": "Dot-matrix display: text drawn with a 5 by 7 dot font, for clocks, counters and status lines. Printable ASCII, the degree sign and the middle dot have glyphs; anything else is a box. Unlit dots show dimly unless \u0060no_dim\u0060 is set. In a box narrower than the text, the dots shrink to fit, or with \u0060marquee\u0060 the text scrolls." }, { "name": "DrawArc", "kind": "method", "id": "method|DrawArc|0|0|void|float cx;float cy;float radius;float fromRadians;float toRadians;float thickness;Color color||h75c08329ccf02db7c649c3de4062b857fcb9fb9b5607cc0cdc3ffa02cdd3a32a", "signature": "void DrawArc(float cx, float cy, float radius, float fromRadians, float toRadians, float thickness, Color color)", "parameters": [{ "name": "cx", "type": "float" }, { "name": "cy", "type": "float" }, { "name": "radius", "type": "float" }, { "name": "fromRadians", "type": "float" }, { "name": "toRadians", "type": "float" }, { "name": "thickness", "type": "float" }, { "name": "color", "type": "Color" }], "summary": "An arc from fromRadians to toRadians." }, { "name": "DrawCircle", "kind": "method", "id": "method|DrawCircle|0|0|void|float cx;float cy;float radius;Color color||hb1d4daba0313192a47661dfdcba2bbea774eacd066b6e992e4b4698dddcde09a", "signature": "void DrawCircle(float cx, float cy, float radius, Color color)", "parameters": [{ "name": "cx", "type": "float" }, { "name": "cy", "type": "float" }, { "name": "radius", "type": "float" }, { "name": "color", "type": "Color" }], "summary": "A filled circle." }, { "name": "DrawEmoji", "kind": "extension", "id": "extension|DrawEmoji|0|0|void|UiText utf8;RectF r||ha6979720ffa9f6b639eedcdc2f34912ae99c3e8f6db6d29d49b7a755626e5e61", "signature": "void DrawEmoji(UiText utf8, RectF r)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "utf8", "type": "UiText" }, { "name": "r", "type": "RectF" }], "summary": "cui_draw_emoji" }, { "name": "DrawIcon", "kind": "method", "id": "method|DrawIcon|0|0|void|UiText icon;RectF r;Color color;float size = 16f||hd54b671c520dcce41f616162ba2038b0604408edb2178e4e538b9fd737631621", "signature": "void DrawIcon(UiText icon, RectF r, Color color, float size = 16f)", "parameters": [{ "name": "icon", "type": "UiText" }, { "name": "r", "type": "RectF" }, { "name": "color", "type": "Color" }, { "name": "size", "type": "float", "default": "16f" }], "summary": "Draws an icon glyph into a rectangle." }, { "name": "DrawImage", "kind": "method", "id": "method|DrawImage|0|0|void|ulong texture;RectF destination;Color tint;float radius = default||h02908132cac945b65c579f6460fda70375b546d9df86cb8e4446b3d6369a8ad2", "signature": "void DrawImage(ulong texture, RectF destination, Color tint, float radius = default)", "parameters": [{ "name": "texture", "type": "ulong" }, { "name": "destination", "type": "RectF" }, { "name": "tint", "type": "Color" }, { "name": "radius", "type": "float", "default": "default" }], "summary": "Draws the whole texture into destination." }, { "name": "DrawImage", "kind": "method", "id": "method|DrawImage|0|0|void|ulong texture;RectF destination;RectF uv;Color tint;float radius = default||h19922f36165664b04b3f13745794f29cd576c87d690e38abfacd839c9eebe6ea", "signature": "void DrawImage(ulong texture, RectF destination, RectF uv, Color tint, float radius = default)", "parameters": [{ "name": "texture", "type": "ulong" }, { "name": "destination", "type": "RectF" }, { "name": "uv", "type": "RectF" }, { "name": "tint", "type": "Color" }, { "name": "radius", "type": "float", "default": "default" }], "summary": "Draws a texture into destination, sampling uv in 0..1 texture coordinates." }, { "name": "DrawLine", "kind": "method", "id": "method|DrawLine|0|0|void|float x0;float y0;float x1;float y1;float thickness;Color color||h7c718f3cf261fcdd9890ecc99c37b4c7ef88951855160bbd3b4b84bbb0906183", "signature": "void DrawLine(float x0, float y0, float x1, float y1, float thickness, Color color)", "parameters": [{ "name": "x0", "type": "float" }, { "name": "y0", "type": "float" }, { "name": "x1", "type": "float" }, { "name": "y1", "type": "float" }, { "name": "thickness", "type": "float" }, { "name": "color", "type": "Color" }], "summary": "A line between two points." }, { "name": "DrawPolygon", "kind": "method", "id": "method|DrawPolygon|0|0|void|ReadOnlySpan\u003CValueTuple\u003Cfloat, float\u003E\u003E points;Color color||h0a35ee50b137930776943658c6a4b0a802340e6fc1443224120f511919b82309", "signature": "void DrawPolygon(ReadOnlySpan\u003CValueTuple\u003Cfloat, float\u003E\u003E points, Color color)", "parameters": [{ "name": "points", "type": "ReadOnlySpan\u003CValueTuple\u003Cfloat, float\u003E\u003E" }, { "name": "color", "type": "Color" }], "summary": "A convex polygon through the given x/y pairs." }, { "name": "DrawPolyline", "kind": "method", "id": "method|DrawPolyline|0|0|void|ReadOnlySpan\u003CValueTuple\u003Cfloat, float\u003E\u003E points;float thickness;Color color;bool closed = default||h4c7f07e3c9fc697e544cc98214f394946bae499ac03450d9e5812ced69ce04e9", "signature": "void DrawPolyline(ReadOnlySpan\u003CValueTuple\u003Cfloat, float\u003E\u003E points, float thickness, Color color, bool closed = default)", "parameters": [{ "name": "points", "type": "ReadOnlySpan\u003CValueTuple\u003Cfloat, float\u003E\u003E" }, { "name": "thickness", "type": "float" }, { "name": "color", "type": "Color" }, { "name": "closed", "type": "bool", "default": "default" }], "summary": "A polyline through the given x/y pairs." }, { "name": "DrawRect", "kind": "method", "id": "method|DrawRect|0|0|void|RectF r;Color fill;Color border;float borderWidth;float radius = default||h4ba9a89c0df1a36edef3bc858b12de8bb1c2d9020a801bc38d101b16e9839611", "signature": "void DrawRect(RectF r, Color fill, Color border, float borderWidth, float radius = default)", "parameters": [{ "name": "r", "type": "RectF" }, { "name": "fill", "type": "Color" }, { "name": "border", "type": "Color" }, { "name": "borderWidth", "type": "float" }, { "name": "radius", "type": "float", "default": "default" }], "summary": "Fills a rounded rectangle and strokes its border." }, { "name": "DrawRect", "kind": "method", "id": "method|DrawRect|0|0|void|RectF r;Color fill;float radius = default||hbede7dc4a83173600f87c3151cfb881b786025c1a85bfc6cfd41ac9c76b997ec", "signature": "void DrawRect(RectF r, Color fill, float radius = default)", "parameters": [{ "name": "r", "type": "RectF" }, { "name": "fill", "type": "Color" }, { "name": "radius", "type": "float", "default": "default" }], "summary": "Fills a rounded rectangle." }, { "name": "DrawRectGradient", "kind": "method", "id": "method|DrawRectGradient|0|0|void|RectF r;Color top;Color bottom;float radius = default||hdfb2b1697ea2ab6d38c629c2592cb4496e061c2c2d2d73080e90e315c179fa59", "signature": "void DrawRectGradient(RectF r, Color top, Color bottom, float radius = default)", "parameters": [{ "name": "r", "type": "RectF" }, { "name": "top", "type": "Color" }, { "name": "bottom", "type": "Color" }, { "name": "radius", "type": "float", "default": "default" }], "summary": "Fills a rounded rectangle with a vertical gradient." }, { "name": "DrawShadow", "kind": "method", "id": "method|DrawShadow|0|0|void|RectF r;Color color;float blur = 12f;float spread = default;float dx = default;float dy = 2f;float radius = default||hd608a1aa394a6724e278bdd79827b6dd27fa0b58389aad230a6976a37e6e1bc9", "signature": "void DrawShadow(RectF r, Color color, float blur = 12f, float spread = default, float dx = default, float dy = 2f, float radius = default)", "parameters": [{ "name": "r", "type": "RectF" }, { "name": "color", "type": "Color" }, { "name": "blur", "type": "float", "default": "12f" }, { "name": "spread", "type": "float", "default": "default" }, { "name": "dx", "type": "float", "default": "default" }, { "name": "dy", "type": "float", "default": "2f" }, { "name": "radius", "type": "float", "default": "default" }], "summary": "A soft drop shadow behind a rounded rectangle." }, { "name": "DrawText", "kind": "method", "id": "method|DrawText|0|0|void|UiText text;float x;float y;Color color;float size = 12f;Font font = Font.Body||ha379555b96749e8089ccd4a67f9f06f0c97c8e3bf6628a829212e087cdf44073", "signature": "void DrawText(UiText text, float x, float y, Color color, float size = 12f, Font font = Font.Body)", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "x", "type": "float" }, { "name": "y", "type": "float" }, { "name": "color", "type": "Color" }, { "name": "size", "type": "float", "default": "12f" }, { "name": "font", "type": "Font", "default": "Font.Body" }], "summary": "Draws text outside layout, from a string, UTF-8 bytes, or interpolation." }, { "name": "Emoji", "kind": "extension", "id": "extension|Emoji|0|0|void|UiText utf8;float size||hcce49478392e105a5082cf12fe2c18e8a68954f1395b48ec19c91052abdbfa90", "signature": "void Emoji(UiText utf8, float size)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "utf8", "type": "UiText" }, { "name": "size", "type": "float" }], "summary": "one emoji as a component" }, { "name": "ExpandableCard", "kind": "extension", "id": "extension|ExpandableCard|0|0|void|UiText title;ref bool open;DrawFn body;ExpandableCardOpts o = default||h45a44cd40dda73a400ba664b3783303201ba3f221c6a0c0021b4519c21652a83", "signature": "void ExpandableCard(UiText title, ref bool open, DrawFn body, ExpandableCardOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "ExpandableCardOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "Gap", "kind": "extension", "id": "extension|Gap|0|0|void|float size||h89c0f099b911f74a22d756328dc6f8c634ce4e2561cfb7403549af06bfe120d2", "signature": "void Gap(float size)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "size", "type": "float" }], "summary": "fixed space" }, { "name": "Gauge", "kind": "extension", "id": "extension|Gauge|0|0|void|UiText label;float value;float size = 130f||h0d866db02a3773b1f94110de3177536a50289e2eb2f4f1328d5ea96164ce0e3d", "signature": "void Gauge(UiText label, float value, float size = 130f)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "float" }, { "name": "size", "type": "float", "default": "130f" }], "summary": "cui_gauge" }, { "name": "GradientText", "kind": "extension", "id": "extension|GradientText|0|0|void|UiText text;GradientTextOpts o = default||h3f77173db929d5d0326fb0d6aacd31968c768ec86de8e25973b46685c05898a0", "signature": "void GradientText(UiText text, GradientTextOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "o", "type": "GradientTextOpts", "default": "default" }], "summary": "Text painted with a gradient from one color to another; animate makes it drift." }, { "name": "Heading", "kind": "extension", "id": "extension|Heading|0|0|void|UiText text;int level = 2||h557aed71184ccf0f99a503a8e9e31f47bd8f19daa88deaf28acbf6bd2f58da8f", "signature": "void Heading(UiText text, int level = 2)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "level", "type": "int", "default": "2" }], "summary": "1..4" }, { "name": "HexViewGoto", "kind": "extension", "id": "extension|HexViewGoto|0|0|void|UiText id;ulong offset||he99988413132b927d206b59bb10ff266913c4aed14642da49708324af5d3a4ea", "signature": "void HexViewGoto(UiText id, ulong offset)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "offset", "type": "ulong" }], "summary": "Go to offset: on the view\u0027s next frame its cursor moves to offset, that byte becomes the selection and it scrolls into view (to the middle when it was out of sight). Wire a \u0022Go to\u0022 field to it; it is safe to call every frame." }, { "name": "HoverCard", "kind": "extension", "id": "extension|HoverCard|0|0|void|UiText id;DrawFn body;HoverCardOpts o = default||h1feb5df25fc90d51f65ce5d548e1c92a15c20d4dbcfb120ec57197031f6bf861", "signature": "void HoverCard(UiText id, DrawFn body, HoverCardOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "HoverCardOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "Icon", "kind": "method", "id": "method|Icon|0|0|void|UiText icon;float size = 16f;Color color = default||ha3c2c3c378676921960172e72c0cd75e176f823d910f148819cb62c5c07fcdb7", "signature": "void Icon(UiText icon, float size = 16f, Color color = default)", "parameters": [{ "name": "icon", "type": "UiText" }, { "name": "size", "type": "float", "default": "16f" }, { "name": "color", "type": "Color", "default": "default" }] }, { "name": "Image", "kind": "extension", "id": "extension|Image|0|0|void|ulong tex;ImageOpts o = default||h4aba4bdd877e6dfb8e45ba090aba9ec93a98e0c6441d125c9038d1be437dc417", "signature": "void Image(ulong tex, ImageOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "tex", "type": "ulong" }, { "name": "o", "type": "ImageOpts", "default": "default" }], "summary": "cui_image_ex" }, { "name": "Inspector", "kind": "extension", "id": "extension|Inspector|0|0|void|UiText id;DrawFn body;InspectorOpts o = default||h841cdf7d1c9125bb04f373e4d2f93c10eccdb9bcbb43da0de7dccc3769b41a32", "signature": "void Inspector(UiText id, DrawFn body, InspectorOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "InspectorOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "Kbd", "kind": "extension", "id": "extension|Kbd|0|0|void|UiText keys||h417076fb4869022dd26ff1c344a189d091fce7e448e96c96224d62f1a451f6d1", "signature": "void Kbd(UiText keys)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "keys", "type": "UiText" }], "summary": "keyboard keycap, e.g. \u0022Ctrl K\u0022" }, { "name": "Label", "kind": "extension", "id": "extension|Label|0|0|void|UiText text||h72e24445b52f829a1571cbd68c5c6fac6835700a497232df3ad518950a463221", "signature": "void Label(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "medium weight" }, { "name": "LineChart", "kind": "method", "id": "method|LineChart|0|0|void|UiText id;ReadOnlySpan\u003Cfloat\u003E values;ChartOpts o = default;Color color = default||h3cdc2012853a1aaf00f86229fc128bb443d3b47540340bb22a37e12c48168603", "signature": "void LineChart(UiText id, ReadOnlySpan\u003Cfloat\u003E values, ChartOpts o = default, Color color = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "values", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "o", "type": "ChartOpts", "default": "default" }, { "name": "color", "type": "Color", "default": "default" }], "summary": "A line chart of one series. This is the overload most charts want: the samples are passed directly, and an empty span draws nothing at all." }, { "name": "LineChart", "kind": "method", "id": "method|LineChart|0|0|void|UiText id;Series[] series;ChartOpts o = default||hc086d5dcd804a5f509ce75cc8bee9f3f8667a55ceb50af4ffaabadafd4609ad0", "signature": "void LineChart(UiText id, Series[] series, ChartOpts o = default)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "series", "type": "Series[]" }, { "name": "o", "type": "ChartOpts", "default": "default" }] }, { "name": "Loader", "kind": "extension", "id": "extension|Loader|0|0|void|LoaderOpts o = default||h5945e358ac0fbf3d0cb4c3df6db1ab5234d41a31263116b2fb63eee24b3e9451", "signature": "void Loader(LoaderOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "o", "type": "LoaderOpts", "default": "default" }], "summary": "cui_loader_ex" }, { "name": "LogView", "kind": "extension", "id": "extension|LogView|0|0|void|UiText id;LogBuffer log;LogViewOpts o = default||h629acfd43966ab117356ba793bd70ad6b9dfe93587dd289ab839a823556ecc7b", "signature": "void LogView(UiText id, LogBuffer log, LogViewOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "log", "type": "LogBuffer" }, { "name": "o", "type": "LogViewOpts", "default": "default" }], "summary": "Draws log with its toolbar: level filters, search with highlight, Follow, Copy and Clear. Scrolling up turns Follow off; reaching the bottom turns it back on." }, { "name": "MarkReady", "kind": "method", "id": "method|MarkReady|0|0|void|||h8dc4126f75765e5089f4b5e2bbbb22f0fc14d612aafd61d5d0998543d5b212d0", "signature": "void MarkReady()", "summary": "Declares that this frame shows complete, current app data. This is what dotnet cui --wait ready waits for: readiness is a property of the frame that marks it, so the next frame starts unready and a screen that goes back to loading is never seen as ready on the strength of an older mark." }, { "name": "Menu", "kind": "extension", "id": "extension|Menu|0|0|void|UiText label;DrawFn body;MenuOpts o = default||h46a55ef5a629d54cea211e8cff97db0e260e3c390254e4a74263ef25c2b8fe9d", "signature": "void Menu(UiText label, DrawFn body, MenuOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "MenuOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "MenuBarMenu", "kind": "extension", "id": "extension|MenuBarMenu|0|0|void|UiText label;DrawFn body;MenuBarMenuOpts o = default||h1b1bac394be04ea33333eee937841b7391a0fc642ea6951788ddb9eb4b199110", "signature": "void MenuBarMenu(UiText label, DrawFn body, MenuBarMenuOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "MenuBarMenuOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "MenuLabel", "kind": "extension", "id": "extension|MenuLabel|0|0|void|UiText text||h55d6bbe5cef52bef1137dee2490a736200d78319bc81b81cdd5d2b7fbe16d2b6", "signature": "void MenuLabel(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "cui_menu_label" }, { "name": "MenuSeparator", "kind": "extension", "id": "extension|MenuSeparator|0|0|void|||h7babb70cb1540862bd8b5e000e173763dc48b627688082cf19bcc2e23c25ba73", "signature": "void MenuSeparator()", "extensionOn": "CuiSharp.Ui", "summary": "cui_menu_separator" }, { "name": "Meter", "kind": "extension", "id": "extension|Meter|0|0|void|UiText label;float used;float total;UiText unit = default||h1d8b4e728d051b711957aa7fbc9bcf832cd505900fdce01a27a79bdc8e9d89fa", "signature": "void Meter(UiText label, float used, float total, UiText unit = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "used", "type": "float" }, { "name": "total", "type": "float" }, { "name": "unit", "type": "UiText", "default": "default" }], "summary": "cui_meter" }, { "name": "Metric", "kind": "extension", "id": "extension|Metric|0|0|void|UiText label;UiText value;MetricOpts o = default||h9bab4a4dc12d3dace12e7106ac89323fdbfdf7c56bba9a0e2f0c40e9c95fbef6", "signature": "void Metric(UiText label, UiText value, MetricOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "UiText" }, { "name": "o", "type": "MetricOpts", "default": "default" }], "summary": "cui_metric_ex" }, { "name": "Muted", "kind": "extension", "id": "extension|Muted|0|0|void|UiText text||haf3dda321d9292f4d904d1870d8bb5dea3c49cb695524acb75572822bff2f9b8", "signature": "void Muted(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "small, muted" }, { "name": "NavSection", "kind": "extension", "id": "extension|NavSection|0|0|void|UiText title||hf901052c3e5ba17c7b523058746a19e11e181239069f2b8fbb43adfafdbdcafc", "signature": "void NavSection(UiText title)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }], "summary": "cui_nav_section" }, { "name": "Node", "kind": "extension", "id": "extension|Node|0|0|void|int nodeId;ref float x;ref float y;UiText title;DrawFn body;NodeOpts o = default||he2a131c3e341325536d7aaaafc4f83046a7d7e9c45eead6545f141826f6d7e82", "signature": "void Node(int nodeId, ref float x, ref float y, UiText title, DrawFn body, NodeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "nodeId", "type": "int" }, { "name": "x", "type": "ref float" }, { "name": "y", "type": "ref float" }, { "name": "title", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "NodeOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "NodeEditor", "kind": "extension", "id": "extension|NodeEditor|0|0|void|UiText id;ref NodeView view;DrawFn body;NodeEditorOpts o = default||h5854f9b818a6cafa92571b34f94f5f0c435142d546b6f628a1174b1effe7ac67", "signature": "void NodeEditor(UiText id, ref NodeView view, DrawFn body, NodeEditorOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "view", "type": "ref NodeView" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "NodeEditorOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "NumberRoll", "kind": "extension", "id": "extension|NumberRoll|0|0|void|UiText id;UiText text;TextFxOpts o = default||h67c63e017e57f215b45262ce043c429d9ff6e486e3c507e0c84f3d5daa53a5bf", "signature": "void NumberRoll(UiText id, UiText text, TextFxOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "text", "type": "UiText" }, { "name": "o", "type": "TextFxOpts", "default": "default" }], "summary": "A figure whose changed digits roll into place: up when the value rises, down when it falls, a beat apart from the left; unchanged characters stay still. Pass the formatted text (\u0022$64,210\u0022, \u00221.2k\u0022); digits are tabular." }, { "name": "PathBarMenu", "kind": "extension", "id": "extension|PathBarMenu|0|0|void|UiText id;ref int segment;DrawFn body||h875759cac9f5832bcb6782caaa672db98fbc277a19f31017d3155a38c398dce5", "signature": "void PathBarMenu(UiText id, ref int segment, DrawFn body)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "segment", "type": "ref int" }, { "name": "body", "type": "DrawFn" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "PopClip", "kind": "method", "id": "method|PopClip|0|0|void|||hd223700ffd7f730814c69ec5bd11dae3b4dd4a7a738e754b775a351e0c980575", "signature": "void PopClip()", "summary": "Ends the clip opened by PushClip." }, { "name": "Popover", "kind": "extension", "id": "extension|Popover|0|0|void|UiText id;DrawFn body;PopoverOpts o = default||h597b85fb0e87089ca73543226f68a70b713ea0f9c949974f2c0425c7028438f3", "signature": "void Popover(UiText id, DrawFn body, PopoverOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "PopoverOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "PopoverClose", "kind": "extension", "id": "extension|PopoverClose|0|0|void|UiText id||hca913fedac00c0c27ef6b37fb3f90cb88cd76862d0e5884e8f4e8dac8ba415b3", "signature": "void PopoverClose(UiText id)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "cui_popover_close" }, { "name": "PopoverOpen", "kind": "extension", "id": "extension|PopoverOpen|0|0|void|UiText id||h424af0f304196b1a039d033eb75b4bff9dca251d0232dbc683699a925dfaa16d", "signature": "void PopoverOpen(UiText id)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "cui_popover_open" }, { "name": "PopoverToggle", "kind": "extension", "id": "extension|PopoverToggle|0|0|void|UiText id||h58628645f47f2c9c2896b1ec70e7d661c861b7abb26420d9b750e21380db5e02", "signature": "void PopoverToggle(UiText id)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "cui_popover_toggle" }, { "name": "Presence", "kind": "extension", "id": "extension|Presence|0|0|void|UiText id;ReadOnlySpan\u003CPresenceUser\u003E users;int maxVisible;float size||h33db1325c05049463f7c9a97e3df833a114732c8a156f6ee2d775dad7a69c214", "signature": "void Presence(UiText id, ReadOnlySpan\u003CPresenceUser\u003E users, int maxVisible, float size)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "users", "type": "ReadOnlySpan\u003CPresenceUser\u003E" }, { "name": "maxVisible", "type": "int" }, { "name": "size", "type": "float" }], "summary": "Presence: who is here now. Overlapping avatars with a colored ring each, that spread out on hover and name themselves." }, { "name": "Progress", "kind": "extension", "id": "extension|Progress|0|0|void|float value;ProgressOpts o = default||h811e97c08fde2498427fc6a279e22a1c2ea3bc1ce69c3d642c73832f10623d4d", "signature": "void Progress(float value, ProgressOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "value", "type": "float" }, { "name": "o", "type": "ProgressOpts", "default": "default" }], "summary": "cui_progress_ex" }, { "name": "ProgressRing", "kind": "extension", "id": "extension|ProgressRing|0|0|void|UiText label;float value;float size = 104f||h2e30430280ecfbc1925c0164f0bb59a54da3003b073ef1535c6cb3c2d4e8e057", "signature": "void ProgressRing(UiText label, float value, float size = 104f)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "float" }, { "name": "size", "type": "float", "default": "104f" }], "summary": "Circular progress with the value in the middle." }, { "name": "PushClip", "kind": "method", "id": "method|PushClip|0|0|void|RectF r||h95bac6dcebf24b24b986a596422f965edfee8cd616663a1e59d0da09a9bd3efb", "signature": "void PushClip(RectF r)", "parameters": [{ "name": "r", "type": "RectF" }], "summary": "Clips subsequent drawing to a rectangle. Pair with PopClip." }, { "name": "RadialGauge", "kind": "extension", "id": "extension|RadialGauge|0|0|void|UiText id;float value;float min;float max;RadialGaugeOpts o = default||h69d72defa0179e7173e927724367a4bb9575a2e75bbd9949225f9eab886c2992", "signature": "void RadialGauge(UiText id, float value, float min, float max, RadialGaugeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "value", "type": "float" }, { "name": "min", "type": "float" }, { "name": "max", "type": "float" }, { "name": "o", "type": "RadialGaugeOpts", "default": "default" }], "summary": "cui_radial_gauge_ex" }, { "name": "Readout", "kind": "extension", "id": "extension|Readout|0|0|void|UiText label;UiText value;ReadoutOpts o = default||h88673692487a3fc220702b7f3a45a3b5fc3f80bc6eab7e144728a19666b2f88f", "signature": "void Readout(UiText label, UiText value, ReadoutOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "value", "type": "UiText" }, { "name": "o", "type": "ReadoutOpts", "default": "default" }], "summary": "Readout: one figure as an instrument shows it. A small label, the value in the monospaced font with its unit, and a muted line of context under it." }, { "name": "Reasoning", "kind": "extension", "id": "extension|Reasoning|0|0|void|UiText id;DrawFn body;ReasoningOpts o = default||h892c50fc79e75386733c9149e18f72832dbdccb2d31c29b39a76a16ea185386e", "signature": "void Reasoning(UiText id, DrawFn body, ReasoningOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "ReasoningOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "ReorderBegin", "kind": "method", "id": "method|ReorderBegin|0|0|void|UiText id;int[] order||hb312c00b771ad378a0324c96198659487c28a3c21c9d71a96e3f595957ffe21f", "signature": "void ReorderBegin(UiText id, int[] order)", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "order", "type": "int[]" }] }, { "name": "RequestRedraw", "kind": "method", "id": "method|RequestRedraw|0|0|void|||h4986f5ad7c5201d2830f1dee1e374ca29980fe9c408b3ef833336aabba3ed66c", "signature": "void RequestRedraw()", "summary": "Requests another frame; call only from the synchronous draw path." }, { "name": "RequestWakeup", "kind": "extension", "id": "extension|RequestWakeup|0|0|void|float seconds||h1e8d82035be8a5e226207bb6bd0874265dba29cf4b6a4779f60b95ab7cc567f7", "signature": "void RequestWakeup(float seconds)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "seconds", "type": "float" }], "summary": "Asks for one more frame after seconds, even when nothing else would wake the window. Use it for a timer, a toast timeout or a poll interval." }, { "name": "ResponseStatus", "kind": "extension", "id": "extension|ResponseStatus|0|0|void|int status;double seconds;double bytes||h63e7c9d5181d7379043415c904edf88e89db4e9781c0577d221801f58399a1cf", "signature": "void ResponseStatus(int status, double seconds, double bytes)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "status", "type": "int" }, { "name": "seconds", "type": "double" }, { "name": "bytes", "type": "double" }], "summary": "cui_response_status" }, { "name": "ScrollTo", "kind": "extension", "id": "extension|ScrollTo|0|0|void|UiText scrollId;float y||h795b4245740f616fce2565ac40d5ea6dfa995143af81eedbc7067db0b0f1e7c0", "signature": "void ScrollTo(UiText scrollId, float y)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "scrollId", "type": "UiText" }, { "name": "y", "type": "float" }], "summary": "cui_scroll_to" }, { "name": "Secondary", "kind": "extension", "id": "extension|Secondary|0|0|void|UiText text||h4f32c253f11a19b26ceb397d205e5e2d5c6c8e5db01a0ef2e8984e0a2c78ef46", "signature": "void Secondary(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "secondary color" }, { "name": "Separator", "kind": "extension", "id": "extension|Separator|0|0|void|||h913edddc60366f9044c6b66111a5672080bdd3cb042c5febb3487cac873e4f6b", "signature": "void Separator()", "extensionOn": "CuiSharp.Ui", "summary": "hairline, follows the parent direction" }, { "name": "SetFont", "kind": "extension", "id": "extension|SetFont|0|0|void|Font role;Font font||hcab29e22e2019bb3b541b3254c5e4027f76d357aa2ea4e762ced8560cad6c652", "signature": "void SetFont(Font role, Font font)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "role", "type": "Font" }, { "name": "font", "type": "Font" }], "summary": "Makes font the face every widget using role draws with." }, { "name": "SetLocalization", "kind": "method", "id": "method|SetLocalization|0|0|void|Localization? table||h9b1e18df8b05e42ae28fc53a566e5014c93cf59eea849033c0ab9f19b6bae9bd", "signature": "void SetLocalization(Localization? table)", "parameters": [{ "name": "table", "type": "Localization?" }], "summary": "Sets the month, weekday and \u0022Today\u0022 names the date components show, and returns to English with null." }, { "name": "SetReducedMotion", "kind": "method", "id": "method|SetReducedMotion|0|0|void|bool reduced||hae4b830dd1026084cab290fac44e758b675baf93c35f70486ffa7547f059af88", "signature": "void SetReducedMotion(bool reduced)", "parameters": [{ "name": "reduced", "type": "bool" }], "summary": "Turns off animation (transitions, springs and spinners) for accessibility." }, { "name": "Sheet", "kind": "extension", "id": "extension|Sheet|0|0|void|UiText title;ref bool open;DrawFn body;SheetOpts o = default||h65c09301eb5dd69c80862865570241bbd654452c640464cf772559af8fc6bf22", "signature": "void Sheet(UiText title, ref bool open, DrawFn body, SheetOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "SheetOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "ShimmerText", "kind": "extension", "id": "extension|ShimmerText|0|0|void|UiText text;TextFxOpts o = default||h10fe1a4021ac0e8c72d7fdf6f3cb558e9a8c622c13f4749b7ac3d5d402cb9f57", "signature": "void ShimmerText(UiText text, TextFxOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "o", "type": "TextFxOpts", "default": "default" }], "summary": "Text with a highlight sweeping across it, for \u0022Thinking...\u0022 states." }, { "name": "SignatureClear", "kind": "extension", "id": "extension|SignatureClear|0|0|void|UiText id||hf23272f80768839b31369fdd5a82c42808ef1d11985d804d96d54c704b0de8bf", "signature": "void SignatureClear(UiText id)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }], "summary": "cui_signature_clear" }, { "name": "Skeleton", "kind": "extension", "id": "extension|Skeleton|0|0|void|Size width;float height||h9a80641f8540ed71174043f46e0ff5190568ee803a507a52125ab6fd1ccd12ec", "signature": "void Skeleton(Size width, float height)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "width", "type": "Size" }, { "name": "height", "type": "float" }], "summary": "cui_skeleton" }, { "name": "Spacer", "kind": "extension", "id": "extension|Spacer|0|0|void|||h8df9fad32f644fb75d2f19ff5d3057f2529306e3edc1921a901da58f59bdf332", "signature": "void Spacer()", "extensionOn": "CuiSharp.Ui", "summary": "flexible space" }, { "name": "Sparkline", "kind": "extension", "id": "extension|Sparkline|0|0|void|ReadOnlySpan\u003Cfloat\u003E values;Size width;float height;Color color||hf5e74b2ae617ca510b0dea71f3513379b77ff9597fa28585678fd9d5dc90c297", "signature": "void Sparkline(ReadOnlySpan\u003Cfloat\u003E values, Size width, float height, Color color)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "values", "type": "ReadOnlySpan\u003Cfloat\u003E" }, { "name": "width", "type": "Size" }, { "name": "height", "type": "float" }, { "name": "color", "type": "Color" }], "summary": "cui_sparkline" }, { "name": "Spinner", "kind": "extension", "id": "extension|Spinner|0|0|void|float size = 16f||h910bfa94c12faa6f479982793408735550b3b41b6f58bf9d2ecbd8fbd8d537f9", "signature": "void Spinner(float size = 16f)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "size", "type": "float", "default": "16f" }], "summary": "cui_spinner" }, { "name": "SplitNext", "kind": "extension", "id": "extension|SplitNext|0|0|void|||h2e9b4df1853b9715ec487e793813aebc81a3f6ac93bd19f40400a8b7db5e57b1", "signature": "void SplitNext()", "extensionOn": "CuiSharp.Ui", "summary": "cui_split_next" }, { "name": "StatusBarProgress", "kind": "extension", "id": "extension|StatusBarProgress|0|0|void|float value;StatusProgressOpts o = default||h0d89461fbae2cb62b010aaa92c832f76c787764ad8bf6a7f6f3b2352d43eb62e", "signature": "void StatusBarProgress(float value, StatusProgressOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "value", "type": "float" }, { "name": "o", "type": "StatusProgressOpts", "default": "default" }], "summary": "A small progress bar with an optional label. value is 0..1." }, { "name": "StatusBarSpacer", "kind": "extension", "id": "extension|StatusBarSpacer|0|0|void|||hff79ec75c75a5a4046a3afdf7908bfa1687f1fccc3cca35aa6a3c05e5696b38d", "signature": "void StatusBarSpacer()", "extensionOn": "CuiSharp.Ui", "summary": "cui_status_bar_spacer" }, { "name": "StatusBarText", "kind": "extension", "id": "extension|StatusBarText|0|0|void|UiText text;StatusItemOpts o = default||hf5288fddf236ac4166245c73e6f33c7b59cd60825aad4b4b26f2a62615179863", "signature": "void StatusBarText(UiText text, StatusItemOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "o", "type": "StatusItemOpts", "default": "default" }], "summary": "A message; \u0060tone\u0060 colors its icon." }, { "name": "Stepper", "kind": "extension", "id": "extension|Stepper|0|0|void|ReadOnlySpan\u003Cstring\u003E steps;int current||h80f2e80af6bf18ef466ffe2f62937141940d661367c04989db4a52915786a5ca", "signature": "void Stepper(ReadOnlySpan\u003Cstring\u003E steps, int current)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "steps", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "current", "type": "int" }], "summary": "cui_stepper" }, { "name": "Table", "kind": "extension", "id": "extension|Table|0|0|void|UiText id;ReadOnlySpan\u003CTableColumn\u003E columns;ref TableSort sort;DrawFn body;TableOpts o = default||h7968ef7a646f0817ff9658c4cbca9383316e49dd9c742c9662b2ff3812b0fd0a", "signature": "void Table(UiText id, ReadOnlySpan\u003CTableColumn\u003E columns, ref TableSort sort, DrawFn body, TableOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "columns", "type": "ReadOnlySpan\u003CTableColumn\u003E" }, { "name": "sort", "type": "ref TableSort" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "TableOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "TableCell", "kind": "extension", "id": "extension|TableCell|0|0|void|||h7206d360daa4de79037d61b719094d0baea2de5a24e5aeb9f04149502f3db3bc", "signature": "void TableCell()", "extensionOn": "CuiSharp.Ui", "summary": "Next cell; put any components inside, or use cui_table_cell_text." }, { "name": "TableCellText", "kind": "extension", "id": "extension|TableCellText|0|0|void|UiText text||h7ed6f22b1e22b71ecfb331830e30c25829c7af8fec09d3b888c861bbb28793a6", "signature": "void TableCellText(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "Part of cui_table_cell \u2014 Next cell; put any components inside, or use cui_table_cell_text." }, { "name": "Text", "kind": "extension", "id": "extension|Text|0|0|void|UiText text;TextOpts o = default||h098380135ff70fa9e6364b4f5cb5baaa3d0d23bb4e06916511f00c01e904dcb6", "signature": "void Text(UiText text, TextOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }, { "name": "o", "type": "TextOpts", "default": "default" }], "summary": "cui_text_ex" }, { "name": "TextReveal", "kind": "extension", "id": "extension|TextReveal|0|0|void|UiText id;UiText text;TextFxOpts o = default||h7f99ba4d6b24021ea0f87d36914931f6994d1962327a22f1e8b4caad0115cafe", "signature": "void TextReveal(UiText id, UiText text, TextFxOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "text", "type": "UiText" }, { "name": "o", "type": "TextFxOpts", "default": "default" }], "summary": "Words fade and rise into place one after another, when first shown and again whenever the text changes." }, { "name": "Ticker", "kind": "extension", "id": "extension|Ticker|0|0|void|UiText id;ReadOnlySpan\u003CTickerItem\u003E items;TickerOpts o = default||h62c76d0d359572be4036b278345efbeac770ba89bef0d4343912d1b51ea0fc23", "signature": "void Ticker(UiText id, ReadOnlySpan\u003CTickerItem\u003E items, TickerOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "items", "type": "ReadOnlySpan\u003CTickerItem\u003E" }, { "name": "o", "type": "TickerOpts", "default": "default" }], "summary": "Ticker: items that scroll by continuously, pausing on hover." }, { "name": "TimelineItem", "kind": "extension", "id": "extension|TimelineItem|0|0|void|UiText title;TimelineOpts o = default||hd57ae894fcdcf6a57e4008b86ca1e4a0ea3d920a1be7b0beead7f0c64dce9b25", "signature": "void TimelineItem(UiText title, TimelineOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "title", "type": "UiText" }, { "name": "o", "type": "TimelineOpts", "default": "default" }], "summary": "cui_timeline_item_ex" }, { "name": "ToastDismiss", "kind": "extension", "id": "extension|ToastDismiss|0|0|void|int handle||h6a894b14bc221b765154e4ee9cf6cdd1812f544772192205c25a197be8077904", "signature": "void ToastDismiss(int handle)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "handle", "type": "int" }], "summary": "cui_toast_dismiss" }, { "name": "TocAnchor", "kind": "extension", "id": "extension|TocAnchor|0|0|void|UiText anchor||h474d1046a90fd952ce1996c9a0f04e59d8090e886222bfa8a62b08c2d191127c", "signature": "void TocAnchor(UiText anchor)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "anchor", "type": "UiText" }], "summary": "cui_toc_anchor" }, { "name": "ToggleTheme", "kind": "method", "id": "method|ToggleTheme|0|0|void|||h9c315cf4c8d3ce0774082f4db1c10fdcde1dfdef8503f7e49968fc73805e19e8", "signature": "void ToggleTheme()", "summary": "Switches to the other theme: what a \u0022dark mode\u0022 command is." }, { "name": "ToolCall", "kind": "extension", "id": "extension|ToolCall|0|0|void|UiText id;UiText name;ToolCallOpts o = default||h16a78d12e8afd01cd74d0ff79d04eab871b3602eb401436850ec64b67c8d437d", "signature": "void ToolCall(UiText id, UiText name, ToolCallOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "name", "type": "UiText" }, { "name": "o", "type": "ToolCallOpts", "default": "default" }], "summary": "cui_tool_call_ex" }, { "name": "ToolbarSeparator", "kind": "extension", "id": "extension|ToolbarSeparator|0|0|void|||h1ac04b800f486b06135932d0c44c42e77b107a635f62f0ebe94dc31f9e99b9a6", "signature": "void ToolbarSeparator()", "extensionOn": "CuiSharp.Ui", "summary": "cui_toolbar_separator" }, { "name": "ToolbarSpacer", "kind": "extension", "id": "extension|ToolbarSpacer|0|0|void|||h494edd9bb119d78eaa1c281a125dd1a9effb7a85caa35e4b35c4253376bb92f3", "signature": "void ToolbarSpacer()", "extensionOn": "CuiSharp.Ui", "summary": "pushes the following items to the right" }, { "name": "Tooltip", "kind": "extension", "id": "extension|Tooltip|0|0|void|UiText text||h5665aef7d99446eea8e623f0f1227e52e0512f331e35936232eb9a28aa7f3634", "signature": "void Tooltip(UiText text)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "text", "type": "UiText" }], "summary": "Tooltip for the previous component, shown after a short hover delay." }, { "name": "Tree", "kind": "extension", "id": "extension|Tree|0|0|void|UiText label;ref bool open;DrawFn body;TreeOpts o = default||he13b4bfd412c90e5210ac7a3109d12fb25e4a2280312b5257572daebbb5bbd95", "signature": "void Tree(UiText label, ref bool open, DrawFn body, TreeOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "open", "type": "ref bool" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "TreeOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "TreeTableName", "kind": "extension", "id": "extension|TreeTableName|0|0|void|UiText label;UiText icon||h1db08630dbcd5478e4543d6fc7df51dec714a4cefea2efb55e95ec44273c7151", "signature": "void TreeTableName(UiText label, UiText icon)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "label", "type": "UiText" }, { "name": "icon", "type": "UiText" }], "summary": "The first cell: indentation, guides, the chevron, an icon and the name (cut short with a tooltip of the whole name when it does not fit)." }, { "name": "TypingIndicator", "kind": "extension", "id": "extension|TypingIndicator|0|0|void|UiText name||h29e1190d004ef9cf04c8fb3bb6772b74ea89a31b5105bb6fe5d65e29383b006a", "signature": "void TypingIndicator(UiText name)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "name", "type": "UiText" }], "summary": "bouncing dots" }, { "name": "UserMenu", "kind": "extension", "id": "extension|UserMenu|0|0|void|UiText name;DrawFn body;UserMenuOpts o = default||h1d302e00c446dbae93ac0347cf4063547177c7d4c68194db26c7ca15c8128f8c", "signature": "void UserMenu(UiText name, DrawFn body, UserMenuOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "name", "type": "UiText" }, { "name": "body", "type": "DrawFn" }, { "name": "o", "type": "UserMenuOpts", "default": "default" }], "summary": "Draws the body only when the container opens, and closes it on exceptions." }, { "name": "WordRotate", "kind": "extension", "id": "extension|WordRotate|0|0|void|UiText id;ReadOnlySpan\u003Cstring\u003E words;float interval;TextFxOpts o = default||he53938c5acb8d2d7786cb08323a565882c4e7c01bc50637a3c5c0d9131734da4", "signature": "void WordRotate(UiText id, ReadOnlySpan\u003Cstring\u003E words, float interval, TextFxOpts o = default)", "extensionOn": "CuiSharp.Ui", "parameters": [{ "name": "id", "type": "UiText" }, { "name": "words", "type": "ReadOnlySpan\u003Cstring\u003E" }, { "name": "interval", "type": "float" }, { "name": "o", "type": "TextFxOpts", "default": "default" }], "summary": "One word at a time; the next one rolls up into place and the width follows." }] }, { "name": "CuiSharp.UiText", "displayName": "UiText", "kind": "ref struct", "summary": "Frame-local text: a string, UTF-8 bytes, or interpolation. All UI text parameters accept this type; interpolated values format directly into the frame arena without creating a managed string.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int literalLength;int formattedCount||h9d129c9e8c13f816fed4fd270b6f7361e24da4313ad96ee28152fbfd2d443819", "signature": "UiText(int literalLength, int formattedCount)", "parameters": [{ "name": "literalLength", "type": "int" }, { "name": "formattedCount", "type": "int" }], "summary": "Called by the compiler for interpolated text." }, { "name": "implicit operator UiText", "kind": "conversion", "id": "conversion|op_Implicit|1|0|UiText|ReadOnlySpan\u003Cbyte\u003E text||hd1579173337f67b3bf25d622e86eb7f148007c45b2d398328924b26ef41bed1a", "signature": "static implicit operator UiText(ReadOnlySpan\u003Cbyte\u003E text)", "member": "op_Implicit", "parameters": [{ "name": "text", "type": "ReadOnlySpan\u003Cbyte\u003E" }], "summary": "Copies pre-encoded UTF-8 into the frame arena." }, { "name": "implicit operator UiText", "kind": "conversion", "id": "conversion|op_Implicit|1|0|UiText|string? text||ha192bca6069ef409f9cb822e5f7d0eaa3554d027fa4199e7d57af82030fd6b75", "signature": "static implicit operator UiText(string? text)", "member": "op_Implicit", "parameters": [{ "name": "text", "type": "string?" }], "summary": "Copies a managed string into the frame arena; null means empty." }, { "name": "AppendFormatted", "kind": "method", "id": "method|AppendFormatted|0|0|void|ReadOnlySpan\u003Cbyte\u003E value||hef829454fbde18245e3b8ef1227cc657c7d0c8b8ac6043baddcb203e4e89ce11", "signature": "void AppendFormatted(ReadOnlySpan\u003Cbyte\u003E value)", "parameters": [{ "name": "value", "type": "ReadOnlySpan\u003Cbyte\u003E" }] }, { "name": "AppendFormatted", "kind": "method", "id": "method|AppendFormatted|0|0|void|ReadOnlySpan\u003Cchar\u003E value||h512a8c46c33dd443943ef420e735689596e3dd472b3a96689fcb02b2ba852201", "signature": "void AppendFormatted(ReadOnlySpan\u003Cchar\u003E value)", "parameters": [{ "name": "value", "type": "ReadOnlySpan\u003Cchar\u003E" }] }, { "name": "AppendFormatted", "kind": "method", "id": "method|AppendFormatted|0|0|void|ReadOnlySpan\u003Cchar\u003E value;int alignment||h982dbe4e0a26fe044f09d75a4d1104d13f46fc199f6c695c3782505e26cfbb9b", "signature": "void AppendFormatted(ReadOnlySpan\u003Cchar\u003E value, int alignment)", "parameters": [{ "name": "value", "type": "ReadOnlySpan\u003Cchar\u003E" }, { "name": "alignment", "type": "int" }] }, { "name": "AppendFormatted", "kind": "method", "id": "method|AppendFormatted|0|0|void|UiText value||h5e44e320cfaa7bde5f1329fb6b53cbdd46d63a7584a2c0fc9033ba79744123a3", "signature": "void AppendFormatted(UiText value)", "parameters": [{ "name": "value", "type": "UiText" }] }, { "name": "AppendFormatted", "kind": "method", "id": "method|AppendFormatted|0|0|void|bool value||h720aa8df35eebbf6f0d5f648fc9a056d974eb609b0040ec2c42fd468a06693a0", "signature": "void AppendFormatted(bool value)", "parameters": [{ "name": "value", "type": "bool" }] }, { "name": "AppendFormatted", "kind": "method", "id": "method|AppendFormatted|0|0|void|char value||h9d680ea6dfe9dbec87b517cb2cbddc8218746befbf6dd2ee68b35e855f8057ae", "signature": "void AppendFormatted(char value)", "parameters": [{ "name": "value", "type": "char" }] }, { "name": "AppendFormatted", "kind": "method", "id": "method|AppendFormatted|0|0|void|object? value||hf93e8db4d0924f08e67f1ef03109839f6c73f17ad46779c6b8b380b8e05c7218", "signature": "void AppendFormatted(object? value)", "parameters": [{ "name": "value", "type": "object?" }], "summary": "Fallback for other values; their ToString() may allocate." }, { "name": "AppendFormatted", "kind": "method", "id": "method|AppendFormatted|0|0|void|object? value;int alignment;string? format = null||h059572468f1cfeb9ca57651003cde79067a087f489ab6d52b658fb044b3526ed", "signature": "void AppendFormatted(object? value, int alignment, string? format = null)", "parameters": [{ "name": "value", "type": "object?" }, { "name": "alignment", "type": "int" }, { "name": "format", "type": "string?", "default": "null" }] }, { "name": "AppendFormatted", "kind": "method", "id": "method|AppendFormatted|0|0|void|object? value;string? format||h9d8fbb16f8627e1d56ead9a8606ba99da5f85ef91fd9b3771d29f8c5e4c7e462", "signature": "void AppendFormatted(object? value, string? format)", "parameters": [{ "name": "value", "type": "object?" }, { "name": "format", "type": "string?" }] }, { "name": "AppendFormatted", "kind": "method", "id": "method|AppendFormatted|0|0|void|string? value||h7ed9ddb298ac718e41c3694b560ffb5c9d2bc9abccaaeedd72c1132bffd4b796", "signature": "void AppendFormatted(string? value)", "parameters": [{ "name": "value", "type": "string?" }] }, { "name": "AppendFormatted", "kind": "method", "id": "method|AppendFormatted|0|0|void|string? value;int alignment||h51c88640d936ec7475bf76cd319665175a79b5198d79ca7c1a3ba95a51998749", "signature": "void AppendFormatted(string? value, int alignment)", "parameters": [{ "name": "value", "type": "string?" }, { "name": "alignment", "type": "int" }] }, { "name": "AppendFormatted", "kind": "method", "id": "method|AppendFormatted|0|1|void|T value||h65df985b422ddbac895e2b797462d95fb3f98bb9ce9ccf9782ec6763b6832437", "signature": "void AppendFormatted\u003CT\u003E(T value) where T : IUtf8SpanFormattable", "parameters": [{ "name": "value", "type": "T" }] }, { "name": "AppendFormatted", "kind": "method", "id": "method|AppendFormatted|0|1|void|T value;int alignment||h6468da91f19f1efef869ac4b11f9ff350163d77d76e6db4819ce47eefce59a06", "signature": "void AppendFormatted\u003CT\u003E(T value, int alignment) where T : IUtf8SpanFormattable", "parameters": [{ "name": "value", "type": "T" }, { "name": "alignment", "type": "int" }] }, { "name": "AppendFormatted", "kind": "method", "id": "method|AppendFormatted|0|1|void|T value;int alignment;string? format||h1004c4617ff18f4ce7f5dfd22cacb4983c1cb3ae5b0581f5cdcfadab89abcd35", "signature": "void AppendFormatted\u003CT\u003E(T value, int alignment, string? format) where T : IUtf8SpanFormattable", "parameters": [{ "name": "value", "type": "T" }, { "name": "alignment", "type": "int" }, { "name": "format", "type": "string?" }] }, { "name": "AppendFormatted", "kind": "method", "id": "method|AppendFormatted|0|1|void|T value;string? format||h2fc49aa45e0e759e36dd6df0e6e9d6157eff303a310b2b52f64f0ffa2635a4ad", "signature": "void AppendFormatted\u003CT\u003E(T value, string? format) where T : IUtf8SpanFormattable", "parameters": [{ "name": "value", "type": "T" }, { "name": "format", "type": "string?" }] }, { "name": "AppendLiteral", "kind": "method", "id": "method|AppendLiteral|0|0|void|string value||h91e764bb2eb76e141ff133bb474648f96920b1561f73237554f400e459d22437", "signature": "void AppendLiteral(string value)", "parameters": [{ "name": "value", "type": "string" }] }] }, - { "name": "CuiSharp.UptimeOpts", "displayName": "UptimeOpts", "kind": "struct", "summary": "cui_uptime_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "LastDay", "kind": "field", "id": "field|LastDay|0|0|Date|||ha3f645ffdf8751c48a7a18f62ca5d5d533c04d6ba810e7a5b9e3d210de69be6b", "signature": "public Date LastDay", "summary": "the date of the last value, for the tooltips" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "the date of the last value, for the tooltips" }] }, - { "name": "CuiSharp.UptimeResult", "displayName": "UptimeResult", "kind": "struct", "summary": "cui_uptime_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Service;int Day = default||h4ee9e7c7a585a544f5268afb6a64a28897b9938d387b9170a817e81d7915e91b", "signature": "UptimeResult(int Service, int Day = default)", "parameters": [{ "name": "Service", "type": "int" }, { "name": "Day", "type": "int", "default": "default" }] }, { "name": "Day", "kind": "field", "id": "field|Day|0|0|int|||h40d69339a69f05f7a1cf0fdcf537358258767e30cc6d07e430cb48196d28a0e1", "signature": "public int Day", "summary": "under the pointer, or -1" }, { "name": "Service", "kind": "field", "id": "field|Service|0|0|int|||hba0d1bf399894e025b711a3e44f55e40012b5deae721403f37ad45df303a1b8b", "signature": "public int Service", "summary": "under the pointer, or -1" }] }, - { "name": "CuiSharp.UptimeService", "displayName": "UptimeService", "kind": "struct", "summary": "cui_uptime_service. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;float[]? Days = null||hfa07e809ac4e14d16b3c1adb8af333482073950cf9509a92f142b47176aa9742", "signature": "UptimeService(string? Name, float[]? Days = null)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Days", "type": "float[]?", "default": "null" }] }, { "name": "Days", "kind": "field", "id": "field|Days|0|0|float[]?|||haec07f103a47589c307f89871f407df5923cd1318c8c1e972bc67b3576c549aa", "signature": "public float[]? Days", "summary": "oldest first: the fraction of the day it was up, 0..1; negative: no data" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "const char * name" }] }, - { "name": "CuiSharp.UserMenuOpts", "displayName": "UserMenuOpts", "kind": "struct", "summary": "cui_user_menu_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement placement" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|bool|||h5a2127a1e548266f50dbac415de28c4f38d4739bc0238184acf147186e6e67f6", "signature": "public bool Compact", "summary": "_Bool compact" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float width" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "const char * detail" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|string?|||hea5150ac3e746a684c3b4c0832cabdae145da44e92c85bb412cef107598a117e", "signature": "public string? Status", "summary": "const char * status" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|ulong|||h6765b735e7badc83f84a351ff974e0656ad18b5550da2fa781650ae1ccda1d0d", "signature": "public ulong Avatar", "summary": "cui_texture avatar" }] }, - { "name": "CuiSharp.Vec2", "displayName": "Vec2", "kind": "struct", "summary": "cui_vec2. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float X;float Y = default||hae55464e836ae6a32248a070b8973014ba4694a45f738513a323a7dfdeddee51", "signature": "Vec2(float X, float Y = default)", "parameters": [{ "name": "X", "type": "float" }, { "name": "Y", "type": "float", "default": "default" }] }, { "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "float x" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "float y" }] }, - { "name": "CuiSharp.VizItem", "displayName": "VizItem", "kind": "struct", "summary": "cui_viz_item. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Label;float Value = default;Color Color = default||h2246b9d94469e53b5b66267bbb3783660312f7556ab2bc1cff47f1312811b5a0", "signature": "VizItem(string? Label, float Value = default, Color Color = default)", "parameters": [{ "name": "Label", "type": "string?" }, { "name": "Value", "type": "float", "default": "default" }, { "name": "Color", "type": "Color", "default": "default" }] }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|float|||h8c20ac2e2f946bfe778b76ce5a0751e644f14cbfa254ac592650fe0166f91e91", "signature": "public float Value", "summary": "float value" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, - { "name": "CuiSharp.VoiceOrbOpts", "displayName": "VoiceOrbOpts", "kind": "struct", "summary": "cui_voice_orb_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }] }, - { "name": "CuiSharp.VoiceState", "displayName": "VoiceState", "kind": "enum", "summary": "cui_voice_state", "members": [{ "name": "Idle", "kind": "enum value", "id": "enum value|Idle|1|0|||0|h20c3936fb6d84745aab37d74d712fd6dfdf7b2e28735244f399d17b466c6d050", "signature": "Idle = 0", "value": "0" }, { "name": "Listening", "kind": "enum value", "id": "enum value|Listening|1|0|||1|h90eb8e619675aa794a47372a8d974306b7c3927bb278c831ee6bbdf397555bb7", "signature": "Listening = 1", "value": "1" }, { "name": "Speaking", "kind": "enum value", "id": "enum value|Speaking|1|0|||3|h033f07612355ed8f81d5beeb952d477ee5ff9e6eaa745a3a2e9102996da1d8fa", "signature": "Speaking = 3", "value": "3" }, { "name": "Thinking", "kind": "enum value", "id": "enum value|Thinking|1|0|||2|hd3e9b1147cd042a94fb48641ad7dd7ffd430dde9c79aacabf1dc720a973290b1", "signature": "Thinking = 2", "value": "2" }] }, - { "name": "CuiSharp.WaffleOpts", "displayName": "WaffleOpts", "kind": "struct", "summary": "cui_waffle_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Cell", "kind": "field", "id": "field|Cell|0|0|float|||hf561982788f651cf6be459cbdafa3d95b9d0eec610073c6be9f8ee75925d3d45", "signature": "public float Cell", "summary": "float cell" }, { "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "int columns" }, { "name": "Rows", "kind": "field", "id": "field|Rows|0|0|int|||hefb2c032827af5f9bdb34f5a833a498a2a3d7d65d6ddf1e90ac44faab38b24dc", "signature": "public int Rows", "summary": "int rows" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, - { "name": "CuiSharp.WaterfallOpts", "displayName": "WaterfallOpts", "kind": "struct", "summary": "cui_waterfall_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "seconds; 0: no line" }, { "name": "DomLoaded", "kind": "field", "id": "field|DomLoaded|0|0|double|||had711cfa961b378cf56ad55952a3763a8a8b982d4719b201917574db1440435b", "signature": "public double DomLoaded", "summary": "seconds; 0: no line" }, { "name": "Loaded", "kind": "field", "id": "field|Loaded|0|0|double|||h72af03b033f52e632df13177a005dcc56ae8a6f948dc761c60bb228b7ead174d", "signature": "public double Loaded", "summary": "seconds; 0: no line" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "seconds; 0: no line" }] }, - { "name": "CuiSharp.WaterfallResult", "displayName": "WaterfallResult", "kind": "struct", "summary": "cui_waterfall_result. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Clicked;int Activated = default;int Hovered = default||h1a1ea85d82faab62223df49381c24d9689c71f0db7e48778aabbc28fdd9d52a3", "signature": "WaterfallResult(int Clicked, int Activated = default, int Hovered = default)", "parameters": [{ "name": "Clicked", "type": "int" }, { "name": "Activated", "type": "int", "default": "default" }, { "name": "Hovered", "type": "int", "default": "default" }] }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "int activated" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "int clicked" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "int hovered" }] }, - { "name": "CuiSharp.WaveformOpts", "displayName": "WaveformOpts", "kind": "struct", "summary": "cui_waveform_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Bar", "kind": "field", "id": "field|Bar|0|0|float|||h591ddfbd792b6ecacf5e925fb8b547031152808505904aa2466d8298c0ada87e", "signature": "public float Bar", "summary": "float bar" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float gap" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }] }, - { "name": "CuiSharp.WeekOpts", "displayName": "WeekOpts", "kind": "struct", "summary": "cui_week_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "cui_size height" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|bool|||he393614309fa34fbb6e0930aa04c288616abcb05d02f63ad9eb9cb23927877ad", "signature": "public bool ReadOnly", "summary": "_Bool read_only" }, { "name": "EndHour", "kind": "field", "id": "field|EndHour|0|0|float|||hf2d73b4840a1592be5241a7d3de76347b3f0fa9a82072704ccc371b6dd7bd10d", "signature": "public float EndHour", "summary": "float end_hour" }, { "name": "HourHeight", "kind": "field", "id": "field|HourHeight|0|0|float|||hd99043ce8431fbebab02ad1cffe41da949e573d0bf135f08eb80493759cb456b", "signature": "public float HourHeight", "summary": "float hour_height" }, { "name": "StartHour", "kind": "field", "id": "field|StartHour|0|0|float|||hd84f53a0fa907b5d1904af3368ea78c32ea17804962c166927e7ad02ddae27f9", "signature": "public float StartHour", "summary": "float start_hour" }] }, - { "name": "CuiSharp.WheelOpts", "displayName": "WheelOpts", "kind": "struct", "summary": "cui_wheel_opts. All fields are optional; zero selects native defaults.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "JoinLeft", "kind": "field", "id": "field|JoinLeft|0|0|bool|||h4065b1eb324d0954a4c5b0cc6ea19eee010a2152d8e132ede3077994bfcced1b", "signature": "public bool JoinLeft", "summary": "_Bool join_left" }, { "name": "JoinRight", "kind": "field", "id": "field|JoinRight|0|0|bool|||h922a39579650be390881d5edb26c2593c91193b13c7ca5259cff31b13f98370c", "signature": "public bool JoinRight", "summary": "_Bool join_right" }, { "name": "Loop", "kind": "field", "id": "field|Loop|0|0|bool|||h7274a1137877894804d8aab9d630e1af40661c2344ca1ff578904fa0bf31f6d9", "signature": "public bool Loop", "summary": "_Bool loop" }, { "name": "Rows", "kind": "field", "id": "field|Rows|0|0|int|||hefb2c032827af5f9bdb34f5a833a498a2a3d7d65d6ddf1e90ac44faab38b24dc", "signature": "public int Rows", "summary": "int rows" }] }, + { "name": "CuiSharp.UptimeOpts", "displayName": "UptimeOpts", "kind": "struct", "summary": "A status page: each service with its current state, its uptime over the period, and one bar per day colored by availability (gray without data). Hover a bar for its day and uptime. On a narrow panel only the most recent days that fit are shown. All fields are optional; zero selects the native default.", "members": [{ "name": "LastDay", "kind": "field", "id": "field|LastDay|0|0|Date|||ha3f645ffdf8751c48a7a18f62ca5d5d533c04d6ba810e7a5b9e3d210de69be6b", "signature": "public Date LastDay", "summary": "the date of the last value, for the tooltips" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "the date of the last value, for the tooltips" }] }, + { "name": "CuiSharp.UptimeResult", "displayName": "UptimeResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Service;int Day = default||h4ee9e7c7a585a544f5268afb6a64a28897b9938d387b9170a817e81d7915e91b", "signature": "UptimeResult(int Service, int Day = default)", "parameters": [{ "name": "Service", "type": "int" }, { "name": "Day", "type": "int", "default": "default" }] }, { "name": "Day", "kind": "field", "id": "field|Day|0|0|int|||h40d69339a69f05f7a1cf0fdcf537358258767e30cc6d07e430cb48196d28a0e1", "signature": "public int Day", "summary": "under the pointer, or -1" }, { "name": "Service", "kind": "field", "id": "field|Service|0|0|int|||hba0d1bf399894e025b711a3e44f55e40012b5deae721403f37ad45df303a1b8b", "signature": "public int Service", "summary": "under the pointer, or -1" }] }, + { "name": "CuiSharp.UptimeService", "displayName": "UptimeService", "kind": "struct", "summary": "A status page: each service with its current state, its uptime over the period, and one bar per day colored by availability (gray without data). Hover a bar for its day and uptime. On a narrow panel only the most recent days that fit are shown. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Name;float[]? Days = null||hfa07e809ac4e14d16b3c1adb8af333482073950cf9509a92f142b47176aa9742", "signature": "UptimeService(string? Name, float[]? Days = null)", "parameters": [{ "name": "Name", "type": "string?" }, { "name": "Days", "type": "float[]?", "default": "null" }] }, { "name": "Days", "kind": "field", "id": "field|Days|0|0|float[]?|||haec07f103a47589c307f89871f407df5923cd1318c8c1e972bc67b3576c549aa", "signature": "public float[]? Days", "summary": "oldest first: the fraction of the day it was up, 0..1; negative: no data" }, { "name": "Name", "kind": "field", "id": "field|Name|0|0|string?|||hcbdb244d52a3792efd9959d43171bf3259e059aed2be3877936b4e392b4df7e7", "signature": "public string? Name", "summary": "shown above the service\u0027s bars" }] }, + { "name": "CuiSharp.UserMenuOpts", "displayName": "UserMenuOpts", "kind": "struct", "summary": "User menu: an avatar, a name and a line of detail that opens a menu of account actions. Put menu items between begin and end. All fields are optional; zero selects the native default.", "members": [{ "name": "Placement", "kind": "field", "id": "field|Placement|0|0|Placement|||hf195de79a8d91746df0b8c16e35ba7d16ceae982142ab61e53708b3f3c7905f1", "signature": "public Placement Placement", "summary": "cui_placement placement" }, { "name": "Compact", "kind": "field", "id": "field|Compact|0|0|bool|||h5a2127a1e548266f50dbac415de28c4f38d4739bc0238184acf147186e6e67f6", "signature": "public bool Compact", "summary": "only the avatar as the button, as wide as it needs; the menu then opens below it" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|float|||h09484e060a56a245cb1b8dd34046053777e40c112712137a7d87044b8d646e30", "signature": "public float Width", "summary": "float width" }, { "name": "Detail", "kind": "field", "id": "field|Detail|0|0|string?|||hf4dcc3138084be9e84d3528d90e856d600779a67594e9c87a15780888d2fb6ab", "signature": "public string? Detail", "summary": "second line under the name, e.g. an email address; also in the menu\u0027s header" }, { "name": "Status", "kind": "field", "id": "field|Status|0|0|string?|||hea5150ac3e746a684c3b4c0832cabdae145da44e92c85bb412cef107598a117e", "signature": "public string? Status", "summary": "status dot on the avatar: \u0022online\u0022, \u0022busy\u0022, \u0022away\u0022 or anything else (gray)" }, { "name": "Avatar", "kind": "field", "id": "field|Avatar|0|0|ulong|||h6765b735e7badc83f84a351ff974e0656ad18b5550da2fa781650ae1ccda1d0d", "signature": "public ulong Avatar", "summary": "picture for the avatar instead of the name\u0027s initials" }] }, + { "name": "CuiSharp.Vec2", "displayName": "Vec2", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||float X;float Y = default||hae55464e836ae6a32248a070b8973014ba4694a45f738513a323a7dfdeddee51", "signature": "Vec2(float X, float Y = default)", "parameters": [{ "name": "X", "type": "float" }, { "name": "Y", "type": "float", "default": "default" }] }, { "name": "X", "kind": "field", "id": "field|X|0|0|float|||hbec0ecb6e96ea8c241f3a15f38ef8790ed3bc60112d724cb0682faace7a31ad9", "signature": "public float X", "summary": "float x" }, { "name": "Y", "kind": "field", "id": "field|Y|0|0|float|||hc00783e50f9198b7b18649e9937eb1d8ff1a46a45ace997ee4e0201cd0172883", "signature": "public float Y", "summary": "float y" }] }, + { "name": "CuiSharp.VizItem", "displayName": "VizItem", "kind": "struct", "summary": "Treemap: rectangles with areas proportional to their values. Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||string? Label;float Value = default;Color Color = default||h2246b9d94469e53b5b66267bbb3783660312f7556ab2bc1cff47f1312811b5a0", "signature": "VizItem(string? Label, float Value = default, Color Color = default)", "parameters": [{ "name": "Label", "type": "string?" }, { "name": "Value", "type": "float", "default": "default" }, { "name": "Color", "type": "Color", "default": "default" }] }, { "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Value", "kind": "field", "id": "field|Value|0|0|float|||h8c20ac2e2f946bfe778b76ce5a0751e644f14cbfa254ac592650fe0166f91e91", "signature": "public float Value", "summary": "the item\u0027s amount: its area, length or share, by chart (activity rings: 1 is a full turn)" }, { "name": "Label", "kind": "field", "id": "field|Label|0|0|string?|||h44009b6baf5b979302330d36c1da1d2620edd8bd8919ce2ec20fe089267e8ac3", "signature": "public string? Label", "summary": "const char * label" }] }, + { "name": "CuiSharp.VoiceOrbOpts", "displayName": "VoiceOrbOpts", "kind": "struct", "summary": "cui_voice_orb_opts. All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Size", "kind": "field", "id": "field|Size|0|0|float|||h6a7994d51dd3609f0c6e82fd31943ebae3ebffffaa8f0910f7f745869078fb26", "signature": "public float Size", "summary": "float size" }] }, + { "name": "CuiSharp.VoiceState", "displayName": "VoiceState", "kind": "enum", "summary": "Voice orb: a living shape for voice modes. level is the input or output loudness (0..1). Returns true when clicked.", "members": [{ "name": "Idle", "kind": "enum value", "id": "enum value|Idle|1|0|||0|h20c3936fb6d84745aab37d74d712fd6dfdf7b2e28735244f399d17b466c6d050", "signature": "Idle = 0", "value": "0" }, { "name": "Listening", "kind": "enum value", "id": "enum value|Listening|1|0|||1|h90eb8e619675aa794a47372a8d974306b7c3927bb278c831ee6bbdf397555bb7", "signature": "Listening = 1", "value": "1" }, { "name": "Speaking", "kind": "enum value", "id": "enum value|Speaking|1|0|||3|h033f07612355ed8f81d5beeb952d477ee5ff9e6eaa745a3a2e9102996da1d8fa", "signature": "Speaking = 3", "value": "3" }, { "name": "Thinking", "kind": "enum value", "id": "enum value|Thinking|1|0|||2|hd3e9b1147cd042a94fb48641ad7dd7ffd430dde9c79aacabf1dc720a973290b1", "signature": "Thinking = 2", "value": "2" }] }, + { "name": "CuiSharp.WaffleOpts", "displayName": "WaffleOpts", "kind": "struct", "summary": "Waffle: a 10 x 10 grid of squares split by share, with a legend. All fields are optional; zero selects the native default.", "members": [{ "name": "Cell", "kind": "field", "id": "field|Cell|0|0|float|||hf561982788f651cf6be459cbdafa3d95b9d0eec610073c6be9f8ee75925d3d45", "signature": "public float Cell", "summary": "size of a square in points, default 18" }, { "name": "Columns", "kind": "field", "id": "field|Columns|0|0|int|||h559b71c7310b7fbfd42a362221a5ff693033ac427ba75417f9fbcd448f34bd58", "signature": "public int Columns", "summary": "squares per row, at most 60; default 10" }, { "name": "Rows", "kind": "field", "id": "field|Rows|0|0|int|||hefb2c032827af5f9bdb34f5a833a498a2a3d7d65d6ddf1e90ac44faab38b24dc", "signature": "public int Rows", "summary": "rows of squares, at most 60; default 10" }, { "name": "Format", "kind": "field", "id": "field|Format|0|0|string?|||h569c4de400fd242b777ddfec561786900d4f2ae1434374423edf8bd9ef0c421f", "signature": "public string? Format", "summary": "const char * format" }] }, + { "name": "CuiSharp.WaterfallOpts", "displayName": "WaterfallOpts", "kind": "struct", "summary": "HTTP requests as a table with a timing bar each: queued, DNS, connect, TLS, waiting for the first byte and downloading, on one time scale with the page\u0027s DOMContentLoaded and load lines. Hover a bar for the breakdown. Narrow panels drop the type and size columns. Only the rows in view are built. Up and Down move the selection. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "DomLoaded", "kind": "field", "id": "field|DomLoaded|0|0|double|||had711cfa961b378cf56ad55952a3763a8a8b982d4719b201917574db1440435b", "signature": "public double DomLoaded", "summary": "seconds; 0: no line" }, { "name": "Loaded", "kind": "field", "id": "field|Loaded|0|0|double|||h72af03b033f52e632df13177a005dcc56ae8a6f948dc761c60bb228b7ead174d", "signature": "public double Loaded", "summary": "seconds; 0: no line" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }] }, + { "name": "CuiSharp.WaterfallResult", "displayName": "WaterfallResult", "kind": "struct", "summary": "Elements are copied into the frame arena by the wrapper.", "members": [{ "name": ".ctor", "kind": "constructor", "id": "constructor|.ctor|0|0||int Clicked;int Activated = default;int Hovered = default||h1a1ea85d82faab62223df49381c24d9689c71f0db7e48778aabbc28fdd9d52a3", "signature": "WaterfallResult(int Clicked, int Activated = default, int Hovered = default)", "parameters": [{ "name": "Clicked", "type": "int" }, { "name": "Activated", "type": "int", "default": "default" }, { "name": "Hovered", "type": "int", "default": "default" }] }, { "name": "Activated", "kind": "field", "id": "field|Activated|0|0|int|||hccd1142cfa67503111f6278e03a9e1f44ab16e4626f93148fb8d70dc2fe63931", "signature": "public int Activated", "summary": "request double-clicked or chosen with Enter this frame, or -1" }, { "name": "Clicked", "kind": "field", "id": "field|Clicked|0|0|int|||h6031d38fe0a03c9e84105b11fd943f9c402249a8f2a374a85eff025acb845931", "signature": "public int Clicked", "summary": "request clicked this frame, or -1" }, { "name": "Hovered", "kind": "field", "id": "field|Hovered|0|0|int|||h26e8b438ed7af63a2d920cee8fc22d0ac2a2efa801cc89a59125d0c7c03529e3", "signature": "public int Hovered", "summary": "request under the pointer, or -1" }] }, + { "name": "CuiSharp.WaveformOpts", "displayName": "WaveformOpts", "kind": "struct", "summary": "Waveform: bars from peaks (0..1). With progress, the played part is colored and clicking or dragging seeks; returns true when it did. All fields are optional; zero selects the native default.", "members": [{ "name": "Color", "kind": "field", "id": "field|Color|0|0|Color|||h275b313b6b736c43c952868f4256ef14616d693e4fe68ca53c7eb74f0c484c28", "signature": "public Color Color", "summary": "cui_color color" }, { "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "Bar", "kind": "field", "id": "field|Bar|0|0|float|||h591ddfbd792b6ecacf5e925fb8b547031152808505904aa2466d8298c0ada87e", "signature": "public float Bar", "summary": "width of each bar in points, default 3" }, { "name": "Gap", "kind": "field", "id": "field|Gap|0|0|float|||hfb7872ce9b59a7527ff553ff6078c53ec071b88b0788739fd4b0c8e604853e0a", "signature": "public float Gap", "summary": "float gap" }, { "name": "Height", "kind": "field", "id": "field|Height|0|0|float|||ha333299f179a1814155cda66a26b50fd7f476d27bf3ad5ffbc147c5abc8227fd", "signature": "public float Height", "summary": "float height" }] }, + { "name": "CuiSharp.WeekOpts", "displayName": "WeekOpts", "kind": "struct", "summary": "Week calendar: seven day columns on an hour grid. Drag an event to move it (15 minute steps), drag its bottom edge to resize it. Returns the index of a clicked event, or -1. All fields are optional; zero selects the native default.", "members": [{ "name": "Height", "kind": "field", "id": "field|Height|0|0|Size|||ha64280009505e4bd6e5bbf4456fad0c2709e6a7d632627c6d242b3f0dccbcdbe", "signature": "public Size Height", "summary": "cui_size height" }, { "name": "ReadOnly", "kind": "field", "id": "field|ReadOnly|0|0|bool|||he393614309fa34fbb6e0930aa04c288616abcb05d02f63ad9eb9cb23927877ad", "signature": "public bool ReadOnly", "summary": "_Bool read_only" }, { "name": "EndHour", "kind": "field", "id": "field|EndHour|0|0|float|||hf2d73b4840a1592be5241a7d3de76347b3f0fa9a82072704ccc371b6dd7bd10d", "signature": "public float EndHour", "summary": "last hour shown, default 21; used only when it is greater than \u0060start_hour\u0060" }, { "name": "HourHeight", "kind": "field", "id": "field|HourHeight|0|0|float|||hd99043ce8431fbebab02ad1cffe41da949e573d0bf135f08eb80493759cb456b", "signature": "public float HourHeight", "summary": "points per hour, default 52" }, { "name": "StartHour", "kind": "field", "id": "field|StartHour|0|0|float|||hd84f53a0fa907b5d1904af3368ea78c32ea17804962c166927e7ad02ddae27f9", "signature": "public float StartHour", "summary": "first hour shown, default 7; set together with \u0060end_hour\u0060" }] }, + { "name": "CuiSharp.WheelOpts", "displayName": "WheelOpts", "kind": "struct", "summary": "Wheel picker: a drum of options that you drag, scroll or arrow through. Several side by side make a date or time reel. join_left / join_right square off the selection band so wheels placed side by side share one continuous band. All fields are optional; zero selects the native default.", "members": [{ "name": "Width", "kind": "field", "id": "field|Width|0|0|Size|||h4006d8d1aa3607cf3007c2fd6686981e9812586a28b9a4d7a283aeadfcd379ad", "signature": "public Size Width", "summary": "cui_size width" }, { "name": "JoinLeft", "kind": "field", "id": "field|JoinLeft|0|0|bool|||h4065b1eb324d0954a4c5b0cc6ea19eee010a2152d8e132ede3077994bfcced1b", "signature": "public bool JoinLeft", "summary": "squares off the left end of the selection band, to join a wheel on that side" }, { "name": "JoinRight", "kind": "field", "id": "field|JoinRight|0|0|bool|||h922a39579650be390881d5edb26c2593c91193b13c7ca5259cff31b13f98370c", "signature": "public bool JoinRight", "summary": "squares off the right end of the selection band, to join a wheel on that side" }, { "name": "Loop", "kind": "field", "id": "field|Loop|0|0|bool|||h7274a1137877894804d8aab9d630e1af40661c2344ca1ff578904fa0bf31f6d9", "signature": "public bool Loop", "summary": "the items wrap around: after the last comes the first again" }, { "name": "Rows", "kind": "field", "id": "field|Rows|0|0|int|||hefb2c032827af5f9bdb34f5a833a498a2a3d7d65d6ddf1e90ac44faab38b24dc", "signature": "public int Rows", "summary": "rows in view, made odd so the selected one sits in the middle; default 5" }] }, { "name": "CuiSharp.WidgetQuery", "displayName": "WidgetQuery", "kind": "struct", "summary": "What a search for a control can say: a label, a kind and a label (Button \u0022Save\u0022), or a path through the tree (Card \u0022editor\u0022 \u003E Button \u0022Save\u0022).", "members": [{ "name": "Parse", "kind": "method", "id": "method|Parse|1|0|WidgetQuery|string query||h2f5edda4f13fce617c8db2ae42e24b202c1231ad7664fd91017e4247112bc351", "signature": "static WidgetQuery Parse(string query)", "parameters": [{ "name": "query", "type": "string" }], "summary": "Reads a query: Save, Button \u0022Save\u0022, editor \u003E Save, or id:draft for a widget by the id it was drawn with \u2014 the one form that keeps working when the label is translated." }, { "name": "Text", "kind": "property", "id": "property|Text|0|0|string||get;|h221097532e4154611cbbc42c65b80d74f8055bd282efb709184598cd9d2c27bb", "signature": "string Text { get; }", "summary": "The text to look for: a label, an id, or the leaf of a path." }, { "name": "ToString", "kind": "method", "id": "method|ToString|0|0|string|||h88f14b677913048cebd07a06bf794b34a5e065c81768d7349d26dc84cf1cc938", "signature": "string ToString()", "summary": "The query as a person would write it." }, { "name": "Kind", "kind": "property", "id": "property|Kind|0|0|string?||get;|hf6519d7e4bd25a90454dce8bfbf1cd012be732dbace08b07e972678fed9b1c9e", "signature": "string? Kind { get; }", "summary": "The kind the caller named, or null." }, { "name": "Path", "kind": "property", "id": "property|Path|0|0|string[]||get;|h02f940b2565eea5f6649ab0fb9f12e9719ae8b070c06d1d0a4b04b5bb9611770", "signature": "string[] Path { get; }", "summary": "The containers to walk through, outermost first; empty for a plain search." }] }, { "name": "CuiSharp.WidgetRecorder", "displayName": "WidgetRecorder", "kind": "static class", "summary": "The entry point every wrapper calls to record what it drew, and the switch that turns that recording on for a surface.", "members": [{ "name": "Enabled", "kind": "property", "id": "property|Enabled|1|0|bool||get;|h68c1f4ee4f2f10fd72384380655538d943b27f76af76ee104436002faf1c0965", "signature": "static bool Enabled { get; }", "summary": "True while some surface on this thread records what it draws." }, { "name": "Note", "kind": "method", "id": "method|Note|1|0|void|nint ui;string kind;UiText text||h239e16bff6ab4a9a0eef65ca564bea588e4d030a812b256cfaf69690ff005639", "signature": "static void Note(nint ui, string kind, UiText text)", "parameters": [{ "name": "ui", "type": "nint" }, { "name": "kind", "type": "string" }, { "name": "text", "type": "UiText" }], "summary": "Called by every generated wrapper (and by the hand-written ones) with the text that identifies the widget." }] } ] diff --git a/skills/cui-dotnet/llms.txt b/skills/cui-dotnet/llms.txt index bd094d8..3d151ca 100644 --- a/skills/cui-dotnet/llms.txt +++ b/skills/cui-dotnet/llms.txt @@ -63,76 +63,76 @@ ## API -- `ui.AgentPlan(UiText id, ReadOnlySpan steps, AgentPlanOpts o = default)` → `int` ([AI interfaces](api/AiInterfaces.md)) -- `ui.AgentStatus(UiText text, AgentStatusOpts o = default)` → `void` ([AI interfaces](api/AiInterfaces.md)) +- `ui.AgentPlan(UiText id, ReadOnlySpan steps, AgentPlanOpts o = default)` → `int` — Agent plan: steps with their status on a connected rail, and progress. ([AI interfaces](api/AiInterfaces.md)) +- `ui.AgentStatus(UiText text, AgentStatusOpts o = default)` → `void` — Agent status pill: what the agent is doing right now and for how long. ([AI interfaces](api/AiInterfaces.md)) - `ui.ChatComposer(UiText id, ref string buf, int cap, ref int removed, ref int model, ComposerOpts o = default)` → `ComposerEvents` ([AI interfaces](api/AiInterfaces.md)) - `ui.Citation(int number, in Source source)` → `bool` ([AI interfaces](api/AiInterfaces.md)) -- `ui.ContextMeter(UiText id, float used, float limit, ContextOpts o = default)` → `void` ([AI interfaces](api/AiInterfaces.md)) -- `ui.ModelPicker(UiText id, ReadOnlySpan models, ref int selected, ModelPickerOpts o = default)` → `bool` ([AI interfaces](api/AiInterfaces.md)) -- `ui.PromptSuggestions(UiText id, ReadOnlySpan items, PromptSuggestionsOpts o = default)` → `int` ([AI interfaces](api/AiInterfaces.md)) -- `ui.Reasoning(UiText id, ReasoningOpts o = default)` → `OpenScope` ([AI interfaces](api/AiInterfaces.md)) +- `ui.ContextMeter(UiText id, float used, float limit, ContextOpts o = default)` → `void` — Context meter: a small ring of how full the context is; hover for a breakdown. It turns amber past 80% and red past 95%. ([AI interfaces](api/AiInterfaces.md)) +- `ui.ModelPicker(UiText id, ReadOnlySpan models, ref int selected, ModelPickerOpts o = default)` → `bool` — Model picker: the current model on a button; a list with details opens. ([AI interfaces](api/AiInterfaces.md)) +- `ui.PromptSuggestions(UiText id, ReadOnlySpan items, PromptSuggestionsOpts o = default)` → `int` — Prompt suggestions: cards to start a conversation with. ([AI interfaces](api/AiInterfaces.md)) +- `ui.Reasoning(UiText id, ReasoningOpts o = default)` → `OpenScope` — Reasoning: a model's thinking. While thinking, the header shimmers and counts the seconds; afterwards it reads "Thought for 12s" and the body folds away. Click the header to open or close it. Put text inside. ([AI interfaces](api/AiInterfaces.md)) - `ui.ResponseActions(UiText id, ref int vote, ResponseActionsOpts o = default)` → `ResponseEvents` ([AI interfaces](api/AiInterfaces.md)) - `ui.SourceList(UiText id, ReadOnlySpan sources)` → `int` ([AI interfaces](api/AiInterfaces.md)) - `ui.ToolCall(UiText id, UiText name, ToolCallOpts o = default)` → `void` ([AI interfaces](api/AiInterfaces.md)) - `ui.VoiceOrb(UiText id, VoiceState state, float level, VoiceOrbOpts o = default)` → `bool` ([AI interfaces](api/AiInterfaces.md)) - `ui.ApiExplorer(UiText id, ReadOnlySpan endpoints, ref int selected, ApiExplorerOpts o = default)` → `ApiExplorerResult` ([API explorer](api/ApiExplorer.md)) -- `ui.DocTabs(UiText id, ReadOnlySpan tabs, ref int selected, DocTabsOpts o = default)` → `DocTabsResult` ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) -- `ui.MenuBar(UiText id, MenuBarOpts o = default)` → `LayoutScope` ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) -- `ui.MenuBarMenu(UiText label, MenuBarMenuOpts o = default)` → `OpenScope` ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) -- `ui.StatusBar(UiText id, StatusBarOpts o = default)` → `LayoutScope` ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) +- `ui.DocTabs(UiText id, ReadOnlySpan tabs, ref int selected, DocTabsOpts o = default)` → `DocTabsResult` — Document tabs: editor style tabs. Clicking selects (*selected is updated), the x or a middle click asks to close, dragging reorders, and the strip scrolls sideways when the tabs do not fit. A dirty tab shows a dot that turns into the close button under the pointer. The selected tab is filled with the surface color so it joins the content below; the strip itself has no fill, like the other bars. Tabs keep their state by title, so give two tabs with the same name a key: "main.c##src". The component never removes or moves your tabs itself: it reports a close or a move in the result and you apply it (selection already follows a move). With keyboard focus on the strip, Left and Right select, Home and End jump, Shift+Left/Right move the tab and Delete closes it. With `shortcuts` set it also answers Ctrl+Tab, Ctrl+Shift+Tab, Ctrl+PageUp/Down and Ctrl+W (Cmd+W on macOS) from anywhere in the window. ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) +- `ui.MenuBar(UiText id, MenuBarOpts o = default)` → `LayoutScope` — Menu bar: File / Edit / View along the top of a window. Each menu holds the usual menu items (cui_menu_item, cui_menu_separator, cui_menu_label). Once a menu is open, hovering another one switches to it. Alt (on its own) or F10 focuses the bar; arrows move between menus and items, Enter chooses, Esc steps back. Alt + a menu's mnemonic letter opens it (the first letter of its label unless `mnemonic` says otherwise). ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) +- `ui.MenuBarMenu(UiText label, MenuBarMenuOpts o = default)` → `OpenScope` — One menu of the bar. Returns true while its items should be built; call cui_menu_bar_menu_end only then. ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) +- `ui.StatusBar(UiText id, StatusBarOpts o = default)` → `LayoutScope` — Status bar: a thin bar along the bottom of a window, with a hairline on top and no fill of its own (put it in a box with the background you want). Items go left to right; cui_status_bar_spacer sends the rest to the right edge. ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) - `ui.StatusBarItem(UiText label, StatusItemOpts o = default)` → `bool` — A small clickable item ("Ln 12, Col 4", "UTF-8"). Returns true when clicked. ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) -- `ui.StatusBarProgress(float value, StatusProgressOpts o = default)` → `void` ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) +- `ui.StatusBarProgress(float value, StatusProgressOpts o = default)` → `void` — A small progress bar with an optional label. value is 0..1. ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) - `ui.StatusBarSpacer()` → `void` ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) - `ui.StatusBarText(UiText text, StatusItemOpts o = default)` → `void` — A message; `tone` colors its icon. ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) -- `ui.Toolbar(UiText id, ToolbarOpts o = default)` → `LayoutScope` ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) +- `ui.Toolbar(UiText id, ToolbarOpts o = default)` → `LayoutScope` — Toolbar: a row of compact icon buttons, toggles, separators and small text buttons. Icon only buttons show their tooltip as their name. Items that do not fit collapse, from the end, into a "more" menu; an item chosen there returns true on the next frame. ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) - `ui.ToolbarButton(UiText icon, ref bool toggle, ToolOpts o = default)` → `bool` ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) - `ui.ToolbarSeparator()` → `void` ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) -- `ui.ToolbarSpacer()` → `void` ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) -- `ui.Blame(UiText id, ReadOnlySpan lines, ReadOnlySpan lineCommit, ReadOnlySpan commits, BlameOpts o = default)` → `BlameResult` ([Blame](api/Blame.md)) +- `ui.ToolbarSpacer()` → `void` — pushes the following items to the right ([App chrome: menu bar, toolbar, status bar, document tabs](api/AppChrome.md)) +- `ui.Blame(UiText id, ReadOnlySpan lines, ReadOnlySpan lineCommit, ReadOnlySpan commits, BlameOpts o = default)` → `BlameResult` — Source with who last changed each line: lines from one commit share one gutter entry with its author, age and hash, and a bar at the edge shades newer changes stronger. Hover a gutter entry for the commit's summary and to mark its lines; click it to get the commit. Only the lines in view are built. On a phone the gutter keeps only the shade and initials. ([Blame](api/Blame.md)) - `ui.Button(UiText label, ButtonOpts o = default)` → `bool` ([Buttons](api/Buttons.md)) - `ui.IconButton(UiText icon, ButtonOpts o = default)` → `bool` — Square/round button with only an icon. Give it a tooltip so it has a name. ([Buttons](api/Buttons.md)) -- `ui.Segmented(UiText id, ReadOnlySpan items, ref int index, SegmentedOpts o = default)` → `bool` ([Buttons](api/Buttons.md)) +- `ui.Segmented(UiText id, ReadOnlySpan items, ref int index, SegmentedOpts o = default)` → `bool` — Segmented control: a row of options with a gliding highlight. ([Buttons](api/Buttons.md)) - `ui.AvatarUpload(UiText id, UiText name, ref ulong image, float size)` → `int` — Avatar upload: a round avatar that takes a dropped image, with a camera badge on hover. Returns 1 when *image changed, -1 when clicked (browse), 0 otherwise. A dropped image is loaded with cui_image_load. ([Capture](api/Capture.md)) -- `ui.Dropzone(UiText id, DropzoneOpts o = default)` → `int` ([Capture](api/Capture.md)) +- `ui.Dropzone(UiText id, DropzoneOpts o = default)` → `int` — Dropzone: drop files from the OS, or click to browse. Returns the number of files dropped on it this frame (read them with cui_dropped_file), -1 when clicked (open a file dialog), 0 otherwise. accept filters by extension, e.g. "png;jpg;pdf". ([Capture](api/Capture.md)) - `ui.SignatureClear(UiText id)` → `void` ([Capture](api/Capture.md)) -- `ui.SignaturePad(UiText id, SignatureOpts o = default)` → `bool` ([Capture](api/Capture.md)) -- `ui.CodeBlock(UiText id, UiText code, CodeOpts o = default)` → `void` — * left to right in any interface: see cui__keep_ltr ([Code](api/Code.md)) -- `ui.JsonView(UiText id, UiText json, JsonOpts o = default)` → `bool` — * left to right in any interface: see cui__keep_ltr ([Code](api/Code.md)) -- `ui.CodeEditor(UiText id, ref string buf, int cap, CodeEditorOpts o = default)` → `CodeEditorResult` — * left to right in any interface: see cui__keep_ltr ([Code editor](api/CodeEditor.md)) +- `ui.SignaturePad(UiText id, SignatureOpts o = default)` → `bool` — Signature pad: draw with the mouse or a pen. The strokes are kept for you; read them with cui_signature_points (stroke_ends[i] is one past the last point of stroke i). ([Capture](api/Capture.md)) +- `ui.CodeBlock(UiText id, UiText code, CodeOpts o = default)` → `void` — Code block with syntax highlighting (lang: "c", "cpp", "js", "ts", "python", "rust", "go", "json", "shell", or "text" for none), line numbers, a title bar and a copy button. Long lines scroll sideways. ([Code](api/Code.md)) +- `ui.JsonView(UiText id, UiText json, JsonOpts o = default)` → `bool` — JSON viewer: a collapsible tree with typed colors and item counts. Returns false when the text is not valid JSON (and shows the error). ([Code](api/Code.md)) +- `ui.CodeEditor(UiText id, ref string buf, int cap, CodeEditorOpts o = default)` → `CodeEditorResult` ([Code editor](api/CodeEditor.md)) - `ui.CodeEditorFind(UiText id, UiText query)` → `void` — Opens the find bar with query and selects the next match (NULL closes). ([Code editor](api/CodeEditor.md)) - `ui.CodeEditorGoto(UiText id, int line, int column)` → `void` — On the editor's next frame: put the caret at a line and column (1 based), focus the editor and scroll there. Call from the same id scope. ([Code editor](api/CodeEditor.md)) - `ui.CodeEditorSelect(UiText id, int anchor, int cursor)` → `void` — On the next frame: select bytes anchor..cursor, focus and scroll there. ([Code editor](api/CodeEditor.md)) - `ui.CommandPalette(ref bool open, ReadOnlySpan commands)` → `int` — Spotlight style command palette. Returns the index of the chosen command, or -1. Open it with a shortcut: if (cui_shortcut(ui, CUI_MOD_PRIMARY, CUI_KEY_K)) open = true; ([Command palette (block)](api/CommandPaletteBlock.md)) -- `ui.CommitGraph(UiText id, ReadOnlySpan commits, ref int selected, CommitGraphOpts o = default)` → `CommitGraphResult` ([Commit graph](api/CommitGraph.md)) -- `ui.ChatDivider(UiText label)` → `void` ([Conversation](api/Conversation.md)) -- `ui.ChatMessage(UiText text, ref MarkdownResult markdownResult, ChatOpts o = default)` → `void` ([Conversation](api/Conversation.md)) +- `ui.CommitGraph(UiText id, ReadOnlySpan commits, ref int selected, CommitGraphOpts o = default)` → `CommitGraphResult` — Version history: the branch lanes drawn beside each commit, newest first, with its message, branch and tag names, author, date and short hash. Each commit names its parents by row (parents come later in the array), so merges and branches draw as lines between lanes. Only the rows in view are built. Up and Down move the selection; Enter or a double-click activates. ([Commit graph](api/CommitGraph.md)) +- `ui.ChatDivider(UiText label)` → `void` — "Today" ([Conversation](api/Conversation.md)) +- `ui.ChatMessage(UiText text, ref MarkdownResult markdownResult, ChatOpts o = default)` → `void` — Chat message bubble. Consecutive messages from one person set grouped so they stack tightly and show the avatar once. ([Conversation](api/Conversation.md)) - `ui.Comment(UiText id, UiText author, UiText text, ref int likes, ref bool liked, CommentOpts o = default)` → `CommentEvents` ([Conversation](api/Conversation.md)) -- `ui.Presence(UiText id, ReadOnlySpan users, int maxVisible, float size)` → `void` ([Conversation](api/Conversation.md)) -- `ui.TypingIndicator(UiText name)` → `void` ([Conversation](api/Conversation.md)) -- `ui.Coverage(UiText id, ReadOnlySpan files, CoverageOpts o = default)` → `CoverageResult` ([Coverage](api/Coverage.md)) -- `ui.CurveEditor(UiText id, Span keys, ref int count, int capacity, ref int selected, CurveOpts o = default)` → `CurveResult` ([Curve and gradient editors](api/CurveAndGradientEditors.md)) -- `ui.GradientEditor(UiText id, Span stops, ref int count, int capacity, ref int selected, GradientOpts o = default)` → `GradientResult` ([Curve and gradient editors](api/CurveAndGradientEditors.md)) +- `ui.Presence(UiText id, ReadOnlySpan users, int maxVisible, float size)` → `void` — Presence: who is here now. Overlapping avatars with a colored ring each, that spread out on hover and name themselves. ([Conversation](api/Conversation.md)) +- `ui.TypingIndicator(UiText name)` → `void` — bouncing dots ([Conversation](api/Conversation.md)) +- `ui.Coverage(UiText id, ReadOnlySpan files, CoverageOpts o = default)` → `CoverageResult` — Test coverage by folder and file: the files' paths make the tree, each folder sums up what it holds, and folders fold. Line coverage shows as a bar colored by thresholds, with branches and functions beside it. Click a column's title to sort. Enter or a double-click activates a file. Narrow panels show lines only. ([Coverage](api/Coverage.md)) +- `ui.CurveEditor(UiText id, Span keys, ref int count, ref int selected, CurveOpts o = default)` → `CurveResult` ([Curve and gradient editors](api/CurveAndGradientEditors.md)) +- `ui.GradientEditor(UiText id, Span stops, ref int count, ref int selected, GradientOpts o = default)` → `GradientResult` ([Curve and gradient editors](api/CurveAndGradientEditors.md)) - `ui.Accordion(UiText title, ref bool open)` → `OpenScope` — Accordion / disclosure. Content animates its height. ([Data display](api/DataDisplay.md)) - `ui.Cropper(UiText id, ulong tex, int imageW, int imageH, ref RectF crop, CropperOpts o = default)` → `bool` — Returns true when the crop changed. ([Data display](api/DataDisplay.md)) - `ui.Gauge(UiText label, float value, float size = 130)` → `void` ([Data display](api/DataDisplay.md)) - `ui.Image(ulong tex, ImageOpts o = default)` → `void` ([Data display](api/DataDisplay.md)) - `ui.ImageViewer(UiText id, ulong tex, int imageW, int imageH, ref ImageView view, ImageViewerOpts o = default)` → `bool` — Returns true when the view changed. ([Data display](api/DataDisplay.md)) -- `ui.ListItem(UiText title, ListItemOpts o = default)` → `bool` ([Data display](api/DataDisplay.md)) +- `ui.ListItem(UiText title, ListItemOpts o = default)` → `bool` — List item: a selectable row with optional icon, subtitle and trailing text. ([Data display](api/DataDisplay.md)) - `ui.Sparkline(ReadOnlySpan values, Size width, float height, Color color)` → `void` ([Data display](api/DataDisplay.md)) - `ui.Table(UiText id, ReadOnlySpan columns, ref TableSort sort, TableOpts o = default)` → `OpenScope` ([Data display](api/DataDisplay.md)) - `ui.TableCell()` → `void` — Next cell; put any components inside, or use cui_table_cell_text. ([Data display](api/DataDisplay.md)) - `ui.TableCellText(UiText text)` → `void` — Part of cui_table_cell — Next cell; put any components inside, or use cui_table_cell_text. ([Data display](api/DataDisplay.md)) - `ui.TableRow(bool selected)` → `bool` — Begin a row. Returns true when the row is clicked. ([Data display](api/DataDisplay.md)) - `ui.Tree(UiText label, ref bool open, TreeOpts o = default)` → `OpenScope` ([Data display](api/DataDisplay.md)) -- `ui.TreeClicked()` → `bool` ([Data display](api/DataDisplay.md)) +- `ui.TreeClicked()` → `bool` — the node created by the last cui_tree_begin was clicked ([Data display](api/DataDisplay.md)) - `ui.VirtualList(UiText id, int count, float rowHeight, Size height, out int first, out int last)` → `LayoutScope` — Virtual list: only the visible rows are built, so lists with a million rows stay fast. Fills first/last with the visible range. ([Data display](api/DataDisplay.md)) -- `ui.DataGridCell()` → `void` ([Data grid](api/DataGrid.md)) +- `ui.DataGridCell()` → `void` — next cell; put components inside ([Data grid](api/DataGrid.md)) - `ui.DataGridCellEdit(ref string buf, int cap)` → `bool` — Editable text cell: double click (or Enter on the cursor row) to edit, Enter or clicking away commits, Esc reverts. True when committed. ([Data grid](api/DataGrid.md)) - `ui.DataGridCellText(UiText text)` → `void` ([Data grid](api/DataGrid.md)) - `ui.DataGridEdit(ref string buf, int cap)` → `bool` — The same editable text, inside the current cell (after an avatar, say). ([Data grid](api/DataGrid.md)) -- `ui.DataGridRow(int row)` → `bool` ([Data grid](api/DataGrid.md)) +- `ui.DataGridRow(int row)` → `bool` — true when the row was clicked ([Data grid](api/DataGrid.md)) - `ui.TreeCell(UiText label, int depth, bool hasChildren, ref bool open, UiText icon)` → `bool` — Tree cell: indentation, a disclosure chevron and a label, for tree tables (use it in a table or grid cell). Returns true when *open toggled. ([Data grid](api/DataGrid.md)) -- `ui.GraphView(UiText id, ReadOnlySpan nodes, ReadOnlySpan edges, ref int selected, GraphOpts o = default)` → `GraphResult` ([Dependency graph](api/DependencyGraph.md)) +- `ui.GraphView(UiText id, ReadOnlySpan nodes, ReadOnlySpan edges, ref int selected, GraphOpts o = default)` → `GraphResult` — Nodes and directed edges laid out in layers (each edge points to a later layer, cycles are broken), for build targets, packages, services or call graphs. The layout is computed when the graph changes. Wheel zooms, drag pans, click selects; hovering a node lights up what it depends on and what depends on it. F fits the graph. ([Dependency graph](api/DependencyGraph.md)) - `ui.Alert(UiText title, AlertOpts o = default)` → `bool` — Inline alert. Returns false once dismissed (when dismissible). ([Dialogs, sheets, toasts, alerts](api/DialogsSheetsToastsAlerts.md)) - `ui.Dialog(UiText title, ref bool open, DialogOpts o = default)` → `OpenScope` — Modal dialog. Shown while *open is true; closing sets it to false. ([Dialogs, sheets, toasts, alerts](api/DialogsSheetsToastsAlerts.md)) - `ui.DialogFooter()` → `LayoutScope` — A right-aligned row for dialog actions. ([Dialogs, sheets, toasts, alerts](api/DialogsSheetsToastsAlerts.md)) @@ -140,18 +140,18 @@ - `ui.Toast(UiText title, ToastOpts o = default)` → `int` — Queue a toast. Returns a handle; cui_toast_action_clicked(handle) tells whether its action button was pressed. ([Dialogs, sheets, toasts, alerts](api/DialogsSheetsToastsAlerts.md)) - `ui.ToastActionClicked(int handle)` → `bool` ([Dialogs, sheets, toasts, alerts](api/DialogsSheetsToastsAlerts.md)) - `ui.ToastDismiss(int handle)` → `void` ([Dialogs, sheets, toasts, alerts](api/DialogsSheetsToastsAlerts.md)) -- `ui.DiffView(UiText id, UiText oldText, UiText newText, ref int current, DiffOpts o = default)` → `DiffResult` — * left to right in any interface: see cui__keep_ltr ([Diff viewer](api/DiffViewer.md)) -- `ui.ConfirmPopover(UiText id, ConfirmPopoverOpts o = default)` → `bool` ([Disclosure](api/Disclosure.md)) -- `ui.ExpandableCard(UiText title, ref bool open, ExpandableCardOpts o = default)` → `OpenScope` ([Disclosure](api/Disclosure.md)) -- `ui.ExpandableText(UiText id, UiText text, ExpandableTextOpts o = default)` → `bool` ([Disclosure](api/Disclosure.md)) -- `ui.HoverCard(UiText id, HoverCardOpts o = default)` → `OpenScope` ([Disclosure](api/Disclosure.md)) -- `ui.Toc(UiText scrollId, ReadOnlySpan items)` → `int` ([Disclosure](api/Disclosure.md)) +- `ui.DiffView(UiText id, UiText oldText, UiText newText, ref int current, DiffOpts o = default)` → `DiffResult` ([Diff viewer](api/DiffViewer.md)) +- `ui.ConfirmPopover(UiText id, ConfirmPopoverOpts o = default)` → `bool` — Confirm popover: a small question anchored to the previous component. Open it with cui_popover_open(ui, id). Returns true when confirmed. ([Disclosure](api/Disclosure.md)) +- `ui.ExpandableCard(UiText title, ref bool open, ExpandableCardOpts o = default)` → `OpenScope` — Expandable card: a card whose header opens a body with a height spring. ([Disclosure](api/Disclosure.md)) +- `ui.ExpandableText(UiText id, UiText text, ExpandableTextOpts o = default)` → `bool` — Text clamped to a few lines with a fade and Show more / Show less. ([Disclosure](api/Disclosure.md)) +- `ui.HoverCard(UiText id, HoverCardOpts o = default)` → `OpenScope` — Hover card: rich content that appears when the pointer rests on the previous component, and stays while the pointer is over either. ([Disclosure](api/Disclosure.md)) +- `ui.Toc(UiText scrollId, ReadOnlySpan items)` → `int` — Table of contents for a scroll area: highlights the section in view on a progress rail, and scrolls to a section when clicked. Put cui_toc_anchor(ui, "anchor") at each heading inside the scroll area, and call cui_toc in the same scope as the scroll area. Returns the active index. ([Disclosure](api/Disclosure.md)) - `ui.TocAnchor(UiText anchor)` → `void` ([Disclosure](api/Disclosure.md)) - `ui.DockLoad(UiText id, UiText text)` → `bool` ([Docking](api/Docking.md)) -- `ui.DockPanel(UiText title, ref bool open, DockPanelOpts o = default)` → `OpenScope` ([Docking](api/Docking.md)) +- `ui.DockPanel(UiText title, ref bool open, DockPanelOpts o = default)` → `OpenScope` — Returns true while the panel's content should be built; then call cui_dock_panel_end. ([Docking](api/Docking.md)) - `ui.DockSave(UiText id, ref string buf, int cap)` → `ulong` — Saved layout: one line, e.g. dock1 h0.22([*Scene tree,Assets],v0.7([*Viewport],[*Log,-Console])) h splits side by side and v stacks, the number is the first child's share, [..] is a leaf's tabs in order, * the selected tab, - a closed panel; a backslash escapes , [ ] ( ) and itself in names. cui_dock_save returns the full length (as snprintf does) and writes what fits, or 0 when there is no layout. cui_dock_load replaces the layout (and sets each panel's *open from it on its next frame); names it does not know yet are kept for when they appear. Malformed text returns false and changes nothing. ([Docking](api/Docking.md)) -- `ui.Dockspace(UiText id, DockspaceOpts o = default)` → `LayoutScope` ([Docking](api/Docking.md)) -- `ui.Inspector(UiText id, InspectorOpts o = default)` → `OpenScope` ([Docking](api/Docking.md)) +- `ui.Dockspace(UiText id, DockspaceOpts o = default)` → `LayoutScope` — Dockspace: an IDE style workspace that lays out your panels in a tree of resizable splits whose leaves hold one or more panels as document tabs. Submit every panel each frame between cui_dockspace_begin and cui_dockspace_end; the dockspace decides where it goes, and a panel's content is built only while its tab is the one showing: ([Docking](api/Docking.md)) +- `ui.Inspector(UiText id, InspectorOpts o = default)` → `OpenScope` — Property inspector: labelled rows in folding groups, a label column on the left (drag the line between the columns to resize it) and an editor on the right. Every row returns true when its value changed. Groups end at the next group or at cui_inspector_end. ([Docking](api/Docking.md)) - `ui.InspectorGroup(UiText title, ref bool open)` → `bool` — A folding group header. Build its rows only when this returns true (it stays true while the group animates closed). open may be NULL for a plain section that does not fold. ([Docking](api/Docking.md)) - `ui.PropBool(UiText label, ref bool value, PropOpts o = default)` → `bool` ([Docking](api/Docking.md)) - `ui.PropColor(UiText label, ref Color value, PropOpts o = default)` → `bool` — A swatch and hex value that opens the color picker. ([Docking](api/Docking.md)) @@ -161,12 +161,12 @@ - `ui.PropText(UiText label, ref string buf, int cap, PropOpts o = default)` → `bool` ([Docking](api/Docking.md)) - `ui.PropVec(UiText label, ref float value, int components, PropOpts o = default)` → `bool` — Compact X, Y (Z, W) scrub fields side by side; value holds 2, 3 or 4 floats. ([Docking](api/Docking.md)) - `ui.DrawEmoji(UiText utf8, RectF r)` → `void` ([Emoji](api/Emoji.md)) -- `ui.Emoji(UiText utf8, float size)` → `void` ([Emoji](api/Emoji.md)) -- `ui.EmojiFontLoadFile(UiText path)` → `bool` — ---- Emoji ---- Color emoji come from an emoji font: the system's (cui_emoji_font_load_system, which the picker calls by itself when nothing is loaded) or one the app ships. Bitmap color fonts (sbix as on macOS, CBDT as on Linux and Android) and layered ones (COLR version 0, as on Windows) are read, as is a plain outline font for one-color emoji. Sequences with skin tones, joined people and flags are looked up through the font's ligatures. Big fonts are read from the file as needed rather than loaded whole. Drawn emoji are kept in one texture and reused. ([Emoji](api/Emoji.md)) +- `ui.Emoji(UiText utf8, float size)` → `void` — one emoji as a component ([Emoji](api/Emoji.md)) +- `ui.EmojiFontLoadFile(UiText path)` → `bool` — Color emoji come from an emoji font: the system's (cui_emoji_font_load_system, which the picker calls by itself when nothing is loaded) or one the app ships. Bitmap color fonts (sbix as on macOS, CBDT as on Linux and Android) and layered ones (COLR version 0, as on Windows) are read, as is a plain outline font for one-color emoji. Sequences with skin tones, joined people and flags are looked up through the font's ligatures. Big fonts are read from the file as needed rather than loaded whole. Drawn emoji are kept in one texture and reused. ([Emoji](api/Emoji.md)) - `ui.EmojiFontLoadMemory(ReadOnlySpan data, bool copy)` → `bool` ([Emoji](api/Emoji.md)) - `ui.EmojiFontLoadSystem()` → `bool` ([Emoji](api/Emoji.md)) -- `ui.EmojiPicker(UiText id, ref string recent, ref int tone, EmojiPickerOpts o = default)` → `string?` ([Emoji](api/Emoji.md)) -- `ui.EmojiSupported(UiText utf8)` → `bool` ([Emoji](api/Emoji.md)) +- `ui.EmojiPicker(UiText id, ref string recent, ref int tone, EmojiPickerOpts o = default)` → `string?` — Emoji picker: search, groups with tabs, recent emoji, skin tones and a preview with the name. Returns the emoji picked this frame (UTF-8, valid until the next frame) or NULL. Put it in a popover to open it from a button. ([Emoji](api/Emoji.md)) +- `ui.EmojiSupported(UiText utf8)` → `bool` — the font (or platform) can draw it ([Emoji](api/Emoji.md)) - `ui.FeatureFlags(UiText id, Span flags, ReadOnlySpan envs, FeatureFlagsOpts o = default)` → `FeatureFlagsResult` ([Feature flags](api/FeatureFlags.md)) - `ui.Avatar(UiText name, AvatarOpts o = default)` → `void` ([Feedback and display](api/FeedbackAndDisplay.md)) - `ui.AvatarGroup(ReadOnlySpan names, int maxVisible = 4, float size = 32)` → `void` ([Feedback and display](api/FeedbackAndDisplay.md)) @@ -182,129 +182,132 @@ - `ui.RequestBar(UiText id, ref HttpMethod method, ref string url, int cap = 2048, RequestBarOpts o = default)` → `RequestBarResult` ([HTTP request bar](api/HttpRequestBar.md)) - `ui.ResponseStatus(int status, double seconds, double bytes)` → `void` ([HTTP request bar](api/HttpRequestBar.md)) - `ui.HexViewGoto(UiText id, ulong offset)` → `void` — Go to offset: on the view's next frame its cursor moves to offset, that byte becomes the selection and it scrolls into view (to the middle when it was out of sight). Wire a "Go to" field to it; it is safe to call every frame. ([Hex viewer](api/HexViewer.md)) -- `ui.KvEditor(UiText id, Span pairs, ref int count, int capacity, KvEditorOpts o = default)` → `bool` ([Key-value editor](api/KeyValueEditor.md)) -- `ui.Keymap(UiText id, ReadOnlySpan bindings, ref Mods mods, KeymapOpts o = default)` → `KeymapResult` ([Keymap](api/Keymap.md)) +- `ui.DotDisplay(UiText text, DotDisplayOpts o = default)` → `void` — Dot-matrix display: text drawn with a 5 by 7 dot font, for clocks, counters and status lines. Printable ASCII, the degree sign and the middle dot have glyphs; anything else is a box. Unlit dots show dimly unless `no_dim` is set. In a box narrower than the text, the dots shrink to fit, or with `marquee` the text scrolls. ([Instruments: dot-matrix chart, event track, readout, dot-matrix display](api/Instruments.md)) +- `ui.EventTrack(UiText id, Span times, ref int count, double min, double max, ref int selected, EventTrackOpts o = default)` → `EventTrackResult` — Event track: moments on a time axis, as dots you drag along it. A click on an empty spot adds an event there and a double-click on one removes it. You own the array: the track keeps it sorted, edits it in place and never grows it past `capacity`. ([Instruments: dot-matrix chart, event track, readout, dot-matrix display](api/Instruments.md)) +- `ui.Readout(UiText label, UiText value, ReadoutOpts o = default)` → `void` — Readout: one figure as an instrument shows it. A small label, the value in the monospaced font with its unit, and a muted line of context under it. ([Instruments: dot-matrix chart, event track, readout, dot-matrix display](api/Instruments.md)) +- `ui.KvEditor(UiText id, Span pairs, ref int count, KvEditorOpts o = default)` → `bool` ([Key-value editor](api/KeyValueEditor.md)) +- `ui.Keymap(UiText id, ReadOnlySpan bindings, ref Mods mods, KeymapOpts o = default)` → `KeymapResult` — A keyboard with your shortcuts on it: each bound key shows its action and the color of its category, for the modifiers chosen above it. Keys bound twice are marked as conflicts. Hover a key for every binding on it; click it to get the key (to rebind it). The keyboard keeps its own layout in a right-to-left interface and scales to the width it gets. ([Keymap](api/Keymap.md)) - `ui.Box(Box o = default)` → `LayoutScope` ([Layout](api/Layout.md)) -- `ui.Card(Card o = default)` → `LayoutScope` ([Layout](api/Layout.md)) +- `ui.Card(Card o = default)` → `LayoutScope` — returns true when clicked (hoverable) ([Layout](api/Layout.md)) - `ui.Column(Box o = default)` → `LayoutScope` ([Layout](api/Layout.md)) -- `ui.Gap(float size)` → `void` ([Layout](api/Layout.md)) +- `ui.Gap(float size)` → `void` — fixed space ([Layout](api/Layout.md)) - `ui.Row(Box o = default)` → `LayoutScope` ([Layout](api/Layout.md)) -- `ui.Scroll(ScrollOpts o = default)` → `LayoutScope` ([Layout](api/Layout.md)) +- `ui.Scroll(ScrollOpts o = default)` → `LayoutScope` — Scroll area with smooth scrolling and overlay scrollbars. ([Layout](api/Layout.md)) - `ui.ScrollTo(UiText scrollId, float y)` → `void` ([Layout](api/Layout.md)) -- `ui.Separator()` → `void` ([Layout](api/Layout.md)) -- `ui.Spacer()` → `void` ([Layout](api/Layout.md)) -- `ui.Split(UiText id, ref float ratio, SplitOpts o = default)` → `LayoutScope` ([Layout](api/Layout.md)) +- `ui.Separator()` → `void` — hairline, follows the parent direction ([Layout](api/Layout.md)) +- `ui.Spacer()` → `void` — flexible space ([Layout](api/Layout.md)) +- `ui.Split(UiText id, ref float ratio, SplitOpts o = default)` → `LayoutScope` — Resizable split view: two panes with a draggable divider. `ratio` is the size of the first pane in 0..1. Call cui_split_next between the panes. ([Layout](api/Layout.md)) - `ui.SplitNext()` → `void` ([Layout](api/Layout.md)) -- `ui.Markdown(UiText id, UiText text, MarkdownOpts o = default)` → `MarkdownResult` ([Markdown view](api/MarkdownView.md)) -- `ui.CardStack(UiText id, int count, CardStackOpts o = default)` → `int` ([Media](api/Media.md)) +- `ui.Markdown(UiText id, UiText text, MarkdownOpts o = default)` → `MarkdownResult` — Markdown view: renders your markdown text (UTF-8) as native content, every frame, without keeping a copy: ([Markdown view](api/MarkdownView.md)) +- `ui.CardStack(UiText id, int count, CardStackOpts o = default)` → `int` — Card stack: a deck where the top card can be flicked away left or right. Build `count` cards; card 0 is the top. end returns -1 or 1 on the frame the top card leaves (to the left or right), else 0. ([Media](api/Media.md)) - `ui.CardStackItem(int depth)` → `LayoutScope` ([Media](api/Media.md)) -- `ui.Carousel(UiText id, int count, ref int index, CarouselOpts o = default)` → `OpenScope` ([Media](api/Media.md)) +- `ui.Carousel(UiText id, int count, ref int index, CarouselOpts o = default)` → `OpenScope` — Carousel: slides that you swipe, drag, scroll or page with the arrows and dots. Build every slide between begin and end: cui_carousel(ui, "tour", 4, &index, .height = 220) { for (int k = 0; k < 4; k++) cui_carousel_slide(ui) { ... } } ([Media](api/Media.md)) - `ui.CarouselSlide()` → `LayoutScope` ([Media](api/Media.md)) -- `ui.Counter(UiText id, double value, CounterOpts o = default)` → `void` — * left to right in any interface: see cui__keep_ltr ([Media](api/Media.md)) -- `ui.ImageCompare(UiText id, ulong before, ulong after, ref float pos, CompareOpts o = default)` → `bool` ([Media](api/Media.md)) -- `ui.Ticker(UiText id, ReadOnlySpan items, TickerOpts o = default)` → `void` ([Media](api/Media.md)) +- `ui.Counter(UiText id, double value, CounterOpts o = default)` → `void` — Odometer: a number whose digits roll to their new values. ([Media](api/Media.md)) +- `ui.ImageCompare(UiText id, ulong before, ulong after, ref float pos, CompareOpts o = default)` → `bool` — Before and after: drag the divider to compare two images. *pos is 0..1. ([Media](api/Media.md)) +- `ui.Ticker(UiText id, ReadOnlySpan items, TickerOpts o = default)` → `void` — Ticker: items that scroll by continuously, pausing on hover. ([Media](api/Media.md)) - `ui.ContextMenu(UiText id)` → `OpenScope` — Context menu: opens on right click over the previous component. ([Menus and popovers](api/MenusAndPopovers.md)) -- `ui.Menu(UiText label, MenuOpts o = default)` → `OpenScope` ([Menus and popovers](api/MenusAndPopovers.md)) +- `ui.Menu(UiText label, MenuOpts o = default)` → `OpenScope` — Dropdown menu: a button that opens a menu. Items return true when chosen. ([Menus and popovers](api/MenusAndPopovers.md)) - `ui.MenuItem(UiText label, MenuItemOpts o = default)` → `bool` ([Menus and popovers](api/MenusAndPopovers.md)) - `ui.MenuLabel(UiText text)` → `void` ([Menus and popovers](api/MenusAndPopovers.md)) - `ui.MenuSeparator()` → `void` ([Menus and popovers](api/MenusAndPopovers.md)) -- `ui.Popover(UiText id, PopoverOpts o = default)` → `OpenScope` ([Menus and popovers](api/MenusAndPopovers.md)) +- `ui.Popover(UiText id, PopoverOpts o = default)` → `OpenScope` — Popover anchored to the previous component. Toggle it with cui_popover_toggle / cui_popover_open. ([Menus and popovers](api/MenusAndPopovers.md)) - `ui.PopoverClose(UiText id)` → `void` ([Menus and popovers](api/MenusAndPopovers.md)) - `ui.PopoverIsOpen(UiText id)` → `bool` ([Menus and popovers](api/MenusAndPopovers.md)) - `ui.PopoverOpen(UiText id)` → `void` ([Menus and popovers](api/MenusAndPopovers.md)) - `ui.PopoverToggle(UiText id)` → `void` ([Menus and popovers](api/MenusAndPopovers.md)) - `ui.Tooltip(UiText text)` → `void` — Tooltip for the previous component, shown after a short hover delay. ([Menus and popovers](api/MenusAndPopovers.md)) - `ui.Tour(UiText id, ReadOnlySpan steps, ref int step, TourOpts o = default)` → `TourAction` — What happened this frame: one of CUI_TOUR_*. ([Menus and popovers](api/MenusAndPopovers.md)) -- `ui.ConfirmButton(UiText label, ConfirmOpts o = default)` → `bool` ([More actions](api/MoreActions.md)) -- `ui.Reactions(UiText id, Span items)` → `int` ([More actions](api/MoreActions.md)) -- `ui.SpeedDial(UiText id, ReadOnlySpan actions, SpeedDialOpts o = default)` → `int` ([More actions](api/MoreActions.md)) -- `ui.SplitButton(UiText label, ReadOnlySpan items, SplitButtonOpts o = default)` → `int` ([More actions](api/MoreActions.md)) +- `ui.ConfirmButton(UiText label, ConfirmOpts o = default)` → `bool` — Two step destructive button: the first click morphs it into a confirm state with a countdown, the second click confirms. Returns true once. ([More actions](api/MoreActions.md)) +- `ui.Reactions(UiText id, Span items)` → `int` — Reactions: icon pills with counts. Clicking toggles `active` and adjusts the count. Returns the index that changed, or -1. ([More actions](api/MoreActions.md)) +- `ui.SpeedDial(UiText id, ReadOnlySpan actions, SpeedDialOpts o = default)` → `int` — Speed dial: a round floating action button that fans out related actions. Returns the chosen action index, or -1. ([More actions](api/MoreActions.md)) +- `ui.SplitButton(UiText label, ReadOnlySpan items, SplitButtonOpts o = default)` → `int` — Split button: a main action with a menu of related actions on the chevron. Returns 0 when the main part is clicked, 1 + i when menu item i is chosen and -1 otherwise. ([More actions](api/MoreActions.md)) - `ui.StatusButton(UiText label, Status status, StatusButtonOpts o = default)` → `bool` ([More actions](api/MoreActions.md)) -- `ui.SwipeItem(UiText id, ReadOnlySpan left, ReadOnlySpan right)` → `int` ([More actions](api/MoreActions.md)) +- `ui.SwipeItem(UiText id, ReadOnlySpan left, ReadOnlySpan right)` → `int` — Swipe actions: drag a row sideways (or swipe on a trackpad) to reveal actions behind it. A long swipe triggers the first action. The row content goes between begin and end; end returns the chosen action: 0..left_count-1 for left actions, 100 + i for right actions, or -1. ([More actions](api/MoreActions.md)) - `ui.ThemeSwitcher(ref int mode, bool withSystem)` → `bool` — Theme switcher: light, dark and (optionally) system, as a compact icon segmented control. mode is 0 light, 1 dark, 2 system. Light and dark are applied for you; for system call cui_set_theme with the OS setting. Returns true when mode changed. ([More actions](api/MoreActions.md)) - `ui.ThemeToggle()` → `bool` — Sun and moon icon button that toggles the theme with a morph. ([More actions](api/MoreActions.md)) -- `ui.UserMenu(UiText name, UserMenuOpts o = default)` → `OpenScope` ([More actions](api/MoreActions.md)) -- `ui.ActivityRings(UiText id, ReadOnlySpan rings, RingsOpts o = default)` → `int` ([More charts](api/MoreCharts.md)) -- `ui.BarList(UiText id, ReadOnlySpan items, BarListOpts o = default)` → `int` ([More charts](api/MoreCharts.md)) -- `ui.CalendarHeatmap(UiText id, Date start, ReadOnlySpan values, CalendarHeatmapOpts o = default)` → `int` ([More charts](api/MoreCharts.md)) +- `ui.UserMenu(UiText name, UserMenuOpts o = default)` → `OpenScope` — User menu: an avatar, a name and a line of detail that opens a menu of account actions. Put menu items between begin and end. ([More actions](api/MoreActions.md)) +- `ui.ActivityRings(UiText id, ReadOnlySpan rings, RingsOpts o = default)` → `int` — Activity rings: concentric progress rings; values past 1 keep winding. ([More charts](api/MoreCharts.md)) +- `ui.BarList(UiText id, ReadOnlySpan items, BarListOpts o = default)` → `int` — Bar list: ranked horizontal bars. Rows are keyed by label, so when the values change the bars grow and the rows slide to their new rank. ([More charts](api/MoreCharts.md)) +- `ui.CalendarHeatmap(UiText id, Date start, ReadOnlySpan values, CalendarHeatmapOpts o = default)` → `int` — Calendar heatmap: one cell per day from start, weeks as columns, in five levels, with month and weekday labels and a Less / More legend. ([More charts](api/MoreCharts.md)) - `ui.Candlestick(UiText id, ReadOnlySpan candles, CandlestickOpts o = default)` → `int` — Returns the candle under the crosshair (pointer or keys), or -1. ([More charts](api/MoreCharts.md)) -- `ui.Funnel(UiText id, ReadOnlySpan stages, FunnelOpts o = default)` → `int` ([More charts](api/MoreCharts.md)) -- `ui.Heatmap(UiText id, ReadOnlySpan values, int rows, int cols, HeatmapOpts o = default)` → `int` ([More charts](api/MoreCharts.md)) -- `ui.RadarChart(UiText id, ReadOnlySpan series, ReadOnlySpan axes, RadarOpts o = default)` → `int` ([More charts](api/MoreCharts.md)) +- `ui.Funnel(UiText id, ReadOnlySpan stages, FunnelOpts o = default)` → `int` — Funnel: stages narrowing by value, with the conversion between them. ([More charts](api/MoreCharts.md)) +- `ui.Heatmap(UiText id, ReadOnlySpan values, int rows, int cols, HeatmapOpts o = default)` → `int` — Heatmap: a rows x cols matrix (values[row * cols + col]) on one hue, light to dark, with a scale below. ([More charts](api/MoreCharts.md)) +- `ui.RadarChart(UiText id, ReadOnlySpan series, ReadOnlySpan axes, RadarOpts o = default)` → `int` — Radar chart: series over shared axes (series[i].values[axis]). ([More charts](api/MoreCharts.md)) - `ui.RadialGauge(UiText id, float value, float min, float max, RadialGaugeOpts o = default)` → `void` ([More charts](api/MoreCharts.md)) -- `ui.Sankey(UiText id, ReadOnlySpan nodes, ReadOnlySpan links, SankeyOpts o = default)` → `int` ([More charts](api/MoreCharts.md)) -- `ui.ScatterChart(UiText id, ReadOnlySpan series, ScatterOpts o = default)` → `int` ([More charts](api/MoreCharts.md)) -- `ui.SplitBar(UiText id, ReadOnlySpan items, SplitBarOpts o = default)` → `int` ([More charts](api/MoreCharts.md)) +- `ui.Sankey(UiText id, ReadOnlySpan nodes, ReadOnlySpan links, SankeyOpts o = default)` → `int` — Sankey: flows between nodes; columns follow the links from the sources. ([More charts](api/MoreCharts.md)) +- `ui.ScatterChart(UiText id, ReadOnlySpan series, ScatterOpts o = default)` → `int` — Scatter (or bubble) chart: points per series, optional sizes. ([More charts](api/MoreCharts.md)) +- `ui.SplitBar(UiText id, ReadOnlySpan items, SplitBarOpts o = default)` → `int` — Split bar: one bar split into parts, with a legend of values and shares. ([More charts](api/MoreCharts.md)) - `ui.Treemap(UiText id, ReadOnlySpan items, TreemapOpts o = default)` → `int` ([More charts](api/MoreCharts.md)) -- `ui.Waffle(UiText id, ReadOnlySpan items, WaffleOpts o = default)` → `int` ([More charts](api/MoreCharts.md)) +- `ui.Waffle(UiText id, ReadOnlySpan items, WaffleOpts o = default)` → `int` — Waffle: a 10 x 10 grid of squares split by share, with a legend. ([More charts](api/MoreCharts.md)) - `ui.ButtonGroup()` → `LayoutScope` — Connected buttons. Put buttons between begin and end. ([More components](api/MoreComponents.md)) -- `ui.CopyButton(UiText id, UiText text)` → `bool` — Icon button that copies text to the clipboard and confirms with a check. ([More components](api/MoreComponents.md)) -- `ui.HoldButton(UiText label, HoldOpts o = default)` → `bool` ([More components](api/MoreComponents.md)) +- `ui.CopyButton(UiText id, UiText text)` → `bool` — Icon button that copies text to the clipboard and confirms with a check. Keyboard focus stays on the button when the check appears or disappears. ([More components](api/MoreComponents.md)) +- `ui.HoldButton(UiText label, HoldOpts o = default)` → `bool` — Hold to confirm: a destructive action that fills while held and fires when full. Returns true once. ([More components](api/MoreComponents.md)) - `ui.PasswordStrength(UiText password)` → `int` — Password strength meter (0 weak .. 4 strong). Returns the score. ([More components](api/MoreComponents.md)) - `ui.ProgressRing(UiText label, float value, float size = 104)` → `void` — Circular progress with the value in the middle. ([More components](api/MoreComponents.md)) -- `ui.RadioCards(UiText id, ReadOnlySpan choices, ref int index, RadioCardsOpts o = default)` → `bool` ([More components](api/MoreComponents.md)) +- `ui.RadioCards(UiText id, ReadOnlySpan choices, ref int index, RadioCardsOpts o = default)` → `bool` — Radio cards: larger selectable cards for choices that need a description (plans, templates). ([More components](api/MoreComponents.md)) - `ui.TimelineItem(UiText title, TimelineOpts o = default)` → `void` ([More components](api/MoreComponents.md)) -- `ui.Banner(UiText text, ref bool open, BannerOpts o = default)` → `bool` ([More feedback](api/MoreFeedback.md)) -- `ui.Checklist(UiText id, ReadOnlySpan steps, ChecklistOpts o = default)` → `int` ([More feedback](api/MoreFeedback.md)) -- `ui.Countdown(UiText id, double secondsLeft, CountdownOpts o = default)` → `void` — * left to right in any interface: see cui__keep_ltr ([More feedback](api/MoreFeedback.md)) -- `ui.InlineEdit(UiText id, ref string buf, int cap = 256, InlineEditOpts o = default)` → `int` ([More inputs](api/MoreInputs.md)) -- `ui.MoneyInput(UiText id, ref double value, MoneyOpts o = default)` → `bool` ([More inputs](api/MoreInputs.md)) -- `ui.Scrub(UiText label, ref float value, float min, float max, ScrubOpts o = default)` → `bool` ([More inputs](api/MoreInputs.md)) +- `ui.Banner(UiText text, ref bool open, BannerOpts o = default)` → `bool` — Announcement banner across the top of a view. Collapses smoothly when dismissed (*open becomes false). Returns true when the action is clicked. ([More feedback](api/MoreFeedback.md)) +- `ui.Checklist(UiText id, ReadOnlySpan steps, ChecklistOpts o = default)` → `int` — Onboarding checklist: a card with progress and steps. The first open step shows its description and action. Clicking a step's circle toggles done. Returns the index whose action was clicked, or -1. ([More feedback](api/MoreFeedback.md)) +- `ui.Countdown(UiText id, double secondsLeft, CountdownOpts o = default)` → `void` — Countdown: days, hours, minutes and seconds as tiles whose digits roll. ([More feedback](api/MoreFeedback.md)) +- `ui.InlineEdit(UiText id, ref string buf, int cap = 256, InlineEditOpts o = default)` → `int` — Inline edit: text that turns into a field in place. Click (or Enter when focused) to edit, Enter or clicking away saves, Esc cancels. Returns CUI_CHANGED when an edit is committed. ([More inputs](api/MoreInputs.md)) +- `ui.MoneyInput(UiText id, ref double value, MoneyOpts o = default)` → `bool` — Money field: shows the amount with thousands separators, edits as plain digits, keeps a fixed number of decimals. ([More inputs](api/MoreInputs.md)) +- `ui.Scrub(UiText label, ref float value, float min, float max, ScrubOpts o = default)` → `bool` — Scrub field: drag sideways anywhere on it to change the value (Shift for fine steps), or click to type a number. Arrow keys step when focused. ([More inputs](api/MoreInputs.md)) - `ui.ShortcutLabel(KeyCombo combo)` → `string?` ([More inputs](api/MoreInputs.md)) -- `ui.ShortcutRecorder(UiText id, ref KeyCombo combo, ShortcutRecorderOpts o = default)` → `bool` — * left to right in any interface: see cui__keep_ltr ([More inputs](api/MoreInputs.md)) -- `ui.ControlTile(UiText label, ref bool on, TileOpts o = default)` → `bool` ([Motion and text effects](api/MotionAndTextEffects.md)) -- `ui.Dock(UiText id, DockOpts o = default)` → `LayoutScope` ([Motion and text effects](api/MotionAndTextEffects.md)) +- `ui.ShortcutRecorder(UiText id, ref KeyCombo combo, ShortcutRecorderOpts o = default)` → `bool` — Shortcut recorder: click and press a key combination to record it. Backspace clears, Esc cancels. Returns true when the combination changed. cui_shortcut_label formats a combination ("Ctrl Shift K"). ([More inputs](api/MoreInputs.md)) +- `ui.ControlTile(UiText label, ref bool on, TileOpts o = default)` → `bool` — Control tile: a large toggle with an icon, a label and a state line. ([Motion and text effects](api/MotionAndTextEffects.md)) +- `ui.Dock(UiText id, DockOpts o = default)` → `LayoutScope` — Dock: a row of icons that grow as the pointer passes, with labels and a dot under the running ones. Each item returns true when clicked. ([Motion and text effects](api/MotionAndTextEffects.md)) - `ui.DockItem(UiText icon, UiText label, DockItemOpts o = default)` → `bool` ([Motion and text effects](api/MotionAndTextEffects.md)) - `ui.DockSeparator()` → `void` ([Motion and text effects](api/MotionAndTextEffects.md)) -- `ui.GradientText(UiText text, GradientTextOpts o = default)` → `void` ([Motion and text effects](api/MotionAndTextEffects.md)) +- `ui.GradientText(UiText text, GradientTextOpts o = default)` → `void` — Text painted with a gradient from one color to another; animate makes it drift. ([Motion and text effects](api/MotionAndTextEffects.md)) - `ui.Loader(LoaderOpts o = default)` → `void` ([Motion and text effects](api/MotionAndTextEffects.md)) -- `ui.NowPlaying(UiText id, ref NowPlayingState np, NowPlayingOpts o = default)` → `PlayerEvents` ([Motion and text effects](api/MotionAndTextEffects.md)) +- `ui.NowPlaying(UiText id, ref NowPlayingState np, NowPlayingOpts o = default)` → `PlayerEvents` — Now playing card: artwork, title, artist, a scrubber and transport buttons. ([Motion and text effects](api/MotionAndTextEffects.md)) - `ui.NumberRoll(UiText id, UiText text, TextFxOpts o = default)` → `void` — A figure whose changed digits roll into place: up when the value rises, down when it falls, a beat apart from the left; unchanged characters stay still. Pass the formatted text ("$64,210", "1.2k"); digits are tabular. ([Motion and text effects](api/MotionAndTextEffects.md)) - `ui.ShimmerText(UiText text, TextFxOpts o = default)` → `void` — Text with a highlight sweeping across it, for "Thinking..." states. ([Motion and text effects](api/MotionAndTextEffects.md)) -- `ui.Spotlight(UiText id, SpotlightOpts o = default)` → `LayoutScope` ([Motion and text effects](api/MotionAndTextEffects.md)) -- `ui.TabBar(UiText id, ReadOnlySpan items, ref int selected, TabBarOpts o = default)` → `bool` ([Motion and text effects](api/MotionAndTextEffects.md)) +- `ui.Spotlight(UiText id, SpotlightOpts o = default)` → `LayoutScope` — Spotlight card: a soft light follows the pointer across the card and lights the nearest stretch of its border. beam sends a light around the edge. ([Motion and text effects](api/MotionAndTextEffects.md)) +- `ui.TabBar(UiText id, ReadOnlySpan items, ref int selected, TabBarOpts o = default)` → `bool` — Bottom tab bar for compact layouts, with a pill that glides to the selection. ([Motion and text effects](api/MotionAndTextEffects.md)) - `ui.TextReveal(UiText id, UiText text, TextFxOpts o = default)` → `void` — Words fade and rise into place one after another, when first shown and again whenever the text changes. ([Motion and text effects](api/MotionAndTextEffects.md)) - `ui.Typewriter(UiText id, UiText text, TextFxOpts o = default)` → `bool` — Types the text out. When the text grows (streamed tokens) it carries on from where it was; other changes start over. Returns true once complete. ([Motion and text effects](api/MotionAndTextEffects.md)) -- `ui.Waveform(UiText id, ReadOnlySpan peaks, ref float progress, WaveformOpts o = default)` → `bool` ([Motion and text effects](api/MotionAndTextEffects.md)) +- `ui.Waveform(UiText id, ReadOnlySpan peaks, ref float progress, WaveformOpts o = default)` → `bool` — Waveform: bars from peaks (0..1). With progress, the played part is colored and clicking or dragging seeks; returns true when it did. ([Motion and text effects](api/MotionAndTextEffects.md)) - `ui.WordRotate(UiText id, ReadOnlySpan words, float interval, TextFxOpts o = default)` → `void` — One word at a time; the next one rolls up into place and the width follows. ([Motion and text effects](api/MotionAndTextEffects.md)) -- `ui.Breadcrumb(ReadOnlySpan items)` → `int` ([Navigation](api/Navigation.md)) -- `ui.NavItem(UiText label, NavOpts o = default)` → `bool` ([Navigation](api/Navigation.md)) +- `ui.Breadcrumb(ReadOnlySpan items)` → `int` — returns clicked index or -1 ([Navigation](api/Navigation.md)) +- `ui.NavItem(UiText label, NavOpts o = default)` → `bool` — Sidebar navigation item with a gliding selection highlight shared by all items in the same group. ([Navigation](api/Navigation.md)) - `ui.NavSection(UiText title)` → `void` ([Navigation](api/Navigation.md)) -- `ui.Pagination(UiText id, ref int page, int pageCount)` → `bool` ([Navigation](api/Navigation.md)) +- `ui.Pagination(UiText id, ref int page, int pageCount)` → `bool` — page is 0 based ([Navigation](api/Navigation.md)) - `ui.Stepper(ReadOnlySpan steps, int current)` → `void` ([Navigation](api/Navigation.md)) - `ui.Tabs(UiText id, ReadOnlySpan items, ref int index, TabsOpts o = default)` → `bool` ([Navigation](api/Navigation.md)) -- `ui.Waterfall(UiText id, ReadOnlySpan requests, ref int selected, WaterfallOpts o = default)` → `WaterfallResult` ([Network waterfall](api/NetworkWaterfall.md)) -- `ui.Node(int nodeId, ref float x, ref float y, UiText title, NodeOpts o = default)` → `OpenScope` ([Node editor](api/NodeEditor.md)) +- `ui.Waterfall(UiText id, ReadOnlySpan requests, ref int selected, WaterfallOpts o = default)` → `WaterfallResult` — HTTP requests as a table with a timing bar each: queued, DNS, connect, TLS, waiting for the first byte and downloading, on one time scale with the page's DOMContentLoaded and load lines. Hover a bar for the breakdown. Narrow panels drop the type and size columns. Only the rows in view are built. Up and Down move the selection. ([Network waterfall](api/NetworkWaterfall.md)) +- `ui.Node(int nodeId, ref float x, ref float y, UiText title, NodeOpts o = default)` → `OpenScope` — A node at canvas position (*x, *y), updated while it is dragged. Returns true while the node is selected. ([Node editor](api/NodeEditor.md)) - `ui.NodeContent()` → `LayoutScope` — A row for ordinary components. They are laid out at 100% and scaled with the view, so their text is sharpest at 100% zoom and below. ([Node editor](api/NodeEditor.md)) - `ui.NodeDeleted(ref int nodeId)` → `bool` ([Node editor](api/NodeEditor.md)) -- `ui.NodeEditor(UiText id, ref NodeView view, NodeEditorOpts o = default)` → `OpenScope` ([Node editor](api/NodeEditor.md)) -- `ui.NodeInput(int pinId, UiText label, PinOpts o = default)` → `bool` ([Node editor](api/NodeEditor.md)) +- `ui.NodeEditor(UiText id, ref NodeView view, NodeEditorOpts o = default)` → `OpenScope` — Node editor: nodes with input and output pins on a canvas that pans and zooms, joined by curved links. You own the nodes, pins and links; the editor moves the node positions you pass and reports what the user did: ([Node editor](api/NodeEditor.md)) +- `ui.NodeInput(int pinId, UiText label, PinOpts o = default)` → `bool` — A row with a pin on the left (input) or right (output). type picks the pin color from the series palette and limits links to pins of the same type (0 connects to anything). Returns true when the pin has a link. ([Node editor](api/NodeEditor.md)) - `ui.NodeLink(int linkId, int fromPin, int toPin)` → `bool` — A link from an output pin to an input pin. Returns true while it is selected. ([Node editor](api/NodeEditor.md)) - `ui.NodeLinkCreated(ref int fromPin, ref int toPin)` → `bool` — What the user did this frame, one event per call; call them after cui_node_editor_begin (and up to the end of the frame). ([Node editor](api/NodeEditor.md)) - `ui.NodeLinkRemoved(ref int linkId)` → `bool` — Part of cui_node_link — A link from an output pin to an input pin. Returns true while it is selected. ([Node editor](api/NodeEditor.md)) -- `ui.NodeOutput(int pinId, UiText label, PinOpts o = default)` → `bool` ([Node editor](api/NodeEditor.md)) +- `ui.NodeOutput(int pinId, UiText label, PinOpts o = default)` → `bool` — A row with a pin on the left (input) or right (output). type picks the pin color from the series palette and limits links to pins of the same type (0 connects to anything). Returns true when the pin has a link. ([Node editor](api/NodeEditor.md)) - `ui.DateRangePicker(UiText id, ref DateRange range, DateRangeOpts o = default)` → `bool` ([Pickers](api/Pickers.md)) - `ui.Fader(UiText id, ref float value, float min, float max, FaderOpts o = default)` → `bool` ([Pickers](api/Pickers.md)) -- `ui.HistogramSlider(UiText label, ReadOnlySpan bins, ref float lo, ref float hi, float min, float max, HistogramOpts o = default)` → `bool` ([Pickers](api/Pickers.md)) -- `ui.Knob(UiText id, ref float value, float min, float max, KnobOpts o = default)` → `bool` ([Pickers](api/Pickers.md)) +- `ui.HistogramSlider(UiText label, ReadOnlySpan bins, ref float lo, ref float hi, float min, float max, HistogramOpts o = default)` → `bool` — Range slider over a histogram of the data it filters. ([Pickers](api/Pickers.md)) +- `ui.Knob(UiText id, ref float value, float min, float max, KnobOpts o = default)` → `bool` — Knob, fader and level meter: the controls of audio, synth and mixer panels. ([Pickers](api/Pickers.md)) - `ui.LevelMeter(UiText id, ReadOnlySpan levels, LevelMeterOpts o = default)` → `bool` — Returns true when the clip light was clicked to clear it. ([Pickers](api/Pickers.md)) - `ui.RangeCalendar(UiText id, ref DateRange range, int months)` → `bool` — One or two months side by side; click a start and an end. ([Pickers](api/Pickers.md)) -- `ui.RulerSlider(UiText label, ref float value, float min, float max, RulerOpts o = default)` → `bool` ([Pickers](api/Pickers.md)) +- `ui.RulerSlider(UiText label, ref float value, float min, float max, RulerOpts o = default)` → `bool` — Ruler slider: a tape measure that slides under a fixed marker, with momentum and snapping to step. ([Pickers](api/Pickers.md)) - `ui.TimeDial(UiText id, ref int hour, ref int minute, float size)` → `bool` — Time dial: a clock face. Drag the hand to set hours, then minutes. ([Pickers](api/Pickers.md)) -- `ui.TimePicker(UiText id, ref int hour, ref int minute, TimeOpts o = default)` → `bool` ([Pickers](api/Pickers.md)) -- `ui.WheelPicker(UiText id, ReadOnlySpan items, ref int index, WheelOpts o = default)` → `bool` ([Pickers](api/Pickers.md)) +- `ui.TimePicker(UiText id, ref int hour, ref int minute, TimeOpts o = default)` → `bool` — Time picker: a field that opens hour and minute columns. hour is 0..23. ([Pickers](api/Pickers.md)) +- `ui.WheelPicker(UiText id, ReadOnlySpan items, ref int index, WheelOpts o = default)` → `bool` — Wheel picker: a drum of options that you drag, scroll or arrow through. Several side by side make a date or time reel. join_left / join_right square off the selection band so wheels placed side by side share one continuous band. ([Pickers](api/Pickers.md)) - `ui.Pipeline(UiText id, ReadOnlySpan stages, ReadOnlySpan jobs, ref int selected, PipelineOpts o = default)` → `PipelineResult` ([Pipeline](api/Pipeline.md)) -- `ui.Gantt(UiText id, Span tasks, Date origin, int days, GanttOpts o = default)` → `int` — * left to right in any interface: see cui__keep_ltr ([Planning](api/Planning.md)) +- `ui.Gantt(UiText id, Span tasks, Date origin, int days, GanttOpts o = default)` → `int` — Gantt chart: a task list beside a timeline of bars. Drag a bar to move it, its ends to resize it. Dependencies are drawn as elbow arrows. Returns the index of a clicked task, or -1. ([Planning](api/Planning.md)) - `ui.Kanban(UiText id)` → `bool` ([Planning](api/Planning.md)) -- `ui.KanbanCard(int cardId)` → `LayoutScope` ([Planning](api/Planning.md)) -- `ui.KanbanColumn(UiText title, int cardCount, KanbanColumnOpts o = default)` → `LayoutScope` ([Planning](api/Planning.md)) -- `ui.MonthCalendar(UiText id, ref Date month, ReadOnlySpan events, ref Date selected, MonthOpts o = default)` → `MonthResult` ([Planning](api/Planning.md)) -- `ui.WeekCalendar(UiText id, Date weekStart, Span events, WeekOpts o = default)` → `int` — * left to right in any interface: see cui__keep_ltr ([Planning](api/Planning.md)) +- `ui.KanbanCard(int cardId)` → `LayoutScope` — true when clicked ([Planning](api/Planning.md)) +- `ui.KanbanColumn(UiText title, int cardCount, KanbanColumnOpts o = default)` → `LayoutScope` — true: "+" clicked ([Planning](api/Planning.md)) +- `ui.MonthCalendar(UiText id, ref Date month, ReadOnlySpan events, ref Date selected, MonthOpts o = default)` → `MonthResult` — Month calendar: a month grid with events. All-day and multi-day events are bars across the days they cover; timed events are a dot, a time and a title. A day with more than fits says "+N more" and opens a list of them. On a narrow screen the cells show colored dots and the selected day's events are listed under the grid. ([Planning](api/Planning.md)) +- `ui.WeekCalendar(UiText id, Date weekStart, Span events, WeekOpts o = default)` → `int` — Week calendar: seven day columns on an hour grid. Drag an event to move it (15 minute steps), drag its bottom edge to resize it. Returns the index of a clicked event, or -1. ([Planning](api/Planning.md)) - `ui.Problems(UiText id, ReadOnlySpan diags, ProblemsOpts o = default)` → `ProblemsResult` ([Problems panel](api/ProblemsPanel.md)) -- `ui.QueryBuilder(UiText id, ReadOnlySpan fields, Span nodes, ref int count, int capacity, QueryOpts o = default)` → `bool` ([Query builder](api/QueryBuilder.md)) -- `ui.RegexTester(UiText id, ref string pattern, int patternCap, ref string text, int textCap, ref RegexFlags flags, RegexTesterOpts o = default)` → `RegexTesterResult` ([Regular expressions and the regex tester](api/RegularExpressionsAndTheRegexTester.md)) +- `ui.QueryBuilder(UiText id, ReadOnlySpan fields, Span nodes, ref int count, QueryOpts o = default)` → `bool` ([Query builder](api/QueryBuilder.md)) +- `ui.RegexTester(UiText id, ref string pattern, int patternCap, ref string text, int textCap, ref RegexFlags flags, RegexTesterOpts o = default)` → `RegexTesterResult` — A pattern field with flags over a test text: every match is highlighted in the text and its groups in their own colors, and the list below shows each match with its groups. Errors show under the pattern. Both buffers are yours and edited in place. ([Regular expressions and the regex tester](api/RegularExpressionsAndTheRegexTester.md)) - `ui.CronDescribe(UiText cron)` → `string?` — "Every weekday at 09:30", in frame memory; NULL when invalid. ([Schedule picker](api/SchedulePicker.md)) -- `ui.SchedulePicker(UiText id, ref string cron, int cap = 128, ScheduleOpts o = default)` → `ScheduleResult` ([Schedule picker](api/SchedulePicker.md)) +- `ui.SchedulePicker(UiText id, ref string cron, int cap = 128, ScheduleOpts o = default)` → `ScheduleResult` — A cron schedule edited the friendly way: every N minutes, hourly at a minute, daily at a time, weekly on chosen days, monthly on a day, or a custom expression. It reads and writes `cron` (five fields: minute hour day month weekday) and shows what it means and when it runs next. Weekday and month names come from cui_set_strings. ([Schedule picker](api/SchedulePicker.md)) - `ui.Calendar(UiText id, ref Date value)` → `bool` ([Select, combobox, date picker](api/SelectComboboxDatePicker.md)) - `ui.ColorPicker(UiText id, ref Color value)` → `bool` ([Select, combobox, date picker](api/SelectComboboxDatePicker.md)) - `ui.DatePicker(UiText id, ref Date value, DateOpts o = default)` → `bool` ([Select, combobox, date picker](api/SelectComboboxDatePicker.md)) @@ -317,26 +320,26 @@ - `ui.Rating(UiText id, ref int value, int max = 5)` → `bool` ([Selection controls](api/SelectionControls.md)) - `ui.Slider(UiText label, ref float value, float min, float max, SliderOpts o = default)` → `bool` — Elastic slider: the track stretches like rubber when dragged past its ends. ([Selection controls](api/SelectionControls.md)) - `ui.Switch(UiText label, ref bool value, CheckOpts o = default)` → `bool` ([Selection controls](api/SelectionControls.md)) -- `ui.StackTrace(UiText id, ReadOnlySpan frames, StackTraceOpts o = default)` → `StackTraceResult` ([Stack trace](api/StackTrace.md)) -- `ui.TestExplorer(UiText id, ReadOnlySpan items, TestExplorerOpts o = default)` → `TestExplorerResult` ([Test explorer](api/TestExplorer.md)) -- `ui.Code(UiText text)` → `void` ([Text](api/Text.md)) -- `ui.Heading(UiText text, int level = 2)` → `void` ([Text](api/Text.md)) -- `ui.Kbd(UiText keys)` → `void` — * left to right in any interface: see cui__keep_ltr ([Text](api/Text.md)) -- `ui.Label(UiText text)` → `void` ([Text](api/Text.md)) +- `ui.StackTrace(UiText id, ReadOnlySpan frames, StackTraceOpts o = default)` → `StackTraceResult` — An exception and its call stack: the error's type and message, then each frame's function and position. Runs of library frames fold into one row. A frame with source opens to show the lines around it, the failing line marked; the first frame of your own code starts open. A button copies the whole trace as text. ([Stack trace](api/StackTrace.md)) +- `ui.TestExplorer(UiText id, ReadOnlySpan items, TestExplorerOpts o = default)` → `TestExplorerResult` — Test results as a tree: suites fold, each test shows its status and time, and a failure shows its message under it. A suite's status sums up its tests. The toolbar runs everything, counts results and filters by status and by name. Hover a row for its run button. Only the rows in view are built. Up and Down move, Left and Right fold, Enter activates. Items are in tree order with their depth; the statuses are the pipeline's. ([Test explorer](api/TestExplorer.md)) +- `ui.Code(UiText text)` → `void` — inline code ([Text](api/Text.md)) +- `ui.Heading(UiText text, int level = 2)` → `void` — 1..4 ([Text](api/Text.md)) +- `ui.Kbd(UiText keys)` → `void` — keyboard keycap, e.g. "Ctrl K" ([Text](api/Text.md)) +- `ui.Label(UiText text)` → `void` — medium weight ([Text](api/Text.md)) - `ui.Link(UiText text)` → `bool` ([Text](api/Text.md)) -- `ui.Muted(UiText text)` → `void` ([Text](api/Text.md)) -- `ui.Secondary(UiText text)` → `void` ([Text](api/Text.md)) +- `ui.Muted(UiText text)` → `void` — small, muted ([Text](api/Text.md)) +- `ui.Secondary(UiText text)` → `void` — secondary color ([Text](api/Text.md)) - `ui.Text(UiText text, TextOpts o = default)` → `void` ([Text](api/Text.md)) -- `ui.TimeHistogram(UiText id, double start, double bucketSeconds, int buckets, ReadOnlySpan series, ref double selStart, ref double selEnd, TimeHistogramOpts o = default)` → `TimeHistogramResult` ([Time histogram](api/TimeHistogram.md)) -- `ui.TraceView(UiText id, ReadOnlySpan tracks, ReadOnlySpan spans, ref TraceViewState view, ref int selected, TraceOpts o = default)` → `TraceResult` ([Trace viewer](api/TraceViewer.md)) +- `ui.TimeHistogram(UiText id, double start, double bucketSeconds, int buckets, ReadOnlySpan series, ref double selStart, ref double selEnd, TimeHistogramOpts o = default)` → `TimeHistogramResult` — Event counts over time, stacked by series (log levels, status classes), as above a log search. Drag across it to select a time range, click to clear. Hover a bar for its time and counts. Times are Unix seconds. ([Time histogram](api/TimeHistogram.md)) +- `ui.TraceView(UiText id, ReadOnlySpan tracks, ReadOnlySpan spans, ref TraceViewState view, ref int selected, TraceOpts o = default)` → `TraceResult` — A tracing timeline: one lane per thread, process or service, each with its nested spans, on one time ruler, with markers (frames, GC pauses, deploys) drawn across every lane. Wheel zooms around the pointer, Shift+wheel or a drag pans, click selects a span, Shift+drag measures a time range. A lane's name folds it. Keys: Left and Right step through the selected span's lane, + and - zoom, F fits, Esc clears. Spans must be sorted by track, depth and start (cui_trace_sort), with no overlap within a depth of a track. Like the flame graph, only what is in view is visited. ([Trace viewer](api/TraceViewer.md)) - `ui.FileBrowser(UiText id, ref string path, int pathCap = 1024, FileBrowserOpts o = default)` → `FileBrowserResult` — path: the folder shown, yours; the browser writes it as you move around. ([Tree table and path bar](api/TreeTableAndPathBar.md)) - `ui.FilePicker(UiText id, ref bool open, ref string @out, int outCap = 1024, FilePickerOpts o = default)` → `bool` — True once, with the chosen path in out, when the dialog is confirmed; *open turns false then, or on Cancel and Esc. ([Tree table and path bar](api/TreeTableAndPathBar.md)) -- `ui.PathBar(UiText id, ReadOnlySpan segments, PathBarOpts o = default)` → `PathBarResult` ([Tree table and path bar](api/TreeTableAndPathBar.md)) +- `ui.PathBar(UiText id, ReadOnlySpan segments, PathBarOpts o = default)` → `PathBarResult` — Path bar: a breadcrumb for file and scene paths. Segments are clickable, the last one is the current place. Middle segments that do not fit collapse into a "..." menu. With .menus, the chevron after segment k opens a menu you fill with the children of segment k (cui_path_bar_menu_begin). Click the empty part (or the current segment), or press Ctrl+L, to type a path: Enter submits it, Esc or clicking away cancels. ([Tree table and path bar](api/TreeTableAndPathBar.md)) - `ui.PathBarMenu(UiText id, ref int segment)` → `OpenScope` — True while the menu of separator *segment is showing: build menu items for the children of that segment, then call cui_path_bar_menu_end. ([Tree table and path bar](api/TreeTableAndPathBar.md)) -- `ui.TreeTableDepth()` → `int` ([Tree table and path bar](api/TreeTableAndPathBar.md)) +- `ui.TreeTableDepth()` → `int` — depth of the current row, 0 at the top ([Tree table and path bar](api/TreeTableAndPathBar.md)) - `ui.TreeTableName(UiText label, UiText icon)` → `void` — The first cell: indentation, guides, the chevron, an icon and the name (cut short with a tooltip of the whole name when it does not fit). ([Tree table and path bar](api/TreeTableAndPathBar.md)) - `ui.TreeTableRow()` → `int` — The next row in view: returns its node, or -1 when done. Then build its cells: cui_tree_table_name first, then cui_data_grid_cell(_text). ([Tree table and path bar](api/TreeTableAndPathBar.md)) -- `ui.Uptime(UiText id, ReadOnlySpan services, UptimeOpts o = default)` → `UptimeResult` ([Uptime bars](api/UptimeBars.md)) +- `ui.Uptime(UiText id, ReadOnlySpan services, UptimeOpts o = default)` → `UptimeResult` — A status page: each service with its current state, its uptime over the period, and one bar per day colored by availability (gray without data). Hover a bar for its day and uptime. On a narrow panel only the most recent days that fit are shown. ([Uptime bars](api/UptimeBars.md)) ## Documents @@ -362,6 +365,7 @@ Hand-written, because the wrapper needs state a C call cannot carry; they are pa - `ui.DiffRows(...)` — hand-written in `Ui/Ui.Diff.cs` - `ui.Disabled(...)` — hand-written in `Ui/Ui.Frame.cs` - `ui.Dispose(...)` — hand-written in `Ui/Ui.DataGrid.cs` +- `ui.DotChart(...)` — hand-written in `Ui/Ui.Instruments.cs` - `ui.DrawArc(...)` — hand-written in `Ui/Ui.Draw.cs` - `ui.DrawCircle(...)` — hand-written in `Ui/Ui.Draw.cs` - `ui.DrawIcon(...)` — hand-written in `Ui/Ui.Draw.cs` diff --git a/skills/cui-dotnet/widgets-more.md b/skills/cui-dotnet/widgets-more.md index 3677232..02c2c7f 100644 --- a/skills/cui-dotnet/widgets-more.md +++ b/skills/cui-dotnet/widgets-more.md @@ -10,6 +10,8 @@ The second half of the library: richer actions and inputs, pickers, disclosure, ### Split button +A main action with a menu of related actions behind a chevron. + ```c static const char *more[] = { "Save as draft", "Save and publish", "Schedule..." }; switch (cui_split_button(ui, "Save", more, 3, .icon = CUI_ICON_SAVE)) { @@ -22,8 +24,14 @@ case 3: schedule(); break; Returns 0 for the main action, 1 + i for menu item i, -1 otherwise. Options: `variant` (primary by default), `size`, `icon`, `item_icons`, `disabled`. Down arrow on the chevron opens the menu. +The result comes on the frame of the click or the choice; on every other frame the call returns -1. `items` is your array of `count` labels and is only read. `item_icons`, when you set it, needs an icon or `NULL` for each item. The menu opens under the button, lined up with its trailing edge, and closes when an item is chosen. `disabled` turns off both parts. The button keeps its state by its label, so two split buttons with the same label in one scope need different keys: `"Save##draft"` still shows "Save". + +Keyboard: Tab stops on the main part and on the chevron, and Enter or Space presses the focused one. In the open menu, Up and Down move the highlight, Enter chooses and Esc closes the menu. + ### Toggle group +A row of joined toggle buttons, each on or off, or exactly one on at a time. + ```c static bool format[4]; /* bold, italic, underline, code */ const char *labels[] = { "Bold", "Italic", "Underline", "Code" }; @@ -33,18 +41,28 @@ cui_toggle_group(ui, "format", labels, 4, format, .icons = icons, .icon_only = t Each item flips its own `bool`. With `.exclusive = true` exactly one stays on, like a radio group. With `icon_only` the labels become tooltips. Arrow keys move between items. +Returns true on the frame an item is clicked. `format` is your array with one `bool` for each item: the group reads it every frame and writes the item that was clicked, or all of them when `exclusive` is set. Exclusive mode acts on clicks only, so start with one value already true; a click on the item that is on leaves it on. At most 32 items are shown. `icon_only` hides a label only where that item has an icon. For a choice held in one `int`, use the segmented control. + Keyboard: Tab, or Left and Right, move between the toggles, and Enter or Space flips the focused one. ### Confirm button +A button for destructive actions that asks for a second click before it fires. + ```c if (cui_confirm_button(ui, "Delete project", .icon = CUI_ICON_TRASH_2)) delete_project(); ``` The first click morphs the button into a red "Click to confirm" with a countdown line; the second click fires. It disarms after `timeout` seconds (3), on Esc, or when you click elsewhere. Options: `confirm_label`, `icon`, `variant`, `size`, `timeout`. +Returns true once, on the frame of the second click. You keep no state: the armed state is stored under the button's label, so two confirm buttons with the same label in one scope need different keys (`"Remove##member"` shows "Remove"). `variant` sets the look at rest, secondary by default; the armed look is always the danger color with a warning icon. `timeout` is in seconds, and 0 means 3. When the question needs a sentence use the confirm popover, and for an action that should take effort use the hold button. + +Keyboard: Tab focuses the button, and Enter or Space presses it, so two presses confirm. Esc disarms it while it has the focus. + ### Status button +A button that shows the progress of the work it started: a spinner while busy, then a check or an error. + ```c static cui_status status; if (cui_status_button(ui, "Save changes", status, .success_label = "Saved")) { status = CUI_STATUS_BUSY; start_save(); } @@ -53,10 +71,14 @@ if (cui_status_button(ui, "Save changes", status, .success_label = "Saved")) { s Shows the life of the work it started: idle, a spinner while busy, a check or an error. The width springs between states and the content cross-fades. Clicks only count while idle. +Returns true on the frame it is clicked while `status` is `CUI_STATUS_IDLE`. `status` is your variable, passed by value: the button never changes it. Set `CUI_STATUS_BUSY` when the work starts, `CUI_STATUS_SUCCESS` or `CUI_STATUS_ERROR` when it ends, and `CUI_STATUS_IDLE` again once the result has been seen. Without options the busy text is the label followed by an ellipsis, the success text is "Done" and the error text is "Failed"; `busy_label`, `success_label` and `error_label` replace them. `variant` is primary by default. A plain button with `.loading = true` shows only the spinner. + Keyboard: Tab focuses the button, and Enter or Space presses it. ### Reactions +Reaction buttons with a count each, as under a message or a post. + ```c static cui_reaction re[] = { { CUI_ICON_THUMBS_UP, 12, true }, { CUI_ICON_HEART, 4, false } }; int changed = cui_reactions(ui, "reactions", re, 2); /* index that toggled, or -1 */ @@ -64,31 +86,45 @@ int changed = cui_reactions(ui, "reactions", re, 2); /* index that toggled, or Clicking toggles `active` and adjusts `count`; the number rolls up or down and the icon pops. +Returns the index of the reaction that was clicked this frame, or -1. `re` is your array and the library writes to it: a click flips `active` and adds 1 to `count` or takes 1 away, and `count` never goes below 0. Send the change to your server when the call returns an index. A count you change yourself, such as one that arrives from the network, rolls to its new value in the same way. Each `cui_reaction` is an icon, a count and whether the current user has reacted. The `id` keeps the animation of each pill by its position in the array, so keep the array in a stable order. + Keyboard: Tab moves through the reactions, and Enter or Space toggles the focused one. ### Speed dial +A round floating button that fans out a few related actions. + ```c static const cui_speed_action acts[] = { { CUI_ICON_FILE_TEXT, "New note" }, { CUI_ICON_IMAGE, "Upload image" } }; int pick = cui_speed_dial(ui, "create", acts, 2, .tooltip = "Create"); ``` -A round floating action button. Clicking fans the actions out with a stagger while the plus morphs into a close icon. Esc or a click elsewhere folds them. `placement` controls the direction (above and right aligned by default). +Clicking fans the actions out with a stagger while the plus morphs into a close icon. Esc or a click elsewhere folds them. `placement` controls the direction (above and right aligned by default). + +Returns the index of the action that was clicked, or -1, and choosing an action folds the dial. `acts` is your array of icon and label pairs; a `NULL` label leaves only the round icon, and at most 16 actions are shown. The button is 52 points across and sits in the layout where you call it: only the fanned actions float, so pin it to a corner with a container placed there. `CUI_PLACE_BOTTOM` and `CUI_PLACE_BOTTOM_END` open the actions downward; `CUI_PLACE_BOTTOM_START` is the zero value and counts as not set. + +Keyboard: Tab focuses the button, and Enter or Space opens or folds it. While it is open, Tab moves through the actions, Enter or Space chooses the focused one, and Esc folds the dial. ### Theme switcher and toggle +Controls that switch the app between light, dark and the system theme. + ```c static int mode = -1; /* -1 picks up the current theme */ cui_theme_switcher(ui, &mode, true); /* light, dark, system */ -cui_theme_toggle(ui); /* one icon button: sun and moon morph */ +cui_theme_toggle(ui); /* one icon button with a sun or a moon */ ``` Light and dark are applied for you. For "system" (mode 2), read the OS setting (for example with `cui_app_desc.follow_system_theme`) and call `cui_set_theme`. +`cui_theme_switcher` returns true on the frame the choice changes. `mode` is your `int`: 0 is light, 1 is dark and 2 is system. The switcher writes the new choice into it, and a value outside the range, such as the -1 above, is replaced by 0 or 1 to match the theme in use. Pass `false` as the last argument to leave the system choice out. `cui_theme_toggle` needs no variable: it reads the current theme, flips it on a click and returns true on that frame. Both use a fixed internal id, so a second switcher or toggle in the same id scope needs a `cui_id_scope` around it. + Keyboard: in the switcher, Tab, or Left and Right, move between the choices. The toggle takes Enter or Space. ### User menu +An avatar, a name and a detail line that open an account menu with a header. + ```c cui_user_menu(ui, "Maya Okafor", .detail = "maya@fieldwork.studio", .status = "online") { cui_menu_item(ui, "Profile", .icon = CUI_ICON_USER); @@ -96,12 +132,16 @@ cui_user_menu(ui, "Maya Okafor", .detail = "maya@fieldwork.studio", .status = "o } ``` -An avatar, a name and a detail line that open an account menu with a header. Full width for sidebars; `.compact = true` shows just the avatar for headers. Options: `detail`, `status`, `avatar` (a texture), `compact`, `placement`, `width`. +Full width for sidebars; `.compact = true` shows just the avatar for headers. Options: `detail`, `status`, `avatar` (a texture), `compact`, `placement`, `width`. + +The block runs only while the menu is on screen, and each `cui_menu_item` in it returns true on the frame it is chosen, which closes the menu. You keep no state. The menu starts with a header that repeats the avatar, the name and `detail`. The name is also the menu's identity and, without `avatar`, the source of the initials. `status` takes "online", "away" or "busy", and any other word gives a gray dot. The menu is 248 points wide unless `width` is set. It opens above the row, or below a compact avatar; `placement` overrides both, except that `CUI_PLACE_BOTTOM_START` is the zero value and counts as not set. Keyboard: Enter or Space on the avatar opens the menu. Up and Down move through its items, Enter chooses one, and Esc closes it. ### Swipe actions +A row that slides sideways to reveal actions such as archive or delete. + ```c static const cui_swipe_action done[] = { { CUI_ICON_CHECK, "Done", CUI_TONE_SUCCESS } }; static const cui_swipe_action more[] = { { CUI_ICON_ARCHIVE, "Archive", CUI_TONE_INFO }, { CUI_ICON_TRASH_2, "Delete", CUI_TONE_DANGER } }; @@ -112,12 +152,16 @@ int action = cui_swipe_item_end(ui); /* 0 = left action 0, 100 + i = right act Drag a row sideways, or swipe with two fingers on a trackpad. Past half the reveal width it snaps open; past 60% of the row it fires the first action on that side. Click the row or anywhere else to close it. +`cui_swipe_item_end` returns the action on the frame it is chosen: `i` for item `i` of the `left` array, `100 + i` for item `i` of the `right` array, and -1 otherwise. The `left` actions wait behind the left edge and show when the row is dragged to the right. Pass `NULL` and 0 for a side with no actions. The open position is kept under `id`, so give every row its own, such as the id of its record. + Keyboard: none. Swiping is a pointer, touch and trackpad gesture, so give the same actions another route, such as a context menu or buttons. ## Inputs ### Inline edit +Text that turns into a field when clicked, for renaming things in place. + ```c static char title[128] = "Q3 roadmap"; if (cui_inline_edit(ui, "title", title, sizeof title, .font = CUI_FONT_DISPLAY, .size = 26) & CUI_CHANGED) rename(title); @@ -125,8 +169,14 @@ if (cui_inline_edit(ui, "title", title, sizeof title, .font = CUI_FONT_DISPLAY, Looks like text, with a pencil on hover. Click (or Enter when focused) to edit in the same type with the text selected. Enter or clicking away saves, Esc restores the old text. Options: `font`, `size`, `placeholder`, `width`. +Returns `CUI_CHANGED` once, on the frame an edit ends with text that differs from what it started with, and 0 otherwise, including while typing. `title` is your buffer. The field edits it in place as the user types, so save it only when the call returns `CUI_CHANGED`. A cancelled edit puts the old text back, of which the library keeps up to 511 bytes. An empty buffer shows `placeholder`, or "Untitled". Without `width` the text hugs its content and the field grows as you type. + +Keyboard: Tab focuses the text, and Enter or Space starts the edit. Enter saves and Esc cancels. + ### Scrub field +A number you change by dragging sideways on it, as in design and 3D tools. + ```c static float opacity = 80; cui_scrub(ui, "Opacity", &opacity, 0, 100, .suffix = "%"); @@ -136,6 +186,8 @@ Drag sideways anywhere on the field to change the value; hold Shift for steps te ### Money field +A field for an amount of money, with a currency symbol and grouped digits. + ```c static double amount = 1249.5; cui_money_input(ui, "amount", &amount, .label = "Amount", .code = "USD"); /* $ 1,249.50 USD */ @@ -144,21 +196,30 @@ cui_money_input(ui, "salary", &salary, .symbol = "\xe2\x82\xac", .code = "EUR", Shows grouped digits at rest and plain digits while you type, keeps at most `decimals` places (2; -1 for none) and ignores anything that is not a number. Options: `label`, `symbol` ("$"), `code`, `decimals`, `width`, `hint`. +Returns true on a frame the value changes, which while typing is every keystroke that alters the number. `amount` is your `double` in whole units of the currency. The field reads it while not focused, so a value set from code shows at once, and on leaving the field it rounds the value to `decimals` places and writes it back. Typing takes digits and one decimal point, and a comma counts as the point; a minus sign cannot be typed. + Keyboard: it edits like a text field. Left, Right, Home and End move the caret, and Backspace and Delete remove digits. ### Prefix and suffix +Fixed text before or after a field's value, such as `https://` or a unit. + Every text field takes muted text before and after the value: ```c +static char site[128], weight[16]; cui_input(ui, "site", site, sizeof site, .prefix = "https://"); cui_input(ui, "weight", weight, sizeof weight, .suffix = "kg"); ``` +`prefix` and `suffix` are options of `cui_input`, `cui_search` and `cui_textarea`, drawn inside the field's border in the muted color. They are not part of the value: your buffer holds only what the user types, so add the prefix yourself when you use the text, for example to build the URL. The call returns the same flags as any text field. Both strings are read every frame, so they can change with the unit the user picked. A prefix comes before the field's `icon`. The typing area gets the room that is left, so keep both short. `cui_number` has its own `suffix`, and the money field uses the pair for its symbol and currency code. + Keyboard: the field edits like any text field, with Left, Right, Home and End moving the caret. ### Shortcut recorder +A field that records a key combination, for settings where people choose their own shortcuts. + ```c static cui_key_combo palette_key = { CUI_MOD_PRIMARY, CUI_KEY_K }; if (cui_shortcut_recorder(ui, "palette-key", &palette_key)) save_keymap(); @@ -167,10 +228,16 @@ if (cui_shortcut(ui, palette_key.mods, palette_key.key)) open_palette(); Click and press a combination. While recording, the field shows the modifiers you hold with a pulsing dot, and app shortcuts stay quiet. Backspace clears, Esc or Tab cancels. `cui_shortcut_label(ui, combo)` gives the text ("Ctrl Shift K"), `cui_key_name(key)` one key. +`cui_shortcut_recorder` returns true on the frame the combination changes: a new one was recorded, or it was cleared. `palette_key` is your `cui_key_combo`, a `mods` mask of `CUI_MOD_*` bits and a `key`, and the recorder writes both. A `key` of `CUI_KEY_NONE` means no shortcut, and the field then shows `placeholder` ("Click to record"). `cui_shortcut` returns true on the frame the key goes down with exactly those modifiers. `cui_shortcut_label` returns text that lives for the current frame only, so copy it to keep it. + +Keyboard: Tab focuses the field, and Enter or Space starts recording. While recording, Backspace or Delete clears the shortcut, and Esc or Tab cancels. + ## Pickers ### Multi-select +Picks several items from a list and shows them as chips in the field. + ```c static bool chosen[6]; const char *langs[] = { "C", "C++", "Rust", "Zig", "Go", "Swift" }; @@ -179,8 +246,14 @@ cui_multi_select(ui, "langs", langs, 6, chosen, .label = "Languages", .searchabl The field shows chips (with remove buttons) for up to `max_chips` items and "+N" for the rest. The list keeps itself open while you tick items and has a select all / clear action. Up, Down and Space or Enter work in the list. +Returns true on a frame the selection changes, whether from the list, a chip's remove button or the select all action. `chosen` is your array with one `bool` for each item; the picker reads and writes it and keeps only the search text. The search keeps the items that contain the typed text, ignoring the case of ASCII letters. The field is 300 points wide by default and shrinks in a narrower container. + +Keyboard: Enter, Space or Down on the focused field opens the list. In the list, Up and Down move the highlight, Enter or Space ticks the highlighted item, and Esc closes the list. + ### Date range picker +Picks a start and an end date, with presets such as the last 7 days. + ```c static cui_date_range trip; cui_date_range_picker(ui, "trip", &trip, .label = "Dates"); @@ -193,6 +266,8 @@ Keyboard: Enter or Space on the field opens the two months and Esc closes them. ### Time picker +Picks a time of day from scrolling columns of hours and minutes. + ```c static int hour = 9, minute = 30; cui_time_picker(ui, "start", &hour, &minute); @@ -201,10 +276,14 @@ cui_time_picker(ui, "end", &hour2, &minute2, .twelve_hour = true, .minute_step = Hour and minute columns (and AM / PM) that open scrolled to the current value. `hour` is always 0 to 23. -Keyboard: Enter or Space on the field opens the list of times and Esc closes it. Inside, Tab moves through the times, and Enter or Space picks the focused one. +Returns true on the frame a new hour, minute or half of the day is clicked. `hour` and `minute` are your two `int` variables: the picker reads them every frame and writes them while its list is open. `twelve_hour` changes only what is shown ("9:30 AM"), never what is stored. `minute_step` is the gap between the minutes offered and defaults to 5; a minute off the step still shows in the field, with no row marked. The list stays open after a click, so hour and minute can be set in one visit. + +Keyboard: Enter or Space on the field opens the list of times and Esc closes it. The times themselves are picked with the pointer; they take no keyboard focus yet. ### Wheel picker and time dial +Touch-style pickers: drums of options you spin, and a clock face for setting a time. + ```c cui_wheel_picker(ui, "month", month_names, 12, &month, .width = CUI_PX(128), .loop = true); cui_time_dial(ui, "alarm", &hour, &minute, 232); @@ -216,6 +295,8 @@ The time dial sets hours on two rings (1 to 12 outside, 13 to 00 inside), then s ### Ruler and histogram sliders +Two sliders that show context: a ruler that slides under a fixed marker, and a range slider drawn over the distribution of the data. + ```c cui_ruler_slider(ui, "Height", &height, 120, 220, .unit = "cm"); cui_histogram_slider(ui, "Price", bins, 24, &lo, &hi, 0, 240, .format = "$%.0f"); @@ -227,6 +308,8 @@ Keyboard: the ruler takes Tab, and Left, Right, Up and Down move the value a ste ### Knob, fader and level meter +A rotary knob, a vertical fader and a level meter: the controls of audio, synth and mixer panels. + ```c static float cutoff = 2400, pan, gain_db; static const float marks[] = { 6, 0, -6, -12, -24, -48 }; @@ -238,7 +321,7 @@ cui_fader(ui, "Vocals", &gain_db, -48, 6, .unit = "dB", .ticks = marks, .tick_co cui_level_meter(ui, "master", peaks, 2, .horizontal = true, .segmented = true, .scale = true); ``` -The controls of audio, synth and mixer panels. A knob turns by dragging up and down: 200 points cover the whole range, and holding Shift makes it ten times finer from wherever the pointer is. A ring shows the value against a 270 degree track; `bipolar` grows it from the middle for pan or EQ gain, and `log_scale` makes equal turns multiply the value, which is what frequency and time knobs need. The value and the label sit under the knob in a column as wide as the longest value, so a row of knobs never shifts while one turns. +A knob turns by dragging up and down: 200 points cover the whole range, and holding Shift makes it ten times finer from wherever the pointer is. A ring shows the value against a 270 degree track; `bipolar` grows it from the middle for pan or EQ gain, and `log_scale` makes equal turns multiply the value, which is what frequency and time knobs need. The value and the label sit under the knob in a column as wide as the longest value, so a row of knobs never shifts while one turns. A fader is a track with a thumb: press the thumb to drag it from where it is, or press the track and the thumb jumps there first. `ticks` puts a labelled scale beside the track, and `meter` draws level bars right next to it on the fader's own dB scale, so a channel strip is a single call. Faders are vertical unless `horizontal` is set. @@ -248,6 +331,8 @@ The level meter takes linear sample peaks, where 1.0 is 0 dBFS. Bars jump up to ### Emoji picker +A searchable grid of every emoji in nine groups, with the recently used ones first. + ```c static char recent[256]; /* save and restore it to keep recent emoji between runs */ static int tone; /* 0 for none, 1 (light) to 5 (dark) */ @@ -273,6 +358,8 @@ Emoji are drawn from a color emoji font. CUI reads the one the system has: Segoe ### Dropzone +An area that takes files dropped from the desktop, and can open the system file dialog on a click. + ```c int n = cui_dropzone(ui, "attachments", .description = "PNG, JPG or PDF, up to 25 MB", .accept = "png;jpg;pdf"); if (n > 0) for (int i = 0; i < n; i++) attach(cui_dropped_file(ui, i)); @@ -287,6 +374,8 @@ Keyboard: Tab focuses the zone, and Enter or Space acts as a click (a negative c ### Avatar upload +A profile picture you replace by dropping an image on it. + ```c static cui_texture photo; if (cui_avatar_upload(ui, "photo", "Maya Okafor", &photo, 88) < 0) browse_for_photo(); @@ -294,10 +383,14 @@ if (cui_avatar_upload(ui, "photo", "Maya Okafor", &photo, 88) < 0) browse_for_ph Drop an image on the avatar to replace it (the previous texture is destroyed). Hover shows a camera; the pencil badge marks it as editable. +Returns 1 on the frame a dropped image replaced the picture, -1 on a click and 0 otherwise. `photo` is your `cui_texture`. While it is 0 the avatar shows the initials of the name, and after a drop it holds the new texture, which is yours to free with `cui_image_destroy`. Only the first dropped file is used, and only one ending in png, jpg, jpeg, bmp, gif or tga. A click opens nothing by itself: load the file the user picks with `cui_image_load`, destroy the old texture and store the new one. + Keyboard: Tab focuses the avatar, and Enter or Space acts as a click (a negative value), which is where you open your file dialog. ### Signature pad +A box to sign in with the pointer or a finger, with strokes you can read back. + ```c cui_signature_pad(ui, "signature", .height = 180); const cui_vec2 *pts; const int *ends; int strokes; @@ -306,12 +399,16 @@ int n = cui_signature_points(ui, "signature", &pts, &ends, &strokes); /* point Stroke width follows speed, so signatures look inked rather than drawn with a fixed pen. A Clear button appears once something is drawn; `cui_signature_clear` does the same from code. +`cui_signature_pad` returns true on a frame the drawing changes. The strokes live in the library under `id`, not in your variables. `cui_signature_points` returns the number of points, 0 for an empty pad, and fills three outputs, any of which may be `NULL`: the points, measured from the pad's top left corner, the end of each stroke and the number of strokes. Stroke `i` runs from `ends[i - 1]` (0 for the first) up to, but not including, `ends[i]`. Both arrays belong to the library and are good until the drawing changes or the function is called again, so copy what you keep. + Keyboard: signing needs a pointer, a pen or a finger. The Clear button takes Tab, and Enter or Space presses it. ## Disclosure ### Hover card +A preview card that opens when the pointer rests on a link, a button or another component that reacts to the pointer. + ```c cui_link(ui, "@jonas"); cui_hover_card(ui, "grace", .width = 300) { @@ -322,10 +419,14 @@ cui_hover_card(ui, "grace", .width = 300) { Attaches to the previous component. It opens after the pointer rests there for `delay` seconds (0.45) and stays open while the pointer is over the anchor or the card, with a short grace period to cross the gap. Options: `placement`, `width`, `delay`. +The block runs only while the card is on screen, and you keep no state. `id` must differ for every card in the same scope. The previous component is the last one that reacts to the pointer, such as a link, a button or a hoverable card. Plain text, a badge and a bare avatar do not, so a card placed after one of them attaches to whatever interactive component came before. A click on the anchor closes the card. + Keyboard: the card opens on hover and takes no focus, so do not put anything in it that cannot be reached another way. ### Confirm popover +A small question anchored to the button that opened it. + ```c if (cui_button(ui, "Delete branch")) cui_popover_open(ui, "confirm-delete"); if (cui_confirm_popover(ui, "confirm-delete", .title = "Delete feature/grid?", .description = "This cannot be undone.", @@ -333,10 +434,14 @@ if (cui_confirm_popover(ui, "confirm-delete", .title = "Delete feature/grid?", . delete_branch(); ``` -A small question anchored to the button that opened it. Focus moves to the confirm button, so Enter confirms and Esc cancels. +Focus moves to the confirm button, so Enter confirms and Esc cancels. + +Returns true once, on the frame the question is confirmed, and closes itself. The cancel button and a click outside close it too. You keep no state: the popover stays closed until `cui_popover_open(ui, id)` is called with the same `id` in the same id scope. It anchors to the previous component, so call `cui_confirm_popover` on every frame right after the button, not inside the button's `if`. `title` and `description` wrap in a panel 290 points wide. `confirm_label` and `cancel_label` default to "Confirm" and "Cancel", and `danger` gives the confirm button the danger color. A confirm button asks with a second click and no text, and a dialog blocks the whole window. ### Expandable text and card +Long text clamped to a few lines with a Show more link, and a card that opens to show its details. + ```c cui_expandable_text(ui, "about", long_text, .lines = 3); @@ -352,6 +457,8 @@ Keyboard: Tab focuses the "Show more" link or the card's header, and Enter or Sp ### Guided tour +A spotlight on one control at a time, with a card beside it saying what the control does, for onboarding and "what's new". + ```c static cui_tour_step steps[] = { { 0, "Welcome to Fieldnotes", "A quick look at the three things you will use every day." }, @@ -366,12 +473,14 @@ cui_button(ui, "Export"); steps[1].target = cui_last_id(ui); if (step >= 0 && cui_tour(ui, "intro", steps, 3, &step) == CUI_TOUR_DONE) save_tour_seen(); ``` -A spotlight on one control at a time, with a card beside it saying what the control does, for onboarding and "what's new". The window dims around a rounded hole over the step's `target`, and the hole glides from one control to the next. A step without a target puts its card in the middle of a fully dimmed window, which suits a welcome or a closing note. The card shows the step count, the `title` and `body`, progress dots, Back and Next (Done on the last step) and a close button; `placement` picks its side of the target and it flips to stay on screen. +The window dims around a rounded hole over the step's `target`, and the hole glides from one control to the next. A step without a target puts its card in the middle of a fully dimmed window, which suits a welcome or a closing note. The card shows the step count, the `title` and `body`, progress dots, Back and Next (Done on the last step) and a close button; `placement` picks its side of the target and it flips to stay on screen. Call it after the controls it points at, so their positions are known, and keep calling it while `step` is 0 or more. It moves `step` itself and sets it to -1 when the tour ends, and returns what happened that frame: `CUI_TOUR_NEXT`, `CUI_TOUR_BACK`, `CUI_TOUR_DONE` or `CUI_TOUR_SKIPPED`. Right or Enter go to the next step, Left goes back and Esc ends the tour. The spotlighted control still takes the pointer, so people can try it as they read (`block_target` turns that off), while clicks anywhere else in the dark are swallowed. `width` sets the card, `padding` the room around the target, and `next_label`, `back_label`, `done_label` and `count_format` ("%d of %d") the text in another language. ### Table of contents +A list of a page's sections that follows the reader and scrolls to a section when clicked. + ```c static const cui_toc_item toc[] = { { "Install", "install", 0 }, { "With CMake", "cmake", 1 } }; cui_row(ui) { @@ -385,12 +494,16 @@ cui_row(ui) { The rail fills as you read, and a marker glides to the section in view. Clicking an entry scrolls there smoothly. `level` indents entries. +`cui_toc` returns the index of the section in view, or of the entry that was just clicked. The section in view is the last one whose anchor has passed a line 30% of the way down the scroll area. You own the `cui_toc_item` array: a title, the anchor's name and a level from 0 to 4. `cui_toc_anchor` puts an invisible marker at that point of the scroll area; call it just before each heading, with the same string as in the item. Anchor names are matched across the whole window whatever the id scope, so keep them unique. + Keyboard: Tab moves through the entries, and Enter or Space jumps to the focused section. ## Feedback ### Banner and countdown +A full-width announcement that can be dismissed, and a countdown to a moment in time. + ```c static bool show_update = true; if (cui_banner(ui, "Version 1.1 is ready to install.", &show_update, .action = "Restart", .dismissible = true)) restart(); @@ -400,10 +513,16 @@ cui_countdown(ui, "sale", sale_end - now, .compact = true, .hide_days = true); The banner spans its container, tinted with its `tone` (the accent by default), and collapses smoothly when dismissed. The countdown shows days, hours, minutes and seconds as tiles whose digits roll; it schedules its own redraw each second. +`cui_banner` returns true on the frame its `action` link is clicked. `show_update` is your `bool`: the dismiss button sets it to false, and setting it back to true shows the banner again. With `NULL` the banner is always shown and has no dismiss button. The banner keeps its state by its text, so a text that changes needs a fixed key: `"3 updates ready###updates"`. + +`cui_countdown` returns nothing and keeps no clock: pass the seconds that are left on every frame, usually a deadline minus `cui_time(ui)`. A negative value shows as zero. `hide_days` folds the days into the hours, and `compact` draws small tiles with colons and no labels. + Keyboard: the banner's action and dismiss buttons take Tab, and Enter or Space presses the focused one. The countdown only displays. ### Onboarding checklist +A card with a progress ring and steps; the first unfinished step opens to show its description and action button. + ```c static cui_check_step steps[] = { { "Create your workspace", "Pick a name and invite your team.", "Create", true }, @@ -413,24 +532,37 @@ int act = cui_checklist(ui, "onboarding", steps, 2, .title = "Set up your worksp if (act >= 0) run_step(act); ``` -A card with a progress ring and steps; the first unfinished step opens to show its description and action button. Clicking a circle toggles `done`. +Clicking a circle toggles `done`. -Keyboard: Tab moves through the steps and their buttons, and Enter or Space opens the focused step or presses its button. +Returns the index of the step whose action button was clicked this frame, or -1. You own the `cui_check_step` array, and the library writes one field in it: a click on a step's circle flips that step's `done`. The action button does not, so set `done` yourself when the step's work has finished. Each step is a title, a description, the label of its action button and `done`; a `NULL` description or action is left out. Only the first step that is not done is open, and only its button can be pressed. The header shows `title` ("Get started" when not set) and `description`, which defaults to a count such as "1 of 2 complete". The card fills the width of its container. + +Keyboard: Tab moves through the steps' circles and the open step's button. Enter or Space on a circle marks that step done or not done, and on the button presses it. The open step is always the first one not done. ### Undo toast +A toast with an Undo action and a visible timer, for actions that can be taken back. + ```c -cui_toast(ui, "3 conversations archived", .action = "Undo", .show_timer = true); +static int undo_toast; /* the handle; 0 matches no toast */ +if (cui_button(ui, "Archive")) { + archive(); + undo_toast = cui_toast(ui, "3 conversations archived", .action = "Undo", .show_timer = true); +} +if (cui_toast_action_clicked(ui, undo_toast)) unarchive(); ``` `show_timer` adds a draining line along the bottom of the toast, so people can see how long Undo stays (6 seconds by default; hovering the stack pauses it). +The undo toast is `cui_toast` with two options. Call `cui_toast` once, on the frame the action happens, not on every frame: each call queues a new toast. It returns a handle, and handles start at 1. Keep the handle in a variable that outlives the frame and ask `cui_toast_action_clicked(ui, handle)` on the frames that follow. It returns true once, when the action button is pressed, which also dismisses the toast. The toast copies its strings, so they may be temporary. `duration` is in seconds, and a negative value keeps the toast until it is dismissed. + Keyboard: the Undo button takes Tab, and Enter or Space presses it. ## Data ### Data grid and filter bar +A grid for very large data with sticky headers, resizable and sortable columns and editable cells, and a bar of filters to go with it. + ```c static const cui_grid_column cols[] = { { "Name", 210, CUI_TEXT_LEFT, true }, { "Team", 120, CUI_TEXT_LEFT, true }, { "Commits", 100, CUI_TEXT_RIGHT, true }, @@ -458,6 +590,8 @@ The filter bar keeps one bit mask per field in `selected`; each active field sho ### Tree table and path bar +A tree with columns, as in a file explorer or a debugger's variables, and a path bar for moving up through folders. + ```c static cui_tree_node nodes[MAX_FILES]; /* yours: parent, first child, next sibling, flags */ static const cui_grid_column cols[] = { @@ -501,8 +635,12 @@ When the table is narrower than its columns, columns with a `priority` hide, the The path bar is a breadcrumb for file and scene paths, styled like `cui_breadcrumb`. Every segment except the last is a button that reports `clicked`; the last one is where you are. When the bar is too narrow, middle segments collapse into a "..." menu, starting after the first. If there is still not enough room, the first goes too, and the current segment is cut short last. With `.menus`, the chevron after a segment opens a menu that you fill between `cui_path_bar_menu_begin` and `cui_path_bar_menu_end` with that segment's children, which are the siblings of the next segment. To type a path, click the empty part of the bar or the current segment, or press Ctrl+L when no text field has the keyboard. The bar becomes a text field holding the whole path (`.text`, or the segments joined by "/"), all selected. Enter reports `submitted`; Esc or clicking away puts the segments back. `.no_edit` turns typing off. +Keyboard: Tab stops on each segment and on "...", and Enter or Space presses the focused one. In the "..." menu, Up and Down move the highlight, Enter chooses the segment and Esc closes the menu. + ### File browser and picker +A folder view with sorting and navigation, and the open and save dialogs built from it. + ```c static char folder[1024] = "."; cui_file_browser_result r = cui_file_browser(ui, "files", folder, sizeof folder, .filter = "*.c;*.h"); @@ -524,26 +662,36 @@ A folder is read when you enter it or reload, not every frame, and only the rows ### Code block +Read-only source code with syntax highlighting, optional line numbers and a copy button. + ```c cui_code_block(ui, "counter", source, .lang = "c", .title = "counter.c", .line_numbers = true, .highlight_from = 7); ``` Highlighting for C, C++, JavaScript, TypeScript, Python, Rust, Go, JSON and shell, in colors that follow the theme. Long lines scroll sideways, `max_height` makes the block scroll vertically, and the copy button morphs into a check after copying. +Returns nothing. `source` is your string, read on every frame, so it can change while it is shown. `lang` takes "c", "cpp", "js", "ts", "python", "rust", "go", "json" or "shell", and "text" for no colors. The title bar shows `title`, or the language when there is no title, and holds the copy button: a block with neither, or with `no_header`, has no copy button. `highlight_from` and `highlight_to` are line numbers from 1, and `highlight_from` alone marks one line. To let people change the code, use the code editor. + Keyboard: the copy button takes Tab, and Enter or Space presses it. The code itself takes no focus. ### JSON viewer +JSON shown as a tree that folds, with a color for each type of value. + ```c if (!cui_json_view(ui, "response", body, .expand_depth = 1)) { /* not valid JSON: the view shows where it broke */ } ``` -A collapsible tree with typed colors. Collapsed objects and arrays show their size; click a chevron to fold or unfold. +Collapsed objects and arrays show their size; click an object's or an array's row to fold or unfold it. + +Returns true when the text is valid JSON. When it is not, the call returns false and the view shows the reason with the line and column where parsing stopped. `body` is your string. It is parsed again on every frame and nothing of it is kept. The library remembers which objects and arrays are folded, under `id` and by their position in the document, so a document with a different shape should get a different `id`. `expand_depth` is the number of levels open at first (2), and applies only the first time an `id` shows valid JSON. A document of more than 4,096 values or 64 levels is reported as invalid. Keyboard: none yet. Folding and unfolding is done with the pointer. ### Markdown view +Renders markdown text as native content: headings, lists, tables, code, task lists and links. + ```c static char notes[4096] = "## Release 2.4\n\nRun `tern migrate` once. See the [upgrade guide](https://tern.dev/docs/upgrade).\n\n- [ ] Tag the release\n"; static char status[160]; @@ -564,6 +712,8 @@ Links are never opened for you. The result reports the URL of a link clicked or ### Code editor +An editable code field with syntax highlighting, for shader editors, script consoles and config files. + ```c static char src[64 * 1024] = "void main() {\n}\n"; /* yours: edited in place, NUL terminated */ @@ -589,6 +739,8 @@ Mouse: click places the caret, Shift+click extends, drag selects (the view scrol ### Diff viewer +Compares two versions of a text line by line. + ```c static int mode = 0, change = 0; /* 0 split, 1 inline; the selected change */ static const char *const modes[] = { "Split", "Inline" }; @@ -601,7 +753,7 @@ if (cui_icon_button(ui, CUI_ICON_ARROW_DOWN, .tooltip = "Next change", .shortcut cui_textf(ui, "+%d -%d", r.added, r.removed); ``` -Compares two versions of a text line by line. Split mode puts the old text on the left and the new on the right, rows aligned with a quiet filler opposite added or removed lines; inline mode shows removed lines above the lines that replaced them. Below `split_min_width` (560 points by default) split shows inline, so the view reads on a phone, and `r.mode` says which mode is shown. Each side has its line numbers and a + or - sign, added lines are tinted with the success color and removed lines with the danger color, and the words that changed inside a replaced line get a stronger tint. With `.language` the code keeps its syntax colors. Lines longer than the view scroll sideways, both sides together. +Split mode puts the old text on the left and the new on the right, rows aligned with a quiet filler opposite added or removed lines; inline mode shows removed lines above the lines that replaced them. Below `split_min_width` (560 points by default) split shows inline, so the view reads on a phone, and `r.mode` says which mode is shown. Each side has its line numbers and a + or - sign, added lines are tinted with the success color and removed lines with the danger color, and the words that changed inside a replaced line get a stronger tint. With `.language` the code keeps its syntax colors. Lines longer than the view scroll sideways, both sides together. Unchanged stretches keep `.context` lines (3) next to each change and fold the rest into a "42 unchanged lines" row that opens on a click (`.no_fold` shows everything). With the view focused, N or Alt+Down goes to the next change and P or Alt+Up to the previous one, E opens every fold and Shift+E folds them again, arrows and Page Up/Down scroll, and clicking a change selects it. `.current` is read and written, so buttons only have to change the number; the result also has the `+added -removed` summary, the change count and whether the texts were diffed again this frame. @@ -613,6 +765,8 @@ Panels for editors and developer tools. ### Property inspector +A panel of named properties in folding groups, each edited with the control that fits its type. + ```c static bool transform_open = true, material_open = true; static const char *const shaders[] = { "Standard PBR", "Unlit", "Toon", "Glass" }; @@ -633,12 +787,14 @@ if (cui_inspector_begin(ui, "props")) { } ``` -A panel of named properties in folding groups, each edited with the control that fits its type. Each row is a label on the left and an editor on the right, built from the library's own fields: number rows (`cui_prop_float`, `cui_prop_int`) are scrub fields, so dragging the field or its label sideways changes the value (Shift for fine steps), a click types a number and the arrow keys step it. `cui_prop_vec2`, `cui_prop_vec3` and `cui_prop_vec4` put compact X, Y, Z and W fields side by side, their letters tinted with the theme's tones. Text rows are text fields, bool rows switches (`.checkbox = true` for a checkbox), enum rows selects and color rows open the color picker. Every row returns true when its value changed. With `.min` and `.max` a number shows where it sits in its range; without them it is unbounded. The label column takes 38% of the width (or `.label_width`); drag the line between the columns to resize it. Below 380 points the labels move above their editors. +Each row is a label on the left and an editor on the right, built from the library's own fields: number rows (`cui_prop_float`, `cui_prop_int`) are scrub fields, so dragging the field or its label sideways changes the value (Shift for fine steps), a click types a number and the arrow keys step it. `cui_prop_vec2`, `cui_prop_vec3` and `cui_prop_vec4` put compact X, Y, Z and W fields side by side, their letters tinted with the theme's tones. Text rows are text fields, bool rows switches (`.checkbox = true` for a checkbox), enum rows selects and color rows open the color picker. Every row returns true when its value changed. With `.min` and `.max` a number shows where it sits in its range; without them it is unbounded. The label column takes 38% of the width (or `.label_width`); drag the line between the columns to resize it. Below 380 points the labels move above their editors. Groups fold with a chevron and open and close with the disclosure spring; their rows are built only while open or closing, and groups end at the next group or at `cui_inspector_end`. Tab moves through the group headers and every editor in order; Enter, Space or the left and right arrows fold a focused group. ### Log console +A log view for many thousands of lines, with level filters, search, follow and copy. + ```c static cui_log_line lines[8192]; static char text[512 * 1024]; @@ -651,12 +807,14 @@ cui_log_append(&log, CUI_LOG_WARN, "Physics step took %.1f ms (budget %.1f ms)", cui_log_view(ui, "log", &log, .height = 320, .timestamps = true); ``` -A log view for many thousands of lines, with level filters, search, follow and copy. The app owns the storage: an array of line records and a byte buffer for the text, used as a ring. Appending never allocates; when either fills up the oldest lines are dropped, and a line longer than the whole text buffer is cut to fit. The view builds only the rows in sight, so a buffer of many thousands of lines scrolls as fast as a short one, and it keeps a small index of the lines that pass its filter (at most one entry per line slot, freed with the context). +The app owns the storage: an array of line records and a byte buffer for the text, used as a ring. Appending never allocates; when either fills up the oldest lines are dropped, and a line longer than the whole text buffer is cut to fit. The view builds only the rows in sight, so a buffer of many thousands of lines scrolls as fast as a short one, and it keeps a small index of the lines that pass its filter (at most one entry per line slot, freed with the context). Each line shows its level as a quiet tag (warnings and errors also tint their row), an optional `HH:MM:SS.mmm` time and the text in the code font. The toolbar filters by level (warning and error counts appear on their toggles, which shorten to initials when the console is narrow), searches as you type (matches are marked and the field counts the lines found), and Follow keeps the newest line in view: scrolling up turns it off, coming back to the bottom turns it on. Copy takes the selected lines or, with no selection, every line shown; Clear empties the buffer. Click a line to select it, drag or Shift+click for a range. With the list focused, the arrows move through lines, Shift+arrows extend the selection, Page Up, Page Down and Home jump, End returns to following, Ctrl+A selects all, Ctrl+C copies and Esc clears the selection. ### Terminal +Output over an input line, for build logs, a game console or a REPL. + ```c static char text[256 * 1024]; static cui_terminal_line lines[4096]; @@ -671,7 +829,7 @@ if (r.command) run_command(r.command); /* Enter: the line if (r.interrupt) stop_child(); /* Ctrl+C with nothing selected */ ``` -Output over an input line, for build logs, a game console or a REPL. Like the log console, the app owns the storage, a byte ring and an array of line records, and nothing is allocated while writing: when either fills up, the oldest lines go. +Like the log console, the app owns the storage, a byte ring and an array of line records, and nothing is allocated while writing: when either fills up, the oldest lines go. Output is read as it is written. `\n` starts a line, `\r` makes the next text start the line over (so progress bars redraw in place), tabs go to the next stop of 8, and backspace takes the last character. Color sequences (`ESC [ … m`: the 16 colors, 256 colors and 24-bit color, bold, dim, underline and inverse) are kept and drawn. `ESC [ K` after `\r` clears the line, `ESC [ 2 J` clears the screen, and other sequences (cursor moves, titles, links) are dropped, so the output of most command line tools reads cleanly. A sequence split across two writes still works. The 16 colors are tuned separately for light and dark mode, so every one of them reads on the panel. The block characters `▀ ▄ █ ▌ ▐ ░ ▒ ▓` and the eighth blocks are drawn as cells rather than taken from the font, so bars join without gaps. @@ -681,6 +839,8 @@ Drag over the output to select, and press Ctrl+C (Cmd+C on macOS) to copy it wit ### Hex viewer +The bytes of a file or of memory in hex and ASCII, for binary tools, emulators and debuggers. + ```c static cui_hex_selection sel; /* yours: read it, or set it to select from code */ static const cui_hex_range marks[] = { @@ -704,6 +864,8 @@ Hovering a byte marks it in both columns and lights its column in the header. Hi The view is read only unless you pass `.edit`, a writable buffer of the same size (usually the same memory as the data), which it shows instead. Typing hex digits then overwrites the byte at the cursor, high digit first (a block over the low digit shows the byte is half typed), and moves to the next byte; the result reports the bytes written that frame. Edits never change the size, and the ASCII column is not typed into. ### Flame graph +A profiler timeline: time runs left to right and call depth top to bottom, so each span sits in the row of its depth, under its parent. + ```c static cui_flame_span spans[MAX_SPANS]; /* from your profiler: name, start, end (seconds), depth */ static int span_count; @@ -717,13 +879,15 @@ if (r.selection_changed && selected >= 0) show_details(&spans[selected]); /* name, duration, children... */ ``` -A profiler timeline: time runs left to right and call depth top to bottom, so each span sits in the row of its depth, under its parent. A time ruler along the top picks its unit from the zoom (s, ms, µs or ns) and thins its ticks on a narrow panel; faint lines carry the ticks down through the rows. Spans take their color from the series palette, hashed from the name (or from `color_key` when you set one) so a function keeps its color across frames; the selected span gets the accent outline. Labels show inside spans that have room and are cut with an ellipsis, staying in the visible part of a span that runs off the edge. Spans thinner than a point are merged with their neighbours into a quiet gray run, so a capture zoomed out never turns into noise. +A time ruler along the top picks its unit from the zoom (s, ms, µs or ns) and thins its ticks on a narrow panel; faint lines carry the ticks down through the rows. Spans take their color from the series palette, hashed from the name (or from `color_key` when you set one) so a function keeps its color across frames; the selected span gets the accent outline. Labels show inside spans that have room and are cut with an ellipsis, staying in the visible part of a span that runs off the edge. Spans thinner than a point are merged with their neighbours into a quiet gray run, so a capture zoomed out never turns into noise. The wheel zooms around the pointer, Shift+wheel or a sideways scroll pans, and dragging pans sideways and, for stacks deeper than the panel, up and down. Click a span to select it (empty space clears the selection); double-click it to zoom until it fills the view, or double-click empty space to fit everything. Hovering a span shows its name, its duration and its share of its parent (or of the view, for the top row). With the graph focused, Left and Right move to the previous or next span in the row, Up to the parent and Down to the first child, and the view follows the selection; Shift+Left and Right pan, + and - zoom, Enter or Space zooms to the selection, Home or F fits everything, and Esc fits everything or, when everything is already in view, clears the selection. Zooming to a span and fitting animate, and snap with reduced motion. You own the data: the spans need to be valid only during the call, and the graph writes the view and the selection you pass. Spans must be sorted by depth and then start (`cui_flame_sort` does it), and spans of one depth must not overlap, which holds for any call tree since a child lies within its parent. With that order every lookup is a binary search: the graph visits only the rows and spans in view and skips through dense regions a pixel at a time, so a capture of 100,000 spans pans and zooms as smoothly as a small one. `cui_flame_span_rect` returns where a span was drawn, to anchor a popover or a menu on it. An aggregated flame graph (identical stacks merged and sorted by total time) is not included; build the merged tree yourself and pass it as spans if you need one. ### Curve editor +Keyframes on a plot, for easing, animation timing and response curves. + ```c static cui_curve_key ease[16] = { { 0.0f, 0.0f }, /* zeroed fields: CUI_CURVE_SMOOTH */ @@ -742,7 +906,7 @@ if (r.removed >= 0) remove_track_data(r.removed); float y = cui_curve_eval(ease, count, t); ``` -Keyframes on a plot, for easing, animation timing and response curves. You own the array of `cui_curve_key` (kept sorted by x) and its capacity; the editor edits it in place, moving keys, setting handles and modes, inserting and removing keys, and the result says what changed this frame (`added` and `removed` are indices, or -1) so data you keep beside each key can follow. Pass `.selected` to keep the selection yourself. The plot shows the range you give (`x_min` to `x_max`, `y_min` to `y_max`, 0 to 1 by default) on a quiet grid with labels that thin out on a narrow plot; leave room above or below the keys for curves that overshoot. +You own the array of `cui_curve_key` (kept sorted by x) and its capacity; the editor edits it in place, moving keys, setting handles and modes, inserting and removing keys, and the result says what changed this frame (`added` and `removed` are indices, or -1) so data you keep beside each key can follow. Pass `.selected` to keep the selection yourself. The plot shows the range you give (`x_min` to `x_max`, `y_min` to `y_max`, 0 to 1 by default) on a quiet grid with labels that thin out on a narrow plot; leave room above or below the keys for curves that overshoot. A key's mode shapes the segment that leaves it. `CUI_CURVE_SMOOTH` computes the tangents (they never overshoot the keys, and they are flat at the ends and at peaks), `CUI_CURVE_FREE` uses the key's own handles (relative to the key in curve units, `in_dx` at most 0 and `out_dx` at least 0, shortened to the neighbouring key so the curve never folds back), `CUI_CURVE_LINEAR` runs straight to the next key and `CUI_CURVE_STEP` holds its value until the next key. Before the first key the curve keeps the first value, after the last key the last value. `cui_curve_eval` is the math the editor draws with, so the value an app reads at runtime is the one on screen. @@ -750,6 +914,8 @@ Drag a key to move it: x stays between its neighbours and both coordinates stay ### Gradient editor +A color ramp with its stops underneath, over a checkerboard so transparent stops read as transparent. + ```c static cui_gradient_stop flame[12] = { { 0.00f, { 0xFF, 0xF1, 0xC1, 0xFF } }, { 0.24f, { 0xFF, 0xB1, 0x4A, 0xFF } }, @@ -762,12 +928,14 @@ if (cui_gradient_editor(ui, "flame", flame, &count, 12, .selected = &selected).c cui_color c = cui_gradient_eval(flame, count, particle_age / lifetime); ``` -A color ramp with its stops underneath, over a checkerboard so transparent stops read as transparent. You own the array of `cui_gradient_stop` and its capacity; the editor edits it in place and keeps it sorted by position, and the result reports `added`, `removed` and `selected` like the curve editor. `cui_gradient_eval` interpolates each channel, alpha included, between the stops on either side of t, exactly as the ramp is drawn; the end colors continue past the first and last stop. +You own the array of `cui_gradient_stop` and its capacity; the editor edits it in place and keeps it sorted by position, and the result reports `added`, `removed` and `selected` like the curve editor. `cui_gradient_eval` interpolates each channel, alpha included, between the stops on either side of t, exactly as the ramp is drawn; the end colors continue past the first and last stop. Drag a stop to move it; it may pass its neighbours, and the selection follows it. Click the ramp or the empty track to add a stop with the color found there (keep the button down to drag it straight away). Drag a stop well off the ramp, or press Delete, to remove it; there are never fewer than two. Double click a stop, or press Enter on a focused one, to open the color picker for it. The row under the ramp shows the selected stop's color (the same color picker, which leaves opacity alone), its location and its opacity as scrub fields, and a button to remove it; on a narrow editor the fields stack. Stops are focusable: Tab moves through them, Left and Right nudge by 1% (Shift for 0.1%). ### Timeline editor +A dope sheet for animation, video and audio tools: tracks, a time ruler and keys you can move. + ```c static cui_curve_key rot[32] = { { 0, 0 }, { 1.25f, -8 }, { 1.75f, 12 }, { 2.25f, 0 } }; /* x: seconds, y: value */ static bool rot_sel[32]; /* the selection, beside the keys */ @@ -812,6 +980,8 @@ Panels for the tools developers build: an HTTP client, an IDE, a CI dashboard, a ### Key-value editor +Rows of key and value fields for HTTP headers, query parameters or environment variables. + ```c static cui_kv_pair headers[16] = { { "Accept", "application/json", true } }; static int count = 1; @@ -820,35 +990,49 @@ if (cui_kv_editor(ui, "headers", headers, &count, 16)) rebuild_request(); ``` -Rows of key and value fields for HTTP headers, query parameters or environment variables. You own the array, and it is edited in place. The checkbox turns a pair on or off, typing in the empty row at the end adds a pair, and the x removes one. The lock marks a value as secret: it shows as dots, and the field's eye reveals it. A key used twice by enabled pairs, or one with a space in it, is marked under its field. Below 480 points each key sits above its value. Options: `key_placeholder`, `value_placeholder`, `no_toggles`, `no_secrets`, `read_only`, `width`. +You own the array, and it is edited in place. The checkbox turns a pair on or off, typing in the empty row at the end adds a pair, and the x removes one. The lock marks a value as secret: it shows as dots, and the field's eye reveals it. A key used twice by enabled pairs, or one with a space in it, is marked under its field. Below 480 points each key sits above its value. Options: `key_placeholder`, `value_placeholder`, `no_toggles`, `no_secrets`, `read_only`, `width`. Keyboard: Tab moves through each row's checkbox, key, value, lock and remove button. The fields edit like any text field, and Enter or Space presses the focused checkbox or button. ### Problems panel +Compiler and linter output grouped by file, with each file's count. + ```c cui_problems_result r = cui_problems(ui, "problems", diags, diag_count, .height = 300); if (r.activated >= 0) open_file_at(diags[r.activated].file, diags[r.activated].line, diags[r.activated].column); ``` -Compiler and linter output grouped by file, with each file's count. Toggles above it filter by severity and show the count of each, and the field filters by text in the message, file, source or code. A file's header folds its group. Up and Down move the selection, Left and Right fold and unfold (swapped in a right-to-left interface), and Enter or a double click reports `activated`. A hover shows the whole message and its position. Below 520 points the source and code are left out. Twenty thousand diagnostics take about a millisecond a frame. +Toggles above it filter by severity and show the count of each, and the field filters by text in the message, file, source or code. A file's header folds its group. Up and Down move the selection, Left and Right fold and unfold (swapped in a right-to-left interface), and Enter or a double click reports `activated`. A hover shows the whole message and its position. Below 520 points the source and code are left out. Twenty thousand diagnostics take about a millisecond a frame. ### Pipeline +A CI or CD run: each stage is a column of its jobs with their status and duration, and connectors run between the stages. + ```c static const char *stages[] = { "Build", "Test", "Deploy" }; +static const cui_pipeline_job jobs[] = { /* name, stage, status, seconds (-1: not run), allow_failure */ + { "linux-x64", 0, CUI_JOB_PASSED, 142 }, + { "unit", 1, CUI_JOB_RUNNING, 95 }, + { "lint", 1, CUI_JOB_FAILED, 12, true }, + { "production", 2, CUI_JOB_PENDING, -1 }, +}; static int selected = -1; -cui_pipeline_result r = cui_pipeline(ui, "run", stages, 3, jobs, job_count, .selected = &selected); +cui_pipeline_result r = cui_pipeline(ui, "run", stages, 3, jobs, 4, .selected = &selected); if (r.clicked >= 0) show_log(&jobs[r.clicked]); ``` -A CI or CD run: each stage is a column of its jobs with their status and duration, and connectors run between the stages. A stage's header sums up its jobs: failed beats running, then pending; a failure with `allow_failure` shows a warning and does not fail the stage. Running jobs show a spinner. Below 560 points the stages stack top to bottom. +A stage's header sums up its jobs: failed beats running, then pending; a failure with `allow_failure` shows a warning and does not fail the stage. Running jobs show a spinner. Below 560 points the stages stack top to bottom. + +Returns a `cui_pipeline_result`: `clicked` is the job clicked this frame and `hovered` the job under the pointer, both indices into `jobs`, or -1. `jobs` is your flat array and is only read; each job names its stage by an index into `stages`. `duration` is in seconds, and a negative value means the job has not run and shows no time, so use -1 there: 0 shows as a time. `selected` points at your `int`: the pipeline marks that job and writes the index on a click. Keyboard: Tab moves through the jobs, and Enter or Space clicks the focused one. ### Query builder +A filter built from conditions joined by all or any, in groups that nest. + ```c static cui_query_node nodes[32]; /* node 0, the outer group, is made for you */ static int count; @@ -864,6 +1048,8 @@ Keyboard: Tab moves through the controls of each rule. Left and Right switch bet ### Schedule picker +A cron schedule edited through plain choices instead of the expression, with the next runs listed. + ```c static char cron[64] = "30 9 * * 1-5"; cui_schedule_result r = cui_schedule_picker(ui, "backup", cron, sizeof cron); @@ -878,6 +1064,8 @@ Keyboard: Tab moves through the controls. Left and Right change the mode, Up and ### Keymap +A keyboard with the shortcuts on it. + ```c static int mods = CUI_MOD_PRIMARY; cui_keymap_result r = cui_keymap(ui, "keys", bindings, binding_count, @@ -885,12 +1073,14 @@ cui_keymap_result r = cui_keymap(ui, "keys", bindings, binding_count, if (r.clicked) start_rebinding(r.clicked, mods); ``` -A keyboard with the shortcuts on it. Each bound key shows its action, and a bar in its category's color. Tabs above it pick the modifiers, and each tab shows how many shortcuts use them. A key bound twice is outlined in red, and the count of conflicts is shown and returned. A hover lists every binding on the key, and a click returns it. Labels shrink to fit a key and then are cut short. The navigation cluster drops out below 600 points, and the keyboard scales to the width it gets. `no_function_row` leaves out the function keys. +Each bound key shows its action, and a bar in its category's color. Tabs above it pick the modifiers, and each tab shows how many shortcuts use them. A key bound twice is outlined in red, and the count of conflicts is shown and returned. A hover lists every binding on the key, and a click returns it. Labels shrink to fit a key and then are cut short. The navigation cluster drops out below 600 points, and the keyboard scales to the width it gets. `no_function_row` leaves out the function keys. Keyboard: Tab focuses the modifier tabs, and Left and Right move between them. The keys of the drawn keyboard are clicked with the pointer. ### Commit graph +Version history with its branch lanes. + ```c /* newest first; each commit names its parents by row */ static const cui_commit log[] = { @@ -901,29 +1091,35 @@ static const cui_commit log[] = { cui_commit_graph(ui, "history", log, count, .selected = &selected, .height = 320); ``` -Version history with its branch lanes. Each commit's dot sits in its lane, curves join branches and merges, and a merge commit is drawn as a ring. Refs show as badges: local branches green, remote branches gray, and tags violet. The lanes are worked out once when the history changes, so fifty thousand commits take a few milliseconds to lay out and then cost nothing more. Up and Down move the selection, and Enter or a double click reports `activated`. Below 560 points the author and date are left out. +Each commit's dot sits in its lane, curves join branches and merges, and a merge commit is drawn as a ring. Refs show as badges: local branches green, remote branches gray, and tags violet. The lanes are worked out once when the history changes, so fifty thousand commits take a few milliseconds to lay out and then cost nothing more. Up and Down move the selection, and Enter or a double click reports `activated`. Below 560 points the author and date are left out. ### Dependency graph +Nodes and directed edges laid out in layers, for build targets, packages, services or call graphs. + ```c static const cui_graph_node nodes[] = { { "app", "executable", CUI_TONE_VIOLET }, { "ui", "libcui.a" }, { "zlib" } }; static const cui_graph_edge edges[] = { { 0, 1 }, { 1, 2 } }; cui_graph_view(ui, "deps", nodes, 3, edges, 2, .selected = &selected, .height = 340); ``` -Nodes and directed edges laid out in layers, for build targets, packages, services or call graphs. Each edge points into a later layer. A cycle is broken for the layout but still drawn. An edge that skips layers is routed between the nodes, not through them, and the order within each layer is chosen to cross fewer edges. Hovering or selecting a node lights up what it depends on and what depends on it, and dims the rest. The wheel zooms around the pointer, dragging pans, a click selects, and a double click activates. With the graph focused, the arrows move along edges or to the neighbour in the same layer, + and - zoom, F fits, and Esc clears. `top_down` stacks the layers instead of placing them side by side. The layout runs once when the graph changes: 400 nodes with 900 edges take about 20 ms. +Each edge points into a later layer. A cycle is broken for the layout but still drawn. An edge that skips layers is routed between the nodes, not through them, and the order within each layer is chosen to cross fewer edges. Hovering or selecting a node lights up what it depends on and what depends on it, and dims the rest. The wheel zooms around the pointer, dragging pans, a click selects, and a double click activates. With the graph focused, the arrows move along edges or to the neighbour in the same layer, + and - zoom, F fits, and Esc clears. `top_down` stacks the layers instead of placing them side by side. The layout runs once when the graph changes: 400 nodes with 900 edges take about 20 ms. ### Network waterfall +HTTP requests as a table with a timing bar each. + ```c cui_waterfall_result r = cui_waterfall(ui, "network", requests, request_count, .selected = &selected, .dom_loaded = 0.395, .loaded = 0.68); ``` -HTTP requests as a table with a timing bar each. The bar shows its phases in order: a thin line while queued, then DNS, connect, TLS, waiting for the first byte, and download, all on one time scale. Lines mark DOMContentLoaded and load. The name column shows the last part of the path, and failed responses are shown in red. A hover on a bar breaks its time down, and a summary with a legend sits under the table. Up, Down, Home and End move the selection, Enter reports `activated`, and Esc clears. Below 600 points the method, type and size columns are left out. Thirty thousand requests take under two milliseconds a frame. +The bar shows its phases in order: a thin line while queued, then DNS, connect, TLS, waiting for the first byte, and download, all on one time scale. Lines mark DOMContentLoaded and load. The name column shows the last part of the path, and failed responses are shown in red. A hover on a bar breaks its time down, and a summary with a legend sits under the table. Up, Down, Home and End move the selection, Enter reports `activated`, and Esc clears. Below 600 points the method, type and size columns are left out. Thirty thousand requests take under two milliseconds a frame. ### Trace viewer +A tracing timeline in the manner of a performance panel. + ```c static cui_trace_track tracks[] = { { "Main thread" }, { "Render" }, { "Worker 1" } }; static cui_trace_view view; /* zeroed: fits everything */ @@ -933,10 +1129,12 @@ cui_trace_view(ui, "trace", tracks, 3, spans, span_count, &view, &selected, .markers = markers, .marker_count = marker_count); ``` -A tracing timeline in the manner of a performance panel. Each thread, process or service has a lane of nested spans, drawn like the flame graph and sharing its colors and ruler. Markers (vsync, a GC pause, a deploy) run across every lane, with their names in a strip under the ruler. The wheel zooms around the pointer, Shift+wheel pans, and over the lane names the wheel scrolls the lanes. Dragging pans, a click selects, and a double click zooms to a span. Shift+drag measures a range, which `view.mark_start` and `mark_end` hold and the ruler labels with its length. A click on a lane's name folds it to its top row, and `collapsed` keeps that in your track array. With the viewer focused, Left and Right step along the row, Up goes to the parent and Down to the first child. + and - zoom, Enter zooms to the selection, F fits, and Esc clears the measurement and then the selection. Only the rows and spans in view are visited, and spans thinner than a point merge into runs, so 200,000 spans take under a millisecond a frame. Below 560 points the lane names get a narrower column. +Each thread, process or service has a lane of nested spans, drawn like the flame graph and sharing its colors and ruler. Markers (vsync, a GC pause, a deploy) run across every lane, with their names in a strip under the ruler. The wheel zooms around the pointer, Shift+wheel pans, and over the lane names the wheel scrolls the lanes. Dragging pans, a click selects, and a double click zooms to a span. Shift+drag measures a range, which `view.mark_start` and `mark_end` hold and the ruler labels with its length. A click on a lane's name folds it to its top row, and `collapsed` keeps that in your track array. With the viewer focused, Left and Right step along the row, Up goes to the parent and Down to the first child. + and - zoom, Enter zooms to the selection, F fits, and Esc clears the measurement and then the selection. Only the rows and spans in view are visited, and spans thinner than a point merge into runs, so 200,000 spans take under a millisecond a frame. Below 560 points the lane names get a narrower column. ### Regex tester +A pattern, its flags and a test text, with every match and group highlighted. + ```c static char pattern[128] = "(?[\\w.]+)@(?[\\w-]+)\\.com"; static char text[4096] = "Write to maya@example.com or help@example.com"; @@ -953,6 +1151,8 @@ Keyboard: Tab moves from the pattern to the flags and the text. Left and Right m ### Test explorer +Test results as a tree of suites and tests, each with its status and time. + ```c static const cui_test_item tests[] = { { "layout", 0 }, /* a suite: the items after it with a greater depth are its tests */ @@ -968,6 +1168,8 @@ Test results as a tree in tree order, each item with its depth. A suite shows a ### Stack trace +An exception with its call stack. + ```c static const char *const src[] = { "function total(cart) {", " let sum = 0;", " for (const item of cart.items) {" }; static const cui_stack_frame frames[] = { @@ -977,10 +1179,12 @@ static const cui_stack_frame frames[] = { cui_stack_trace(ui, "error", frames, 2, .title = "TypeError", .message = "Cannot read properties of undefined", .lang = "js"); ``` -An exception with its call stack. The header shows the error's type and message, with a button that copies the whole trace as text. Each frame shows its function and its file, line and column. A run of library frames (`external`) folds into one row that unfolds on a click. A frame with `source` opens to show those lines, highlighted, with the frame's line marked. The first frame of your own code starts open. Frames are focusable, and Enter or Space opens one. On a phone only the file's name is shown. +The header shows the error's type and message, with a button that copies the whole trace as text. Each frame shows its function and its file, line and column. A run of library frames (`external`) folds into one row that unfolds on a click. A frame with `source` opens to show those lines, highlighted, with the frame's line marked. The first frame of your own code starts open. Frames are focusable, and Enter or Space opens one. On a phone only the file's name is shown. ### HTTP request bar +The method, the URL and Send, as in an API client. + ```c static int method = CUI_HTTP_GET; static char url[512] = "https://api.example.com/v1/orders?status=open"; @@ -996,20 +1200,24 @@ if (r.cancel) cancel_request(); cui_response_status(ui, status, seconds, bytes); ``` -The method, the URL and Send, as in an API client. Enter in the URL sends, and while `loading` the button cancels. On a phone the button keeps only its icon. `cui_response_status` shows a status badge (green 2xx, blue 3xx, amber 4xx, red 5xx, with the reason phrase), the time and the size. `cui_url_params` decodes a URL's query into key-value pairs. `cui_url_set_params` writes the enabled pairs back, percent-encoded, keeping the fragment, and leaves the URL alone when the result would not fit. Together they keep a parameters table in step with the URL. `cui_http_reason` and `cui_http_method_name` give the names. +Enter in the URL sends, and while `loading` the button cancels. On a phone the button keeps only its icon. `cui_response_status` shows a status badge (green 2xx, blue 3xx, amber 4xx, red 5xx, with the reason phrase), the time and the size. `cui_url_params` decodes a URL's query into key-value pairs. `cui_url_set_params` writes the enabled pairs back, percent-encoded, keeping the fragment, and leaves the URL alone when the result would not fit. Together they keep a parameters table in step with the URL. `cui_http_reason` and `cui_http_method_name` give the names. ### Uptime bars +A status page: each service's current state and a bar for each day of its history. + ```c static float api_days[90]; /* the fraction of each day the API was up, oldest first; negative: no data */ const cui_uptime_service services[] = { { "API", api_days, 90 }, { "Website", web_days, 90 } }; cui_uptime(ui, "status", services, 2, .last_day = today); ``` -A status page. Each service shows its state from its last day (operational, degraded or outage) and its uptime over the days with data. Below it is one bar per day, colored by availability: green from 99.9%, olive from 99%, amber from 95%, red below that, and gray without data. A hover lifts the bar and shows its date and uptime, and the result names the service and day under the pointer. On a narrow panel only the most recent days that fit are shown, newest on the right. +Each service shows its state from its last day (operational, degraded or outage) and its uptime over the days with data. Below it is one bar per day, colored by availability: green from 99.9%, olive from 99%, amber from 95%, red below that, and gray without data. A hover lifts the bar and shows its date and uptime, and the result names the service and day under the pointer. On a narrow panel only the most recent days that fit are shown, newest on the right. ### Time histogram +Event counts over time, stacked by series, as above a log search, with a legend that shows each series' total. + ```c const cui_histogram_series levels[] = { { "Info", info, CUI_TONE_INFO }, { "Warning", warn, CUI_TONE_WARNING }, { "Error", err, CUI_TONE_DANGER } }; static double from, to; /* the selected range, Unix seconds; equal: none */ @@ -1017,12 +1225,14 @@ if (cui_time_histogram(ui, "volume", start, 900, 96, levels, 3, &from, &to).sele filter_logs(from, to); ``` -Event counts over time, stacked by series, as above a log search, with a legend that shows each series' total. Dragging across it selects a range of whole buckets, and a click clears it. A hover shows the bucket's times and its count in each series. The time labels pick their step from seconds to weeks to suit the width, and show dates once the span passes a day. Times are local, or UTC with `utc`. +Dragging across it selects a range of whole buckets, and a click clears it. A hover shows the bucket's times and its count in each series. The time labels pick their step from seconds to weeks to suit the width, and show dates once the span passes a day. Times are local, or UTC with `utc`. Keyboard: none yet. The range is selected by dragging with the pointer. ### Coverage +Test coverage as a tree built from the files' paths. + ```c static const cui_coverage_file files[] = { { "src/core/layout.c", 1840, 1702, 620, 541, 88, 86 }, /* lines, hit; branches, hit; functions, hit */ @@ -1032,22 +1242,26 @@ cui_coverage_result r = cui_coverage(ui, "coverage", files, 2); if (r.activated >= 0) open_file(files[r.activated].path); ``` -Test coverage as a tree built from the files' paths. Each folder sums up what it holds, and a row for all files sits on top. Lines show as a bar and a percentage, with branches and functions beside them. They are colored red below `low` (50%), amber below `high` (80%) and green above. A click on a column's title sorts by it, and a second click reverses the order; folders stay above files. A click on a folder folds it. Up and Down move the selection, Left and Right fold and unfold a folder, and Enter folds a folder or, on a file, reports `activated`, as a double click does. A hover shows the counts behind the percentages. On a phone only the lines column is shown. +Each folder sums up what it holds, and a row for all files sits on top. Lines show as a bar and a percentage, with branches and functions beside them. They are colored red below `low` (50%), amber below `high` (80%) and green above. A click on a column's title sorts by it, and a second click reverses the order; folders stay above files. A click on a folder folds it. Up and Down move the selection, Left and Right fold and unfold a folder, and Enter folds a folder or, on a file, reports `activated`, as a double click does. A hover shows the counts behind the percentages. On a phone only the lines column is shown. ### Blame +Source with who last changed each line. + ```c /* line_commit[i]: which commit last changed line i */ cui_blame_result r = cui_blame(ui, "blame", lines, line_commit, line_count, commits, commit_count, .lang = "c"); if (r.clicked >= 0) show_commit(&commits[r.clicked]); ``` -Source with who last changed each line. Consecutive lines from one commit share a gutter entry with the author, the age ("6 weeks ago") and the short hash. A bar at the edge shades newer changes stronger. A hover on the gutter marks every line of that commit and shows its summary, and a click reports the commit. The code is highlighted with `lang`, and block comments that started further up are tracked. Only the lines in view are built: 100,000 lines take a tenth of a millisecond a frame after the first. On a phone the gutter keeps the shade and the author's initials. +Consecutive lines from one commit share a gutter entry with the author, the age ("6 weeks ago") and the short hash. A bar at the edge shades newer changes stronger. A hover on the gutter marks every line of that commit and shows its summary, and a click reports the commit. The code is highlighted with `lang`, and block comments that started further up are tracked. Only the lines in view are built: 100,000 lines take a tenth of a millisecond a frame after the first. On a phone the gutter keeps the shade and the author's initials. Keyboard: none yet. The list scrolls with the wheel, and a commit is clicked with the pointer. ### Feature flags +Flags against environments, edited in place. + ```c static cui_feature_flag flags[] = { { "new-checkout", "Single-page checkout", { true, true, false }, { 0, 25, 0 } }, /* on in two; a quarter of staging */ @@ -1057,12 +1271,14 @@ cui_feature_flags_result r = cui_feature_flags(ui, "flags", flags, 1, envs, 3); if (r.flag >= 0) save_flag(&flags[r.flag], r.env); ``` -Flags against environments, edited in place. Each environment has a switch, and while a flag is on it also shows the share of users it reaches. A click on the share opens a slider with presets, and a share under 100% shows in amber. A field filters by key or description. On a phone, or when the columns do not fit, one environment shows at a time, picked above the list. The result names the flag and the environment that changed this frame. With `height` the list scrolls. +Each environment has a switch, and while a flag is on it also shows the share of users it reaches. A click on the share opens a slider with presets, and a share under 100% shows in amber. A field filters by key or description. On a phone, or when the columns do not fit, one environment shows at a time, picked above the list. The result names the flag and the environment that changed this frame. With `height` the list scrolls. Keyboard: Tab moves through the switches and the share buttons, and Enter or Space flips the focused switch or opens the share popover, which Esc closes. ### API explorer +The endpoints of an API grouped by tag, each opening to show its parameters. + ```c static const cui_api_param user_params[] = { { "id", "path", "string", true, "The user's id" } }; static const cui_api_endpoint endpoints[] = { @@ -1079,6 +1295,8 @@ Endpoints grouped by tag, in the order the tags first appear; a tag's header fol ### Chat +Message bubbles for a conversation, with grouping, dividers and a typing indicator. + ```c cui_chat_divider(ui, "Today"); cui_chat_message(ui, "Did the data grid make it into 1.1?", .author = "Jonas Berg", .time = "9:41", .last_in_group = false); @@ -1091,6 +1309,8 @@ Grouped messages stack tightly with the avatar on the last bubble and tighter in ### Comments +A comment with its author, time, replies indented under it and a like button. + ```c static int likes = 12; static bool liked = true; int act = cui_comment(ui, "c1", "Tomas Rivera", text, .time = "2h", .likes = &likes, .liked = &liked, .badge = "Author"); @@ -1100,10 +1320,14 @@ cui_comment(ui, "c2", "Priya Nair", "Agreed, one more run.", .time = "1h", .dept `depth` indents replies under a thread line. The like button toggles `liked` and keeps `likes` in step. -Keyboard: Tab moves through each comment's actions (like, reply and the rest), and Enter or Space presses the focused one. +Returns flags for what was clicked this frame: `CUI_COMMENT_LIKE`, `CUI_COMMENT_REPLY`, or 0. `likes` and `liked` point at your variables. With `liked` set, a click on the heart flips it and moves `likes` by one; without it the click is only reported. `likes` may be `NULL`, and a count of 0 is not shown. The reply button only reports: opening a field for the answer is up to you. `id` scopes the comment's buttons, so every comment needs its own, such as the id of its record. `time` is text you format yourself, and `edited` shows only when `time` is set. Each level of `depth` indents by 44 points. + +Keyboard: Tab moves through each comment's actions (like and reply), and Enter or Space presses the focused one. ### Presence, counter and ticker +Small live pieces: who is here now, a number that rolls when it changes, and a line of text that scrolls past. + ```c cui_presence(ui, "here", users, 7, 5, 30); /* show 5, then "+2" */ cui_counter(ui, "revenue", revenue, .format = "$%.0f", .size = 34, .group_thousands = true); @@ -1113,10 +1337,18 @@ cui_ticker(ui, "kpis", items, 2); /* true: lower is better, so the fall shows Presence avatars overlap with colored rings and spread out under the pointer; idle people are dimmed. The counter rolls each digit like an odometer when the value changes. The ticker scrolls continuously, fades at the edges and pauses under the pointer. +None of the three returns anything. `cui_presence` reads your array of `cui_presence_user`: a name, a ring color, an optional avatar texture and `idle`. Its last two arguments are how many avatars to show before the "+N" and the avatar size in points; 0 means 5 and 30. + +`cui_counter` takes the value on every frame and keeps only the position of each digit under `id`. `format` is a `printf` format for one `double` ("%.0f" when not set), and `size` is in points (32). + +Each `cui_ticker_item` is a label, a value as text, a change in percent and `lower_is_better`. The ticker fills the width and moves at `speed` points per second (40). + ## Media ### Carousel +A strip of slides the user drags or steps through, one at a time. + ```c static int slide = 0; cui_carousel(ui, "tour", 4, &slide, .height = 200, .auto_advance = 6) { @@ -1126,8 +1358,14 @@ cui_carousel(ui, "tour", 4, &slide, .height = 200, .auto_advance = 6) { Drag or flick between slides, scroll sideways, use the arrow buttons, the dots or the arrow keys. The track settles on a spring. `auto_advance` moves on every few seconds, except while hovered; `loop` wraps around. +`slide` is your `int`, the index of the slide in view. The carousel reads and writes it, keeps it between 0 and `count` - 1, and glides to a value you set from code. The block must build all `count` slides on every frame, each inside `cui_carousel_slide`: slides out of view are clipped, not skipped. `height` is in points (220) and `gap` is the space between slides (12). `auto_advance` is in seconds; after the last slide it starts again at the first, even without `loop`. + +Keyboard: Tab focuses the slides, and Left and Right step to the previous and the next slide. + ### Image compare and card stack +A divider that reveals one picture over another, and a stack of cards the user swipes through. + ```c static float split = 0.5f; cui_image_compare(ui, "cmp", before, after, &split, .height = 230, .aspect = 1600.0f / 1000.0f); @@ -1141,6 +1379,8 @@ Drag the divider, or focus it and use the arrow keys. Pass the pictures' `aspect ### Image viewer and cropper +A picture you can zoom and pan, and a crop tool with a frame you drag. + ```c static cui_image_view view; /* zeroed: fit; keep it to keep the zoom and position */ static cui_rect crop; /* image pixels; zeroed: the largest centered square */ @@ -1157,6 +1397,8 @@ The cropper puts a crop rectangle over the fitted picture, in image pixels. Drag ### Kanban board +Columns of cards the user drags between stages. + ```c cui_kanban_begin(ui, "board"); for (int c = 0; c < column_count; c++) { @@ -1179,6 +1421,8 @@ Cards lift and follow the pointer when dragged; the column under the pointer lig ### Week calendar +A week of timed events on a day grid, which can be moved and resized by dragging. + ```c static cui_cal_event events[] = { { "Design review", "Room 2", 0, 11, 12.5f, CUI_TONE_VIOLET }, /* Monday 11:00 to 12:30 */ @@ -1191,6 +1435,8 @@ Drag an event to move it (it snaps to 15 minutes and keeps its length) or pull i ### Month calendar +A month grid with the events of each day, for schedules and planners. + ```c static const cui_month_event events[] = { { "Design sprint", { 2026, 11, 2 }, { 2026, 11, 4 }, 0, true, CUI_TONE_VIOLET }, /* spans three days */ @@ -1203,7 +1449,7 @@ if (r.event >= 0) open_event(r.event); if (r.day_activated) new_event_on(day); ``` -A month of events. The header names the month, with Today and the previous and next month; the grid shows the weeks the month touches, Monday first (`first_weekday` picks another day), with today marked and the selected day tinted. All-day and multi-day events are bars that run across the days they cover and continue into the next week, sharing lanes so they never overlap; timed events are a colored dot, the time and the title, in time order under the bars of their day. When a day has more than its cell holds, its last line says "+N more" and opens a list of all its events. Event colors come from the theme's tones. +The header names the month, with Today and the previous and next month; the grid shows the weeks the month touches, Monday first (`first_weekday` picks another day), with today marked and the selected day tinted. All-day and multi-day events are bars that run across the days they cover and continue into the next week, sharing lanes so they never overlap; timed events are a colored dot, the time and the title, in time order under the bars of their day. When a day has more than its cell holds, its last line says "+N more" and opens a list of all its events. Event colors come from the theme's tones. Clicking an event returns it in `r.event`, clicking a day selects it (`selected` is yours to read and set) and double-clicking a day sets `r.day_activated`, the place to add an event. With the grid focused, the arrows move the selected day and carry on into the next or previous month, Page Up and Page Down change month, Home goes to today, Space selects and Enter activates the day. `month_names` and `day_names` take names in another language, `hour12` writes 9:30a, `cell_height` sets the rows (104 by default) and `today` overrides the system date. @@ -1211,6 +1457,8 @@ On a narrow screen (under 520 points) the cells show the day number and up to th ### Gantt chart +A task list on the left and a timeline that scrolls sideways, with months, day numbers and shaded weekends. + ```c static cui_gantt_task tasks[] = { /* name, owner, start day, end day, progress, tone, depends on, milestone */ @@ -1221,10 +1469,12 @@ static cui_gantt_task tasks[] = { int clicked = cui_gantt(ui, "plan", tasks, 3, start_date, 28, .today = 10); ``` -A task list on the left and a timeline that scrolls sideways, with months, day numbers and shaded weekends. Drag a bar to reschedule it, or drag either end to change its length. The darker part of a bar is its progress. Dependencies draw as elbow arrows and milestones as diamonds. A focused bar moves a day with the arrow keys and changes its length with Shift and the arrows. +Drag a bar to reschedule it, or drag either end to change its length. The darker part of a bar is its progress. Dependencies draw as elbow arrows and milestones as diamonds. A focused bar moves a day with the arrow keys and changes its length with Shift and the arrows. ### Node editor +A canvas of nodes joined by curved links, for shader graphs, audio patching or visual scripting. + ```c static cui_node_view view; /* pan and zoom, kept by you */ if (cui_node_editor_begin(ui, "material", &view, .height = CUI_PX(480), .minimap = true)) { @@ -1246,7 +1496,7 @@ if (cui_node_editor_begin(ui, "material", &view, .height = CUI_PX(480), .minimap } ``` -A canvas of nodes joined by curved links, for shader graphs, audio patching or visual scripting. You own the graph: node, pin and link ids are your integers, the editor moves the positions you pass and reports links made, links removed and nodes deleted, and you change your data. Scroll to zoom around the pointer (25% to 200%); pan with the middle button, or hold Space and drag. Click a node to select it, Shift or Ctrl click to add to the selection, drag on the empty canvas for a marquee, and drag a node to move it with the rest of the selection, which lifts while it moves. Drag from a pin to make a link: the wire follows the pointer, pins it can join show a ring, and it snaps to the nearest one. Pins of one `type` share a color from the series palette and only join their own type (0 joins anything); an input takes one link, so a new one replaces the old. Drag a link's input end off its pin to detach it, or click a wire and press Delete. With the keyboard, Tab moves through the nodes (focusing a node selects it), the arrow keys move the selection (Shift for single points), Delete or Backspace removes it, Ctrl+A selects every node, F frames them all, + and - zoom, 0 returns to 100% and Esc drops a wire or clears the selection. The editor draws its cards, labels, pins and wires at the zoom, so they stay sharp. Components in `cui_node_content` are laid out at 100% and scaled with the view: they work at any zoom, but their text is sharpest at 100% and below, and menus they open are placed for 100%. Links cannot be made from the keyboard. +You own the graph: node, pin and link ids are your integers, the editor moves the positions you pass and reports links made, links removed and nodes deleted, and you change your data. Scroll to zoom around the pointer (25% to 200%); pan with the middle button, or hold Space and drag. Click a node to select it, Shift or Ctrl click to add to the selection, drag on the empty canvas for a marquee, and drag a node to move it with the rest of the selection, which lifts while it moves. Drag from a pin to make a link: the wire follows the pointer, pins it can join show a ring, and it snaps to the nearest one. Pins of one `type` share a color from the series palette and only join their own type (0 joins anything); an input takes one link, so a new one replaces the old. Drag a link's input end off its pin to detach it, or click a wire and press Delete. With the keyboard, Tab moves through the nodes (focusing a node selects it), the arrow keys move the selection (Shift for single points), Delete or Backspace removes it, Ctrl+A selects every node, F frames them all, + and - zoom, 0 returns to 100% and Esc drops a wire or clears the selection. The editor draws its cards, labels, pins and wires at the zoom, so they stay sharp. Components in `cui_node_content` are laid out at 100% and scaled with the view: they work at any zoom, but their text is sharpest at 100% and below, and menus they open are placed for 100%. Links cannot be made from the keyboard. ## More charts @@ -1254,6 +1504,8 @@ These follow the same rules as the [core charts](components.md#charts): a toolti ### Heatmap +A grid of cells colored by value, for one category against another. + ```c float traffic[7 * 24]; /* values[row * cols + col] */ cui_heatmap(ui, "traffic", traffic, 7, 24, .row_labels = weekdays, .col_labels = hours, .format = "%.0f req"); @@ -1263,14 +1515,22 @@ One hue, light to dark (dim to bright in dark mode), with a scale below. Column ### Calendar heatmap +A year of days as small squares colored by activity. + ```c +static float per_day[364]; /* one value for each day, counted from start */ +cui_date start = { 2025, 11, 11 }; /* year, month, day */ cui_calendar_heatmap(ui, "year", start, per_day, 364, .unit = "contributions"); ``` One square a day in five levels, weeks as columns starting on Monday, month labels where a month begins. The tooltip shows the date and the value; `unit` also adds a total under the grid. +Returns the index of the day that was clicked, or -1. `per_day` is your array of `days` floats, only read. A value of 0 or less leaves the square empty, and the rest fall into four levels by their share of the largest value, so one extreme day dims all the others. In a container too narrow for the whole range, only the most recent weeks that fit are drawn, and the returned index then counts from the first day drawn. + ### Treemap and radar +A treemap shows the parts of a whole as rectangles sized by value. A radar chart compares items across several axes. + ```c static const cui_viz_item mods[] = { { "Layout", 55 }, { "Text", 42 }, { "Draw", 35 } /* ... */ }; cui_treemap(ui, "bundle", mods, 10, .height = 290, .format = "%.0f KB"); @@ -1283,6 +1543,8 @@ The treemap uses a squarified layout, so rectangles stay close to square; labels ### Funnel, split bar and waffle +Three charts for shares: a funnel for the steps of a conversion, a single bar split into parts, and a waffle of 100 squares. + ```c static const cui_viz_item stages[] = { { "Visited", 12840 }, { "Signed up", 4210 }, { "Activated", 2380 }, { "Subscribed", 860 } }; cui_funnel(ui, "signup", stages, 4); @@ -1294,6 +1556,8 @@ The funnel shows each stage's share of the first and, under it, the conversion f ### Sankey +Flows between stages, drawn as ribbons whose width follows the amount. + ```c static const char *nodes[] = { "Search", "Social", "Referral", "Sign up", "Bounced", "Trial", "Paid", "Churned" }; static const cui_sankey_link links[] = { { 0, 3, 420 }, { 1, 3, 260 }, { 3, 5, 860 }, { 5, 6, 580 } /* ... */ }; @@ -1304,6 +1568,8 @@ Columns follow the links from the sources, and an outcome sits at the step it is ### Bar list and activity rings +A ranked list with a bar behind each row, and concentric rings that fill toward a goal. + ```c cui_bar_list(ui, "pages", pages, 5); /* ranked by value; set keep_order to keep yours */ static const cui_viz_item rings[] = { { "Move", 0.82f }, { "Exercise", 1.24f }, { "Stand", 0.58f } }; @@ -1314,6 +1580,8 @@ Bar list rows are keyed by their label: when the values change, the bars grow or ### Scatter and bubble +Points on two axes, with an optional third value as the size of each bubble. + ```c cui_scatter_series s[] = { { "Software", points_a, sizes_a, 40 }, { "OpenGL", points_b, sizes_b, 40 } }; cui_scatter_chart(ui, "frames", s, 2, .height = 300, .x_label = "Nodes", .y_label = "Frame time (ms)", .y_format = "%.2f"); @@ -1323,6 +1591,8 @@ Leave `sizes` NULL for a scatter. With sizes, the area of a bubble follows its v ### Radial gauge +One value on a dial, for dashboards: speed, load, temperature, a score against a goal. + ```c static const cui_gauge_band load[] = { { 60, CUI_TONE_SUCCESS }, { 85, CUI_TONE_WARNING }, { 100, CUI_TONE_DANGER } }; @@ -1331,10 +1601,12 @@ cui_radial_gauge(ui, "rps", rps, 0, 2500, .label = "Requests per second", .show_ cui_radial_gauge(ui, "disk", disk_used, 0, 100, .unit = "%", .label = "Disk", .no_needle = true, .ticks = -1); ``` -One value on a dial, for dashboards: speed, load, temperature, a score against a goal. The arc sweeps 240 degrees (`sweep`, 90 to 300) between `min` and `max`, with labelled major ticks (`ticks` divisions, 5 by default, -1 for none) and four minor ticks between them. `bands` color stretches of the arc in the theme's tones, each running from the band before it (or `min`) up to its `to`. A needle points at the value and springs there with a little overshoot when the value changes (it snaps with reduced motion); `no_needle` fills a thick arc instead and puts the readout in the middle, in the color of the band the value is in. `show_target` adds a marker at `target`. The readout uses `format` (by default whole numbers, with large ones shortened to 1.8k) and `unit`, with `label` under it. `size` sets the width and the height follows the sweep. +The arc sweeps 240 degrees (`sweep`, 90 to 300) between `min` and `max`, with labelled major ticks (`ticks` divisions, 5 by default, -1 for none) and four minor ticks between them. `bands` color stretches of the arc in the theme's tones, each running from the band before it (or `min`) up to its `to`. A needle points at the value and springs there with a little overshoot when the value changes (it snaps with reduced motion); `no_needle` fills a thick arc instead and puts the readout in the middle, in the color of the band the value is in. `show_target` adds a marker at `target`. The readout uses `format` (by default whole numbers, with large ones shortened to 1.8k) and `unit`, with `label` under it. `size` sets the width and the height follows the sweep. ### Candlestick chart +Open, high, low and close per period, for prices. + ```c static cui_candle candles[MAX]; /* open, high, low, close, volume per period */ static const char *dates[MAX]; @@ -1345,7 +1617,7 @@ int at = cui_candlestick(ui, "nrth", candles, count, .labels = dates, .overlays if (at >= 0) show_period(at); ``` -Open, high, low and close per period, for prices. Candles that close higher are drawn in the success color and the rest in the danger color (`up` and `down` change them); `ohlc` draws OHLC bars instead of bodies. Volume bars sit in their own band under the prices whenever any candle has volume (`no_volume` hides them), `overlays` adds lines with one value per candle, such as moving averages, and a dashed line tags the last close on the price axis. The price axis is on the right and fits the candles in view as you pan, easing between ranges. Time labels come from `labels`, thinned to a spacing that reads. +Candles that close higher are drawn in the success color and the rest in the danger color (`up` and `down` change them); `ohlc` draws OHLC bars instead of bodies. Volume bars sit in their own band under the prices whenever any candle has volume (`no_volume` hides them), `overlays` adds lines with one value per candle, such as moving averages, and a dashed line tags the last close on the price axis. The price axis is on the right and fits the candles in view as you pan, easing between ranges. Time labels come from `labels`, thinned to a spacing that reads. The wheel zooms around the pointer and dragging (or Shift+wheel, or a sideways scroll) pans. Hovering shows a crosshair with the price at the pointer and a tooltip with the candle's open, high, low, close, change from the previous close and volume; the call returns that candle. With the chart focused, Left and Right move the crosshair (Shift+Left and Shift+Right by ten), Home and End jump to the first and last candle, + and - zoom and 0 fits everything. While the newest candle is in view the chart follows new ones as you append them; pan back in time and it stays where you left it. @@ -1357,6 +1629,8 @@ Text effects, loaders and the playful pieces. With reduced motion, text effects ### Text effects +Animated text: a shimmer, a typewriter, words that rotate in place and text that reveals itself. + ```c cui_shimmer_text(ui, "Thinking about your question..."); bool done = cui_typewriter(ui, "answer", streamed_text, .caret = true); @@ -1369,6 +1643,8 @@ The shimmer sweeps a soft highlight across muted text. The typewriter lays out t ### Rolling numbers +A number whose changed digits roll into place. + ```c char rev[32]; snprintf(rev, sizeof rev, "$%s", grouped(revenue)); /* any formatted figure */ @@ -1381,6 +1657,8 @@ Keyboard: the numbers only display. The buttons that change them in your app tak ### Gradient text and spotlight cards +Text filled with a gradient, and a card with a glow that follows the pointer. + ```c cui_gradient_text(ui, "Kiln 2.4", .font = CUI_FONT_DISPLAY, .size = 38); /* a tonal blend of the accent */ cui_spotlight(ui, "gl", .width = CUI_PX(270)) { @@ -1395,13 +1673,19 @@ Keyboard: these are surfaces and text. What you put inside a spotlight card take ### Loaders +Animated indicators for work in progress, in five styles. + ```c cui_loader(ui, .style = CUI_LOADER_DOTS); /* also BARS, PULSE, ORBIT, GRID */ cui_loader(ui, .style = CUI_LOADER_PULSE, .size = 32, .color = CUI_COLOR_ACCENT); ``` +A loader returns nothing, takes no `id` and keeps no state: it draws for as long as you call it, so call it only while the work is running. The five styles are `CUI_LOADER_DOTS` (the default), `CUI_LOADER_BARS`, `CUI_LOADER_PULSE`, `CUI_LOADER_ORBIT` and `CUI_LOADER_GRID`. `size` is the width in points and defaults to 24; every style is square except the dots, which are half as tall. `color` defaults to the secondary text color. While a loader is on screen the window redraws every frame, so an idle app does not sleep until it is gone. A loader says that something is happening, not how much is done: use `cui_progress` when you know the fraction, and `cui_spinner` for the plain ring. + ### Dock +A row of icons that grow under the pointer, as in a desktop dock. + ```c cui_dock(ui, "dock") { if (cui_dock_item(ui, CUI_ICON_FOLDER, "Files", .color = CUI_RGB(0x3b82f6), .running = true)) open_files(); @@ -1413,8 +1697,14 @@ cui_dock(ui, "dock") { Icons grow as the pointer passes, with the item under it largest and its neighbours following on a cosine falloff. Items show their label as a tooltip, a dot when `running` and a count with `badge`. Tab and Enter work as well. +`cui_dock_item` returns true on the frame the item is clicked. Nothing is stored for you: which apps are running is your state, passed in on every frame. The second argument is the tooltip, and `NULL` leaves it out. `badge` is a count: 0 shows none and anything over 99 shows "99+". Dock options: `size`, the icon size at rest in points (46), and `magnify`, how much the icon under the pointer grows (1.55). The dock centers itself in its container, and in a narrow window the icons shrink and stop growing. + +Keyboard: Tab moves through the items, and Enter or Space clicks the focused one. + ### Control tiles +Large toggle tiles for quick settings such as Wi-Fi or Do not disturb. + ```c static bool wifi = true; cui_control_tile(ui, "Wi-Fi", &wifi, .icon = CUI_ICON_WIFI, .detail = wifi ? "Home" : "Off"); @@ -1424,8 +1714,14 @@ cui_control_tile(ui, "Dark appearance", &dark, .icon = CUI_ICON_SUN, .wide = tru Big toggles for quick settings, which fill their grid cell. They switch with a click or with Space and Enter. `detail` replaces the default On and Off line. +Returns true on the frame the tile is toggled. The second argument points at your `bool`, which the tile flips; with `NULL` the tile stays off. The label is also the tile's identity, so two tiles with the same label in one scope need a key: `"Wi-Fi##guest"` shows "Wi-Fi". A tile fills the width it is given unless `width` is set, so size tiles with a grid such as `cui_box(ui, .dir = CUI_GRID, .columns = 2, .gap = 10)`. It is at least 112 points tall, or 64 with `wide`. + +Keyboard: Tab focuses a tile, and Enter or Space toggles it. + ### Now playing, waveform and tab bar +A media player card, an audio waveform to scrub through, and a bottom tab bar for phone layouts. + ```c static cui_now_playing np = { "Low Tide", "Marlow Avenue", art, { 0 }, 76, 222, true }; int ev = cui_now_playing(ui, "player", &np); @@ -1447,6 +1743,8 @@ The pieces of an assistant: thinking, tools, plans, sources and the composer. Se ### Reasoning and tool calls +A folding block for a model's reasoning, and a row for each tool it calls with its status. + ```c cui_reasoning(ui, "think", .thinking = streaming, .seconds = elapsed) { cui_text(ui, thoughts, .size = 13.5f, .color = CUI_COLOR_TEXT_SECONDARY); @@ -1462,6 +1760,8 @@ Keyboard: Tab focuses a reasoning block's header or a tool call, and Enter or Sp ### Agent plan and status +The steps an agent is working through, and a pill that says what it is doing now. + ```c cui_plan_step steps[] = { { "Search for sources", "3 results", CUI_TASK_DONE }, @@ -1474,10 +1774,16 @@ cui_agent_status(ui, "Reading quarterly-report.pdf", .status = CUI_TASK_RUNNING, The rail fills up to the step in progress, the running step shimmers, and the header counts finished steps with a progress bar. The status pill shows loader dots while running and a check or a cross when done. +`cui_agent_plan` returns the index of the step that was clicked this frame, or -1. `steps` is your array and is only read: you change each `status` as the agent moves on. A step is a title, a detail line that may be `NULL`, and one of `CUI_TASK_PENDING`, `CUI_TASK_RUNNING`, `CUI_TASK_DONE`, `CUI_TASK_FAILED` or `CUI_TASK_SKIPPED`. Pending is the zero value. The header counts done and skipped steps as finished, and shows `title`, or "Plan". + +`cui_agent_status` returns nothing, takes no `id` and keeps no state. `status` is pending when not set. `seconds` is the elapsed time you measured, shown as "42s" or "1m 05s", and 0 hides it. `icon` replaces the mark of every status except running. + Keyboard: none yet. A step is clicked with the pointer; the status pill only displays. ### Sources and citations +Citations inside an answer and the list of sources they point to. + ```c static const cui_source sources[] = { { "Notes on subpixel text positioning", "https://glyphlab.io/notes/subpixel", "Shaping, hinting and..." } /* ... */ }; for (int k = 0; k < n; k++) cui_citation(ui, k + 1, &sources[k]); /* a chip; hover for a card */ @@ -1486,10 +1792,14 @@ int open = cui_source_list(ui, "sources", sources, n); /* cards tha Citations show the source's domain and open a card with the title and snippet when hovered. Source cards get a colored initial (always the same for a domain), the title and the source's number. +`cui_source_list` returns the index of the card that was clicked, or -1, and `cui_citation` returns true when its chip is clicked. Neither opens anything: opening the URL is up to you. `sources` is your array of `cui_source`, only read: a title, a URL and a snippet. The domain shown is cut from the URL, and a source without a title shows its domain there too. A citation takes the number to show and a pointer to its source; with `NULL` the chip shows the number and has no card. Its identity comes from the number, so the same number twice in one scope needs a `cui_id_scope` around each answer. + Keyboard: Tab moves through the sources and the citation marks, and Enter or Space opens the focused one. ### Composer and model picker +The message box of a chat, with attachments, send and stop, and a menu for choosing the model. + ```c static char draft[4096]; static int model; @@ -1505,7 +1815,15 @@ The text area grows with its content up to `max_lines`, then scrolls. Enter send ### Suggestions, response actions and the context meter +Prompt suggestions to start from, the actions under a response, and a ring that shows how full the context is. + ```c +static const cui_prompt_suggestion suggestions[] = { /* icon, title, detail */ + { CUI_ICON_PENCIL, "Draft a release note", "From the merged pull requests" }, /* ... */ +}; +static int vote; /* 1 up, -1 down, 0 none */ +static const cui_viz_item parts[] = { { "System", 1200 }, { "Messages", 46000 }, { "Files", 31000 } }; + int pick = cui_prompt_suggestions(ui, "start", suggestions, 4); /* .columns = 1 for a sidebar */ int act = cui_response_actions(ui, "actions", .copy_text = answer, .vote = &vote); if (act & CUI_RESPONSE_REGENERATE) regenerate(); @@ -1514,15 +1832,25 @@ cui_context_meter(ui, "ctx", used_tokens, 200000, .parts = parts, .part_count = The response actions copy (the icon turns into a check), regenerate, vote and share. The context meter's ring turns amber past 80% and red past 95%; hovering it shows a split of what fills the context. +`cui_prompt_suggestions` returns the index of the card that was clicked, or -1. The grid shows `columns` cards in a row (2), and fewer when a card would be narrower than 200 points. + +`cui_response_actions` returns flags for what was clicked this frame: `CUI_RESPONSE_COPY`, `CUI_RESPONSE_REGENERATE`, `CUI_RESPONSE_UP`, `CUI_RESPONSE_DOWN` and `CUI_RESPONSE_SHARE`. Copying is done for you from `copy_text`, and without it there is no copy button. `vote` points at your `int`: the thumbs show it and write it, and a click on the thumb that is on clears it. + +`cui_context_meter` returns nothing. Each part is a label, an amount and an optional color; the card shown on hover adds a "Free" part for the rest and names the unit "tokens" unless `unit` is set. + Keyboard: Tab moves through the suggestions and the response actions, and Enter or Space presses the focused one. ### Voice orb +An animated orb for voice modes that shows listening, thinking and speaking. + ```c if (cui_voice_orb(ui, "voice", listening ? CUI_VOICE_LISTENING : CUI_VOICE_IDLE, mic_level)) toggle_listening(); ``` -A living shape for voice modes. It breathes when idle, ripples with the level while listening, sends a ring of dots around while thinking and swells with the voice while speaking. It moves between states smoothly. +It breathes when idle, ripples with the level while listening, sends a ring of dots around while thinking and swells with the voice while speaking. It moves between states smoothly. + +Returns true on the frame the orb is clicked. The orb records and plays nothing: you pass the state and the loudness on every frame, and it only draws them. The state is one of `CUI_VOICE_IDLE`, `CUI_VOICE_LISTENING`, `CUI_VOICE_THINKING` and `CUI_VOICE_SPEAKING`, and is yours to change, for example on the click. The last argument is the loudness of the microphone or of the voice, from 0 to 1; values outside are clamped, and the orb smooths the changes, so raw peaks can be passed as they come. The library keeps the animation under `id`. Options: `size`, the diameter in points (160), and `color`. Keyboard: Tab focuses the orb, and Enter or Space clicks it. @@ -1532,6 +1860,8 @@ The parts around a desktop window's content: a menu bar, a toolbar, document tab ### Menu bar +The File, Edit, View row of a desktop app, with a menu under each title. + ```c cui_menu_bar(ui, "menubar") { cui_menu_bar_menu(ui, "File") { @@ -1550,6 +1880,8 @@ Each menu holds ordinary menu items, so shortcuts, separators, labels, icons, di ### Toolbar +A row of small buttons, toggles and separators for an editor's most used commands. + ```c static bool bold; cui_toolbar(ui, "tools") { @@ -1565,6 +1897,8 @@ Buttons are small ghost buttons; an icon only button needs a `tooltip`, which is ### Document tabs +Closable tabs for open documents that can be dragged into a new order, as in an editor. + ```c static cui_doc_tab tabs[16] = { { "README.md", CUI_ICON_FILE_TEXT }, { "tile_cache.c", CUI_ICON_CODE, "src/tile_cache.c", true } }; static int count = 2, active = 0; @@ -1580,6 +1914,8 @@ A click selects a tab, the x or a middle click asks to close it, and dragging a ### Status bar +The thin bar at the bottom of a window for state, counts and background progress. + ```c cui_status_bar(ui, "status") { if (cui_status_bar_item(ui, branch, .icon = CUI_ICON_GIT_BRANCH, .tooltip = "Switch branch")) pick_branch(); @@ -1597,6 +1933,8 @@ Items run left to right and `cui_status_bar_spacer` sends the rest to the right ### Docking +Panels the user arranges by dragging: split, tabbed and resized, with a layout you can save and load. + ```c static bool show_tree = true, show_log = true, show_props = true; static char saved[1024]; @@ -1636,3 +1974,99 @@ after the `dock1` version word comes one node: `h` (side by side) or `v` (stacke Keyboard: the selected tab of each strip is in the Tab order; Left and Right select along the strip, Home and End jump, Shift+Left and Shift+Right move the tab, and Delete closes it. With `.shortcuts = true`, Ctrl+Tab and Ctrl+Shift+Tab (or Ctrl+PageDown and PageUp) cycle the panels of the focused leaf, the one holding the keyboard focus or the last click, and Ctrl+W (Cmd+W on macOS) closes its selected panel. Esc cancels a drag. The layout uses the previous frame's size, so a panel that appears or reopens shows from the next frame (the dockspace asks for one). After `cui_dock_panel_begin`, `cui_last_rect` is the panel's tab, for a tooltip or a tour. + +## Instruments + +Components for an interface that reads like an instrument: values drawn as dots, labels in the monospaced font, hairlines and one accent. They work together, and [`examples/caffeine.c`](../examples/caffeine.c) puts all five on one screen: drag a cup along the time axis and the curve, the peak and the verdict follow. + +### Dot-matrix chart + +A chart that draws values as a grid of dots, lit up to each column's value and dim above it, with a readout under the pointer. + +```c +static float last_week[168], today[168]; /* one value an hour, yours */ +cui_dot_series series[2] = { { last_week, "Last six days", false }, { today, "Today", true } }; +cui_dot_chart_result r = cui_dot_chart(ui, "requests", series, 2, 168, .x_min = 0, .x_max = 168, .x_step = 24, + .x_format = "%.0f h", .height = 220, .unit = "REQ/S"); +if (r.clicked) add_marker(r.x); /* where the click landed, in x units */ +``` + +Series stack: each one fills its own band above the one before it, and negative, infinite or NaN values count as 0. An `accent` series is drawn in the accent color while the others step back to two shades of grey, so it reads as the item being edited or the part that matters. Samples are spread evenly from `x_min` to `x_max` (0 to `count` - 1 when they are equal), and a column between two samples takes the value between them. The value range is 0 to a little above the largest stack unless `min` and `max` are set. `pitch` is the distance between dot centers (6 points by default); the dots never touch the plot's edges. + +`x_units = CUI_AXIS_HOURS` labels x as times of day, so 13.5 reads 13:30 and 30 reads 06:00 the next morning; otherwise `x_format` prints the labels. The chart keeps a gutter on its right for value labels, the same width as the event track's, so the two stacked at one width share their x positions. + +The result reports the sample under the pointer or the keyboard cursor (`hovered`, its `x` and the stacked `value`, or -1), and `clicked` with the exact `x` of a click. The readout beside the cursor shows the time and the value with `unit`; `no_readout` hides it. + +In a right-to-left interface the chart keeps time running left to right, like the other time-based components, and Right still moves later. Its labels and readout are drawn with the library's text, so Persian and Arabic labels are shaped when CUI is built with `CUI_TEXT_SHAPING` and a font that covers them is loaded ([Text in other languages](integration.md#text-in-other-languages)). + +Keyboard: Tab focuses the chart, Left and Right move the readout a sample (Shift: ten), Home and End jump to the first and last sample, Enter clicks at the cursor, and Esc hides the readout. + +### Chart annotations + +Lines, thresholds and points drawn over a chart, each with a two-line label that moves out of the way of the others. + +```c +const cui_chart_annotation notes[] = { + { CUI_ANNOTATION_Y, 0, 300, "SLO", NULL, true }, /* a dashed line at a value */ + { CUI_ANNOTATION_X, 14.65, 0, "DEPLOY 4.12", "14:39", false }, /* a line at an x, labelled at its top */ + { CUI_ANNOTATION_POINT, 14.7, 515, "PEAK 515 MS", NULL, false }, /* a dot at x, y */ +}; +cui_dot_chart(ui, "wait", series, 1, 61, .x_min = 14, .x_max = 15, .x_units = CUI_AXIS_HOURS, + .min = 0, .max = 600, .annotations = notes, .annotation_count = 3); +cui_line_chart(ui, "sales", lines, 2, .annotations = notes, .annotation_count = 3); /* x is the point's index */ +``` + +The dot chart, the line chart and the bar chart take the same `annotations`. In the dot chart, x is in the chart's x units; in line and bar charts it is the point's index. The `label` is drawn in the foreground color and the `detail` under it in a muted one, both in the monospaced font, and `accent` draws the line and its label in the accent color. + +A vertical line's label sits at its top, right of the line. When it would cover a label placed before it, it tries the left of its line, then moves down a line at a time, and a label that ends up over the data gets the page's color behind it. Annotations earlier in the array choose their place first, so put the one that matters most first. The dot chart keeps room above the plot for labels; a threshold's label goes in the gutter on the right when it fits there and above its line when it does not. Annotations outside the range are skipped. + +Annotations only draw. To let people move a line, put an event track under the chart and draw its events as annotations. + +### Event track + +A time axis with moments on it as dots, which people drag, add with a click and remove with a double-click. + +```c +static double doses[8] = { 7.5, 13, 19.25 }; /* hours, yours */ +static int count = 3, selected = -1; +cui_event_track_result r = cui_event_track(ui, "doses", doses, &count, 8, 6, 30, .step = 0.25, + .units = CUI_AXIS_HOURS, .label_step = 3, .selected = &selected); +if (r.changed) recompute(); +``` + +You own the array and its count. The track edits them in place, keeps the times sorted and within `min` and `max`, and never adds past `capacity`; an array that arrives unsorted is sorted, with the selection kept on its event. A press on a dot takes it and a drag moves it, snapping to multiples of `step` from `min`; it may pass its neighbours, and the selection follows it to its new place in the array. A click on an empty spot of the track adds an event there and starts dragging it, and a double-click on a dot removes it. `no_add` and `no_remove` turn those off. + +The track keeps time running left to right in a right-to-left interface too, so it stays lined up with a chart above it and Right moves an event later in every language. The selected event is drawn in the accent color with its time under it, as is the one under the pointer. `selected` holds its index, or -1; leave it `NULL` and the track keeps the selection itself. The result says whether anything `changed` this frame, which index was `added` or `removed` (-1 otherwise), the selection, and whether a drag is in progress. + +Keyboard: Tab focuses the track. Left and Right move the selected event a step (Shift: ten steps), Up and Down select the previous and next event, Home and End the first and last, Enter adds an event a step after the selected one, Delete or Backspace removes it, and Esc clears the selection. + +### Readout + +One figure as an instrument shows it: a small label, the value in the monospaced font with its unit, and a line of context. + +```c +char mg[16]; +snprintf(mg, sizeof mg, "%.0f", at_bedtime); +cui_readout(ui, "STILL IN YOU AT 23:00", mg, .unit = "MG", .detail = "UNDER THE LINE BY 00:10", .size = CUI_SIZE_LG); +cui_readout(ui, "OVER THE LINE", "2", .unit = "CUPS", .size = CUI_SIZE_SM, .accent = true); +``` + +The value is text you format, so the readout shows exactly what you pass, and its figures are tabular, so a changing number does not shift its neighbours. The readout follows the reading direction: in a right-to-left interface its lines align to the right and the unit sits to the left of the value, where it is read after it. `size` sets the value at 17, 28 (the default) or 44 points; the unit follows at a little under half that size, sitting on the value's baseline. The label and the detail are small and muted. `accent` or a `tone` colors the value, `align` places the lines in a wider box, and `width` sets that box. Labels in capitals suit the look, but the readout shows the text as given. + +A readout only displays: it takes no focus and returns nothing. + +### Dot-matrix display + +Text drawn with a 5 by 7 dot font, for clocks, counters and status lines. + +```c +cui_dot_display(ui, "23:41:07", .pitch = 6); +cui_dot_display(ui, "LAST CUP BY 10:45", .pitch = 3, .width = CUI_FILL); +cui_dot_display(ui, news_line, .width = CUI_FILL, .marquee = true); /* scrolls when it does not fit */ +``` + +Each glyph is five dots wide and seven high, with a column of space between glyphs, so a line of n characters is (6n - 1) times `pitch` wide (4 points by default) and seven times `pitch` high. Printable ASCII has glyphs in capitals and small letters, as do the degree sign and the middle dot; any other character shows as a box. The unlit dots are drawn dimly so the matrix reads as one grid; `no_dim` hides them. + +The lit dots take the foreground color, `color`, or the accent with `accent`. In a box narrower than the text the dots shrink until it fits. With `marquee` the text scrolls instead, and asks for frames only while it does; with reduced motion it shrinks rather than moves. The glyphs run left to right in every reading direction, while `align` follows it: in a right-to-left interface the start is the right edge of the box. + +A dot-matrix display only displays: it takes no focus and returns nothing. diff --git a/skills/cui-dotnet/widgets.md b/skills/cui-dotnet/widgets.md index 37021b2..5530d53 100644 --- a/skills/cui-dotnet/widgets.md +++ b/skills/cui-dotnet/widgets.md @@ -54,6 +54,8 @@ Contents: ## Text +Headings, body text, labels, links and inline code, with wrapping that avoids a lone last word. + ```c cui_heading(ui, "Settings", 1); /* 1..4: 36, 28, 22, 17 pt; Geist for 28 and up */ cui_text(ui, "Body text wraps to the available width."); @@ -76,6 +78,8 @@ Keyboard: text takes no focus. A link takes Tab, and Enter or Space follows it. ## Button +Starts an action when clicked. It comes in six variants and three sizes, with an optional icon and a loading state. + ```c if (cui_button(ui, "Save", .variant = CUI_BUTTON_PRIMARY, .icon = CUI_ICON_CHECK)) save(); cui_button(ui, "Cancel"); @@ -98,18 +102,24 @@ Every state, rendered by `tests/component_shots.c`. The focus ring only appears ## Icon button +A round button with only an icon, ghost by default. + ```c if (cui_icon_button(ui, CUI_ICON_TRASH_2, .tooltip = "Delete", .shortcut = "Del")) remove_item(); ``` -A round button with only an icon, ghost by default. Always give it a `tooltip`: it is the button's name. +Always give it a `tooltip`: it is the button's name. -When a button's icon changes (copy to check, play to pause), the old icon shrinks away while the new one scales in. Nothing to set up: change the icon you pass. +Returns true on the frame it is clicked, and never while `disabled` or `loading`. `shortcut` is only a hint shown after the tooltip: it does not bind the key, so check the key yourself with `cui_shortcut`. The button's identity comes from its tooltip and its icon. Two of them with the same icon and tooltip in one scope, such as a delete button on every row of a list, need an id scope each: `cui_push_id_int(ui, row)` before the row and `cui_pop_id(ui)` after it. + +A `cui_button` whose `.icon` changes (copy to check, play to pause) shrinks the old icon away while the new one scales in. An icon button is told apart by its tooltip and its icon together, so changing the icon of a `cui_icon_button` makes it a new button: the swap is not animated and keyboard focus does not stay on it. Keyboard: Tab focuses the button, and Enter or Space presses it. ## Segmented control +A compact set of two to five choices where one is always selected, for switching between views of the same content. + ```c static int view = 0; const char *items[] = { "List", "Board", "Timeline" }; @@ -117,10 +127,14 @@ const char *icons[] = { CUI_ICON_LIST, CUI_ICON_LAYOUT_DASHBOARD, CUI_ICON_HISTO cui_segmented(ui, "view", items, 3, &view, .icons = icons); ``` -For switching between two to five views of the same content. The highlight's two edges have their own springs: the leading one runs ahead and the trailing one follows, so it stretches toward the new option and draws in as it lands. Options: `size`, `full_width`, `icons`. Keyboard: arrows move the selection. +The highlight's two edges have their own springs: the leading one runs ahead and the trailing one follows, so it stretches toward the new option and draws in as it lands. Options: `size`, `full_width`, `icons`. Keyboard: arrows move the selection. + +Returns true on the frame the selection changes. `view` is your `int`, the index of the selected option. The control writes it on a click and keeps it between 0 and `count` - 1; set it from code and the highlight glides there. `items` and `icons` are your arrays, read every frame, and `icons` needs an entry or `NULL` for each option. For pages of different content use tabs, and for options that can each be on or off use a toggle group. ## Checkbox, switch and radio +The three basic choices: a checkbox for an option, a switch for a setting that applies at once, and radio buttons for one of several. + ```c cui_checkbox(ui, "Email notifications", &email, .description = "Product news, monthly."); cui_switch(ui, "Wi-Fi", &wifi); @@ -133,6 +147,8 @@ Each returns true when it changes the value. The whole row, label included, is c ## Slider +Picks a number, or a range with two thumbs, by dragging along a track. + ```c cui_slider(ui, "Volume", &volume, 0, 100, .show_value = true); cui_slider(ui, "Brightness", &brightness, 0, 100, .step = 10, .show_value = true, .format = "%.0f%%"); @@ -141,17 +157,29 @@ cui_range_slider(ui, "Price", &lo, &hi, 0, 500); Drag past either end and the track stretches like rubber, then springs back on release. Clicking the track glides the thumb to the spot. Options: `step`, `show_value`, `format`, `disabled`, `width`. Keyboard: arrows step (Shift for 10 steps), Home and End. +Both return true on a frame the value changes. `volume` is your `float`. The slider writes it while it is dragged and keeps it between the minimum and the maximum, so a value set outside the range is pulled back in. `format` is a `printf` format for one `double` and defaults to "%.0f". The label is also the identity: two sliders with the same label in one scope need a key, as in `"Volume##left"`. `cui_range_slider` takes two floats and no options; its thumbs cannot cross and are moved with the pointer only. + ## Chips and rating +A chip is a small toggle for filters and tags. A rating picks a number of stars. + ```c +static bool design; +static int stars = 3; cui_chip(ui, "Design", &design); /* toggle chip */ cui_rating(ui, "stars", &stars, 5); /* click the current value again to clear */ ``` +`cui_chip` returns true on the frame it is toggled. Its second argument points at your `bool`, which the chip flips; with `NULL` the chip only displays, unselected. The label is also the identity, so two chips with the same label in one scope need a key: `"Design##team"` shows "Design". A chip is as wide as its label, so put a set of them in a row that wraps: `cui_row(ui, .gap = 8, .wrap = true)`. + +`cui_rating` returns true on the frame a star is clicked. `stars` is your `int`, from 0 for no rating to the number of stars, which is the last argument: 0 or less gives 5, and 16 is the most. Ratings are whole stars. + Keyboard: Tab moves through the chips, and Enter or Space toggles the focused one. The rating is set with the pointer; it has no keys yet. ## Text field +A single-line field that edits text in a buffer you own, with a label, an icon, a hint and an error. The search field is a variant. + ```c static char email[128]; int r = cui_input(ui, "email", email, sizeof email, .label = "Email", .icon = CUI_ICON_MAIL, @@ -178,15 +206,22 @@ Editing: click to place the caret, drag or Shift+arrows to select, double click ## Text area +A multi-line text field that wraps and scrolls. + ```c +static char bio[512], body[4096]; cui_textarea(ui, "bio", bio, sizeof bio, .label = "Bio", .height = 120); cui_textarea(ui, "body", body, sizeof body, .height = -1); /* fill the available height */ ``` Word wraps, scrolls with the wheel, Up and Down move between visual lines. Enter inserts a newline; Ctrl+Enter submits. +Returns the same flags as the text field: `CUI_CHANGED` on a frame the text changes, `CUI_SUBMITTED` when it is submitted, and `CUI_FOCUSED` and `CUI_BLURRED` on the frames it gains and loses the focus. `bio` is your buffer and the next argument its size in bytes, the terminating zero included. The library edits it in place, never writes past it, and drops what does not fit without cutting a UTF-8 character in half. Lines are separated by `\n`. `height` is in points and defaults to 96, and a negative value fills the height left in the container. It takes the options of the text field. For source code, use the code editor. + ## Select and combobox +Picks one item from a list that opens under the field. With search it becomes a combobox. + ```c static int country = 2; const char *items[] = { "Canada", "Denmark", "Germany", "Japan", "Kenya" }; @@ -196,8 +231,12 @@ cui_select(ui, "lang", languages, n, &lang, .searchable = true, .placeholder = " `searchable` adds a filter field at the top of the list (a combobox). Options: `label`, `placeholder`, `icons`, `searchable`, `disabled`, `width`. Keyboard: Up/Down open the list and move the highlight, Enter chooses, Esc closes. +Returns true on the frame the choice changes. `country` is your `int`, the index of the chosen item. A value outside 0 to `count` - 1, such as -1, means nothing is chosen, and the field then shows `placeholder`, or "Select". Choosing an item closes the list, which scrolls once it is taller than 300 points. The search keeps the items that contain the typed text, whatever the case. For several choices use the multi-select, and for two to five options that should stay visible use a segmented control. + ## Date picker and calendar +Picks a date from a month grid, as a field that opens a calendar or as a calendar shown inline. + ```c static cui_date due = { 2026, 11, 14 }; cui_date_picker(ui, "due", &due, .label = "Due date"); @@ -207,31 +246,41 @@ cui_date today = cui_date_today(); Weeks start on Monday. Today has a ring, the selected day is filled. +Both return true on the frame a day is clicked. `due` is your `cui_date`: a year, a month from 1 to 12 and a day. A year of 0 means no date: the picker then shows `placeholder`, or "Pick a date", and the calendar opens on the current month. The picker writes the date and closes. The library keeps only the month in view, under `id`. It starts at the month of the value and after that follows the month buttons, so changing the value from code does not turn the page. `cui_date_today` takes no context and reads the local date from the system clock. For a start and an end, use the date range picker. + Keyboard: Enter or Space on the field opens the calendar and Esc closes it. Inside, Tab moves through the month buttons and the days, and Enter picks the focused day. ## Number field +A field for a number in a range, typed or stepped with its buttons and the arrow keys. + ```c -static double seats = 4; +static double seats = 4, price = 19.99; cui_number(ui, "seats", &seats, 1, 100, .label = "Seats", .step = 1); cui_number(ui, "price", &price, 0, 1e6, .decimals = 2, .suffix = "USD"); ``` Type a value, use the minus and plus buttons, or Up/Down (Shift for 10 steps). Values are clamped to the range. +Returns true on a frame the value changes, which while typing is every keystroke that reads as a different number. `seats` is your `double`. The field shows a value you set from code as soon as it is not focused, and pulls a value outside the range back in on every frame. `step` is what the buttons and the keys add or take away, 1 when not set. `decimals` is how many places are shown, 0 when not set. It does not round the value: 2.5 typed into a field with no decimals stays 2.5 in your variable. + ## Color picker +A swatch that opens a saturation and brightness square, a hue bar and preset swatches. + ```c static cui_color brand = CUI_RGB(0x7747ff); cui_color_picker(ui, "brand", &brand); ``` -A swatch that opens a saturation and brightness square, a hue bar and preset swatches. +Returns true on a frame the color changes, which during a drag is every frame the pointer moves it. `brand` is your `cui_color`, four bytes of red, green, blue and alpha, and `CUI_RGB(0x7747ff)` builds an opaque one from a hex number. The field shows a swatch and the color as `#RRGGBB`. The panel that opens is 240 points wide and holds the square for saturation and brightness, the hue bar and eight preset swatches. There is no alpha control and no field to type a hex value into, and a color picked here is always opaque. A color you change from code shows in the swatch at once, and the panel picks it up the next time it opens. -Keyboard: Enter or Space on the swatch opens the picker, Tab moves through its controls, and Esc closes it. +Keyboard: Enter or Space on the swatch opens the picker and Esc closes it. Inside, the color is picked with the pointer: the square, the hue bar and the presets take no keyboard focus yet. ## Tabs +Switches between views with a row of labels and an underline that slides to the active one. + ```c static int tab = 0; const char *tabs[] = { "Overview", "Analytics", "Reports" }; @@ -242,8 +291,12 @@ switch (tab) { /* content */ } The underline slides to the active tab. Keyboard: Left and Right. Tabs never truncate their labels: when they are wider than their container the strip scrolls sideways, fades at the edge that has more, and brings a newly selected tab into view. +Returns true on the frame the selected tab changes. `tab` is your `int`: the tabs write it on a click and keep it between 0 and `count` - 1. Tabs draw only the strip, so showing the content of the selected tab is your `switch` below it. Set the index from code and the strip scrolls that tab into view. At most 32 tabs are shown. Options: `variant` (`CUI_TABS_UNDERLINE`, the default, or `CUI_TABS_PILL`), `icons` and `full_width`. For a compact choice between views of the same content, use a segmented control. + ## Sidebar navigation +The items and section titles of an app's sidebar, with one highlight that follows the selection. + ```c cui_nav_section(ui, "Workspace"); if (cui_nav_item(ui, "Inbox", .icon = CUI_ICON_INBOX, .badge = "12", .selected = page == 0)) page = 0; @@ -252,20 +305,35 @@ if (cui_nav_item(ui, "Projects", .icon = CUI_ICON_FOLDER, .selected = page == 1) All items of a `group` share one highlight that glides to the selected item. +`cui_nav_item` returns true on the frame it is clicked. It does not remember the selection: you keep the current page, as `page` does above, and pass `.selected` on every frame. The label is also the identity, so two items with the same label in one scope need a key: `"Settings##team"` shows "Settings". `badge` is text, so format a count yourself. Items without a `group` share one common group; name the groups when a window has two separate lists, so each keeps its own highlight. An item fills the width of its container. `cui_nav_section` draws a title above a set of items and returns nothing. + Keyboard: Tab moves through the items, and Enter or Space selects the focused one. ## Breadcrumb, pagination and stepper +Three ways to show position: the path to a page, the page of a list, and the step of a process. + ```c +static int page = 0; +const char *steps[] = { "Account", "Plan", "Payment", "Review" }; + int clicked = cui_breadcrumb(ui, (const char *[]){ "Home", "Projects", "CUI" }, 3); /* index or -1 */ cui_pagination(ui, "pages", &page, page_count); /* page is 0 based */ cui_stepper(ui, steps, 4, current); ``` +`cui_breadcrumb` returns the index of the item that was clicked, or -1. The last item is the current page: it is not a link and is never returned. Each item is told apart by its text, so two levels with the same name need a key, as in `"Docs##2"`. + +`cui_pagination` returns true on the frame the page changes. `page` is your `int`, counted from 0 while the buttons show numbers from 1, and it is kept between 0 and `page_count` - 1. With seven pages or fewer, all are shown. Beyond that the first, the last and the pages around the current one stay, with an ellipsis for each gap. + +`cui_stepper` returns nothing. `current` is the index of the step in progress, from 0: the steps before it are marked done, and passing the number of steps marks them all done. In a narrow row only the current step keeps its label. + Keyboard: Tab moves through the breadcrumb's links and the pagination's page buttons, and Enter or Space follows or presses the focused one. The stepper only displays. ## Dropdown and context menu +A menu of commands that opens from a button, or at the pointer on a right click. + ```c cui_menu(ui, "Options", .icon = CUI_ICON_SETTINGS) { cui_menu_label(ui, "Project"); @@ -284,6 +352,8 @@ Menus open with a short scale and fade from the trigger, close on a click outsid ## Popover +A small floating panel anchored to a control, for content that does not need a dialog. + ```c if (cui_button(ui, "Filters", .icon = CUI_ICON_FILTER)) cui_popover_toggle(ui, "filters"); cui_popover(ui, "filters", .width = 280) { @@ -294,22 +364,30 @@ cui_popover(ui, "filters", .width = 280) { Anchored to the component before it, flips to stay on screen. Options: `placement`, `width`, `pad`, `gap`. +The block runs only while the popover is on screen. You keep no state: the library stores whether it is open under `id`, and `cui_popover_toggle`, `cui_popover_open` and `cui_popover_close` change that from anywhere in the same id scope, while `cui_popover_is_open` reads it. Call `cui_popover` on every frame, right after the control it should hang from, not inside that control's `if`. A press outside closes it. `width` is in points; without it the panel is as wide as its content and at least as wide as its anchor. Use a dialog when the rest of the window must wait, and a dropdown menu for a list of commands. + Keyboard: Enter or Space on the trigger opens the popover. Tab moves through what is inside, and Esc closes it. ## Tooltip +A short label that appears when the pointer rests on a control. + ```c -cui_icon_button(ui, CUI_ICON_BOLD, .tooltip = "Bold", .shortcut = "Ctrl B"); -cui_badge(ui, "Beta"); +cui_icon_button(ui, CUI_ICON_BOLD, .tooltip = "Bold", .shortcut = "Ctrl B"); /* buttons take .tooltip */ +cui_link(ui, "What is beta?"); cui_tooltip(ui, "Features in beta may change"); /* for the previous component */ ``` Appears after a short delay. Moving on to a neighbour while it is open, it glides there and changes its text instead of popping again. +`cui_tooltip` returns nothing and takes no `id`: call it on every frame, right after the component it belongs to. That component must be one that reacts to the pointer, such as a button, a link or a hoverable card. Plain text, a badge and an avatar do not, so a tooltip placed after one of them attaches to whatever interactive component came before. The delay is 0.55 seconds, and none when another tooltip was showing less than 0.4 seconds ago. The text is copied, up to 255 bytes. For a card with its own layout, use a hover card. + Keyboard: a tooltip takes no focus. It belongs to the control before it, which keeps its own keys. ## Dialog +A modal window for a decision or a short form, which blocks the rest of the app until it is closed. + ```c cui_dialog(ui, "Edit profile", &open, .description = "Changes are visible to your team.") { cui_input(ui, "name", name, sizeof name, .label = "Name"); @@ -324,16 +402,24 @@ Modal: the scrim blocks everything behind it. Esc, the close button or a click o ## Sheet +A panel that slides in from an edge. + ```c +static bool open; +if (cui_button(ui, "Notifications")) open = true; cui_sheet(ui, "Notifications", &open, .side = CUI_SIDE_RIGHT, .size = 400) { ... } ``` -A panel that slides in from an edge. Content scrolls. +Content scrolls. + +`open` is your `bool`: the sheet shows while it is true, and the close button, a click on the dimmed window behind and the close key set it to false. Call `cui_sheet` on every frame, not inside the `if` that opens it. The block runs while the sheet is on screen, which includes the slide out after `open` turns false. `side` is `CUI_SIDE_RIGHT` (the default), `CUI_SIDE_LEFT`, `CUI_SIDE_BOTTOM` or `CUI_SIDE_TOP`. `size` is the width in points for a left or right sheet and the height for a top or bottom one; it defaults to 400. `description` adds a line under the title, and the title is also the sheet's identity. Use a sheet for detail beside the page, and a dialog for a short decision. Keyboard: Tab stays inside the open sheet, and Esc closes it. ## Toast +A short message that appears in a corner and goes away by itself, with an optional action. + ```c cui_toast(ui, "Changes saved", .tone = CUI_TONE_SUCCESS); cui_toast(ui, "Upload failed", .description = "The file is larger than 25 MB.", .tone = CUI_TONE_DANGER); @@ -347,6 +433,8 @@ Keyboard: a toast's action button takes Tab, and Enter or Space presses it. Toas ## Command palette +A search box over the app's commands, opened with a shortcut. + ```c static const cui_command commands[] = { { "New project", CUI_ICON_PLUS, "Actions", "Ctrl N" }, @@ -358,8 +446,12 @@ int chosen = cui_command_palette(ui, &palette, commands, 2); /* index or -1 */ Fuzzy search with ranking, grouped results, Up/Down to move, Enter to run, Esc to close. +Returns the index of the chosen command in your array, on the frame it is chosen, and -1 otherwise. `palette` is your `bool`: the palette shows while it is true, and choosing a command, a click outside and the close key set it to false. Each `cui_command` is a title, an icon, a group and a shortcut, and any but the title may be `NULL`. Group headings show while the search is empty, one above each run of commands with the same group, so keep those commands next to each other in the array. The shortcut is only shown as a hint: binding it is `cui_shortcut` in your own code. + ## Alert +An inline message in a tone of information, success, warning or danger, which can be dismissed. + ```c cui_alert(ui, "Payment received", .description = "Paid on November 5.", .tone = CUI_TONE_SUCCESS); cui_alert(ui, "Storage almost full", .tone = CUI_TONE_WARNING, .dismissible = true); @@ -367,10 +459,14 @@ cui_alert(ui, "Storage almost full", .tone = CUI_TONE_WARNING, .dismissible = tr Tones: `CUI_TONE_NEUTRAL` (info), `SUCCESS`, `WARNING`, `DANGER`. Returns false once dismissed. +Returns true while the alert is shown, so `if (!cui_alert(...))` tells you it is gone. The library remembers the dismissal itself, under the alert's title, and a dismissed alert draws nothing from then on. To show the same text again later, give it a new key: `"Storage almost full##2"` shows the same title. An alert without `dismissible` always returns true, and whether to show it at all is your own `if`. Each tone brings its own icon, which `icon` replaces. `description` is a second, wrapping line under the title. For news about the whole view use a banner, and for something that just happened use a toast. + Keyboard: the alert only displays. Its dismiss button, when it has one, takes Tab, and Enter or Space presses it. ## Progress, meter, spinner and skeleton +Ways to show waiting and amounts: a progress bar, a meter against a limit, a spinner, a gauge and placeholder shapes for content that is loading. + ```c cui_progress(ui, 0.68f, .label = "Uploading", .show_value = true); cui_progress(ui, 0, .indeterminate = true); @@ -380,8 +476,12 @@ cui_skeleton(ui, CUI_PCT(60), 12); /* shimmering placeholder */ cui_gauge(ui, "CPU", 0.42f, 130); ``` +None of these returns anything or takes the pointer. `cui_progress` takes a fraction from 0 to 1, clamped, and glides to a new value. With `indeterminate` the value is ignored and a short segment travels along the track. Options: `label` and `show_value`, which add a row above the bar with the name and a whole percentage, `tone`, `height` in points (6) and `width`. `cui_meter` takes an amount, a limit and a unit as text, prints them as "18.4 / 20 GB", and turns amber above 75% and red above 90% of the limit. `cui_spinner` takes its size in points, and 0 means 20. `cui_skeleton` takes a width and a height in points (14 when 0). `cui_gauge` takes a label, a fraction from 0 to 1 and a size in points (140 when 0). + ## Badge, avatar and keycap +Small labels: a badge for a status or a count, an avatar for a person, and a keycap for a keyboard key. + ```c cui_badge(ui, "Active", .tone = CUI_TONE_SUCCESS, .dot = true); cui_badge(ui, "New", .tone = CUI_TONE_INFO, .solid = true); @@ -393,8 +493,12 @@ cui_kbd(ui, "Ctrl Shift P"); Avatars without an image show initials on a color picked from the name, so the same person always gets the same color. +None of these returns anything, keeps state or reacts to the pointer, so a tooltip or a hover card cannot hang from one directly. Badge options: `tone` (any `CUI_TONE_*`, neutral when not set), `dot`, `solid`, `icon` and `size`. `cui_avatar` takes the person's name, which gives the initials and the color. Options: `size`, the diameter in points (32), `image`, a `cui_texture` that replaces the initials, `status` and `square`. `status` is "online", "busy" or "away", and any other word gives a gray dot. `cui_avatar_group` takes an array of names, how many there are, how many to show before a "+N" (4 when 0) and the size (32 when 0). `cui_kbd` takes key names separated by spaces and draws one keycap for each. + ## Card and metric +A card is a surface that groups content. A metric shows one number with its change and an optional sparkline. + ```c cui_card(ui, .gap = 12) { ... } if (cui_card(ui, .id = "project", .hoverable = true)) { ... } /* lifts on hover, returns clicks */ @@ -410,16 +514,22 @@ Keyboard: a `hoverable` card takes Tab, and Enter or Space clicks it. Other card ## Empty state +What to show where there is nothing yet: an icon, a title, a line of help and an action. + ```c if (cui_empty_state(ui, "No projects yet", .icon = CUI_ICON_FOLDER_OPEN, .description = "A project holds your screens, their builds and who can see them.", .action = "New project")) create_project(); ``` +Returns true on the frame its action button is clicked, and always false when there is no `action`. It keeps no state and decides nothing: show it from your own `if`, when the list or the search result is empty. The title is the only required text. `icon` is drawn large and muted above it, `description` wraps under it, and `action` is the label of the button. The block fills the width of its container and centers its content, so give it the area the missing content would fill. + Keyboard: the empty state only displays. Its action button takes Tab, and Enter or Space presses it. ## Table +Rows and columns of your data, with sortable headers, selectable rows and any component in a cell. + ```c cui_table_column cols[] = { { "Name", CUI_FILL, CUI_TEXT_LEFT, true }, /* title, width, align, sortable */ @@ -446,6 +556,8 @@ Keyboard: Tab reaches the headers of sortable columns, and Enter or Space sorts ## List and tree +List rows with an avatar or an icon, a title and a detail line, and a tree of items that fold. + ```c if (cui_list_item(ui, "Design review", .avatar = "Jonas Berg", .subtitle = "Tomorrow at 10:00", .trailing = "45m")) open(); @@ -459,8 +571,14 @@ if (cui_tree_begin(ui, "src", &src_open, NULL)) { Tree keyboard: Right opens, Left closes. +`cui_list_item` returns true on the frame the row is clicked. It keeps no selection: pass `.selected` from your own state. The title is also the identity, so two rows with the same title in one scope need a key (`"Notes##2"`). `avatar` is a person's name and takes the place of `icon`. + +`cui_tree_begin` returns true while the node is open, and only then do you add its children and call `cui_tree_end`. A leaf never opens, so it gets no `cui_tree_end`, as `main.c` shows above. The third argument points at your `bool`, which a click on the node flips; pass `NULL` for a leaf. `cui_tree_clicked` is true on the frame the node of the last `cui_tree_begin` was clicked, so ask right after that call. Children are scoped by their parent, so the same name in two folders is fine. For a tree with columns, use the tree table. + ## Accordion +Sections that fold open and closed under their headers. + ```c static bool open = true; if (cui_accordion_begin(ui, "Is it dependency free?", &open)) { @@ -471,10 +589,14 @@ if (cui_accordion_begin(ui, "Is it dependency free?", &open)) { The content animates its height on a smooth spring and the chevron rotates. +`cui_accordion_begin` returns true while the section is open or still closing, and only then do you add its content and call `cui_accordion_end`, as the `if` above does. `open` is your `bool` and must not be `NULL`: a click on the header flips it, and setting it from code opens or closes the section with the same animation. Each section has its own `bool`, so several can be open at once; to keep one open at a time, clear the others when one turns true. The title is also the identity, so two sections with the same title in one scope need a key (`"Details##billing"`). For a card that opens, use the expandable card. + Keyboard: Tab moves through the headers, and Enter or Space opens or closes the focused one. ## Charts +Line, bar and donut charts and sparklines, with axes, a crosshair and a tooltip on hover. + ```c cui_series s[] = { { "Subscriptions", subs, 12 }, { "Cloud spend", cloud, 12 } }; cui_line_chart(ui, "revenue", s, 2, .labels = months, .label_count = 12, .area = true, .smooth = true, .format = "$%.0fk"); @@ -488,6 +610,8 @@ Charts draw in once, pick nice axis ticks, show a crosshair that glides between ## Image +Shows a picture loaded from a file or made from your own pixels. + ```c int w, h; cui_texture tex = cui_image_load(ui, "photo.jpg", &w, &h); /* PNG or JPEG */ @@ -496,23 +620,32 @@ cui_texture raw = cui_image_create(ui, w, h, rgba_pixels); /* from memory cui_image_destroy(ui, tex); ``` +`cui_image_load` returns a `cui_texture`, or 0 when the file cannot be read or decoded. Call it once, not on every frame, keep the texture for as long as you draw it, and free it with `cui_image_destroy`. `cui_image_create` takes `w * h` pixels of four bytes each, red, green, blue and alpha, and copies them. `cui_image` returns nothing and stretches the texture over the box given by `width` and `height`, 64 by 64 points when they are not set, so work the height out from the pixel size to keep the proportions. + PNG and JPEG are decoded out of the box. Configure with `-DCUI_IMAGE_ALL_FORMATS=ON` to add BMP, GIF and TGA, or `-DCUI_STB_IMAGE=OFF` to leave decoding out and upload your own pixels with `cui_image_create`. ## Radio cards +One choice out of a few, shown as cards with a title and a line of explanation each. + ```c static const cui_choice places[] = { { "This computer", "Nothing leaves the machine.", CUI_ICON_MONITOR, NULL }, /* title, description, icon, badge */ { "Team server", "Synced every few minutes.", CUI_ICON_SERVER, "Default" }, { "Both", "Local, plus a nightly upload.", CUI_ICON_LAYERS, NULL }, }; +static int place = 1; cui_radio_cards(ui, "place", places, 3, &place, .columns = 3); ``` -Bigger targets for choices that need a sentence of explanation. Keyboard: arrows move the selection. +Returns true on the frame the selection changes. `place` is your `int`, the index of the selected card, and a value that matches no card, such as -1, leaves all of them unselected. `places` is your array of `cui_choice`, read every frame: a title, a description, an icon and a badge. `columns` is the number of cards in a row. When it is 0, up to three choices share one row and more are laid out in two columns. A container too narrow for columns of 220 points gets fewer of them, down to one. Use radio cards when each choice needs a sentence of explanation, and `cui_radio_group` or a segmented control when a label says it all. + +Keyboard: arrows move the selection. ## Tag input +A field that turns typed words into removable chips, kept as a comma separated list. + ```c static char tags[256] = "design, c99"; cui_tag_input(ui, "topics", tags, sizeof tags, .label = "Topics", .max_tags = 8); @@ -520,8 +653,12 @@ cui_tag_input(ui, "topics", tags, sizeof tags, .label = "Topics", .max_tags = 8) Tags live in your buffer as a comma separated list. Enter or a comma adds the typed tag, the x on a chip removes it, Backspace in an empty field removes the last one. +Returns true on the frame a tag is added or removed. `tags` is your buffer and the next argument its size in bytes. The library rewrites it as `"design, c99"`, tags joined by a comma and a space. To read the tags, split the text at the commas and trim the spaces. A tag that no longer fits in the buffer is not added. The word being typed is kept by the library and is not in your buffer until it becomes a tag. + ## One time code +A row of boxes for a verification code, filled by typing or pasting. + ```c static char code[7]; /* length + 1 */ if (cui_otp_input(ui, "code", code, 6)) verify(code); /* true once when complete */ @@ -529,15 +666,26 @@ if (cui_otp_input(ui, "code", code, 6)) verify(code); /* true once when comple Type or paste: letters and digits fill the boxes in order, anything else is ignored. Backspace removes the last character. +Returns true once, on the frame the last box is filled, and again only after a character was removed and the code completed anew. `code` is your buffer of `length` + 1 bytes, zero terminated; start it empty, as a `static` array is. The library writes the characters as they were typed, without changing their case. To clear the boxes after a wrong code, set `code[0] = 0`. `length` is the number of boxes, at most 12, and codes of six or more get a gap in the middle. The boxes are 44 points wide and shrink to 30 in a narrow container. + +Keyboard: Tab focuses the boxes as one field. Backspace removes the last character and Esc leaves the field. + ## Password strength +A meter under a password field that scores the password from too short to strong. + ```c +static char pw[64]; cui_input(ui, "pw", pw, sizeof pw, .label = "Password", .password = true); int score = cui_password_strength(ui, pw); /* 0 too short .. 4 strong */ ``` +Returns the score from 0 to 4 and draws four segments with a word beside them: "Too short", "Weak", "Fair", "Good" or "Strong". `pw` is your string, the same buffer the field edits; it is only read, and `NULL` or an empty string scores 0 and shows no word. The score counts simple rules: one point each for 8 characters, for 12 characters, for mixing lower and upper case, for a digit and for any other character, capped at 4, and at 1 while the password is shorter than 8. It does not know common passwords, so enforce your real policy with the field's `error`. The meter uses a fixed internal id, so two meters in one id scope need a `cui_id_scope` each. + ## Button group, copy and hold to confirm +Three small helpers for actions: buttons joined into one group, a button that copies text to the clipboard, and a button that must be held to fire. + ```c cui_button_group(ui) { cui_button(ui, "Bold", .icon = CUI_ICON_BOLD); @@ -549,8 +697,14 @@ if (cui_hold_button(ui, "Hold to delete", .icon = CUI_ICON_TRASH_2)) delete_ever The hold button fills while pressed (or while Space is held with keyboard focus) and fires once when full; let go early and it springs back. Options: `duration` (1.2 s), `icon`, `variant` (danger by default). +`cui_button_group` is a scope that takes no options and returns nothing: each button inside still returns its own click. Buttons in a group are ghost buttons unless they set a `variant`, and share one outline. `cui_copy_button` returns true on the frame it is clicked, after it has put the text on the clipboard; its `id` keeps the check that shows for 1.6 seconds afterwards. `cui_hold_button` returns true once, on the frame the fill completes, and not again until the button is let go. Its label is also its identity, and `duration` is in seconds. Use the hold button where a slip would cost something, and a confirm button where a second click is enough. + +Keyboard: Tab moves through the buttons. Enter or Space presses a button in a group or the copy button, and holding either key fills the hold button. The copy button keeps keyboard focus when the check appears and when it goes away. + ## Timeline and progress ring +A vertical list of events in order, and a ring that fills with a percentage. + ```c cui_timeline_item(ui, "Deployed to production", .time = "2m ago", .description = "Release 1.0.3 is live.", .icon = CUI_ICON_ROCKET, .tone = CUI_TONE_SUCCESS); @@ -558,8 +712,14 @@ cui_timeline_item(ui, "Build failed", .time = "3h ago", .icon = CUI_ICON_CIRCLE_ cui_progress_ring(ui, "Onboarding", 0.72f, 110); ``` +Neither returns anything or takes the pointer. `cui_timeline_item` draws one event: call it once for each event, in order, inside a column. The title is the only required text. `time` is text you format yourself, and `description` wraps under the title. `icon` goes in the round marker, a dot when not set, and `tone` colors the marker. Set `.last = true` on the final item, or its connector line runs on below it. + +`cui_progress_ring` takes a label, a fraction from 0 to 1 and a size in points. The fraction is clamped and shown in the middle as a whole percentage, the ring glides to a new value, and a size of 0 means 96. The label is also the ring's identity, so two rings with the same label in one scope need a key (`"Done##week"`). + ## Reorderable list +A list whose rows the user drags into a new order. + ```c static int order[5] = { 0, 1, 2, 3, 4 }; /* your item indices, in display order */ cui_reorder_begin(ui, "tasks", order, 5); @@ -573,4 +733,6 @@ if (cui_reorder_end(ui)) save_order(order); Press a row and drag: it lifts with a shadow and follows the pointer while the other rows glide out of the way. Dropping rewrites `order`. Buttons inside rows keep working, since a drag only starts after the pointer moves a few points. +`cui_reorder_end` returns true on the frame a drop changes the order. `order` is your array of `count` item indices and must outlive the frame, which is why it is `static` above. The library only moves the numbers in it: your items stay where they are, and you read them through `order[i]`. `cui_reorder_item` takes the display position, not the item index. Rows are told apart by their item index, so each index must appear once. One list handles up to 256 rows. + Keyboard: none yet. Rows are dragged with the pointer; buttons inside rows keep their own keys. diff --git a/skills/cui-sync/SKILL.md b/skills/cui-sync/SKILL.md new file mode 100644 index 0000000..d855d30 --- /dev/null +++ b/skills/cui-sync/SKILL.md @@ -0,0 +1,162 @@ +--- +name: cui-sync +description: Sync the pinned CUI submodule to a newer upstream release and give every function it added a decided status — bump native/CUI, rebuild the native library, regenerate the binding, clear every PENDING in coverage.txt, then move the gallery, docs, numbers and gates with it. Use when bumping CUI, when bindgen stops on an unmigrated section, record or override, when coverage.txt gains a PENDING, or when a new CUI component has to reach C#. +--- + +# Sync CUI + +CuiSharp binds CUI, a C library pinned in `native/CUI`. A sync is five moves in a fixed order, and +one of them — **deciding the status of everything upstream added** — is the whole job; the rest is +mechanism. + +Read this file every time. The two references under `references/` are for the moments this file +points at them, not for the start. + +| Reference | Read it when | Cost | +|---|---|---| +| [`references/bindings.md`](references/bindings.md) | bindgen stopped, or a new field/record/parameter needs an override. Every message → its fix, and the rule behind each. | one read | +| [`references/traps.md`](references/traps.md) | something looks like a generator bug, a gate fails oddly, or a wrapper misbehaves at run time. | one read | + +## Where the sync stands + +```sh +pwsh skills/cui-sync/scripts/sync-status.ps1 +``` + +One command, no greps: the pinned tag against upstream's newest, version drift between +`Directory.Build.props` and the template, the coverage totals, and whether the numbers quoted in +`README.md` and `bindings/README.md` still match `coverage.txt`. It exits non-zero on a `PENDING` or a +stale number, so it is also the last thing to run. + +## 1. See what moved, before reading any code + +```sh +pwsh skills/cui-sync/scripts/cui-api-diff.ps1 -Notes # pinned commit -> newest tag +``` + +It prints the commits, the functions, structs and header sections gained or lost, and upstream's own +changelog section for the release. Read that instead of the diff: the diff is 15 000 lines of C files +being split into phases and says nothing the binding answers for. **A sync with no API change is a +rebuild and a regenerate** — stop reading here and run steps 2 and 3. + +```sh +cd native/CUI && git fetch --tags --all && git checkout && git describe --tags && cd ../.. +``` + +## 2. Rebuild the native library + +```sh +pwsh native/build-native.ps1 # cui.dll, cui.lib, runtimes/native-provenance.txt (cui-rev) +``` + +A locked `cui.dll` means an app is still running; close it. On Linux the CI path is +`native/build-native-container.sh`, which builds inside the glibc baseline image — local syncs on +Windows use the ps1, and the provenance file must name the new revision before you go on. + +## 3. Regenerate — and expect the first run to fail + +```sh +pwsh tools/regen.ps1 -NoNative -NoTest +``` + +The generator stops on the first thing it cannot justify, naming the declaration and the reason. Take +the message to [`references/bindings.md`](references/bindings.md), fix `bindings/overrides.json` or +`tools/bindgen.cs`, run it again. The loop is done when this prints `consistent`: + +```sh +pwsh skills/cui-sync/scripts/sync-status.ps1 # exits 1 on a PENDING or a stale number +``` + +**Exit criteria for the loop** — every function upstream added or changed has exactly one of four +statuses, and each is a decision someone made: + +| Status | Means | Who decides | +|---|---|---| +| `GENERATED` | the generator wrote the wrapper | automatic | +| `MANUAL` | a hand-written partial covers it, and `coverage.txt` names the member **and** the file | you | +| `EXCLUDED` | nothing wraps it, and the `why` is true | you, with a reason a reviewer would accept | +| `RAW-SKIP` | variadic: `cui_textf`-style, unreachable from a managed caller | automatic | + +`PENDING` is not a status. It is unfinished work, and `CoverageAccountTests` fails the build on it. + +If a function is a pure C helper with no `cui_ctx`, it is not a `Ui` member: write it as a static +helper beside its siblings (`src/CuiSharp/Ui/CuiMath.cs`, `CuiRegex.cs`, `CuiCron.cs`, `CuiHttp.cs`, +`CuiFiles.cs`, `CuiQuery.cs`) and register it in **both** `manualWidgets` and `excludedFunctions`. + +## 4. Move the four things that follow the API + +| What | Where | Check | +|---|---|---| +| the numbers in prose | `README.md` "Status", `bindings/README.md` "Current state" | `sync-status.ps1` compares them with `coverage.txt` | +| the public surface | `docs/API-SURFACE.txt` | `pwsh tools/api-surface.ps1`, then the set difference below | +| a gallery page | `samples/CuiSharp.Gallery/Pages/*.cs`, `PageCount` / `PageNames` / `PageIcons`, the `switch` in `GalleryApp.Shell.cs`, the row in `tools/gallery-pages.ps1` | the page draws and clicking it records nothing | +| screenshots | `docs/images/gallery/`, the page list in `tools/snapshots.ps1` | `pwsh tools/snapshots.ps1`; read one PNG | +| the authoring guide | `skills/cui-dotnet/SKILL.md` | a component a *user* meets for the first time gets a bullet; the reference under `api/` and `llms.txt` are generated | + +Review the surface diff by **set difference**, never by reading 1 000 lines: + +```sh +git show HEAD:docs/API-SURFACE.txt | sed 's/^ *//' | sort -u > /tmp/old.txt +sed 's/^ *//' docs/API-SURFACE.txt | sort -u > /tmp/new.txt +comm -23 /tmp/old.txt /tmp/new.txt # removals: must be empty, or exactly what you meant +comm -13 /tmp/old.txt /tmp/new.txt | wc -l +``` + +A new section changes which extension class a member hangs off, so a big diff is normal — a member +that only moved appears in both sets and cancels out. A removal you did not intend is a wrapper you +lost. + +## 5. Version, changelog, budgets + +- New surface is a **minor** bump pre-1.0: `Directory.Build.props` `` **and** the template's + `template.json` `defaultValue`; `TemplateVersionTests` pins the two together. +- `CHANGELOG.md` needs a section for the version being built or `ReleaseNotesTests` fails. Check it + renders: `pwsh tools/release-notes.ps1 -Version x.y.z`. +- A budget that moved is a decision, not a warning: measure it, update the row in + `docs/PERFORMANCE.md` / `docs/SIZE.md` **with the cause**, and say so in the changelog. Frame time + in `docs/PERFORMANCE.md` must not move without the same treatment. + +## 6. The gates, in this order + +```sh +dotnet build CuiSharp.slnx -c Release -warnaserror +dotnet test CuiSharp.slnx -c Release +dotnet format CuiSharp.slnx --verify-no-changes +pwsh tools/regen.ps1 -NoNative -NoDiff # + the generator's 15 contract checks +pwsh tools/api-surface.ps1 # then the set difference in step 4 +pwsh tools/verify-template.ps1 # pack -> new -> build -> test -> AOT -> dotnet cui +dotnet publish samples/CuiSharp.Gallery -c Release -r win-x64 # zero IL2xxx/IL3xxx +pwsh tools/budget-check.ps1 -AotBytes # against docs/PERFORMANCE.md +pwsh tools/budget-check.ps1 -SizeCsv artifacts/size.csv -RequireAll +dotnet run -c Release --project src/CuiSharp.Benchmarks -- --fps 900 +pwsh skills/cui-sync/scripts/sync-status.ps1 # PENDING 0, numbers fresh +``` + +Report what each printed. **A gate you did not run is untested, not passing** — and say which you ran +in isolation rather than as part of a full pass. + +## Done means + +1. `coverage.txt` has no `PENDING`, and every new function has a status you could defend to a reviewer. +2. `api.json`'s diff is understood: added functions wrapped or excluded *with a reason*, removed ones + gone from `overrides.json` (a stale key fails the generator, so silence here is evidence). +3. `sync-status.ps1` exits 0. +4. The public surface diff is empty except what you meant to change. +5. The gallery draws any new component, and its page is in the snapshots. +6. Every gate above printed its own success line — not "probably fine". + +## Hard rules + +- `native/CUI` is **pristine upstream** (ARCHITECTURE D2). Never edit it, never add a patch; native + behaviour belongs upstream. If you think you need one, stop and ask. +- **Never hand-edit a generated file** — `src/CuiSharp/Interop/*.g.cs`, `src/CuiSharp/Ui/*.g.cs`, + `src/CuiSharp/Icons.g.cs`, `src/CuiSharp.Tests/*.g.cs`, `skills/cui-dotnet/{llms.txt,api/*.md}`, + `bindings/{api.json,coverage.txt}`. Change `tools/bindgen.cs` or `bindings/overrides.json`, then + regenerate. +- **One C function, one decided status.** An override is a decision with a `why` a reviewer accepts; + `coverage.txt` is the record of that decision, not a progress bar. +- **Never guess ownership or length.** A pointer parameter does not prove a `ref` is safe, and a + struct field's `int` is not automatically its array's length. Review the C, then express the + decision as an override; `references/bindings.md` says which one. +- The frame path allocates **0 B**, and `Ui` is a `ref struct`: no fields, no capture, no boxing, no + `await`. A sync that breaks either shows up as a failing test, not a warning — do not silence it. diff --git a/skills/cui-sync/references/bindings.md b/skills/cui-sync/references/bindings.md new file mode 100644 index 0000000..50450b2 --- /dev/null +++ b/skills/cui-sync/references/bindings.md @@ -0,0 +1,111 @@ +# Binding rules — what a C declaration becomes in C# + +Read this when bindgen stopped, or when a header change needs a decision. Every rule here is a +decision someone already made once; the C is upstream's and is not ours to change. + +`bindings/README.md` is the schema: every key in `overrides.json`, its fields, and what each one +means. This file is the *thinking*: which key a new declaration needs, and why. + +## The conventions a wrapper follows + +| C | C# | Why | +|---|---|---| +| `cui_button_ex(ui, id, text, opts)` | `ui.Button(id, text, o = default)` | `_ex` is the options variant; the plain name is the friendly one. Only a trailing `_ex` is a suffix (`cui_path_has_extension` keeps its `e`). | +| a header section (`/* ---- Keymap ---- */`) | one `KeymapUiExtensions` extension class in `Ui/Keymap.g.cs` | the section is the file. A new section needs `WidgetModules` in `bindgen.cs`, nothing else. | +| `cui_x_opts` | `XOpts` (`CardOpts` → `Card` when reviewed), fields optional | zero selects the native default, so `o = default` is the whole API | +| `const cui_choice *choices, int count` | `ReadOnlySpan choices` | the count is derived, never passed | +| `cui_choice *choices, int *count` | `Span choices, ref int count` | in-place edit: copied in, called, copied back | +| `char *buf, size_t cap` | `ref string text` | the caller sees a string; the pooled buffer and the capacity stay inside | +| `cui_table_sort *sort`, retained by native | a wrapper-owned record, `ref`-injected | a managed address would dangle; see `parameterStorage` | +| `cui_x_result` returned by value | `XResult` record, returned friendly | a result struct is a record; the wrapper returns `FromNative(result)` | +| `const char *` returned | `string?` | copied, because it is frame memory | +| an `int` carrying bits or an action | the `[Flags]` enum or the enum it names | `returnTypes` names it, so a call site does not cast | + +Three structs, three shapes — deciding which one a new struct is *is* the decision: + +- **options** (`*_opts`): fields only, `ToNative()` into the frame arena, no allocation. +- **record** (`recordNames`): an array item or a result, so it gains a positional constructor, + `ToNative()`, `FromFrameArray`, and `FromNative()` where write-back is meaningful. +- **native** (`Interop.Structs.g.cs`): the raw mirror. Never a public parameter type. + +## The rule that saves the most grief: one length, never two + +A buffer and a number that both say how big it is will disagree, and the widget writes up to the +number. So the length is derived wherever it can be: + +| Situation | Override | Effect on the signature | +|---|---|---| +| `int count` beside a `const T *` | automatic (`IsAdjacentCount`) | count disappears | +| `int count` with a different name | `arrayLengths` (`length`, `emit: false`) | disappears, or stays as a check | +| `int capacity` — the array's length | `capacityParams` (`array`) | disappears; the wrapper passes `.Length` | +| count field in an options struct | automatic (`x` / `x_count`), or `optionFieldCounts` | stays, but hidden from the caller | +| record array with its own count field | automatic (`recordFieldCounts`) | hidden | + +An override that names something upstream renamed fails loudly (`stale override rejected`), and one +without a `why` fails too (`reasonless override rejected`). Both are the reason a rename cannot pass +silently — but they only see keys that exist, so delete keys whose declaration is gone. + +## Reading the messages + +| bindgen says | it means | fix | +|---|---|---| +| `CXType_ConstantArray 'char[24]'` | a struct holds a **nested** C array (`char name[10][24]`) | generator: `ReadStruct` emits one `[InlineArray]` per dimension | +| `header section not migrated: ` (empty title) | the section parser read a title line as a bare rule | generator: `Module()` takes `/* ---- Title ---- */`, rule/title/rule, and an unterminated `/* ---- Title ----` | +| `header section not migrated:
` | a real section nobody migrated | `WidgetModules` in `bindgen.cs` | +| `Unknown module: ` | `excludedModules` names a section that no longer exists, because upstream retitled that file | rename the exclusion to the new titles | +| `PENDING : : needs explicit ownership/length semantics` | a pointer field in an options struct | `optionPointers` (`type: int`, a `ref`), `hiddenOptionFields` (a callback or its `void *`) | +| `PENDING : : array length depends on widget parameters` | an array field whose count lives in the call | `optionFieldCounts` — or, for `const *`, a `recordNames` entry for the element, then the count derives itself | +| `PENDING : : const * needs explicit ownership/length semantics` | the element of a record array is not a record yet | `recordNames` for the element struct (`cui_chart_annotation` → `ChartAnnotation`) | +| `PENDING : is an in-place array of double *, which has no span type yet` | `inOutArrays` names a primitive whose kind has no span type | add the kind to `PrimitiveElement` (and a `Is*Array` helper if the whole type is new) | +| `PENDING : : const * needs explicit pointer semantics`, and the struct holds a bare `const float *` with no count | the length is the **call's**, so it can never be a self-describing record | a hand-written wrapper (`manualWidgets`) that builds the native array in the frame arena, as `Ui.DotChart` does | +| `Argument N must be passed with the 'ref' keyword` from the **raw** layer | `Parameter()` read a non-const plural pointer as one moved scalar | `inOutArrays` or `arrayParams` — an override is consulted before the heuristic | +| `PENDING .` where the field is `char *` / `_Bool *` | an in/out value | `optionTextFields` (buffer + `ref string`), `optionPointers` | +| `PENDING `, and a public option struct vanished from `Options.g.cs` | a pending option is skipped whole, so a hand-written partial using it fails to compile somewhere unrelated | the same fix as any other pending option; the coverage test fails on the `PENDING` line, not the missing type | +| `PENDING : : char * needs explicit pointer semantics` | editable text: `char *buf, size_t cap` | `textFields` (`capacity`, optional `id`) | +| `PENDING : return needs typed result/ownership semantics` | the widget returns a struct by value, or a `const char *` | `recordNames` (result struct), `stringResults` (C string) | +| `PENDING : : native record needs conversion/write-back` | an in/out record parameter | `parameterStorage` (`storage: value`) + `recordNames` | +| `PENDING : : const char *const * needs explicit pointer semantics` | a string array whose count is not adjacent | `arrayLengths` (`emit: false`) | +| `PENDING : not a UI-context function` | no `cui_ctx`: a pure C helper | hand-write it as a static helper, then `manualWidgets` **and** `excludedFunctions`, both naming the member and the file | +| `… needs a mapping` from `FixedArrayField` | a fixed array of a type the record mapper does not know | extend `FixedArrayField` | +| `stale override rejected` / `reasonless override rejected` | an override names something upstream renamed or removed, or has no `why` | fix or delete it | + +## The four decisions that are easy to get wrong + +**`changedWhen` is not decoration, and it only gates records.** Converting a record allocates every +string and fixed array it holds, so the write-back runs only on the frame the widget reports an edit: +`{"count": "count", "changedWhen": "__result != 0"}`. + +**A primitive in-place array is copied back every frame, `changedWhen` or not.** Native sorts and +clamps in place before it draws, and the index it reports refers to *its* order — a wrapper that kept +the caller's unsorted copy would disagree with the value it just returned. A `memcpy` per frame is the +correct price; the gate is the 0 B test, not a flag. + +**A count CUI takes as a pointer comes back to the caller** (`ref int count`, so a widget that adds a +row can say so). A count it takes by value cannot change, so the wrapper copies the array back and +leaves the parameter alone. + +**A capacity is the array's length, and leaves the signature** (`capacityParams`). Check every `int +capacity` a new function grows: the widget writes up to the number it is told, so two numbers for one +buffer is a buffer overrun the type system cannot see. This is the only override that removes public +surface on purpose. + +## Naming, because an app imports two libraries + +Name a public type as if the caller also imports Roslyn or a chat client: `Diagnostic` collided and +became `ProblemItem`, `cui_trace_view` became `TraceViewState` (the member is `TraceView`), `cui_choice` +became `Choice`. Check the name against the namespaces a user of that component would also import +before adding it to `recordNames`, `optionNames` or `typeAliases`. + +## Documentation is part of the wrapper + +The generator carries CUI's own sentences out to IntelliSense and to `skills/cui-dotnet/api/*.md`, in +this order: the comment above the declaration, the one beside it, the comment above the definition in +the C source, the paragraph above the options struct, and — when the widget is the only function that +reads it — the paragraph above the item record or enum that upstream's block actually attached to. + +Two things are never a summary: a section title bar (`---- Terminal ----`), and a note written to +CUI's next reader (`left to right in any interface: see cui__keep_ltr`). `ShippedDocTests` fails on +either reaching the package's XML. + +Do not write a better sentence by hand: **if a wrapper's summary is wrong, fix where it comes from** +(`CleanComment`, `PublicNote`, `ComponentDoc` in `bindgen.cs`) so the next section benefits too. diff --git a/skills/cui-sync/references/traps.md b/skills/cui-sync/references/traps.md new file mode 100644 index 0000000..06cf522 --- /dev/null +++ b/skills/cui-sync/references/traps.md @@ -0,0 +1,78 @@ +# Traps + +Each of these cost someone an hour, and none of them are visible from the code they break. Read this +when something is odd, or before debugging anything you are about to blame on the generator. + +## The generator told the truth and the wrapper lied + +- **A new widget that edits an array keeps the read-only mapping.** If the count is adjacent and by + value, the default read-only array wins over the in/out mapping unless the entry is checked first — + and a toggle that changes nothing is that bug. `inOutArrays` must be consulted before + `IsAdjacentCount`. +- **`ref int count` with a by-value write-back is dead code.** A widget that adds or removes entries + must hand the new length back; the generator once emitted `count = __count;` on a parameter it had + passed by value, which did nothing and read like it did. +- **A pointer plural that is one number.** `float *pos`, `float *progress` end in an `s` and are a + single scalar the widget moves. `Parameter()` narrows the plural heuristic to non-const pointers for + exactly this, so a new one needs nothing — but if it arrives as `ref float` and the C writes through + it, the wrapper is hiding a bug rather than causing one. + +## C ergonomics that look like binding bugs + +- **Multi-line declarations** (`cui_waterfall_ex`) and **`#define` macros over `_ex` functions** + (`cui_kv_editor` is a macro over `cui_kv_editor_ex`): the generator works from the `_ex` function. + The macro is C's default-argument trick and needs nothing. +- **A comment is not a section.** A title comes only from a line with a run of dashes, because the + header is full of `/* dt is the time since the previous frame */`. +- **`size_t` and `uintptr_t` are `nuint`, not `ulong`.** Pointer-sized means 32-bit on wasm32; an + older generator said `ulong` and the ABI test was right to fail. +- **A fixed buffer in a record is text or an array** (`char[N]` → `string?`, `bool[N]` → `bool[]?`), + copied both ways. `CUI_FLAG_ENVS`-style widths mean the caller can get back a longer array than it + passed: that is the C struct's width, not a bug. +- **Two comment blocks above one declaration.** libclang attaches only the adjacent one, so the + paragraph above it is orphaned and unreachable — `cui_code_editor_ex`'s description sits between + `cui_text_mark`'s own one-liner and the struct it follows. It is in `docs/PLAN.md` §3, not a + generator bug to chase. + +## PowerShell + +- **Variable names are case-insensitive**: a local `$notes` *is* the `-Notes` switch. `cui-api-diff.ps1` + names its local `$section` for that reason; the same trap is documented in `tools/snapshots.ps1`. +- **A function called `Git` recurses into itself** when it calls `git`. `Invoke-Git` is named that way. +- **`[System.IO.File]::ReadAllLines` is not a legal MSBuild property function.** The provenance step + uses `ReadLinesFromFile`. If `verify-template.ps1` dies at "packing CuiSharp", that is where to look. + +## Gates that fail for a reason that is not yours + +- **A test that fails only while another build runs.** `DeveloperToolTests.TheAnalysisPagesCostNothing + PerFrame` once failed during an `api-surface.ps1` run that rebuilt the solution, then passed in + isolation and in two full runs. If that returns, investigate instead of widening the threshold. +- **`cui.dll` is locked** while an app is loaded: the native rebuild fails with a sharing violation + until you close the app. On Windows this is the most common false "sync is broken". +- **A regenerated file that is "different" after a no-op sync** means the generator is not + deterministic — `regen.ps1 -NoDiff` exists to catch it, and `BindgenChecks` has a determinism check + that runs the whole plan twice. +- **`api-surface.ps1` rewrites the baseline.** It is a review gate: read the diff before you commit + it, and use the set difference in `SKILL.md` step 4 rather than reading 1 000 lines. + +## Things that are true by design, so do not "fix" them + +- **Charts, texture handles, text-buffer inputs and reorder are hand-written.** `coverage.txt` names + the member and the file for each; `EXCLUDED` and `MANUAL` are decisions, not gaps. +- **`cui_set_strings` / `cui_get_strings` stay `EXCLUDED`.** CUI keeps the pointer and reads it every + frame; the `Localization` owner that makes it safe is written up in `docs/PLAN.md`. +- **A section titled as a group** ("Instruments: dot-matrix chart, event track, readout, dot-matrix + display") is one extension class with four widgets: the section is the file, not the component. +- **An option struct with no `why` on its rename** means it took its default name (`CardOpts`), which + is correct until a reviewer decides the shorter one reads better. + +## Before you call a sync done + +```sh +pwsh skills/cui-sync/scripts/sync-status.ps1 # exit 0: no PENDING, numbers match coverage.txt +git status --short # generated files committed, nothing stray +``` + +The numbers in `README.md` and `bindings/README.md` are the ones a reader trusts; `sync-status.ps1` +compares them with `coverage.txt`, so a stale sync is a failing command rather than a wrong claim +someone notices a release later. diff --git a/skills/sync-cui/scripts/cui-api-diff.ps1 b/skills/cui-sync/scripts/cui-api-diff.ps1 similarity index 96% rename from skills/sync-cui/scripts/cui-api-diff.ps1 rename to skills/cui-sync/scripts/cui-api-diff.ps1 index 00d4af0..0926eeb 100644 --- a/skills/sync-cui/scripts/cui-api-diff.ps1 +++ b/skills/cui-sync/scripts/cui-api-diff.ps1 @@ -9,13 +9,13 @@ section for the target, which already says in prose which components are new. .EXAMPLE - pwsh skills/sync-cui/scripts/cui-api-diff.ps1 # pinned commit -> newest tag + pwsh skills/cui-sync/scripts/cui-api-diff.ps1 # pinned commit -> newest tag .EXAMPLE - pwsh skills/sync-cui/scripts/cui-api-diff.ps1 -From 3d60199 -To v1.3.1 -Notes + pwsh skills/cui-sync/scripts/cui-api-diff.ps1 -From 3d60199 -To v1.3.1 -Notes .EXAMPLE - pwsh skills/sync-cui/scripts/cui-api-diff.ps1 -To e8688b8 # a commit instead of a tag + pwsh skills/cui-sync/scripts/cui-api-diff.ps1 -To e8688b8 # a commit instead of a tag #> [CmdletBinding()] param( diff --git a/skills/cui-sync/scripts/sync-status.ps1 b/skills/cui-sync/scripts/sync-status.ps1 new file mode 100644 index 0000000..eef7604 --- /dev/null +++ b/skills/cui-sync/scripts/sync-status.ps1 @@ -0,0 +1,169 @@ +<# +.SYNOPSIS + Prints where a CUI sync stands, and fails when a number in the docs has drifted. + +.DESCRIPTION + A sync used to start with six greps and two file reads to answer "what am I looking at": which + revision is pinned, whether upstream has moved, which version the two files agree on, and whether + the counts quoted in the READMEs still match coverage.txt. This answers all of it in one call, so + an agent spends its context on the C rather than on arithmetic. + + Exit code 0 means the sync is in a state worth continuing from: no PENDING entry, and every number + the docs quote matches coverage.txt. Exit code 1 means something printed under "stale" is wrong. + +.EXAMPLE + pwsh skills/cui-sync/scripts/sync-status.ps1 + +.EXAMPLE + pwsh skills/cui-sync/scripts/sync-status.ps1 -Submodule ../CUI # another checkout +#> +[CmdletBinding()] +param( + # The CUI checkout to read; defaults to the one this repository pins. + [string] $Submodule +) + +$ErrorActionPreference = 'Stop' + +$root = [System.IO.Path]::GetFullPath((Join-Path $PSScriptRoot '../../..')) +if (-not $Submodule) { $Submodule = Join-Path $root 'native/CUI' } + +$problems = [System.Collections.Generic.List[string]]::new() + +function Section([string] $Title) { Write-Host "`n$Title" -ForegroundColor Cyan } +function Note([string] $Text) { Write-Host " $Text" } +function Problem([string] $Text) { + Write-Host " $Text" -ForegroundColor Red + $problems.Add($Text) +} + +# Not named `Git`: PowerShell resolves the `git` inside it to the function itself, and recurse. +function Invoke-Git([string[]] $Arguments) { + $output = @(& git -C $Submodule @Arguments 2>&1) + if ($LASTEXITCODE -ne 0) { return @() } + return $output +} + +# --- the submodule ----------------------------------------------------------------------------- + +Section 'submodule' +$pinned = @(Invoke-Git @('describe', '--tags', '--always')) -join '' +$head = @(Invoke-Git @('rev-parse', '--short', 'HEAD')) -join '' +if (-not $pinned) { + Problem "no CUI checkout at $Submodule (git submodule update --init --recursive)" +} else { + Note "pinned $pinned ($head)" + $tags = @(Invoke-Git @('tag', '--sort=-v:refname')) | Where-Object { $_ -match '^v\d' } + if ($tags.Count -gt 0) { + $newest = $tags[0].Trim() + $behind = @(Invoke-Git @('rev-list', '--count', "HEAD..$newest")) -join '' + Note "newest $newest ($behind commits ahead)" + if ($pinned -ne $newest -and $behind -ne '0') { Note 'status a bump is available: steps 1-3 of SKILL.md' } + else { Note 'status up to date with the newest tag' } + } +} + +# --- versions ---------------------------------------------------------------------------------- + +Section 'version' +$props = Join-Path $root 'Directory.Build.props' +$version = ([regex]::Match((Get-Content $props -Raw), '([^<]+)')).Groups[1].Value +$template = Join-Path $root 'src/CuiSharp.Templates/CuiSharp.App/.template.config/template.json' +$templateVersion = ([regex]::Match((Get-Content $template -Raw), '"defaultValue":\s*"([0-9][^"]*)"')).Groups[1].Value +$changelog = Join-Path $root 'CHANGELOG.md' +$logged = ([regex]::Match((Get-Content $changelog -Raw), '(?m)^## \[?([0-9][0-9.]*)')).Groups[1].Value +Note "Directory.Build.props $version" +Note "template.json $templateVersion" +Note "CHANGELOG.md newest $logged" +if ($version -ne $templateVersion) { Problem "the template says $templateVersion, the assembly $version (TemplateVersionTests)" } +if ($version -ne $logged) { Problem "CHANGELOG.md's newest section is $logged, the build is $version (ReleaseNotesTests)" } + +# --- coverage ---------------------------------------------------------------------------------- + +Section 'coverage' +$coveragePath = Join-Path $root 'bindings/coverage.txt' +$coverage = Get-Content $coveragePath +$functions = ([regex]::Match((@($coverage) -match 'raw functions covered including scope ends')[-1], '\d+/(\d+)')).Groups[1].Value +$options = ([regex]::Match((@($coverage) -match '^Generated: ') -join '', 'Generated: (\d+)')).Groups[1].Value +$optionsPending = ([regex]::Match((@($coverage) -match '^Generated: ') -join '', 'semantics: (\d+)')).Groups[1].Value +$records = ([regex]::Match((@($coverage) -match 'Data records generated as array items'), 'items: (\d+)')).Groups[1].Value +$wrappers = ([regex]::Match((@($coverage) -match '^Generated wrappers: '), 'wrappers: (\d+)')).Groups[1].Value + +# One entry per C function, from the WIDGETS section on. `-clike`, because PowerShell's `-like` is +# case-insensitive and would count the "Generated wrappers: 277" summary line as a status entry. +$widgets = @($coverage | Select-Object -Skip 113) +function Count-Status([string] $Status) { + @($widgets | Where-Object { $_.StartsWith("$Status ", [StringComparison]::Ordinal) }).Count +} + +$generated = Count-Status 'GENERATED' +$manual = Count-Status 'MANUAL' +$excluded = Count-Status 'EXCLUDED' +$skipped = Count-Status 'RAW-SKIP' +$pending = Count-Status 'PENDING' + +Note "functions $functions (generated $generated, manual $manual, excluded $excluded, variadic $skipped)" +Note "options $options ($optionsPending pending)" +Note "records $records" +Note "wrappers $wrappers generated" +if ($pending -ne 0) { Problem "$pending PENDING entries: a sync is unfinished, see references/bindings.md" } +if ($optionsPending -ne 0) { Problem "$optionsPending option structs are pending: see references/bindings.md" } + +# Generated wrappers include scope-end functions, so the four counts add up to the C total plus one +# entry per `end` function in a begin/end pair. +$total = $generated + $manual + $excluded + $skipped + $pending +if ([int]$functions -gt 0) { Note "entries $total for $functions C functions ($($total - [int]$functions) scope ends)" } + +# --- the numbers the docs quote ---------------------------------------------------------------- + +# The prose repeats the same list in two places. Rather than trust a human to keep it, read the +# numbers out of the sentence and compare them with coverage.txt: a stale sync is then a failed +# command, not a claim someone notices a release later. +$checks = @( + @{ File = 'README.md'; Pattern = '(\d+) CUI [\d.]+ functions'; Value = $functions; What = 'C functions' }, + @{ File = 'README.md'; Pattern = '(\d+) option'; Value = $options; What = 'options' }, + @{ File = 'README.md'; Pattern = '(\d+) records'; Value = $records; What = 'records' }, + @{ File = 'README.md'; Pattern = '(\d+) generated wrappers'; Value = $wrappers; What = 'generated wrappers' }, + @{ File = 'README.md'; Pattern = '(\d+) pending'; Value = $pending; What = 'pending' }, + @{ File = 'bindings/README.md'; Pattern = '(\d+)\*\* option structs'; Value = $options; What = 'options' }, + @{ File = 'bindings/README.md'; Pattern = '(\d+)\*\* data records'; Value = $records; What = 'records' }, + @{ File = 'bindings/README.md'; Pattern = '(\d+)\*\* generated wrappers'; Value = $wrappers; What = 'generated wrappers' }, + @{ File = 'bindings/README.md'; Pattern = '(\d+)\*\*\s*deliberate'; Value = $manual; What = 'manual wrappers' }, + @{ File = 'bindings/README.md'; Pattern = '(\d+)\*\* excluded'; Value = $excluded; What = 'excluded' }, + @{ File = 'bindings/README.md'; Pattern = '(\d+)\*\*\s*variadic'; Value = $skipped; What = 'variadic skipped' }, + @{ File = 'bindings/README.md'; Pattern = '(\d+)\*\*\s*pending'; Value = $pending; What = 'pending' }, + @{ File = 'bindings/README.md'; Pattern = '(\d+)\s*C\s*functions'; Value = $functions; What = 'C functions' } +) + +Section 'numbers in the docs' +foreach ($check in $checks) { + $path = Join-Path $root $check.File + $text = Get-Content $path -Raw + $found = [regex]::Match($text, $check.Pattern) + if (-not $found.Success) { Problem "$($check.File): no '$($check.What)' sentence to compare" ; continue } + $quoted = $found.Groups[1].Value + if ($quoted -ne $check.Value) { + Problem "$($check.File) says $quoted $($check.What), coverage.txt says $($check.Value)" + } else { + Note "$($check.File): $($check.What) $quoted ok" + } +} + +# The gallery's own count: `PageCount` is what the app draws, `PageNames` is what the shell shows, and +# the two disagreeing means a page is unreachable rather than missing. +$app = Get-Content (Join-Path $root 'samples/CuiSharp.Gallery/GalleryApp.cs') -Raw +$pageCount = ([regex]::Match($app, 'PageCount = (\d+)')).Groups[1].Value +$names = [regex]::Match($app, 'PageNames\s*=\s*\{(?.*?)\}', 'Singleline').Groups['body'].Value +$named = [regex]::Matches($names, '"[^"]+"').Count +Note "gallery PageCount $pageCount, $named names" +if ($pageCount -ne "$named") { Problem "GalleryApp says $pageCount pages but PageNames lists $named" } + +# --- verdict ----------------------------------------------------------------------------------- + +Write-Host '' +if ($problems.Count -gt 0) { + Write-Host "$($problems.Count) thing(s) to fix before or after the sync." -ForegroundColor Yellow + exit 1 +} + +Write-Host 'consistent: no PENDING, and every quoted number matches coverage.txt.' -ForegroundColor Green diff --git a/skills/sync-cui/SKILL.md b/skills/sync-cui/SKILL.md deleted file mode 100644 index 584b83f..0000000 --- a/skills/sync-cui/SKILL.md +++ /dev/null @@ -1,168 +0,0 @@ ---- -name: sync-cui -description: Sync the pinned CUI submodule to a newer upstream release and cover the API it added — bump native/CUI, rebuild the native library, regenerate the binding, clear every PENDING entry in coverage.txt, then move the gallery, docs and gates with it. Use when bumping CUI, when bindgen reports unmigrated sections or records, or when a new CUI component has to reach C#. ---- - -# Sync CUI - -CuiSharp binds CUI, a C library pinned in `native/CUI`. A sync is four things that must happen in -this order: bump the submodule, rebuild the native library, regenerate the binding, and **decide the -status of every function upstream added**. `docs/ARCHITECTURE.md` says why the rules exist; -`AGENTS.md` says what "done" means. This file is the procedure, and the error→fix table in step 3 is -the part that costs the most to rediscover. - -## 0. Three rules before you type - -- `native/CUI` is **pristine upstream** (D2). Never edit it; never add `native/patches/*.patch`. -- Never hand-edit a generated file. Every fix is in `tools/bindgen.cs` or `bindings/overrides.json`, - then `pwsh tools/regen.ps1`. -- One C function, one decided status. A `PENDING` line in `bindings/coverage.txt` is unfinished work, - not a known limitation. `EXCLUDED` needs a reason that is actually true. - -## 1. See what moved, before reading any code - -```sh -pwsh skills/sync-cui/scripts/cui-api-diff.ps1 -Notes # pinned commit -> newest tag -``` - -It prints the commits, the functions and structs gained or lost, the new header sections, and -upstream's own changelog section. Read that instead of the diff — the diff is 15 000 lines of C files -being split into phases, and none of it touches the binding. A sync with **no** API change is only a -rebuild and a regenerate. - -Then pin it: - -```sh -cd native/CUI && git fetch --tags --all && git checkout && git describe --tags && cd ../.. -``` - -## 2. Rebuild the native library - -```sh -pwsh native/build-native.ps1 # cui.dll, cui.lib, native-provenance.txt (records cui-rev) -``` - -A locked `cui.dll` means an app is still running. Close it. - -## 3. Regenerate — and expect the first run to fail - -```sh -pwsh tools/regen.ps1 -NoNative -NoTest -``` - -The generator stops on the first thing it cannot justify. Each message names its own fix: - -| bindgen says | it means | fix in `overrides.json` / generator | -|---|---|---| -| `Unhandled exception … CXType_ConstantArray 'char[24]'` | a struct holds a **nested** C array (`char name[10][24]`) | generator: `ReadStruct` emits one `[InlineArray]` per dimension | -| `PENDING x: header section not migrated: ` (empty) | the section parser read a title line as a bare rule | generator: `Module()` must take both `/* ---- Title ---- */` and rule/title/rule, plus `/* ---- Title ----` with no close | -| `PENDING x: header section not migrated:
` | a real section nobody migrated | `WidgetModules` in `bindgen.cs` | -| `Unknown module: ` | `excludedModules` names a section that no longer exists, because upstream added titles to that file | rename the exclusion to the new section names | -| `PENDING : : needs explicit ownership/length semantics` | a pointer field in an options struct | `optionPointers` (`"type": "int"`, a `ref`), `hiddenOptionFields` (a callback) | -| `PENDING : : array length depends on widget parameters` | an array field whose count has a different name | `optionFieldCounts` (`{"count": ""}`) | -| `PENDING .` where a field is `char *`/`_Bool *` | an in/out value | `optionTextFields` (buffer + `ref string`), `optionPointers` | -| `PENDING : : char * needs explicit pointer semantics` | editable text: `char *buf, size_t cap` | `textFields` (`"capacity": ""`, optional `"id"`) | -| `PENDING : return needs typed result/ownership semantics` | the widget returns a struct by value, or a `const char *` | `recordNames` (the result struct), `stringResults` (the C string) | -| `PENDING : : native record needs conversion/write-back` | an in/out record parameter | `parameterStorage` (`"storage": "value"`) + `recordNames` for the struct | -| `PENDING : : const char *const * needs explicit pointer semantics` | a string array whose count is not adjacent | `arrayLengths` (`{"length": "", "emit": false}`) | -| `PENDING : not a UI-context function` | no `cui_ctx`: a pure C helper | a hand-written static helper, then `manualWidgets` **and** `excludedFunctions`, both naming the member and the file | -| `… needs a mapping` from `FixedArrayField` | a fixed array of a type the record mapper does not know | extend `FixedArrayField` | -| `stale override rejected` / `reasonless override rejected` | an override names something upstream renamed or removed — or has no `why` | fix or delete it. This self-check is why a rename cannot pass silently | - -Snippets worth knowing: - -- **`inOutArrays`** is a record array the widget edits: `{"count": "count", "changedWhen": "__result != 0"}`. - `changedWhen` is not decoration — converting a record allocates every string and fixed array it - holds, so an ungated write-back costs bytes on every frame. The frame-budget test catches it. -- A **count CUI takes as a pointer** comes back to the caller (`ref int count`); a count it takes by - value cannot change, so the wrapper copies the records back only. -- **Result structs are records too.** `recordNames` gives them `FromNative`, and the wrapper returns - the friendly type instead of a `Native*` struct — that is the whole "typed result" convention. -- A fixed buffer in a record is text (`char[N]` → `string?`) or an array (`bool[N]` → `bool[]?`), - copied both ways. `CUI_FLAG_ENVS`-style widths mean the caller may get back a longer array than it - passed; that is the C struct's width, not a bug. - -Loop until the coverage is empty, then confirm: - -```sh -pwsh tools/regen.ps1 -NoNative -NoTest -grep -c PENDING bindings/coverage.txt # must print 0 -sed -n '1,4p' bindings/coverage.txt # option gaps also 0 -``` - -## 4. Cover what the generator refuses to guess - -Anything in the `not a UI-context function` row is a static helper, not a `Ui` member. Put it beside -its siblings (`src/CuiSharp/Ui/CuiMath.cs`, `CuiFiles.cs`, and one file per domain — `CuiRegex.cs`, -`CuiCron.cs`, `CuiHttp.cs`, `CuiQuery.cs`), give it XML docs on **every** parameter (`-warnaserror` -fails with CS1573 otherwise), and register it in both `manualWidgets` and `excludedFunctions`. - -Name public types as if an app imports two libraries: `Diagnostic` collides with Roslyn and had to be -`ProblemItem`. Check the type name against the namespaces a user of that component would also import. - -## 5. Move the four things that follow the API - -| What | Where | Check | -|---|---|---| -| counts in prose | `bindings/README.md` "Current state", `README.md` "Status" | they must equal `coverage.txt` and the function total | -| the public surface | `docs/API-SURFACE.txt` | `pwsh tools/api-surface.ps1`, then review | -| a gallery page | `samples/CuiSharp.Gallery/Pages/*.cs`, `PageCount`, `PageNames`, `PageIcons`, the `switch` in `GalleryApp.Shell.cs` | the page draws and reports nothing clicked | -| screenshots | `docs/images/gallery/`, `tools/snapshots.ps1` page list | `pwsh tools/snapshots.ps1`; read one PNG | - -Review the surface diff by **set difference**, not by reading 1000 lines: - -```sh -git show HEAD:docs/API-SURFACE.txt | sed 's/^ *//' | sort -u > /tmp/old.txt -sed 's/^ *//' docs/API-SURFACE.txt | sort -u > /tmp/new.txt -comm -23 /tmp/old.txt /tmp/new.txt # must be empty, or exactly what you meant to change -comm -13 /tmp/old.txt /tmp/new.txt | wc -l -``` - -A new section changes which extension class a member hangs off, so a large diff is expected: members -that only moved appear in both sets and cancel out. A removal that is *not* intentional is a wrapper -you lost. - -## 6. Version, changelog, budgets - -- New surface is a **minor** bump pre-1.0: `Directory.Build.props` `` **and** the template's - `template.json` `CuiSharpVersion` (a test pins the two together). -- `CHANGELOG.md` needs a dated section for the version being built or `ReleaseNotesTests` fails. Check - it renders as a release page: `pwsh tools/release-notes.ps1 -Version x.y.z`. -- An AOT binary that grew past its written budget is a decision, not a warning: measure it, update - the row in `docs/PERFORMANCE.md` **with the cause**, and say so in the changelog. Frame time must - not move. - -## 7. The gates, in this order - -```sh -dotnet build CuiSharp.slnx -c Release -warnaserror -dotnet test CuiSharp.slnx -c Release -dotnet format CuiSharp.slnx --verify-no-changes -pwsh tools/regen.ps1 -NoNative -NoDiff # + the 13 generator contract checks -pwsh tools/api-surface.ps1 # and the set-difference review in step 5 -pwsh tools/verify-template.ps1 # pack -> new -> build -> test -> AOT -> analyzers -> dotnet cui -dotnet publish samples/CuiSharp.Gallery -c Release -r win-x64 # zero IL2xxx/IL3xxx -pwsh tools/budget-check.ps1 -AotBytes # against docs/PERFORMANCE.md -dotnet run -c Release --project src/CuiSharp.Benchmarks -- --fps 900 -``` - -Report what each printed. A gate you did not run is untested, not passing. - -## 8. Traps that cost time - -- **`dotnet pack` and `[System.IO.File]::ReadAllLines`**: not a legal MSBuild property function; the - provenance step reads the file with `ReadLinesFromFile`. If `verify-template.ps1` dies at "packing - CuiSharp", that is where to look. -- **A new widget that edits an array**: if the count is adjacent and by value, the default read-only - array mapping wins over `inOutArrays` unless the override is checked first. A toggle that does - nothing is that bug. -- **`ref int count`**: a widget that can add or remove entries must hand the new length back. A - by-value count with a `count = __count;` write-back is dead code — the generator used to emit - exactly that. -- **Multi-line declarations** (`cui_waterfall_ex`) and **declarations split across `#define` macros** - (`cui_kv_editor` is a macro over `cui_kv_editor_ex`): the generator works from the `_ex` function; - the macro is the C ergonomics default-argument trick and needs nothing. -- **PowerShell is case-insensitive**: a local called `$notes` *is* the `-Notes` switch. The same trap - is documented in `tools/snapshots.ps1`. -- **A comment is not a section.** The generator only takes a title from a line with a run of dashes, - because CUI's header is full of `/* dt is the time since the previous frame */`. diff --git a/src/CuiSharp.Templates/CuiSharp.App/.template.config/template.json b/src/CuiSharp.Templates/CuiSharp.App/.template.config/template.json index 0a871de..0641329 100644 --- a/src/CuiSharp.Templates/CuiSharp.App/.template.config/template.json +++ b/src/CuiSharp.Templates/CuiSharp.App/.template.config/template.json @@ -20,7 +20,7 @@ "CuiSharpVersion": { "type": "parameter", "datatype": "text", - "defaultValue": "0.3.3", + "defaultValue": "0.4.0", "replaces": "__CUISHARP_VERSION__", "description": "The CuiSharp package version the generated solution references. Defaults to the version this template shipped with." } diff --git a/src/CuiSharp.Tests/Abi.g.cs b/src/CuiSharp.Tests/Abi.g.cs index 108177c..d5eda85 100644 --- a/src/CuiSharp.Tests/Abi.g.cs +++ b/src/CuiSharp.Tests/Abi.g.cs @@ -640,10 +640,22 @@ public void NativeSeries_MatchesC() Assert.Equal(20, (int)Marshal.OffsetOf(nameof(NativeSeries.Color))); } + [Fact] + public void NativeChartAnnotation_MatchesC() + { + Assert.Equal(48, Unsafe.SizeOf()); + Assert.Equal(0, (int)Marshal.OffsetOf(nameof(NativeChartAnnotation.Kind))); + Assert.Equal(8, (int)Marshal.OffsetOf(nameof(NativeChartAnnotation.X))); + Assert.Equal(16, (int)Marshal.OffsetOf(nameof(NativeChartAnnotation.Y))); + Assert.Equal(24, (int)Marshal.OffsetOf(nameof(NativeChartAnnotation.Label))); + Assert.Equal(32, (int)Marshal.OffsetOf(nameof(NativeChartAnnotation.Detail))); + Assert.Equal(40, (int)Marshal.OffsetOf(nameof(NativeChartAnnotation.Accent))); + } + [Fact] public void NativeChartOpts_MatchesC() { - Assert.Equal(56, Unsafe.SizeOf()); + Assert.Equal(72, Unsafe.SizeOf()); Assert.Equal(0, (int)Marshal.OffsetOf(nameof(NativeChartOpts.Sentinel))); Assert.Equal(4, (int)Marshal.OffsetOf(nameof(NativeChartOpts.Width))); Assert.Equal(12, (int)Marshal.OffsetOf(nameof(NativeChartOpts.Height))); @@ -657,6 +669,8 @@ public void NativeChartOpts_MatchesC() Assert.Equal(40, (int)Marshal.OffsetOf(nameof(NativeChartOpts.Format))); Assert.Equal(48, (int)Marshal.OffsetOf(nameof(NativeChartOpts.Min))); Assert.Equal(52, (int)Marshal.OffsetOf(nameof(NativeChartOpts.Max))); + Assert.Equal(56, (int)Marshal.OffsetOf(nameof(NativeChartOpts.Annotations))); + Assert.Equal(64, (int)Marshal.OffsetOf(nameof(NativeChartOpts.AnnotationCount))); } [Fact] @@ -3343,6 +3357,104 @@ public void NativeApiExplorerResult_MatchesC() Assert.Equal(4, (int)Marshal.OffsetOf(nameof(NativeApiExplorerResult.TryIt))); } + [Fact] + public void NativeDotSeries_MatchesC() + { + Assert.Equal(24, Unsafe.SizeOf()); + Assert.Equal(0, (int)Marshal.OffsetOf(nameof(NativeDotSeries.Values))); + Assert.Equal(8, (int)Marshal.OffsetOf(nameof(NativeDotSeries.Name))); + Assert.Equal(16, (int)Marshal.OffsetOf(nameof(NativeDotSeries.Accent))); + } + + [Fact] + public void NativeDotChartOpts_MatchesC() + { + Assert.Equal(104, Unsafe.SizeOf()); + Assert.Equal(0, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.Sentinel))); + Assert.Equal(4, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.Width))); + Assert.Equal(12, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.Height))); + Assert.Equal(16, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.XMin))); + Assert.Equal(24, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.XMax))); + Assert.Equal(32, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.XUnits))); + Assert.Equal(40, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.XFormat))); + Assert.Equal(48, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.XStep))); + Assert.Equal(56, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.Min))); + Assert.Equal(60, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.Max))); + Assert.Equal(64, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.Format))); + Assert.Equal(72, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.Unit))); + Assert.Equal(80, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.Pitch))); + Assert.Equal(84, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.NoGrid))); + Assert.Equal(85, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.NoAxis))); + Assert.Equal(86, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.NoReadout))); + Assert.Equal(88, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.Annotations))); + Assert.Equal(96, (int)Marshal.OffsetOf(nameof(NativeDotChartOpts.AnnotationCount))); + } + + [Fact] + public void NativeDotChartResult_MatchesC() + { + Assert.Equal(24, Unsafe.SizeOf()); + Assert.Equal(0, (int)Marshal.OffsetOf(nameof(NativeDotChartResult.Hovered))); + Assert.Equal(8, (int)Marshal.OffsetOf(nameof(NativeDotChartResult.X))); + Assert.Equal(16, (int)Marshal.OffsetOf(nameof(NativeDotChartResult.Value))); + Assert.Equal(20, (int)Marshal.OffsetOf(nameof(NativeDotChartResult.Clicked))); + } + + [Fact] + public void NativeEventTrackOpts_MatchesC() + { + Assert.Equal(64, Unsafe.SizeOf()); + Assert.Equal(0, (int)Marshal.OffsetOf(nameof(NativeEventTrackOpts.Sentinel))); + Assert.Equal(4, (int)Marshal.OffsetOf(nameof(NativeEventTrackOpts.Width))); + Assert.Equal(16, (int)Marshal.OffsetOf(nameof(NativeEventTrackOpts.Step))); + Assert.Equal(24, (int)Marshal.OffsetOf(nameof(NativeEventTrackOpts.Units))); + Assert.Equal(32, (int)Marshal.OffsetOf(nameof(NativeEventTrackOpts.Format))); + Assert.Equal(40, (int)Marshal.OffsetOf(nameof(NativeEventTrackOpts.LabelStep))); + Assert.Equal(48, (int)Marshal.OffsetOf(nameof(NativeEventTrackOpts.Selected))); + Assert.Equal(56, (int)Marshal.OffsetOf(nameof(NativeEventTrackOpts.NoAdd))); + Assert.Equal(57, (int)Marshal.OffsetOf(nameof(NativeEventTrackOpts.NoRemove))); + Assert.Equal(58, (int)Marshal.OffsetOf(nameof(NativeEventTrackOpts.NoAxis))); + } + + [Fact] + public void NativeEventTrackResult_MatchesC() + { + Assert.Equal(20, Unsafe.SizeOf()); + Assert.Equal(0, (int)Marshal.OffsetOf(nameof(NativeEventTrackResult.Changed))); + Assert.Equal(4, (int)Marshal.OffsetOf(nameof(NativeEventTrackResult.Added))); + Assert.Equal(8, (int)Marshal.OffsetOf(nameof(NativeEventTrackResult.Removed))); + Assert.Equal(12, (int)Marshal.OffsetOf(nameof(NativeEventTrackResult.Selected))); + Assert.Equal(16, (int)Marshal.OffsetOf(nameof(NativeEventTrackResult.Dragging))); + } + + [Fact] + public void NativeReadoutOpts_MatchesC() + { + Assert.Equal(48, Unsafe.SizeOf()); + Assert.Equal(0, (int)Marshal.OffsetOf(nameof(NativeReadoutOpts.Sentinel))); + Assert.Equal(8, (int)Marshal.OffsetOf(nameof(NativeReadoutOpts.Unit))); + Assert.Equal(16, (int)Marshal.OffsetOf(nameof(NativeReadoutOpts.Detail))); + Assert.Equal(24, (int)Marshal.OffsetOf(nameof(NativeReadoutOpts.Size))); + Assert.Equal(28, (int)Marshal.OffsetOf(nameof(NativeReadoutOpts.Tone))); + Assert.Equal(32, (int)Marshal.OffsetOf(nameof(NativeReadoutOpts.Accent))); + Assert.Equal(36, (int)Marshal.OffsetOf(nameof(NativeReadoutOpts.Align))); + Assert.Equal(40, (int)Marshal.OffsetOf(nameof(NativeReadoutOpts.Width))); + } + + [Fact] + public void NativeDotDisplayOpts_MatchesC() + { + Assert.Equal(28, Unsafe.SizeOf()); + Assert.Equal(0, (int)Marshal.OffsetOf(nameof(NativeDotDisplayOpts.Sentinel))); + Assert.Equal(4, (int)Marshal.OffsetOf(nameof(NativeDotDisplayOpts.Pitch))); + Assert.Equal(8, (int)Marshal.OffsetOf(nameof(NativeDotDisplayOpts.Color))); + Assert.Equal(12, (int)Marshal.OffsetOf(nameof(NativeDotDisplayOpts.Accent))); + Assert.Equal(13, (int)Marshal.OffsetOf(nameof(NativeDotDisplayOpts.NoDim))); + Assert.Equal(14, (int)Marshal.OffsetOf(nameof(NativeDotDisplayOpts.Marquee))); + Assert.Equal(16, (int)Marshal.OffsetOf(nameof(NativeDotDisplayOpts.Align))); + Assert.Equal(20, (int)Marshal.OffsetOf(nameof(NativeDotDisplayOpts.Width))); + } + [Fact] public void NativeCorners_MatchesC() { @@ -3415,7 +3527,7 @@ public void NativeDrawData_MatchesC() [Fact] public void NativeAppDesc_MatchesC() { - Assert.Equal(48, Unsafe.SizeOf()); + Assert.Equal(56, Unsafe.SizeOf()); Assert.Equal(0, (int)Marshal.OffsetOf(nameof(NativeAppDesc.Title))); Assert.Equal(8, (int)Marshal.OffsetOf(nameof(NativeAppDesc.Width))); Assert.Equal(12, (int)Marshal.OffsetOf(nameof(NativeAppDesc.Height))); @@ -3429,6 +3541,7 @@ public void NativeAppDesc_MatchesC() Assert.Equal(32, (int)Marshal.OffsetOf(nameof(NativeAppDesc.Theme))); Assert.Equal(36, (int)Marshal.OffsetOf(nameof(NativeAppDesc.Accent))); Assert.Equal(40, (int)Marshal.OffsetOf(nameof(NativeAppDesc.FollowSystemTheme))); + Assert.Equal(48, (int)Marshal.OffsetOf(nameof(NativeAppDesc.AppId))); } [Fact] diff --git a/src/CuiSharp.Tests/CoverageAccountTests.cs b/src/CuiSharp.Tests/CoverageAccountTests.cs new file mode 100644 index 0000000..be46a5d --- /dev/null +++ b/src/CuiSharp.Tests/CoverageAccountTests.cs @@ -0,0 +1,34 @@ +namespace CuiSharp.Tests; + +/// +/// bindings/coverage.txt is the account of every C function CUI exports: wrapped, hand +/// written, or excluded with a reason. PENDING is the generator saying it does not yet know +/// what to do with something, which is unfinished work, not a known limitation — and a pending +/// option struct quietly stops being emitted, so the next build fails somewhere else entirely. +/// +public class CoverageAccountTests +{ + [Fact] + public void NothingIsPending() + { + string[] pending = File.ReadAllLines(Path.Combine(TestPaths.RepositoryRoot, "bindings", "coverage.txt")) + .Where(line => line.StartsWith("PENDING ", StringComparison.Ordinal)) + .ToArray(); + + Assert.True(pending.Length == 0, + "bindings/coverage.txt has unfinished entries; the sync rules in skills/cui-sync/SKILL.md say how to decide them:" + + Environment.NewLine + string.Join(Environment.NewLine, pending)); + } + + [Fact] + public void EveryExclusionSaysWhyItIsOne() + { + // EXCLUDED without a reason is a function nobody decided about, wearing a decision's name. + string[] silent = File.ReadAllLines(Path.Combine(TestPaths.RepositoryRoot, "bindings", "coverage.txt")) + .Where(line => line.StartsWith("EXCLUDED ", StringComparison.Ordinal)) + .Where(line => line[(line.IndexOf(':') + 1)..].Trim().Length < 20) + .ToArray(); + + Assert.Empty(silent); + } +} diff --git a/src/CuiSharp.Tests/DeveloperToolTests.cs b/src/CuiSharp.Tests/DeveloperToolTests.cs index 69dbe20..085bd49 100644 --- a/src/CuiSharp.Tests/DeveloperToolTests.cs +++ b/src/CuiSharp.Tests/DeveloperToolTests.cs @@ -166,8 +166,8 @@ public void TheEditorToolsKeepWhatTheCallerPassed() var pixels = Frame(surface, ui => { - ui.KvEditor("headers", headers, ref headerCount, headers.Length); - ui.QueryBuilder("query", QueryFields, nodes, ref nodeCount, nodes.Length); + ui.KvEditor("headers", headers, ref headerCount); + ui.QueryBuilder("query", QueryFields, nodes, ref nodeCount); ui.SchedulePicker("schedule", ref cron, 128); ui.Keymap("keymap", [ @@ -365,8 +365,8 @@ public void TheAnalysisPagesCostNothingPerFrame() ui.Problems("problems", OneProblem); // The editing and reporting tools, drawn with the same state every frame. - ui.KvEditor("headers", headers, ref headerCount, headers.Length); - ui.QueryBuilder("query", QueryFields, nodes, ref nodeCount, nodes.Length); + ui.KvEditor("headers", headers, ref headerCount); + ui.QueryBuilder("query", QueryFields, nodes, ref nodeCount); ui.SchedulePicker("schedule", ref cron, 128); ui.Keymap("keymap", bindings, ref mods, keymapOpts); ui.TestExplorer("tests", testItems, new TestExplorerOpts { Height = 180 }); diff --git a/src/CuiSharp.Tests/InstrumentTests.cs b/src/CuiSharp.Tests/InstrumentTests.cs new file mode 100644 index 0000000..2ef5fe4 --- /dev/null +++ b/src/CuiSharp.Tests/InstrumentTests.cs @@ -0,0 +1,117 @@ +namespace CuiSharp.Tests; + +/// +/// The instruments CUI 1.4 added. Each draws a real headless frame, so a wrapper that passes the +/// wrong pointer, count or option field fails here rather than in an app, and what the component +/// reports back is checked against what was passed in. +/// +public class InstrumentTests +{ + private const int Width = 900; + private const int Height = 700; + + private static byte[] Frame(CuiSurface surface, DrawFn draw) + { + var pixels = new byte[surface.PixelWidth * surface.PixelHeight * 4]; + surface.Draw(draw, pixels); + Assert.Empty(surface.Faults); + return pixels; + } + + [Fact] + public void TheInstrumentsDrawAndReportNothingWhenNobodyTouchedThem() + { + if (!OperatingSystem.IsWindows()) return; + + using var surface = CuiSurface.Create(Width, Height); + // Out of order on purpose: the track keeps its events sorted, so this is also the + // input to the ordering test below. + var times = new[] { 12.25, 8.0, 11.0, 0, 0, 0, 0, 0 }; + var count = 3; + var selected = -1; + + var pixels = Frame(surface, ui => + { + var chart = ui.DotChart("mg", [new DotSeries([10f, 40f, 90f, 130f], "Caffeine", accent: true)], 4, + new DotChartOpts { XMin = 6, XMax = 30, Unit = "mg", XUnits = AxisUnits.Hours }); + Assert.Equal(-1, chart.Hovered); + Assert.False(chart.Clicked); + + var track = ui.EventTrack("cups", times, ref count, 6, 30, ref selected, new EventTrackOpts { Step = 0.25 }); + Assert.False(track.Changed); + Assert.Equal(-1, selected); + + ui.Readout("STILL IN YOU AT 23:00", "54", new ReadoutOpts { Unit = "MG", Detail = "under the line by 00:10" }); + ui.DotDisplay("23:00", new DotDisplayOpts { Pitch = 5 }); + }); + + Assert.Contains(pixels, b => b != 0); + } + + [Fact] + public void TheEventTrackSortsAndClampsTheEventsItWasGiven() + { + if (!OperatingSystem.IsWindows()) return; + + using var surface = CuiSurface.Create(Width, Height); + // 40 is off the end of the 6..30 axis and 12.25 comes before 8. Native does both + // before it draws anything, and reports neither as a change, so the wrapper has to + // copy the array back anyway or the caller keeps a copy native no longer agrees with. + var times = new[] { 12.25, 8.0, 40.0, 0, 0 }; + var count = 3; + var selected = -1; + + Frame(surface, ui => ui.EventTrack("cups", times, ref count, 6, 30, ref selected)); + + Assert.Equal(3, count); + Assert.Equal([8.0, 12.25, 30.0], times[..count]); + } + + [Fact] + public void TheDotChartSpreadsTheSamplesOverTheSampleCountItWasGiven() + { + if (!OperatingSystem.IsWindows()) return; + + // The number of samples is the call's: half as many over the same axis spreads them + // twice as far apart, so the two frames cannot match. A wrapper that derived the + // count from the series instead would draw both identically. A series shorter than + // the count is the shape an unfinished feed has, and it draws without a fault: the + // wrapper pads it, which the arena being zeroed makes invisible to a pixel test. + byte[] four = Render(ui => ui.DotChart("spread", [new DotSeries([5f, 90f])], 4)); + byte[] eight = Render(ui => ui.DotChart("spread", [new DotSeries([5f, 90f])], 8)); + + Assert.NotEqual(four, eight); + } + + /// + /// One frame on a surface that has already drawn a chart, so the layout, the theme and the + /// arena have all been through a frame before this one. + /// + private static byte[] Render(DrawFn draw) + { + using var surface = CuiSurface.Create(Width, Height); + var pixels = new byte[surface.PixelWidth * surface.PixelHeight * 4]; + surface.Draw(ui => ui.LineChart("loud", Enumerable.Repeat(99f, 16).ToArray(), new ChartOpts { Height = 200 }), pixels); + surface.Draw(draw, pixels); + Assert.Empty(surface.Faults); + return pixels; + } + + [Fact] + public void TheChartAnnotationsCountThemselves() + { + // The array and its count were two fields a caller had to keep in step; CUI 1.4's + // annotations made that worth fixing, so the count is the array's length. + var opts = new DotChartOpts + { + Annotations = + [ + new ChartAnnotation(AnnotationKind.X, 12, 0, Label: "NOW"), + new ChartAnnotation(AnnotationKind.Y, 0, 100, Label: "LIMIT", Accent: true), + ], + }; + + Assert.Equal(2, opts.ToNative().AnnotationCount); + Assert.Null(typeof(DotChartOpts).GetField("AnnotationCount")); + } +} diff --git a/src/CuiSharp.Tests/OptionMappings.g.cs b/src/CuiSharp.Tests/OptionMappings.g.cs index dab4a0e..5f2ab79 100644 --- a/src/CuiSharp.Tests/OptionMappings.g.cs +++ b/src/CuiSharp.Tests/OptionMappings.g.cs @@ -884,6 +884,7 @@ public void EveryGeneratedOptionMapsItsFields() Format = "é", Min = 2.5f, Max = 2.5f, + Annotations = [new ChartAnnotation()], }; var native = value.ToNative(); Assert.Equal(SizeKind.Fixed, native.Width.Kind); @@ -899,6 +900,7 @@ public void EveryGeneratedOptionMapsItsFields() Assert.Equal("é", Marshal.PtrToStringUTF8(native.Format)); Assert.Equal(value.Min, native.Min); Assert.Equal(value.Max, native.Max); + Assert.NotEqual((nint)0, native.Annotations); var zero = default(ChartOpts).ToNative(); Assert.Equal((nint)0, zero.Labels); Assert.Equal((byte)0, zero.Area); @@ -907,6 +909,7 @@ public void EveryGeneratedOptionMapsItsFields() Assert.Equal((byte)0, zero.Stacked); Assert.Equal((byte)0, zero.Smooth); Assert.Equal((nint)0, zero.Format); + Assert.Equal((nint)0, zero.Annotations); } // cui_image_opts @@ -1413,7 +1416,6 @@ public void EveryGeneratedOptionMapsItsFields() Autofocus = true, Placeholder = "é", Marks = [new TextMark()], - MarkCount = (int)1, }; var native = value.ToNative(); Assert.Equal("é", Marshal.PtrToStringUTF8(native.Lang)); @@ -1428,7 +1430,6 @@ public void EveryGeneratedOptionMapsItsFields() Assert.Equal((byte)1, native.Autofocus); Assert.Equal("é", Marshal.PtrToStringUTF8(native.Placeholder)); Assert.NotEqual((nint)0, native.Marks); - Assert.Equal(value.MarkCount, native.MarkCount); var zero = default(CodeEditorOpts).ToNative(); Assert.Equal((nint)0, zero.Lang); Assert.Equal((byte)0, zero.UseTabs); @@ -1888,7 +1889,6 @@ public void EveryGeneratedOptionMapsItsFields() Size = 2.5f, Sweep = 2.5f, Bands = [new GaugeBand()], - BandCount = (int)1, Ticks = (int)1, Target = 2.5f, ShowTarget = true, @@ -1901,7 +1901,6 @@ public void EveryGeneratedOptionMapsItsFields() Assert.Equal(value.Size, native.Size); Assert.Equal(value.Sweep, native.Sweep); Assert.NotEqual((nint)0, native.Bands); - Assert.Equal(value.BandCount, native.BandCount); Assert.Equal(value.Ticks, native.Ticks); Assert.Equal(value.Target, native.Target); Assert.Equal((byte)1, native.ShowTarget); @@ -1924,7 +1923,6 @@ public void EveryGeneratedOptionMapsItsFields() Labels = ["one", "two"], Format = "é", Overlays = [new Series()], - OverlayCount = (int)1, NoVolume = true, Ohlc = true, Up = new Color(12, 34, 56, 78), @@ -1938,7 +1936,6 @@ public void EveryGeneratedOptionMapsItsFields() Assert.Equal("two", Marshal.PtrToStringUTF8(((nint*)native.Labels)[1])); Assert.Equal("é", Marshal.PtrToStringUTF8(native.Format)); Assert.NotEqual((nint)0, native.Overlays); - Assert.Equal(value.OverlayCount, native.OverlayCount); Assert.Equal((byte)1, native.NoVolume); Assert.Equal((byte)1, native.Ohlc); Assert.Equal((byte)12, native.Up.R); @@ -2248,12 +2245,10 @@ public void EveryGeneratedOptionMapsItsFields() var value = new ContextOpts { Parts = [new VizItem()], - PartCount = (int)1, Unit = "é", }; var native = value.ToNative(); Assert.NotEqual((nint)0, native.Parts); - Assert.Equal(value.PartCount, native.PartCount); Assert.Equal("é", Marshal.PtrToStringUTF8(native.Unit)); var zero = default(ContextOpts).ToNative(); Assert.Equal((nint)0, zero.Parts); @@ -2312,7 +2307,6 @@ public void EveryGeneratedOptionMapsItsFields() Busy = true, Attachments = ["one", "two"], Models = [new Model()], - ModelCount = (int)1, MaxLines = (int)1, Width = Size.Px(24), }; @@ -2323,7 +2317,6 @@ public void EveryGeneratedOptionMapsItsFields() Assert.Equal("two", Marshal.PtrToStringUTF8(((nint*)native.Attachments)[1])); Assert.Equal((nint)123, native.Removed); Assert.NotEqual((nint)0, native.Models); - Assert.Equal(value.ModelCount, native.ModelCount); Assert.Equal((nint)123, native.Model); Assert.Equal(value.MaxLines, native.MaxLines); Assert.Equal(SizeKind.Fixed, native.Width.Kind); @@ -3307,7 +3300,6 @@ public void EveryGeneratedOptionMapsItsFields() Base = (ulong)1, BytesPerRow = (int)1, Ranges = [new HexRange()], - RangeCount = (int)1, NoAscii = true, NoHeader = true, Size = 2.5f, @@ -3319,7 +3311,6 @@ public void EveryGeneratedOptionMapsItsFields() Assert.Equal(value.Base, native.Base); Assert.Equal(value.BytesPerRow, native.BytesPerRow); Assert.NotEqual((nint)0, native.Ranges); - Assert.Equal(value.RangeCount, native.RangeCount); Assert.Equal((byte)1, native.NoAscii); Assert.Equal((byte)1, native.NoHeader); Assert.Equal(value.Size, native.Size); @@ -3616,7 +3607,6 @@ public void EveryGeneratedOptionMapsItsFields() Height = 2.5f, RowHeight = 2.5f, Markers = [new TraceMarker()], - MarkerCount = (int)1, }; var native = value.ToNative(); Assert.Equal(SizeKind.Fixed, native.Width.Kind); @@ -3624,7 +3614,6 @@ public void EveryGeneratedOptionMapsItsFields() Assert.Equal(value.Height, native.Height); Assert.Equal(value.RowHeight, native.RowHeight); Assert.NotEqual((nint)0, native.Markers); - Assert.Equal(value.MarkerCount, native.MarkerCount); var zero = default(TraceOpts).ToNative(); Assert.Equal((nint)0, zero.Markers); } @@ -3796,6 +3785,143 @@ public void EveryGeneratedOptionMapsItsFields() var zero = default(ApiExplorerOpts).ToNative((nint)123); } + // cui_dot_chart_opts + { + var value = new DotChartOpts + { + Width = Size.Px(24), + Height = 2.5f, + XMin = 2.5, + XMax = 2.5, + XUnits = (AxisUnits)1, + XFormat = "é", + XStep = 2.5, + Min = 2.5f, + Max = 2.5f, + Format = "é", + Unit = "é", + Pitch = 2.5f, + NoGrid = true, + NoAxis = true, + NoReadout = true, + Annotations = [new ChartAnnotation()], + }; + var native = value.ToNative(); + Assert.Equal(SizeKind.Fixed, native.Width.Kind); + Assert.Equal(24f, native.Width.Value); + Assert.Equal(value.Height, native.Height); + Assert.Equal(value.XMin, native.XMin); + Assert.Equal(value.XMax, native.XMax); + Assert.Equal(value.XUnits, native.XUnits); + Assert.Equal("é", Marshal.PtrToStringUTF8(native.XFormat)); + Assert.Equal(value.XStep, native.XStep); + Assert.Equal(value.Min, native.Min); + Assert.Equal(value.Max, native.Max); + Assert.Equal("é", Marshal.PtrToStringUTF8(native.Format)); + Assert.Equal("é", Marshal.PtrToStringUTF8(native.Unit)); + Assert.Equal(value.Pitch, native.Pitch); + Assert.Equal((byte)1, native.NoGrid); + Assert.Equal((byte)1, native.NoAxis); + Assert.Equal((byte)1, native.NoReadout); + Assert.NotEqual((nint)0, native.Annotations); + var zero = default(DotChartOpts).ToNative(); + Assert.Equal((nint)0, zero.XFormat); + Assert.Equal((nint)0, zero.Format); + Assert.Equal((nint)0, zero.Unit); + Assert.Equal((byte)0, zero.NoGrid); + Assert.Equal((byte)0, zero.NoAxis); + Assert.Equal((byte)0, zero.NoReadout); + Assert.Equal((nint)0, zero.Annotations); + } + + // cui_event_track_opts + { + var value = new EventTrackOpts + { + Width = Size.Px(24), + Step = 2.5, + Units = (AxisUnits)1, + Format = "é", + LabelStep = 2.5, + NoAdd = true, + NoRemove = true, + NoAxis = true, + }; + var native = value.ToNative((nint)123); + Assert.Equal(SizeKind.Fixed, native.Width.Kind); + Assert.Equal(24f, native.Width.Value); + Assert.Equal(value.Step, native.Step); + Assert.Equal(value.Units, native.Units); + Assert.Equal("é", Marshal.PtrToStringUTF8(native.Format)); + Assert.Equal(value.LabelStep, native.LabelStep); + Assert.Equal((nint)123, native.Selected); + Assert.Equal((byte)1, native.NoAdd); + Assert.Equal((byte)1, native.NoRemove); + Assert.Equal((byte)1, native.NoAxis); + var zero = default(EventTrackOpts).ToNative((nint)123); + Assert.Equal((nint)0, zero.Format); + Assert.Equal((byte)0, zero.NoAdd); + Assert.Equal((byte)0, zero.NoRemove); + Assert.Equal((byte)0, zero.NoAxis); + } + + // cui_readout_opts + { + var value = new ReadoutOpts + { + Unit = "é", + Detail = "é", + Size = (ControlSize)1, + Tone = (Tone)1, + Accent = true, + Align = (TextAlign)1, + Width = Size.Px(24), + }; + var native = value.ToNative(); + Assert.Equal("é", Marshal.PtrToStringUTF8(native.Unit)); + Assert.Equal("é", Marshal.PtrToStringUTF8(native.Detail)); + Assert.Equal(value.Size, native.Size); + Assert.Equal(value.Tone, native.Tone); + Assert.Equal((byte)1, native.Accent); + Assert.Equal(value.Align, native.Align); + Assert.Equal(SizeKind.Fixed, native.Width.Kind); + Assert.Equal(24f, native.Width.Value); + var zero = default(ReadoutOpts).ToNative(); + Assert.Equal((nint)0, zero.Unit); + Assert.Equal((nint)0, zero.Detail); + Assert.Equal((byte)0, zero.Accent); + } + + // cui_dot_display_opts + { + var value = new DotDisplayOpts + { + Pitch = 2.5f, + Color = new Color(12, 34, 56, 78), + Accent = true, + NoDim = true, + Marquee = true, + Align = (TextAlign)1, + Width = Size.Px(24), + }; + var native = value.ToNative(); + Assert.Equal(value.Pitch, native.Pitch); + Assert.Equal((byte)12, native.Color.R); + Assert.Equal((byte)34, native.Color.G); + Assert.Equal((byte)56, native.Color.B); + Assert.Equal((byte)78, native.Color.A); + Assert.Equal((byte)1, native.Accent); + Assert.Equal((byte)1, native.NoDim); + Assert.Equal((byte)1, native.Marquee); + Assert.Equal(value.Align, native.Align); + Assert.Equal(SizeKind.Fixed, native.Width.Kind); + Assert.Equal(24f, native.Width.Value); + var zero = default(DotDisplayOpts).ToNative(); + Assert.Equal((byte)0, zero.Accent); + Assert.Equal((byte)0, zero.NoDim); + Assert.Equal((byte)0, zero.Marquee); + } + // cui_file_dialog_opts { var value = new FileDialogOpts diff --git a/src/CuiSharp.Tests/ShippedDocTests.cs b/src/CuiSharp.Tests/ShippedDocTests.cs new file mode 100644 index 0000000..57f5903 --- /dev/null +++ b/src/CuiSharp.Tests/ShippedDocTests.cs @@ -0,0 +1,153 @@ +using System.Text; +using System.Xml.Linq; + +namespace CuiSharp.Tests; + +/// +/// The documentation a package consumer reads. CUI writes most of its documentation in the headers — +/// above a struct, beside a declaration, next to an enum constant — and the binding's job is to carry +/// it out to IntelliSense. CuiSharp.xml is that artifact: it is what an IDE shows for a member +/// of the package, so the assertions here run on it rather than on the generator's own output. +/// +public class ShippedDocTests +{ + private static readonly Lazy> Summaries = new(Load); + + private static Dictionary Load() + { + string path = Path.Combine(AppContext.BaseDirectory, "CuiSharp.xml"); + Assert.True(File.Exists(path), $"{path} is the documentation file the package ships"); + + return XDocument.Load(path).Descendants("member") + .Where(m => m.Element("summary") is not null) + .ToDictionary( + m => m.Attribute("name")!.Value, + m => Render(m.Element("summary")!), + StringComparer.Ordinal); + } + + /// + /// A summary's text with its inline markup intact. XElement.Value would read as the + /// documentation were plain text: it drops the element nodes, so `Draws <paramref name="x"/>` + /// comes back as `Draws ,` and an assertion on it would be measuring the reader, not the docs. + /// + private static string Render(XElement summary) + { + var text = new StringBuilder(); + foreach (XNode node in summary.Nodes()) + { + switch (node) + { + case XText literal: + text.Append(literal.Value); + break; + case XElement { Name.LocalName: "paramref" or "typeparamref" } reference: + text.Append(reference.Attribute("name")?.Value); + break; + case XElement { Name.LocalName: "see" } reference: + // `see cref` names the member as `M:Type.Member(params)`: the last segment of the + // name, without the parameter list, is what a reader would have seen inline. + string named = reference.Attribute("cref")?.Value ?? reference.Value; + int parameters = named.IndexOf('(', StringComparison.Ordinal); + if (parameters >= 0) named = named[..parameters]; + text.Append(named[(named.LastIndexOf('.') + 1)..]); + break; + default: + text.Append(node.ToString(SaveOptions.DisableFormatting)); + break; + } + } + + return text.ToString().Trim(); + } + + /// Every summary that exists, for the rules below that hold for all of them. + private static IEnumerable All => Summaries.Value.Values; + + [Fact] + public void AConstantSaysWhatItMeans() + { + // `CUI_AXIS_HOURS, /* hours shown as a time of day: 12.25 is 12:15 */` — a constant's + // meaning is written beside it, and a dev choosing one should not have to read cui.h. + Assert.Contains("time of day", Summaries.Value["F:CuiSharp.AxisUnits.Hours"], StringComparison.Ordinal); + } + + [Fact] + public void AFunctionDocumentedBesideItsDeclarationKeepsThatSentence() + { + // `CUI_API void cui_spacer(cui_ctx *ui); /* flexible space */`: libclang attaches only a + // leading comment, so the beside-comment is read off the line by the generator. + Assert.Contains(Summaries.Value, entry => + entry.Key.StartsWith("M:CuiSharp.Interop.Native.Spacer(", StringComparison.Ordinal) + && entry.Value == "flexible space"); + } + + [Fact] + public void AnOptionsStructSaysWhatTheComponentIs() + { + // The paragraph above `cui_split_opts` explains the component; the summary of the struct a + // caller fills in should be that sentence, not the struct's C name. + Assert.StartsWith("Resizable split view:", Summaries.Value["T:CuiSharp.SplitOpts"], StringComparison.Ordinal); + Assert.Contains("after values in the readout", + Summaries.Value["F:CuiSharp.DotChartOpts.Unit"], StringComparison.Ordinal); + } + + [Fact] + public void ASectionTitleIsNotASummary() + { + // The block above `cui_check_opts` is the *Selection controls* title bar. libclang attaches + // it to the struct, so without the banner rule the summary reads "Selection controls". + Assert.DoesNotContain(Summaries.Value, entry => + entry.Value.StartsWith("Selection controls", StringComparison.Ordinal)); + } + + [Fact] + public void AWidgetWithoutACommentOfItsOwnTakesItsComponentsDescription() + { + // `cui_dot_display_ex` has no comment; the paragraph above `cui_dot_display_opts` describes + // the component, and that is the sentence a reader wants beside the call. + Assert.Contains(Summaries.Value, entry => + entry.Key.Contains("UiExtensions", StringComparison.Ordinal) + && entry.Key.Contains("DotDisplay", StringComparison.Ordinal) + && entry.Value.StartsWith("Dot-matrix display:", StringComparison.Ordinal)); + } + + [Fact] + public void ADescriptionAttachedToTheItemRecordStillReachesTheWidget() + { + // CUI writes Blame's paragraph above `cui_blame_commit`, the item record, because that is the + // first declaration after the section title — libclang attaches it there and `cui_blame_opts` + // is left bare. The widget is the reader's entry point, so it takes the sentence. + Assert.StartsWith("Source with who last changed each line:", + Summaries.Value["T:CuiSharp.BlameOpts"], StringComparison.Ordinal); + Assert.Contains(Summaries.Value, entry => + entry.Key.Contains("UiExtensions.", StringComparison.Ordinal) + && entry.Key.Contains(".Blame(", StringComparison.Ordinal) + && entry.Value.StartsWith("Source with who last changed each line:", StringComparison.Ordinal)); + } + + [Fact] + public void NoSummaryIsAnInternalNote() + { + // `left to right in any interface: see cui__keep_ltr` is written above fifteen thin wrappers + // in CUI's sources, and it reached the wrappers as their summary: a sentence about the + // implementation, in place of the description the header does have. The note also arrived + // with its opening delimiter attached — `* left to right …` — which is the bug that let it + // through in the first place. + string[] notes = [.. Summaries.Value + .Where(e => e.Value.StartsWith('*') || e.Value.Contains("cui__keep_ltr", StringComparison.Ordinal)) + .Select(e => $"{e.Key} = {e.Value}")]; + + Assert.True(notes.Length == 0, "a summary is an internal note: " + string.Join(" | ", notes.Take(3))); + } + + [Fact] + public void NoSummaryOpensWithASectionRuler() + { + // CUI separates sections with `---- Terminal ----`, and libclang attaches that block to the + // declaration underneath: a summary that starts with the ruler is a bug a reader sees. + string[] ruled = [.. All.Where(text => text.Contains("----", StringComparison.Ordinal))]; + + Assert.True(ruled.Length == 0, "a summary carries a section ruler: " + string.Join(" | ", ruled.Take(3))); + } +} diff --git a/src/CuiSharp/Interop/Enums.g.cs b/src/CuiSharp/Interop/Enums.g.cs index 2927f02..04e53e7 100644 --- a/src/CuiSharp/Interop/Enums.g.cs +++ b/src/CuiSharp/Interop/Enums.g.cs @@ -6,7 +6,7 @@ #nullable enable namespace CuiSharp; -/// cui_token +/// Semantic colors. Use these instead of raw colors so your UI follows the theme (light/dark) and the accent. They can go anywhere a cui_color goes. public enum Token { None = 0, @@ -75,7 +75,7 @@ public enum TextureFormat Rgba8 = 4, } -/// cui_direction +/// Zero inherits the parent, or LTR at the context root. With text shaping, AUTO uses the first strong character in descendant text, ignoring explicitly directed subtrees. Without text shaping, AUTO resolves to LTR. public enum Direction { Inherit = 0, @@ -173,6 +173,7 @@ public enum Mods Shift = 1, Ctrl = 2, Alt = 4, + /// Command on macOS, Windows key elsewhere Super = 8, Primary = Ctrl, } @@ -208,7 +209,7 @@ public enum Dir Grid = 3, } -/// cui_align +/// CUI_ALIGN_DEFAULT: columns stretch their children, rows center them. public enum Align { Default = 0, @@ -250,8 +251,11 @@ public enum TextAlign /// cui_button_variant public enum ButtonVariant { + /// secondary for buttons, ghost for icon buttons Default = 0, + /// neutral filled Secondary = 1, + /// the one main action Primary = 2, Outline = 3, Ghost = 4, @@ -312,7 +316,18 @@ public enum Tone Accent = 8, } -/// cui_status +/// A line, a threshold or a point drawn over a chart, with a two-line label: the label in the foreground color and a muted detail under it. Line and bar charts take them in cui_chart_opts, the dot chart in cui_dot_chart_opts. Labels that would overlap move to the other side of their line, then down. +public enum AnnotationKind +{ + /// a vertical line at `x`, labelled at its top + X = 0, + /// a dashed horizontal line at the value `y`, labelled at its end + Y = 1, + /// a dot at `x`, `y`, labelled beside it + Point = 2, +} + +/// Button that shows the result of the work it started: idle, a spinner while busy, then a check (or an error) that settles back. Width morphs smoothly between the states. Returns true when clicked while idle. public enum Status { Idle = 0, @@ -321,20 +336,22 @@ public enum Status Error = 3, } -/// cui_diff_mode +/// Diff viewer: compares two versions of a text line by line, side by side or inline, with changed words marked inside changed lines. The texts are yours (UTF-8, read during the call); the view keeps a copy and diffs again only when one of them changes, so it is cheap to call every frame. public enum DiffMode { Split = 0, Inline = 1, } -/// cui_diff_row_kind +/// The rows the view shows after folding, e.g. to put a comment button beside a line. Copies rows [first, first + cap) and returns how many there are (0 before the view's first frame). Call it in the same id scope as the view. public enum DiffRowKind { Same = 0, Removed = 1, Added = 2, + /// split: a removed line beside the added line that replaced it Changed = 3, + /// hidden unchanged lines, starting at old_line / new_line Fold = 4, } @@ -348,7 +365,7 @@ public enum LoaderStyle Grid = 4, } -/// cui_task_status +/// Tool call: a compact row with the tool, a detail and its status; opens to show the input and the output (shown as JSON when they parse). public enum CuiTaskStatus { Pending = 0, @@ -358,7 +375,7 @@ public enum CuiTaskStatus Skipped = 4, } -/// cui_voice_state +/// Voice orb: a living shape for voice modes. level is the input or output loudness (0..1). Returns true when clicked. public enum VoiceState { Idle = 0, @@ -367,7 +384,7 @@ public enum VoiceState Speaking = 3, } -/// cui_log_level +/// Log console. The app owns the storage: give cui_log_init an array of line records and a byte buffer for the text. Appending never allocates; when either is full the oldest lines are dropped (a ring buffer). Lines longer than the text buffer are cut to fit. public enum LogLevel { Trace = 0, @@ -378,24 +395,31 @@ public enum LogLevel LevelCount = 5, } -/// cui_curve_mode +/// Curve editor: keyframes on a plot, for easing, animation timing and response curves. You own the array of keys, sorted by x; the editor edits it in place (moves, handles, modes, adds and removes) and reports what it did in the result, so data you keep beside each key can follow: public enum CurveMode { + /// automatic tangents Smooth = 0, + /// the key's own handles Free = 1, + /// a straight line to the next key Linear = 2, + /// hold this value until the next key Step = 3, } -/// cui_timeline_ruler +/// Timeline editor (dope sheet): a track list on the left, a time ruler on top and a row per track with its keys (and clips, for video and audio tracks). You own the tracks, their keys and clips, the playhead time and the selection; the editor edits them in place and reports what it did: public enum TimelineRuler { + /// frame numbers Frames = 0, + /// 1.5 s Seconds = 1, + /// minutes:seconds:frames (hours too past an hour) Timecode = 2, } -/// cui_severity +/// Compiler and linter diagnostics, grouped by file: errors, warnings, notes and hints with their position, source and code. Toggles above filter by severity (with counts) and a field filters by text. A file's header folds its group. Up and Down move the selection, Left and Right fold and unfold, Enter or a double-click reports `activated` (open the file there). Only the rows in view are built, so thousands of diagnostics stay fast. The array needs to be valid only during the call. public enum Severity { Error = 0, @@ -404,7 +428,7 @@ public enum Severity Hint = 3, } -/// cui_job_status +/// A CI/CD run: stages left to right, each a column of jobs with their status and duration. A stage's header sums up its jobs (failed, running, passed). Running jobs spin. Click a job to get its index (open its log). Below 560 points the stages stack top to bottom. public enum JobStatus { Pending = 0, @@ -415,7 +439,7 @@ public enum JobStatus Canceled = 5, } -/// cui_query_type +/// Conditions joined by "all" or "any", in groups you can nest: the filter of an issue tracker, a log search or a database view. You own the nodes, in order, each with its depth: node 0 is the outer group (made for you when count is 0). A rule picks a field, an operator for the field's type and a value; a group picks all or any. Returns true when anything changed. cui_query_text writes the query as a sentence, cui_query_match tests a record against it. public enum QueryType { Text = 0, @@ -424,7 +448,7 @@ public enum QueryType Bool = 3, } -/// cui_http_method +/// The method, the URL and Send, as in an API client. Enter in the URL sends; while `loading` the button cancels. cui_response_status shows a response's status, time and size in one line. cui_url_params and cui_url_set_params move a URL's query to and from key-value pairs, decoding and encoding it, so a parameters table can stay in step with the URL. public enum HttpMethod { Get = 0, @@ -436,15 +460,25 @@ public enum HttpMethod Options = 6, } +/// How an axis labels its values. +public enum AxisUnits +{ + /// numbers, printed with the axis format (default "%g") + Number = 0, + /// hours shown as a time of day: 12.25 is 12:15, and 30 is 06:00 the next day + Hours = 1, +} + /// cui_renderer_kind public enum Renderer { + /// OpenGL, or software when there is no GPU (CPU-drawn OpenGL, X11 and Win32) Auto = 0, OpenGL = 1, Software = 2, } -/// cui_file_dialog_kind +/// Native file dialogs. Blocking; returns true and writes the chosen path (UTF-8) to out when the user confirms. On Linux this uses zenity or kdialog when installed. Pass NULL as app to use the current app (handy in cui_app_run callbacks). public enum FileDialogKind { Open = 0, @@ -455,17 +489,24 @@ public enum FileDialogKind /// cui_sw_format public enum SwFormat { + /// bytes R, G, B, A in memory Rgba = 0, + /// bytes B, G, R, A in memory (Win32 DIBs, X11, Cairo) Bgra = 1, } /// CUI_FONT_BODY public enum Font { + /// Inter Regular Body = 0, + /// Inter Medium Medium = 1, + /// Geist Medium, for headings 28pt and up Display = 2, + /// Geist Mono Mono = 3, + /// Lucide icons Icons = 4, } @@ -479,7 +520,7 @@ public enum TourAction Skipped = 4, } -/// CUI_COMMENT_LIKE +/// Comment with replies. depth indents replies under a connector line. Returns CUI_COMMENT_LIKE or CUI_COMMENT_REPLY flags for what was clicked; *liked and *likes are updated for you. [System.Flags] public enum CommentEvents { @@ -499,7 +540,7 @@ public enum PlayerEvents Seek = 8, } -/// CUI_RESPONSE_COPY +/// Response actions: copy, regenerate, vote and share under an answer. [System.Flags] public enum ResponseEvents { @@ -511,7 +552,7 @@ public enum ResponseEvents Share = 16, } -/// CUI_COMPOSER_SEND +/// Chat composer: a growing text area with attachments, a model picker and a send button that turns into stop while busy. Enter sends, Shift+Enter adds a line. Returns CUI_COMPOSER_* flags; *removed is the attachment whose x was clicked. [System.Flags] public enum ComposerEvents { diff --git a/src/CuiSharp/Interop/Native.g.cs b/src/CuiSharp/Interop/Native.g.cs index 07eec35..029d885 100644 --- a/src/CuiSharp/Interop/Native.g.cs +++ b/src/CuiSharp/Interop/Native.g.cs @@ -24,7 +24,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_set_renderer")] public static partial void SetRenderer(nint ui, in NativeRendererIface renderer); - /// cui_set_viewport + /// Size of the drawable area in logical points, and the scale to pixels (2.0 on a typical retina display). [LibraryImport("cui", EntryPoint = "cui_set_viewport")] public static partial void SetViewport(nint ui, float width, float height, float scale); @@ -36,7 +36,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_dpi_scale")] public static partial float DpiScale(nint ui); - /// cui_begin_frame + /// dt is the time since the previous frame in seconds. [LibraryImport("cui", EntryPoint = "cui_begin_frame")] public static partial void BeginFrame(nint ui, float dt); @@ -44,11 +44,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_end_frame")] public static partial void EndFrame(nint ui); - /// cui_needs_redraw + /// True while something animates or input is still settling. Event driven apps can sleep until the next input event when this is false. [LibraryImport("cui", EntryPoint = "cui_needs_redraw")] public static partial byte NeedsRedraw(nint ui); - /// cui_next_wakeup + /// Seconds until CUI wants a frame (for caret blink, tooltips, toasts). Negative means "only on input". [LibraryImport("cui", EntryPoint = "cui_next_wakeup")] public static partial float NextWakeup(nint ui); @@ -56,7 +56,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_request_redraw")] public static partial void RequestRedraw(nint ui); - /// cui_request_wakeup + /// Asks for a frame within this many seconds even with no input, for things that change on a timer (a clock, polling, a countdown). Call it each frame while it is needed; an idle app then sleeps until the soonest one instead of redrawing continuously. [LibraryImport("cui", EntryPoint = "cui_request_wakeup")] public static partial void RequestWakeup(nint ui, float seconds); @@ -64,7 +64,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_time")] public static partial double Time(nint ui); - /// cui_delta_time + /// seconds since the last frame [LibraryImport("cui", EntryPoint = "cui_delta_time")] public static partial float DeltaTime(nint ui); @@ -84,7 +84,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_input_mouse_leave")] public static partial void InputMouseLeave(nint ui); - /// cui_input_scroll + /// in lines; +dy scrolls up [LibraryImport("cui", EntryPoint = "cui_input_scroll")] public static partial void InputScroll(nint ui, float dx, float dy); @@ -100,7 +100,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_input_focus")] public static partial void InputFocus(nint ui, byte windowFocused); - /// cui_input_file_hover + /// Files dragged from the OS: hover while a drag is over the window (where the platform reports it), then the drop itself. Paths are UTF-8 and copied. [LibraryImport("cui", EntryPoint = "cui_input_file_hover")] public static partial void InputFileHover(nint ui, byte hovering, float x, float y); @@ -108,7 +108,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_input_file_drop")] public static partial void InputFileDrop(nint ui, nint paths, int count, float x, float y); - /// cui_dropped_file_count + /// Files dropped this frame (dropzones claim theirs first). [LibraryImport("cui", EntryPoint = "cui_dropped_file_count")] public static partial int DroppedFileCount(nint ui); @@ -116,7 +116,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_dropped_file")] public static partial nint DroppedFile(nint ui, int index); - /// cui_file_drag_active + /// files are being dragged over the window [LibraryImport("cui", EntryPoint = "cui_file_drag_active")] public static partial byte FileDragActive(nint ui); @@ -128,7 +128,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_get_cursor")] public static partial Cursor GetCursor(nint ui); - /// cui_key_pressed + /// Queries, useful for app level shortcuts. [LibraryImport("cui", EntryPoint = "cui_key_pressed")] public static partial byte KeyPressed(nint ui, Key key); @@ -136,7 +136,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_key_down")] public static partial byte KeyDown(nint ui, Key key); - /// cui_shortcut + /// e.g. cui_shortcut(ui, CUI_MOD_PRIMARY, CUI_KEY_K) [LibraryImport("cui", EntryPoint = "cui_shortcut")] public static partial byte Shortcut(nint ui, int mods, Key key); @@ -156,7 +156,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_mouse_clicked")] public static partial byte MouseClicked(nint ui, MouseButton b); - /// cui_wants_keyboard + /// True when a text field has keyboard focus (so the app should not treat typing as shortcuts). [LibraryImport("cui", EntryPoint = "cui_wants_keyboard")] public static partial byte WantsKeyboard(nint ui); @@ -180,7 +180,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_get_accent")] public static partial Accent GetAccent(nint ui); - /// cui_theme_get + /// The active theme. Edit it to customize; changes apply next frame. Theme changes through cui_set_theme/cui_set_accent animate smoothly. [LibraryImport("cui", EntryPoint = "cui_theme_get")] public static partial nint ThemeGet(nint ui); @@ -188,7 +188,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_set_reduced_motion")] public static partial void SetReducedMotion(nint ui, byte reduced); - /// cui_color_of + /// resolves tokens [LibraryImport("cui", EntryPoint = "cui_color_of")] public static partial NativeColor ColorOf(nint ui, NativeColor c); @@ -196,7 +196,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_set_strings")] public static partial void SetStrings(nint ui, nint strings); - /// cui_get_strings + /// what was set, or NULL [LibraryImport("cui", EntryPoint = "cui_get_strings")] public static partial nint GetStrings(nint ui); @@ -208,7 +208,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_accent_name")] public static partial nint AccentName(Accent accent); - /// cui_oklch + /// Color helpers. Mixing is done in OKLab, like CSS color-mix(in oklab). [LibraryImport("cui", EntryPoint = "cui_oklch")] public static partial NativeColor Oklch(float l, float c, float hDegrees, float alpha); @@ -220,7 +220,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_alpha")] public static partial NativeColor Alpha(NativeColor c, float alphaMultiplier); - /// cui_font_load_memory + /// Load a TrueType/OpenType font. The data must stay alive if copy is false. Returns a font id, or -1 on failure. [LibraryImport("cui", EntryPoint = "cui_font_load_memory")] public static partial Font FontLoadMemory(nint ui, nint data, nuint size, byte copy); @@ -228,15 +228,15 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_font_load_file")] public static partial Font FontLoadFile(nint ui, nint path); - /// cui_font_set_role + /// Replace one of the built-in roles (e.g. use your brand font as CUI_FONT_BODY). [LibraryImport("cui", EntryPoint = "cui_font_set_role")] public static partial void FontSetRole(nint ui, Font role, Font font); - /// cui_font_add_fallback + /// Glyphs missing from `font` are looked up in `fallback` (e.g. CJK, emoji). [LibraryImport("cui", EntryPoint = "cui_font_add_fallback")] public static partial void FontAddFallback(nint ui, Font font, Font fallback); - /// cui_measure_text + /// CUI_TEXT_SHAPING optionally shapes static RTL lines; see docs/integration.md. Container direction sets the paragraph base. Editing and explicit bidi formatting are unsupported; the shaper implements an experimental OpenType subset. [LibraryImport("cui", EntryPoint = "cui_measure_text")] public static partial NativeTextMetrics MeasureText(nint ui, Font font, float size, nint text, int len); @@ -256,19 +256,19 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_column_begin")] public static partial uint ColumnBegin(nint ui, in NativeBox opts); - /// cui_spacer + /// flexible space [LibraryImport("cui", EntryPoint = "cui_spacer")] public static partial void Spacer(nint ui); - /// cui_gap + /// fixed space [LibraryImport("cui", EntryPoint = "cui_gap")] public static partial void Gap(nint ui, float size); - /// cui_separator + /// hairline, follows the parent direction [LibraryImport("cui", EntryPoint = "cui_separator")] public static partial void Separator(nint ui); - /// cui_card_begin + /// returns true when clicked (hoverable) [LibraryImport("cui", EntryPoint = "cui_card_begin")] public static partial byte CardBegin(nint ui, in NativeCardOpts opts); @@ -316,7 +316,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_pop_id")] public static partial void PopId(nint ui); - /// cui_last_id + /// The id and rectangle of the most recent component (for tooltips, popovers). [LibraryImport("cui", EntryPoint = "cui_last_id")] public static partial uint LastId(nint ui); @@ -324,7 +324,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_last_rect")] public static partial NativeRect LastRect(nint ui); - /// cui_get_rect + /// Rectangle of any component or box id from the latest layout. [LibraryImport("cui", EntryPoint = "cui_get_rect")] public static partial NativeRect GetRect(nint ui, uint id); @@ -348,27 +348,27 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_text_ex")] public static partial void Text(nint ui, nint text, in NativeTextOpts opts); - /// cui_heading + /// 1..4 [LibraryImport("cui", EntryPoint = "cui_heading")] public static partial void Heading(nint ui, nint text, int level); - /// cui_label + /// medium weight [LibraryImport("cui", EntryPoint = "cui_label")] public static partial void Label(nint ui, nint text); - /// cui_secondary + /// secondary color [LibraryImport("cui", EntryPoint = "cui_secondary")] public static partial void Secondary(nint ui, nint text); - /// cui_muted + /// small, muted [LibraryImport("cui", EntryPoint = "cui_muted")] public static partial void Muted(nint ui, nint text); - /// cui_code + /// inline code [LibraryImport("cui", EntryPoint = "cui_code")] public static partial void Code(nint ui, nint text); - /// cui_kbd + /// keyboard keycap, e.g. "Ctrl K" [LibraryImport("cui", EntryPoint = "cui_kbd")] public static partial void Kbd(nint ui, nint keys); @@ -384,7 +384,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_button_ex")] public static partial byte Button(nint ui, nint label, in NativeButtonOpts opts); - /// cui_icon_button_ex + /// Square/round button with only an icon. Give it a tooltip so it has a name. [LibraryImport("cui", EntryPoint = "cui_icon_button_ex")] public static partial byte IconButton(nint ui, nint icon, in NativeButtonOpts opts); @@ -408,7 +408,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_radio_group")] public static partial byte RadioGroup(nint ui, nint id, nint items, int count, ref int index); - /// cui_slider_ex + /// Elastic slider: the track stretches like rubber when dragged past its ends. [LibraryImport("cui", EntryPoint = "cui_slider_ex")] public static partial byte Slider(nint ui, nint label, ref float value, float min, float max, in NativeSliderOpts opts); @@ -424,15 +424,15 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_chip_ex")] public static partial byte Chip(nint ui, nint label, nint selected, in NativeChipOpts opts); - /// cui_input_ex + /// Single line text field. Returns CUI_CHANGED / CUI_SUBMITTED (Enter) flags. [LibraryImport("cui", EntryPoint = "cui_input_ex")] public static partial int Input(nint ui, nint id, nint buf, nuint cap, in NativeInputOpts opts); - /// cui_textarea_ex + /// Multi-line text area with word wrap. [LibraryImport("cui", EntryPoint = "cui_textarea_ex")] public static partial int Textarea(nint ui, nint id, nint buf, nuint cap, in NativeInputOpts opts); - /// cui_search_ex + /// Search field with a search icon and a clear button. [LibraryImport("cui", EntryPoint = "cui_search_ex")] public static partial int Search(nint ui, nint id, nint buf, nuint cap, in NativeInputOpts opts); @@ -472,11 +472,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_nav_section")] public static partial void NavSection(nint ui, nint title); - /// cui_breadcrumb + /// returns clicked index or -1 [LibraryImport("cui", EntryPoint = "cui_breadcrumb")] public static partial int Breadcrumb(nint ui, nint items, int count); - /// cui_pagination + /// page is 0 based [LibraryImport("cui", EntryPoint = "cui_pagination")] public static partial byte Pagination(nint ui, nint id, ref int page, int pageCount); @@ -492,7 +492,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_popover_end")] public static partial void PopoverEnd(nint ui); - /// cui_tour_ex + /// What happened this frame: one of CUI_TOUR_*. [LibraryImport("cui", EntryPoint = "cui_tour_ex")] public static partial int Tour(nint ui, nint id, nint steps, int count, ref int step, in NativeTourOpts opts); @@ -520,7 +520,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_menu_end")] public static partial void MenuEnd(nint ui); - /// cui_context_menu_begin + /// Context menu: opens on right click over the previous component. [LibraryImport("cui", EntryPoint = "cui_context_menu_begin")] public static partial byte ContextMenuBegin(nint ui, nint id); @@ -540,11 +540,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_menu_label")] public static partial void MenuLabel(nint ui, nint text); - /// cui_tooltip + /// Tooltip for the previous component, shown after a short hover delay. [LibraryImport("cui", EntryPoint = "cui_tooltip")] public static partial void Tooltip(nint ui, nint text); - /// cui_dialog_begin + /// Modal dialog. Shown while *open is true; closing sets it to false. [LibraryImport("cui", EntryPoint = "cui_dialog_begin")] public static partial byte DialogBegin(nint ui, nint title, nint open, in NativeDialogOpts opts); @@ -552,7 +552,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_dialog_end")] public static partial void DialogEnd(nint ui); - /// cui_dialog_footer_begin + /// A right-aligned row for dialog actions. [LibraryImport("cui", EntryPoint = "cui_dialog_footer_begin")] public static partial void DialogFooterBegin(nint ui); @@ -568,7 +568,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_sheet_end")] public static partial void SheetEnd(nint ui); - /// cui_toast_ex + /// Queue a toast. Returns a handle; cui_toast_action_clicked(handle) tells whether its action button was pressed. [LibraryImport("cui", EntryPoint = "cui_toast_ex")] public static partial int Toast(nint ui, nint title, in NativeToastOpts opts); @@ -580,7 +580,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_toast_dismiss")] public static partial void ToastDismiss(nint ui, int handle); - /// cui_alert_ex + /// Inline alert. Returns false once dismissed (when dismissible). [LibraryImport("cui", EntryPoint = "cui_alert_ex")] public static partial byte Alert(nint ui, nint title, in NativeAlertOpts opts); @@ -608,7 +608,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_avatar_group")] public static partial void AvatarGroup(nint ui, nint names, int count, int maxVisible, float size); - /// cui_empty_state_ex + /// Empty state. Returns true when its action button is clicked. [LibraryImport("cui", EntryPoint = "cui_empty_state_ex")] public static partial byte EmptyState(nint ui, nint title, in NativeEmptyOpts opts); @@ -620,7 +620,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_meter")] public static partial void Meter(nint ui, nint label, float used, float total, nint unit); - /// cui_accordion_begin + /// Accordion / disclosure. Content animates its height. [LibraryImport("cui", EntryPoint = "cui_accordion_begin")] public static partial byte AccordionBegin(nint ui, nint title, nint open); @@ -636,7 +636,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_tree_end")] public static partial void TreeEnd(nint ui); - /// cui_tree_clicked + /// the node created by the last cui_tree_begin was clicked [LibraryImport("cui", EntryPoint = "cui_tree_clicked")] public static partial byte TreeClicked(nint ui); @@ -644,7 +644,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_list_item_ex")] public static partial byte ListItem(nint ui, nint title, in NativeListItemOpts opts); - /// cui_virtual_list_begin + /// Virtual list: only the visible rows are built, so lists with a million rows stay fast. Fills first/last with the visible range. [LibraryImport("cui", EntryPoint = "cui_virtual_list_begin")] public static partial void VirtualListBegin(nint ui, nint id, int count, float rowHeight, NativeSize height, ref int first, ref int last); @@ -656,15 +656,15 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_table_begin_ex")] public static partial byte TableBegin(nint ui, nint id, nint columns, int columnCount, in NativeTableOpts opts); - /// cui_table_row + /// Begin a row. Returns true when the row is clicked. [LibraryImport("cui", EntryPoint = "cui_table_row")] public static partial byte TableRow(nint ui, byte selected); - /// cui_table_cell + /// Next cell; put any components inside, or use cui_table_cell_text. [LibraryImport("cui", EntryPoint = "cui_table_cell")] public static partial void TableCell(nint ui); - /// cui_table_cell_text + /// Part of cui_table_cell — Next cell; put any components inside, or use cui_table_cell_text. [LibraryImport("cui", EntryPoint = "cui_table_cell_text")] public static partial void TableCellText(nint ui, nint text); @@ -692,11 +692,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_gauge")] public static partial void Gauge(nint ui, nint label, float value, float size); - /// cui_image_create + /// Images [LibraryImport("cui", EntryPoint = "cui_image_create")] public static partial nuint ImageCreate(nint ui, int w, int h, nint rgba); - /// cui_image_load + /// PNG/JPEG via stb_image [LibraryImport("cui", EntryPoint = "cui_image_load")] public static partial nuint ImageLoad(nint ui, nint path, ref int w, ref int h); @@ -708,15 +708,15 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_image_ex")] public static partial void Image(nint ui, nuint tex, in NativeImageOpts opts); - /// cui_image_viewer_ex + /// Returns true when the view changed. [LibraryImport("cui", EntryPoint = "cui_image_viewer_ex")] public static partial byte ImageViewer(nint ui, nint id, nuint tex, int imageW, int imageH, ref NativeImageView view, in NativeImageViewerOpts opts); - /// cui_cropper_ex + /// Returns true when the crop changed. [LibraryImport("cui", EntryPoint = "cui_cropper_ex")] public static partial byte Cropper(nint ui, nint id, nuint tex, int imageW, int imageH, ref NativeRect crop, in NativeCropperOpts opts); - /// cui_command_palette + /// Spotlight style command palette. Returns the index of the chosen command, or -1. Open it with a shortcut: if (cui_shortcut(ui, CUI_MOD_PRIMARY, CUI_KEY_K)) open = true; [LibraryImport("cui", EntryPoint = "cui_command_palette")] public static partial int CommandPalette(nint ui, nint open, nint commands, int count); @@ -728,11 +728,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_tag_input_ex")] public static partial byte TagInput(nint ui, nint id, nint buf, nuint cap, in NativeTagOpts opts); - /// cui_otp_input + /// One time code input: `length` boxes; code must hold length + 1 bytes. Returns true when all boxes are filled (once per change). [LibraryImport("cui", EntryPoint = "cui_otp_input")] public static partial byte OtpInput(nint ui, nint id, nint code, int length); - /// cui_button_group_begin + /// Connected buttons. Put buttons between begin and end. [LibraryImport("cui", EntryPoint = "cui_button_group_begin")] public static partial void ButtonGroupBegin(nint ui); @@ -740,7 +740,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_button_group_end")] public static partial void ButtonGroupEnd(nint ui); - /// cui_copy_button + /// Icon button that copies text to the clipboard and confirms with a check. Keyboard focus stays on the button when the check appears or disappears. [LibraryImport("cui", EntryPoint = "cui_copy_button")] public static partial byte CopyButton(nint ui, nint id, nint text); @@ -748,7 +748,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_hold_button_ex")] public static partial byte HoldButton(nint ui, nint label, in NativeHoldOpts opts); - /// cui_password_strength + /// Password strength meter (0 weak .. 4 strong). Returns the score. [LibraryImport("cui", EntryPoint = "cui_password_strength")] public static partial int PasswordStrength(nint ui, nint password); @@ -756,7 +756,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_timeline_item_ex")] public static partial void TimelineItem(nint ui, nint title, in NativeTimelineOpts opts); - /// cui_reorder_begin + /// Reorderable list: drag rows to reorder. `order` holds your item indices in display order and is rewritten when a row is dropped. Build the rows in display order: for (i...) cui_reorder_item(ui, i) { draw item order[i] }. Returns true on the frame the order changes. [LibraryImport("cui", EntryPoint = "cui_reorder_begin")] public static partial void ReorderBegin(nint ui, nint id, ref int order, int count); @@ -772,7 +772,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_reorder_item_end")] public static partial void ReorderItemEnd(nint ui); - /// cui_progress_ring + /// Circular progress with the value in the middle. [LibraryImport("cui", EntryPoint = "cui_progress_ring")] public static partial void ProgressRing(nint ui, nint label, float value, float size); @@ -800,11 +800,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_speed_dial_ex")] public static partial int SpeedDial(nint ui, nint id, nint actions, int count, in NativeSpeedDialOpts opts); - /// cui_theme_switcher + /// Theme switcher: light, dark and (optionally) system, as a compact icon segmented control. mode is 0 light, 1 dark, 2 system. Light and dark are applied for you; for system call cui_set_theme with the OS setting. Returns true when mode changed. [LibraryImport("cui", EntryPoint = "cui_theme_switcher")] public static partial byte ThemeSwitcher(nint ui, ref int mode, byte withSystem); - /// cui_theme_toggle + /// Sun and moon icon button that toggles the theme with a morph. [LibraryImport("cui", EntryPoint = "cui_theme_toggle")] public static partial byte ThemeToggle(nint ui); @@ -828,11 +828,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_data_grid_begin_ex")] public static partial byte DataGridBegin(nint ui, nint id, nint columns, int columnCount, int rowCount, ref int first, ref int last, in NativeGridOpts opts); - /// cui_data_grid_row + /// true when the row was clicked [LibraryImport("cui", EntryPoint = "cui_data_grid_row")] public static partial byte DataGridRow(nint ui, int row); - /// cui_data_grid_cell + /// next cell; put components inside [LibraryImport("cui", EntryPoint = "cui_data_grid_cell")] public static partial void DataGridCell(nint ui); @@ -840,11 +840,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_data_grid_cell_text")] public static partial void DataGridCellText(nint ui, nint text); - /// cui_data_grid_cell_edit + /// Editable text cell: double click (or Enter on the cursor row) to edit, Enter or clicking away commits, Esc reverts. True when committed. [LibraryImport("cui", EntryPoint = "cui_data_grid_cell_edit")] public static partial byte DataGridCellEdit(nint ui, nint buf, nuint cap); - /// cui_data_grid_edit + /// The same editable text, inside the current cell (after an avatar, say). [LibraryImport("cui", EntryPoint = "cui_data_grid_edit")] public static partial byte DataGridEdit(nint ui, nint buf, nuint cap); @@ -852,7 +852,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_data_grid_end")] public static partial void DataGridEnd(nint ui); - /// cui_tree_cell + /// Tree cell: indentation, a disclosure chevron and a label, for tree tables (use it in a table or grid cell). Returns true when *open toggled. [LibraryImport("cui", EntryPoint = "cui_tree_cell")] public static partial byte TreeCell(nint ui, nint label, int depth, byte hasChildren, nint open, nint icon); @@ -864,15 +864,15 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_tree_table_begin_ex")] public static partial void TreeTableBegin(nint ui, nint id, nint columns, int columnCount, nint nodes, int nodeCount, in NativeTreeTableOpts opts); - /// cui_tree_table_row + /// The next row in view: returns its node, or -1 when done. Then build its cells: cui_tree_table_name first, then cui_data_grid_cell(_text). [LibraryImport("cui", EntryPoint = "cui_tree_table_row")] public static partial int TreeTableRow(nint ui); - /// cui_tree_table_name + /// The first cell: indentation, guides, the chevron, an icon and the name (cut short with a tooltip of the whole name when it does not fit). [LibraryImport("cui", EntryPoint = "cui_tree_table_name")] public static partial void TreeTableName(nint ui, nint label, nint icon); - /// cui_tree_table_depth + /// depth of the current row, 0 at the top [LibraryImport("cui", EntryPoint = "cui_tree_table_depth")] public static partial int TreeTableDepth(nint ui); @@ -880,7 +880,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_tree_table_end")] public static partial NativeTreeTableEvents TreeTableEnd(nint ui); - /// cui_tree_sort + /// Sorts every sibling list (stable) by cmp, relinking the nodes. Returns the new first top level node. [LibraryImport("cui", EntryPoint = "cui_tree_sort")] public static partial int TreeSort(nint nodes, int nodeCount, int root, nint cmp, nint user); @@ -888,7 +888,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_path_bar_ex")] public static partial NativePathBarResult PathBar(nint ui, nint id, nint segments, int count, in NativePathBarOpts opts); - /// cui_path_bar_menu_begin + /// True while the menu of separator *segment is showing: build menu items for the children of that segment, then call cui_path_bar_menu_end. [LibraryImport("cui", EntryPoint = "cui_path_bar_menu_begin")] public static partial byte PathBarMenuBegin(nint ui, nint id, ref int segment); @@ -900,11 +900,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_fs_list")] public static partial int FsList(nint user, nint path, ref NativeFileEntry @out, int cap, nint names, nuint namesCap, byte hidden); - /// cui_file_browser_ex + /// path: the folder shown, yours; the browser writes it as you move around. [LibraryImport("cui", EntryPoint = "cui_file_browser_ex")] public static partial NativeFileBrowserResult FileBrowser(nint ui, nint id, nint path, nuint pathCap, in NativeFileBrowserOpts opts); - /// cui_file_picker_ex + /// True once, with the chosen path in out, when the dialog is confirmed; *open turns false then, or on Cancel and Esc. [LibraryImport("cui", EntryPoint = "cui_file_picker_ex")] public static partial byte FilePicker(nint ui, nint id, nint open, nint @out, nuint outCap, in NativeFilePickerOpts opts); @@ -920,7 +920,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_markdown_ex")] public static partial NativeMarkdownResult Markdown(nint ui, nint id, nint text, in NativeMarkdownOpts opts); - /// cui_markdown_apply_task + /// Writes a reported task toggle into text ('x' or ' ' between the brackets). Returns false when nothing was toggled or text no longer has a box there. [LibraryImport("cui", EntryPoint = "cui_markdown_apply_task")] public static partial byte MarkdownApplyTask(nint text, in NativeMarkdownResult result); @@ -928,15 +928,15 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_code_editor_ex")] public static partial NativeCodeEditorResult CodeEditor(nint ui, nint id, nint buf, nuint cap, in NativeCodeEditorOpts opts); - /// cui_code_editor_goto + /// On the editor's next frame: put the caret at a line and column (1 based), focus the editor and scroll there. Call from the same id scope. [LibraryImport("cui", EntryPoint = "cui_code_editor_goto")] public static partial void CodeEditorGoto(nint ui, nint id, int line, int column); - /// cui_code_editor_select + /// On the next frame: select bytes anchor..cursor, focus and scroll there. [LibraryImport("cui", EntryPoint = "cui_code_editor_select")] public static partial void CodeEditorSelect(nint ui, nint id, int anchor, int cursor); - /// cui_code_editor_find + /// Opens the find bar with query and selects the next match (NULL closes). [LibraryImport("cui", EntryPoint = "cui_code_editor_find")] public static partial void CodeEditorFind(nint ui, nint id, nint query); @@ -960,11 +960,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_chat_message_ex")] public static partial void ChatMessage(nint ui, nint text, in NativeChatOpts opts); - /// cui_chat_divider + /// "Today" [LibraryImport("cui", EntryPoint = "cui_chat_divider")] public static partial void ChatDivider(nint ui, nint label); - /// cui_typing_indicator + /// bouncing dots [LibraryImport("cui", EntryPoint = "cui_typing_indicator")] public static partial void TypingIndicator(nint ui, nint name); @@ -1068,27 +1068,27 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_radial_gauge_ex")] public static partial void RadialGauge(nint ui, nint id, float value, float min, float max, in NativeRadialGaugeOpts opts); - /// cui_candlestick_ex + /// Returns the candle under the crosshair (pointer or keys), or -1. [LibraryImport("cui", EntryPoint = "cui_candlestick_ex")] public static partial int Candlestick(nint ui, nint id, nint candles, int count, in NativeCandlestickOpts opts); - /// cui_shimmer_text_ex + /// Text with a highlight sweeping across it, for "Thinking..." states. [LibraryImport("cui", EntryPoint = "cui_shimmer_text_ex")] public static partial void ShimmerText(nint ui, nint text, in NativeTextFxOpts opts); - /// cui_typewriter_ex + /// Types the text out. When the text grows (streamed tokens) it carries on from where it was; other changes start over. Returns true once complete. [LibraryImport("cui", EntryPoint = "cui_typewriter_ex")] public static partial byte Typewriter(nint ui, nint id, nint text, in NativeTextFxOpts opts); - /// cui_text_reveal_ex + /// Words fade and rise into place one after another, when first shown and again whenever the text changes. [LibraryImport("cui", EntryPoint = "cui_text_reveal_ex")] public static partial void TextReveal(nint ui, nint id, nint text, in NativeTextFxOpts opts); - /// cui_word_rotate_ex + /// One word at a time; the next one rolls up into place and the width follows. [LibraryImport("cui", EntryPoint = "cui_word_rotate_ex")] public static partial void WordRotate(nint ui, nint id, nint words, int count, float interval, in NativeTextFxOpts opts); - /// cui_number_roll_ex + /// A figure whose changed digits roll into place: up when the value rises, down when it falls, a beat apart from the left; unchanged characters stay still. Pass the formatted text ("$64,210", "1.2k"); digits are tabular. [LibraryImport("cui", EntryPoint = "cui_number_roll_ex")] public static partial void NumberRoll(nint ui, nint id, nint text, in NativeTextFxOpts opts); @@ -1196,11 +1196,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_kanban_begin")] public static partial void KanbanBegin(nint ui, nint id); - /// cui_kanban_column_begin_ex + /// true: "+" clicked [LibraryImport("cui", EntryPoint = "cui_kanban_column_begin_ex")] public static partial byte KanbanColumnBegin(nint ui, nint title, int cardCount, in NativeKanbanColumnOpts opts); - /// cui_kanban_card_begin + /// true when clicked [LibraryImport("cui", EntryPoint = "cui_kanban_card_begin")] public static partial byte KanbanCardBegin(nint ui, int cardId); @@ -1276,7 +1276,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_multi_select_ex")] public static partial byte MultiSelect(nint ui, nint id, nint items, int count, nint selected, in NativeMultiSelectOpts opts); - /// cui_range_calendar + /// One or two months side by side; click a start and an end. [LibraryImport("cui", EntryPoint = "cui_range_calendar")] public static partial byte RangeCalendar(nint ui, nint id, ref NativeDateRange range, int months); @@ -1284,7 +1284,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_date_range_picker_ex")] public static partial byte DateRangePicker(nint ui, nint id, ref NativeDateRange range, in NativeDateRangeOpts opts); - /// cui_date_to_days + /// days since 1970-01-01 [LibraryImport("cui", EntryPoint = "cui_date_to_days")] public static partial int DateToDays(NativeDate d); @@ -1300,7 +1300,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_wheel_picker_ex")] public static partial byte WheelPicker(nint ui, nint id, nint items, int count, ref int index, in NativeWheelOpts opts); - /// cui_time_dial + /// Time dial: a clock face. Drag the hand to set hours, then minutes. [LibraryImport("cui", EntryPoint = "cui_time_dial")] public static partial byte TimeDial(nint ui, nint id, ref int hour, ref int minute, float size); @@ -1320,7 +1320,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_fader_ex")] public static partial byte Fader(nint ui, nint id, ref float value, float min, float max, in NativeFaderOpts opts); - /// cui_level_meter_ex + /// Returns true when the clip light was clicked to clear it. [LibraryImport("cui", EntryPoint = "cui_level_meter_ex")] public static partial byte LevelMeter(nint ui, nint id, nint levels, int channels, in NativeLevelMeterOpts opts); @@ -1344,7 +1344,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_path_has_extension")] public static partial byte PathHasExtension(nint path, nint accept); - /// cui_avatar_upload + /// Avatar upload: a round avatar that takes a dropped image, with a camera badge on hover. Returns 1 when *image changed, -1 when clicked (browse), 0 otherwise. A dropped image is loaded with cui_image_load. [LibraryImport("cui", EntryPoint = "cui_avatar_upload")] public static partial int AvatarUpload(nint ui, nint id, nint name, ref nuint image, float size); @@ -1396,7 +1396,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_node_output_ex")] public static partial byte NodeOutput(nint ui, int pinId, nint label, in NativePinOpts opts); - /// cui_node_content_begin + /// A row for ordinary components. They are laid out at 100% and scaled with the view, so their text is sharpest at 100% zoom and below. [LibraryImport("cui", EntryPoint = "cui_node_content_begin")] public static partial void NodeContentBegin(nint ui); @@ -1404,15 +1404,15 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_node_content_end")] public static partial void NodeContentEnd(nint ui); - /// cui_node_link + /// A link from an output pin to an input pin. Returns true while it is selected. [LibraryImport("cui", EntryPoint = "cui_node_link")] public static partial byte NodeLink(nint ui, int linkId, int fromPin, int toPin); - /// cui_node_link_created + /// What the user did this frame, one event per call; call them after cui_node_editor_begin (and up to the end of the frame). [LibraryImport("cui", EntryPoint = "cui_node_link_created")] public static partial byte NodeLinkCreated(nint ui, ref int fromPin, ref int toPin); - /// cui_node_link_removed + /// Part of cui_node_link — A link from an output pin to an input pin. Returns true while it is selected. [LibraryImport("cui", EntryPoint = "cui_node_link_removed")] public static partial byte NodeLinkRemoved(nint ui, ref int linkId); @@ -1452,7 +1452,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_toolbar_separator")] public static partial void ToolbarSeparator(nint ui); - /// cui_toolbar_spacer + /// pushes the following items to the right [LibraryImport("cui", EntryPoint = "cui_toolbar_spacer")] public static partial void ToolbarSpacer(nint ui); @@ -1468,11 +1468,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_status_bar_spacer")] public static partial void StatusBarSpacer(nint ui); - /// cui_status_bar_text_ex + /// A message; `tone` colors its icon. [LibraryImport("cui", EntryPoint = "cui_status_bar_text_ex")] public static partial void StatusBarText(nint ui, nint text, in NativeStatusItemOpts opts); - /// cui_status_bar_item_ex + /// A small clickable item ("Ln 12, Col 4", "UTF-8"). Returns true when clicked. [LibraryImport("cui", EntryPoint = "cui_status_bar_item_ex")] public static partial byte StatusBarItem(nint ui, nint label, in NativeStatusItemOpts opts); @@ -1500,7 +1500,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_dock_panel_end")] public static partial void DockPanelEnd(nint ui); - /// cui_dock_save + /// Saved layout: one line, e.g. dock1 h0.22([*Scene tree,Assets],v0.7([*Viewport],[*Log,-Console])) h splits side by side and v stacks, the number is the first child's share, [..] is a leaf's tabs in order, * the selected tab, - a closed panel; a backslash escapes , [ ] ( ) and itself in names. cui_dock_save returns the full length (as snprintf does) and writes what fits, or 0 when there is no layout. cui_dock_load replaces the layout (and sets each panel's *open from it on its next frame); names it does not know yet are kept for when they appear. Malformed text returns false and changes nothing. [LibraryImport("cui", EntryPoint = "cui_dock_save")] public static partial nuint DockSave(nint ui, nint id, nint buf, nuint cap); @@ -1516,7 +1516,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_inspector_end")] public static partial void InspectorEnd(nint ui); - /// cui_inspector_group + /// A folding group header. Build its rows only when this returns true (it stays true while the group animates closed). open may be NULL for a plain section that does not fold. [LibraryImport("cui", EntryPoint = "cui_inspector_group")] public static partial byte InspectorGroup(nint ui, nint title, nint open); @@ -1540,11 +1540,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_prop_enum_ex")] public static partial byte PropEnum(nint ui, nint label, nint items, int count, ref int index, in NativePropOpts opts); - /// cui_prop_color_ex + /// A swatch and hex value that opens the color picker. [LibraryImport("cui", EntryPoint = "cui_prop_color_ex")] public static partial byte PropColor(nint ui, nint label, ref NativeColor value, in NativePropOpts opts); - /// cui_prop_vec_ex + /// Compact X, Y (Z, W) scrub fields side by side; value holds 2, 3 or 4 floats. [LibraryImport("cui", EntryPoint = "cui_prop_vec_ex")] public static partial byte PropVec(nint ui, nint label, ref float value, int components, in NativePropOpts opts); @@ -1556,7 +1556,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_log_appendv")] public static partial void LogAppendv(ref NativeLogBuffer buf, LogLevel level, nint fmt, nint ap); - /// cui_log_append_text + /// Appends len bytes (-1: up to the terminator) stamped with time. [LibraryImport("cui", EntryPoint = "cui_log_append_text")] public static partial void LogAppendText(ref NativeLogBuffer buf, LogLevel level, double time, nint text, int len); @@ -1564,11 +1564,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_log_clear")] public static partial void LogClear(ref NativeLogBuffer buf); - /// cui_log_get + /// Line i (0 = oldest), or NULL when out of range. *text is terminated (and len bytes long). [LibraryImport("cui", EntryPoint = "cui_log_get")] public static partial nint LogGet(in NativeLogBuffer buf, int i, nint text); - /// cui_log_view_ex + /// Toolbar: level filters, a search field that filters and highlights, Follow (keeps the newest line in view; scrolling up turns it off, reaching the bottom turns it back on), Copy (selected lines, or all shown) and Clear. Click a line to select it, Shift+click for a range; with the list focused, arrows move, Shift+arrows extend, Ctrl+A selects all, Ctrl+C copies, Esc clears the selection, End follows again. [LibraryImport("cui", EntryPoint = "cui_log_view_ex")] public static partial void LogView(nint ui, nint id, ref NativeLogBuffer buf, in NativeLogViewOpts opts); @@ -1576,7 +1576,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_terminal_init")] public static partial void TerminalInit(ref NativeTerminalBuffer t, nint text, nuint textCap, nint lines, int lineCap); - /// cui_terminal_write + /// len -1: up to the terminator [LibraryImport("cui", EntryPoint = "cui_terminal_write")] public static partial void TerminalWrite(ref NativeTerminalBuffer t, nint data, int len); @@ -1588,7 +1588,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_terminal_ex")] public static partial NativeTerminalResult Terminal(nint ui, nint id, ref NativeTerminalBuffer t, in NativeTerminalOpts opts); - /// cui_emoji_font_load_file + /// Color emoji come from an emoji font: the system's (cui_emoji_font_load_system, which the picker calls by itself when nothing is loaded) or one the app ships. Bitmap color fonts (sbix as on macOS, CBDT as on Linux and Android) and layered ones (COLR version 0, as on Windows) are read, as is a plain outline font for one-color emoji. Sequences with skin tones, joined people and flags are looked up through the font's ligatures. Big fonts are read from the file as needed rather than loaded whole. Drawn emoji are kept in one texture and reused. [LibraryImport("cui", EntryPoint = "cui_emoji_font_load_file")] public static partial byte EmojiFontLoadFile(nint ui, nint path); @@ -1600,7 +1600,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_emoji_font_load_system")] public static partial byte EmojiFontLoadSystem(nint ui); - /// cui_emoji_supported + /// the font (or platform) can draw it [LibraryImport("cui", EntryPoint = "cui_emoji_supported")] public static partial byte EmojiSupported(nint ui, nint utf8, int len); @@ -1608,7 +1608,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_draw_emoji")] public static partial void DrawEmoji(nint ui, nint utf8, int len, NativeRect r); - /// cui_emoji + /// one emoji as a component [LibraryImport("cui", EntryPoint = "cui_emoji")] public static partial void Emoji(nint ui, nint utf8, float size); @@ -1616,23 +1616,23 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_emoji_picker_ex")] public static partial nint EmojiPicker(nint ui, nint id, in NativeEmojiPickerOpts opts); - /// cui_hex_view_ex + /// sel may be NULL: the view then keeps the selection itself. [LibraryImport("cui", EntryPoint = "cui_hex_view_ex")] public static partial NativeHexResult HexView(nint ui, nint id, nint data, nuint size, ref NativeHexSelection sel, in NativeHexViewOpts opts); - /// cui_hex_view_goto + /// Go to offset: on the view's next frame its cursor moves to offset, that byte becomes the selection and it scrolls into view (to the middle when it was out of sight). Wire a "Go to" field to it; it is safe to call every frame. [LibraryImport("cui", EntryPoint = "cui_hex_view_goto")] public static partial void HexViewGoto(nint ui, nint id, nuint offset); - /// cui_flame_graph_ex + /// selected: index into spans, -1 for none (may be NULL). [LibraryImport("cui", EntryPoint = "cui_flame_graph_ex")] public static partial NativeFlameResult FlameGraph(nint ui, nint id, nint spans, int count, ref NativeFlameView view, ref int selected, in NativeFlameOpts opts); - /// cui_flame_sort + /// Sorts spans into the order the graph needs: by depth, then start (longer first on ties). [LibraryImport("cui", EntryPoint = "cui_flame_sort")] public static partial void FlameSort(nint spans, int count); - /// cui_flame_span_rect + /// Where a span was drawn in the latest frame, in points (zero size when out of view). flame is the graph's id: cui_last_id(ui) right after the call. [LibraryImport("cui", EntryPoint = "cui_flame_span_rect")] public static partial NativeRect FlameSpanRect(nint ui, uint flame, in NativeFlameSpan span); @@ -1640,7 +1640,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_curve_editor_ex")] public static partial NativeCurveResult CurveEditor(nint ui, nint id, nint keys, ref int count, int capacity, in NativeCurveOpts opts); - /// cui_curve_eval + /// The curve's value at x: exactly what the editor draws. keys sorted by x. [LibraryImport("cui", EntryPoint = "cui_curve_eval")] public static partial float CurveEval(nint keys, int count, float x); @@ -1648,11 +1648,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_gradient_editor_ex")] public static partial NativeGradientResult GradientEditor(nint ui, nint id, nint stops, ref int count, int capacity, in NativeGradientOpts opts); - /// cui_gradient_eval + /// The color at t: exactly what the ramp shows (each channel, alpha too, interpolated in sRGB between the stops on either side; the end colors continue past the first and last stop). [LibraryImport("cui", EntryPoint = "cui_gradient_eval")] public static partial NativeColor GradientEval(nint stops, int count, float t); - /// cui_timeline_editor_ex + /// time: the playhead in seconds (may be NULL). [LibraryImport("cui", EntryPoint = "cui_timeline_editor_ex")] public static partial NativeTimelineEditorResult TimelineEditor(nint ui, nint id, nint tracks, int count, ref float time, in NativeTimelineEditorOpts opts); @@ -1672,7 +1672,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_query_builder_ex")] public static partial byte QueryBuilder(nint ui, nint id, nint fields, int fieldCount, nint nodes, ref int count, int capacity, in NativeQueryOpts opts); - /// cui_query_op_name + /// the operators of a type: text "is", "is not", "contains", "does not contain", "starts with", "ends with"; number "=", "!=", ">", ">=", "<", "<="; choice "is", "is not"; bool "is true", "is false". NULL past the last. [LibraryImport("cui", EntryPoint = "cui_query_op_name")] public static partial nint QueryOpName(QueryType type, int op); @@ -1680,7 +1680,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_query_text")] public static partial nuint QueryText(nint fields, int fieldCount, nint nodes, int count, nint @out, nuint cap); - /// cui_query_match + /// values[i] is the record's value for field i, as text ("1", "true", "open"). [LibraryImport("cui", EntryPoint = "cui_query_match")] public static partial byte QueryMatch(nint fields, int fieldCount, nint nodes, int count, nint values); @@ -1688,11 +1688,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_schedule_picker_ex")] public static partial NativeScheduleResult SchedulePicker(nint ui, nint id, nint cron, nuint cap, in NativeScheduleOpts opts); - /// cui_cron_next + /// The first time after `after` (Unix seconds) the expression matches, in the time zone that is utc_offset minutes east of UTC. Supports *, lists, ranges, steps and the names JAN-DEC and SUN-SAT. False when it is invalid or never runs in the next five years. [LibraryImport("cui", EntryPoint = "cui_cron_next")] public static partial byte CronNext(nint cron, long after, int utcOffset, ref long next); - /// cui_cron_describe + /// "Every weekday at 09:30", in frame memory; NULL when invalid. [LibraryImport("cui", EntryPoint = "cui_cron_describe")] public static partial nint CronDescribe(nint ui, nint cron); @@ -1744,7 +1744,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_response_status")] public static partial void ResponseStatus(nint ui, int status, double seconds, double bytes); - /// cui_http_reason + /// "Not Found"; "" when unknown [LibraryImport("cui", EntryPoint = "cui_http_reason")] public static partial nint HttpReason(int status); @@ -1752,11 +1752,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_http_method_name")] public static partial nint HttpMethodName(int method); - /// cui_url_params + /// returns the pairs written [LibraryImport("cui", EntryPoint = "cui_url_params")] public static partial int UrlParams(nint url, nint pairs, int cap); - /// cui_url_set_params + /// enabled pairs; false when it did not fit [LibraryImport("cui", EntryPoint = "cui_url_set_params")] public static partial byte UrlSetParams(nint url, nuint cap, nint pairs, int count); @@ -1784,6 +1784,22 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_api_explorer_ex")] public static partial NativeApiExplorerResult ApiExplorer(nint ui, nint id, nint endpoints, int count, in NativeApiExplorerOpts opts); + /// cui_dot_chart_ex + [LibraryImport("cui", EntryPoint = "cui_dot_chart_ex")] + public static partial NativeDotChartResult DotChart(nint ui, nint id, nint series, int seriesCount, int count, in NativeDotChartOpts opts); + + /// cui_event_track_ex + [LibraryImport("cui", EntryPoint = "cui_event_track_ex")] + public static partial NativeEventTrackResult EventTrack(nint ui, nint id, nint times, ref int count, int capacity, double min, double max, in NativeEventTrackOpts opts); + + /// cui_readout_ex + [LibraryImport("cui", EntryPoint = "cui_readout_ex")] + public static partial void Readout(nint ui, nint label, nint value, in NativeReadoutOpts opts); + + /// cui_dot_display_ex + [LibraryImport("cui", EntryPoint = "cui_dot_display_ex")] + public static partial void DotDisplay(nint ui, nint text, in NativeDotDisplayOpts opts); + /// cui_draw_rect [LibraryImport("cui", EntryPoint = "cui_draw_rect")] public static partial void DrawRect(nint ui, NativeRect r, NativeCorners radius, NativeColor fill); @@ -1808,7 +1824,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_draw_polyline")] public static partial void DrawPolyline(nint ui, nint points, int count, float thickness, NativeColor color, byte closed); - /// cui_draw_polygon + /// convex [LibraryImport("cui", EntryPoint = "cui_draw_polygon")] public static partial void DrawPolygon(nint ui, nint points, int count, NativeColor color); @@ -1844,23 +1860,23 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_canvas")] public static partial NativeCanvasResult Canvas(nint ui, nint id, NativeSize width, NativeSize height, nint paint, nint user, nuint userSize); - /// cui_state + /// Persistent per-id storage for your own components (zeroed on first use). State not used for about 300 frames is freed (and zeroed again if it comes back), so it suits what can be rebuilt. For resources held in it, such as textures, set a function that frees them: it runs when the state goes or the context is destroyed. [LibraryImport("cui", EntryPoint = "cui_state")] public static partial nint State(nint ui, uint id, nuint size); - /// cui_state_on_free + /// Part of cui_state — Persistent per-id storage for your own components (zeroed on first use). State not used for about 300 frames is freed (and zeroed again if it comes back), so it suits what can be rebuilt. For resources held in it, such as textures, set a function that frees them: it runs when the state goes or the context is destroyed. [LibraryImport("cui", EntryPoint = "cui_state_on_free")] public static partial void StateOnFree(nint ui, uint id, nint fn); - /// cui_animate + /// Animation helpers. Values move toward target with a spring and request frames while moving. Reduced motion makes them snap. [LibraryImport("cui", EntryPoint = "cui_animate")] public static partial float Animate(nint ui, uint id, float target); - /// cui_animate_spring + /// Part of cui_animate — Animation helpers. Values move toward target with a spring and request frames while moving. Reduced motion makes them snap. [LibraryImport("cui", EntryPoint = "cui_animate_spring")] public static partial float AnimateSpring(nint ui, uint id, float target, float duration, float bounce); - /// cui_get_draw_data + /// Valid after cui_end_frame until the next cui_begin_frame. [LibraryImport("cui", EntryPoint = "cui_get_draw_data")] public static partial nint GetDrawData(nint ui); @@ -1872,7 +1888,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_app_destroy")] public static partial void AppDestroy(nint app); - /// cui_app_frame + /// Presents the previous frame, waits for input or animation, then begins a new frame. Returns false once the window was closed or cui_app_quit was called. [LibraryImport("cui", EntryPoint = "cui_app_frame")] public static partial byte AppFrame(nint app); @@ -1880,11 +1896,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_app_ui")] public static partial nint AppUi(nint app); - /// cui_app_run + /// Creates the app, calls frame() until the window closes, destroys it. [LibraryImport("cui", EntryPoint = "cui_app_run")] public static partial int AppRun(in NativeAppDesc desc, nint frame, nint user); - /// cui_app_quit + /// The functions below take NULL for "the app that is running", which is how a cui_app_run callback reaches its window: cui_app_quit(NULL). Ends the loop after the current frame: cui_app_frame returns false, cui_app_run returns. [LibraryImport("cui", EntryPoint = "cui_app_quit")] public static partial void AppQuit(nint app); @@ -1892,7 +1908,7 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_app_set_title")] public static partial void AppSetTitle(nint app, nint title); - /// cui_app_set_size + /// The window's size in logical points (the same units as cui_app_desc.width). [LibraryImport("cui", EntryPoint = "cui_app_set_size")] public static partial void AppSetSize(nint app, int width, int height); @@ -1900,15 +1916,15 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_app_size")] public static partial NativeVec2 AppSize(nint app); - /// cui_app_is_software + /// True when the software renderer is drawing (no usable OpenGL, or it was asked for). [LibraryImport("cui", EntryPoint = "cui_app_is_software")] public static partial byte AppIsSoftware(nint app); - /// cui_app_native_window + /// HWND, NSWindow*, X11 Window (cast to uintptr_t), SDL_Window* or GLFWwindow*. [LibraryImport("cui", EntryPoint = "cui_app_native_window")] public static partial nint AppNativeWindow(nint app); - /// cui_app_backend + /// Name of the active backend: "win32", "cocoa", "x11", "sdl2", "glfw". [LibraryImport("cui", EntryPoint = "cui_app_backend")] public static partial nint AppBackend(nint app); @@ -1916,11 +1932,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_app_file_dialog")] public static partial byte AppFileDialog(nint app, in NativeFileDialogOpts opts, nint @out, nuint cap); - /// cui_app_open_url + /// Opens a URL or file with the system's default handler. [LibraryImport("cui", EntryPoint = "cui_app_open_url")] public static partial byte AppOpenUrl(nint url); - /// cui_app_screenshot + /// Renders the current UI into an RGBA buffer (any backend). Handy for screenshots and tests. Returns false when the buffer is too small. [LibraryImport("cui", EntryPoint = "cui_app_screenshot")] public static partial byte AppScreenshot(nint app, nint rgba, int width, int height); @@ -1932,19 +1948,19 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_sw_destroy")] public static partial void SwDestroy(nint r); - /// cui_sw_iface + /// Texture callbacks to pass to cui_create / cui_set_renderer. [LibraryImport("cui", EntryPoint = "cui_sw_iface")] public static partial NativeRendererIface SwIface(nint r); - /// cui_sw_render + /// Renders draw data into a pixel buffer of width x height. stride is in bytes. [LibraryImport("cui", EntryPoint = "cui_sw_render")] public static partial void SwRender(nint r, in NativeDrawData dd, nint pixels, int width, int height, int stride, SwFormat format); - /// cui_sw_set_threads + /// Number of worker threads (1 = single threaded, default: number of cores up to 8). [LibraryImport("cui", EntryPoint = "cui_sw_set_threads")] public static partial void SwSetThreads(nint r, int threads); - /// cui_sw_set_incremental + /// Incremental rendering: when the same buffer is passed again, with what the last call drew still in it, only the parts that changed are drawn again. A frame where only a button's hover changed costs that button. Off by default. cui_sw_last_damage gives the rectangle the last call drew (in pixels), so only that part needs copying to the screen; it returns false when nothing changed. [LibraryImport("cui", EntryPoint = "cui_sw_set_incremental")] public static partial void SwSetIncremental(nint r, byte on); @@ -1952,11 +1968,11 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_sw_last_damage")] public static partial byte SwLastDamage(nint r, ref int x, ref int y, ref int w, ref int h); - /// cui_write_png + /// Writes a PNG file (RGBA pixels). Returns false on failure. [LibraryImport("cui", EntryPoint = "cui_write_png")] public static partial byte WritePng(nint path, nint rgba, int width, int height, int stride); - /// cui_gl_create + /// Create after the GL context is current. `loader` resolves GL functions (wglGetProcAddress, glXGetProcAddress, SDL_GL_GetProcAddress, glfwGetProcAddress, ...). Returns NULL if the context lacks GL 3.3 / ES 3. [LibraryImport("cui", EntryPoint = "cui_gl_create")] public static partial nint GlCreate(nint loader); @@ -1968,15 +1984,15 @@ public static unsafe partial class Native [LibraryImport("cui", EntryPoint = "cui_gl_iface")] public static partial NativeRendererIface GlIface(nint r); - /// cui_gl_render + /// Renders into the currently bound framebuffer. Set clear to false when drawing the UI on top of your own scene. [LibraryImport("cui", EntryPoint = "cui_gl_render")] public static partial void GlRender(nint r, in NativeDrawData dd, byte clear); - /// cui_gl_read_pixels + /// Reads the bound framebuffer into a top-down RGBA buffer. [LibraryImport("cui", EntryPoint = "cui_gl_read_pixels")] public static partial void GlReadPixels(nint r, int width, int height, nint rgba); - /// cui_gl_is_software + /// True when the OpenGL driver draws on the CPU (Mesa llvmpipe, SwiftShader and the like, as in virtual machines and remote sessions). CUI's own software renderer, which redraws only what changed, is then much cheaper. [LibraryImport("cui", EntryPoint = "cui_gl_is_software")] public static partial byte GlIsSoftware(nint r); diff --git a/src/CuiSharp/Interop/Structs.g.cs b/src/CuiSharp/Interop/Structs.g.cs index 5596906..3853891 100644 --- a/src/CuiSharp/Interop/Structs.g.cs +++ b/src/CuiSharp/Interop/Structs.g.cs @@ -9,7 +9,7 @@ namespace CuiSharp.Interop; -/// cui_vec2, 8 bytes. +/// cui_vec2 (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeVec2 { @@ -19,7 +19,7 @@ public unsafe struct NativeVec2 public float Y; } -/// cui_rect, 16 bytes. +/// cui_rect (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeRect { @@ -33,7 +33,7 @@ public unsafe struct NativeRect public float H; } -/// cui_color, 4 bytes. +/// cui_color (4 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeColor { @@ -47,7 +47,7 @@ public unsafe struct NativeColor public byte A; } -/// cui_renderer_iface, 32 bytes. +/// How CUI talks to a renderer. The built-in renderers fill this in for you (cui_render_gl_iface / cui_render_sw_iface). Implement it to use CUI with any graphics API. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeRendererIface { @@ -61,7 +61,7 @@ public unsafe struct NativeRendererIface public nint TextureDestroy; } -/// cui_allocator, 32 bytes. +/// cui_allocator (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeAllocator { @@ -75,25 +75,25 @@ public unsafe struct NativeAllocator public nint User; } -/// cui_ctx_desc, 80 bytes. +/// cui_ctx_desc (80 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCtxDesc { - /// cui_renderer_iface (offset 0) + /// required for drawing; may be set later (offset 0) public NativeRendererIface Renderer; - /// cui_allocator (offset 32) + /// optional, defaults to malloc/free (offset 32) public NativeAllocator Allocator; /// cui_theme_mode (offset 64) public Theme Theme; /// cui_accent (offset 68) public Accent Accent; - /// _Bool (offset 72) + /// skip the embedded Inter/Geist/Lucide fonts (offset 72) public byte NoDefaultFonts; /// cui_direction (offset 76) public Direction Direction; } -/// cui_platform_iface, 48 bytes. +/// Platform services. The built-in backends set these. (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativePlatformIface { @@ -101,17 +101,17 @@ public unsafe struct NativePlatformIface public nint User; /// void (*)(void *, const char *) (offset 8) public nint SetClipboard; - /// const char *(*)(void *) (offset 16) + /// returned string stays valid until next call (offset 16) public nint GetClipboard; /// void (*)(void *, cui_cursor) (offset 24) public nint SetCursor; - /// void (*)(void *, cui_rect) (offset 32) + /// IME candidate window position (offset 32) public nint SetTextInputRect; - /// _Bool (*)(void *, const char *, int, int, unsigned char *) (offset 40) + /// Optional: draws one emoji (UTF-8) into a px by px RGBA buffer (straight alpha), for when no emoji font is loaded; the browser build uses the browser's emoji. (offset 40) public nint DrawEmoji; } -/// cui_shadow, 16 bytes. +/// cui_shadow (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeShadow { @@ -153,7 +153,7 @@ public struct NativeThemeShadowFloatingArray private NativeShadow _element0; } -/// cui_theme, 328 bytes. +/// cui_theme (328 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTheme { @@ -173,27 +173,27 @@ public unsafe struct NativeTheme public NativeColor ToneOrchid; /// cui_color (offset 164) public NativeColor ToneViolet; - /// float (offset 168) + /// buttons, inputs (default 10) (offset 168) public float RadiusControl; - /// float (offset 172) + /// menus, popovers, nested panels (default 14) (offset 172) public float RadiusPanel; - /// float (offset 176) + /// cards, dialogs (default 18) (offset 176) public float RadiusSurface; - /// float (offset 180) + /// control heights (30/36/44) (offset 180) public float ControlSm; - /// float (offset 184) + /// control heights (30/36/44) (offset 184) public float ControlMd; - /// float (offset 188) + /// control heights (30/36/44) (offset 188) public float ControlLg; - /// float (offset 192) + /// 11/12/13/15 (offset 192) public float TextXs; - /// float (offset 196) + /// 11/12/13/15 (offset 196) public float TextSm; - /// float (offset 200) + /// 11/12/13/15 (offset 200) public float TextBody; - /// float (offset 204) + /// 11/12/13/15 (offset 204) public float TextLg; - /// float[4] (offset 208) + /// h1..h4: 36/28/22/17 (offset 208) public fixed float Heading[4]; /// cui_shadow[2] (offset 224) public NativeThemeShadowRestingArray ShadowResting; @@ -201,9 +201,9 @@ public unsafe struct NativeTheme public NativeThemeShadowRaisedArray ShadowRaised; /// cui_shadow[2] (offset 288) public NativeThemeShadowFloatingArray ShadowFloating; - /// float (offset 320) + /// 1 = normal, 0 = reduced motion (no travel), >1 slow motion (offset 320) public float Motion; - /// float (offset 324) + /// user text scale multiplier (default 1) (offset 324) public float FontScale; } @@ -242,25 +242,25 @@ public struct NativeStringsWeekdayMinArray private nint _element0; } -/// cui_strings, 368 bytes. +/// Text the components show, for another language. CUI keeps the pointer (the table must outlive its use) and reads it every frame, so switching language is one call. An entry left NULL falls back to English, so a partial table is fine. Weeks start on Monday, as in every CUI calendar. NULL restores English. (368 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeStrings { - /// const char *[12] (offset 0) + /// "January" ... (offset 0) public NativeStringsMonthArray Month; - /// const char *[12] (offset 96) + /// "Jan" ... (offset 96) public NativeStringsMonthShortArray MonthShort; - /// const char *[7] (offset 192) + /// "Monday" ... "Sunday" (offset 192) public NativeStringsWeekdayArray Weekday; - /// const char *[7] (offset 248) + /// "Mon" ... (offset 248) public NativeStringsWeekdayShortArray WeekdayShort; - /// const char *[7] (offset 304) + /// "Mo" ... (offset 304) public NativeStringsWeekdayMinArray WeekdayMin; - /// const char * (offset 360) + /// "Today" (offset 360) public nint Today; } -/// cui_text_metrics, 20 bytes. +/// cui_text_metrics (20 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTextMetrics { @@ -276,7 +276,7 @@ public unsafe struct NativeTextMetrics public float LineHeight; } -/// cui_size, 8 bytes. +/// cui_size (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSize { @@ -286,19 +286,19 @@ public unsafe struct NativeSize public float Value; } -/// cui_box, 152 bytes. +/// Options for every container. All fields are optional. (152 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeBox { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// identity for scroll state etc. (defaults to an automatic id) (offset 8) public nint Id; - /// cui_dir (offset 16) + /// CUI_COLUMN (default), CUI_ROW, CUI_STACK, CUI_GRID (offset 16) public Dir Dir; - /// cui_size (offset 20) + /// default: fit content (columns stretch children horizontally) (offset 20) public NativeSize Width; - /// cui_size (offset 28) + /// default: fit content (columns stretch children horizontally) (offset 28) public NativeSize Height; /// float (offset 36) public float MinWidth; @@ -322,25 +322,25 @@ public unsafe struct NativeBox public float PadBottom; /// float (offset 76) public float PadLeft; - /// float (offset 80) + /// space between children (and between wrapped lines) (offset 80) public float Gap; - /// int (offset 84) + /// CUI_GRID: column count (with min_column_width: the most columns) (offset 84) public int Columns; - /// float (offset 88) + /// CUI_GRID: as many columns as fit at this width, at least one (offset 88) public float MinColumnWidth; - /// _Bool (offset 92) + /// CUI_ROW: children that do not fit move to a new line (offset 92) public byte Wrap; - /// cui_align (offset 96) + /// cross axis alignment of children (offset 96) public Align Align; - /// cui_justify (offset 100) + /// main axis distribution (offset 100) public Justify Justify; - /// cui_color (offset 104) + /// background (offset 104) public NativeColor Bg; - /// cui_color (offset 108) + /// defaults to CUI_COLOR_BORDER when border > 0 (offset 108) public NativeColor BorderColor; - /// float (offset 112) + /// border width (offset 112) public float Border; - /// float (offset 116) + /// corner radius; use radius_tl.. for single corners (offset 116) public float Radius; /// float (offset 120) public float RadiusTl; @@ -352,39 +352,39 @@ public unsafe struct NativeBox public float RadiusBl; /// cui_elevation (offset 136) public Elevation Elevation; - /// _Bool (offset 140) + /// make the box a scroll area (clips content) (offset 140) public byte ScrollX; - /// _Bool (offset 141) + /// make the box a scroll area (clips content) (offset 141) public byte ScrollY; - /// _Bool (offset 142) + /// clip children to the box (offset 142) public byte Clip; - /// float (offset 144) + /// 0 means 1 (fully opaque) (offset 144) public float Opacity; - /// cui_direction (offset 148) + /// inherited by default; mirrors horizontal layout and padding (offset 148) public Direction Direction; } -/// cui_card_opts, 72 bytes. +/// Card: a bordered surface with generous padding. (72 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCardOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// identity of the card, for its hover state (defaults to an automatic id) (offset 8) public nint Id; /// cui_size (offset 16) public NativeSize Width; /// cui_size (offset 24) public NativeSize Height; - /// float (offset 32) + /// e.g. CUI_FILL up to max_width: fills narrow screens, stops on wide ones (offset 32) public float MinWidth; - /// float (offset 36) + /// e.g. CUI_FILL up to max_width: fills narrow screens, stops on wide ones (offset 36) public float MaxWidth; /// float (offset 40) public float Pad; - /// float (offset 44) + /// left and right padding in points; 0 uses `pad` (offset 44) public float PadX; - /// float (offset 48) + /// top and bottom padding in points; 0 uses `pad` (offset 48) public float PadY; /// float (offset 52) public float Gap; @@ -392,17 +392,17 @@ public unsafe struct NativeCardOpts public Dir Dir; /// cui_align (offset 60) public Align Align; - /// _Bool (offset 64) + /// CUI_ROW cards: children that do not fit move to a new line (offset 64) public byte Wrap; - /// _Bool (offset 65) + /// lifts slightly on hover and returns clicks (offset 65) public byte Hoverable; - /// _Bool (offset 66) + /// muted surface, no border (offset 66) public byte Muted; - /// _Bool (offset 67) + /// accent border (offset 67) public byte Selected; } -/// cui_scroll_opts, 56 bytes. +/// Scroll area with smooth scrolling and overlay scrollbars. (56 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeScrollOpts { @@ -414,19 +414,19 @@ public unsafe struct NativeScrollOpts public NativeSize Width; /// cui_size (offset 24) public NativeSize Height; - /// _Bool (offset 32) + /// also scroll horizontally (offset 32) public byte Horizontal; /// float (offset 36) public float Pad; /// float (offset 40) public float Gap; - /// _Bool (offset 44) + /// content fades out at an edge with more to scroll (offset 44) public byte FadeEdges; - /// cui_color (offset 45) + /// what it fades into (default: the nearest opaque box around it) (offset 45) public NativeColor FadeColor; } -/// cui_split_opts, 32 bytes. +/// Resizable split view: two panes with a draggable divider. `ratio` is the size of the first pane in 0..1. Call cui_split_next between the panes. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSplitOpts { @@ -444,35 +444,35 @@ public unsafe struct NativeSplitOpts public NativeSize Height; } -/// cui_text_opts, 40 bytes. +/// cui_text_opts (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTextOpts { /// int (offset 0) public int Sentinel; - /// cui_font (offset 4) + /// default CUI_FONT_BODY (0) (offset 4) public Font Font; - /// float (offset 8) + /// default theme text_body (offset 8) public float Size; - /// cui_color (offset 12) + /// default foreground (offset 12) public NativeColor Color; /// cui_text_align (offset 16) public TextAlign Align; - /// _Bool (offset 20) + /// single line, ellipsis when it does not fit (offset 20) public byte Nowrap; - /// _Bool (offset 21) + /// tabular numbers (offset 21) public byte Tabular; - /// _Bool (offset 22) + /// reserved (offset 22) public byte Selectable; /// cui_size (offset 24) public NativeSize Width; - /// float (offset 32) + /// multiplier, default 1.45 (offset 32) public float LineHeight; - /// cui_direction (offset 36) + /// inherited; AUTO examines this text (offset 36) public Direction Direction; } -/// cui_button_opts, 72 bytes. +/// cui_button_opts (72 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeButtonOpts { @@ -482,29 +482,29 @@ public unsafe struct NativeButtonOpts public ButtonVariant Variant; /// cui_control_size (offset 8) public ControlSize Size; - /// const char * (offset 16) + /// leading icon, e.g. CUI_ICON_PLUS (offset 16) public nint Icon; - /// const char * (offset 24) + /// trailing icon (offset 24) public nint IconRight; /// _Bool (offset 32) public byte Disabled; - /// _Bool (offset 33) + /// spinner, ignores clicks (offset 33) public byte Loading; /// _Bool (offset 34) public byte FullWidth; - /// _Bool (offset 35) + /// toggled look (offset 35) public byte Selected; /// const char * (offset 40) public nint Tooltip; - /// const char * (offset 48) + /// shown as a hint in the tooltip, e.g. "Ctrl S" (offset 48) public nint Shortcut; /// cui_size (offset 56) public NativeSize Width; - /// cui_color (offset 64) + /// text and icon color, e.g. CUI_COLOR_ACCENT for a toggled icon (offset 64) public NativeColor Color; } -/// cui_segmented_opts, 24 bytes. +/// Segmented control: a row of options with a gliding highlight. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSegmentedOpts { @@ -518,7 +518,7 @@ public unsafe struct NativeSegmentedOpts public nint Icons; } -/// cui_check_opts, 24 bytes. +/// cui_check_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCheckOpts { @@ -532,17 +532,17 @@ public unsafe struct NativeCheckOpts public byte Indeterminate; } -/// cui_slider_opts, 40 bytes. +/// cui_slider_opts (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSliderOpts { /// int (offset 0) public int Sentinel; - /// float (offset 4) + /// 0 = continuous (offset 4) public float Step; /// _Bool (offset 8) public byte ShowValue; - /// const char * (offset 16) + /// printf format for the value, default "%.0f" (offset 16) public nint Format; /// _Bool (offset 24) public byte Disabled; @@ -550,7 +550,7 @@ public unsafe struct NativeSliderOpts public NativeSize Width; } -/// cui_chip_opts, 24 bytes. +/// cui_chip_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeChipOpts { @@ -562,27 +562,27 @@ public unsafe struct NativeChipOpts public byte Disabled; } -/// cui_input_opts, 88 bytes. +/// cui_input_opts (88 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeInputOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// label above the field (offset 8) public nint Label; /// const char * (offset 16) public nint Placeholder; - /// const char * (offset 24) + /// leading icon (offset 24) public nint Icon; - /// const char * (offset 32) + /// helper text below (offset 32) public nint Hint; - /// const char * (offset 40) + /// error text below (red) (offset 40) public nint Error; - /// _Bool (offset 48) + /// shows dots instead of the text, with an eye button that reveals it (offset 48) public byte Password; /// _Bool (offset 49) public byte Disabled; - /// _Bool (offset 50) + /// x button when not empty (offset 50) public byte Clearable; /// _Bool (offset 51) public byte Autofocus; @@ -592,15 +592,15 @@ public unsafe struct NativeInputOpts public ControlSize Size; /// cui_size (offset 60) public NativeSize Width; - /// float (offset 68) + /// textarea: height in points; negative fills the space (offset 68) public float Height; - /// const char * (offset 72) + /// muted text before the value, e.g. "$" or "https://" (offset 72) public nint Prefix; - /// const char * (offset 80) + /// muted text after the value, e.g. "USD" or "kg" (offset 80) public nint Suffix; } -/// cui_number_opts, 48 bytes. +/// cui_number_opts (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeNumberOpts { @@ -616,11 +616,11 @@ public unsafe struct NativeNumberOpts public byte Disabled; /// cui_size (offset 32) public NativeSize Width; - /// const char * (offset 40) + /// muted text after the value, before the - and + buttons, e.g. "kg" (offset 40) public nint Suffix; } -/// cui_select_opts, 48 bytes. +/// cui_select_opts (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSelectOpts { @@ -632,7 +632,7 @@ public unsafe struct NativeSelectOpts public nint Placeholder; /// const char *const * (offset 24) public nint Icons; - /// _Bool (offset 32) + /// combobox: filter options by typing (offset 32) public byte Searchable; /// _Bool (offset 33) public byte Disabled; @@ -640,19 +640,19 @@ public unsafe struct NativeSelectOpts public NativeSize Width; } -/// cui_date, 12 bytes. +/// cui_date (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDate { - /// int (offset 0) + /// month 1..12 (offset 0) public int Year; - /// int (offset 4) + /// month 1..12 (offset 4) public int Month; - /// int (offset 8) + /// month 1..12 (offset 8) public int Day; } -/// cui_date_opts, 32 bytes. +/// cui_date_opts (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDateOpts { @@ -666,7 +666,7 @@ public unsafe struct NativeDateOpts public NativeSize Width; } -/// cui_tabs_opts, 24 bytes. +/// cui_tabs_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTabsOpts { @@ -680,7 +680,7 @@ public unsafe struct NativeTabsOpts public byte FullWidth; } -/// cui_nav_opts, 40 bytes. +/// Sidebar navigation item with a gliding selection highlight shared by all items in the same group. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeNavOpts { @@ -688,15 +688,15 @@ public unsafe struct NativeNavOpts public int Sentinel; /// const char * (offset 8) public nint Icon; - /// const char * (offset 16) + /// small text at the right edge of the item, e.g. a count (offset 16) public nint Badge; - /// _Bool (offset 24) + /// the current page: medium weight text, and the group's highlight glides to it (offset 24) public byte Selected; - /// const char * (offset 32) + /// items with the same group name share one highlight; `NULL` puts them in one common group (offset 32) public nint Group; } -/// cui_popover_opts, 20 bytes. +/// Popover anchored to the previous component. Toggle it with cui_popover_toggle / cui_popover_open. (20 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativePopoverOpts { @@ -712,43 +712,43 @@ public unsafe struct NativePopoverOpts public float Gap; } -/// cui_tour_step, 32 bytes. +/// Guided tour: a spotlight on one control at a time, with a card beside it that says what the control does, for onboarding and "what's new". The rest of the window dims; the spotlight glides from one control to the next. Call it after the controls it points at, every frame while *step is 0 or more; it sets *step to -1 when the tour ends. Right or Enter go to the next step, Left goes back and Esc ends the tour. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTourStep { - /// cui_id (offset 0) + /// the control to point at (cui_last_id after it); 0: a card in the middle (offset 0) public uint Target; - /// const char * (offset 8) + /// heading of the step's card; `NULL` or "" leaves it out (offset 8) public nint Title; - /// const char * (offset 16) + /// the explanation under the title; wraps to the card's width (offset 16) public nint Body; - /// cui_placement (offset 24) + /// the card's side of the target, default below it (offset 24) public Placement Placement; } -/// cui_tour_opts, 48 bytes. +/// cui_tour_opts (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTourOpts { /// int (offset 0) public int Sentinel; - /// float (offset 4) + /// the card, default 300 (offset 4) public float Width; - /// float (offset 8) + /// room around the target inside the spotlight, default 6 (offset 8) public float Padding; - /// _Bool (offset 12) + /// the spotlighted control ignores the pointer too (offset 12) public byte BlockTarget; - /// const char * (offset 16) + /// default "Next", "Back", "Done" (offset 16) public nint NextLabel; - /// const char * (offset 24) + /// default "Next", "Back", "Done" (offset 24) public nint BackLabel; - /// const char * (offset 32) + /// default "Next", "Back", "Done" (offset 32) public nint DoneLabel; - /// const char * (offset 40) + /// the step count, default "%d of %d" (step, then total) (offset 40) public nint CountFormat; } -/// cui_menu_opts, 32 bytes. +/// Dropdown menu: a button that opens a menu. Items return true when chosen. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeMenuOpts { @@ -762,11 +762,11 @@ public unsafe struct NativeMenuOpts public Placement Placement; /// float (offset 24) public float Width; - /// _Bool (offset 28) + /// an icon button (the ellipsis unless `icon` is set) with the label as its tooltip (offset 28) public byte IconOnly; } -/// cui_menu_item_opts, 32 bytes. +/// cui_menu_item_opts (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeMenuItemOpts { @@ -780,11 +780,11 @@ public unsafe struct NativeMenuItemOpts public byte Danger; /// _Bool (offset 25) public byte Disabled; - /// _Bool (offset 26) + /// a check mark at the right edge of the item (offset 26) public byte Checked; } -/// cui_dialog_opts, 24 bytes. +/// cui_dialog_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDialogOpts { @@ -792,15 +792,15 @@ public unsafe struct NativeDialogOpts public int Sentinel; /// const char * (offset 8) public nint Description; - /// float (offset 16) + /// default 440 (offset 16) public float Width; - /// _Bool (offset 20) + /// hides the x in the corner (Esc and a click outside still close it unless `persistent`) (offset 20) public byte NoCloseButton; - /// _Bool (offset 21) + /// clicking outside or Esc does not close (offset 21) public byte Persistent; } -/// cui_sheet_opts, 24 bytes. +/// cui_sheet_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSheetOpts { @@ -814,7 +814,7 @@ public unsafe struct NativeSheetOpts public nint Description; } -/// cui_toast_opts, 40 bytes. +/// cui_toast_opts (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeToastOpts { @@ -824,15 +824,15 @@ public unsafe struct NativeToastOpts public nint Description; /// cui_tone (offset 16) public Tone Tone; - /// float (offset 20) + /// seconds, default 4; negative = until dismissed (offset 20) public float Duration; - /// const char * (offset 24) + /// optional action button label (offset 24) public nint Action; - /// _Bool (offset 32) + /// a draining line shows how long the action stays (undo) (offset 32) public byte ShowTimer; } -/// cui_alert_opts, 40 bytes. +/// cui_alert_opts (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeAlertOpts { @@ -848,7 +848,7 @@ public unsafe struct NativeAlertOpts public byte Dismissible; } -/// cui_progress_opts, 40 bytes. +/// cui_progress_opts (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeProgressOpts { @@ -868,7 +868,7 @@ public unsafe struct NativeProgressOpts public NativeSize Width; } -/// cui_badge_opts, 32 bytes. +/// cui_badge_opts (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeBadgeOpts { @@ -876,9 +876,9 @@ public unsafe struct NativeBadgeOpts public int Sentinel; /// cui_tone (offset 4) public Tone Tone; - /// _Bool (offset 8) + /// a small dot before the text, in the tone's color (offset 8) public byte Dot; - /// _Bool (offset 9) + /// filled with the tone's color instead of a light tint of it (offset 9) public byte Solid; /// const char * (offset 16) public nint Icon; @@ -886,7 +886,7 @@ public unsafe struct NativeBadgeOpts public ControlSize Size; } -/// cui_avatar_opts, 32 bytes. +/// cui_avatar_opts (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeAvatarOpts { @@ -894,15 +894,15 @@ public unsafe struct NativeAvatarOpts public int Sentinel; /// float (offset 4) public float Size; - /// cui_texture (offset 8) + /// picture to show instead of the initials of the name (offset 8) public nuint Image; - /// const char * (offset 16) + /// a dot at the bottom right: "online" green, "busy" red, "away" amber, anything else gray (offset 16) public nint Status; - /// _Bool (offset 24) + /// rounded square instead of a circle (offset 24) public byte Square; } -/// cui_empty_opts, 32 bytes. +/// cui_empty_opts (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeEmptyOpts { @@ -912,33 +912,33 @@ public unsafe struct NativeEmptyOpts public nint Icon; /// const char * (offset 16) public nint Description; - /// const char * (offset 24) + /// label of a button under the text; the call returns true when it is clicked (offset 24) public nint Action; } -/// cui_metric_opts, 56 bytes. +/// cui_metric_opts (56 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeMetricOpts { /// int (offset 0) public int Sentinel; - /// float (offset 4) + /// change shown beside the value with a trend arrow, as a percentage (4.2 shows +4.2%); 0 hides it (offset 4) public float Delta; - /// const char * (offset 8) + /// text shown instead of the percentage, e.g. "+12 this week"; `delta` still sets arrow and color (offset 8) public nint DeltaLabel; - /// const float * (offset 16) + /// values for a sparkline under the value; needs at least 2 (offset 16) public nint Spark; - /// int (offset 24) + /// number of values in `spark` (offset 24) public int SparkCount; /// const char * (offset 32) public nint Icon; /// cui_size (offset 40) public NativeSize Width; - /// _Bool (offset 48) + /// build times, errors, latency: a fall is good news, shown in green (offset 48) public byte LowerIsBetter; } -/// cui_tree_opts, 24 bytes. +/// Tree view node. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTreeOpts { @@ -946,13 +946,13 @@ public unsafe struct NativeTreeOpts public int Sentinel; /// const char * (offset 8) public nint Icon; - /// _Bool (offset 16) + /// a node without children: no chevron, a file icon, and `*open` is left alone (offset 16) public byte Leaf; - /// _Bool (offset 17) + /// drawn with the active background and medium weight text (offset 17) public byte Selected; } -/// cui_list_item_opts, 48 bytes. +/// List item: a selectable row with optional icon, subtitle and trailing text. (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeListItemOpts { @@ -960,23 +960,23 @@ public unsafe struct NativeListItemOpts public int Sentinel; /// const char * (offset 8) public nint Icon; - /// const char * (offset 16) + /// second line under the title, smaller; makes the row taller (offset 16) public nint Subtitle; - /// const char * (offset 24) + /// muted text at the right edge, e.g. a time or a count (offset 24) public nint Trailing; - /// _Bool (offset 32) + /// drawn with the active background (offset 32) public byte Selected; - /// const char * (offset 40) + /// a name: shows that person's avatar (initials) in place of the icon (offset 40) public nint Avatar; } -/// cui_table_column, 24 bytes. +/// Table (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTableColumn { - /// const char * (offset 0) + /// text of the column's header (offset 0) public nint Title; - /// cui_size (offset 8) + /// default fill (offset 8) public NativeSize Width; /// cui_text_align (offset 16) public TextAlign Align; @@ -984,7 +984,7 @@ public unsafe struct NativeTableColumn public byte Sortable; } -/// cui_table_sort, 8 bytes. +/// cui_table_sort (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTableSort { @@ -994,39 +994,57 @@ public unsafe struct NativeTableSort public byte Descending; } -/// cui_table_opts, 32 bytes. +/// cui_table_opts (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTableOpts { /// int (offset 0) public int Sentinel; - /// cui_table_sort * (offset 8) + /// optional, updated when a sortable header is clicked (offset 8) public nint Sort; - /// cui_size (offset 16) + /// scrolls when set (offset 16) public NativeSize Height; /// _Bool (offset 24) public byte Striped; - /// _Bool (offset 25) + /// rows at least 36 points tall instead of 44 (offset 25) public byte Compact; - /// _Bool (offset 26) + /// rows take keyboard focus and show the hand cursor (pass the chosen row's state to `cui_table_row`) (offset 26) public byte Selectable; } -/// cui_series, 24 bytes. +/// Charts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSeries { - /// const char * (offset 0) + /// shown in the legend and in the hover tooltip (offset 0) public nint Name; - /// const float * (offset 8) + /// the series' data, one value per point (offset 8) public nint Values; - /// int (offset 16) + /// number of `values` (offset 16) public int Count; - /// cui_color (offset 20) + /// default: series palette (offset 20) public NativeColor Color; } -/// cui_chart_opts, 56 bytes. +/// cui_chart_annotation (48 bytes) +[StructLayout(LayoutKind.Sequential)] +public unsafe struct NativeChartAnnotation +{ + /// cui_annotation_kind (offset 0) + public AnnotationKind Kind; + /// in the chart's x units: the point's index for line and bar charts, x_min to x_max for the dot chart (offset 8) + public double X; + /// a value, in the chart's value units (offset 16) + public double Y; + /// first line, e.g. "PEAK 203 MG"; `NULL` for a line with no label (offset 24) + public nint Label; + /// second line, muted, e.g. "13:06"; `NULL` for none (offset 32) + public nint Detail; + /// the line, dot and label in the accent color (offset 40) + public byte Accent; +} + +/// cui_chart_opts (72 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeChartOpts { @@ -1034,31 +1052,35 @@ public unsafe struct NativeChartOpts public int Sentinel; /// cui_size (offset 4) public NativeSize Width; - /// float (offset 12) + /// default 220 (offset 12) public float Height; - /// const char *const * (offset 16) + /// x axis labels (offset 16) public nint Labels; - /// int (offset 24) + /// number of `labels`; 0 means one per data point (offset 24) public int LabelCount; - /// _Bool (offset 28) + /// fill under lines (offset 28) public byte Area; /// _Bool (offset 29) public byte NoGrid; /// _Bool (offset 30) public byte NoLegend; - /// _Bool (offset 31) + /// bar chart (offset 31) public byte Stacked; - /// _Bool (offset 32) + /// curved lines (offset 32) public byte Smooth; - /// const char * (offset 40) + /// value format for axis and tooltip, default "%.0f" (offset 40) public nint Format; - /// float (offset 48) + /// fixed y range when min != max (offset 48) public float Min; - /// float (offset 52) + /// fixed y range when min != max (offset 52) public float Max; + /// lines and points drawn over the chart (line and bar charts) (offset 56) + public nint Annotations; + /// number of `annotations` (offset 64) + public int AnnotationCount; } -/// cui_image_opts, 28 bytes. +/// cui_image_opts (28 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeImageOpts { @@ -1068,99 +1090,99 @@ public unsafe struct NativeImageOpts public NativeSize Width; /// cui_size (offset 12) public NativeSize Height; - /// float (offset 20) + /// corner radius in points (offset 20) public float Radius; - /// cui_color (offset 24) + /// color the image is multiplied by; unset draws it as it is (offset 24) public NativeColor Tint; } -/// cui_image_view, 12 bytes. +/// Image viewer: zoom and pan a picture. The wheel (or a pinch, which comes as Ctrl+wheel) zooms around the pointer, dragging pans, double-click switches between fitting the view and 100%. With the viewer focused, + and - zoom, 0 fits, 1 shows actual pixels and the arrows pan. Zoom and pan ease. Keep a cui_image_view to keep the zoom and position (zeroed: fit). (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeImageView { - /// float (offset 0) + /// screen points per image pixel; 0 fits the image in the view (offset 0) public float Zoom; - /// float (offset 4) + /// the image point at the middle of the view, in pixels (offset 4) public float Cx; - /// float (offset 8) + /// the image point at the middle of the view, in pixels (offset 8) public float Cy; } -/// cui_image_viewer_opts, 28 bytes. +/// cui_image_viewer_opts (28 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeImageViewerOpts { /// int (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default the width it gets and 360 (offset 4) public NativeSize Width; - /// cui_size (offset 12) + /// default the width it gets and 360 (offset 12) public NativeSize Height; - /// float (offset 20) + /// default 16 (1600%) (offset 20) public float MaxZoom; - /// _Bool (offset 24) + /// the zoom buttons and percentage in the corner (offset 24) public byte NoToolbar; - /// _Bool (offset 25) + /// a grid behind transparent images (offset 25) public byte Checkerboard; } -/// cui_cropper_opts, 32 bytes. +/// Cropper: a crop rectangle over a picture, in image pixels. Drag inside to move it, drag a corner or an edge to resize it; the outside dims and thirds lines show while you drag. With it focused, the arrows move the crop (Shift for 10 pixels). A zeroed crop starts as the largest centered rectangle of the aspect. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCropperOpts { /// int (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default the width it gets and 360 (offset 4) public NativeSize Width; - /// cui_size (offset 12) + /// default the width it gets and 360 (offset 12) public NativeSize Height; - /// float (offset 20) + /// width / height to keep, 0 for free (offset 20) public float Aspect; - /// _Bool (offset 24) + /// a round mask, for avatars (keeps a 1:1 aspect) (offset 24) public byte Round; - /// float (offset 28) + /// smallest side, image pixels; default 16 (offset 28) public float MinSize; } -/// cui_command, 32 bytes. +/// cui_command (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCommand { - /// const char * (offset 0) + /// the command's text in the list; what typing in the palette searches (offset 0) public nint Title; /// const char * (offset 8) public nint Icon; - /// const char * (offset 16) + /// heading above a run of commands with the same group, shown while the search is empty (offset 16) public nint Group; /// const char * (offset 24) public nint Shortcut; } -/// cui_choice, 32 bytes. +/// Radio cards: larger selectable cards for choices that need a description (plans, templates). (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeChoice { - /// const char * (offset 0) + /// the card's heading, in medium weight; wraps when long (offset 0) public nint Title; /// const char * (offset 8) public nint Description; /// const char * (offset 16) public nint Icon; - /// const char * (offset 24) + /// small accent badge beside the title, e.g. "Popular"; `NULL` for none (offset 24) public nint Badge; } -/// cui_radio_cards_opts, 8 bytes. +/// cui_radio_cards_opts (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeRadioCardsOpts { /// int (offset 0) public int Sentinel; - /// int (offset 4) + /// cards per row; 0 puts up to 3 choices in one row and more in 2 columns (offset 4) public int Columns; } -/// cui_tag_opts, 40 bytes. +/// Tag input: tags are stored comma separated in buf. Enter or comma adds the typed tag, Backspace on an empty field removes the last one. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTagOpts { @@ -1170,19 +1192,19 @@ public unsafe struct NativeTagOpts public nint Label; /// const char * (offset 16) public nint Placeholder; - /// int (offset 24) + /// most tags the field holds; once reached it takes no more typing. 0 means no limit (offset 24) public int MaxTags; /// cui_size (offset 28) public NativeSize Width; } -/// cui_hold_opts, 24 bytes. +/// Hold to confirm: a destructive action that fills while held and fires when full. Returns true once. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeHoldOpts { /// int (offset 0) public int Sentinel; - /// float (offset 4) + /// seconds the button must be held before it fires, default 1.2 (offset 4) public float Duration; /// const char * (offset 8) public nint Icon; @@ -1190,13 +1212,13 @@ public unsafe struct NativeHoldOpts public ButtonVariant Variant; } -/// cui_timeline_opts, 40 bytes. +/// Activity timeline item. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTimelineOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// muted text at the right of the title, e.g. "2h ago" (offset 8) public nint Time; /// const char * (offset 16) public nint Description; @@ -1204,29 +1226,29 @@ public unsafe struct NativeTimelineOpts public nint Icon; /// cui_tone (offset 32) public Tone Tone; - /// _Bool (offset 36) + /// the final item: no connector line below its dot and no space after it (offset 36) public byte Last; } -/// cui_split_button_opts, 40 bytes. +/// Split button: a main action with a menu of related actions on the chevron. Returns 0 when the main part is clicked, 1 + i when menu item i is chosen and -1 otherwise. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSplitButtonOpts { /// int (offset 0) public int Sentinel; - /// cui_button_variant (offset 4) + /// default primary (offset 4) public ButtonVariant Variant; /// cui_control_size (offset 8) public ControlSize Size; /// const char * (offset 16) public nint Icon; - /// const char *const * (offset 24) + /// one icon per menu item, in the order of the items; `NULL` for none (offset 24) public nint ItemIcons; /// _Bool (offset 32) public byte Disabled; } -/// cui_toggle_group_opts, 24 bytes. +/// Toggle group: a row of toggles (bold, italic...). values[i] is toggled when item i is clicked; with exclusive set exactly one stays on. Labels become tooltips when icon_only is set. Returns true when a value changed. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeToggleGroupOpts { @@ -1234,65 +1256,65 @@ public unsafe struct NativeToggleGroupOpts public int Sentinel; /// const char *const * (offset 8) public nint Icons; - /// _Bool (offset 16) + /// clicking an item turns it on and every other one off, like radio buttons (offset 16) public byte Exclusive; - /// _Bool (offset 17) + /// items that have an icon show only the icon, with their label as the tooltip (offset 17) public byte IconOnly; /// cui_control_size (offset 20) public ControlSize Size; } -/// cui_confirm_opts, 40 bytes. +/// Two step destructive button: the first click morphs it into a confirm state with a countdown, the second click confirms. Returns true once. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeConfirmOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// default "Click to confirm" (offset 8) public nint ConfirmLabel; /// const char * (offset 16) public nint Icon; - /// cui_button_variant (offset 24) + /// resting look, default secondary (offset 24) public ButtonVariant Variant; /// cui_control_size (offset 28) public ControlSize Size; - /// float (offset 32) + /// seconds before it disarms, default 3 (offset 32) public float Timeout; } -/// cui_status_button_opts, 48 bytes. +/// cui_status_button_opts (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeStatusButtonOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// default label + "..." (offset 8) public nint BusyLabel; - /// const char * (offset 16) + /// default "Done" (offset 16) public nint SuccessLabel; - /// const char * (offset 24) + /// default "Failed" (offset 24) public nint ErrorLabel; /// const char * (offset 32) public nint Icon; - /// cui_button_variant (offset 40) + /// default primary (offset 40) public ButtonVariant Variant; /// cui_control_size (offset 44) public ControlSize Size; } -/// cui_reaction, 16 bytes. +/// Reactions: icon pills with counts. Clicking toggles `active` and adjusts the count. Returns the index that changed, or -1. (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeReaction { /// const char * (offset 0) public nint Icon; - /// int (offset 8) + /// the number beside the icon; a click adds or takes away 1 (offset 8) public int Count; - /// _Bool (offset 12) + /// the user has reacted: the pill is highlighted; a click flips it (offset 12) public byte Active; } -/// cui_speed_action, 16 bytes. +/// Speed dial: a round floating action button that fans out related actions. Returns the chosen action index, or -1. (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSpeedAction { @@ -1302,7 +1324,7 @@ public unsafe struct NativeSpeedAction public nint Label; } -/// cui_speed_dial_opts, 32 bytes. +/// cui_speed_dial_opts (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSpeedDialOpts { @@ -1316,19 +1338,19 @@ public unsafe struct NativeSpeedDialOpts public nint Tooltip; } -/// cui_user_menu_opts, 48 bytes. +/// User menu: an avatar, a name and a line of detail that opens a menu of account actions. Put menu items between begin and end. (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeUserMenuOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// second line under the name, e.g. an email address; also in the menu's header (offset 8) public nint Detail; - /// const char * (offset 16) + /// status dot on the avatar: "online", "busy", "away" or anything else (gray) (offset 16) public nint Status; - /// cui_texture (offset 24) + /// picture for the avatar instead of the name's initials (offset 24) public nuint Avatar; - /// _Bool (offset 32) + /// only the avatar as the button, as wide as it needs; the menu then opens below it (offset 32) public byte Compact; /// cui_placement (offset 36) public Placement Placement; @@ -1336,7 +1358,7 @@ public unsafe struct NativeUserMenuOpts public float Width; } -/// cui_swipe_action, 24 bytes. +/// Swipe actions: drag a row sideways (or swipe on a trackpad) to reveal actions behind it. A long swipe triggers the first action. The row content goes between begin and end; end returns the chosen action: 0..left_count-1 for left actions, 100 + i for right actions, or -1. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSwipeAction { @@ -1348,159 +1370,159 @@ public unsafe struct NativeSwipeAction public Tone Tone; } -/// cui_grid_column, 24 bytes. +/// A virtualized table for large data: sticky header, resizable and sortable columns, checkbox selection (click, Ctrl+click, Shift+click, Ctrl+A), keyboard navigation and editable cells. Build only the rows in [first, last): (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeGridColumn { - /// const char * (offset 0) + /// text of the column's header (offset 0) public nint Title; - /// float (offset 8) + /// initial width in points, default 150 (offset 8) public float Width; /// cui_text_align (offset 12) public TextAlign Align; /// _Bool (offset 16) public byte Sortable; - /// _Bool (offset 17) + /// not resizable (offset 17) public byte Fixed; - /// int (offset 20) + /// 0 always shown; when the grid is too narrow, columns with a priority hide, the highest number first, until the rest fit (offset 20) public int Priority; } -/// cui_grid_opts, 72 bytes. +/// cui_grid_opts (72 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeGridOpts { /// int (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default fill (offset 4) public NativeSize Width; - /// cui_size (offset 12) + /// default fill (offset 12) public NativeSize Height; - /// float (offset 20) + /// default 40 (offset 20) public float RowHeight; - /// _Bool * (offset 24) + /// one bool per row; adds a checkbox column (offset 24) public nint Selected; - /// cui_table_sort * (offset 32) + /// optional; a click on a sortable header updates it and the header shows its arrow. Sort the rows yourself (offset 32) public nint Sort; /// _Bool (offset 40) public byte Striped; - /// int * (offset 48) + /// the keyboard row, optional; setting it scrolls that row into view (offset 48) public nint Cursor; - /// _Bool (offset 56) + /// with selected: rows still select (click, Shift, Ctrl) but no checkbox column (offset 56) public byte HideCheckboxes; - /// int * (offset 64) + /// the row Shift ranges start from, optional (in and out like cursor) (offset 64) public nint Anchor; } -/// cui_filter_field, 32 bytes. +/// Filter bar: a search field, a chip per active filter (click it to pick values) and "+ Filter" to add one. selected[i] is a bit mask of the chosen options of fields[i]. Returns true when anything changed. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeFilterField { - /// const char * (offset 0) + /// the field's name, on its chip and in the "+ Filter" menu (offset 0) public nint Name; /// const char * (offset 8) public nint Icon; - /// const char *const * (offset 16) + /// the values to choose from; at most 32, one bit of the mask each (offset 16) public nint Options; - /// int (offset 24) + /// number of `options` (offset 24) public int OptionCount; } -/// cui_tree_node, 16 bytes. +/// cui_tree_node (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTreeNode { - /// int (offset 0) + /// -1 for a top level node (offset 0) public int Parent; - /// int (offset 4) + /// -1 when it has none, or none loaded yet (offset 4) public int FirstChild; - /// int (offset 8) + /// -1 for the last one (offset 8) public int NextSibling; - /// uint32_t (offset 12) + /// CUI_TREE_* (offset 12) public uint Flags; } -/// cui_tree_table_opts, 72 bytes. +/// cui_tree_table_opts (72 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTreeTableOpts { /// int (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default fill (offset 4) public NativeSize Width; - /// cui_size (offset 12) + /// default fill (offset 12) public NativeSize Height; - /// float (offset 20) + /// default 32 (offset 20) public float RowHeight; - /// int (offset 24) + /// the first top level node, default 0 (offset 24) public int Root; - /// cui_table_sort * (offset 32) + /// sortable headers set it; sort each level yourself (cui_tree_sort) (offset 32) public nint Sort; - /// int * (offset 40) + /// the keyboard node, optional (in and out) (offset 40) public nint Cursor; - /// _Bool (offset 48) + /// quiet vertical lines for each indentation level (offset 48) public byte Guides; - /// const char *(*)(void *, int) (offset 56) + /// names for type-ahead, optional (offset 56) public nint Label; - /// void * (offset 64) + /// passed to `label` as its first argument (offset 64) public nint User; } -/// cui_tree_table_events, 32 bytes. +/// cui_tree_table_events (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTreeTableEvents { - /// int (offset 0) + /// node chosen with Enter or a double click, else -1 (offset 0) public int Activated; - /// int (offset 4) + /// a node opened or closed this frame, else -1 (offset 4) public int Expanded; - /// int (offset 8) + /// a node opened or closed this frame, else -1 (offset 8) public int Collapsed; - /// const int * (offset 16) + /// nodes to load children for (each now has CUI_TREE_LOADING), valid this frame (offset 16) public nint Load; - /// int (offset 24) + /// number of nodes in `load`; at most 64 a frame (offset 24) public int LoadCount; - /// _Bool (offset 28) + /// a node's `CUI_TREE_SELECTED` flag changed this frame (offset 28) public byte SelectionChanged; - /// _Bool (offset 29) + /// re-sort every sibling list by *sort (offset 29) public byte SortChanged; } -/// cui_path_bar_opts, 48 bytes. +/// Path bar: a breadcrumb for file and scene paths. Segments are clickable, the last one is the current place. Middle segments that do not fit collapse into a "..." menu. With .menus, the chevron after segment k opens a menu you fill with the children of segment k (cui_path_bar_menu_begin). Click the empty part (or the current segment), or press Ctrl+L, to type a path: Enter submits it, Esc or clicking away cancels. (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativePathBarOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// before the first segment (offset 8) public nint Icon; - /// const char * (offset 16) + /// what editing starts with, default the segments joined by "/" (offset 16) public nint Text; /// const char * (offset 24) public nint Placeholder; /// cui_control_size (offset 32) public ControlSize Size; - /// cui_size (offset 36) + /// default fill (offset 36) public NativeSize Width; - /// _Bool (offset 44) + /// separators open a menu of the next segment's siblings (offset 44) public byte Menus; - /// _Bool (offset 45) + /// no text mode (offset 45) public byte NoEdit; } -/// cui_path_bar_result, 24 bytes. +/// cui_path_bar_result (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativePathBarResult { - /// int (offset 0) + /// segment clicked (here or in the "..." menu), else -1 (offset 0) public int Clicked; - /// const char * (offset 8) + /// the typed path after Enter, else NULL; valid this frame (offset 8) public nint Submitted; - /// _Bool (offset 16) + /// the bar is showing its text field for typing a path (offset 16) public byte Editing; } -/// cui_file_entry, 32 bytes. +/// File browser and file picker (an open or save dialog drawn by CUI, like the rest of the window; cui_app_file_dialog in cui_app.h opens the system's own). The browser lists a folder (name, date modified and size; folders first, any column sorts), with back, forward and up, a path bar you can type into, a filter field and a sidebar of places. Double-click or Enter opens a folder or picks a file; Backspace goes up, Alt+Left and Alt+Right go back and forward, F5 reloads, and typing a letter jumps to the next name that starts with it. A folder is read when you enter it (or reload), not every frame, and only the rows in view are built. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeFileEntry { @@ -1508,159 +1530,159 @@ public unsafe struct NativeFileEntry public nint Name; /// _Bool (offset 8) public byte Dir; - /// uint64_t (offset 16) + /// bytes (offset 16) public ulong Size; - /// int64_t (offset 24) + /// seconds since 1970 (UTC); 0 unknown (offset 24) public long Modified; } -/// cui_file_browser_opts, 80 bytes. +/// cui_file_browser_opts (80 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeFileBrowserOpts { /// int (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default fill and 380 (offset 4) public NativeSize Width; - /// cui_size (offset 12) + /// default fill and 380 (offset 12) public NativeSize Height; - /// const char * (offset 24) + /// patterns that files must match, e.g. "*.png;*.jpg"; folders always show (offset 24) public nint Filter; - /// _Bool (offset 32) + /// lists folders and leaves the files out (offset 32) public byte FoldersOnly; - /// _Bool (offset 33) + /// show hidden files (offset 33) public byte Hidden; - /// _Bool (offset 34) + /// the sidebar of places (offset 34) public byte NoPlaces; - /// const char *const * (offset 40) + /// full paths for the sidebar, each shown by its last part; at most 6 (offset 40) public nint Places; - /// int (offset 48) + /// entries in `places`; with `places` NULL the sidebar shows home, desktop, documents, downloads and the root (offset 48) public int PlaceCount; - /// cui_file_list_fn (offset 56) + /// function that lists a folder; set it to browse something other than the local disk (offset 56) public nint List; - /// void * (offset 64) + /// passed to `list` as its first argument; `list` defaults to cui_fs_list, the local disk (offset 64) public nint ListUser; - /// int (offset 72) + /// default 20,000 (offset 72) public int MaxEntries; } -/// cui_file_browser_result, 24 bytes. +/// cui_file_browser_result (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeFileBrowserResult { - /// const char * (offset 0) + /// a file double-clicked or Entered, as a full path; valid this frame (offset 0) public nint Picked; - /// const char * (offset 8) + /// the selected entry as a full path, or NULL; valid this frame (offset 8) public nint Selected; - /// _Bool (offset 16) + /// the folder in *path changed (offset 16) public byte Navigated; - /// _Bool (offset 17) + /// the folder could not be read (offset 17) public byte Error; } -/// cui_file_picker_opts, 72 bytes. +/// cui_file_picker_opts (72 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeFilePickerOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// default "Open", "Save" or "Choose a folder" (offset 8) public nint Title; - /// _Bool (offset 16) + /// a name field and Save (offset 16) public byte Save; - /// _Bool (offset 17) + /// choose a folder (offset 17) public byte Folders; - /// const char * (offset 24) + /// the folder to start in, default the current directory (offset 24) public nint Start; - /// const char * (offset 32) + /// save: the name to start with (offset 32) public nint Name; - /// const char * (offset 40) + /// e.g. "*.png;*.jpg" (offset 40) public nint Filter; - /// const char * (offset 48) + /// e.g. "Images" (offset 48) public nint FilterLabel; - /// cui_file_list_fn (offset 56) + /// function that lists a folder (the local disk unless set); default `cui_fs_list` (offset 56) public nint List; - /// void * (offset 64) + /// passed to `list` as its first argument (offset 64) public nint ListUser; } -/// cui_code_opts, 48 bytes. +/// Code block with syntax highlighting (lang: "c", "cpp", "js", "ts", "python", "rust", "go", "json", "shell", or "text" for none), line numbers, a title bar and a copy button. Long lines scroll sideways. (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCodeOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// "c", "cpp", "js", "ts", "python", "rust", "go", "json", "shell" or "text" (no colors); shown in the title bar (offset 8) public nint Lang; - /// const char * (offset 16) + /// e.g. a file name (offset 16) public nint Title; - /// _Bool (offset 24) + /// a column of line numbers on the left (offset 24) public byte LineNumbers; - /// int (offset 28) + /// 1 based line range to emphasize (offset 28) public int HighlightFrom; - /// int (offset 32) + /// 1 based line range to emphasize (offset 32) public int HighlightTo; - /// float (offset 36) + /// scrolls beyond this, default none (offset 36) public float MaxHeight; - /// float (offset 40) + /// font size, default 13 (offset 40) public float Size; - /// _Bool (offset 44) + /// no title bar, even with a lang (offset 44) public byte NoHeader; } -/// cui_json_opts, 12 bytes. +/// JSON viewer: a collapsible tree with typed colors and item counts. Returns false when the text is not valid JSON (and shows the error). (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeJsonOpts { /// int (offset 0) public int Sentinel; - /// int (offset 4) + /// levels of the tree that start open, default 2 (offset 4) public int ExpandDepth; - /// float (offset 8) + /// points; taller content scrolls. 0 shows everything (offset 8) public float MaxHeight; } -/// cui_markdown_opts, 32 bytes. +/// Markdown view: renders your markdown text (UTF-8) as native content, every frame, without keeping a copy: (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeMarkdownOpts { /// int (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default fill (offset 4) public NativeSize Width; - /// _Bool (offset 12) + /// as wide as the content needs, up to the space there is (chat bubbles) (offset 12) public byte FitContent; - /// int (offset 16) + /// bytes of text to show, default strlen (text then need not end in a NUL) (offset 16) public int Length; - /// float (offset 20) + /// body text size, default theme text_body (offset 20) public float Size; - /// cui_color (offset 24) + /// body text color, default foreground; links then take it too, underlined (offset 24) public NativeColor Color; - /// _Bool (offset 28) + /// text is still arriving (offset 28) public byte Streaming; - /// _Bool (offset 29) + /// smaller headings and tighter spacing, for chat bubbles (offset 29) public byte Compact; } -/// cui_markdown_result, 32 bytes. +/// cui_markdown_result (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeMarkdownResult { - /// const char * (offset 0) + /// URL of the link clicked (or activated with Enter) this frame, or NULL; frame memory (offset 0) public nint Link; - /// const char * (offset 8) + /// URL of the link under the pointer, or NULL; frame memory (offset 8) public nint HoveredLink; - /// int (offset 16) + /// a task box was toggled: byte offset in text of the character between its brackets, else -1 (offset 16) public int TaskOffset; - /// int (offset 20) + /// that item's 1 based line in text, 0 when none (offset 20) public int TaskLine; - /// _Bool (offset 24) + /// the state the box was toggled to (offset 24) public byte TaskChecked; - /// float (offset 28) + /// height of the view in the latest layout (offset 28) public float Height; } -/// cui_text_mark, 12 bytes. +/// Code editor: editable code with the code block's highlighting, a line number gutter and a monospace grid, for shader editors, script consoles and config files. You own the text: a NUL terminated buffer and its capacity, edited in place. (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTextMark { @@ -1672,71 +1694,71 @@ public unsafe struct NativeTextMark public int Color; } -/// cui_code_editor_opts, 64 bytes. +/// cui_code_editor_opts (64 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCodeEditorOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// as cui_code_block: "c", "cpp", "js", "ts", "python", "rust", "go", "json", "shell"; "text" for none (offset 8) public nint Lang; - /// cui_size (offset 16) + /// default fill (offset 16) public NativeSize Width; - /// float (offset 24) + /// default 320; negative fills the space (offset 24) public float Height; - /// float (offset 28) + /// font size, default 13 (offset 28) public float Size; - /// int (offset 32) + /// columns per indentation level, default 4 (offset 32) public int TabSize; - /// _Bool (offset 36) + /// indent with tab characters instead of spaces (offset 36) public byte UseTabs; /// _Bool (offset 37) public byte ReadOnly; - /// _Bool (offset 38) + /// hides the gutter of line numbers (offset 38) public byte NoLineNumbers; /// _Bool (offset 39) public byte Autofocus; - /// const char * (offset 40) + /// shown while the text is empty (offset 40) public nint Placeholder; - /// const cui_text_mark * (offset 48) + /// ranges to highlight (search results, regex matches), sorted by start (offset 48) public nint Marks; - /// int (offset 56) + /// number of `marks` (offset 56) public int MarkCount; } -/// cui_code_editor_result, 44 bytes. +/// cui_code_editor_result (44 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCodeEditorResult { - /// _Bool (offset 0) + /// the text changed this frame (offset 0) public byte Changed; - /// _Bool (offset 1) + /// an edit did not fit in the capacity and was dropped (offset 1) public byte Refused; - /// _Bool (offset 2) + /// the editor or its find bar has the keyboard (offset 2) public byte Focused; - /// int (offset 4) + /// caret and the other end of the selection, byte offsets (offset 4) public int Cursor; - /// int (offset 8) + /// caret and the other end of the selection, byte offsets (offset 8) public int Anchor; - /// int (offset 12) + /// the caret, 1 based; columns count tabs to their stop (offset 12) public int Line; - /// int (offset 16) + /// the caret, 1 based; columns count tabs to their stop (offset 16) public int Column; - /// int (offset 20) + /// lines, and bytes of text (offset 20) public int LineCount; - /// int (offset 24) + /// lines, and bytes of text (offset 24) public int Length; - /// int (offset 28) + /// the bracket beside the caret and its partner, byte offsets, or -1 (offset 28) public int Bracket; - /// int (offset 32) + /// the bracket beside the caret and its partner, byte offsets, or -1 (offset 32) public int BracketMatch; - /// int (offset 36) + /// with the find bar open: matches, and which one is selected (1 based, 0 none) (offset 36) public int FindMatches; - /// int (offset 40) + /// with the find bar open: matches, and which one is selected (1 based, 0 none) (offset 40) public int FindIndex; } -/// cui_diff_opts, 72 bytes. +/// cui_diff_opts (72 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDiffOpts { @@ -1744,73 +1766,73 @@ public unsafe struct NativeDiffOpts public int Sentinel; /// cui_diff_mode (offset 4) public DiffMode Mode; - /// const char * (offset 8) + /// syntax colors, as cui_code_block: "c", "js", "python", ... (offset 8) public nint Language; - /// const char * (offset 16) + /// a header above the sides, e.g. file names, with the +/- summary (offset 16) public nint OldTitle; - /// const char * (offset 24) + /// a header above the sides, e.g. file names, with the +/- summary (offset 24) public nint NewTitle; - /// int * (offset 32) + /// the selected change, read and written (may be NULL); set it to scroll to a change (offset 32) public nint Current; - /// int (offset 40) + /// unchanged lines kept beside each change, default 3 (offset 40) public int Context; - /// _Bool (offset 44) + /// show every unchanged line (offset 44) public byte NoFold; - /// _Bool (offset 45) + /// "\r\n" equals "\n", and a missing final newline does not count (offset 45) public byte IgnoreEol; - /// float (offset 48) + /// below this width split shows inline, default 560 (offset 48) public float SplitMinWidth; - /// cui_size (offset 52) + /// default fill (offset 52) public NativeSize Width; - /// float (offset 60) + /// default: the rows, up to 420; negative fills the space (offset 60) public float Height; - /// float (offset 64) + /// font size, default 12 (offset 64) public float Size; } -/// cui_diff_result, 36 bytes. +/// cui_diff_result (36 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDiffResult { - /// int (offset 0) + /// lines (offset 0) public int Added; - /// int (offset 4) + /// lines (offset 4) public int Removed; - /// int (offset 8) + /// change blocks (hunks without context) (offset 8) public int Changes; - /// int (offset 12) + /// the selected change, -1 none (offset 12) public int Current; - /// _Bool (offset 16) + /// this frame, by the keys, a click or .current (offset 16) public byte CurrentChanged; - /// cui_diff_mode (offset 20) + /// what is shown: inline when split did not fit (offset 20) public DiffMode Mode; - /// int (offset 24) + /// folded rows shown, and the unchanged lines they hide (offset 24) public int Folds; - /// int (offset 28) + /// folded rows shown, and the unchanged lines they hide (offset 28) public int Hidden; - /// _Bool (offset 32) + /// a text changed and was diffed this frame (offset 32) public byte Recomputed; - /// _Bool (offset 33) + /// the search hit its limit: correct, maybe not the shortest (offset 33) public byte Approximate; } -/// cui_diff_row, 20 bytes. +/// cui_diff_row (20 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDiffRow { /// cui_diff_row_kind (offset 0) public DiffRowKind Kind; - /// int (offset 4) + /// 0 based, -1 for none (offset 4) public int OldLine; - /// int (offset 8) + /// 0 based, -1 for none (offset 8) public int NewLine; - /// int (offset 12) + /// the change it belongs to, or -1 (offset 12) public int Change; - /// int (offset 16) + /// fold rows: lines hidden (offset 16) public int Hidden; } -/// cui_diff_hunk, 16 bytes. +/// The same diff without a view. Old lines [old_start, old_start + old_count) became new lines [new_start, new_start + new_count), 0 based; a pure insertion has old_count 0 and goes before old line old_start. Writes up to cap hunks and returns how many there are (-1 when out of memory). Lines end at "\n"; a "\r" before it is part of the line ending. Allocates with malloc. (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDiffHunk { @@ -1824,7 +1846,7 @@ public unsafe struct NativeDiffHunk public int NewCount; } -/// cui_diff_stats, 24 bytes. +/// cui_diff_stats (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDiffStats { @@ -1842,7 +1864,7 @@ public unsafe struct NativeDiffStats public byte Approximate; } -/// cui_diff_range, 8 bytes. +/// Word marks between two versions of one line, as byte ranges (a length of -1 reads up to the terminator). Returns false when the lines have too little in common for marks to help, or a line is very long (over 2000 bytes). (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDiffRange { @@ -1852,67 +1874,67 @@ public unsafe struct NativeDiffRange public int Length; } -/// cui_chat_opts, 64 bytes. +/// Chat message bubble. Consecutive messages from one person set grouped so they stack tightly and show the avatar once. (64 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeChatOpts { /// int (offset 0) public int Sentinel; - /// _Bool (offset 4) + /// right aligned, accent bubble (offset 4) public byte Mine; - /// const char * (offset 8) + /// name above the first bubble of a group (offset 8) public nint Author; - /// const char * (offset 16) + /// shown after the author's name; on your own messages after `status` (offset 16) public nint Time; - /// const char * (offset 24) + /// under your own last message, e.g. "Read" (offset 24) public nint Status; - /// _Bool (offset 32) + /// continues the previous message (offset 32) public byte Grouped; - /// _Bool (offset 33) + /// shows the avatar (others) and status (mine) (offset 33) public byte LastInGroup; - /// cui_texture (offset 40) + /// picture for the sender's avatar instead of initials (other people's messages) (offset 40) public nuint Avatar; - /// _Bool (offset 48) + /// render the text with cui_markdown (compact, as wide as it needs) (offset 48) public byte Markdown; - /// cui_markdown_result * (offset 56) + /// optional: links and task toggles the markdown reported (offset 56) public nint MarkdownResult; } -/// cui_comment_opts, 56 bytes. +/// cui_comment_opts (56 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCommentOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// muted text after the author's name, e.g. "2h ago" (offset 8) public nint Time; - /// int (offset 16) + /// 0 for a top level comment; each level indents a reply 44 points under a connector line (offset 16) public int Depth; - /// int * (offset 24) + /// the like count, shown beside the heart; changed with `*liked`. May be `NULL` (offset 24) public nint Likes; - /// _Bool * (offset 32) + /// whether you liked it: tints the heart and flips on a click. `NULL`: the click is only reported (offset 32) public nint Liked; - /// _Bool (offset 40) + /// adds "edited" after the time (offset 40) public byte Edited; - /// const char * (offset 48) + /// small badge after the author's name, e.g. "Author" (offset 48) public nint Badge; } -/// cui_presence_user, 32 bytes. +/// Presence: who is here now. Overlapping avatars with a colored ring each, that spread out on hover and name themselves. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativePresenceUser { - /// const char * (offset 0) + /// shown in the tooltip, and as initials when there is no avatar (offset 0) public nint Name; /// cui_color (offset 8) public NativeColor Color; - /// cui_texture (offset 16) + /// picture to show instead of the initials (offset 16) public nuint Avatar; - /// _Bool (offset 24) + /// away: the avatar dims, its ring turns gray and the tooltip adds "(away)" (offset 24) public byte Idle; } -/// cui_carousel_opts, 20 bytes. +/// Carousel: slides that you swipe, drag, scroll or page with the arrows and dots. Build every slide between begin and end: cui_carousel(ui, "tour", 4, &index, .height = 220) { for (int k = 0; k < 4; k++) cui_carousel_slide(ui) { ... } } (20 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCarouselOpts { @@ -1920,19 +1942,19 @@ public unsafe struct NativeCarouselOpts public int Sentinel; /// float (offset 4) public float Height; - /// float (offset 8) + /// seconds on a slide before it moves to the next, paused while hovered; 0 turns it off (offset 8) public float AutoAdvance; /// float (offset 12) public float Gap; - /// _Bool (offset 16) + /// hides the previous and next arrows that show on hover (offset 16) public byte NoArrows; - /// _Bool (offset 17) + /// hides the row of page dots under the slides (offset 17) public byte NoDots; - /// _Bool (offset 18) + /// past the last slide comes the first again, and back from the first the last (offset 18) public byte Loop; } -/// cui_compare_opts, 40 bytes. +/// Before and after: drag the divider to compare two images. *pos is 0..1. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCompareOpts { @@ -1942,15 +1964,15 @@ public unsafe struct NativeCompareOpts public NativeSize Width; /// float (offset 12) public float Height; - /// const char * (offset 16) + /// caption in the top left corner, default "Before" (offset 16) public nint BeforeLabel; - /// const char * (offset 24) + /// caption in the top right corner, default "After" (offset 24) public nint AfterLabel; - /// float (offset 32) + /// the images' width / height: they are cropped to fill, never stretched (offset 32) public float Aspect; } -/// cui_card_stack_opts, 20 bytes. +/// Card stack: a deck where the top card can be flicked away left or right. Build `count` cards; card 0 is the top. end returns -1 or 1 on the frame the top card leaves (to the left or right), else 0. (20 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCardStackOpts { @@ -1960,11 +1982,11 @@ public unsafe struct NativeCardStackOpts public NativeSize Width; /// float (offset 12) public float Height; - /// int (offset 16) + /// cards of the deck that show at once, default 3 (offset 16) public int Visible; } -/// cui_counter_opts, 32 bytes. +/// Odometer: a number whose digits roll to their new values. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCounterOpts { @@ -1974,57 +1996,57 @@ public unsafe struct NativeCounterOpts public nint Format; /// float (offset 16) public float Size; - /// cui_font (offset 20) + /// default `CUI_FONT_DISPLAY` (offset 20) public Font Font; /// cui_color (offset 24) public NativeColor Color; - /// _Bool (offset 28) + /// commas between thousands: 48210 shows as 48,210 (offset 28) public byte GroupThousands; } -/// cui_ticker_item, 24 bytes. +/// Ticker: items that scroll by continuously, pausing on hover. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTickerItem { /// const char * (offset 0) public nint Label; - /// const char * (offset 8) + /// text after the label in medium weight, e.g. a price; may be `NULL` (offset 8) public nint Value; - /// float (offset 16) + /// percent change, shown with a trend arrow in green or red; 0 hides it (offset 16) public float Delta; - /// _Bool (offset 20) + /// a fall in `delta` is good news: it shows green, and a rise red (offset 20) public byte LowerIsBetter; } -/// cui_ticker_opts, 12 bytes. +/// cui_ticker_opts (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTickerOpts { /// int (offset 0) public int Sentinel; - /// float (offset 4) + /// points per second, default 40 (offset 4) public float Speed; /// float (offset 8) public float Height; } -/// cui_heatmap_opts, 56 bytes. +/// Heatmap: a rows x cols matrix (values[row * cols + col]) on one hue, light to dark, with a scale below. (56 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeHeatmapOpts { /// int (offset 0) public int Sentinel; - /// const char *const * (offset 8) + /// one label per row, left of the grid; `NULL` for none (offset 8) public nint RowLabels; - /// const char *const * (offset 16) + /// one label per column, under the grid; labels that would overlap are skipped (offset 16) public nint ColLabels; - /// float (offset 24) + /// cell size, default fits the width (offset 24) public float Cell; - /// float (offset 28) + /// value range, default the data's (offset 28) public float Min; - /// float (offset 32) + /// value range, default the data's (offset 32) public float Max; - /// cui_color (offset 36) + /// hue of the scale, default the accent (offset 36) public NativeColor Color; /// const char * (offset 40) public nint Format; @@ -2032,13 +2054,13 @@ public unsafe struct NativeHeatmapOpts public NativeSize Width; } -/// cui_calendar_heatmap_opts, 32 bytes. +/// Calendar heatmap: one cell per day from start, weeks as columns, in five levels, with month and weekday labels and a Less / More legend. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCalendarHeatmapOpts { /// int (offset 0) public int Sentinel; - /// float (offset 4) + /// size of a day's square in points, default 11 (offset 4) public float Cell; /// cui_color (offset 8) public NativeColor Color; @@ -2048,19 +2070,19 @@ public unsafe struct NativeCalendarHeatmapOpts public nint Unit; } -/// cui_viz_item, 16 bytes. +/// Treemap: rectangles with areas proportional to their values. (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeVizItem { /// const char * (offset 0) public nint Label; - /// float (offset 8) + /// the item's amount: its area, length or share, by chart (activity rings: 1 is a full turn) (offset 8) public float Value; /// cui_color (offset 12) public NativeColor Color; } -/// cui_treemap_opts, 24 bytes. +/// cui_treemap_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTreemapOpts { @@ -2074,7 +2096,7 @@ public unsafe struct NativeTreemapOpts public nint Format; } -/// cui_radar_opts, 32 bytes. +/// Radar chart: series over shared axes (series[i].values[axis]). (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeRadarOpts { @@ -2082,7 +2104,7 @@ public unsafe struct NativeRadarOpts public int Sentinel; /// float (offset 4) public float Size; - /// float (offset 8) + /// value at the outer ring; 0 picks a round number above the largest value (offset 8) public float Max; /// const char * (offset 16) public nint Format; @@ -2090,7 +2112,7 @@ public unsafe struct NativeRadarOpts public byte NoLegend; } -/// cui_funnel_opts, 32 bytes. +/// Funnel: stages narrowing by value, with the conversion between them. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeFunnelOpts { @@ -2106,19 +2128,19 @@ public unsafe struct NativeFunnelOpts public NativeColor Color; } -/// cui_sankey_link, 12 bytes. +/// Sankey: flows between nodes; columns follow the links from the sources. (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSankeyLink { - /// int (offset 0) + /// index of the node the flow leaves (offset 0) public int From; - /// int (offset 4) + /// index of the node the flow enters (offset 4) public int To; - /// float (offset 8) + /// size of the flow: sets the link's thickness (offset 8) public float Value; } -/// cui_sankey_opts, 32 bytes. +/// cui_sankey_opts (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSankeyOpts { @@ -2130,27 +2152,27 @@ public unsafe struct NativeSankeyOpts public float Height; /// const char * (offset 16) public nint Format; - /// float (offset 24) + /// width of the node bars in points, default 12 (offset 24) public float NodeWidth; } -/// cui_waffle_opts, 24 bytes. +/// Waffle: a 10 x 10 grid of squares split by share, with a legend. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeWaffleOpts { /// int (offset 0) public int Sentinel; - /// float (offset 4) + /// size of a square in points, default 18 (offset 4) public float Cell; - /// int (offset 8) + /// squares per row, at most 60; default 10 (offset 8) public int Columns; - /// int (offset 12) + /// rows of squares, at most 60; default 10 (offset 12) public int Rows; /// const char * (offset 16) public nint Format; } -/// cui_split_bar_opts, 32 bytes. +/// Split bar: one bar split into parts, with a legend of values and shares. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSplitBarOpts { @@ -2166,7 +2188,7 @@ public unsafe struct NativeSplitBarOpts public byte NoLegend; } -/// cui_bar_list_opts, 40 bytes. +/// Bar list: ranked horizontal bars. Rows are keyed by label, so when the values change the bars grow and the rows slide to their new rank. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeBarListOpts { @@ -2176,15 +2198,15 @@ public unsafe struct NativeBarListOpts public NativeSize Width; /// const char * (offset 16) public nint Format; - /// int (offset 24) + /// shows only this many rows from the top; 0 shows all (offset 24) public int MaxRows; - /// _Bool (offset 28) + /// keeps the items in the order given instead of sorting them largest first (offset 28) public byte KeepOrder; /// cui_color (offset 29) public NativeColor Color; } -/// cui_rings_opts, 40 bytes. +/// Activity rings: concentric progress rings; values past 1 keep winding. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeRingsOpts { @@ -2192,33 +2214,33 @@ public unsafe struct NativeRingsOpts public int Sentinel; /// float (offset 4) public float Size; - /// float (offset 8) + /// width of each ring in points; 0 uses a tenth of `size`, at least 8 (offset 8) public float Thickness; - /// const char * (offset 16) + /// large text in the middle of the rings, e.g. a total (offset 16) public nint Center; - /// const char * (offset 24) + /// small muted text under `center`; shown only with `center` (offset 24) public nint Caption; - /// _Bool (offset 32) + /// names and shares beside the rings (offset 32) public byte Legend; } -/// cui_scatter_series, 32 bytes. +/// Scatter (or bubble) chart: points per series, optional sizes. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeScatterSeries { - /// const char * (offset 0) + /// shown in the legend, which appears with two or more series (offset 0) public nint Name; - /// const cui_vec2 * (offset 8) + /// the points, x and y in data units (offset 8) public nint Points; - /// const float * (offset 16) + /// optional, one per point: makes a bubble chart, each bubble sized against the largest (offset 16) public nint Sizes; - /// int (offset 24) + /// number of `points` (and of `sizes`) (offset 24) public int Count; /// cui_color (offset 28) public NativeColor Color; } -/// cui_scatter_opts, 56 bytes. +/// cui_scatter_opts (56 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeScatterOpts { @@ -2228,75 +2250,75 @@ public unsafe struct NativeScatterOpts public NativeSize Width; /// float (offset 12) public float Height; - /// const char * (offset 16) + /// title under the x axis; also names the x value in the tooltip (offset 16) public nint XLabel; - /// const char * (offset 24) + /// title above the y axis; also names the y value in the tooltip (offset 24) public nint YLabel; - /// const char * (offset 32) + /// printf format for the x axis labels and the tooltip (offset 32) public nint XFormat; - /// const char * (offset 40) + /// printf format for the y axis labels and the tooltip (offset 40) public nint YFormat; /// _Bool (offset 48) public byte NoLegend; } -/// cui_gauge_band, 8 bytes. +/// Radial gauge: one value on a dial with colored bands, labelled ticks, a needle and a target marker, for dashboards (speed, load, temperature, a score against a goal). The needle springs to new values. (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeGaugeBand { - /// float (offset 0) + /// from the band before (or min) up to `to` (offset 0) public float To; - /// cui_tone (offset 4) + /// from the band before (or min) up to `to` (offset 4) public Tone Tone; } -/// cui_radial_gauge_opts, 64 bytes. +/// cui_radial_gauge_opts (64 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeRadialGaugeOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// under the value (offset 8) public nint Label; - /// const char * (offset 16) + /// the value and the tick labels, default "%.0f" (offset 16) public nint Format; - /// const char * (offset 24) + /// after the value, smaller (offset 24) public nint Unit; - /// float (offset 32) + /// width, default 200; the height follows the sweep (offset 32) public float Size; - /// float (offset 36) + /// degrees of arc, default 240 (90 to 300) (offset 36) public float Sweep; - /// const cui_gauge_band * (offset 40) + /// colored stretches of the arc, each from the one before up to its `to`; at most 16 (offset 40) public nint Bands; - /// int (offset 48) + /// number of `bands` (offset 48) public int BandCount; - /// int (offset 52) + /// labelled divisions, default 5; -1 hides the ticks (offset 52) public int Ticks; - /// float (offset 56) + /// a marker on the arc, when show_target is set (offset 56) public float Target; - /// _Bool (offset 60) + /// draws the marker at `target` (offset 60) public byte ShowTarget; - /// _Bool (offset 61) + /// a thick arc filled to the value instead of a needle (offset 61) public byte NoNeedle; } -/// cui_candle, 20 bytes. +/// Candlestick chart: open, high, low and close per period with volume under it, for prices. The wheel zooms around the pointer, dragging (or Shift+wheel) pans, a crosshair shows each candle's values, and the price axis fits the candles in view. Zoomed out past a few points per candle, candles merge per pixel column, so a long history stays fast. When the view shows the newest candle it follows new ones as they are appended. With the chart focused, Left and Right move the crosshair (Shift: ten at a time), Home and End jump to the ends, + and - zoom and 0 fits everything. (20 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCandle { - /// float (offset 0) + /// price at the start of the period (offset 0) public float Open; - /// float (offset 4) + /// highest price in the period (offset 4) public float High; - /// float (offset 8) + /// lowest price in the period (offset 8) public float Low; - /// float (offset 12) + /// price at the end of the period (offset 12) public float Close; - /// float (offset 16) + /// amount traded in the period, drawn as a bar under the candle; 0 for none (offset 16) public float Volume; } -/// cui_candlestick_opts, 56 bytes. +/// cui_candlestick_opts (56 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCandlestickOpts { @@ -2304,33 +2326,33 @@ public unsafe struct NativeCandlestickOpts public int Sentinel; /// cui_size (offset 4) public NativeSize Width; - /// float (offset 12) + /// default 320 (offset 12) public float Height; - /// const char *const * (offset 16) + /// one per candle (dates or times): the time axis and the tooltip (offset 16) public nint Labels; - /// const char * (offset 24) + /// prices, default "%.2f" (offset 24) public nint Format; - /// const cui_series * (offset 32) + /// series drawn as lines over the candles; at most 4 (offset 32) public nint Overlays; - /// int (offset 40) + /// entries in `overlays`: lines with one value per candle, e.g. moving averages (offset 40) public int OverlayCount; - /// _Bool (offset 44) + /// volume bars show when any candle has volume (offset 44) public byte NoVolume; - /// _Bool (offset 45) + /// OHLC bars instead of candle bodies (offset 45) public byte Ohlc; - /// cui_color (offset 46) + /// default the success and danger colors (offset 46) public NativeColor Up; - /// cui_color (offset 50) + /// default the success and danger colors (offset 50) public NativeColor Down; } -/// cui_text_fx_opts, 40 bytes. +/// Motion and text effects All of these respect reduced motion: they show their final state. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTextFxOpts { /// int (offset 0) public int Sentinel; - /// cui_font (offset 4) + /// default `CUI_FONT_BODY` (0) (offset 4) public Font Font; /// float (offset 8) public float Size; @@ -2338,37 +2360,37 @@ public unsafe struct NativeTextFxOpts public NativeColor Color; /// cui_size (offset 16) public NativeSize Width; - /// _Bool (offset 24) + /// keeps the text on one line instead of wrapping it (offset 24) public byte Nowrap; - /// float (offset 28) + /// shimmer: sweeps per second; typewriter: characters per second (offset 28) public float Speed; - /// float (offset 32) + /// seconds before it starts (offset 32) public float Delay; - /// _Bool (offset 36) + /// typewriter: a blinking caret while typing (offset 36) public byte Caret; } -/// cui_gradient_text_opts, 32 bytes. +/// Text painted with a gradient from one color to another; animate makes it drift. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeGradientTextOpts { /// int (offset 0) public int Sentinel; - /// cui_font (offset 4) + /// default `CUI_FONT_BODY` (0) (offset 4) public Font Font; /// float (offset 8) public float Size; - /// cui_color (offset 12) + /// color at the left edge; default the accent, or the text color under the neutral accent (offset 12) public NativeColor From; - /// cui_color (offset 16) + /// color at the right edge, default `from` blended toward the foreground color (offset 16) public NativeColor To; - /// _Bool (offset 20) + /// the gradient drifts along the text (offset 20) public byte Animate; /// cui_size (offset 24) public NativeSize Width; } -/// cui_spotlight_opts, 36 bytes. +/// Spotlight card: a soft light follows the pointer across the card and lights the nearest stretch of its border. beam sends a light around the edge. (36 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSpotlightOpts { @@ -2384,11 +2406,11 @@ public unsafe struct NativeSpotlightOpts public float Gap; /// cui_color (offset 28) public NativeColor Color; - /// _Bool (offset 32) + /// a light travels around the card's edge all the time (offset 32) public byte Beam; } -/// cui_loader_opts, 16 bytes. +/// cui_loader_opts (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeLoaderOpts { @@ -2402,7 +2424,7 @@ public unsafe struct NativeLoaderOpts public NativeColor Color; } -/// cui_dock_opts, 12 bytes. +/// Dock: a row of icons that grow as the pointer passes, with labels and a dot under the running ones. Each item returns true when clicked. (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDockOpts { @@ -2410,11 +2432,11 @@ public unsafe struct NativeDockOpts public int Sentinel; /// float (offset 4) public float Size; - /// float (offset 8) + /// how much the icon under the pointer grows, default 1.55 (offset 8) public float Magnify; } -/// cui_dock_item_opts, 16 bytes. +/// cui_dock_item_opts (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDockItemOpts { @@ -2422,13 +2444,13 @@ public unsafe struct NativeDockItemOpts public int Sentinel; /// cui_color (offset 4) public NativeColor Color; - /// _Bool (offset 8) + /// a small dot under the icon (offset 8) public byte Running; - /// int (offset 12) + /// a count badge on the icon ("99+" above 99); 0 for none (offset 12) public int Badge; } -/// cui_tab_bar_item, 24 bytes. +/// Bottom tab bar for compact layouts, with a pill that glides to the selection. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTabBarItem { @@ -2436,11 +2458,11 @@ public unsafe struct NativeTabBarItem public nint Icon; /// const char * (offset 8) public nint Label; - /// int (offset 16) + /// a count on the icon ("9+" above 9); 0 for none (offset 16) public int Badge; } -/// cui_tab_bar_opts, 16 bytes. +/// cui_tab_bar_opts (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTabBarOpts { @@ -2448,11 +2470,11 @@ public unsafe struct NativeTabBarOpts public int Sentinel; /// cui_size (offset 4) public NativeSize Width; - /// _Bool (offset 12) + /// only the selected tab shows its label; the others show just their icon (offset 12) public byte LabelsOnSelectedOnly; } -/// cui_tile_opts, 40 bytes. +/// Control tile: a large toggle with an icon, a label and a state line. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTileOpts { @@ -2460,17 +2482,17 @@ public unsafe struct NativeTileOpts public int Sentinel; /// const char * (offset 8) public nint Icon; - /// const char * (offset 16) + /// the state line under the label, default "On" or "Off" (offset 16) public nint Detail; /// cui_color (offset 24) public NativeColor Color; /// cui_size (offset 28) public NativeSize Width; - /// _Bool (offset 36) + /// icon beside the text in a lower tile, instead of above it (offset 36) public byte Wide; } -/// cui_waveform_opts, 28 bytes. +/// Waveform: bars from peaks (0..1). With progress, the played part is colored and clicking or dragging seeks; returns true when it did. (28 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeWaveformOpts { @@ -2480,7 +2502,7 @@ public unsafe struct NativeWaveformOpts public NativeSize Width; /// float (offset 12) public float Height; - /// float (offset 16) + /// width of each bar in points, default 3 (offset 16) public float Bar; /// float (offset 20) public float Gap; @@ -2488,27 +2510,27 @@ public unsafe struct NativeWaveformOpts public NativeColor Color; } -/// cui_now_playing, 40 bytes. +/// Now playing card: artwork, title, artist, a scrubber and transport buttons. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeNowPlaying { - /// const char * (offset 0) + /// name of the track, in medium weight (offset 0) public nint Title; - /// const char * (offset 8) + /// shown under the title (offset 8) public nint Artist; - /// cui_texture (offset 16) + /// artwork texture; 0 shows a tile in `art_color` with a note icon (offset 16) public nuint Art; - /// cui_color (offset 24) + /// color of the tile behind (or in place of) the artwork (offset 24) public NativeColor ArtColor; - /// float (offset 28) + /// seconds played; written when the user seeks (offset 28) public float Position; - /// float (offset 32) + /// length of the track in seconds (offset 32) public float Duration; - /// _Bool (offset 36) + /// shows pause instead of play; the play button flips it (offset 36) public byte Playing; } -/// cui_now_playing_opts, 16 bytes. +/// cui_now_playing_opts (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeNowPlayingOpts { @@ -2516,25 +2538,25 @@ public unsafe struct NativeNowPlayingOpts public int Sentinel; /// cui_size (offset 4) public NativeSize Width; - /// _Bool (offset 12) + /// smaller artwork and padding, and no previous button (offset 12) public byte Compact; } -/// cui_reasoning_opts, 24 bytes. +/// Reasoning: a model's thinking. While thinking, the header shimmers and counts the seconds; afterwards it reads "Thought for 12s" and the body folds away. Click the header to open or close it. Put text inside. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeReasoningOpts { /// int (offset 0) public int Sentinel; - /// _Bool (offset 4) + /// still thinking: the header shimmers and the body opens; it folds when this turns false (offset 4) public byte Thinking; - /// float (offset 8) + /// time spent, for the header: "Thinking for 12s", then "Thought for 12s" (offset 8) public float Seconds; - /// const char * (offset 16) + /// header text to show instead of the "Thinking" and "Thought for" lines (offset 16) public nint Title; } -/// cui_tool_call_opts, 48 bytes. +/// cui_tool_call_opts (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeToolCallOpts { @@ -2544,39 +2566,39 @@ public unsafe struct NativeToolCallOpts public CuiTaskStatus Status; /// const char * (offset 8) public nint Icon; - /// const char * (offset 16) + /// muted text after the tool's name, e.g. the file or query it works on (offset 16) public nint Detail; - /// const char * (offset 24) + /// what was sent to the tool; the row then opens to show it (as JSON when it parses) (offset 24) public nint Input; - /// const char * (offset 32) + /// what the tool returned, shown when open; labelled "Error" when the status is failed (offset 32) public nint Output; - /// float (offset 40) + /// how long the call took, shown at the end of the row unless it is pending; 0 hides it (offset 40) public float Seconds; } -/// cui_plan_step, 24 bytes. +/// Agent plan: steps with their status on a connected rail, and progress. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativePlanStep { - /// const char * (offset 0) + /// the step's text; shimmers while the step is running (offset 0) public nint Title; - /// const char * (offset 8) + /// smaller muted line under the title (red when the step failed); may be `NULL` (offset 8) public nint Detail; /// cui_task_status (offset 16) public CuiTaskStatus Status; } -/// cui_agent_plan_opts, 16 bytes. +/// cui_agent_plan_opts (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeAgentPlanOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// heading of the plan, default "Plan" (offset 8) public nint Title; } -/// cui_agent_status_opts, 24 bytes. +/// Agent status pill: what the agent is doing right now and for how long. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeAgentStatusOpts { @@ -2584,103 +2606,103 @@ public unsafe struct NativeAgentStatusOpts public int Sentinel; /// cui_task_status (offset 4) public CuiTaskStatus Status; - /// float (offset 8) + /// elapsed time shown after the text, as 42s or 1m 05s; 0 hides it (offset 8) public float Seconds; /// const char * (offset 16) public nint Icon; } -/// cui_source, 24 bytes. +/// Sources: cards for the documents an answer used, and inline citations that show a card on hover. Both return true / the index when clicked. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSource { - /// const char * (offset 0) + /// the card's heading; `NULL` shows the URL's domain (offset 0) public nint Title; - /// const char * (offset 8) + /// the address: its domain is shown, and the whole URL as the card's tooltip (offset 8) public nint Url; - /// const char * (offset 16) + /// an excerpt, shown in the hover card of a citation (offset 16) public nint Snippet; } -/// cui_context_opts, 32 bytes. +/// Context meter: a small ring of how full the context is; hover for a breakdown. It turns amber past 80% and red past 95%. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeContextOpts { /// int (offset 0) public int Sentinel; - /// const cui_viz_item * (offset 8) + /// what fills the context (label, amount, color), for the breakdown on hover (offset 8) public nint Parts; - /// int (offset 16) + /// number of `parts` (offset 16) public int PartCount; /// const char * (offset 24) public nint Unit; } -/// cui_response_actions_opts, 32 bytes. +/// cui_response_actions_opts (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeResponseActionsOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// the text the copy button copies; `NULL` leaves the button out (offset 8) public nint CopyText; - /// int * (offset 16) + /// 1 thumbs up, -1 thumbs down, 0 none: shown on the buttons and updated on a click (offset 16) public nint Vote; - /// _Bool (offset 24) + /// hides the regenerate button (offset 24) public byte NoRegenerate; - /// _Bool (offset 25) + /// hides the share button (offset 25) public byte NoShare; } -/// cui_prompt_suggestion, 24 bytes. +/// Prompt suggestions: cards to start a conversation with. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativePromptSuggestion { /// const char * (offset 0) public nint Icon; - /// const char * (offset 8) + /// the card's heading, in medium weight (offset 8) public nint Title; - /// const char * (offset 16) + /// smaller muted text under the title; may be `NULL` (offset 16) public nint Detail; } -/// cui_prompt_suggestions_opts, 8 bytes. +/// cui_prompt_suggestions_opts (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativePromptSuggestionsOpts { /// int (offset 0) public int Sentinel; - /// int (offset 4) + /// cards per row, default 2 (offset 4) public int Columns; } -/// cui_model, 32 bytes. +/// Model picker: the current model on a button; a list with details opens. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeModel { - /// const char * (offset 0) + /// shown on the button and as the row's heading in the list (offset 0) public nint Name; - /// const char * (offset 8) + /// smaller muted line under the name in the list, e.g. what the model is good at (offset 8) public nint Detail; - /// const char * (offset 16) + /// small accent badge after the name, e.g. "New"; `NULL` for none (offset 16) public nint Badge; /// const char * (offset 24) public nint Icon; } -/// cui_model_picker_opts, 12 bytes. +/// cui_model_picker_opts (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeModelPickerOpts { /// int (offset 0) public int Sentinel; - /// _Bool (offset 4) + /// no border or fill on the button until hovered, for use inside another control (offset 4) public byte Ghost; /// cui_placement (offset 8) public Placement Placement; } -/// cui_composer_opts, 88 bytes. +/// cui_composer_opts (88 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeComposerOpts { @@ -2688,27 +2710,27 @@ public unsafe struct NativeComposerOpts public int Sentinel; /// const char * (offset 8) public nint Placeholder; - /// _Bool (offset 16) + /// a reply is being generated: the send button becomes stop and Enter does not send (offset 16) public byte Busy; - /// const char *const * (offset 24) + /// names of the attached files, shown as chips above the text, each with an x (offset 24) public nint Attachments; - /// int (offset 32) + /// number of `attachments` (offset 32) public int AttachmentCount; - /// int * (offset 40) + /// set to the index of the attachment whose x was clicked (with `CUI_COMPOSER_REMOVE`) (offset 40) public nint Removed; - /// const cui_model * (offset 48) + /// models for a picker beside the attach button; `NULL` for no picker (offset 48) public nint Models; - /// int (offset 56) + /// number of `models` (offset 56) public int ModelCount; - /// int * (offset 64) + /// index of the chosen model, read and written (offset 64) public nint Model; - /// int (offset 72) + /// default 8 (offset 72) public int MaxLines; /// cui_size (offset 76) public NativeSize Width; } -/// cui_voice_orb_opts, 12 bytes. +/// cui_voice_orb_opts (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeVoiceOrbOpts { @@ -2720,63 +2742,63 @@ public unsafe struct NativeVoiceOrbOpts public NativeColor Color; } -/// cui_kanban_move, 16 bytes. +/// Kanban board: columns of cards you drag between columns and within them. The board reports drops; you move the card in your data: (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeKanbanMove { - /// int (offset 0) + /// the `card_id` of the card that was dropped (offset 0) public int Card; - /// int (offset 4) + /// index of the column it came from, in the order the columns were begun (offset 4) public int FromColumn; - /// int (offset 8) + /// index of the column it was dropped in (offset 8) public int ToColumn; - /// int (offset 12) + /// its position in that column, counted with the dragged card left out (offset 12) public int ToIndex; } -/// cui_kanban_column_opts, 16 bytes. +/// cui_kanban_column_opts (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeKanbanColumnOpts { /// int (offset 0) public int Sentinel; - /// cui_color (offset 4) + /// a small dot of this color before the title; unset for none (offset 4) public NativeColor Dot; - /// int (offset 8) + /// work in progress limit: the count reads "3 / 5" and turns red above it; 0 for none (offset 8) public int Limit; /// float (offset 12) public float Width; } -/// cui_cal_event, 32 bytes. +/// Week calendar: seven day columns on an hour grid. Drag an event to move it (15 minute steps), drag its bottom edge to resize it. Returns the index of a clicked event, or -1. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCalEvent { - /// const char * (offset 0) + /// shown on the event (offset 0) public nint Title; - /// const char * (offset 8) + /// a second line such as the place, shown when the event is tall enough; may be `NULL` (offset 8) public nint Detail; - /// int (offset 16) + /// day column, 0 (the day of `week_start`) to 6; dragging the event changes it (offset 16) public int Day; - /// float (offset 20) + /// start in hours (13.5 is 13:30); dragging the event changes it (offset 20) public float Start; - /// float (offset 24) + /// end in hours; moving or resizing the event changes it (offset 24) public float End; /// cui_tone (offset 28) public Tone Tone; } -/// cui_week_opts, 28 bytes. +/// cui_week_opts (28 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeWeekOpts { /// int (offset 0) public int Sentinel; - /// float (offset 4) + /// first hour shown, default 7; set together with `end_hour` (offset 4) public float StartHour; - /// float (offset 8) + /// last hour shown, default 21; used only when it is greater than `start_hour` (offset 8) public float EndHour; - /// float (offset 12) + /// points per hour, default 52 (offset 12) public float HourHeight; /// cui_size (offset 16) public NativeSize Height; @@ -2784,101 +2806,101 @@ public unsafe struct NativeWeekOpts public byte ReadOnly; } -/// cui_month_event, 48 bytes. +/// Month calendar: a month grid with events. All-day and multi-day events are bars across the days they cover; timed events are a dot, a time and a title. A day with more than fits says "+N more" and opens a list of them. On a narrow screen the cells show colored dots and the selected day's events are listed under the grid. (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeMonthEvent { - /// const char * (offset 0) + /// shown on the event's bar, or after the time of a timed event (offset 0) public nint Title; - /// cui_date (offset 8) + /// inclusive; an unset or earlier end means one day (offset 8) public NativeDate Start; - /// cui_date (offset 20) + /// inclusive; an unset or earlier end means one day (offset 20) public NativeDate End; - /// float (offset 32) + /// hour of a timed event (9.5 is 9:30); ignored when all_day (offset 32) public float Time; - /// _Bool (offset 36) + /// a bar, like every event that spans days (offset 36) public byte AllDay; /// cui_tone (offset 40) public Tone Tone; } -/// cui_month_opts, 56 bytes. +/// cui_month_opts (56 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeMonthOpts { /// int (offset 0) public int Sentinel; - /// cui_date * (offset 8) + /// the selected day: yours to read and set (offset 8) public nint Selected; - /// int (offset 16) + /// 0 Monday (default) .. 6 Sunday (offset 16) public int FirstWeekday; - /// float (offset 20) + /// default 104, 44 on a phone (offset 20) public float CellHeight; - /// const char *const * (offset 24) + /// 12 names for another language, January first (offset 24) public nint MonthNames; - /// const char *const * (offset 32) + /// 7 short names, Monday first (offset 32) public nint DayNames; - /// _Bool (offset 40) + /// 9:30a rather than 9:30 (offset 40) public byte Hour12; - /// cui_date (offset 44) + /// overrides the system date when set (another time zone, tests) (offset 44) public NativeDate Today; } -/// cui_month_result, 8 bytes. +/// cui_month_result (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeMonthResult { - /// int (offset 0) + /// clicked event, or -1 (offset 0) public int Event; - /// _Bool (offset 4) + /// a day was clicked or moved to with the keys (see selected) (offset 4) public byte DayClicked; - /// _Bool (offset 5) + /// double-clicked or Enter: add an event there (offset 5) public byte DayActivated; - /// _Bool (offset 6) + /// the arrows, Today or the keys changed *month (offset 6) public byte MonthChanged; } -/// cui_gantt_task, 40 bytes. +/// Gantt chart: a task list beside a timeline of bars. Drag a bar to move it, its ends to resize it. Dependencies are drawn as elbow arrows. Returns the index of a clicked task, or -1. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeGanttTask { - /// const char * (offset 0) + /// shown in the task list and, when it fits, on the bar (offset 0) public nint Name; - /// const char * (offset 8) + /// a name: shows that person's avatar in the task list; `NULL` for none (offset 8) public nint Owner; - /// int (offset 16) + /// day the bar starts, counted from `origin`; dragging the bar changes it (offset 16) public int Start; - /// int (offset 20) + /// day the bar ends, counted from `origin` (it is end - start days long); dragging changes it (offset 20) public int End; - /// float (offset 24) + /// 0..1: the part of the bar drawn darker, as done (offset 24) public float Progress; /// cui_tone (offset 28) public Tone Tone; - /// int (offset 32) + /// index of the task this one waits for: an arrow runs from its end to this start. -1 for none (offset 32) public int DependsOn; - /// _Bool (offset 36) + /// a diamond at `start` instead of a bar; it cannot be resized (offset 36) public byte Milestone; } -/// cui_gantt_opts, 28 bytes. +/// cui_gantt_opts (28 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeGanttOpts { /// int (offset 0) public int Sentinel; - /// float (offset 4) + /// points per day, default 30 (offset 4) public float DayWidth; - /// float (offset 8) + /// points per task row, default 40 (offset 8) public float RowHeight; /// cui_size (offset 12) public NativeSize Height; - /// int (offset 20) + /// day to mark as today, counted from `origin`; 0 marks none (offset 20) public int Today; /// _Bool (offset 24) public byte ReadOnly; } -/// cui_hover_card_opts, 16 bytes. +/// Hover card: rich content that appears when the pointer rests on the previous component, and stays while the pointer is over either. (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeHoverCardOpts { @@ -2888,23 +2910,23 @@ public unsafe struct NativeHoverCardOpts public Placement Placement; /// float (offset 8) public float Width; - /// float (offset 12) + /// seconds the pointer must rest on the component before the card shows, default 0.45 (offset 12) public float Delay; } -/// cui_confirm_popover_opts, 48 bytes. +/// Confirm popover: a small question anchored to the previous component. Open it with cui_popover_open(ui, id). Returns true when confirmed. (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeConfirmPopoverOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// the question, in medium weight at the top, e.g. "Delete this file?" (offset 8) public nint Title; /// const char * (offset 16) public nint Description; - /// const char * (offset 24) + /// default "Confirm" (offset 24) public nint ConfirmLabel; - /// const char * (offset 32) + /// default "Cancel" (offset 32) public nint CancelLabel; /// _Bool (offset 40) public byte Danger; @@ -2912,23 +2934,23 @@ public unsafe struct NativeConfirmPopoverOpts public Placement Placement; } -/// cui_expandable_text_opts, 20 bytes. +/// Text clamped to a few lines with a fade and Show more / Show less. (20 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeExpandableTextOpts { /// int (offset 0) public int Sentinel; - /// int (offset 4) + /// lines shown while collapsed, default 3 (offset 4) public int Lines; /// float (offset 8) public float Size; /// cui_color (offset 12) public NativeColor Color; - /// cui_color (offset 16) + /// color the last line fades into; set it to the surface behind the text, default the background (offset 16) public NativeColor FadeTo; } -/// cui_expandable_card_opts, 40 bytes. +/// Expandable card: a card whose header opens a body with a height spring. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeExpandableCardOpts { @@ -2938,25 +2960,25 @@ public unsafe struct NativeExpandableCardOpts public nint Description; /// const char * (offset 16) public nint Icon; - /// const char * (offset 24) + /// small badge in the header before the chevron, colored by `badge_tone`; `NULL` for none (offset 24) public nint Badge; /// cui_tone (offset 32) public Tone BadgeTone; } -/// cui_toc_item, 24 bytes. +/// Table of contents for a scroll area: highlights the section in view on a progress rail, and scrolls to a section when clicked. Put cui_toc_anchor(ui, "anchor") at each heading inside the scroll area, and call cui_toc in the same scope as the scroll area. Returns the active index. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTocItem { - /// const char * (offset 0) + /// the entry's text in the list (offset 0) public nint Title; - /// const char * (offset 8) + /// the name given to `cui_toc_anchor` at that section's heading (offset 8) public nint Anchor; - /// int (offset 16) + /// indentation: 0 for a top level section, up to 4 (12 points each) (offset 16) public int Level; } -/// cui_banner_opts, 32 bytes. +/// Announcement banner across the top of a view. Collapses smoothly when dismissed (*open becomes false). Returns true when the action is clicked. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeBannerOpts { @@ -2966,51 +2988,51 @@ public unsafe struct NativeBannerOpts public Tone Tone; /// const char * (offset 8) public nint Icon; - /// const char * (offset 16) + /// label of a button in the banner; the call returns true when it is clicked (offset 16) public nint Action; /// _Bool (offset 24) public byte Dismissible; } -/// cui_countdown_opts, 8 bytes. +/// Countdown: days, hours, minutes and seconds as tiles whose digits roll. (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCountdownOpts { /// int (offset 0) public int Sentinel; - /// _Bool (offset 4) + /// no days tile; the hours tile counts the days in (49 hours, not 2 days and 1 hour) (offset 4) public byte HideDays; - /// _Bool (offset 5) + /// small tiles joined by colons, without the unit names under them (offset 5) public byte Compact; } -/// cui_check_step, 32 bytes. +/// Onboarding checklist: a card with progress and steps. The first open step shows its description and action. Clicking a step's circle toggles done. Returns the index whose action was clicked, or -1. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCheckStep { - /// const char * (offset 0) + /// the step's text; muted once the step is done (offset 0) public nint Title; /// const char * (offset 8) public nint Description; - /// const char * (offset 16) + /// label of the button shown under the first step that is not done; `NULL` for none (offset 16) public nint Action; - /// _Bool (offset 24) + /// the step is complete; clicking its circle flips this (offset 24) public byte Done; } -/// cui_checklist_opts, 24 bytes. +/// cui_checklist_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeChecklistOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// heading of the card, default "Get started" (offset 8) public nint Title; /// const char * (offset 16) public nint Description; } -/// cui_multi_select_opts, 48 bytes. +/// Multi-select: a field with chips for the chosen items and a list with checkboxes (and search). selected[i] is true for chosen items. (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeMultiSelectOpts { @@ -3022,25 +3044,25 @@ public unsafe struct NativeMultiSelectOpts public nint Placeholder; /// const char *const * (offset 24) public nint Icons; - /// _Bool (offset 32) + /// a search field at the top of the list that filters the items as you type (offset 32) public byte Searchable; - /// int (offset 36) + /// chips before "+N", default 3 (offset 36) public int MaxChips; /// cui_size (offset 40) public NativeSize Width; } -/// cui_date_range, 24 bytes. +/// Date ranges. A zero start means nothing is chosen. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDateRange { - /// cui_date (offset 0) + /// first day of the range; a zero date means nothing is chosen (offset 0) public NativeDate Start; - /// cui_date (offset 12) + /// last day of the range, inclusive (offset 12) public NativeDate End; } -/// cui_date_range_opts, 40 bytes. +/// cui_date_range_opts (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDateRangeOpts { @@ -3052,11 +3074,11 @@ public unsafe struct NativeDateRangeOpts public nint Placeholder; /// cui_size (offset 24) public NativeSize Width; - /// _Bool (offset 32) + /// hides the list of preset ranges beside (or above) the calendar (offset 32) public byte NoPresets; } -/// cui_time_opts, 32 bytes. +/// Time picker: a field that opens hour and minute columns. hour is 0..23. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTimeOpts { @@ -3064,33 +3086,33 @@ public unsafe struct NativeTimeOpts public int Sentinel; /// const char * (offset 8) public nint Label; - /// _Bool (offset 16) + /// shows 1 to 12 with AM and PM (as in "2:30 PM"); `*hour` stays 0..23 (offset 16) public byte TwelveHour; - /// int (offset 20) + /// minutes between the entries of the minute column, default 5 (offset 20) public int MinuteStep; /// cui_size (offset 24) public NativeSize Width; } -/// cui_wheel_opts, 20 bytes. +/// Wheel picker: a drum of options that you drag, scroll or arrow through. Several side by side make a date or time reel. join_left / join_right square off the selection band so wheels placed side by side share one continuous band. (20 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeWheelOpts { /// int (offset 0) public int Sentinel; - /// int (offset 4) + /// rows in view, made odd so the selected one sits in the middle; default 5 (offset 4) public int Rows; /// cui_size (offset 8) public NativeSize Width; - /// _Bool (offset 16) + /// the items wrap around: after the last comes the first again (offset 16) public byte Loop; - /// _Bool (offset 17) + /// squares off the left end of the selection band, to join a wheel on that side (offset 17) public byte JoinLeft; - /// _Bool (offset 18) + /// squares off the right end of the selection band, to join a wheel on that side (offset 18) public byte JoinRight; } -/// cui_ruler_opts, 40 bytes. +/// Ruler slider: a tape measure that slides under a fixed marker, with momentum and snapping to step. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeRulerOpts { @@ -3098,9 +3120,9 @@ public unsafe struct NativeRulerOpts public int Sentinel; /// float (offset 4) public float Step; - /// int (offset 8) + /// every Nth tick is long and labelled, default 10; Shift+arrows move this many steps (offset 8) public int MajorEvery; - /// float (offset 12) + /// points between two ticks (one `step` apart), default 9 (offset 12) public float Spacing; /// const char * (offset 16) public nint Format; @@ -3110,7 +3132,7 @@ public unsafe struct NativeRulerOpts public NativeSize Width; } -/// cui_histogram_opts, 16 bytes. +/// Range slider over a histogram of the data it filters. (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeHistogramOpts { @@ -3122,63 +3144,63 @@ public unsafe struct NativeHistogramOpts public nint Format; } -/// cui_knob_opts, 56 bytes. +/// Knob, fader and level meter: the controls of audio, synth and mixer panels. (56 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeKnobOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// under the knob; the id when NULL (offset 8) public nint Label; - /// const char * (offset 16) + /// printf format for the value, default "%.0f" (offset 16) public nint Format; - /// const char * (offset 24) + /// after the value, e.g. "Hz" or "dB" (offset 24) public nint Unit; - /// float (offset 32) + /// diameter, default 48 (offset 32) public float Size; - /// float (offset 36) + /// 0 = continuous (keys move 1% of the range) (offset 36) public float Step; - /// float (offset 40) + /// double-click value, default 0 (clamped to the range) (offset 40) public float Reset; - /// _Bool (offset 44) + /// the arc grows from the middle: pan, EQ gain (offset 44) public byte Bipolar; - /// _Bool (offset 45) + /// equal turns multiply the value: frequency, time (min > 0) (offset 45) public byte LogScale; /// _Bool (offset 46) public byte HideValue; /// _Bool (offset 47) public byte Disabled; - /// cui_color (offset 48) + /// the value arc, default the control color (offset 48) public NativeColor Color; } -/// cui_fader_opts, 80 bytes. +/// cui_fader_opts (80 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeFaderOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// under a vertical fader, before a horizontal one; the id when NULL (offset 8) public nint Label; - /// const char * (offset 16) + /// default "%.1f" (offset 16) public nint Format; /// const char * (offset 24) public nint Unit; - /// float (offset 32) + /// track length, default 160 (offset 32) public float Length; - /// _Bool (offset 36) + /// the track runs left to right, with the label before it, instead of bottom to top (offset 36) public byte Horizontal; /// float (offset 40) public float Step; - /// float (offset 44) + /// double-click value, default 0 (clamped to the range) (offset 44) public float Reset; - /// const float * (offset 48) + /// values to mark and label beside the track, e.g. dB marks; at most 32 (offset 48) public nint Ticks; - /// int (offset 56) + /// entries in `ticks` (offset 56) public int TickCount; - /// const float * (offset 64) + /// linear sample peaks, one per channel, for a level meter beside the track; `NULL` for none (offset 64) public nint Meter; - /// int (offset 72) + /// entries in `meter`, up to 8; a dB fader's range sets the meter's scale (offset 72) public int MeterChannels; /// _Bool (offset 76) public byte HideValue; @@ -3186,33 +3208,33 @@ public unsafe struct NativeFaderOpts public byte Disabled; } -/// cui_level_meter_opts, 32 bytes. +/// Level meter: bars that jump up to each new peak and fall back at `decay` dB per second, with a peak mark that holds for `hold` seconds and a clip light that stays on until clicked. Levels are linear sample peaks (1.0 is 0 dBFS); green runs to -18 dB, amber to -6 dB, red above. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeLevelMeterOpts { /// int (offset 0) public int Sentinel; - /// float (offset 4) + /// default -60 and +6 (offset 4) public float MinDb; - /// float (offset 8) + /// default -60 and +6 (offset 8) public float MaxDb; - /// float (offset 12) + /// default 160 (offset 12) public float Length; - /// float (offset 16) + /// each channel's bar, default 6 (offset 16) public float Thickness; - /// _Bool (offset 20) + /// bars run left to right instead of bottom to top (offset 20) public byte Horizontal; - /// _Bool (offset 21) + /// dB labels beside the bars (offset 21) public byte Scale; - /// _Bool (offset 22) + /// LED segments instead of a solid bar (offset 22) public byte Segmented; - /// float (offset 24) + /// peak hold, seconds; default 1.5, < 0 none (offset 24) public float Hold; - /// float (offset 28) + /// fall rate, dB per second; default 20 (offset 28) public float Decay; } -/// cui_signature_opts, 32 bytes. +/// Signature pad: draw with the mouse or a pen. The strokes are kept for you; read them with cui_signature_points (stroke_ends[i] is one past the last point of stroke i). (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeSignatureOpts { @@ -3224,39 +3246,39 @@ public unsafe struct NativeSignatureOpts public float Height; /// const char * (offset 16) public nint Placeholder; - /// cui_color (offset 24) + /// color of the strokes, default the foreground color (offset 24) public NativeColor Ink; } -/// cui_dropzone_opts, 56 bytes. +/// Dropzone: drop files from the OS, or click to browse. Returns the number of files dropped on it this frame (read them with cui_dropped_file), -1 when clicked (open a file dialog), 0 otherwise. accept filters by extension, e.g. "png;jpg;pdf". (56 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDropzoneOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// default "Drop files here" (offset 8) public nint Title; - /// const char * (offset 16) + /// default "or click to browse" (offset 16) public nint Description; /// const char * (offset 24) public nint Icon; - /// const char * (offset 32) + /// extensions it takes, separated by semicolons, e.g. "png;jpg;pdf"; `NULL` takes any file (offset 32) public nint Accept; - /// float (offset 40) + /// default 160 (offset 40) public float Height; /// cui_size (offset 44) public NativeSize Width; - /// _Bool (offset 52) + /// one row instead of a tall area (offset 52) public byte Compact; } -/// cui_inline_edit_opts, 32 bytes. +/// Inline edit: text that turns into a field in place. Click (or Enter when focused) to edit, Enter or clicking away saves, Esc cancels. Returns CUI_CHANGED when an edit is committed. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeInlineEditOpts { /// int (offset 0) public int Sentinel; - /// cui_font (offset 4) + /// font of the text and of the field, default `CUI_FONT_MEDIUM` (offset 4) public Font Font; /// float (offset 8) public float Size; @@ -3266,25 +3288,25 @@ public unsafe struct NativeInlineEditOpts public NativeSize Width; } -/// cui_scrub_opts, 40 bytes. +/// Scrub field: drag sideways anywhere on it to change the value (Shift for fine steps), or click to type a number. Arrow keys step when focused. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeScrubOpts { /// int (offset 0) public int Sentinel; - /// float (offset 4) + /// default (max - min) / 100 (offset 4) public float Step; - /// const char * (offset 8) + /// default "%.0f" (offset 8) public nint Format; - /// const char * (offset 16) + /// e.g. "px" or "%" (offset 16) public nint Suffix; - /// const char * (offset 24) + /// shown instead of the label (offset 24) public nint Icon; /// cui_size (offset 32) public NativeSize Width; } -/// cui_money_opts, 56 bytes. +/// Money field: shows the amount with thousands separators, edits as plain digits, keeps a fixed number of decimals. (56 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeMoneyOpts { @@ -3292,19 +3314,19 @@ public unsafe struct NativeMoneyOpts public int Sentinel; /// const char * (offset 8) public nint Label; - /// const char * (offset 16) + /// currency symbol before the amount, default "$" (offset 16) public nint Symbol; - /// const char * (offset 24) + /// currency code after the amount, e.g. "USD" (offset 24) public nint Code; /// int (offset 32) public int Decimals; /// cui_size (offset 36) public NativeSize Width; - /// const char * (offset 48) + /// helper text below the field (offset 48) public nint Hint; } -/// cui_key_combo, 8 bytes. +/// Shortcut recorder: click and press a key combination to record it. Backspace clears, Esc cancels. Returns true when the combination changed. cui_shortcut_label formats a combination ("Ctrl Shift K"). (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeKeyCombo { @@ -3314,7 +3336,7 @@ public unsafe struct NativeKeyCombo public Key Key; } -/// cui_shortcut_recorder_opts, 24 bytes. +/// cui_shortcut_recorder_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeShortcutRecorderOpts { @@ -3326,61 +3348,61 @@ public unsafe struct NativeShortcutRecorderOpts public NativeSize Width; } -/// cui_node_view, 12 bytes. +/// Node editor: nodes with input and output pins on a canvas that pans and zooms, joined by curved links. You own the nodes, pins and links; the editor moves the node positions you pass and reports what the user did: (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeNodeView { - /// float (offset 0) + /// where the canvas origin sits, in points from the editor's left edge; panning changes it (offset 0) public float X; - /// float (offset 4) + /// where the canvas origin sits, in points from the editor's top edge (offset 4) public float Y; - /// float (offset 8) + /// scale of the canvas; 0 means 1. Kept between `min_zoom` and `max_zoom` (offset 8) public float Zoom; } -/// cui_node_editor_opts, 32 bytes. +/// cui_node_editor_opts (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeNodeEditorOpts { /// int (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default: fill the width, 440 tall (offset 4) public NativeSize Width; - /// cui_size (offset 12) + /// default: fill the width, 440 tall (offset 12) public NativeSize Height; - /// float (offset 20) + /// default 0.25 .. 2 (offset 20) public float MinZoom; - /// float (offset 24) + /// default 0.25 .. 2 (offset 24) public float MaxZoom; /// _Bool (offset 28) public byte NoGrid; - /// _Bool (offset 29) + /// an overview of the graph in the bottom right corner; click it to move there (offset 29) public byte Minimap; } -/// cui_node_opts, 16 bytes. +/// A node at canvas position (*x, *y), updated while it is dragged. Returns true while the node is selected. (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeNodeOpts { - /// int (offset 0) + /// width default 184 (offset 0) public int Sentinel; - /// float (offset 4) + /// width default 184 (offset 4) public float Width; - /// const char * (offset 8) + /// width default 184 (offset 8) public nint Icon; } -/// cui_pin_opts, 8 bytes. +/// A row with a pin on the left (input) or right (output). type picks the pin color from the series palette and limits links to pins of the same type (0 connects to anything). Returns true when the pin has a link. (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativePinOpts { /// int (offset 0) public int Sentinel; - /// int (offset 4) + /// 0 links to any pin; another number links only to pins of that type and picks their color (offset 4) public int Type; } -/// cui_menu_bar_opts, 8 bytes. +/// Menu bar: File / Edit / View along the top of a window. Each menu holds the usual menu items (cui_menu_item, cui_menu_separator, cui_menu_label). Once a menu is open, hovering another one switches to it. Alt (on its own) or F10 focuses the bar; arrows move between menus and items, Enter chooses, Esc steps back. Alt + a menu's mnemonic letter opens it (the first letter of its label unless `mnemonic` says otherwise). (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeMenuBarOpts { @@ -3390,13 +3412,13 @@ public unsafe struct NativeMenuBarOpts public byte NoBorder; } -/// cui_menu_bar_menu_opts, 16 bytes. +/// One menu of the bar. Returns true while its items should be built; call cui_menu_bar_menu_end only then. (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeMenuBarMenuOpts { /// int (offset 0) public int Sentinel; - /// char (offset 4) + /// letter that opens the menu with Alt; 0 uses the first letter or digit of the label (offset 4) public sbyte Mnemonic; /// float (offset 8) public float Width; @@ -3404,7 +3426,7 @@ public unsafe struct NativeMenuBarMenuOpts public byte Disabled; } -/// cui_toolbar_opts, 8 bytes. +/// Toolbar: a row of compact icon buttons, toggles, separators and small text buttons. Icon only buttons show their tooltip as their name. Items that do not fit collapse, from the end, into a "more" menu; an item chosen there returns true on the next frame. (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeToolbarOpts { @@ -3414,25 +3436,25 @@ public unsafe struct NativeToolbarOpts public byte NoBorder; } -/// cui_tool_opts, 48 bytes. +/// cui_tool_opts (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeToolOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// text on the button (icon may be NULL); also its name in the overflow menu (offset 8) public nint Label; - /// const char * (offset 16) + /// the name of an icon only button (offset 16) public nint Tooltip; - /// const char * (offset 24) + /// shown in the tooltip, e.g. "Ctrl B" (offset 24) public nint Shortcut; - /// _Bool * (offset 32) + /// toggle button: flipped on click, shown pressed while true (offset 32) public nint Toggle; /// _Bool (offset 40) public byte Disabled; } -/// cui_status_bar_opts, 8 bytes. +/// Status bar: a thin bar along the bottom of a window, with a hairline on top and no fill of its own (put it in a box with the background you want). Items go left to right; cui_status_bar_spacer sends the rest to the right edge. (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeStatusBarOpts { @@ -3442,7 +3464,7 @@ public unsafe struct NativeStatusBarOpts public byte NoBorder; } -/// cui_status_item_opts, 40 bytes. +/// cui_status_item_opts (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeStatusItemOpts { @@ -3458,7 +3480,7 @@ public unsafe struct NativeStatusItemOpts public byte Disabled; } -/// cui_status_progress_opts, 24 bytes. +/// A small progress bar with an optional label. value is 0..1. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeStatusProgressOpts { @@ -3472,69 +3494,69 @@ public unsafe struct NativeStatusProgressOpts public float Width; } -/// cui_doc_tab, 32 bytes. +/// Document tabs: editor style tabs. Clicking selects (*selected is updated), the x or a middle click asks to close, dragging reorders, and the strip scrolls sideways when the tabs do not fit. A dirty tab shows a dot that turns into the close button under the pointer. The selected tab is filled with the surface color so it joins the content below; the strip itself has no fill, like the other bars. Tabs keep their state by title, so give two tabs with the same name a key: "main.c##src". The component never removes or moves your tabs itself: it reports a close or a move in the result and you apply it (selection already follows a move). With keyboard focus on the strip, Left and Right select, Home and End jump, Shift+Left/Right move the tab and Delete closes it. With `shortcuts` set it also answers Ctrl+Tab, Ctrl+Shift+Tab, Ctrl+PageUp/Down and Ctrl+W (Cmd+W on macOS) from anywhere in the window. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDocTab { - /// const char * (offset 0) + /// the tab's text and its identity; add "##key" to tell two tabs with one name apart (offset 0) public nint Title; /// const char * (offset 8) public nint Icon; /// const char * (offset 16) public nint Tooltip; - /// _Bool (offset 24) + /// unsaved changes: a dot in place of the x, which returns under the pointer (offset 24) public byte Dirty; } -/// cui_doc_tabs_opts, 8 bytes. +/// cui_doc_tabs_opts (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDocTabsOpts { /// int (offset 0) public int Sentinel; - /// _Bool (offset 4) + /// Ctrl+Tab, Ctrl+Shift+Tab, Ctrl+PageUp/Down and Ctrl+W (Cmd+W on macOS) work from anywhere in the window (offset 4) public byte Shortcuts; - /// _Bool (offset 5) + /// tabs have no x and cannot be closed (middle click, Delete and Ctrl+W do nothing) (offset 5) public byte NoClose; - /// _Bool (offset 6) + /// tabs cannot be dragged or moved with Shift+Left/Right (offset 6) public byte NoReorder; } -/// cui_doc_tabs_result, 16 bytes. +/// cui_doc_tabs_result (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDocTabsResult { - /// _Bool (offset 0) + /// selected changed (click, keys or a move) (offset 0) public byte Changed; - /// int (offset 4) + /// tab to close, or -1 (offset 4) public int Close; - /// int (offset 8) + /// move the tab at move_from to move_to, or -1 (offset 8) public int MoveFrom; - /// int (offset 12) + /// move the tab at move_from to move_to, or -1 (offset 12) public int MoveTo; } -/// cui_dockspace_opts, 48 bytes. +/// Dockspace: an IDE style workspace that lays out your panels in a tree of resizable splits whose leaves hold one or more panels as document tabs. Submit every panel each frame between cui_dockspace_begin and cui_dockspace_end; the dockspace decides where it goes, and a panel's content is built only while its tab is the one showing: (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDockspaceOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// first run layout, in the cui_dock_save format (offset 8) public nint Layout; - /// cui_size (offset 16) + /// default fill (offset 16) public NativeSize Width; - /// cui_size (offset 24) + /// default fill (offset 24) public NativeSize Height; - /// float (offset 32) + /// default 120; splits stop here (and share what there is when too narrow) (offset 32) public float MinPanelWidth; - /// float (offset 36) + /// default 96 (offset 36) public float MinPanelHeight; - /// _Bool (offset 40) + /// Ctrl+Tab, Ctrl+Shift+Tab and Ctrl+W act on the focused leaf (offset 40) public byte Shortcuts; } -/// cui_dock_panel_opts, 24 bytes. +/// Returns true while the panel's content should be built; then call cui_dock_panel_end. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDockPanelOpts { @@ -3542,211 +3564,211 @@ public unsafe struct NativeDockPanelOpts public int Sentinel; /// const char * (offset 8) public nint Icon; - /// _Bool (offset 16) + /// unsaved changes: the panel's tab shows a dot in place of its x (offset 16) public byte Dirty; } -/// cui_inspector_opts, 16 bytes. +/// Property inspector: labelled rows in folding groups, a label column on the left (drag the line between the columns to resize it) and an editor on the right. Every row returns true when its value changed. Groups end at the next group or at cui_inspector_end. (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeInspectorOpts { /// int (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default fill (offset 4) public NativeSize Width; - /// float (offset 12) + /// initial label column in points, default 38% of the width (offset 12) public float LabelWidth; } -/// cui_prop_opts, 56 bytes. +/// cui_prop_opts (56 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativePropOpts { /// int (offset 0) public int Sentinel; - /// float (offset 4) + /// number and vector rows; both 0 = unbounded (offset 4) public float Min; - /// float (offset 8) + /// number and vector rows; both 0 = unbounded (offset 8) public float Max; - /// float (offset 12) + /// drag and arrow step, default 1/100 of the range (0.1 unbounded) (offset 12) public float Step; - /// const char * (offset 16) + /// printf format, default from the step ("%.2f" for 0.01) (offset 16) public nint Format; - /// const char * (offset 24) + /// unit after the value, e.g. "px" or "deg" (offset 24) public nint Suffix; - /// const char * (offset 32) + /// text rows (offset 32) public nint Placeholder; - /// const char * (offset 40) + /// shown on the label (offset 40) public nint Tooltip; /// _Bool (offset 48) public byte Disabled; - /// _Bool (offset 49) + /// bool rows: a checkbox instead of a switch (offset 49) public byte Checkbox; } -/// cui_log_line, 24 bytes. +/// cui_log_line (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeLogLine { - /// uint32_t (offset 0) + /// where the line's text starts in the buffer's `text` (offset 0) public uint Offset; - /// uint32_t (offset 4) + /// bytes of text, not counting the terminator (offset 4) public uint Len; - /// double (offset 8) + /// the timestamp it was appended with, in seconds (offset 8) public double Time; - /// uint8_t (offset 16) + /// a `cui_log_level` (offset 16) public byte Level; } -/// cui_log_buffer, 80 bytes. +/// cui_log_buffer (80 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeLogBuffer { - /// double (offset 0) + /// timestamp given to the next appended line (seconds) (offset 0) public double Now; - /// cui_log_line * (offset 8) + /// the line records given to `cui_log_init` (offset 8) public nint Lines; - /// int (offset 16) + /// how many records `lines` has room for (offset 16) public int LineCap; - /// char * (offset 24) + /// the bytes given to `cui_log_init`, holding the text of the lines (offset 24) public nint Text; - /// uint32_t (offset 32) + /// size of `text` in bytes (offset 32) public uint TextCap; - /// int (offset 36) + /// ring of lines: oldest record and how many (offset 36) public int First; - /// int (offset 40) + /// ring of lines: oldest record and how many (offset 40) public int Count; - /// uint32_t (offset 44) + /// where the next line's text goes (offset 44) public uint TextEnd; - /// uint64_t (offset 48) + /// lines ever appended; line i of the buffer is number total - count + i (offset 48) public ulong Total; - /// int[5] (offset 56) + /// lines of each level now in the buffer, indexed by `cui_log_level` (offset 56) public fixed int LevelCount[5]; } -/// cui_log_view_opts, 24 bytes. +/// cui_log_view_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeLogViewOpts { /// int (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default fill (offset 4) public NativeSize Width; - /// float (offset 12) + /// default 320; negative fills the space (offset 12) public float Height; - /// _Bool (offset 16) + /// show each line's time as HH:MM:SS.mmm (offset 16) public byte Timestamps; - /// _Bool (offset 17) + /// just the lines (offset 17) public byte NoToolbar; - /// float (offset 20) + /// font size, default 12 (offset 20) public float Size; } -/// cui_terminal_line, 12 bytes. +/// Terminal: program output with ANSI colors over an input line with a prompt and history, for consoles, REPLs and build tools. Output goes into a buffer you own (appending never allocates; the oldest lines go when it is full) and is parsed as it arrives: \n starts a line, \r returns to its start (progress bars redraw in place), \t, \b, and ESC [ ... m sets colors and styles (16 colors, 256 and 24-bit; bold, dim, italic, underline, inverse). Other escape sequences are skipped. (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTerminalLine { - /// uint32_t (offset 0) + /// where the line's bytes start in the buffer's `text` (offset 0) public uint Offset; - /// uint32_t (offset 4) + /// bytes of the line, with its color sequences (offset 4) public uint Len; - /// uint32_t (offset 8) + /// character cells the line takes, before wrapping (offset 8) public uint Cols; } -/// cui_terminal_buffer, 88 bytes. +/// cui_terminal_buffer (88 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTerminalBuffer { - /// char * (offset 0) + /// the bytes given to `cui_terminal_init`, holding the lines and their color sequences (offset 0) public nint Text; - /// uint32_t (offset 8) + /// size of `text` in bytes (offset 8) public uint TextCap; - /// cui_terminal_line * (offset 16) + /// the line records given to `cui_terminal_init` (offset 16) public nint Lines; - /// int (offset 24) + /// how many records `lines` has room for; 0 when the buffer cannot be used (offset 24) public int LineCap; - /// int (offset 28) + /// ring of lines; the last one is still being written (offset 28) public int First; - /// int (offset 32) + /// ring of lines; the last one is still being written (offset 32) public int Count; - /// uint32_t (offset 36) + /// where the next byte goes (offset 36) public uint End; - /// uint64_t (offset 40) + /// lines ever started (offset 40) public ulong Total; - /// uint8_t (offset 48) + /// parser: text, escape, CSI or OSC (offset 48) public byte Mode; - /// uint8_t (offset 49) + /// bytes of `seq` read so far (offset 49) public byte SeqN; - /// char[30] (offset 50) + /// the escape sequence being read, so a write can split one (offset 50) public fixed sbyte Seq[30]; - /// _Bool (offset 80) + /// a \r was seen: the next character starts the line over (offset 80) public byte Cr; } -/// cui_terminal_opts, 40 bytes. +/// cui_terminal_opts (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTerminalOpts { /// int (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default fill (offset 4) public NativeSize Width; - /// float (offset 12) + /// default 320; negative fills the space (offset 12) public float Height; - /// float (offset 16) + /// font size, default 13 (offset 16) public float Size; - /// const char * (offset 24) + /// default "$ " (offset 24) public nint Prompt; - /// _Bool (offset 32) + /// output only (offset 32) public byte NoInput; } -/// cui_terminal_result, 16 bytes. +/// cui_terminal_result (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTerminalResult { - /// const char * (offset 0) + /// the line entered (Enter), already echoed; valid this frame (offset 0) public nint Command; - /// _Bool (offset 8) + /// Ctrl+C with nothing selected (offset 8) public byte Interrupt; } -/// cui_emoji_picker_opts, 88 bytes. +/// Emoji picker: search, groups with tabs, recent emoji, skin tones and a preview with the name. Returns the emoji picked this frame (UTF-8, valid until the next frame) or NULL. Put it in a popover to open it from a button. (88 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeEmojiPickerOpts { /// int (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default up to 360 (offset 4) public NativeSize Width; - /// float (offset 12) + /// the grid; default 280 (offset 12) public float Height; - /// float (offset 16) + /// emoji size; default 26 (offset 16) public float Size; - /// char * (offset 24) + /// buffer for the recent emoji, read and updated here so the app can save it; `NULL` keeps them in the picker (offset 24) public nint Recent; - /// size_t (offset 32) + /// size of the `recent` buffer in bytes; it holds the recent emoji newest first, space separated (offset 32) public nuint RecentCap; - /// int * (offset 40) + /// skin tone, 0 (none) to 5 (dark), kept by the app (offset 40) public nint Tone; - /// const char * (offset 48) + /// "Search emoji" (offset 48) public nint Placeholder; - /// const char * (offset 56) + /// "No emoji found" (offset 56) public nint EmptyText; - /// const char * (offset 64) + /// the preview with nothing to show: "Pick an emoji" (offset 64) public nint Hint; - /// const char *const * (offset 72) + /// 10 names: recent, then Unicode's nine groups (offset 72) public nint GroupNames; - /// _Bool (offset 80) + /// hides the search field (offset 80) public byte NoSearch; - /// _Bool (offset 81) + /// hides the row at the bottom that shows the hovered emoji and its name (offset 81) public byte NoPreview; - /// _Bool (offset 82) + /// hides the skin tone button (offset 82) public byte NoTone; } -/// cui_hex_range, 32 bytes. +/// Hex viewer: offsets, bytes in hex and the same bytes as ASCII, in the code font, for binary tools, emulators and debuggers. You own the bytes (they are read during the call, never kept) and, optionally, the selection: (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeHexRange { @@ -3754,439 +3776,439 @@ public unsafe struct NativeHexRange public nuint Offset; /// size_t (offset 8) public nuint Length; - /// cui_tone (offset 16) + /// tints the range's background (offset 16) public Tone Tone; - /// const char * (offset 24) + /// tooltip for the range; may be NULL (offset 24) public nint Label; } -/// cui_hex_selection, 24 bytes. +/// The selected bytes. length 0 means nothing is selected; cursor is the byte the keys move from and is one end of a selection. Set it yourself to select from code. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeHexSelection { - /// size_t (offset 0) + /// offset of the first selected byte (offset 0) public nuint Start; - /// size_t (offset 8) + /// bytes selected; 0 means nothing is selected (offset 8) public nuint Length; - /// size_t (offset 16) + /// the byte the keys move from; one end of the selection (offset 16) public nuint Cursor; } -/// cui_hex_view_opts, 64 bytes. +/// cui_hex_view_opts (64 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeHexViewOpts { /// int (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default fill (offset 4) public NativeSize Width; - /// float (offset 12) + /// default: the rows, up to 320; negative fills the space (offset 12) public float Height; - /// uint64_t (offset 16) + /// address shown for byte 0 in the offset column (offset 16) public ulong Base; - /// int (offset 24) + /// 8, 16 (default) or 32 (offset 24) public int BytesPerRow; - /// const cui_hex_range * (offset 32) + /// byte ranges to highlight, each with a tone and a tooltip label (offset 32) public nint Ranges; - /// int (offset 40) + /// entries in `ranges`, drawn in order with later ones on top (offset 40) public int RangeCount; - /// uint8_t * (offset 48) + /// writable bytes to show and overwrite instead of data (usually the same memory), or NULL for read only (offset 48) public nint Edit; - /// _Bool (offset 56) + /// hide the ASCII column (offset 56) public byte NoAscii; - /// _Bool (offset 57) + /// hide the column header (00 01 .. 0F) (offset 57) public byte NoHeader; - /// float (offset 60) + /// font size, default 12 (offset 60) public float Size; } -/// cui_hex_result, 64 bytes. +/// cui_hex_result (64 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeHexResult { - /// cui_hex_selection (offset 0) + /// after this frame (the same as *sel when you pass one) (offset 0) public NativeHexSelection Selection; - /// _Bool (offset 24) + /// by the pointer, the keys or cui_hex_view_goto (offset 24) public byte SelectionChanged; - /// _Bool (offset 25) + /// bytes in .edit were overwritten this frame (offset 25) public byte Edited; - /// size_t (offset 32) + /// with `edited`: offset of the first byte overwritten this frame (offset 32) public nuint EditOffset; - /// size_t (offset 40) + /// with `edited`: bytes from `edit_offset` up to the last one overwritten (offset 40) public nuint EditLength; - /// int64_t (offset 48) + /// byte under the pointer, or -1 (offset 48) public long Hovered; - /// _Bool (offset 56) + /// Ctrl+C or Ctrl+Shift+C put the selection on the clipboard (offset 56) public byte Copied; } -/// cui_flame_span, 32 bytes. +/// Flame graph / profiler timeline: time runs left to right, call depth top to bottom (row d holds the spans at depth d). You own the spans, the view and the selection; the component pans and zooms *view and writes *selected. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeFlameSpan { - /// const char * (offset 0) + /// drawn in the span when it fits, and in its tooltip (offset 0) public nint Name; - /// double (offset 8) + /// seconds, end >= start (offset 8) public double Start; - /// double (offset 16) + /// seconds, end >= start (offset 16) public double End; - /// int (offset 24) + /// row, 0 = top (offset 24) public int Depth; - /// uint32_t (offset 28) + /// 0: hashed from name (offset 28) public uint ColorKey; } -/// cui_flame_view, 24 bytes. +/// cui_flame_view (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeFlameView { - /// double (offset 0) + /// visible time range; end <= start fits every span (offset 0) public double Start; - /// double (offset 8) + /// visible time range; end <= start fits every span (offset 8) public double End; - /// float (offset 16) + /// rows scrolled off the top, in points (offset 16) public float Scroll; } -/// cui_flame_opts, 32 bytes. +/// cui_flame_opts (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeFlameOpts { /// int (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default fill (offset 4) public NativeSize Width; - /// float (offset 12) + /// default: fits the rows (up to 360) (offset 12) public float Height; - /// float (offset 16) + /// default 20 (offset 16) public float RowHeight; - /// double (offset 24) + /// deepest zoom in seconds, default 1e-8 (offset 24) public double MinRange; } -/// cui_flame_result, 12 bytes. +/// cui_flame_result (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeFlameResult { - /// _Bool (offset 0) + /// selected changed (click or keys) (offset 0) public byte SelectionChanged; - /// _Bool (offset 1) + /// view changed (zoom, pan, fit, animation) (offset 1) public byte ViewChanged; - /// int (offset 4) + /// span under the pointer, or -1 (offset 4) public int Hovered; - /// int (offset 8) + /// span zoomed to this frame (double-click, Enter), or -1 (offset 8) public int Zoomed; } -/// cui_curve_key, 28 bytes. +/// cui_curve_key (28 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCurveKey { - /// float (offset 0) + /// position along the horizontal axis, in curve units (seconds in a timeline track) (offset 0) public float X; - /// float (offset 4) + /// the curve's value at the key (offset 4) public float Y; - /// float (offset 8) + /// handle toward the previous key, relative to the key (FREE) (offset 8) public float InDx; - /// float (offset 12) + /// handle toward the previous key, relative to the key (FREE) (offset 12) public float InDy; - /// float (offset 16) + /// handle toward the next key, relative to the key (FREE) (offset 16) public float OutDx; - /// float (offset 20) + /// handle toward the next key, relative to the key (FREE) (offset 20) public float OutDy; - /// uint8_t (offset 24) + /// cui_curve_mode (offset 24) public byte Mode; } -/// cui_curve_opts, 80 bytes. +/// cui_curve_opts (80 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCurveOpts { /// int (offset 0) public int Sentinel; - /// float (offset 4) + /// plotted range; both 0 = 0..1. Keys stay inside it (offset 4) public float XMin; - /// float (offset 8) + /// plotted range; both 0 = 0..1. Keys stay inside it (offset 8) public float XMax; - /// float (offset 12) + /// both 0 = 0..1; leave room above and below for overshoot (offset 12) public float YMin; - /// float (offset 16) + /// both 0 = 0..1; leave room above and below for overshoot (offset 16) public float YMax; - /// cui_size (offset 20) + /// default fill (offset 20) public NativeSize Width; - /// float (offset 28) + /// plot height, default 220 (offset 28) public float Height; - /// const char * (offset 32) + /// printf formats for labels and readouts, default from the grid step (offset 32) public nint XFormat; - /// const char * (offset 40) + /// printf formats for labels and readouts, default from the grid step (offset 40) public nint YFormat; - /// const char * (offset 48) + /// readout names, default "X" and "Y" (e.g. "Time", "Value") (offset 48) public nint XLabel; - /// const char * (offset 56) + /// readout names, default "X" and "Y" (e.g. "Time", "Value") (offset 56) public nint YLabel; - /// int * (offset 64) + /// the selected key or -1, kept by you; NULL keeps it in the editor (offset 64) public nint Selected; - /// _Bool (offset 72) + /// drags always snap to the grid (otherwise hold Shift) (offset 72) public byte Snap; - /// _Bool (offset 73) + /// a marker at x = playhead (offset 73) public byte ShowPlayhead; - /// float (offset 76) + /// x of the playhead marker, drawn when `show_playhead` is set (offset 76) public float Playhead; } -/// cui_curve_result, 28 bytes. +/// cui_curve_result (28 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCurveResult { - /// _Bool (offset 0) + /// a key moved, a handle or mode changed, or a key was added or removed (offset 0) public byte Changed; - /// int (offset 4) + /// index of the key added this frame, or -1 (offset 4) public int Added; - /// int (offset 8) + /// index the removed key had, or -1 (offset 8) public int Removed; - /// int (offset 12) + /// the selected key, or -1 (offset 12) public int Selected; - /// _Bool (offset 16) + /// the pointer is over the plot: (offset 16) public byte Hovered; - /// float (offset 20) + /// the x under it and the curve's value there (offset 20) public float HoverX; - /// float (offset 24) + /// the x under it and the curve's value there (offset 24) public float HoverY; } -/// cui_gradient_stop, 8 bytes. +/// Gradient editor: a color ramp over a checkerboard (so alpha shows) with the stops underneath. You own the stops; the editor edits them in place and keeps them sorted by position. Drag a stop to move it (it may pass its neighbours), drag it off the ramp or press Delete to remove it (never fewer than two), click the ramp or the empty track to add a stop with the color found there. Double click a stop (or Enter on a focused one) to open the color picker; the row under the ramp shows the selected stop's color, location and opacity. Stops are focusable: Tab moves through them, Left and Right nudge (Shift for fine steps). (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeGradientStop { - /// float (offset 0) + /// position along the ramp, 0..1 (offset 0) public float Pos; /// cui_color (offset 4) public NativeColor Color; } -/// cui_gradient_opts, 24 bytes. +/// cui_gradient_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeGradientOpts { /// int (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default fill (offset 4) public NativeSize Width; - /// float (offset 12) + /// ramp height, default 28 (offset 12) public float Height; - /// int * (offset 16) + /// the selected stop, kept by you; NULL keeps it in the editor (offset 16) public nint Selected; } -/// cui_gradient_result, 16 bytes. +/// cui_gradient_result (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeGradientResult { - /// _Bool (offset 0) + /// a stop moved, changed color, or was added or removed (offset 0) public byte Changed; - /// int (offset 4) + /// index of the stop added this frame, or -1 (offset 4) public int Added; - /// int (offset 8) + /// index the removed stop had, or -1 (offset 8) public int Removed; - /// int (offset 12) + /// the selected stop (offset 12) public int Selected; } -/// cui_timeline_clip, 32 bytes. +/// cui_timeline_clip (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTimelineClip { - /// float (offset 0) + /// seconds, end > start (offset 0) public float Start; - /// float (offset 4) + /// seconds, end > start (offset 4) public float End; - /// float (offset 8) + /// where the clip starts in its media; trimming the start moves it along (offset 8) public float Offset; - /// const char * (offset 16) + /// drawn in the clip's bar when it fits, and in its tooltip (offset 16) public nint Name; - /// _Bool (offset 24) + /// the clip is selected: set and cleared by clicks, kept by you (offset 24) public byte Selected; } -/// cui_timeline_track, 64 bytes. +/// cui_timeline_track (64 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTimelineTrack { - /// const char * (offset 0) + /// shown in the track list and in tooltips (offset 0) public nint Name; - /// const char * (offset 8) + /// optional, before the name (offset 8) public nint Icon; - /// int (offset 16) + /// 0 top level; the deeper tracks after a track belong to it (a group) (offset 16) public int Depth; - /// _Bool (offset 20) + /// a group hides its tracks (its chevron toggles this) (offset 20) public byte Collapsed; - /// _Bool (offset 21) + /// toggled by the row's buttons (.toggles); a locked track can't be edited (offset 21) public byte Muted; - /// _Bool (offset 22) + /// toggled by the row's buttons (.toggles); a locked track can't be edited (offset 22) public byte Locked; - /// uint8_t (offset 23) + /// series color 1..6; 0 takes the group's, or the next one at the top level (offset 23) public byte Color; - /// cui_curve_key * (offset 24) + /// sorted by x: x is the time in seconds, y the value (may be NULL) (offset 24) public nint Keys; - /// int (offset 32) + /// keys in `keys`; the editor changes it when keys are added or removed (offset 32) public int KeyCount; - /// int (offset 36) + /// room in `keys`; a double click adds no key once it is full (or 0) (offset 36) public int KeyCapacity; - /// _Bool * (offset 40) + /// parallel to keys, kept by you; NULL: the keys are shown but not selectable (offset 40) public nint KeySelected; - /// cui_timeline_clip * (offset 48) + /// sorted by start, not overlapping (may be NULL) (offset 48) public nint Clips; - /// int (offset 56) + /// clips in `clips`; lowered when selected clips are removed (offset 56) public int ClipCount; } -/// cui_timeline_view, 12 bytes. +/// cui_timeline_view (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTimelineView { - /// float (offset 0) + /// visible time range; end <= start fits the sequence (offset 0) public float Start; - /// float (offset 4) + /// visible time range; end <= start fits the sequence (offset 4) public float End; - /// float (offset 8) + /// rows scrolled off the top, in points (offset 8) public float Scroll; } -/// cui_timeline_editor_opts, 88 bytes. +/// cui_timeline_editor_opts (88 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTimelineEditorOpts { /// int (offset 0) public int Sentinel; - /// float (offset 4) + /// the sequence in seconds; both 0 = 0..10 (offset 4) public float Start; - /// float (offset 8) + /// the sequence in seconds; both 0 = 0..10 (offset 8) public float End; - /// float (offset 12) + /// frames per second, default 30: snapping, stepping and frame labels (offset 12) public float Fps; - /// int (offset 16) + /// cui_timeline_ruler (offset 16) public int Ruler; - /// cui_timeline_view * (offset 24) + /// NULL keeps it in the editor (offset 24) public nint View; - /// float * (offset 32) + /// a play range: with both set, markers to drag in the ruler and shading outside (offset 32) public nint In; - /// float * (offset 40) + /// a play range: with both set, markers to drag in the ruler and shading outside (offset 40) public nint Out; - /// int * (offset 48) + /// the key last clicked or added, or -1; kept by you (NULL: in the editor) (offset 48) public nint CurrentTrack; - /// int * (offset 56) + /// the key last clicked or added, or -1; kept by you (NULL: in the editor) (offset 56) public nint CurrentKey; - /// cui_size (offset 64) + /// default fill (offset 64) public NativeSize Width; - /// float (offset 72) + /// default: fits every track (up to 360) (offset 72) public float Height; - /// float (offset 76) + /// default 26 (offset 76) public float RowHeight; - /// float (offset 80) + /// track list, default 184; narrower (then icons only) on a narrow editor (offset 80) public float TrackWidth; - /// _Bool (offset 84) + /// hide and lock buttons on every track (offset 84) public byte Toggles; - /// _Bool (offset 85) + /// drags and scrubbing do not snap to frames (offset 85) public byte FreeDrag; } -/// cui_timeline_editor_result, 52 bytes. +/// cui_timeline_editor_result (52 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTimelineEditorResult { - /// _Bool (offset 0) + /// keys or clips moved, were added or removed, or a track flag changed (offset 0) public byte Changed; - /// _Bool (offset 1) + /// time moved (scrub, ruler click, keys) (offset 1) public byte TimeChanged; - /// _Bool (offset 2) + /// the playhead is being dragged (offset 2) public byte Scrubbing; - /// _Bool (offset 3) + /// Space: start or stop playback (offset 3) public byte PlayToggled; - /// _Bool (offset 4) + /// a key or clip was selected or unselected this frame (offset 4) public byte SelectionChanged; - /// _Bool (offset 5) + /// the visible time range or the row scroll changed (zoom, pan, fit) (offset 5) public byte ViewChanged; - /// _Bool (offset 6) + /// selected keys moved this frame (drag or Alt+arrows) (offset 6) public byte KeysMoved; - /// int (offset 8) + /// the key added this frame (double click), or -1 (offset 8) public int AddedTrack; - /// int (offset 12) + /// the key added this frame (double click), or -1 (offset 12) public int AddedKey; - /// int (offset 16) + /// how many were removed this frame (Delete) (offset 16) public int RemovedKeys; - /// int (offset 20) + /// how many were removed this frame (Delete) (offset 20) public int RemovedClips; - /// int (offset 24) + /// the clip moved or trimmed this frame, or -1 (offset 24) public int ClipTrack; - /// int (offset 28) + /// the clip moved or trimmed this frame, or -1 (offset 28) public int Clip; - /// int (offset 32) + /// the track whose collapsed, muted or locked flag changed, or -1 (offset 32) public int Toggled; - /// int (offset 36) + /// track of the key last clicked or added, or -1 (offset 36) public int CurrentTrack; - /// int (offset 40) + /// index of that key in its track, or -1 (offset 40) public int CurrentKey; - /// int (offset 44) + /// the key under the pointer, or -1 (offset 44) public int HoveredTrack; - /// int (offset 48) + /// the key under the pointer, or -1 (offset 48) public int HoveredKey; } -/// cui_kv_pair, 322 bytes. +/// Rows of key = value pairs: HTTP headers, query parameters, environment variables. You own the array and it is edited in place. The checkbox turns a pair on or off, typing in the empty row at the end adds a pair, the x removes one. Secret values show as dots with an eye to reveal them. A key used twice, or one with a space, is marked. On a phone each key sits above its value. Returns true when anything changed. (322 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeKvPair { - /// char[64] (offset 0) + /// the name, e.g. "Accept"; edited in place (offset 0) public fixed sbyte Key[64]; - /// char[256] (offset 64) + /// the value, e.g. "application/json"; edited in place (offset 64) public fixed sbyte Value[256]; - /// _Bool (offset 320) + /// the pair is in use; its checkbox toggles this (offset 320) public byte Enabled; - /// _Bool (offset 321) + /// the value shows as dots, with an eye to reveal it; the lock button toggles this (offset 321) public byte Secret; } -/// cui_kv_editor_opts, 40 bytes. +/// cui_kv_editor_opts (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeKvEditorOpts { /// int (offset 0) public int Sentinel; - /// const char * (offset 8) + /// default "Key" (offset 8) public nint KeyPlaceholder; - /// const char * (offset 16) + /// default "Value" (offset 16) public nint ValuePlaceholder; - /// _Bool (offset 24) + /// no checkboxes: every pair is on (offset 24) public byte NoToggles; - /// _Bool (offset 25) + /// no eye button (offset 25) public byte NoSecrets; /// _Bool (offset 26) public byte ReadOnly; - /// cui_size (offset 28) + /// default fill (offset 28) public NativeSize Width; } -/// cui_diagnostic, 48 bytes. +/// cui_diagnostic (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDiagnostic { /// cui_severity (offset 0) public Severity Severity; - /// const char * (offset 8) + /// the text of the row; the whole message shows on hover (offset 8) public nint Message; - /// const char * (offset 16) + /// groups the rows; NULL or "" groups as "No file" (offset 16) public nint File; - /// int (offset 24) + /// 1 based; 0 leaves it out (offset 24) public int Line; - /// int (offset 28) + /// 1 based; 0 leaves it out (offset 28) public int Column; - /// const char * (offset 32) + /// "gcc", "clang-tidy"... (may be NULL) (offset 32) public nint Source; - /// const char * (offset 40) + /// "-Wunused-variable"... (may be NULL) (offset 40) public nint Code; } -/// cui_problems_opts, 20 bytes. +/// cui_problems_opts (20 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeProblemsOpts { @@ -4196,93 +4218,93 @@ public unsafe struct NativeProblemsOpts public NativeSize Width; /// float (offset 12) public float Height; - /// _Bool (offset 16) + /// hides the severity toggles and the filter field above the list (offset 16) public byte NoToolbar; } -/// cui_problems_result, 12 bytes. +/// cui_problems_result (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeProblemsResult { - /// int (offset 0) + /// diagnostic selected, or -1 (offset 0) public int Selected; - /// int (offset 4) + /// diagnostic opened this frame (Enter, double-click), or -1 (offset 4) public int Activated; - /// int (offset 8) + /// diagnostics that pass the filters (offset 8) public int Shown; } -/// cui_pipeline_job, 24 bytes. +/// cui_pipeline_job (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativePipelineJob { - /// const char * (offset 0) + /// shown on the job's row and in its tooltip (offset 0) public nint Name; - /// int (offset 8) + /// index into the stage names (offset 8) public int Stage; /// cui_job_status (offset 12) public JobStatus Status; - /// float (offset 16) + /// seconds; negative when it has not run (offset 16) public float Duration; - /// _Bool (offset 20) + /// a failure does not fail the stage (offset 20) public byte AllowFailure; } -/// cui_pipeline_opts, 24 bytes. +/// cui_pipeline_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativePipelineOpts { - /// int (offset 0) + /// job shown selected, set on a click (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// job shown selected, set on a click (offset 4) public NativeSize Width; - /// int * (offset 16) + /// job shown selected, set on a click (offset 16) public nint Selected; } -/// cui_pipeline_result, 8 bytes. +/// cui_pipeline_result (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativePipelineResult { - /// int (offset 0) + /// job clicked this frame (or chosen with Enter or Space), or -1 (offset 0) public int Clicked; - /// int (offset 4) + /// job under the pointer, or -1 (offset 4) public int Hovered; } -/// cui_query_field, 32 bytes. +/// cui_query_field (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeQueryField { - /// const char * (offset 0) + /// shown in the field select and in the text `cui_query_text` writes (offset 0) public nint Name; /// cui_query_type (offset 8) public QueryType Type; - /// const char *const * (offset 16) + /// CUI_QUERY_CHOICE: the values to pick from (offset 16) public nint Choices; - /// int (offset 24) + /// number of `choices` (offset 24) public int ChoiceCount; } -/// cui_query_node, 80 bytes. +/// cui_query_node (80 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeQueryNode { - /// int (offset 0) + /// 0 for the outer group (offset 0) public int Depth; - /// _Bool (offset 4) + /// a group of the nodes after it that are one level deeper; otherwise a rule (offset 4) public byte Group; - /// _Bool (offset 5) + /// group: any rule (or) instead of all (and) (offset 5) public byte Any; - /// int (offset 8) + /// rule: index into the fields (offset 8) public int Field; - /// int (offset 12) + /// rule: see cui_query_op_name (offset 12) public int Op; - /// char[64] (offset 16) + /// rule: the text, number or choice compared with (offset 16) public fixed sbyte Value[64]; } -/// cui_query_opts, 20 bytes. +/// cui_query_opts (20 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeQueryOpts { @@ -4290,13 +4312,13 @@ public unsafe struct NativeQueryOpts public int Sentinel; /// cui_size (offset 4) public NativeSize Width; - /// int (offset 12) + /// how deep groups may nest, default 3 (offset 12) public int MaxDepth; /// _Bool (offset 16) public byte ReadOnly; } -/// cui_schedule_opts, 32 bytes. +/// A cron schedule edited the friendly way: every N minutes, hourly at a minute, daily at a time, weekly on chosen days, monthly on a day, or a custom expression. It reads and writes `cron` (five fields: minute hour day month weekday) and shows what it means and when it runs next. Weekday and month names come from cui_set_strings. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeScheduleOpts { @@ -4304,39 +4326,39 @@ public unsafe struct NativeScheduleOpts public int Sentinel; /// cui_size (offset 4) public NativeSize Width; - /// int64_t (offset 16) + /// the next runs are counted from here, Unix seconds; 0: the clock (offset 16) public long Now; - /// _Bool (offset 24) + /// times in UTC instead of local time (offset 24) public byte Utc; - /// int (offset 28) + /// runs listed, default 3, 0 hides them (offset 28) public int NextCount; } -/// cui_schedule_result, 16 bytes. +/// cui_schedule_result (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeScheduleResult { - /// _Bool (offset 0) + /// `cron` was edited this frame (offset 0) public byte Changed; - /// _Bool (offset 1) + /// `cron` is a valid expression (offset 1) public byte Valid; - /// int64_t (offset 8) + /// the next run, Unix seconds, 0 none (offset 8) public long Next; } -/// cui_keymap_binding, 24 bytes. +/// A keyboard with your shortcuts on it: each bound key shows its action and the color of its category, for the modifiers chosen above it. Keys bound twice are marked as conflicts. Hover a key for every binding on it; click it to get the key (to rebind it). The keyboard keeps its own layout in a right-to-left interface and scales to the width it gets. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeKeymapBinding { - /// cui_key_combo (offset 0) + /// the modifiers and key the action is bound to (offset 0) public NativeKeyCombo Combo; - /// const char * (offset 8) + /// name of the action, shown on the key and in its tooltip (offset 8) public nint Action; - /// int (offset 16) + /// index into the categories, colors the key (offset 16) public int Category; } -/// cui_keymap_opts, 48 bytes. +/// cui_keymap_opts (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeKeymapOpts { @@ -4344,45 +4366,45 @@ public unsafe struct NativeKeymapOpts public int Sentinel; /// cui_size (offset 4) public NativeSize Width; - /// const char *const * (offset 16) + /// names for the legend (offset 16) public nint Categories; - /// int (offset 24) + /// number of `categories` (offset 24) public int CategoryCount; - /// int * (offset 32) + /// the modifiers shown; NULL: kept for you (offset 32) public nint Mods; - /// _Bool (offset 40) + /// leaves out the row of function keys (offset 40) public byte NoFunctionRow; } -/// cui_keymap_result, 8 bytes. +/// cui_keymap_result (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeKeymapResult { - /// cui_key (offset 0) + /// key clicked this frame, or `CUI_KEY_NONE` (offset 0) public Key Clicked; - /// int (offset 4) + /// bindings that repeat a combination another binding already uses (offset 4) public int Conflicts; } -/// cui_commit, 48 bytes. +/// Version history: the branch lanes drawn beside each commit, newest first, with its message, branch and tag names, author, date and short hash. Each commit names its parents by row (parents come later in the array), so merges and branches draw as lines between lanes. Only the rows in view are built. Up and Down move the selection; Enter or a double-click activates. (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCommit { - /// const char * (offset 0) + /// the commit id; its first 7 characters are shown (offset 0) public nint Hash; - /// const char * (offset 8) + /// the first line is shown (offset 8) public nint Message; - /// const char * (offset 16) + /// shown in its own column, which a narrow panel leaves out (offset 16) public nint Author; - /// const char * (offset 24) + /// already formatted: "2 hours ago", "Mar 3" (offset 24) public nint Date; - /// const char * (offset 32) + /// "main, origin/main, tag: v1.2", may be NULL (offset 32) public nint Refs; - /// int[2] (offset 40) + /// row of each parent, -1 for none (offset 40) public fixed int Parent[2]; } -/// cui_commit_graph_opts, 24 bytes. +/// cui_commit_graph_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCommitGraphOpts { @@ -4392,45 +4414,45 @@ public unsafe struct NativeCommitGraphOpts public NativeSize Width; /// float (offset 12) public float Height; - /// int * (offset 16) + /// the selected row or -1, kept by you; `NULL` keeps it in the component (offset 16) public nint Selected; } -/// cui_commit_graph_result, 12 bytes. +/// cui_commit_graph_result (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCommitGraphResult { - /// int (offset 0) + /// row clicked this frame, or -1 (offset 0) public int Clicked; - /// int (offset 4) + /// row double-clicked or chosen with Enter this frame, or -1 (offset 4) public int Activated; - /// int (offset 8) + /// row under the pointer, or -1 (offset 8) public int Hovered; } -/// cui_graph_node, 24 bytes. +/// Nodes and directed edges laid out in layers (each edge points to a later layer, cycles are broken), for build targets, packages, services or call graphs. The layout is computed when the graph changes. Wheel zooms, drag pans, click selects; hovering a node lights up what it depends on and what depends on it. F fits the graph. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeGraphNode { /// const char * (offset 0) public nint Label; - /// const char * (offset 8) + /// smaller second line under the label, e.g. the node's kind; `NULL` for none (offset 8) public nint Detail; /// cui_tone (offset 16) public Tone Tone; } -/// cui_graph_edge, 8 bytes. +/// cui_graph_edge (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeGraphEdge { - /// int (offset 0) + /// index of the node the arrow starts at (offset 0) public int From; - /// int (offset 4) + /// index of the node the arrow points to (offset 4) public int To; } -/// cui_graph_opts, 32 bytes. +/// cui_graph_opts (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeGraphOpts { @@ -4440,45 +4462,45 @@ public unsafe struct NativeGraphOpts public NativeSize Width; /// float (offset 12) public float Height; - /// _Bool (offset 16) + /// layers stack from top to bottom instead of running side by side (offset 16) public byte TopDown; - /// int * (offset 24) + /// the selected node or -1, kept by you; `NULL` keeps it in the component (offset 24) public nint Selected; } -/// cui_graph_result, 12 bytes. +/// cui_graph_result (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeGraphResult { - /// int (offset 0) + /// node clicked this frame, or -1 (offset 0) public int Clicked; - /// int (offset 4) + /// node double-clicked or chosen with Enter this frame, or -1 (offset 4) public int Activated; - /// int (offset 8) + /// node under the pointer, or -1 (offset 8) public int Hovered; } -/// cui_net_request, 72 bytes. +/// HTTP requests as a table with a timing bar each: queued, DNS, connect, TLS, waiting for the first byte and downloading, on one time scale with the page's DOMContentLoaded and load lines. Hover a bar for the breakdown. Narrow panels drop the type and size columns. Only the rows in view are built. Up and Down move the selection. (72 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeNetRequest { - /// const char * (offset 0) + /// path or URL; the last part is shown (offset 0) public nint Name; - /// const char * (offset 8) + /// "GET" (offset 8) public nint Method; - /// int (offset 16) + /// 0 while pending or when it failed (offset 16) public int Status; - /// const char * (offset 24) + /// "fetch", "script", "image"... (offset 24) public nint Type; - /// double (offset 32) + /// bytes transferred (offset 32) public double Size; - /// double (offset 40) + /// seconds from the start of the page (offset 40) public double Start; - /// float[6] (offset 48) + /// seconds: queued, dns, connect, tls, waiting, download (offset 48) public fixed float Timing[6]; } -/// cui_waterfall_opts, 40 bytes. +/// cui_waterfall_opts (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeWaterfallOpts { @@ -4488,55 +4510,55 @@ public unsafe struct NativeWaterfallOpts public NativeSize Width; /// float (offset 12) public float Height; - /// int * (offset 16) + /// the selected request or -1, kept by you; `NULL` keeps it in the component (offset 16) public nint Selected; - /// double (offset 24) + /// seconds; 0: no line (offset 24) public double DomLoaded; - /// double (offset 32) + /// seconds; 0: no line (offset 32) public double Loaded; } -/// cui_waterfall_result, 12 bytes. +/// cui_waterfall_result (12 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeWaterfallResult { - /// int (offset 0) + /// request clicked this frame, or -1 (offset 0) public int Clicked; - /// int (offset 4) + /// request double-clicked or chosen with Enter this frame, or -1 (offset 4) public int Activated; - /// int (offset 8) + /// request under the pointer, or -1 (offset 8) public int Hovered; } -/// cui_trace_track, 16 bytes. +/// A tracing timeline: one lane per thread, process or service, each with its nested spans, on one time ruler, with markers (frames, GC pauses, deploys) drawn across every lane. Wheel zooms around the pointer, Shift+wheel or a drag pans, click selects a span, Shift+drag measures a time range. A lane's name folds it. Keys: Left and Right step through the selected span's lane, + and - zoom, F fits, Esc clears. Spans must be sorted by track, depth and start (cui_trace_sort), with no overlap within a depth of a track. Like the flame graph, only what is in view is visited. (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTraceTrack { - /// const char * (offset 0) + /// the lane's name, in the column on the left (offset 0) public nint Name; - /// _Bool (offset 8) + /// the lane shows only its top row; a click on its name toggles this (offset 8) public byte Collapsed; } -/// cui_trace_span, 40 bytes. +/// cui_trace_span (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTraceSpan { - /// const char * (offset 0) + /// drawn in the span when it fits, and in its tooltip (offset 0) public nint Name; - /// double (offset 8) + /// when the span begins, in seconds (offset 8) public double Start; - /// double (offset 16) + /// when the span ends, in seconds; end >= start (offset 16) public double End; - /// int (offset 24) + /// index into the tracks: the lane the span is drawn in (offset 24) public int Track; - /// int (offset 28) + /// row within the lane, 0 = top; a child lies within its parent (offset 28) public int Depth; - /// uint32_t (offset 32) + /// picks the color; 0: hashed from the name (offset 32) public uint ColorKey; } -/// cui_trace_marker, 24 bytes. +/// cui_trace_marker (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTraceMarker { @@ -4548,23 +4570,23 @@ public unsafe struct NativeTraceMarker public Tone Tone; } -/// cui_trace_view, 40 bytes. +/// cui_trace_view (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTraceView { - /// double (offset 0) + /// visible time range; end <= start fits everything (offset 0) public double Start; - /// double (offset 8) + /// visible time range; end <= start fits everything (offset 8) public double End; - /// float (offset 16) + /// points scrolled down (offset 16) public float Scroll; - /// double (offset 24) + /// measured range; mark_end <= mark_start: none (offset 24) public double MarkStart; - /// double (offset 32) + /// measured range; mark_end <= mark_start: none (offset 32) public double MarkEnd; } -/// cui_trace_opts, 40 bytes. +/// cui_trace_opts (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTraceOpts { @@ -4572,25 +4594,25 @@ public unsafe struct NativeTraceOpts public int Sentinel; /// cui_size (offset 4) public NativeSize Width; - /// float (offset 12) + /// default 320 (offset 12) public float Height; - /// float (offset 16) + /// default 20 (offset 16) public float RowHeight; - /// const cui_trace_marker * (offset 24) + /// moments drawn as lines across every lane, named in a strip under the ruler (offset 24) public nint Markers; - /// int (offset 32) + /// number of `markers` (offset 32) public int MarkerCount; } -/// cui_trace_result, 8 bytes. +/// cui_trace_result (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTraceResult { - /// _Bool (offset 0) + /// `*selected` changed this frame (click or keys) (offset 0) public byte SelectionChanged; - /// _Bool (offset 1) + /// the visible time range or the scroll in `*view` changed (zoom, pan, fit) (offset 1) public byte ViewChanged; - /// int (offset 4) + /// span under the pointer, or -1 (offset 4) public int Hovered; } @@ -4608,25 +4630,25 @@ public struct NativeRegexMatchGroupNameArray1 private NativeRegexMatchGroupNameArray2 _element0; } -/// cui_regex_match, 332 bytes. +/// cui_regex_match (332 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeRegexMatch { - /// int (offset 0) + /// bytes (offset 0) public int Start; - /// int (offset 4) + /// bytes (offset 4) public int End; - /// int (offset 8) + /// capture groups in the pattern (offset 8) public int Groups; - /// int[10] (offset 12) + /// 1 based; -1 when a group took no part (offset 12) public fixed int GroupStart[10]; - /// int[10] (offset 52) + /// 1 based; -1 when a group took no part (offset 52) public fixed int GroupEnd[10]; - /// char[10][24] (offset 92) + /// the name of each `(?<name> )` group, indexed like `group_start`; "" when unnamed (offset 92) public NativeRegexMatchGroupNameArray1 GroupName; } -/// cui_regex_tester_opts, 24 bytes. +/// A pattern field with flags over a test text: every match is highlighted in the text and its groups in their own colors, and the list below shows each match with its groups. Errors show under the pattern. Both buffers are yours and edited in place. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeRegexTesterOpts { @@ -4634,97 +4656,97 @@ public unsafe struct NativeRegexTesterOpts public int Sentinel; /// cui_size (offset 4) public NativeSize Width; - /// float (offset 12) + /// of the test text, default 180 (offset 12) public float Height; - /// int * (offset 16) + /// CUI_REGEX_*; NULL: kept for you (offset 16) public nint Flags; } -/// cui_regex_tester_result, 16 bytes. +/// cui_regex_tester_result (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeRegexTesterResult { - /// _Bool (offset 0) + /// the pattern is valid and matching finished in time (offset 0) public byte Valid; - /// int (offset 4) + /// matches found in the test text (offset 4) public int Matches; - /// const char * (offset 8) + /// why, when `valid` is false; otherwise `NULL` (offset 8) public nint Error; } -/// cui_test_item, 32 bytes. +/// Test results as a tree: suites fold, each test shows its status and time, and a failure shows its message under it. A suite's status sums up its tests. The toolbar runs everything, counts results and filters by status and by name. Hover a row for its run button. Only the rows in view are built. Up and Down move, Left and Right fold, Enter activates. Items are in tree order with their depth; the statuses are the pipeline's. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTestItem { - /// const char * (offset 0) + /// name of the suite or test; the toolbar's field filters by it (offset 0) public nint Name; - /// int (offset 8) + /// 0 for the top suites (offset 8) public int Depth; - /// cui_job_status (offset 12) + /// a suite's own status is ignored when it has tests (offset 12) public JobStatus Status; - /// float (offset 16) + /// seconds, negative when it has not run (offset 16) public float Duration; - /// const char * (offset 24) + /// why it failed, may be NULL (offset 24) public nint Message; } -/// cui_test_explorer_opts, 16 bytes. +/// cui_test_explorer_opts (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTestExplorerOpts { - /// int (offset 0) + /// default 320 (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default 320 (offset 4) public NativeSize Width; - /// float (offset 12) + /// default 320 (offset 12) public float Height; } -/// cui_test_explorer_result, 32 bytes. +/// cui_test_explorer_result (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTestExplorerResult { - /// int (offset 0) + /// items, or -1 (offset 0) public int Selected; - /// int (offset 4) + /// items, or -1 (offset 4) public int Activated; - /// int (offset 8) + /// item whose run button was pressed this frame, or -1 (offset 8) public int Run; - /// _Bool (offset 12) + /// the Run all button was pressed this frame (offset 12) public byte RunAll; - /// int (offset 16) + /// tests, not suites (offset 16) public int Passed; - /// int (offset 20) + /// tests, not suites (offset 20) public int Failed; - /// int (offset 24) + /// tests, not suites (offset 24) public int Skipped; - /// int (offset 28) + /// tests, not suites (offset 28) public int Total; } -/// cui_stack_frame, 48 bytes. +/// An exception and its call stack: the error's type and message, then each frame's function and position. Runs of library frames fold into one row. A frame with source opens to show the lines around it, the failing line marked; the first frame of your own code starts open. A button copies the whole trace as text. (48 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeStackFrame { - /// const char * (offset 0) + /// name of the function; `NULL` or "" shows as <anonymous> (offset 0) public nint Function; - /// const char * (offset 8) + /// path shown with the line and column; on a phone only the file's name (offset 8) public nint File; - /// int (offset 16) + /// 1 based; 0 leaves it out (offset 16) public int Line; - /// int (offset 20) + /// 1 based; 0 leaves it out (offset 20) public int Column; - /// _Bool (offset 24) + /// library or runtime code (offset 24) public byte External; - /// const char *const * (offset 32) + /// lines around the frame, may be NULL (offset 32) public nint Source; - /// int (offset 40) + /// number of lines in `source` (offset 40) public int SourceCount; - /// int (offset 44) + /// line number of source[0] (offset 44) public int SourceFirst; } -/// cui_stack_trace_opts, 40 bytes. +/// cui_stack_trace_opts (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeStackTraceOpts { @@ -4732,23 +4754,23 @@ public unsafe struct NativeStackTraceOpts public int Sentinel; /// cui_size (offset 4) public NativeSize Width; - /// const char * (offset 16) + /// "TypeError" (offset 16) public nint Title; - /// const char * (offset 24) + /// "Cannot read properties of undefined" (offset 24) public nint Message; - /// const char * (offset 32) + /// highlights the source, as the code block (offset 32) public nint Lang; } -/// cui_stack_trace_result, 4 bytes. +/// cui_stack_trace_result (4 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeStackTraceResult { - /// int (offset 0) + /// frame, or -1 (offset 0) public int Clicked; } -/// cui_request_bar_opts, 24 bytes. +/// cui_request_bar_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeRequestBarOpts { @@ -4756,71 +4778,71 @@ public unsafe struct NativeRequestBarOpts public int Sentinel; /// cui_size (offset 4) public NativeSize Width; - /// _Bool (offset 12) + /// a request is in flight: the button reads Cancel and Enter does not send (offset 12) public byte Loading; /// const char * (offset 16) public nint Placeholder; } -/// cui_request_bar_result, 3 bytes. +/// cui_request_bar_result (3 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeRequestBarResult { - /// _Bool (offset 0) + /// Send was pressed, or Enter in the URL: start the request (offset 0) public byte Send; - /// _Bool (offset 1) + /// Cancel was pressed while `loading` (offset 1) public byte Cancel; - /// _Bool (offset 2) + /// the method or the URL was edited this frame (offset 2) public byte Changed; } -/// cui_uptime_service, 24 bytes. +/// A status page: each service with its current state, its uptime over the period, and one bar per day colored by availability (gray without data). Hover a bar for its day and uptime. On a narrow panel only the most recent days that fit are shown. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeUptimeService { - /// const char * (offset 0) + /// shown above the service's bars (offset 0) public nint Name; - /// const float * (offset 8) + /// oldest first: the fraction of the day it was up, 0..1; negative: no data (offset 8) public nint Days; - /// int (offset 16) + /// number of values in `days` (offset 16) public int DayCount; } -/// cui_uptime_opts, 24 bytes. +/// cui_uptime_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeUptimeOpts { - /// int (offset 0) + /// the date of the last value, for the tooltips (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// the date of the last value, for the tooltips (offset 4) public NativeSize Width; - /// cui_date (offset 12) + /// the date of the last value, for the tooltips (offset 12) public NativeDate LastDay; } -/// cui_uptime_result, 8 bytes. +/// cui_uptime_result (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeUptimeResult { - /// int (offset 0) + /// under the pointer, or -1 (offset 0) public int Service; - /// int (offset 4) + /// under the pointer, or -1 (offset 4) public int Day; } -/// cui_histogram_series, 24 bytes. +/// Event counts over time, stacked by series (log levels, status classes), as above a log search. Drag across it to select a time range, click to clear. Hover a bar for its time and counts. Times are Unix seconds. (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeHistogramSeries { - /// const char * (offset 0) + /// shown in the legend and in the hover tooltip (offset 0) public nint Name; - /// const float * (offset 8) + /// one count per bucket; `NULL` counts as zeros (offset 8) public nint Counts; /// cui_tone (offset 16) public Tone Tone; } -/// cui_time_histogram_opts, 20 bytes. +/// cui_time_histogram_opts (20 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTimeHistogramOpts { @@ -4828,83 +4850,83 @@ public unsafe struct NativeTimeHistogramOpts public int Sentinel; /// cui_size (offset 4) public NativeSize Width; - /// float (offset 12) + /// default 140 (offset 12) public float Height; - /// _Bool (offset 16) + /// label times in UTC instead of local time (offset 16) public byte Utc; } -/// cui_time_histogram_result, 8 bytes. +/// cui_time_histogram_result (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeTimeHistogramResult { - /// _Bool (offset 0) + /// `*sel_start` or `*sel_end` changed this frame (a drag, or a click that cleared it) (offset 0) public byte SelectionChanged; - /// int (offset 4) + /// bucket, or -1 (offset 4) public int Hovered; } -/// cui_coverage_file, 32 bytes. +/// Test coverage by folder and file: the files' paths make the tree, each folder sums up what it holds, and folders fold. Line coverage shows as a bar colored by thresholds, with branches and functions beside it. Click a column's title to sort. Enter or a double-click activates a file. Narrow panels show lines only. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCoverageFile { - /// const char * (offset 0) + /// "src/core/layout.c" (offset 0) public nint Path; - /// int (offset 8) + /// lines that can be covered (offset 8) public int Lines; - /// int (offset 12) + /// lines the tests ran (offset 12) public int LinesHit; - /// int (offset 16) + /// 0 branches: not measured (offset 16) public int Branches; - /// int (offset 20) + /// 0 branches: not measured (offset 20) public int BranchesHit; - /// int (offset 24) + /// functions in the file (offset 24) public int Functions; - /// int (offset 28) + /// functions the tests called (offset 28) public int FunctionsHit; } -/// cui_coverage_opts, 24 bytes. +/// cui_coverage_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCoverageOpts { - /// int (offset 0) + /// percent; default 50 and 80 (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// percent; default 50 and 80 (offset 4) public NativeSize Width; - /// float (offset 12) + /// percent; default 50 and 80 (offset 12) public float Height; - /// float (offset 16) + /// percent; default 50 and 80 (offset 16) public float Low; - /// float (offset 20) + /// percent; default 50 and 80 (offset 20) public float High; } -/// cui_coverage_result, 8 bytes. +/// cui_coverage_result (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCoverageResult { - /// int (offset 0) + /// file opened this frame (Enter or a double-click), or -1 (offset 0) public int Activated; - /// float (offset 4) + /// percent of all lines covered (offset 4) public float Lines; } -/// cui_blame_commit, 32 bytes. +/// Source with who last changed each line: lines from one commit share one gutter entry with its author, age and hash, and a bar at the edge shades newer changes stronger. Hover a gutter entry for the commit's summary and to mark its lines; click it to get the commit. Only the lines in view are built. On a phone the gutter keeps only the shade and initials. (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeBlameCommit { - /// const char * (offset 0) + /// the commit id; its first 7 characters are shown (offset 0) public nint Hash; - /// const char * (offset 8) + /// shown in the gutter; on a phone as initials (offset 8) public nint Author; - /// const char * (offset 16) + /// the commit's message line, shown in the gutter's tooltip (offset 16) public nint Summary; - /// int64_t (offset 24) + /// Unix seconds (offset 24) public long Time; } -/// cui_blame_opts, 40 bytes. +/// cui_blame_opts (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeBlameOpts { @@ -4912,99 +4934,99 @@ public unsafe struct NativeBlameOpts public int Sentinel; /// cui_size (offset 4) public NativeSize Width; - /// float (offset 12) + /// default 360 (offset 12) public float Height; - /// const char * (offset 16) + /// highlights the code, as the code block (offset 16) public nint Lang; - /// int64_t (offset 24) + /// ages are counted to here; 0: the clock (offset 24) public long Now; - /// int (offset 32) + /// number of the first line, default 1 (offset 32) public int FirstLine; } -/// cui_blame_result, 8 bytes. +/// cui_blame_result (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeBlameResult { - /// int (offset 0) + /// commit whose gutter entry was clicked this frame, or -1 (offset 0) public int Clicked; - /// int (offset 4) + /// commits, or -1 (offset 4) public int Hovered; } -/// cui_feature_flag, 56 bytes. +/// cui_feature_flag (56 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeFeatureFlag { - /// const char * (offset 0) + /// the flag's name, in the code font; the filter field searches it (offset 0) public nint Key; /// const char * (offset 8) public nint Description; - /// _Bool[8] (offset 16) + /// the flag's switch in each environment, in the order of `envs` (offset 16) public fixed byte On[8]; - /// int[8] (offset 24) + /// percent of users while on; 0 and 100 mean everyone (offset 24) public fixed int Rollout[8]; } -/// cui_feature_flags_opts, 16 bytes. +/// cui_feature_flags_opts (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeFeatureFlagsOpts { - /// int (offset 0) + /// default fits the flags (offset 0) public int Sentinel; - /// cui_size (offset 4) + /// default fits the flags (offset 4) public NativeSize Width; - /// float (offset 12) + /// default fits the flags (offset 12) public float Height; } -/// cui_feature_flags_result, 8 bytes. +/// cui_feature_flags_result (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeFeatureFlagsResult { - /// int (offset 0) + /// changed this frame, or -1 (offset 0) public int Flag; - /// int (offset 4) + /// changed this frame, or -1 (offset 4) public int Env; } -/// cui_api_param, 40 bytes. +/// Endpoints grouped by tag, each with its method, its path (parameters marked) and its summary; deprecated ones are struck through. A click opens an endpoint's parameters and a Try it button. A field filters by path or summary. Up and Down move, Enter opens. (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeApiParam { - /// const char * (offset 0) + /// the parameter's name, in the code font (offset 0) public nint Name; - /// const char * (offset 8) + /// where it goes: "path", "query", "header" or "body" (offset 8) public nint In; - /// const char * (offset 16) + /// e.g. "string"; shown before where it goes (offset 16) public nint Type; - /// _Bool (offset 24) + /// a red asterisk after the name (offset 24) public byte Required; - /// const char * (offset 32) + /// what the parameter is for, shown after its type and place; may be `NULL` (offset 32) public nint Description; } -/// cui_api_endpoint, 56 bytes. +/// cui_api_endpoint (56 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeApiEndpoint { - /// const char * (offset 0) + /// "GET" (offset 0) public nint Method; - /// const char * (offset 8) + /// "/users/{id}" (offset 8) public nint Path; - /// const char * (offset 16) + /// one line after the path; the filter field searches it (offset 16) public nint Summary; - /// const char * (offset 24) + /// groups the list; NULL groups as "Other" (offset 24) public nint Tag; - /// _Bool (offset 32) + /// struck through and muted, with a "Deprecated" badge (offset 32) public byte Deprecated; - /// const cui_api_param * (offset 40) + /// the parameters listed when the endpoint is opened; may be `NULL` (offset 40) public nint Params; - /// int (offset 48) + /// number of `params` (offset 48) public int ParamCount; } -/// cui_api_explorer_opts, 24 bytes. +/// cui_api_explorer_opts (24 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeApiExplorerOpts { @@ -5014,21 +5036,175 @@ public unsafe struct NativeApiExplorerOpts public NativeSize Width; /// float (offset 12) public float Height; - /// int * (offset 16) + /// the selected endpoint or -1, kept by you; `NULL` keeps it in the component (offset 16) public nint Selected; } -/// cui_api_explorer_result, 8 bytes. +/// cui_api_explorer_result (8 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeApiExplorerResult { - /// int (offset 0) + /// the selected endpoint, or -1 (offset 0) public int Selected; - /// int (offset 4) + /// endpoint, or -1 (offset 4) public int TryIt; } -/// cui_corners, 16 bytes. +/// Dot-matrix chart: values drawn as a grid of dots, lit up to each column's value and dim above it. Several series stack, each in its own band, and an `accent` series is drawn in the accent color: the item being edited, or the part that matters. The pointer, or the arrow keys once it is focused, show a readout of the value under it, and a click returns where it landed, so an app can add something there. (24 bytes) +[StructLayout(LayoutKind.Sequential)] +public unsafe struct NativeDotSeries +{ + /// `count` values, one per sample; negative values count as 0 (offset 0) + public nint Values; + /// names the series in the readout when there are several (offset 8) + public nint Name; + /// drawn in the accent color (offset 16) + public byte Accent; +} + +/// cui_dot_chart_opts (104 bytes) +[StructLayout(LayoutKind.Sequential)] +public unsafe struct NativeDotChartOpts +{ + /// int (offset 0) + public int Sentinel; + /// cui_size (offset 4) + public NativeSize Width; + /// the plot and its labels, default 200 (offset 12) + public float Height; + /// what the first and last sample stand for; equal: 0 to count - 1 (offset 16) + public double XMin; + /// what the first and last sample stand for; equal: 0 to count - 1 (offset 24) + public double XMax; + /// cui_axis_units (offset 32) + public AxisUnits XUnits; + /// x labels with CUI_AXIS_NUMBER, default "%g" (offset 40) + public nint XFormat; + /// spacing of the x labels in x units; 0 picks one that fits (offset 48) + public double XStep; + /// value range when min != max; otherwise 0 to the largest stacked value (offset 56) + public float Min; + /// value range when min != max; otherwise 0 to the largest stacked value (offset 60) + public float Max; + /// values in the readout, default "%.0f" (offset 64) + public nint Format; + /// after values in the readout, e.g. "MG" (offset 72) + public nint Unit; + /// distance between dot centers in points, default 6 (offset 80) + public float Pitch; + /// hides the dim dots of the empty grid (offset 84) + public byte NoGrid; + /// hides the x labels, e.g. when an event track under the chart has them (offset 85) + public byte NoAxis; + /// no value label under the pointer (offset 86) + public byte NoReadout; + /// lines and points drawn over the dots (offset 88) + public nint Annotations; + /// number of `annotations` (offset 96) + public int AnnotationCount; +} + +/// cui_dot_chart_result (24 bytes) +[StructLayout(LayoutKind.Sequential)] +public unsafe struct NativeDotChartResult +{ + /// the sample under the pointer or the keyboard cursor, or -1 (offset 0) + public int Hovered; + /// that sample's x, in x units (offset 8) + public double X; + /// the stacked value there (offset 16) + public float Value; + /// the plot was clicked, or Enter was pressed on it, this frame: `x` is where (offset 20) + public byte Clicked; +} + +/// Event track: moments on a time axis, as dots you drag along it. A click on an empty spot adds an event there and a double-click on one removes it. You own the array: the track keeps it sorted, edits it in place and never grows it past `capacity`. (64 bytes) +[StructLayout(LayoutKind.Sequential)] +public unsafe struct NativeEventTrackOpts +{ + /// int (offset 0) + public int Sentinel; + /// cui_size (offset 4) + public NativeSize Width; + /// events snap to multiples of this from `min`; 0 does not snap (offset 16) + public double Step; + /// cui_axis_units (offset 24) + public AxisUnits Units; + /// labels with CUI_AXIS_NUMBER, default "%g" (offset 32) + public nint Format; + /// spacing of the axis labels; 0 picks one that fits (offset 40) + public double LabelStep; + /// the selected event or -1, kept by you; `NULL` keeps it in the track (offset 48) + public nint Selected; + /// clicks and Enter do not add events (offset 56) + public byte NoAdd; + /// double-clicks and Delete do not remove events (offset 57) + public byte NoRemove; + /// hides the axis labels under the dots (offset 58) + public byte NoAxis; +} + +/// cui_event_track_result (20 bytes) +[StructLayout(LayoutKind.Sequential)] +public unsafe struct NativeEventTrackResult +{ + /// an event was moved, added or removed this frame (offset 0) + public byte Changed; + /// index of the event added this frame, or -1 (offset 4) + public int Added; + /// index the removed event had, or -1 (offset 8) + public int Removed; + /// the selected event after this frame, or -1 (offset 12) + public int Selected; + /// an event is being dragged (offset 16) + public byte Dragging; +} + +/// Readout: one figure as an instrument shows it. A small label, the value in the monospaced font with its unit, and a muted line of context under it. (48 bytes) +[StructLayout(LayoutKind.Sequential)] +public unsafe struct NativeReadoutOpts +{ + /// int (offset 0) + public int Sentinel; + /// after the value, smaller and muted, e.g. "MG" (offset 8) + public nint Unit; + /// a muted line under the value; `NULL` for none (offset 16) + public nint Detail; + /// the value's size: CUI_SIZE_SM 17, CUI_SIZE_MD 28 (default), CUI_SIZE_LG 44 points (offset 24) + public ControlSize Size; + /// the value's color; 0 is the foreground (offset 28) + public Tone Tone; + /// the value in the accent color (offset 32) + public byte Accent; + /// default start (offset 36) + public TextAlign Align; + /// default fit (offset 40) + public NativeSize Width; +} + +/// Dot-matrix display: text drawn with a 5 by 7 dot font, for clocks, counters and status lines. Printable ASCII, the degree sign and the middle dot have glyphs; anything else is a box. Unlit dots show dimly unless `no_dim` is set. In a box narrower than the text, the dots shrink to fit, or with `marquee` the text scrolls. (28 bytes) +[StructLayout(LayoutKind.Sequential)] +public unsafe struct NativeDotDisplayOpts +{ + /// int (offset 0) + public int Sentinel; + /// distance between dot centers in points, default 4 (offset 4) + public float Pitch; + /// lit dots; unset: the foreground (offset 8) + public NativeColor Color; + /// lit dots in the accent color (offset 12) + public byte Accent; + /// hides the unlit dots (offset 13) + public byte NoDim; + /// scrolls text that is wider than the box instead of shrinking it (offset 14) + public byte Marquee; + /// where the text sits in a wider box, default start (offset 16) + public TextAlign Align; + /// default fit to the text (offset 20) + public NativeSize Width; +} + +/// cui_corners (16 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCorners { @@ -5042,7 +5218,7 @@ public unsafe struct NativeCorners public float Bl; } -/// cui_canvas_result, 28 bytes. +/// cui_canvas_result (28 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeCanvasResult { @@ -5058,51 +5234,51 @@ public unsafe struct NativeCanvasResult public NativeVec2 Mouse; } -/// cui_vertex, 64 bytes. +/// cui_vertex (64 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeVertex { - /// float (offset 0) + /// position in pixels (offset 0) public float X; - /// float (offset 4) + /// position in pixels (offset 4) public float Y; - /// float (offset 8) + /// texture coordinate (offset 8) public float U; - /// float (offset 12) + /// texture coordinate (offset 12) public float V; - /// float (offset 16) + /// position relative to the shape center, pixels (offset 16) public float Lx; - /// float (offset 20) + /// position relative to the shape center, pixels (offset 20) public float Ly; - /// float (offset 24) + /// half size of the shape, pixels (offset 24) public float Hw; - /// float (offset 28) + /// half size of the shape, pixels (offset 28) public float Hh; - /// float (offset 32) + /// corner radii, pixels (offset 32) public float RTl; - /// float (offset 36) + /// corner radii, pixels (offset 36) public float RTr; - /// float (offset 40) + /// corner radii, pixels (offset 40) public float RBr; - /// float (offset 44) + /// corner radii, pixels (offset 44) public float RBl; - /// float (offset 48) + /// border width (RRECT) or blur sigma (SHADOW) (offset 48) public float Border; - /// float (offset 52) + /// CUI_SHADE_* (offset 52) public float Mode; - /// cui_color (offset 56) + /// fill (offset 56) public NativeColor Color; /// cui_color (offset 60) public NativeColor BorderColor; } -/// cui_draw_cmd, 32 bytes. +/// cui_draw_cmd (32 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDrawCmd { - /// cui_rect (offset 0) + /// pixels (offset 0) public NativeRect Clip; - /// cui_texture (offset 16) + /// 0 = font atlas (offset 16) public nuint Texture; /// uint32_t (offset 24) public uint IndexOffset; @@ -5110,7 +5286,7 @@ public unsafe struct NativeDrawCmd public uint IndexCount; } -/// cui_draw_data, 64 bytes. +/// cui_draw_data (64 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeDrawData { @@ -5126,9 +5302,9 @@ public unsafe struct NativeDrawData public nint Commands; /// int (offset 40) public int CommandCount; - /// int (offset 44) + /// framebuffer size (offset 44) public int WidthPx; - /// int (offset 48) + /// framebuffer size (offset 48) public int HeightPx; /// cui_color (offset 52) public NativeColor ClearColor; @@ -5136,27 +5312,27 @@ public unsafe struct NativeDrawData public nuint FontAtlas; } -/// cui_app_desc, 48 bytes. +/// cui_app_desc (56 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeAppDesc { - /// const char * (offset 0) + /// default "CUI" (offset 0) public nint Title; - /// int (offset 8) + /// logical size, default 1080 x 720 (offset 8) public int Width; - /// int (offset 12) + /// logical size, default 1080 x 720 (offset 12) public int Height; - /// int (offset 16) + /// default 360 x 280 (offset 16) public int MinWidth; - /// int (offset 20) + /// default 360 x 280 (offset 20) public int MinHeight; - /// _Bool (offset 24) + /// not resizable (offset 24) public byte FixedSize; - /// _Bool (offset 25) + /// render every frame even when idle (games, video) (offset 25) public byte Continuous; - /// _Bool (offset 26) + /// OpenGL: do not wait for the display; frames are capped at 120 Hz or the refresh rate (offset 26) public byte NoVsync; - /// _Bool (offset 27) + /// create the window hidden (tests) (offset 27) public byte Hidden; /// cui_renderer_kind (offset 28) public Renderer Renderer; @@ -5164,11 +5340,13 @@ public unsafe struct NativeAppDesc public Theme Theme; /// cui_accent (offset 36) public Accent Accent; - /// _Bool (offset 40) + /// use the OS light/dark setting where available (offset 40) public byte FollowSystemTheme; + /// Linux: the app's ID, which is the name of its .desktop file without ".desktop", e.g. "org.example.Notes". The desktop uses it to show the app's name and icon for the window (taskbar, dock, Alt+Tab) and to group its windows. Sets WM_CLASS on X11 and the app_id on Wayland (SDL2, and GLFW 3.4). Read when the window is created; ignored on Windows and macOS. Default: none (the X11 backend then sets WM_CLASS to the title and "CUI"). (offset 48) + public nint AppId; } -/// cui_file_dialog_opts, 40 bytes. +/// cui_file_dialog_opts (40 bytes) [StructLayout(LayoutKind.Sequential)] public unsafe struct NativeFileDialogOpts { @@ -5176,10 +5354,10 @@ public unsafe struct NativeFileDialogOpts public FileDialogKind Kind; /// const char * (offset 8) public nint Title; - /// const char * (offset 16) + /// e.g. "Images" (offset 16) public nint FilterName; - /// const char * (offset 24) + /// extensions separated by ';', e.g. "png;jpg" (offset 24) public nint Filter; - /// const char * (offset 32) + /// save dialogs (offset 32) public nint DefaultName; } diff --git a/src/CuiSharp/Semantics/WidgetRecorder.cs b/src/CuiSharp/Semantics/WidgetRecorder.cs index c41ed02..1cb42bb 100644 --- a/src/CuiSharp/Semantics/WidgetRecorder.cs +++ b/src/CuiSharp/Semantics/WidgetRecorder.cs @@ -517,7 +517,7 @@ private void Add(nint ui, string kind, nint pointer, int length, string? text, b /// /// Entries were read out of the pinned native/CUI sources: an entry that drifts upstream /// shows up as a missing or wrong rect in LayoutInspectionTests, never as a silent lie. -/// Growing these tables is a native-evidence task (the sync-cui runbook re-reads them on +/// Growing these tables is a native-evidence task (the cui-sync runbook re-reads them on /// a submodule bump); dropping an entry when evidence is doubted is always the honest default. /// /// diff --git a/src/CuiSharp/Ui/AiInterfaces.g.cs b/src/CuiSharp/Ui/AiInterfaces.g.cs index 6736f18..b40e5e2 100644 --- a/src/CuiSharp/Ui/AiInterfaces.g.cs +++ b/src/CuiSharp/Ui/AiInterfaces.g.cs @@ -13,7 +13,7 @@ public static unsafe class AiInterfacesUiExtensions { extension(Ui ui) { - /// cui_reasoning_begin + /// Reasoning: a model's thinking. While thinking, the header shimmers and counts the seconds; afterwards it reads "Thought for 12s" and the body folds away. Click the header to open or close it. Put text inside. public OpenScope Reasoning(UiText id, ReasoningOpts o = default) { var __opts = o.ToNative(); @@ -37,7 +37,7 @@ public void ToolCall(UiText id, UiText name, ToolCallOpts o = default) WidgetRecorder.Note(ui.Handle, "ToolCall", id); } - /// cui_agent_plan_ex + /// Agent plan: steps with their status on a connected rail, and progress. public int AgentPlan(UiText id, ReadOnlySpan steps, AgentPlanOpts o = default) { var __steps = Utf8.AllocFrame(steps.Length); @@ -48,7 +48,7 @@ public int AgentPlan(UiText id, ReadOnlySpan steps, AgentPlanOpts o = return __result; } - /// cui_agent_status_ex + /// Agent status pill: what the agent is doing right now and for how long. public void AgentStatus(UiText text, AgentStatusOpts o = default) { var __opts = o.ToNative(); @@ -74,7 +74,7 @@ public bool Citation(int number, in Source source) return __result != 0; } - /// cui_context_meter_ex + /// Context meter: a small ring of how full the context is; hover for a breakdown. It turns amber past 80% and red past 95%. public void ContextMeter(UiText id, float used, float limit, ContextOpts o = default) { var __opts = o.ToNative(); @@ -93,7 +93,7 @@ public ResponseEvents ResponseActions(UiText id, ref int vote, ResponseActionsOp return (ResponseEvents)__result; } - /// cui_prompt_suggestions_ex + /// Prompt suggestions: cards to start a conversation with. public int PromptSuggestions(UiText id, ReadOnlySpan items, PromptSuggestionsOpts o = default) { var __items = Utf8.AllocFrame(items.Length); @@ -104,7 +104,7 @@ public int PromptSuggestions(UiText id, ReadOnlySpan items, Pr return __result; } - /// cui_model_picker_ex + /// Model picker: the current model on a button; a list with details opens. public bool ModelPicker(UiText id, ReadOnlySpan models, ref int selected, ModelPickerOpts o = default) { var __models = Utf8.AllocFrame(models.Length); diff --git a/src/CuiSharp/Ui/AppChromeMenuBarToolbarStatusBarDocumentTabs.g.cs b/src/CuiSharp/Ui/AppChromeMenuBarToolbarStatusBarDocumentTabs.g.cs index e8ba483..38d8db6 100644 --- a/src/CuiSharp/Ui/AppChromeMenuBarToolbarStatusBarDocumentTabs.g.cs +++ b/src/CuiSharp/Ui/AppChromeMenuBarToolbarStatusBarDocumentTabs.g.cs @@ -13,7 +13,7 @@ public static unsafe class AppChromeMenuBarToolbarStatusBarDocumentTabsUiExtensi { extension(Ui ui) { - /// cui_menu_bar_begin + /// Menu bar: File / Edit / View along the top of a window. Each menu holds the usual menu items (cui_menu_item, cui_menu_separator, cui_menu_label). Once a menu is open, hovering another one switches to it. Alt (on its own) or F10 focuses the bar; arrows move between menus and items, Enter chooses, Esc steps back. Alt + a menu's mnemonic letter opens it (the first letter of its label unless `mnemonic` says otherwise). public LayoutScope MenuBar(UiText id, MenuBarOpts o = default) { var __opts = o.ToNative(); @@ -21,7 +21,7 @@ public LayoutScope MenuBar(UiText id, MenuBarOpts o = default) return new LayoutScope(ui.Handle, &Native.MenuBarEnd, "MenuBar", id); } - /// cui_menu_bar_menu_begin + /// One menu of the bar. Returns true while its items should be built; call cui_menu_bar_menu_end only then. public OpenScope MenuBarMenu(UiText label, MenuBarMenuOpts o = default) { var __opts = o.ToNative(); @@ -37,7 +37,7 @@ public void MenuBarMenu(UiText label, DrawFn body, MenuBarMenuOpts o = default) if (scope) body(ui); } - /// cui_toolbar_begin + /// Toolbar: a row of compact icon buttons, toggles, separators and small text buttons. Icon only buttons show their tooltip as their name. Items that do not fit collapse, from the end, into a "more" menu; an item chosen there returns true on the next frame. public LayoutScope Toolbar(UiText id, ToolbarOpts o = default) { var __opts = o.ToNative(); @@ -62,13 +62,13 @@ public void ToolbarSeparator() Native.ToolbarSeparator(ui.Handle); } - /// cui_toolbar_spacer + /// pushes the following items to the right public void ToolbarSpacer() { Native.ToolbarSpacer(ui.Handle); } - /// cui_status_bar_begin + /// Status bar: a thin bar along the bottom of a window, with a hairline on top and no fill of its own (put it in a box with the background you want). Items go left to right; cui_status_bar_spacer sends the rest to the right edge. public LayoutScope StatusBar(UiText id, StatusBarOpts o = default) { var __opts = o.ToNative(); @@ -99,14 +99,14 @@ public bool StatusBarItem(UiText label, StatusItemOpts o = default) return __result != 0; } - /// cui_status_bar_progress_ex + /// A small progress bar with an optional label. value is 0..1. public void StatusBarProgress(float value, StatusProgressOpts o = default) { var __opts = o.ToNative(); Native.StatusBarProgress(ui.Handle, value, in __opts); } - /// cui_doc_tabs_ex + /// Document tabs: editor style tabs. Clicking selects (*selected is updated), the x or a middle click asks to close, dragging reorders, and the strip scrolls sideways when the tabs do not fit. A dirty tab shows a dot that turns into the close button under the pointer. The selected tab is filled with the surface color so it joins the content below; the strip itself has no fill, like the other bars. Tabs keep their state by title, so give two tabs with the same name a key: "main.c##src". The component never removes or moves your tabs itself: it reports a close or a move in the result and you apply it (selection already follows a move). With keyboard focus on the strip, Left and Right select, Home and End jump, Shift+Left/Right move the tab and Delete closes it. With `shortcuts` set it also answers Ctrl+Tab, Ctrl+Shift+Tab, Ctrl+PageUp/Down and Ctrl+W (Cmd+W on macOS) from anywhere in the window. public DocTabsResult DocTabs(UiText id, ReadOnlySpan tabs, ref int selected, DocTabsOpts o = default) { var __tabs = Utf8.AllocFrame(tabs.Length); diff --git a/src/CuiSharp/Ui/Blame.g.cs b/src/CuiSharp/Ui/Blame.g.cs index 0c443ae..a356076 100644 --- a/src/CuiSharp/Ui/Blame.g.cs +++ b/src/CuiSharp/Ui/Blame.g.cs @@ -13,7 +13,7 @@ public static unsafe class BlameUiExtensions { extension(Ui ui) { - /// cui_blame_ex + /// Source with who last changed each line: lines from one commit share one gutter entry with its author, age and hash, and a bar at the edge shades newer changes stronger. Hover a gutter entry for the commit's summary and to mark its lines; click it to get the commit. Only the lines in view are built. On a phone the gutter keeps only the shade and initials. public BlameResult Blame(UiText id, ReadOnlySpan lines, ReadOnlySpan lineCommit, ReadOnlySpan commits, BlameOpts o = default) { if (lines.Length < lineCommit.Length) throw new ArgumentException("lines needs at least lineCommit.Length entries.", nameof(lines)); diff --git a/src/CuiSharp/Ui/Buttons.g.cs b/src/CuiSharp/Ui/Buttons.g.cs index 322ebf9..6746516 100644 --- a/src/CuiSharp/Ui/Buttons.g.cs +++ b/src/CuiSharp/Ui/Buttons.g.cs @@ -31,7 +31,7 @@ public bool IconButton(UiText icon, ButtonOpts o = default) return __result != 0; } - /// cui_segmented_ex + /// Segmented control: a row of options with a gliding highlight. public bool Segmented(UiText id, ReadOnlySpan items, ref int index, SegmentedOpts o = default) { if (o.Icons is { } __icons && __icons.Length < items.Length) throw new ArgumentException("Icons must contain at least one entry per item.", nameof(o)); diff --git a/src/CuiSharp/Ui/Capture.g.cs b/src/CuiSharp/Ui/Capture.g.cs index ca2f853..5ffc04b 100644 --- a/src/CuiSharp/Ui/Capture.g.cs +++ b/src/CuiSharp/Ui/Capture.g.cs @@ -13,7 +13,7 @@ public static unsafe class CaptureUiExtensions { extension(Ui ui) { - /// cui_signature_pad_ex + /// Signature pad: draw with the mouse or a pen. The strokes are kept for you; read them with cui_signature_points (stroke_ends[i] is one past the last point of stroke i). public bool SignaturePad(UiText id, SignatureOpts o = default) { var __opts = o.ToNative(); @@ -29,7 +29,7 @@ public void SignatureClear(UiText id) WidgetRecorder.Note(ui.Handle, "SignatureClear", id); } - /// cui_dropzone_ex + /// Dropzone: drop files from the OS, or click to browse. Returns the number of files dropped on it this frame (read them with cui_dropped_file), -1 when clicked (open a file dialog), 0 otherwise. accept filters by extension, e.g. "png;jpg;pdf". public int Dropzone(UiText id, DropzoneOpts o = default) { var __opts = o.ToNative(); diff --git a/src/CuiSharp/Ui/Code.g.cs b/src/CuiSharp/Ui/Code.g.cs index ba7f5d1..c487371 100644 --- a/src/CuiSharp/Ui/Code.g.cs +++ b/src/CuiSharp/Ui/Code.g.cs @@ -13,7 +13,7 @@ public static unsafe class CodeUiExtensions { extension(Ui ui) { - /// * left to right in any interface: see cui__keep_ltr + /// Code block with syntax highlighting (lang: "c", "cpp", "js", "ts", "python", "rust", "go", "json", "shell", or "text" for none), line numbers, a title bar and a copy button. Long lines scroll sideways. public void CodeBlock(UiText id, UiText code, CodeOpts o = default) { var __opts = o.ToNative(); @@ -21,7 +21,7 @@ public void CodeBlock(UiText id, UiText code, CodeOpts o = default) WidgetRecorder.Note(ui.Handle, "CodeBlock", id); } - /// * left to right in any interface: see cui__keep_ltr + /// JSON viewer: a collapsible tree with typed colors and item counts. Returns false when the text is not valid JSON (and shows the error). public bool JsonView(UiText id, UiText json, JsonOpts o = default) { var __opts = o.ToNative(); diff --git a/src/CuiSharp/Ui/CodeEditor.g.cs b/src/CuiSharp/Ui/CodeEditor.g.cs index 5154898..f8f68c2 100644 --- a/src/CuiSharp/Ui/CodeEditor.g.cs +++ b/src/CuiSharp/Ui/CodeEditor.g.cs @@ -13,7 +13,7 @@ public static unsafe class CodeEditorUiExtensions { extension(Ui ui) { - /// * left to right in any interface: see cui__keep_ltr + /// cui_code_editor_ex public CodeEditorResult CodeEditor(UiText id, ref string buf, int cap, CodeEditorOpts o = default) { var __bufSlot = ui.RentText(Native.MakeId(ui.Handle, Utf8.Get(id)) ^ 0x5d0e8dcbu, ref buf, (int)cap); diff --git a/src/CuiSharp/Ui/CommitGraph.g.cs b/src/CuiSharp/Ui/CommitGraph.g.cs index 4c79559..ce512c0 100644 --- a/src/CuiSharp/Ui/CommitGraph.g.cs +++ b/src/CuiSharp/Ui/CommitGraph.g.cs @@ -13,7 +13,7 @@ public static unsafe class CommitGraphUiExtensions { extension(Ui ui) { - /// cui_commit_graph_ex + /// Version history: the branch lanes drawn beside each commit, newest first, with its message, branch and tag names, author, date and short hash. Each commit names its parents by row (parents come later in the array), so merges and branches draw as lines between lanes. Only the rows in view are built. Up and Down move the selection; Enter or a double-click activates. public CommitGraphResult CommitGraph(UiText id, ReadOnlySpan commits, ref int selected, CommitGraphOpts o = default) { var __commits = Utf8.AllocFrame(commits.Length); diff --git a/src/CuiSharp/Ui/Conversation.g.cs b/src/CuiSharp/Ui/Conversation.g.cs index cee6ca4..9392cdb 100644 --- a/src/CuiSharp/Ui/Conversation.g.cs +++ b/src/CuiSharp/Ui/Conversation.g.cs @@ -13,7 +13,7 @@ public static unsafe class ConversationUiExtensions { extension(Ui ui) { - /// cui_chat_message_ex + /// Chat message bubble. Consecutive messages from one person set grouped so they stack tightly and show the avatar once. public void ChatMessage(UiText text, ref MarkdownResult markdownResult, ChatOpts o = default) { var __markdownResult = markdownResult.ToNative(); @@ -31,14 +31,14 @@ public void ChatMessage(UiText text, ChatOpts o = default) WidgetRecorder.Note(ui.Handle, "ChatMessage", text); } - /// cui_chat_divider + /// "Today" public void ChatDivider(UiText label) { Native.ChatDivider(ui.Handle, Utf8.Get(label)); WidgetRecorder.Note(ui.Handle, "ChatDivider", label); } - /// cui_typing_indicator + /// bouncing dots public void TypingIndicator(UiText name) { Native.TypingIndicator(ui.Handle, Utf8.Get(name)); @@ -58,7 +58,7 @@ public CommentEvents Comment(UiText id, UiText author, UiText text, ref int like return (CommentEvents)__result; } - /// cui_presence + /// Presence: who is here now. Overlapping avatars with a colored ring each, that spread out on hover and name themselves. public void Presence(UiText id, ReadOnlySpan users, int maxVisible, float size) { var __users = Utf8.AllocFrame(users.Length); diff --git a/src/CuiSharp/Ui/Coverage.g.cs b/src/CuiSharp/Ui/Coverage.g.cs index e1531bf..c0069a6 100644 --- a/src/CuiSharp/Ui/Coverage.g.cs +++ b/src/CuiSharp/Ui/Coverage.g.cs @@ -13,7 +13,7 @@ public static unsafe class CoverageUiExtensions { extension(Ui ui) { - /// cui_coverage_ex + /// Test coverage by folder and file: the files' paths make the tree, each folder sums up what it holds, and folders fold. Line coverage shows as a bar colored by thresholds, with branches and functions beside it. Click a column's title to sort. Enter or a double-click activates a file. Narrow panels show lines only. public CoverageResult Coverage(UiText id, ReadOnlySpan files, CoverageOpts o = default) { var __files = Utf8.AllocFrame(files.Length); diff --git a/src/CuiSharp/Ui/CurveAndGradientEditors.g.cs b/src/CuiSharp/Ui/CurveAndGradientEditors.g.cs index b0e08f0..5f80890 100644 --- a/src/CuiSharp/Ui/CurveAndGradientEditors.g.cs +++ b/src/CuiSharp/Ui/CurveAndGradientEditors.g.cs @@ -14,14 +14,14 @@ public static unsafe class CurveAndGradientEditorsUiExtensions extension(Ui ui) { /// cui_curve_editor_ex - public CurveResult CurveEditor(UiText id, Span keys, ref int count, int capacity, ref int selected, CurveOpts o = default) + public CurveResult CurveEditor(UiText id, Span keys, ref int count, ref int selected, CurveOpts o = default) { var __keys = Utf8.AllocFrame(keys.Length); for (int i = 0; i < keys.Length; i++) __keys[i] = keys[i].ToNative(); int __keysCount = count; int __selected = (int)(selected); var __opts = o.ToNative((nint)(&__selected)); - var __result = Native.CurveEditor(ui.Handle, Utf8.Get(id), (nint)__keys, ref __keysCount, capacity, in __opts); + var __result = Native.CurveEditor(ui.Handle, Utf8.Get(id), (nint)__keys, ref __keysCount, (int)(keys.Length), in __opts); if (__result.Changed != 0) { for (int i = 0; i < Math.Min(__keysCount, keys.Length); i++) keys[i] = CurveKey.FromNative(__keys[i]); @@ -33,14 +33,14 @@ public CurveResult CurveEditor(UiText id, Span keys, ref int count, in } /// cui_gradient_editor_ex - public GradientResult GradientEditor(UiText id, Span stops, ref int count, int capacity, ref int selected, GradientOpts o = default) + public GradientResult GradientEditor(UiText id, Span stops, ref int count, ref int selected, GradientOpts o = default) { var __stops = Utf8.AllocFrame(stops.Length); for (int i = 0; i < stops.Length; i++) __stops[i] = stops[i].ToNative(); int __stopsCount = count; int __selected = (int)(selected); var __opts = o.ToNative((nint)(&__selected)); - var __result = Native.GradientEditor(ui.Handle, Utf8.Get(id), (nint)__stops, ref __stopsCount, capacity, in __opts); + var __result = Native.GradientEditor(ui.Handle, Utf8.Get(id), (nint)__stops, ref __stopsCount, (int)(stops.Length), in __opts); if (__result.Changed != 0) { for (int i = 0; i < Math.Min(__stopsCount, stops.Length); i++) stops[i] = GradientStop.FromNative(__stops[i]); diff --git a/src/CuiSharp/Ui/DataDisplay.g.cs b/src/CuiSharp/Ui/DataDisplay.g.cs index fb6de59..4a85581 100644 --- a/src/CuiSharp/Ui/DataDisplay.g.cs +++ b/src/CuiSharp/Ui/DataDisplay.g.cs @@ -48,14 +48,14 @@ public void Tree(UiText label, ref bool open, DrawFn body, TreeOpts o = default) if (scope) body(ui); } - /// cui_tree_clicked + /// the node created by the last cui_tree_begin was clicked public bool TreeClicked() { var __result = Native.TreeClicked(ui.Handle); return __result != 0; } - /// cui_list_item_ex + /// List item: a selectable row with optional icon, subtitle and trailing text. public bool ListItem(UiText title, ListItemOpts o = default) { var __opts = o.ToNative(); diff --git a/src/CuiSharp/Ui/DataGrid.g.cs b/src/CuiSharp/Ui/DataGrid.g.cs index 68513ae..75d7d0b 100644 --- a/src/CuiSharp/Ui/DataGrid.g.cs +++ b/src/CuiSharp/Ui/DataGrid.g.cs @@ -13,14 +13,14 @@ public static unsafe class DataGridUiExtensions { extension(Ui ui) { - /// cui_data_grid_row + /// true when the row was clicked public bool DataGridRow(int row) { var __result = Native.DataGridRow(ui.Handle, row); return __result != 0; } - /// cui_data_grid_cell + /// next cell; put components inside public void DataGridCell() { Native.DataGridCell(ui.Handle); diff --git a/src/CuiSharp/Ui/DependencyGraph.g.cs b/src/CuiSharp/Ui/DependencyGraph.g.cs index a97dbc2..048d316 100644 --- a/src/CuiSharp/Ui/DependencyGraph.g.cs +++ b/src/CuiSharp/Ui/DependencyGraph.g.cs @@ -13,7 +13,7 @@ public static unsafe class DependencyGraphUiExtensions { extension(Ui ui) { - /// cui_graph_view_ex + /// Nodes and directed edges laid out in layers (each edge points to a later layer, cycles are broken), for build targets, packages, services or call graphs. The layout is computed when the graph changes. Wheel zooms, drag pans, click selects; hovering a node lights up what it depends on and what depends on it. F fits the graph. public GraphResult GraphView(UiText id, ReadOnlySpan nodes, ReadOnlySpan edges, ref int selected, GraphOpts o = default) { var __nodes = Utf8.AllocFrame(nodes.Length); diff --git a/src/CuiSharp/Ui/DiffViewer.g.cs b/src/CuiSharp/Ui/DiffViewer.g.cs index 43a9796..3519be5 100644 --- a/src/CuiSharp/Ui/DiffViewer.g.cs +++ b/src/CuiSharp/Ui/DiffViewer.g.cs @@ -13,7 +13,7 @@ public static unsafe class DiffViewerUiExtensions { extension(Ui ui) { - /// * left to right in any interface: see cui__keep_ltr + /// cui_diff_view_ex public DiffResult DiffView(UiText id, UiText oldText, UiText newText, ref int current, DiffOpts o = default) { int __current = (int)(current); diff --git a/src/CuiSharp/Ui/Disclosure.g.cs b/src/CuiSharp/Ui/Disclosure.g.cs index afedc00..1021954 100644 --- a/src/CuiSharp/Ui/Disclosure.g.cs +++ b/src/CuiSharp/Ui/Disclosure.g.cs @@ -13,7 +13,7 @@ public static unsafe class DisclosureUiExtensions { extension(Ui ui) { - /// cui_hover_card_begin + /// Hover card: rich content that appears when the pointer rests on the previous component, and stays while the pointer is over either. public OpenScope HoverCard(UiText id, HoverCardOpts o = default) { var __opts = o.ToNative(); @@ -29,7 +29,7 @@ public void HoverCard(UiText id, DrawFn body, HoverCardOpts o = default) if (scope) body(ui); } - /// cui_confirm_popover_ex + /// Confirm popover: a small question anchored to the previous component. Open it with cui_popover_open(ui, id). Returns true when confirmed. public bool ConfirmPopover(UiText id, ConfirmPopoverOpts o = default) { var __opts = o.ToNative(); @@ -38,7 +38,7 @@ public bool ConfirmPopover(UiText id, ConfirmPopoverOpts o = default) return __result != 0; } - /// cui_expandable_text_ex + /// Text clamped to a few lines with a fade and Show more / Show less. public bool ExpandableText(UiText id, UiText text, ExpandableTextOpts o = default) { var __opts = o.ToNative(); @@ -47,7 +47,7 @@ public bool ExpandableText(UiText id, UiText text, ExpandableTextOpts o = defaul return __result != 0; } - /// cui_expandable_card_begin + /// Expandable card: a card whose header opens a body with a height spring. public OpenScope ExpandableCard(UiText title, ref bool open, ExpandableCardOpts o = default) { byte __open = (byte)(open ? 1 : 0); @@ -65,7 +65,7 @@ public void ExpandableCard(UiText title, ref bool open, DrawFn body, ExpandableC if (scope) body(ui); } - /// cui_toc + /// Table of contents for a scroll area: highlights the section in view on a progress rail, and scrolls to a section when clicked. Put cui_toc_anchor(ui, "anchor") at each heading inside the scroll area, and call cui_toc in the same scope as the scroll area. Returns the active index. public int Toc(UiText scrollId, ReadOnlySpan items) { var __items = Utf8.AllocFrame(items.Length); diff --git a/src/CuiSharp/Ui/Docking.g.cs b/src/CuiSharp/Ui/Docking.g.cs index 57e6400..5cd60d4 100644 --- a/src/CuiSharp/Ui/Docking.g.cs +++ b/src/CuiSharp/Ui/Docking.g.cs @@ -13,7 +13,7 @@ public static unsafe class DockingUiExtensions { extension(Ui ui) { - /// cui_dockspace_begin_ex + /// Dockspace: an IDE style workspace that lays out your panels in a tree of resizable splits whose leaves hold one or more panels as document tabs. Submit every panel each frame between cui_dockspace_begin and cui_dockspace_end; the dockspace decides where it goes, and a panel's content is built only while its tab is the one showing: public LayoutScope Dockspace(UiText id, DockspaceOpts o = default) { var __opts = o.ToNative(); @@ -21,7 +21,7 @@ public LayoutScope Dockspace(UiText id, DockspaceOpts o = default) return new LayoutScope(ui.Handle, &Native.DockspaceEnd, "Dockspace", id); } - /// cui_dock_panel_begin_ex + /// Returns true while the panel's content should be built; then call cui_dock_panel_end. public OpenScope DockPanel(UiText title, ref bool open, DockPanelOpts o = default) { byte __open = (byte)(open ? 1 : 0); @@ -57,7 +57,7 @@ public bool DockLoad(UiText id, UiText text) return __result != 0; } - /// cui_inspector_begin_ex + /// Property inspector: labelled rows in folding groups, a label column on the left (drag the line between the columns to resize it) and an editor on the right. Every row returns true when its value changed. Groups end at the next group or at cui_inspector_end. public OpenScope Inspector(UiText id, InspectorOpts o = default) { var __opts = o.ToNative(); diff --git a/src/CuiSharp/Ui/Emoji.g.cs b/src/CuiSharp/Ui/Emoji.g.cs index 7ca5739..d21697f 100644 --- a/src/CuiSharp/Ui/Emoji.g.cs +++ b/src/CuiSharp/Ui/Emoji.g.cs @@ -13,7 +13,7 @@ public static unsafe class EmojiUiExtensions { extension(Ui ui) { - /// ---- Emoji ---- Color emoji come from an emoji font: the system's (cui_emoji_font_load_system, which the picker calls by itself when nothing is loaded) or one the app ships. Bitmap color fonts (sbix as on macOS, CBDT as on Linux and Android) and layered ones (COLR version 0, as on Windows) are read, as is a plain outline font for one-color emoji. Sequences with skin tones, joined people and flags are looked up through the font's ligatures. Big fonts are read from the file as needed rather than loaded whole. Drawn emoji are kept in one texture and reused. + /// Color emoji come from an emoji font: the system's (cui_emoji_font_load_system, which the picker calls by itself when nothing is loaded) or one the app ships. Bitmap color fonts (sbix as on macOS, CBDT as on Linux and Android) and layered ones (COLR version 0, as on Windows) are read, as is a plain outline font for one-color emoji. Sequences with skin tones, joined people and flags are looked up through the font's ligatures. Big fonts are read from the file as needed rather than loaded whole. Drawn emoji are kept in one texture and reused. public bool EmojiFontLoadFile(UiText path) { var __result = Native.EmojiFontLoadFile(ui.Handle, Utf8.Get(path)); @@ -35,7 +35,7 @@ public bool EmojiFontLoadSystem() return __result != 0; } - /// cui_emoji_supported + /// the font (or platform) can draw it public bool EmojiSupported(UiText utf8) { var __result = Native.EmojiSupported(ui.Handle, Utf8.Get(utf8), -1); @@ -50,14 +50,14 @@ public void DrawEmoji(UiText utf8, RectF r) WidgetRecorder.Note(ui.Handle, "DrawEmoji", utf8); } - /// cui_emoji + /// one emoji as a component public void Emoji(UiText utf8, float size) { Native.Emoji(ui.Handle, Utf8.Get(utf8), size); WidgetRecorder.Note(ui.Handle, "Emoji", utf8); } - /// cui_emoji_picker_ex + /// Emoji picker: search, groups with tabs, recent emoji, skin tones and a preview with the name. Returns the emoji picked this frame (UTF-8, valid until the next frame) or NULL. Put it in a popover to open it from a button. public string? EmojiPicker(UiText id, ref string recent, ref int tone, EmojiPickerOpts o = default) { var __recentSlot = ui.RentText(Native.MakeId(ui.Handle, Utf8.Get(id)) ^ 0xa3514724u, ref recent, 512); diff --git a/src/CuiSharp/Ui/InstrumentsDotMatrixChartEventTrackReadoutDotMatrixDisplay.g.cs b/src/CuiSharp/Ui/InstrumentsDotMatrixChartEventTrackReadoutDotMatrixDisplay.g.cs new file mode 100644 index 0000000..2633fd6 --- /dev/null +++ b/src/CuiSharp/Ui/InstrumentsDotMatrixChartEventTrackReadoutDotMatrixDisplay.g.cs @@ -0,0 +1,49 @@ +// +// Generated by tools/bindgen.cs from native/CUI/include/cui/*.h. +// Do not edit: change the generator or bindings/overrides.json and run +// dotnet run tools/bindgen.cs +// +#nullable enable +using System.Runtime.InteropServices; +using CuiSharp.Interop; + +namespace CuiSharp; + +public static unsafe class InstrumentsDotMatrixChartEventTrackReadoutDotMatrixDisplayUiExtensions +{ + extension(Ui ui) + { + /// Event track: moments on a time axis, as dots you drag along it. A click on an empty spot adds an event there and a double-click on one removes it. You own the array: the track keeps it sorted, edits it in place and never grows it past `capacity`. + public EventTrackResult EventTrack(UiText id, Span times, ref int count, double min, double max, ref int selected, EventTrackOpts o = default) + { + var __times = Utf8.AllocFrame(times.Length); + times.CopyTo(new Span(__times, times.Length)); + int __timesCount = count; + int __selected = (int)(selected); + var __opts = o.ToNative((nint)(&__selected)); + var __result = Native.EventTrack(ui.Handle, Utf8.Get(id), (nint)__times, ref __timesCount, (int)(times.Length), min, max, in __opts); + new Span(__times, Math.Min(__timesCount, times.Length)).CopyTo(times); + count = __timesCount; + selected = __selected; + WidgetRecorder.Note(ui.Handle, "EventTrack", id); + return EventTrackResult.FromNative(__result); + } + + /// Readout: one figure as an instrument shows it. A small label, the value in the monospaced font with its unit, and a muted line of context under it. + public void Readout(UiText label, UiText value, ReadoutOpts o = default) + { + var __opts = o.ToNative(); + Native.Readout(ui.Handle, Utf8.Get(label), Utf8.Get(value), in __opts); + WidgetRecorder.Note(ui.Handle, "Readout", label); + } + + /// Dot-matrix display: text drawn with a 5 by 7 dot font, for clocks, counters and status lines. Printable ASCII, the degree sign and the middle dot have glyphs; anything else is a box. Unlit dots show dimly unless `no_dim` is set. In a box narrower than the text, the dots shrink to fit, or with `marquee` the text scrolls. + public void DotDisplay(UiText text, DotDisplayOpts o = default) + { + var __opts = o.ToNative(); + Native.DotDisplay(ui.Handle, Utf8.Get(text), in __opts); + WidgetRecorder.Note(ui.Handle, "DotDisplay", text); + } + + } +} diff --git a/src/CuiSharp/Ui/KeyValueEditor.g.cs b/src/CuiSharp/Ui/KeyValueEditor.g.cs index 085c19c..c670025 100644 --- a/src/CuiSharp/Ui/KeyValueEditor.g.cs +++ b/src/CuiSharp/Ui/KeyValueEditor.g.cs @@ -14,13 +14,13 @@ public static unsafe class KeyValueEditorUiExtensions extension(Ui ui) { /// cui_kv_editor_ex - public bool KvEditor(UiText id, Span pairs, ref int count, int capacity, KvEditorOpts o = default) + public bool KvEditor(UiText id, Span pairs, ref int count, KvEditorOpts o = default) { var __pairs = Utf8.AllocFrame(pairs.Length); for (int i = 0; i < pairs.Length; i++) __pairs[i] = pairs[i].ToNative(); int __pairsCount = count; var __opts = o.ToNative(); - var __result = Native.KvEditor(ui.Handle, Utf8.Get(id), (nint)__pairs, ref __pairsCount, capacity, in __opts); + var __result = Native.KvEditor(ui.Handle, Utf8.Get(id), (nint)__pairs, ref __pairsCount, (int)(pairs.Length), in __opts); if (__result != 0) { for (int i = 0; i < Math.Min(__pairsCount, pairs.Length); i++) pairs[i] = KeyValue.FromNative(__pairs[i]); diff --git a/src/CuiSharp/Ui/Keymap.g.cs b/src/CuiSharp/Ui/Keymap.g.cs index 76c6870..4d0c336 100644 --- a/src/CuiSharp/Ui/Keymap.g.cs +++ b/src/CuiSharp/Ui/Keymap.g.cs @@ -13,7 +13,7 @@ public static unsafe class KeymapUiExtensions { extension(Ui ui) { - /// cui_keymap_ex + /// A keyboard with your shortcuts on it: each bound key shows its action and the color of its category, for the modifiers chosen above it. Keys bound twice are marked as conflicts. Hover a key for every binding on it; click it to get the key (to rebind it). The keyboard keeps its own layout in a right-to-left interface and scales to the width it gets. public KeymapResult Keymap(UiText id, ReadOnlySpan bindings, ref Mods mods, KeymapOpts o = default) { var __bindings = Utf8.AllocFrame(bindings.Length); diff --git a/src/CuiSharp/Ui/Layout.g.cs b/src/CuiSharp/Ui/Layout.g.cs index 6f5b3c1..470d29a 100644 --- a/src/CuiSharp/Ui/Layout.g.cs +++ b/src/CuiSharp/Ui/Layout.g.cs @@ -37,25 +37,25 @@ public LayoutScope Column(Box o = default) return new LayoutScope(ui.Handle, &Native.BoxEnd, "Column", o.Id, nativeId: __result); } - /// cui_spacer + /// flexible space public void Spacer() { Native.Spacer(ui.Handle); } - /// cui_gap + /// fixed space public void Gap(float size) { Native.Gap(ui.Handle, size); } - /// cui_separator + /// hairline, follows the parent direction public void Separator() { Native.Separator(ui.Handle); } - /// cui_card_begin + /// returns true when clicked (hoverable) public LayoutScope Card(Card o = default) { var __opts = o.ToNative(); @@ -71,7 +71,7 @@ public LayoutScope Card(Card o, out bool clicked) return new LayoutScope(ui.Handle, &Native.CardEnd, "Card", o.Id); } - /// cui_scroll_begin + /// Scroll area with smooth scrolling and overlay scrollbars. public LayoutScope Scroll(ScrollOpts o = default) { var __opts = o.ToNative(); @@ -86,7 +86,7 @@ public void ScrollTo(UiText scrollId, float y) WidgetRecorder.Note(ui.Handle, "ScrollTo", scrollId); } - /// cui_split_begin + /// Resizable split view: two panes with a draggable divider. `ratio` is the size of the first pane in 0..1. Call cui_split_next between the panes. public LayoutScope Split(UiText id, ref float ratio, SplitOpts o = default) { var __ratio = Utf8.AllocFrame(1); diff --git a/src/CuiSharp/Ui/MarkdownView.g.cs b/src/CuiSharp/Ui/MarkdownView.g.cs index 34b9124..3a866cd 100644 --- a/src/CuiSharp/Ui/MarkdownView.g.cs +++ b/src/CuiSharp/Ui/MarkdownView.g.cs @@ -13,7 +13,7 @@ public static unsafe class MarkdownViewUiExtensions { extension(Ui ui) { - /// cui_markdown_ex + /// Markdown view: renders your markdown text (UTF-8) as native content, every frame, without keeping a copy: public MarkdownResult Markdown(UiText id, UiText text, MarkdownOpts o = default) { var __opts = o.ToNative(); diff --git a/src/CuiSharp/Ui/Media.g.cs b/src/CuiSharp/Ui/Media.g.cs index b33d905..526e648 100644 --- a/src/CuiSharp/Ui/Media.g.cs +++ b/src/CuiSharp/Ui/Media.g.cs @@ -13,7 +13,7 @@ public static unsafe class MediaUiExtensions { extension(Ui ui) { - /// cui_carousel_begin + /// Carousel: slides that you swipe, drag, scroll or page with the arrows and dots. Build every slide between begin and end: cui_carousel(ui, "tour", 4, &index, .height = 220) { for (int k = 0; k < 4; k++) cui_carousel_slide(ui) { ... } } public OpenScope Carousel(UiText id, int count, ref int index, CarouselOpts o = default) { var __opts = o.ToNative(); @@ -36,7 +36,7 @@ public LayoutScope CarouselSlide() return new LayoutScope(ui.Handle, &Native.CarouselSlideEnd, "CarouselSlide", null); } - /// cui_image_compare_ex + /// Before and after: drag the divider to compare two images. *pos is 0..1. public bool ImageCompare(UiText id, ulong before, ulong after, ref float pos, CompareOpts o = default) { var __opts = o.ToNative(); @@ -45,7 +45,7 @@ public bool ImageCompare(UiText id, ulong before, ulong after, ref float pos, Co return __result != 0; } - /// cui_card_stack_begin The end call reports which card in the stack is active, or -1, so the body overload returns it. + /// Card stack: a deck where the top card can be flicked away left or right. Build `count` cards; card 0 is the top. end returns -1 or 1 on the frame the top card leaves (to the left or right), else 0. The end call reports which card in the stack is active, or -1, so the body overload returns it. public int CardStack(UiText id, int count, DrawFn body, CardStackOpts o = default) { ArgumentNullException.ThrowIfNull(body); @@ -71,7 +71,7 @@ public LayoutScope CardStackItem(int depth) return new LayoutScope(ui.Handle, &Native.CardStackItemEnd, "CardStackItem", null); } - /// * left to right in any interface: see cui__keep_ltr + /// Odometer: a number whose digits roll to their new values. public void Counter(UiText id, double value, CounterOpts o = default) { var __opts = o.ToNative(); @@ -79,7 +79,7 @@ public void Counter(UiText id, double value, CounterOpts o = default) WidgetRecorder.Note(ui.Handle, "Counter", id); } - /// cui_ticker_ex + /// Ticker: items that scroll by continuously, pausing on hover. public void Ticker(UiText id, ReadOnlySpan items, TickerOpts o = default) { var __items = Utf8.AllocFrame(items.Length); diff --git a/src/CuiSharp/Ui/MenusAndPopovers.g.cs b/src/CuiSharp/Ui/MenusAndPopovers.g.cs index e34a149..7d290fa 100644 --- a/src/CuiSharp/Ui/MenusAndPopovers.g.cs +++ b/src/CuiSharp/Ui/MenusAndPopovers.g.cs @@ -13,7 +13,7 @@ public static unsafe class MenusAndPopoversUiExtensions { extension(Ui ui) { - /// cui_popover_begin + /// Popover anchored to the previous component. Toggle it with cui_popover_toggle / cui_popover_open. public OpenScope Popover(UiText id, PopoverOpts o = default) { var __opts = o.ToNative(); @@ -69,7 +69,7 @@ public bool PopoverIsOpen(UiText id) return __result != 0; } - /// cui_menu_begin + /// Dropdown menu: a button that opens a menu. Items return true when chosen. public OpenScope Menu(UiText label, MenuOpts o = default) { var __opts = o.ToNative(); diff --git a/src/CuiSharp/Ui/MoreActions.g.cs b/src/CuiSharp/Ui/MoreActions.g.cs index 3f33f0f..88cff92 100644 --- a/src/CuiSharp/Ui/MoreActions.g.cs +++ b/src/CuiSharp/Ui/MoreActions.g.cs @@ -13,7 +13,7 @@ public static unsafe class MoreActionsUiExtensions { extension(Ui ui) { - /// cui_split_button_ex + /// Split button: a main action with a menu of related actions on the chevron. Returns 0 when the main part is clicked, 1 + i when menu item i is chosen and -1 otherwise. public int SplitButton(UiText label, ReadOnlySpan items, SplitButtonOpts o = default) { var __opts = o.ToNative(); @@ -22,7 +22,7 @@ public int SplitButton(UiText label, ReadOnlySpan items, SplitButtonOpts return __result; } - /// cui_confirm_button_ex + /// Two step destructive button: the first click morphs it into a confirm state with a countdown, the second click confirms. Returns true once. public bool ConfirmButton(UiText label, ConfirmOpts o = default) { var __opts = o.ToNative(); @@ -40,7 +40,7 @@ public bool StatusButton(UiText label, Status status, StatusButtonOpts o = defau return __result != 0; } - /// cui_reactions + /// Reactions: icon pills with counts. Clicking toggles `active` and adjusts the count. Returns the index that changed, or -1. public int Reactions(UiText id, Span items) { var __items = Utf8.AllocFrame(items.Length); @@ -54,7 +54,7 @@ public int Reactions(UiText id, Span items) return __result; } - /// cui_speed_dial_ex + /// Speed dial: a round floating action button that fans out related actions. Returns the chosen action index, or -1. public int SpeedDial(UiText id, ReadOnlySpan actions, SpeedDialOpts o = default) { var __actions = Utf8.AllocFrame(actions.Length); @@ -79,7 +79,7 @@ public bool ThemeToggle() return __result != 0; } - /// cui_user_menu_begin + /// User menu: an avatar, a name and a line of detail that opens a menu of account actions. Put menu items between begin and end. public OpenScope UserMenu(UiText name, UserMenuOpts o = default) { var __opts = o.ToNative(); @@ -95,7 +95,7 @@ public void UserMenu(UiText name, DrawFn body, UserMenuOpts o = default) if (scope) body(ui); } - /// cui_swipe_item_begin The end call reports which swipe action was taken, or -1, so the body overload returns it. + /// Swipe actions: drag a row sideways (or swipe on a trackpad) to reveal actions behind it. A long swipe triggers the first action. The row content goes between begin and end; end returns the chosen action: 0..left_count-1 for left actions, 100 + i for right actions, or -1. The end call reports which swipe action was taken, or -1, so the body overload returns it. public int SwipeItem(UiText id, ReadOnlySpan left, ReadOnlySpan right, DrawFn body) { ArgumentNullException.ThrowIfNull(body); diff --git a/src/CuiSharp/Ui/MoreCharts.g.cs b/src/CuiSharp/Ui/MoreCharts.g.cs index 61898b4..297fc93 100644 --- a/src/CuiSharp/Ui/MoreCharts.g.cs +++ b/src/CuiSharp/Ui/MoreCharts.g.cs @@ -13,7 +13,7 @@ public static unsafe class MoreChartsUiExtensions { extension(Ui ui) { - /// cui_heatmap_ex + /// Heatmap: a rows x cols matrix (values[row * cols + col]) on one hue, light to dark, with a scale below. public int Heatmap(UiText id, ReadOnlySpan values, int rows, int cols, HeatmapOpts o = default) { if (values.Length < rows * cols) throw new ArgumentException("values needs at least rows * cols entries.", nameof(values)); @@ -27,7 +27,7 @@ public int Heatmap(UiText id, ReadOnlySpan values, int rows, int cols, He return __result; } - /// cui_calendar_heatmap_ex + /// Calendar heatmap: one cell per day from start, weeks as columns, in five levels, with month and weekday labels and a Less / More legend. public int CalendarHeatmap(UiText id, Date start, ReadOnlySpan values, CalendarHeatmapOpts o = default) { var __opts = o.ToNative(); @@ -47,7 +47,7 @@ public int Treemap(UiText id, ReadOnlySpan items, TreemapOpts o = defau return __result; } - /// cui_radar_chart_ex + /// Radar chart: series over shared axes (series[i].values[axis]). public int RadarChart(UiText id, ReadOnlySpan series, ReadOnlySpan axes, RadarOpts o = default) { var __series = Utf8.AllocFrame(series.Length); @@ -58,7 +58,7 @@ public int RadarChart(UiText id, ReadOnlySpan series, ReadOnlySpancui_funnel_ex
+ /// Funnel: stages narrowing by value, with the conversion between them. public int Funnel(UiText id, ReadOnlySpan stages, FunnelOpts o = default) { var __stages = Utf8.AllocFrame(stages.Length); @@ -69,7 +69,7 @@ public int Funnel(UiText id, ReadOnlySpan stages, FunnelOpts o = defaul return __result; } - /// cui_sankey_ex + /// Sankey: flows between nodes; columns follow the links from the sources. public int Sankey(UiText id, ReadOnlySpan nodes, ReadOnlySpan links, SankeyOpts o = default) { var __links = Utf8.AllocFrame(links.Length); @@ -80,7 +80,7 @@ public int Sankey(UiText id, ReadOnlySpan nodes, ReadOnlySpancui_waffle_ex
+ /// Waffle: a 10 x 10 grid of squares split by share, with a legend. public int Waffle(UiText id, ReadOnlySpan items, WaffleOpts o = default) { var __items = Utf8.AllocFrame(items.Length); @@ -91,7 +91,7 @@ public int Waffle(UiText id, ReadOnlySpan items, WaffleOpts o = default return __result; } - /// cui_split_bar_ex + /// Split bar: one bar split into parts, with a legend of values and shares. public int SplitBar(UiText id, ReadOnlySpan items, SplitBarOpts o = default) { var __items = Utf8.AllocFrame(items.Length); @@ -102,7 +102,7 @@ public int SplitBar(UiText id, ReadOnlySpan items, SplitBarOpts o = def return __result; } - /// cui_bar_list_ex + /// Bar list: ranked horizontal bars. Rows are keyed by label, so when the values change the bars grow and the rows slide to their new rank. public int BarList(UiText id, ReadOnlySpan items, BarListOpts o = default) { var __items = Utf8.AllocFrame(items.Length); @@ -113,7 +113,7 @@ public int BarList(UiText id, ReadOnlySpan items, BarListOpts o = defau return __result; } - /// cui_activity_rings_ex + /// Activity rings: concentric progress rings; values past 1 keep winding. public int ActivityRings(UiText id, ReadOnlySpan rings, RingsOpts o = default) { var __rings = Utf8.AllocFrame(rings.Length); @@ -124,7 +124,7 @@ public int ActivityRings(UiText id, ReadOnlySpan rings, RingsOpts o = d return __result; } - /// cui_scatter_chart_ex + /// Scatter (or bubble) chart: points per series, optional sizes. public int ScatterChart(UiText id, ReadOnlySpan series, ScatterOpts o = default) { var __series = Utf8.AllocFrame(series.Length); diff --git a/src/CuiSharp/Ui/MoreComponents.g.cs b/src/CuiSharp/Ui/MoreComponents.g.cs index ddf82d7..c544c3b 100644 --- a/src/CuiSharp/Ui/MoreComponents.g.cs +++ b/src/CuiSharp/Ui/MoreComponents.g.cs @@ -13,7 +13,7 @@ public static unsafe class MoreComponentsUiExtensions { extension(Ui ui) { - /// cui_radio_cards_ex + /// Radio cards: larger selectable cards for choices that need a description (plans, templates). public bool RadioCards(UiText id, ReadOnlySpan choices, ref int index, RadioCardsOpts o = default) { var __choices = Utf8.AllocFrame(choices.Length); @@ -31,7 +31,7 @@ public LayoutScope ButtonGroup() return new LayoutScope(ui.Handle, &Native.ButtonGroupEnd, "ButtonGroup", null); } - /// Icon button that copies text to the clipboard and confirms with a check. + /// Icon button that copies text to the clipboard and confirms with a check. Keyboard focus stays on the button when the check appears or disappears. public bool CopyButton(UiText id, UiText text) { var __result = Native.CopyButton(ui.Handle, Utf8.Get(id), Utf8.Get(text)); @@ -39,7 +39,7 @@ public bool CopyButton(UiText id, UiText text) return __result != 0; } - /// cui_hold_button_ex + /// Hold to confirm: a destructive action that fills while held and fires when full. Returns true once. public bool HoldButton(UiText label, HoldOpts o = default) { var __opts = o.ToNative(); diff --git a/src/CuiSharp/Ui/MoreFeedback.g.cs b/src/CuiSharp/Ui/MoreFeedback.g.cs index 759b7c4..7f8d10d 100644 --- a/src/CuiSharp/Ui/MoreFeedback.g.cs +++ b/src/CuiSharp/Ui/MoreFeedback.g.cs @@ -13,7 +13,7 @@ public static unsafe class MoreFeedbackUiExtensions { extension(Ui ui) { - /// cui_banner_ex + /// Announcement banner across the top of a view. Collapses smoothly when dismissed (*open becomes false). Returns true when the action is clicked. public bool Banner(UiText text, ref bool open, BannerOpts o = default) { byte __open = (byte)(open ? 1 : 0); @@ -24,7 +24,7 @@ public bool Banner(UiText text, ref bool open, BannerOpts o = default) return __result != 0; } - /// * left to right in any interface: see cui__keep_ltr + /// Countdown: days, hours, minutes and seconds as tiles whose digits roll. public void Countdown(UiText id, double secondsLeft, CountdownOpts o = default) { var __opts = o.ToNative(); @@ -32,7 +32,7 @@ public void Countdown(UiText id, double secondsLeft, CountdownOpts o = default) WidgetRecorder.Note(ui.Handle, "Countdown", id); } - /// cui_checklist_ex + /// Onboarding checklist: a card with progress and steps. The first open step shows its description and action. Clicking a step's circle toggles done. Returns the index whose action was clicked, or -1. public int Checklist(UiText id, ReadOnlySpan steps, ChecklistOpts o = default) { var __steps = Utf8.AllocFrame(steps.Length); diff --git a/src/CuiSharp/Ui/MoreInputs.g.cs b/src/CuiSharp/Ui/MoreInputs.g.cs index a9b98a1..86176c6 100644 --- a/src/CuiSharp/Ui/MoreInputs.g.cs +++ b/src/CuiSharp/Ui/MoreInputs.g.cs @@ -13,7 +13,7 @@ public static unsafe class MoreInputsUiExtensions { extension(Ui ui) { - /// cui_inline_edit_ex + /// Inline edit: text that turns into a field in place. Click (or Enter when focused) to edit, Enter or clicking away saves, Esc cancels. Returns CUI_CHANGED when an edit is committed. public int InlineEdit(UiText id, ref string buf, int cap = 256, InlineEditOpts o = default) { var __bufSlot = ui.RentText(Native.MakeId(ui.Handle, Utf8.Get(id)) ^ 0x7d0ae244u, ref buf, (int)cap); @@ -24,7 +24,7 @@ public int InlineEdit(UiText id, ref string buf, int cap = 256, InlineEditOpts o return __result; } - /// cui_scrub_ex + /// Scrub field: drag sideways anywhere on it to change the value (Shift for fine steps), or click to type a number. Arrow keys step when focused. public bool Scrub(UiText label, ref float value, float min, float max, ScrubOpts o = default) { var __opts = o.ToNative(); @@ -33,7 +33,7 @@ public bool Scrub(UiText label, ref float value, float min, float max, ScrubOpts return __result != 0; } - /// cui_money_input_ex + /// Money field: shows the amount with thousands separators, edits as plain digits, keeps a fixed number of decimals. public bool MoneyInput(UiText id, ref double value, MoneyOpts o = default) { var __opts = o.ToNative(); @@ -42,7 +42,7 @@ public bool MoneyInput(UiText id, ref double value, MoneyOpts o = default) return __result != 0; } - /// * left to right in any interface: see cui__keep_ltr + /// Shortcut recorder: click and press a key combination to record it. Backspace clears, Esc cancels. Returns true when the combination changed. cui_shortcut_label formats a combination ("Ctrl Shift K"). public bool ShortcutRecorder(UiText id, ref KeyCombo combo, ShortcutRecorderOpts o = default) { var __combo = combo.ToNative(); diff --git a/src/CuiSharp/Ui/MotionAndTextEffects.g.cs b/src/CuiSharp/Ui/MotionAndTextEffects.g.cs index c73096b..63eb704 100644 --- a/src/CuiSharp/Ui/MotionAndTextEffects.g.cs +++ b/src/CuiSharp/Ui/MotionAndTextEffects.g.cs @@ -54,7 +54,7 @@ public void NumberRoll(UiText id, UiText text, TextFxOpts o = default) WidgetRecorder.Note(ui.Handle, "NumberRoll", id); } - /// cui_gradient_text_ex + /// Text painted with a gradient from one color to another; animate makes it drift. public void GradientText(UiText text, GradientTextOpts o = default) { var __opts = o.ToNative(); @@ -62,7 +62,7 @@ public void GradientText(UiText text, GradientTextOpts o = default) WidgetRecorder.Note(ui.Handle, "GradientText", text); } - /// cui_spotlight_begin + /// Spotlight card: a soft light follows the pointer across the card and lights the nearest stretch of its border. beam sends a light around the edge. public LayoutScope Spotlight(UiText id, SpotlightOpts o = default) { var __opts = o.ToNative(); @@ -77,7 +77,7 @@ public void Loader(LoaderOpts o = default) Native.Loader(ui.Handle, in __opts); } - /// cui_dock_begin + /// Dock: a row of icons that grow as the pointer passes, with labels and a dot under the running ones. Each item returns true when clicked. public LayoutScope Dock(UiText id, DockOpts o = default) { var __opts = o.ToNative(); @@ -100,7 +100,7 @@ public void DockSeparator() Native.DockSeparator(ui.Handle); } - /// cui_tab_bar_ex + /// Bottom tab bar for compact layouts, with a pill that glides to the selection. public bool TabBar(UiText id, ReadOnlySpan items, ref int selected, TabBarOpts o = default) { var __items = Utf8.AllocFrame(items.Length); @@ -111,7 +111,7 @@ public bool TabBar(UiText id, ReadOnlySpan items, ref int selected, return __result != 0; } - /// cui_control_tile_ex + /// Control tile: a large toggle with an icon, a label and a state line. public bool ControlTile(UiText label, ref bool on, TileOpts o = default) { byte __on = (byte)(on ? 1 : 0); @@ -122,7 +122,7 @@ public bool ControlTile(UiText label, ref bool on, TileOpts o = default) return __result != 0; } - /// cui_waveform_ex + /// Waveform: bars from peaks (0..1). With progress, the played part is colored and clicking or dragging seeks; returns true when it did. public bool Waveform(UiText id, ReadOnlySpan peaks, ref float progress, WaveformOpts o = default) { var __opts = o.ToNative(); @@ -131,7 +131,7 @@ public bool Waveform(UiText id, ReadOnlySpan peaks, ref float progress, W return __result != 0; } - /// cui_now_playing_ex + /// Now playing card: artwork, title, artist, a scrubber and transport buttons. public PlayerEvents NowPlaying(UiText id, ref NowPlayingState np, NowPlayingOpts o = default) { var __np = np.ToNative(); diff --git a/src/CuiSharp/Ui/Navigation.g.cs b/src/CuiSharp/Ui/Navigation.g.cs index 0697bce..65d3858 100644 --- a/src/CuiSharp/Ui/Navigation.g.cs +++ b/src/CuiSharp/Ui/Navigation.g.cs @@ -23,7 +23,7 @@ public bool Tabs(UiText id, ReadOnlySpan items, ref int index, TabsOpts return __result != 0; } - /// cui_nav_item_ex + /// Sidebar navigation item with a gliding selection highlight shared by all items in the same group. public bool NavItem(UiText label, NavOpts o = default) { var __opts = o.ToNative(); @@ -39,14 +39,14 @@ public void NavSection(UiText title) WidgetRecorder.Note(ui.Handle, "NavSection", title); } - /// cui_breadcrumb + /// returns clicked index or -1 public int Breadcrumb(ReadOnlySpan items) { var __result = Native.Breadcrumb(ui.Handle, UiMarshal.Strings(items), (int)(items.Length)); return __result; } - /// cui_pagination + /// page is 0 based public bool Pagination(UiText id, ref int page, int pageCount) { var __result = Native.Pagination(ui.Handle, Utf8.Get(id), ref page, pageCount); diff --git a/src/CuiSharp/Ui/NetworkWaterfall.g.cs b/src/CuiSharp/Ui/NetworkWaterfall.g.cs index f09d790..8d5aa06 100644 --- a/src/CuiSharp/Ui/NetworkWaterfall.g.cs +++ b/src/CuiSharp/Ui/NetworkWaterfall.g.cs @@ -13,7 +13,7 @@ public static unsafe class NetworkWaterfallUiExtensions { extension(Ui ui) { - /// cui_waterfall_ex + /// HTTP requests as a table with a timing bar each: queued, DNS, connect, TLS, waiting for the first byte and downloading, on one time scale with the page's DOMContentLoaded and load lines. Hover a bar for the breakdown. Narrow panels drop the type and size columns. Only the rows in view are built. Up and Down move the selection. public WaterfallResult Waterfall(UiText id, ReadOnlySpan requests, ref int selected, WaterfallOpts o = default) { var __requests = Utf8.AllocFrame(requests.Length); diff --git a/src/CuiSharp/Ui/NodeEditor.g.cs b/src/CuiSharp/Ui/NodeEditor.g.cs index 163419b..876292f 100644 --- a/src/CuiSharp/Ui/NodeEditor.g.cs +++ b/src/CuiSharp/Ui/NodeEditor.g.cs @@ -13,7 +13,7 @@ public static unsafe class NodeEditorUiExtensions { extension(Ui ui) { - /// cui_node_editor_begin_ex + /// Node editor: nodes with input and output pins on a canvas that pans and zooms, joined by curved links. You own the nodes, pins and links; the editor moves the node positions you pass and reports what the user did: public OpenScope NodeEditor(UiText id, ref NodeView view, NodeEditorOpts o = default) { var __view = view.ToNative(); @@ -31,7 +31,7 @@ public void NodeEditor(UiText id, ref NodeView view, DrawFn body, NodeEditorOpts if (scope) body(ui); } - /// cui_node_begin_ex + /// A node at canvas position (*x, *y), updated while it is dragged. Returns true while the node is selected. public OpenScope Node(int nodeId, ref float x, ref float y, UiText title, NodeOpts o = default) { var __opts = o.ToNative(); @@ -47,7 +47,7 @@ public void Node(int nodeId, ref float x, ref float y, UiText title, DrawFn body if (scope) body(ui); } - /// cui_node_input_ex + /// A row with a pin on the left (input) or right (output). type picks the pin color from the series palette and limits links to pins of the same type (0 connects to anything). Returns true when the pin has a link. public bool NodeInput(int pinId, UiText label, PinOpts o = default) { var __opts = o.ToNative(); @@ -56,7 +56,7 @@ public bool NodeInput(int pinId, UiText label, PinOpts o = default) return __result != 0; } - /// cui_node_output_ex + /// A row with a pin on the left (input) or right (output). type picks the pin color from the series palette and limits links to pins of the same type (0 connects to anything). Returns true when the pin has a link. public bool NodeOutput(int pinId, UiText label, PinOpts o = default) { var __opts = o.ToNative(); diff --git a/src/CuiSharp/Ui/Options.g.cs b/src/CuiSharp/Ui/Options.g.cs index 412880f..0d4144e 100644 --- a/src/CuiSharp/Ui/Options.g.cs +++ b/src/CuiSharp/Ui/Options.g.cs @@ -8,7 +8,7 @@ namespace CuiSharp; -/// cui_box. All fields are optional; zero selects native defaults. +/// Options for every container. All fields are optional. All fields are optional; zero selects the native default. public partial struct Box { /// identity for scroll state etc. (defaults to an automatic id) @@ -123,10 +123,10 @@ public partial struct Box }; } -/// cui_card_opts. All fields are optional; zero selects native defaults. +/// Card: a bordered surface with generous padding. All fields are optional; zero selects the native default. public partial struct Card { - /// const char * id + /// identity of the card, for its hover state (defaults to an automatic id) public string? Id; /// cui_size width public Size Width; @@ -138,9 +138,9 @@ public partial struct Card public float MaxWidth; /// float pad public float Pad; - /// float pad_x + /// left and right padding in points; 0 uses `pad` public float PadX; - /// float pad_y + /// top and bottom padding in points; 0 uses `pad` public float PadY; /// float gap public float Gap; @@ -178,7 +178,7 @@ public partial struct Card }; } -/// cui_scroll_opts. All fields are optional; zero selects native defaults. +/// Scroll area with smooth scrolling and overlay scrollbars. All fields are optional; zero selects the native default. public partial struct ScrollOpts { /// const char * id @@ -212,7 +212,7 @@ public partial struct ScrollOpts }; } -/// cui_split_opts. All fields are optional; zero selects native defaults. +/// Resizable split view: two panes with a draggable divider. `ratio` is the size of the first pane in 0..1. Call cui_split_next between the panes. All fields are optional; zero selects the native default. public partial struct SplitOpts { /// _Bool vertical @@ -237,7 +237,7 @@ public partial struct SplitOpts }; } -/// cui_text_opts. All fields are optional; zero selects native defaults. +/// cui_text_opts. All fields are optional; zero selects the native default. public partial struct TextOpts { /// default CUI_FONT_BODY (0) @@ -277,7 +277,7 @@ public partial struct TextOpts }; } -/// cui_button_opts. All fields are optional; zero selects native defaults. +/// cui_button_opts. All fields are optional; zero selects the native default. public partial struct ButtonOpts { /// cui_button_variant variant @@ -323,7 +323,7 @@ public partial struct ButtonOpts }; } -/// cui_segmented_opts. All fields are optional; zero selects native defaults. +/// Segmented control: a row of options with a gliding highlight. All fields are optional; zero selects the native default. public partial struct SegmentedOpts { /// cui_control_size size @@ -342,7 +342,7 @@ public partial struct SegmentedOpts }; } -/// cui_check_opts. All fields are optional; zero selects native defaults. +/// cui_check_opts. All fields are optional; zero selects the native default. public partial struct CheckOpts { /// const char * description @@ -361,7 +361,7 @@ public partial struct CheckOpts }; } -/// cui_slider_opts. All fields are optional; zero selects native defaults. +/// cui_slider_opts. All fields are optional; zero selects the native default. public partial struct SliderOpts { /// 0 = continuous @@ -386,7 +386,7 @@ public partial struct SliderOpts }; } -/// cui_chip_opts. All fields are optional; zero selects native defaults. +/// cui_chip_opts. All fields are optional; zero selects the native default. public partial struct ChipOpts { /// const char * icon @@ -402,7 +402,7 @@ public partial struct ChipOpts }; } -/// cui_input_opts. All fields are optional; zero selects native defaults. +/// cui_input_opts. All fields are optional; zero selects the native default. public partial struct InputOpts { /// label above the field @@ -415,7 +415,7 @@ public partial struct InputOpts public string? Hint; /// error text below (red) public string? Error; - /// _Bool password + /// shows dots instead of the text, with an eye button that reveals it public bool Password; /// _Bool disabled public bool Disabled; @@ -457,7 +457,7 @@ public partial struct InputOpts }; } -/// cui_number_opts. All fields are optional; zero selects native defaults. +/// cui_number_opts. All fields are optional; zero selects the native default. public partial struct NumberOpts { /// const char * label @@ -470,7 +470,7 @@ public partial struct NumberOpts public bool Disabled; /// cui_size width public Size Width; - /// const char * suffix + /// muted text after the value, before the - and + buttons, e.g. "kg" public string? Suffix; internal readonly NativeNumberOpts ToNative() => new() @@ -485,7 +485,7 @@ public partial struct NumberOpts }; } -/// cui_select_opts. All fields are optional; zero selects native defaults. +/// cui_select_opts. All fields are optional; zero selects the native default. public partial struct SelectOpts { /// const char * label @@ -513,7 +513,7 @@ public partial struct SelectOpts }; } -/// cui_date_opts. All fields are optional; zero selects native defaults. +/// cui_date_opts. All fields are optional; zero selects the native default. public partial struct DateOpts { /// const char * label @@ -532,7 +532,7 @@ public partial struct DateOpts }; } -/// cui_tabs_opts. All fields are optional; zero selects native defaults. +/// cui_tabs_opts. All fields are optional; zero selects the native default. public partial struct TabsOpts { /// cui_tabs_variant variant @@ -551,16 +551,16 @@ public partial struct TabsOpts }; } -/// cui_nav_opts. All fields are optional; zero selects native defaults. +/// Sidebar navigation item with a gliding selection highlight shared by all items in the same group. All fields are optional; zero selects the native default. public partial struct NavOpts { /// const char * icon public string? Icon; - /// const char * badge + /// small text at the right edge of the item, e.g. a count public string? Badge; - /// _Bool selected + /// the current page: medium weight text, and the group's highlight glides to it public bool Selected; - /// const char * group + /// items with the same group name share one highlight; `NULL` puts them in one common group public string? Group; internal readonly NativeNavOpts ToNative() => new() @@ -573,7 +573,7 @@ public partial struct NavOpts }; } -/// cui_popover_opts. All fields are optional; zero selects native defaults. +/// Popover anchored to the previous component. Toggle it with cui_popover_toggle / cui_popover_open. All fields are optional; zero selects the native default. public partial struct PopoverOpts { /// cui_placement placement @@ -595,7 +595,7 @@ public partial struct PopoverOpts }; } -/// cui_tour_opts. All fields are optional; zero selects native defaults. +/// cui_tour_opts. All fields are optional; zero selects the native default. public partial struct TourOpts { /// the card, default 300 @@ -626,7 +626,7 @@ public partial struct TourOpts }; } -/// cui_menu_opts. All fields are optional; zero selects native defaults. +/// Dropdown menu: a button that opens a menu. Items return true when chosen. All fields are optional; zero selects the native default. public partial struct MenuOpts { /// const char * icon @@ -637,7 +637,7 @@ public partial struct MenuOpts public Placement Placement; /// float width public float Width; - /// _Bool icon_only + /// an icon button (the ellipsis unless `icon` is set) with the label as its tooltip public bool IconOnly; internal readonly NativeMenuOpts ToNative() => new() @@ -651,7 +651,7 @@ public partial struct MenuOpts }; } -/// cui_menu_item_opts. All fields are optional; zero selects native defaults. +/// cui_menu_item_opts. All fields are optional; zero selects the native default. public partial struct MenuItemOpts { /// const char * icon @@ -662,7 +662,7 @@ public partial struct MenuItemOpts public bool Danger; /// _Bool disabled public bool Disabled; - /// _Bool checked + /// a check mark at the right edge of the item public bool Checked; internal readonly NativeMenuItemOpts ToNative() => new() @@ -676,14 +676,14 @@ public partial struct MenuItemOpts }; } -/// cui_dialog_opts. All fields are optional; zero selects native defaults. +/// cui_dialog_opts. All fields are optional; zero selects the native default. public partial struct DialogOpts { /// const char * description public string? Description; /// default 440 public float Width; - /// _Bool no_close_button + /// hides the x in the corner (Esc and a click outside still close it unless `persistent`) public bool NoCloseButton; /// clicking outside or Esc does not close public bool Persistent; @@ -698,7 +698,7 @@ public partial struct DialogOpts }; } -/// cui_sheet_opts. All fields are optional; zero selects native defaults. +/// cui_sheet_opts. All fields are optional; zero selects the native default. public partial struct SheetOpts { /// cui_side side @@ -717,7 +717,7 @@ public partial struct SheetOpts }; } -/// cui_toast_opts. All fields are optional; zero selects native defaults. +/// cui_toast_opts. All fields are optional; zero selects the native default. public partial struct ToastOpts { /// const char * description @@ -742,7 +742,7 @@ public partial struct ToastOpts }; } -/// cui_alert_opts. All fields are optional; zero selects native defaults. +/// cui_alert_opts. All fields are optional; zero selects the native default. public partial struct AlertOpts { /// const char * description @@ -764,7 +764,7 @@ public partial struct AlertOpts }; } -/// cui_progress_opts. All fields are optional; zero selects native defaults. +/// cui_progress_opts. All fields are optional; zero selects the native default. public partial struct ProgressOpts { /// _Bool indeterminate @@ -792,14 +792,14 @@ public partial struct ProgressOpts }; } -/// cui_badge_opts. All fields are optional; zero selects native defaults. +/// cui_badge_opts. All fields are optional; zero selects the native default. public partial struct BadgeOpts { /// cui_tone tone public Tone Tone; - /// _Bool dot + /// a small dot before the text, in the tone's color public bool Dot; - /// _Bool solid + /// filled with the tone's color instead of a light tint of it public bool Solid; /// const char * icon public string? Icon; @@ -817,16 +817,16 @@ public partial struct BadgeOpts }; } -/// cui_avatar_opts. All fields are optional; zero selects native defaults. +/// cui_avatar_opts. All fields are optional; zero selects the native default. public partial struct AvatarOpts { /// float size public float Size; - /// cui_texture image + /// picture to show instead of the initials of the name public ulong Image; - /// const char * status + /// a dot at the bottom right: "online" green, "busy" red, "away" amber, anything else gray public string? Status; - /// _Bool square + /// rounded square instead of a circle public bool Square; internal readonly NativeAvatarOpts ToNative() => new() @@ -839,14 +839,14 @@ public partial struct AvatarOpts }; } -/// cui_empty_opts. All fields are optional; zero selects native defaults. +/// cui_empty_opts. All fields are optional; zero selects the native default. public partial struct EmptyOpts { /// const char * icon public string? Icon; /// const char * description public string? Description; - /// const char * action + /// label of a button under the text; the call returns true when it is clicked public string? Action; internal readonly NativeEmptyOpts ToNative() => new() @@ -858,14 +858,14 @@ public partial struct EmptyOpts }; } -/// cui_metric_opts. All fields are optional; zero selects native defaults. +/// cui_metric_opts. All fields are optional; zero selects the native default. public partial struct MetricOpts { - /// float delta + /// change shown beside the value with a trend arrow, as a percentage (4.2 shows +4.2%); 0 hides it public float Delta; - /// const char * delta_label + /// text shown instead of the percentage, e.g. "+12 this week"; `delta` still sets arrow and color public string? DeltaLabel; - /// const float * spark + /// values for a sparkline under the value; needs at least 2 public float[]? Spark; /// const char * icon public string? Icon; @@ -887,14 +887,14 @@ public partial struct MetricOpts }; } -/// cui_tree_opts. All fields are optional; zero selects native defaults. +/// Tree view node. All fields are optional; zero selects the native default. public partial struct TreeOpts { /// const char * icon public string? Icon; - /// _Bool leaf + /// a node without children: no chevron, a file icon, and `*open` is left alone public bool Leaf; - /// _Bool selected + /// drawn with the active background and medium weight text public bool Selected; internal readonly NativeTreeOpts ToNative() => new() @@ -906,18 +906,18 @@ public partial struct TreeOpts }; } -/// cui_list_item_opts. All fields are optional; zero selects native defaults. +/// List item: a selectable row with optional icon, subtitle and trailing text. All fields are optional; zero selects the native default. public partial struct ListItemOpts { /// const char * icon public string? Icon; - /// const char * subtitle + /// second line under the title, smaller; makes the row taller public string? Subtitle; - /// const char * trailing + /// muted text at the right edge, e.g. a time or a count public string? Trailing; - /// _Bool selected + /// drawn with the active background public bool Selected; - /// const char * avatar + /// a name: shows that person's avatar (initials) in place of the icon public string? Avatar; internal readonly NativeListItemOpts ToNative() => new() @@ -931,16 +931,16 @@ public partial struct ListItemOpts }; } -/// cui_table_opts. All fields are optional; zero selects native defaults. +/// cui_table_opts. All fields are optional; zero selects the native default. public partial struct TableOpts { /// scrolls when set public Size Height; /// _Bool striped public bool Striped; - /// _Bool compact + /// rows at least 36 points tall instead of 44 public bool Compact; - /// _Bool selectable + /// rows take keyboard focus and show the hand cursor (pass the chosen row's state to `cui_table_row`) public bool Selectable; internal readonly NativeTableOpts ToNative(nint sort) => new() @@ -954,7 +954,7 @@ public partial struct TableOpts }; } -/// cui_chart_opts. All fields are optional; zero selects native defaults. +/// cui_chart_opts. All fields are optional; zero selects the native default. public partial struct ChartOpts { /// cui_size width @@ -979,6 +979,8 @@ public partial struct ChartOpts public float Min; /// fixed y range when min != max public float Max; + /// lines and points drawn over the chart (line and bar charts) + public ChartAnnotation[]? Annotations; /// C# only: Upper bound on drawn points. 0 derives twice the viewport width; longer series are min/max decimated into the frame arena. public int MaxPoints; /// C# only: Scale each series against its own first finite nonzero sample so series of different magnitudes compare by shape; see ChartNormalizer. @@ -999,19 +1001,21 @@ public partial struct ChartOpts Format = Utf8.Get(Format), Min = Min, Max = Max, + Annotations = ChartAnnotation.ToFrameArray(Annotations), + AnnotationCount = Annotations?.Length ?? 0, }; } -/// cui_image_opts. All fields are optional; zero selects native defaults. +/// cui_image_opts. All fields are optional; zero selects the native default. public partial struct ImageOpts { /// cui_size width public Size Width; /// cui_size height public Size Height; - /// float radius + /// corner radius in points public float Radius; - /// cui_color tint + /// color the image is multiplied by; unset draws it as it is public Color Tint; internal readonly NativeImageOpts ToNative() => new() @@ -1024,7 +1028,7 @@ public partial struct ImageOpts }; } -/// cui_image_viewer_opts. All fields are optional; zero selects native defaults. +/// cui_image_viewer_opts. All fields are optional; zero selects the native default. public partial struct ImageViewerOpts { /// default the width it gets and 360 @@ -1049,7 +1053,7 @@ public partial struct ImageViewerOpts }; } -/// cui_cropper_opts. All fields are optional; zero selects native defaults. +/// Cropper: a crop rectangle over a picture, in image pixels. Drag inside to move it, drag a corner or an edge to resize it; the outside dims and thirds lines show while you drag. With it focused, the arrows move the crop (Shift for 10 pixels). A zeroed crop starts as the largest centered rectangle of the aspect. All fields are optional; zero selects the native default. public partial struct CropperOpts { /// default the width it gets and 360 @@ -1074,10 +1078,10 @@ public partial struct CropperOpts }; } -/// cui_radio_cards_opts. All fields are optional; zero selects native defaults. +/// Radio cards: larger selectable cards for choices that need a description (plans, templates). All fields are optional; zero selects the native default. public partial struct RadioCardsOpts { - /// int columns + /// cards per row; 0 puts up to 3 choices in one row and more in 2 columns public int Columns; internal readonly NativeRadioCardsOpts ToNative() => new() @@ -1087,14 +1091,14 @@ public partial struct RadioCardsOpts }; } -/// cui_tag_opts. All fields are optional; zero selects native defaults. +/// Tag input: tags are stored comma separated in buf. Enter or comma adds the typed tag, Backspace on an empty field removes the last one. All fields are optional; zero selects the native default. public partial struct TagOpts { /// const char * label public string? Label; /// const char * placeholder public string? Placeholder; - /// int max_tags + /// most tags the field holds; once reached it takes no more typing. 0 means no limit public int MaxTags; /// cui_size width public Size Width; @@ -1109,10 +1113,10 @@ public partial struct TagOpts }; } -/// cui_hold_opts. All fields are optional; zero selects native defaults. +/// Hold to confirm: a destructive action that fills while held and fires when full. Returns true once. All fields are optional; zero selects the native default. public partial struct HoldOpts { - /// float duration + /// seconds the button must be held before it fires, default 1.2 public float Duration; /// const char * icon public string? Icon; @@ -1128,10 +1132,10 @@ public partial struct HoldOpts }; } -/// cui_timeline_opts. All fields are optional; zero selects native defaults. +/// Activity timeline item. All fields are optional; zero selects the native default. public partial struct TimelineOpts { - /// const char * time + /// muted text at the right of the title, e.g. "2h ago" public string? Time; /// const char * description public string? Description; @@ -1139,7 +1143,7 @@ public partial struct TimelineOpts public string? Icon; /// cui_tone tone public Tone Tone; - /// _Bool last + /// the final item: no connector line below its dot and no space after it public bool Last; internal readonly NativeTimelineOpts ToNative() => new() @@ -1153,7 +1157,7 @@ public partial struct TimelineOpts }; } -/// cui_split_button_opts. All fields are optional; zero selects native defaults. +/// Split button: a main action with a menu of related actions on the chevron. Returns 0 when the main part is clicked, 1 + i when menu item i is chosen and -1 otherwise. All fields are optional; zero selects the native default. public partial struct SplitButtonOpts { /// default primary @@ -1162,7 +1166,7 @@ public partial struct SplitButtonOpts public ControlSize Size; /// const char * icon public string? Icon; - /// const char *const * item_icons + /// one icon per menu item, in the order of the items; `NULL` for none public string[]? ItemIcons; /// _Bool disabled public bool Disabled; @@ -1178,14 +1182,14 @@ public partial struct SplitButtonOpts }; } -/// cui_toggle_group_opts. All fields are optional; zero selects native defaults. +/// Toggle group: a row of toggles (bold, italic...). values[i] is toggled when item i is clicked; with exclusive set exactly one stays on. Labels become tooltips when icon_only is set. Returns true when a value changed. All fields are optional; zero selects the native default. public partial struct ToggleGroupOpts { /// const char *const * icons public string[]? Icons; - /// _Bool exclusive + /// clicking an item turns it on and every other one off, like radio buttons public bool Exclusive; - /// _Bool icon_only + /// items that have an icon show only the icon, with their label as the tooltip public bool IconOnly; /// cui_control_size size public ControlSize Size; @@ -1200,7 +1204,7 @@ public partial struct ToggleGroupOpts }; } -/// cui_confirm_opts. All fields are optional; zero selects native defaults. +/// Two step destructive button: the first click morphs it into a confirm state with a countdown, the second click confirms. Returns true once. All fields are optional; zero selects the native default. public partial struct ConfirmOpts { /// default "Click to confirm" @@ -1225,7 +1229,7 @@ public partial struct ConfirmOpts }; } -/// cui_status_button_opts. All fields are optional; zero selects native defaults. +/// cui_status_button_opts. All fields are optional; zero selects the native default. public partial struct StatusButtonOpts { /// default label + "..." @@ -1253,7 +1257,7 @@ public partial struct StatusButtonOpts }; } -/// cui_speed_dial_opts. All fields are optional; zero selects native defaults. +/// Speed dial: a round floating action button that fans out related actions. Returns the chosen action index, or -1. All fields are optional; zero selects the native default. public partial struct SpeedDialOpts { /// const char * icon @@ -1272,16 +1276,16 @@ public partial struct SpeedDialOpts }; } -/// cui_user_menu_opts. All fields are optional; zero selects native defaults. +/// User menu: an avatar, a name and a line of detail that opens a menu of account actions. Put menu items between begin and end. All fields are optional; zero selects the native default. public partial struct UserMenuOpts { - /// const char * detail + /// second line under the name, e.g. an email address; also in the menu's header public string? Detail; - /// const char * status + /// status dot on the avatar: "online", "busy", "away" or anything else (gray) public string? Status; - /// cui_texture avatar + /// picture for the avatar instead of the name's initials public ulong Avatar; - /// _Bool compact + /// only the avatar as the button, as wide as it needs; the menu then opens below it public bool Compact; /// cui_placement placement public Placement Placement; @@ -1300,7 +1304,7 @@ public partial struct UserMenuOpts }; } -/// cui_grid_opts. All fields are optional; zero selects native defaults. +/// cui_grid_opts. All fields are optional; zero selects the native default. public partial struct GridOpts { /// default fill @@ -1329,7 +1333,7 @@ public partial struct GridOpts }; } -/// cui_tree_table_opts. All fields are optional; zero selects native defaults. +/// cui_tree_table_opts. All fields are optional; zero selects the native default. public partial struct TreeTableOpts { /// default fill @@ -1358,7 +1362,7 @@ public partial struct TreeTableOpts }; } -/// cui_path_bar_opts. All fields are optional; zero selects native defaults. +/// Path bar: a breadcrumb for file and scene paths. Segments are clickable, the last one is the current place. Middle segments that do not fit collapse into a "..." menu. With .menus, the chevron after segment k opens a menu you fill with the children of segment k (cui_path_bar_menu_begin). Click the empty part (or the current segment), or press Ctrl+L, to type a path: Enter submits it, Esc or clicking away cancels. All fields are optional; zero selects the native default. public partial struct PathBarOpts { /// before the first segment @@ -1389,7 +1393,7 @@ public partial struct PathBarOpts }; } -/// cui_file_browser_opts. All fields are optional; zero selects native defaults. +/// cui_file_browser_opts. All fields are optional; zero selects the native default. public partial struct FileBrowserOpts { /// default fill and 380 @@ -1398,13 +1402,13 @@ public partial struct FileBrowserOpts public Size Height; /// patterns that files must match, e.g. "*.png;*.jpg"; folders always show public string? Filter; - /// _Bool folders_only + /// lists folders and leaves the files out public bool FoldersOnly; /// show hidden files public bool Hidden; /// the sidebar of places public bool NoPlaces; - /// sidebar paths, default home, desktop, documents, downloads and the root + /// full paths for the sidebar, each shown by its last part; at most 6 public string[]? Places; /// default 20,000 public int MaxEntries; @@ -1426,7 +1430,7 @@ public partial struct FileBrowserOpts }; } -/// cui_file_picker_opts. All fields are optional; zero selects native defaults. +/// cui_file_picker_opts. All fields are optional; zero selects the native default. public partial struct FilePickerOpts { /// default "Open", "Save" or "Choose a folder" @@ -1459,14 +1463,14 @@ public partial struct FilePickerOpts }; } -/// cui_code_opts. All fields are optional; zero selects native defaults. +/// Code block with syntax highlighting (lang: "c", "cpp", "js", "ts", "python", "rust", "go", "json", "shell", or "text" for none), line numbers, a title bar and a copy button. Long lines scroll sideways. All fields are optional; zero selects the native default. public partial struct CodeOpts { - /// const char * lang + /// "c", "cpp", "js", "ts", "python", "rust", "go", "json", "shell" or "text" (no colors); shown in the title bar public string? Lang; /// e.g. a file name public string? Title; - /// _Bool line_numbers + /// a column of line numbers on the left public bool LineNumbers; /// 1 based line range to emphasize public int HighlightFrom; @@ -1493,12 +1497,12 @@ public partial struct CodeOpts }; } -/// cui_json_opts. All fields are optional; zero selects native defaults. +/// JSON viewer: a collapsible tree with typed colors and item counts. Returns false when the text is not valid JSON (and shows the error). All fields are optional; zero selects the native default. public partial struct JsonOpts { - /// int expand_depth + /// levels of the tree that start open, default 2 public int ExpandDepth; - /// float max_height + /// points; taller content scrolls. 0 shows everything public float MaxHeight; internal readonly NativeJsonOpts ToNative() => new() @@ -1509,7 +1513,7 @@ public partial struct JsonOpts }; } -/// cui_markdown_opts. All fields are optional; zero selects native defaults. +/// Markdown view: renders your markdown text (UTF-8) as native content, every frame, without keeping a copy: All fields are optional; zero selects the native default. public partial struct MarkdownOpts { /// default fill @@ -1540,7 +1544,7 @@ public partial struct MarkdownOpts }; } -/// cui_code_editor_opts. All fields are optional; zero selects native defaults. +/// cui_code_editor_opts. All fields are optional; zero selects the native default. public partial struct CodeEditorOpts { /// as cui_code_block: "c", "cpp", "js", "ts", "python", "rust", "go", "json", "shell"; "text" for none @@ -1557,7 +1561,7 @@ public partial struct CodeEditorOpts public bool UseTabs; /// _Bool read_only public bool ReadOnly; - /// _Bool no_line_numbers + /// hides the gutter of line numbers public bool NoLineNumbers; /// _Bool autofocus public bool Autofocus; @@ -1565,8 +1569,6 @@ public partial struct CodeEditorOpts public string? Placeholder; /// ranges to highlight (search results, regex matches), sorted by start public TextMark[]? Marks; - /// int mark_count - public int MarkCount; internal readonly NativeCodeEditorOpts ToNative() => new() { @@ -1582,11 +1584,11 @@ public partial struct CodeEditorOpts Autofocus = (byte)(Autofocus ? 1 : 0), Placeholder = Utf8.Get(Placeholder), Marks = TextMark.ToFrameArray(Marks), - MarkCount = MarkCount, + MarkCount = Marks?.Length ?? 0, }; } -/// cui_diff_opts. All fields are optional; zero selects native defaults. +/// cui_diff_opts. All fields are optional; zero selects the native default. public partial struct DiffOpts { /// cui_diff_mode mode @@ -1630,14 +1632,14 @@ public partial struct DiffOpts }; } -/// cui_chat_opts. All fields are optional; zero selects native defaults. +/// Chat message bubble. Consecutive messages from one person set grouped so they stack tightly and show the avatar once. All fields are optional; zero selects the native default. public partial struct ChatOpts { /// right aligned, accent bubble public bool Mine; /// name above the first bubble of a group public string? Author; - /// const char * time + /// shown after the author's name; on your own messages after `status` public string? Time; /// under your own last message, e.g. "Read" public string? Status; @@ -1645,7 +1647,7 @@ public partial struct ChatOpts public bool Grouped; /// shows the avatar (others) and status (mine) public bool LastInGroup; - /// cui_texture avatar + /// picture for the sender's avatar instead of initials (other people's messages) public ulong Avatar; /// render the text with cui_markdown (compact, as wide as it needs) public bool Markdown; @@ -1665,16 +1667,16 @@ public partial struct ChatOpts }; } -/// cui_comment_opts. All fields are optional; zero selects native defaults. +/// cui_comment_opts. All fields are optional; zero selects the native default. public partial struct CommentOpts { - /// const char * time + /// muted text after the author's name, e.g. "2h ago" public string? Time; - /// int depth + /// 0 for a top level comment; each level indents a reply 44 points under a connector line public int Depth; - /// _Bool edited + /// adds "edited" after the time public bool Edited; - /// const char * badge + /// small badge after the author's name, e.g. "Author" public string? Badge; internal readonly NativeCommentOpts ToNative(nint likes, nint liked) => new() @@ -1689,20 +1691,20 @@ public partial struct CommentOpts }; } -/// cui_carousel_opts. All fields are optional; zero selects native defaults. +/// Carousel: slides that you swipe, drag, scroll or page with the arrows and dots. Build every slide between begin and end: cui_carousel(ui, "tour", 4, &index, .height = 220) { for (int k = 0; k < 4; k++) cui_carousel_slide(ui) { ... } } All fields are optional; zero selects the native default. public partial struct CarouselOpts { /// float height public float Height; - /// float auto_advance + /// seconds on a slide before it moves to the next, paused while hovered; 0 turns it off public float AutoAdvance; /// float gap public float Gap; - /// _Bool no_arrows + /// hides the previous and next arrows that show on hover public bool NoArrows; - /// _Bool no_dots + /// hides the row of page dots under the slides public bool NoDots; - /// _Bool loop + /// past the last slide comes the first again, and back from the first the last public bool Loop; internal readonly NativeCarouselOpts ToNative() => new() @@ -1717,16 +1719,16 @@ public partial struct CarouselOpts }; } -/// cui_compare_opts. All fields are optional; zero selects native defaults. +/// Before and after: drag the divider to compare two images. *pos is 0..1. All fields are optional; zero selects the native default. public partial struct CompareOpts { /// cui_size width public Size Width; /// float height public float Height; - /// const char * before_label + /// caption in the top left corner, default "Before" public string? BeforeLabel; - /// const char * after_label + /// caption in the top right corner, default "After" public string? AfterLabel; /// the images' width / height: they are cropped to fill, never stretched public float Aspect; @@ -1742,14 +1744,14 @@ public partial struct CompareOpts }; } -/// cui_card_stack_opts. All fields are optional; zero selects native defaults. +/// Card stack: a deck where the top card can be flicked away left or right. Build `count` cards; card 0 is the top. end returns -1 or 1 on the frame the top card leaves (to the left or right), else 0. All fields are optional; zero selects the native default. public partial struct CardStackOpts { /// cui_size width public Size Width; /// float height public float Height; - /// int visible + /// cards of the deck that show at once, default 3 public int Visible; internal readonly NativeCardStackOpts ToNative() => new() @@ -1761,18 +1763,18 @@ public partial struct CardStackOpts }; } -/// cui_counter_opts. All fields are optional; zero selects native defaults. +/// Odometer: a number whose digits roll to their new values. All fields are optional; zero selects the native default. public partial struct CounterOpts { /// const char * format public string? Format; /// float size public float Size; - /// cui_font font + /// default `CUI_FONT_DISPLAY` public Font Font; /// cui_color color public Color Color; - /// _Bool group_thousands + /// commas between thousands: 48210 shows as 48,210 public bool GroupThousands; internal readonly NativeCounterOpts ToNative() => new() @@ -1786,10 +1788,10 @@ public partial struct CounterOpts }; } -/// cui_ticker_opts. All fields are optional; zero selects native defaults. +/// Ticker: items that scroll by continuously, pausing on hover. All fields are optional; zero selects the native default. public partial struct TickerOpts { - /// float speed + /// points per second, default 40 public float Speed; /// float height public float Height; @@ -1802,12 +1804,12 @@ public partial struct TickerOpts }; } -/// cui_heatmap_opts. All fields are optional; zero selects native defaults. +/// Heatmap: a rows x cols matrix (values[row * cols + col]) on one hue, light to dark, with a scale below. All fields are optional; zero selects the native default. public partial struct HeatmapOpts { - /// const char *const * row_labels + /// one label per row, left of the grid; `NULL` for none public string[]? RowLabels; - /// const char *const * col_labels + /// one label per column, under the grid; labels that would overlap are skipped public string[]? ColLabels; /// cell size, default fits the width public float Cell; @@ -1836,10 +1838,10 @@ public partial struct HeatmapOpts }; } -/// cui_calendar_heatmap_opts. All fields are optional; zero selects native defaults. +/// Calendar heatmap: one cell per day from start, weeks as columns, in five levels, with month and weekday labels and a Less / More legend. All fields are optional; zero selects the native default. public partial struct CalendarHeatmapOpts { - /// float cell + /// size of a day's square in points, default 11 public float Cell; /// cui_color color public Color Color; @@ -1858,7 +1860,7 @@ public partial struct CalendarHeatmapOpts }; } -/// cui_treemap_opts. All fields are optional; zero selects native defaults. +/// cui_treemap_opts. All fields are optional; zero selects the native default. public partial struct TreemapOpts { /// cui_size width @@ -1877,12 +1879,12 @@ public partial struct TreemapOpts }; } -/// cui_radar_opts. All fields are optional; zero selects native defaults. +/// Radar chart: series over shared axes (series[i].values[axis]). All fields are optional; zero selects the native default. public partial struct RadarOpts { /// float size public float Size; - /// float max + /// value at the outer ring; 0 picks a round number above the largest value public float Max; /// const char * format public string? Format; @@ -1899,7 +1901,7 @@ public partial struct RadarOpts }; } -/// cui_funnel_opts. All fields are optional; zero selects native defaults. +/// Funnel: stages narrowing by value, with the conversion between them. All fields are optional; zero selects the native default. public partial struct FunnelOpts { /// cui_size width @@ -1921,7 +1923,7 @@ public partial struct FunnelOpts }; } -/// cui_sankey_opts. All fields are optional; zero selects native defaults. +/// Sankey: flows between nodes; columns follow the links from the sources. All fields are optional; zero selects the native default. public partial struct SankeyOpts { /// cui_size width @@ -1930,7 +1932,7 @@ public partial struct SankeyOpts public float Height; /// const char * format public string? Format; - /// float node_width + /// width of the node bars in points, default 12 public float NodeWidth; internal readonly NativeSankeyOpts ToNative() => new() @@ -1943,14 +1945,14 @@ public partial struct SankeyOpts }; } -/// cui_waffle_opts. All fields are optional; zero selects native defaults. +/// Waffle: a 10 x 10 grid of squares split by share, with a legend. All fields are optional; zero selects the native default. public partial struct WaffleOpts { - /// float cell + /// size of a square in points, default 18 public float Cell; - /// int columns + /// squares per row, at most 60; default 10 public int Columns; - /// int rows + /// rows of squares, at most 60; default 10 public int Rows; /// const char * format public string? Format; @@ -1965,7 +1967,7 @@ public partial struct WaffleOpts }; } -/// cui_split_bar_opts. All fields are optional; zero selects native defaults. +/// Split bar: one bar split into parts, with a legend of values and shares. All fields are optional; zero selects the native default. public partial struct SplitBarOpts { /// cui_size width @@ -1987,16 +1989,16 @@ public partial struct SplitBarOpts }; } -/// cui_bar_list_opts. All fields are optional; zero selects native defaults. +/// Bar list: ranked horizontal bars. Rows are keyed by label, so when the values change the bars grow and the rows slide to their new rank. All fields are optional; zero selects the native default. public partial struct BarListOpts { /// cui_size width public Size Width; /// const char * format public string? Format; - /// int max_rows + /// shows only this many rows from the top; 0 shows all public int MaxRows; - /// _Bool keep_order + /// keeps the items in the order given instead of sorting them largest first public bool KeepOrder; /// cui_color color public Color Color; @@ -2012,16 +2014,16 @@ public partial struct BarListOpts }; } -/// cui_rings_opts. All fields are optional; zero selects native defaults. +/// Activity rings: concentric progress rings; values past 1 keep winding. All fields are optional; zero selects the native default. public partial struct RingsOpts { - /// names and shares beside the rings + /// float size public float Size; - /// names and shares beside the rings + /// width of each ring in points; 0 uses a tenth of `size`, at least 8 public float Thickness; - /// names and shares beside the rings + /// large text in the middle of the rings, e.g. a total public string? Center; - /// names and shares beside the rings + /// small muted text under `center`; shown only with `center` public string? Caption; /// names and shares beside the rings public bool Legend; @@ -2037,20 +2039,20 @@ public partial struct RingsOpts }; } -/// cui_scatter_opts. All fields are optional; zero selects native defaults. +/// Scatter (or bubble) chart: points per series, optional sizes. All fields are optional; zero selects the native default. public partial struct ScatterOpts { /// cui_size width public Size Width; /// float height public float Height; - /// const char * x_label + /// title under the x axis; also names the x value in the tooltip public string? XLabel; - /// const char * y_label + /// title above the y axis; also names the y value in the tooltip public string? YLabel; - /// const char * x_format + /// printf format for the x axis labels and the tooltip public string? XFormat; - /// const char * y_format + /// printf format for the y axis labels and the tooltip public string? YFormat; /// _Bool no_legend public bool NoLegend; @@ -2068,7 +2070,7 @@ public partial struct ScatterOpts }; } -/// cui_radial_gauge_opts. All fields are optional; zero selects native defaults. +/// cui_radial_gauge_opts. All fields are optional; zero selects the native default. public partial struct RadialGaugeOpts { /// under the value @@ -2081,15 +2083,13 @@ public partial struct RadialGaugeOpts public float Size; /// degrees of arc, default 240 (90 to 300) public float Sweep; - /// const cui_gauge_band * bands + /// colored stretches of the arc, each from the one before up to its `to`; at most 16 public GaugeBand[]? Bands; - /// int band_count - public int BandCount; /// labelled divisions, default 5; -1 hides the ticks public int Ticks; /// a marker on the arc, when show_target is set public float Target; - /// _Bool show_target + /// draws the marker at `target` public bool ShowTarget; /// a thick arc filled to the value instead of a needle public bool NoNeedle; @@ -2103,7 +2103,7 @@ public partial struct RadialGaugeOpts Size = Size, Sweep = Sweep, Bands = GaugeBand.ToFrameArray(Bands), - BandCount = BandCount, + BandCount = Bands?.Length ?? 0, Ticks = Ticks, Target = Target, ShowTarget = (byte)(ShowTarget ? 1 : 0), @@ -2111,7 +2111,7 @@ public partial struct RadialGaugeOpts }; } -/// cui_candlestick_opts. All fields are optional; zero selects native defaults. +/// cui_candlestick_opts. All fields are optional; zero selects the native default. public partial struct CandlestickOpts { /// cui_size width @@ -2122,10 +2122,8 @@ public partial struct CandlestickOpts public string[]? Labels; /// prices, default "%.2f" public string? Format; - /// lines with one value per candle, e.g. moving averages + /// series drawn as lines over the candles; at most 4 public Series[]? Overlays; - /// lines with one value per candle, e.g. moving averages - public int OverlayCount; /// volume bars show when any candle has volume public bool NoVolume; /// OHLC bars instead of candle bodies @@ -2143,7 +2141,7 @@ public partial struct CandlestickOpts Labels = UiMarshal.Strings(Labels), Format = Utf8.Get(Format), Overlays = Series.ToFrameArray(Overlays), - OverlayCount = OverlayCount, + OverlayCount = Overlays?.Length ?? 0, NoVolume = (byte)(NoVolume ? 1 : 0), Ohlc = (byte)(Ohlc ? 1 : 0), Up = UiMarshal.ToNative(Up), @@ -2151,10 +2149,10 @@ public partial struct CandlestickOpts }; } -/// cui_text_fx_opts. All fields are optional; zero selects native defaults. +/// Motion and text effects All of these respect reduced motion: they show their final state. All fields are optional; zero selects the native default. public partial struct TextFxOpts { - /// cui_font font + /// default `CUI_FONT_BODY` (0) public Font Font; /// float size public float Size; @@ -2162,7 +2160,7 @@ public partial struct TextFxOpts public Color Color; /// cui_size width public Size Width; - /// _Bool nowrap + /// keeps the text on one line instead of wrapping it public bool Nowrap; /// shimmer: sweeps per second; typewriter: characters per second public float Speed; @@ -2185,18 +2183,18 @@ public partial struct TextFxOpts }; } -/// cui_gradient_text_opts. All fields are optional; zero selects native defaults. +/// Text painted with a gradient from one color to another; animate makes it drift. All fields are optional; zero selects the native default. public partial struct GradientTextOpts { - /// cui_font font + /// default `CUI_FONT_BODY` (0) public Font Font; /// float size public float Size; - /// cui_color from + /// color at the left edge; default the accent, or the text color under the neutral accent public Color From; - /// cui_color to + /// color at the right edge, default `from` blended toward the foreground color public Color To; - /// _Bool animate + /// the gradient drifts along the text public bool Animate; /// cui_size width public Size Width; @@ -2213,7 +2211,7 @@ public partial struct GradientTextOpts }; } -/// cui_spotlight_opts. All fields are optional; zero selects native defaults. +/// Spotlight card: a soft light follows the pointer across the card and lights the nearest stretch of its border. beam sends a light around the edge. All fields are optional; zero selects the native default. public partial struct SpotlightOpts { /// cui_size width @@ -2226,7 +2224,7 @@ public partial struct SpotlightOpts public float Gap; /// cui_color color public Color Color; - /// _Bool beam + /// a light travels around the card's edge all the time public bool Beam; internal readonly NativeSpotlightOpts ToNative() => new() @@ -2241,7 +2239,7 @@ public partial struct SpotlightOpts }; } -/// cui_loader_opts. All fields are optional; zero selects native defaults. +/// cui_loader_opts. All fields are optional; zero selects the native default. public partial struct LoaderOpts { /// cui_loader_style style @@ -2260,12 +2258,12 @@ public partial struct LoaderOpts }; } -/// cui_dock_opts. All fields are optional; zero selects native defaults. +/// Dock: a row of icons that grow as the pointer passes, with labels and a dot under the running ones. Each item returns true when clicked. All fields are optional; zero selects the native default. public partial struct DockOpts { /// float size public float Size; - /// float magnify + /// how much the icon under the pointer grows, default 1.55 public float Magnify; internal readonly NativeDockOpts ToNative() => new() @@ -2276,14 +2274,14 @@ public partial struct DockOpts }; } -/// cui_dock_item_opts. All fields are optional; zero selects native defaults. +/// cui_dock_item_opts. All fields are optional; zero selects the native default. public partial struct DockItemOpts { /// cui_color color public Color Color; - /// _Bool running + /// a small dot under the icon public bool Running; - /// int badge + /// a count badge on the icon ("99+" above 99); 0 for none public int Badge; internal readonly NativeDockItemOpts ToNative() => new() @@ -2295,12 +2293,12 @@ public partial struct DockItemOpts }; } -/// cui_tab_bar_opts. All fields are optional; zero selects native defaults. +/// Bottom tab bar for compact layouts, with a pill that glides to the selection. All fields are optional; zero selects the native default. public partial struct TabBarOpts { /// cui_size width public Size Width; - /// _Bool labels_on_selected_only + /// only the selected tab shows its label; the others show just their icon public bool LabelsOnSelectedOnly; internal readonly NativeTabBarOpts ToNative() => new() @@ -2311,18 +2309,18 @@ public partial struct TabBarOpts }; } -/// cui_tile_opts. All fields are optional; zero selects native defaults. +/// Control tile: a large toggle with an icon, a label and a state line. All fields are optional; zero selects the native default. public partial struct TileOpts { /// const char * icon public string? Icon; - /// const char * detail + /// the state line under the label, default "On" or "Off" public string? Detail; /// cui_color color public Color Color; /// cui_size width public Size Width; - /// _Bool wide + /// icon beside the text in a lower tile, instead of above it public bool Wide; internal readonly NativeTileOpts ToNative() => new() @@ -2336,14 +2334,14 @@ public partial struct TileOpts }; } -/// cui_waveform_opts. All fields are optional; zero selects native defaults. +/// Waveform: bars from peaks (0..1). With progress, the played part is colored and clicking or dragging seeks; returns true when it did. All fields are optional; zero selects the native default. public partial struct WaveformOpts { /// cui_size width public Size Width; /// float height public float Height; - /// float bar + /// width of each bar in points, default 3 public float Bar; /// float gap public float Gap; @@ -2361,12 +2359,12 @@ public partial struct WaveformOpts }; } -/// cui_now_playing_opts. All fields are optional; zero selects native defaults. +/// Now playing card: artwork, title, artist, a scrubber and transport buttons. All fields are optional; zero selects the native default. public partial struct NowPlayingOpts { /// cui_size width public Size Width; - /// _Bool compact + /// smaller artwork and padding, and no previous button public bool Compact; internal readonly NativeNowPlayingOpts ToNative() => new() @@ -2377,14 +2375,14 @@ public partial struct NowPlayingOpts }; } -/// cui_reasoning_opts. All fields are optional; zero selects native defaults. +/// Reasoning: a model's thinking. While thinking, the header shimmers and counts the seconds; afterwards it reads "Thought for 12s" and the body folds away. Click the header to open or close it. Put text inside. All fields are optional; zero selects the native default. public partial struct ReasoningOpts { - /// _Bool thinking + /// still thinking: the header shimmers and the body opens; it folds when this turns false public bool Thinking; - /// float seconds + /// time spent, for the header: "Thinking for 12s", then "Thought for 12s" public float Seconds; - /// const char * title + /// header text to show instead of the "Thinking" and "Thought for" lines public string? Title; internal readonly NativeReasoningOpts ToNative() => new() @@ -2396,20 +2394,20 @@ public partial struct ReasoningOpts }; } -/// cui_tool_call_opts. All fields are optional; zero selects native defaults. +/// cui_tool_call_opts. All fields are optional; zero selects the native default. public partial struct ToolCallOpts { /// cui_task_status status public CuiTaskStatus Status; /// const char * icon public string? Icon; - /// const char * detail + /// muted text after the tool's name, e.g. the file or query it works on public string? Detail; - /// const char * input + /// what was sent to the tool; the row then opens to show it (as JSON when it parses) public string? Input; - /// const char * output + /// what the tool returned, shown when open; labelled "Error" when the status is failed public string? Output; - /// float seconds + /// how long the call took, shown at the end of the row unless it is pending; 0 hides it public float Seconds; internal readonly NativeToolCallOpts ToNative() => new() @@ -2424,10 +2422,10 @@ public partial struct ToolCallOpts }; } -/// cui_agent_plan_opts. All fields are optional; zero selects native defaults. +/// Agent plan: steps with their status on a connected rail, and progress. All fields are optional; zero selects the native default. public partial struct AgentPlanOpts { - /// const char * title + /// heading of the plan, default "Plan" public string? Title; internal readonly NativeAgentPlanOpts ToNative() => new() @@ -2437,12 +2435,12 @@ public partial struct AgentPlanOpts }; } -/// cui_agent_status_opts. All fields are optional; zero selects native defaults. +/// Agent status pill: what the agent is doing right now and for how long. All fields are optional; zero selects the native default. public partial struct AgentStatusOpts { /// cui_task_status status public CuiTaskStatus Status; - /// float seconds + /// elapsed time shown after the text, as 42s or 1m 05s; 0 hides it public float Seconds; /// const char * icon public string? Icon; @@ -2456,13 +2454,11 @@ public partial struct AgentStatusOpts }; } -/// cui_context_opts. All fields are optional; zero selects native defaults. +/// Context meter: a small ring of how full the context is; hover for a breakdown. It turns amber past 80% and red past 95%. All fields are optional; zero selects the native default. public partial struct ContextOpts { - /// const cui_viz_item * parts + /// what fills the context (label, amount, color), for the breakdown on hover public VizItem[]? Parts; - /// int part_count - public int PartCount; /// const char * unit public string? Unit; @@ -2470,19 +2466,19 @@ public partial struct ContextOpts { Sentinel = 0, Parts = VizItem.ToFrameArray(Parts), - PartCount = PartCount, + PartCount = Parts?.Length ?? 0, Unit = Utf8.Get(Unit), }; } -/// cui_response_actions_opts. All fields are optional; zero selects native defaults. +/// cui_response_actions_opts. All fields are optional; zero selects the native default. public partial struct ResponseActionsOpts { - /// const char * copy_text + /// the text the copy button copies; `NULL` leaves the button out public string? CopyText; - /// _Bool no_regenerate + /// hides the regenerate button public bool NoRegenerate; - /// _Bool no_share + /// hides the share button public bool NoShare; internal readonly NativeResponseActionsOpts ToNative(nint vote) => new() @@ -2495,10 +2491,10 @@ public partial struct ResponseActionsOpts }; } -/// cui_prompt_suggestions_opts. All fields are optional; zero selects native defaults. +/// Prompt suggestions: cards to start a conversation with. All fields are optional; zero selects the native default. public partial struct PromptSuggestionsOpts { - /// int columns + /// cards per row, default 2 public int Columns; internal readonly NativePromptSuggestionsOpts ToNative() => new() @@ -2508,10 +2504,10 @@ public partial struct PromptSuggestionsOpts }; } -/// cui_model_picker_opts. All fields are optional; zero selects native defaults. +/// Model picker: the current model on a button; a list with details opens. All fields are optional; zero selects the native default. public partial struct ModelPickerOpts { - /// _Bool ghost + /// no border or fill on the button until hovered, for use inside another control public bool Ghost; /// cui_placement placement public Placement Placement; @@ -2524,19 +2520,17 @@ public partial struct ModelPickerOpts }; } -/// cui_composer_opts. All fields are optional; zero selects native defaults. +/// cui_composer_opts. All fields are optional; zero selects the native default. public partial struct ComposerOpts { /// const char * placeholder public string? Placeholder; - /// _Bool busy + /// a reply is being generated: the send button becomes stop and Enter does not send public bool Busy; - /// const char *const * attachments + /// names of the attached files, shown as chips above the text, each with an x public string[]? Attachments; - /// const cui_model * models + /// models for a picker beside the attach button; `NULL` for no picker public Model[]? Models; - /// int model_count - public int ModelCount; /// default 8 public int MaxLines; /// cui_size width @@ -2551,14 +2545,14 @@ public partial struct ComposerOpts AttachmentCount = Attachments?.Length ?? 0, Removed = removed, Models = Model.ToFrameArray(Models), - ModelCount = ModelCount, + ModelCount = Models?.Length ?? 0, Model = model, MaxLines = MaxLines, Width = UiMarshal.ToNative(Width), }; } -/// cui_voice_orb_opts. All fields are optional; zero selects native defaults. +/// cui_voice_orb_opts. All fields are optional; zero selects the native default. public partial struct VoiceOrbOpts { /// float size @@ -2574,12 +2568,12 @@ public partial struct VoiceOrbOpts }; } -/// cui_kanban_column_opts. All fields are optional; zero selects native defaults. +/// cui_kanban_column_opts. All fields are optional; zero selects the native default. public partial struct KanbanColumnOpts { - /// cui_color dot + /// a small dot of this color before the title; unset for none public Color Dot; - /// int limit + /// work in progress limit: the count reads "3 / 5" and turns red above it; 0 for none public int Limit; /// float width public float Width; @@ -2593,14 +2587,14 @@ public partial struct KanbanColumnOpts }; } -/// cui_week_opts. All fields are optional; zero selects native defaults. +/// Week calendar: seven day columns on an hour grid. Drag an event to move it (15 minute steps), drag its bottom edge to resize it. Returns the index of a clicked event, or -1. All fields are optional; zero selects the native default. public partial struct WeekOpts { - /// float start_hour + /// first hour shown, default 7; set together with `end_hour` public float StartHour; - /// float end_hour + /// last hour shown, default 21; used only when it is greater than `start_hour` public float EndHour; - /// float hour_height + /// points per hour, default 52 public float HourHeight; /// cui_size height public Size Height; @@ -2618,7 +2612,7 @@ public partial struct WeekOpts }; } -/// cui_month_opts. All fields are optional; zero selects native defaults. +/// Month calendar: a month grid with events. All-day and multi-day events are bars across the days they cover; timed events are a dot, a time and a title. A day with more than fits says "+N more" and opens a list of them. On a narrow screen the cells show colored dots and the selected day's events are listed under the grid. All fields are optional; zero selects the native default. public partial struct MonthOpts { /// 0 Monday (default) .. 6 Sunday @@ -2647,16 +2641,16 @@ public partial struct MonthOpts }; } -/// cui_gantt_opts. All fields are optional; zero selects native defaults. +/// Gantt chart: a task list beside a timeline of bars. Drag a bar to move it, its ends to resize it. Dependencies are drawn as elbow arrows. Returns the index of a clicked task, or -1. All fields are optional; zero selects the native default. public partial struct GanttOpts { - /// float day_width + /// points per day, default 30 public float DayWidth; - /// float row_height + /// points per task row, default 40 public float RowHeight; /// cui_size height public Size Height; - /// int today + /// day to mark as today, counted from `origin`; 0 marks none public int Today; /// _Bool read_only public bool ReadOnly; @@ -2672,14 +2666,14 @@ public partial struct GanttOpts }; } -/// cui_hover_card_opts. All fields are optional; zero selects native defaults. +/// Hover card: rich content that appears when the pointer rests on the previous component, and stays while the pointer is over either. All fields are optional; zero selects the native default. public partial struct HoverCardOpts { /// cui_placement placement public Placement Placement; /// float width public float Width; - /// float delay + /// seconds the pointer must rest on the component before the card shows, default 0.45 public float Delay; internal readonly NativeHoverCardOpts ToNative() => new() @@ -2691,10 +2685,10 @@ public partial struct HoverCardOpts }; } -/// cui_confirm_popover_opts. All fields are optional; zero selects native defaults. +/// Confirm popover: a small question anchored to the previous component. Open it with cui_popover_open(ui, id). Returns true when confirmed. All fields are optional; zero selects the native default. public partial struct ConfirmPopoverOpts { - /// const char * title + /// the question, in medium weight at the top, e.g. "Delete this file?" public string? Title; /// const char * description public string? Description; @@ -2719,16 +2713,16 @@ public partial struct ConfirmPopoverOpts }; } -/// cui_expandable_text_opts. All fields are optional; zero selects native defaults. +/// Text clamped to a few lines with a fade and Show more / Show less. All fields are optional; zero selects the native default. public partial struct ExpandableTextOpts { - /// int lines + /// lines shown while collapsed, default 3 public int Lines; /// float size public float Size; /// cui_color color public Color Color; - /// cui_color fade_to + /// color the last line fades into; set it to the surface behind the text, default the background public Color FadeTo; internal readonly NativeExpandableTextOpts ToNative() => new() @@ -2741,14 +2735,14 @@ public partial struct ExpandableTextOpts }; } -/// cui_expandable_card_opts. All fields are optional; zero selects native defaults. +/// Expandable card: a card whose header opens a body with a height spring. All fields are optional; zero selects the native default. public partial struct ExpandableCardOpts { /// const char * description public string? Description; /// const char * icon public string? Icon; - /// const char * badge + /// small badge in the header before the chevron, colored by `badge_tone`; `NULL` for none public string? Badge; /// cui_tone badge_tone public Tone BadgeTone; @@ -2763,14 +2757,14 @@ public partial struct ExpandableCardOpts }; } -/// cui_banner_opts. All fields are optional; zero selects native defaults. +/// Announcement banner across the top of a view. Collapses smoothly when dismissed (*open becomes false). Returns true when the action is clicked. All fields are optional; zero selects the native default. public partial struct BannerOpts { /// cui_tone tone public Tone Tone; /// const char * icon public string? Icon; - /// const char * action + /// label of a button in the banner; the call returns true when it is clicked public string? Action; /// _Bool dismissible public bool Dismissible; @@ -2785,12 +2779,12 @@ public partial struct BannerOpts }; } -/// cui_countdown_opts. All fields are optional; zero selects native defaults. +/// Countdown: days, hours, minutes and seconds as tiles whose digits roll. All fields are optional; zero selects the native default. public partial struct CountdownOpts { - /// _Bool hide_days + /// no days tile; the hours tile counts the days in (49 hours, not 2 days and 1 hour) public bool HideDays; - /// _Bool compact + /// small tiles joined by colons, without the unit names under them public bool Compact; internal readonly NativeCountdownOpts ToNative() => new() @@ -2801,10 +2795,10 @@ public partial struct CountdownOpts }; } -/// cui_checklist_opts. All fields are optional; zero selects native defaults. +/// Onboarding checklist: a card with progress and steps. The first open step shows its description and action. Clicking a step's circle toggles done. Returns the index whose action was clicked, or -1. All fields are optional; zero selects the native default. public partial struct ChecklistOpts { - /// const char * title + /// heading of the card, default "Get started" public string? Title; /// const char * description public string? Description; @@ -2817,7 +2811,7 @@ public partial struct ChecklistOpts }; } -/// cui_multi_select_opts. All fields are optional; zero selects native defaults. +/// Multi-select: a field with chips for the chosen items and a list with checkboxes (and search). selected[i] is true for chosen items. All fields are optional; zero selects the native default. public partial struct MultiSelectOpts { /// const char * label @@ -2826,7 +2820,7 @@ public partial struct MultiSelectOpts public string? Placeholder; /// const char *const * icons public string[]? Icons; - /// _Bool searchable + /// a search field at the top of the list that filters the items as you type public bool Searchable; /// chips before "+N", default 3 public int MaxChips; @@ -2845,7 +2839,7 @@ public partial struct MultiSelectOpts }; } -/// cui_date_range_opts. All fields are optional; zero selects native defaults. +/// cui_date_range_opts. All fields are optional; zero selects the native default. public partial struct DateRangeOpts { /// const char * label @@ -2854,7 +2848,7 @@ public partial struct DateRangeOpts public string? Placeholder; /// cui_size width public Size Width; - /// _Bool no_presets + /// hides the list of preset ranges beside (or above) the calendar public bool NoPresets; internal readonly NativeDateRangeOpts ToNative() => new() @@ -2867,14 +2861,14 @@ public partial struct DateRangeOpts }; } -/// cui_time_opts. All fields are optional; zero selects native defaults. +/// Time picker: a field that opens hour and minute columns. hour is 0..23. All fields are optional; zero selects the native default. public partial struct TimeOpts { /// const char * label public string? Label; - /// _Bool twelve_hour + /// shows 1 to 12 with AM and PM (as in "2:30 PM"); `*hour` stays 0..23 public bool TwelveHour; - /// int minute_step + /// minutes between the entries of the minute column, default 5 public int MinuteStep; /// cui_size width public Size Width; @@ -2889,18 +2883,18 @@ public partial struct TimeOpts }; } -/// cui_wheel_opts. All fields are optional; zero selects native defaults. +/// Wheel picker: a drum of options that you drag, scroll or arrow through. Several side by side make a date or time reel. join_left / join_right square off the selection band so wheels placed side by side share one continuous band. All fields are optional; zero selects the native default. public partial struct WheelOpts { - /// int rows + /// rows in view, made odd so the selected one sits in the middle; default 5 public int Rows; /// cui_size width public Size Width; - /// _Bool loop + /// the items wrap around: after the last comes the first again public bool Loop; - /// _Bool join_left + /// squares off the left end of the selection band, to join a wheel on that side public bool JoinLeft; - /// _Bool join_right + /// squares off the right end of the selection band, to join a wheel on that side public bool JoinRight; internal readonly NativeWheelOpts ToNative() => new() @@ -2914,14 +2908,14 @@ public partial struct WheelOpts }; } -/// cui_ruler_opts. All fields are optional; zero selects native defaults. +/// Ruler slider: a tape measure that slides under a fixed marker, with momentum and snapping to step. All fields are optional; zero selects the native default. public partial struct RulerOpts { /// float step public float Step; - /// int major_every + /// every Nth tick is long and labelled, default 10; Shift+arrows move this many steps public int MajorEvery; - /// float spacing + /// points between two ticks (one `step` apart), default 9 public float Spacing; /// const char * format public string? Format; @@ -2942,7 +2936,7 @@ public partial struct RulerOpts }; } -/// cui_histogram_opts. All fields are optional; zero selects native defaults. +/// Range slider over a histogram of the data it filters. All fields are optional; zero selects the native default. public partial struct HistogramOpts { /// float height @@ -2958,7 +2952,7 @@ public partial struct HistogramOpts }; } -/// cui_knob_opts. All fields are optional; zero selects native defaults. +/// Knob, fader and level meter: the controls of audio, synth and mixer panels. All fields are optional; zero selects the native default. public partial struct KnobOpts { /// under the knob; the id when NULL @@ -3001,7 +2995,7 @@ public partial struct KnobOpts }; } -/// cui_fader_opts. All fields are optional; zero selects native defaults. +/// cui_fader_opts. All fields are optional; zero selects the native default. public partial struct FaderOpts { /// under a vertical fader, before a horizontal one; the id when NULL @@ -3012,15 +3006,15 @@ public partial struct FaderOpts public string? Unit; /// track length, default 160 public float Length; - /// _Bool horizontal + /// the track runs left to right, with the label before it, instead of bottom to top public bool Horizontal; /// float step public float Step; /// double-click value, default 0 (clamped to the range) public float Reset; - /// scale marks in value units, labelled beside the track + /// values to mark and label beside the track, e.g. dB marks; at most 32 public float[]? Ticks; - /// a level meter beside the track (linear peaks, up to 8); a dB fader's range sets its scale + /// linear sample peaks, one per channel, for a level meter beside the track; `NULL` for none public float[]? Meter; /// _Bool hide_value public bool HideValue; @@ -3046,7 +3040,7 @@ public partial struct FaderOpts }; } -/// cui_level_meter_opts. All fields are optional; zero selects native defaults. +/// Level meter: bars that jump up to each new peak and fall back at `decay` dB per second, with a peak mark that holds for `hold` seconds and a clip light that stays on until clicked. Levels are linear sample peaks (1.0 is 0 dBFS); green runs to -18 dB, amber to -6 dB, red above. All fields are optional; zero selects the native default. public partial struct LevelMeterOpts { /// default -60 and +6 @@ -3057,7 +3051,7 @@ public partial struct LevelMeterOpts public float Length; /// each channel's bar, default 6 public float Thickness; - /// _Bool horizontal + /// bars run left to right instead of bottom to top public bool Horizontal; /// dB labels beside the bars public bool Scale; @@ -3083,7 +3077,7 @@ public partial struct LevelMeterOpts }; } -/// cui_signature_opts. All fields are optional; zero selects native defaults. +/// Signature pad: draw with the mouse or a pen. The strokes are kept for you; read them with cui_signature_points (stroke_ends[i] is one past the last point of stroke i). All fields are optional; zero selects the native default. public partial struct SignatureOpts { /// cui_size width @@ -3092,7 +3086,7 @@ public partial struct SignatureOpts public float Height; /// const char * placeholder public string? Placeholder; - /// cui_color ink + /// color of the strokes, default the foreground color public Color Ink; internal readonly NativeSignatureOpts ToNative() => new() @@ -3105,7 +3099,7 @@ public partial struct SignatureOpts }; } -/// cui_dropzone_opts. All fields are optional; zero selects native defaults. +/// Dropzone: drop files from the OS, or click to browse. Returns the number of files dropped on it this frame (read them with cui_dropped_file), -1 when clicked (open a file dialog), 0 otherwise. accept filters by extension, e.g. "png;jpg;pdf". All fields are optional; zero selects the native default. public partial struct DropzoneOpts { /// default "Drop files here" @@ -3114,7 +3108,7 @@ public partial struct DropzoneOpts public string? Description; /// const char * icon public string? Icon; - /// const char * accept + /// extensions it takes, separated by semicolons, e.g. "png;jpg;pdf"; `NULL` takes any file public string? Accept; /// default 160 public float Height; @@ -3136,10 +3130,10 @@ public partial struct DropzoneOpts }; } -/// cui_inline_edit_opts. All fields are optional; zero selects native defaults. +/// Inline edit: text that turns into a field in place. Click (or Enter when focused) to edit, Enter or clicking away saves, Esc cancels. Returns CUI_CHANGED when an edit is committed. All fields are optional; zero selects the native default. public partial struct InlineEditOpts { - /// cui_font font + /// font of the text and of the field, default `CUI_FONT_MEDIUM` public Font Font; /// float size public float Size; @@ -3158,7 +3152,7 @@ public partial struct InlineEditOpts }; } -/// cui_scrub_opts. All fields are optional; zero selects native defaults. +/// Scrub field: drag sideways anywhere on it to change the value (Shift for fine steps), or click to type a number. Arrow keys step when focused. All fields are optional; zero selects the native default. public partial struct ScrubOpts { /// default (max - min) / 100 @@ -3183,20 +3177,20 @@ public partial struct ScrubOpts }; } -/// cui_money_opts. All fields are optional; zero selects native defaults. +/// Money field: shows the amount with thousands separators, edits as plain digits, keeps a fixed number of decimals. All fields are optional; zero selects the native default. public partial struct MoneyOpts { /// const char * label public string? Label; - /// const char * symbol + /// currency symbol before the amount, default "$" public string? Symbol; - /// const char * code + /// currency code after the amount, e.g. "USD" public string? Code; /// int decimals public int Decimals; /// cui_size width public Size Width; - /// const char * hint + /// helper text below the field public string? Hint; internal readonly NativeMoneyOpts ToNative() => new() @@ -3211,7 +3205,7 @@ public partial struct MoneyOpts }; } -/// cui_shortcut_recorder_opts. All fields are optional; zero selects native defaults. +/// Shortcut recorder: click and press a key combination to record it. Backspace clears, Esc cancels. Returns true when the combination changed. cui_shortcut_label formats a combination ("Ctrl Shift K"). All fields are optional; zero selects the native default. public partial struct ShortcutRecorderOpts { /// const char * placeholder @@ -3227,7 +3221,7 @@ public partial struct ShortcutRecorderOpts }; } -/// cui_node_editor_opts. All fields are optional; zero selects native defaults. +/// Node editor: nodes with input and output pins on a canvas that pans and zooms, joined by curved links. You own the nodes, pins and links; the editor moves the node positions you pass and reports what the user did: All fields are optional; zero selects the native default. public partial struct NodeEditorOpts { /// default: fill the width, 440 tall @@ -3255,7 +3249,7 @@ public partial struct NodeEditorOpts }; } -/// cui_node_opts. All fields are optional; zero selects native defaults. +/// A node at canvas position (*x, *y), updated while it is dragged. Returns true while the node is selected. All fields are optional; zero selects the native default. public partial struct NodeOpts { /// width default 184 @@ -3271,10 +3265,10 @@ public partial struct NodeOpts }; } -/// cui_pin_opts. All fields are optional; zero selects native defaults. +/// A row with a pin on the left (input) or right (output). type picks the pin color from the series palette and limits links to pins of the same type (0 connects to anything). Returns true when the pin has a link. All fields are optional; zero selects the native default. public partial struct PinOpts { - /// int type + /// 0 links to any pin; another number links only to pins of that type and picks their color public int Type; internal readonly NativePinOpts ToNative() => new() @@ -3284,7 +3278,7 @@ public partial struct PinOpts }; } -/// cui_menu_bar_opts. All fields are optional; zero selects native defaults. +/// Menu bar: File / Edit / View along the top of a window. Each menu holds the usual menu items (cui_menu_item, cui_menu_separator, cui_menu_label). Once a menu is open, hovering another one switches to it. Alt (on its own) or F10 focuses the bar; arrows move between menus and items, Enter chooses, Esc steps back. Alt + a menu's mnemonic letter opens it (the first letter of its label unless `mnemonic` says otherwise). All fields are optional; zero selects the native default. public partial struct MenuBarOpts { /// _Bool no_border @@ -3297,10 +3291,10 @@ public partial struct MenuBarOpts }; } -/// cui_menu_bar_menu_opts. All fields are optional; zero selects native defaults. +/// One menu of the bar. Returns true while its items should be built; call cui_menu_bar_menu_end only then. All fields are optional; zero selects the native default. public partial struct MenuBarMenuOpts { - /// char mnemonic + /// letter that opens the menu with Alt; 0 uses the first letter or digit of the label public sbyte Mnemonic; /// float width public float Width; @@ -3316,7 +3310,7 @@ public partial struct MenuBarMenuOpts }; } -/// cui_toolbar_opts. All fields are optional; zero selects native defaults. +/// Toolbar: a row of compact icon buttons, toggles, separators and small text buttons. Icon only buttons show their tooltip as their name. Items that do not fit collapse, from the end, into a "more" menu; an item chosen there returns true on the next frame. All fields are optional; zero selects the native default. public partial struct ToolbarOpts { /// _Bool no_border @@ -3329,7 +3323,7 @@ public partial struct ToolbarOpts }; } -/// cui_tool_opts. All fields are optional; zero selects native defaults. +/// cui_tool_opts. All fields are optional; zero selects the native default. public partial struct ToolOpts { /// text on the button (icon may be NULL); also its name in the overflow menu @@ -3352,7 +3346,7 @@ public partial struct ToolOpts }; } -/// cui_status_bar_opts. All fields are optional; zero selects native defaults. +/// Status bar: a thin bar along the bottom of a window, with a hairline on top and no fill of its own (put it in a box with the background you want). Items go left to right; cui_status_bar_spacer sends the rest to the right edge. All fields are optional; zero selects the native default. public partial struct StatusBarOpts { /// _Bool no_border @@ -3365,7 +3359,7 @@ public partial struct StatusBarOpts }; } -/// cui_status_item_opts. All fields are optional; zero selects native defaults. +/// cui_status_item_opts. All fields are optional; zero selects the native default. public partial struct StatusItemOpts { /// const char * icon @@ -3387,7 +3381,7 @@ public partial struct StatusItemOpts }; } -/// cui_status_progress_opts. All fields are optional; zero selects native defaults. +/// A small progress bar with an optional label. value is 0..1. All fields are optional; zero selects the native default. public partial struct StatusProgressOpts { /// const char * label @@ -3406,14 +3400,14 @@ public partial struct StatusProgressOpts }; } -/// cui_doc_tabs_opts. All fields are optional; zero selects native defaults. +/// Document tabs: editor style tabs. Clicking selects (*selected is updated), the x or a middle click asks to close, dragging reorders, and the strip scrolls sideways when the tabs do not fit. A dirty tab shows a dot that turns into the close button under the pointer. The selected tab is filled with the surface color so it joins the content below; the strip itself has no fill, like the other bars. Tabs keep their state by title, so give two tabs with the same name a key: "main.c##src". The component never removes or moves your tabs itself: it reports a close or a move in the result and you apply it (selection already follows a move). With keyboard focus on the strip, Left and Right select, Home and End jump, Shift+Left/Right move the tab and Delete closes it. With `shortcuts` set it also answers Ctrl+Tab, Ctrl+Shift+Tab, Ctrl+PageUp/Down and Ctrl+W (Cmd+W on macOS) from anywhere in the window. All fields are optional; zero selects the native default. public partial struct DocTabsOpts { - /// _Bool shortcuts + /// Ctrl+Tab, Ctrl+Shift+Tab, Ctrl+PageUp/Down and Ctrl+W (Cmd+W on macOS) work from anywhere in the window public bool Shortcuts; - /// _Bool no_close + /// tabs have no x and cannot be closed (middle click, Delete and Ctrl+W do nothing) public bool NoClose; - /// _Bool no_reorder + /// tabs cannot be dragged or moved with Shift+Left/Right public bool NoReorder; internal readonly NativeDocTabsOpts ToNative() => new() @@ -3425,7 +3419,7 @@ public partial struct DocTabsOpts }; } -/// cui_dockspace_opts. All fields are optional; zero selects native defaults. +/// Dockspace: an IDE style workspace that lays out your panels in a tree of resizable splits whose leaves hold one or more panels as document tabs. Submit every panel each frame between cui_dockspace_begin and cui_dockspace_end; the dockspace decides where it goes, and a panel's content is built only while its tab is the one showing: All fields are optional; zero selects the native default. public partial struct DockspaceOpts { /// first run layout, in the cui_dock_save format @@ -3453,12 +3447,12 @@ public partial struct DockspaceOpts }; } -/// cui_dock_panel_opts. All fields are optional; zero selects native defaults. +/// Returns true while the panel's content should be built; then call cui_dock_panel_end. All fields are optional; zero selects the native default. public partial struct DockPanelOpts { /// const char * icon public string? Icon; - /// _Bool dirty + /// unsaved changes: the panel's tab shows a dot in place of its x public bool Dirty; internal readonly NativeDockPanelOpts ToNative() => new() @@ -3469,7 +3463,7 @@ public partial struct DockPanelOpts }; } -/// cui_inspector_opts. All fields are optional; zero selects native defaults. +/// Property inspector: labelled rows in folding groups, a label column on the left (drag the line between the columns to resize it) and an editor on the right. Every row returns true when its value changed. Groups end at the next group or at cui_inspector_end. All fields are optional; zero selects the native default. public partial struct InspectorOpts { /// default fill @@ -3485,7 +3479,7 @@ public partial struct InspectorOpts }; } -/// cui_prop_opts. All fields are optional; zero selects native defaults. +/// cui_prop_opts. All fields are optional; zero selects the native default. public partial struct PropOpts { /// number and vector rows; both 0 = unbounded @@ -3522,7 +3516,7 @@ public partial struct PropOpts }; } -/// cui_log_view_opts. All fields are optional; zero selects native defaults. +/// cui_log_view_opts. All fields are optional; zero selects the native default. public partial struct LogViewOpts { /// default fill @@ -3547,7 +3541,7 @@ public partial struct LogViewOpts }; } -/// cui_terminal_opts. All fields are optional; zero selects native defaults. +/// cui_terminal_opts. All fields are optional; zero selects the native default. public partial struct TerminalOpts { /// default fill @@ -3572,7 +3566,7 @@ public partial struct TerminalOpts }; } -/// cui_emoji_picker_opts. All fields are optional; zero selects native defaults. +/// Emoji picker: search, groups with tabs, recent emoji, skin tones and a preview with the name. Returns the emoji picked this frame (UTF-8, valid until the next frame) or NULL. Put it in a popover to open it from a button. All fields are optional; zero selects the native default. public partial struct EmojiPickerOpts { /// default up to 360 @@ -3589,11 +3583,11 @@ public partial struct EmojiPickerOpts public string? Hint; /// 10 names: recent, then Unicode's nine groups public string[]? GroupNames; - /// _Bool no_search + /// hides the search field public bool NoSearch; - /// _Bool no_preview + /// hides the row at the bottom that shows the hovered emoji and its name public bool NoPreview; - /// _Bool no_tone + /// hides the skin tone button public bool NoTone; internal readonly NativeEmojiPickerOpts ToNative(nint recent, nuint recentCap, nint tone) => new() @@ -3615,7 +3609,7 @@ public partial struct EmojiPickerOpts }; } -/// cui_hex_view_opts. All fields are optional; zero selects native defaults. +/// cui_hex_view_opts. All fields are optional; zero selects the native default. public partial struct HexViewOpts { /// default fill @@ -3626,10 +3620,8 @@ public partial struct HexViewOpts public ulong Base; /// 8, 16 (default) or 32 public int BytesPerRow; - /// drawn in order, later ones on top + /// byte ranges to highlight, each with a tone and a tooltip label public HexRange[]? Ranges; - /// drawn in order, later ones on top - public int RangeCount; /// hide the ASCII column public bool NoAscii; /// hide the column header (00 01 .. 0F) @@ -3645,7 +3637,7 @@ public partial struct HexViewOpts Base = Base, BytesPerRow = BytesPerRow, Ranges = HexRange.ToFrameArray(Ranges), - RangeCount = RangeCount, + RangeCount = Ranges?.Length ?? 0, Edit = default, NoAscii = (byte)(NoAscii ? 1 : 0), NoHeader = (byte)(NoHeader ? 1 : 0), @@ -3653,7 +3645,7 @@ public partial struct HexViewOpts }; } -/// cui_flame_opts. All fields are optional; zero selects native defaults. +/// cui_flame_opts. All fields are optional; zero selects the native default. public partial struct FlameOpts { /// default fill @@ -3675,7 +3667,7 @@ public partial struct FlameOpts }; } -/// cui_curve_opts. All fields are optional; zero selects native defaults. +/// cui_curve_opts. All fields are optional; zero selects the native default. public partial struct CurveOpts { /// plotted range; both 0 = 0..1. Keys stay inside it @@ -3702,7 +3694,7 @@ public partial struct CurveOpts public bool Snap; /// a marker at x = playhead public bool ShowPlayhead; - /// float playhead + /// x of the playhead marker, drawn when `show_playhead` is set public float Playhead; internal readonly NativeCurveOpts ToNative(nint selected) => new() @@ -3725,7 +3717,7 @@ public partial struct CurveOpts }; } -/// cui_gradient_opts. All fields are optional; zero selects native defaults. +/// cui_gradient_opts. All fields are optional; zero selects the native default. public partial struct GradientOpts { /// default fill @@ -3742,7 +3734,7 @@ public partial struct GradientOpts }; } -/// cui_timeline_editor_opts. All fields are optional; zero selects native defaults. +/// cui_timeline_editor_opts. All fields are optional; zero selects the native default. public partial struct TimelineEditorOpts { /// the sequence in seconds; both 0 = 0..10 @@ -3787,7 +3779,7 @@ public partial struct TimelineEditorOpts }; } -/// cui_kv_editor_opts. All fields are optional; zero selects native defaults. +/// cui_kv_editor_opts. All fields are optional; zero selects the native default. public partial struct KvEditorOpts { /// default "Key" @@ -3815,14 +3807,14 @@ public partial struct KvEditorOpts }; } -/// cui_problems_opts. All fields are optional; zero selects native defaults. +/// cui_problems_opts. All fields are optional; zero selects the native default. public partial struct ProblemsOpts { /// cui_size width public Size Width; /// float height public float Height; - /// _Bool no_toolbar + /// hides the severity toggles and the filter field above the list public bool NoToolbar; internal readonly NativeProblemsOpts ToNative() => new() @@ -3834,7 +3826,7 @@ public partial struct ProblemsOpts }; } -/// cui_pipeline_opts. All fields are optional; zero selects native defaults. +/// cui_pipeline_opts. All fields are optional; zero selects the native default. public partial struct PipelineOpts { /// job shown selected, set on a click @@ -3848,12 +3840,12 @@ public partial struct PipelineOpts }; } -/// cui_query_opts. All fields are optional; zero selects native defaults. +/// cui_query_opts. All fields are optional; zero selects the native default. public partial struct QueryOpts { - /// default 3 + /// cui_size width public Size Width; - /// default 3 + /// how deep groups may nest, default 3 public int MaxDepth; /// _Bool read_only public bool ReadOnly; @@ -3867,7 +3859,7 @@ public partial struct QueryOpts }; } -/// cui_schedule_opts. All fields are optional; zero selects native defaults. +/// A cron schedule edited the friendly way: every N minutes, hourly at a minute, daily at a time, weekly on chosen days, monthly on a day, or a custom expression. It reads and writes `cron` (five fields: minute hour day month weekday) and shows what it means and when it runs next. Weekday and month names come from cui_set_strings. All fields are optional; zero selects the native default. public partial struct ScheduleOpts { /// cui_size width @@ -3889,14 +3881,14 @@ public partial struct ScheduleOpts }; } -/// cui_keymap_opts. All fields are optional; zero selects native defaults. +/// A keyboard with your shortcuts on it: each bound key shows its action and the color of its category, for the modifiers chosen above it. Keys bound twice are marked as conflicts. Hover a key for every binding on it; click it to get the key (to rebind it). The keyboard keeps its own layout in a right-to-left interface and scales to the width it gets. All fields are optional; zero selects the native default. public partial struct KeymapOpts { /// cui_size width public Size Width; /// names for the legend public string[]? Categories; - /// _Bool no_function_row + /// leaves out the row of function keys public bool NoFunctionRow; internal readonly NativeKeymapOpts ToNative(nint mods) => new() @@ -3910,7 +3902,7 @@ public partial struct KeymapOpts }; } -/// cui_commit_graph_opts. All fields are optional; zero selects native defaults. +/// Version history: the branch lanes drawn beside each commit, newest first, with its message, branch and tag names, author, date and short hash. Each commit names its parents by row (parents come later in the array), so merges and branches draw as lines between lanes. Only the rows in view are built. Up and Down move the selection; Enter or a double-click activates. All fields are optional; zero selects the native default. public partial struct CommitGraphOpts { /// cui_size width @@ -3927,14 +3919,14 @@ public partial struct CommitGraphOpts }; } -/// cui_graph_opts. All fields are optional; zero selects native defaults. +/// Nodes and directed edges laid out in layers (each edge points to a later layer, cycles are broken), for build targets, packages, services or call graphs. The layout is computed when the graph changes. Wheel zooms, drag pans, click selects; hovering a node lights up what it depends on and what depends on it. F fits the graph. All fields are optional; zero selects the native default. public partial struct GraphOpts { /// cui_size width public Size Width; /// float height public float Height; - /// _Bool top_down + /// layers stack from top to bottom instead of running side by side public bool TopDown; internal readonly NativeGraphOpts ToNative(nint selected) => new() @@ -3947,12 +3939,12 @@ public partial struct GraphOpts }; } -/// cui_waterfall_opts. All fields are optional; zero selects native defaults. +/// HTTP requests as a table with a timing bar each: queued, DNS, connect, TLS, waiting for the first byte and downloading, on one time scale with the page's DOMContentLoaded and load lines. Hover a bar for the breakdown. Narrow panels drop the type and size columns. Only the rows in view are built. Up and Down move the selection. All fields are optional; zero selects the native default. public partial struct WaterfallOpts { - /// seconds; 0: no line + /// cui_size width public Size Width; - /// seconds; 0: no line + /// float height public float Height; /// seconds; 0: no line public double DomLoaded; @@ -3970,7 +3962,7 @@ public partial struct WaterfallOpts }; } -/// cui_trace_opts. All fields are optional; zero selects native defaults. +/// A tracing timeline: one lane per thread, process or service, each with its nested spans, on one time ruler, with markers (frames, GC pauses, deploys) drawn across every lane. Wheel zooms around the pointer, Shift+wheel or a drag pans, click selects a span, Shift+drag measures a time range. A lane's name folds it. Keys: Left and Right step through the selected span's lane, + and - zoom, F fits, Esc clears. Spans must be sorted by track, depth and start (cui_trace_sort), with no overlap within a depth of a track. Like the flame graph, only what is in view is visited. All fields are optional; zero selects the native default. public partial struct TraceOpts { /// cui_size width @@ -3979,10 +3971,8 @@ public partial struct TraceOpts public float Height; /// default 20 public float RowHeight; - /// const cui_trace_marker * markers + /// moments drawn as lines across every lane, named in a strip under the ruler public TraceMarker[]? Markers; - /// int marker_count - public int MarkerCount; internal readonly NativeTraceOpts ToNative() => new() { @@ -3991,11 +3981,11 @@ public partial struct TraceOpts Height = Height, RowHeight = RowHeight, Markers = TraceMarker.ToFrameArray(Markers), - MarkerCount = MarkerCount, + MarkerCount = Markers?.Length ?? 0, }; } -/// cui_regex_tester_opts. All fields are optional; zero selects native defaults. +/// A pattern field with flags over a test text: every match is highlighted in the text and its groups in their own colors, and the list below shows each match with its groups. Errors show under the pattern. Both buffers are yours and edited in place. All fields are optional; zero selects the native default. public partial struct RegexTesterOpts { /// cui_size width @@ -4012,7 +4002,7 @@ public partial struct RegexTesterOpts }; } -/// cui_test_explorer_opts. All fields are optional; zero selects native defaults. +/// Test results as a tree: suites fold, each test shows its status and time, and a failure shows its message under it. A suite's status sums up its tests. The toolbar runs everything, counts results and filters by status and by name. Hover a row for its run button. Only the rows in view are built. Up and Down move, Left and Right fold, Enter activates. Items are in tree order with their depth; the statuses are the pipeline's. All fields are optional; zero selects the native default. public partial struct TestExplorerOpts { /// default 320 @@ -4028,7 +4018,7 @@ public partial struct TestExplorerOpts }; } -/// cui_stack_trace_opts. All fields are optional; zero selects native defaults. +/// An exception and its call stack: the error's type and message, then each frame's function and position. Runs of library frames fold into one row. A frame with source opens to show the lines around it, the failing line marked; the first frame of your own code starts open. A button copies the whole trace as text. All fields are optional; zero selects the native default. public partial struct StackTraceOpts { /// cui_size width @@ -4050,12 +4040,12 @@ public partial struct StackTraceOpts }; } -/// cui_request_bar_opts. All fields are optional; zero selects native defaults. +/// cui_request_bar_opts. All fields are optional; zero selects the native default. public partial struct RequestBarOpts { /// cui_size width public Size Width; - /// _Bool loading + /// a request is in flight: the button reads Cancel and Enter does not send public bool Loading; /// const char * placeholder public string? Placeholder; @@ -4069,7 +4059,7 @@ public partial struct RequestBarOpts }; } -/// cui_uptime_opts. All fields are optional; zero selects native defaults. +/// A status page: each service with its current state, its uptime over the period, and one bar per day colored by availability (gray without data). Hover a bar for its day and uptime. On a narrow panel only the most recent days that fit are shown. All fields are optional; zero selects the native default. public partial struct UptimeOpts { /// the date of the last value, for the tooltips @@ -4085,14 +4075,14 @@ public partial struct UptimeOpts }; } -/// cui_time_histogram_opts. All fields are optional; zero selects native defaults. +/// Event counts over time, stacked by series (log levels, status classes), as above a log search. Drag across it to select a time range, click to clear. Hover a bar for its time and counts. Times are Unix seconds. All fields are optional; zero selects the native default. public partial struct TimeHistogramOpts { - /// default 140 + /// cui_size width public Size Width; /// default 140 public float Height; - /// _Bool utc + /// label times in UTC instead of local time public bool Utc; internal readonly NativeTimeHistogramOpts ToNative() => new() @@ -4104,7 +4094,7 @@ public partial struct TimeHistogramOpts }; } -/// cui_coverage_opts. All fields are optional; zero selects native defaults. +/// Test coverage by folder and file: the files' paths make the tree, each folder sums up what it holds, and folders fold. Line coverage shows as a bar colored by thresholds, with branches and functions beside it. Click a column's title to sort. Enter or a double-click activates a file. Narrow panels show lines only. All fields are optional; zero selects the native default. public partial struct CoverageOpts { /// percent; default 50 and 80 @@ -4126,7 +4116,7 @@ public partial struct CoverageOpts }; } -/// cui_blame_opts. All fields are optional; zero selects native defaults. +/// Source with who last changed each line: lines from one commit share one gutter entry with its author, age and hash, and a bar at the edge shades newer changes stronger. Hover a gutter entry for the commit's summary and to mark its lines; click it to get the commit. Only the lines in view are built. On a phone the gutter keeps only the shade and initials. All fields are optional; zero selects the native default. public partial struct BlameOpts { /// cui_size width @@ -4151,7 +4141,7 @@ public partial struct BlameOpts }; } -/// cui_feature_flags_opts. All fields are optional; zero selects native defaults. +/// cui_feature_flags_opts. All fields are optional; zero selects the native default. public partial struct FeatureFlagsOpts { /// default fits the flags @@ -4167,7 +4157,7 @@ public partial struct FeatureFlagsOpts }; } -/// cui_api_explorer_opts. All fields are optional; zero selects native defaults. +/// cui_api_explorer_opts. All fields are optional; zero selects the native default. public partial struct ApiExplorerOpts { /// cui_size width @@ -4184,7 +4174,163 @@ public partial struct ApiExplorerOpts }; } -/// cui_file_dialog_opts. All fields are optional; zero selects native defaults. +/// cui_dot_chart_opts. All fields are optional; zero selects the native default. +public partial struct DotChartOpts +{ + /// cui_size width + public Size Width; + /// the plot and its labels, default 200 + public float Height; + /// what the first and last sample stand for; equal: 0 to count - 1 + public double XMin; + /// what the first and last sample stand for; equal: 0 to count - 1 + public double XMax; + /// cui_axis_units x_units + public AxisUnits XUnits; + /// x labels with CUI_AXIS_NUMBER, default "%g" + public string? XFormat; + /// spacing of the x labels in x units; 0 picks one that fits + public double XStep; + /// value range when min != max; otherwise 0 to the largest stacked value + public float Min; + /// value range when min != max; otherwise 0 to the largest stacked value + public float Max; + /// values in the readout, default "%.0f" + public string? Format; + /// after values in the readout, e.g. "MG" + public string? Unit; + /// distance between dot centers in points, default 6 + public float Pitch; + /// hides the dim dots of the empty grid + public bool NoGrid; + /// hides the x labels, e.g. when an event track under the chart has them + public bool NoAxis; + /// no value label under the pointer + public bool NoReadout; + /// lines and points drawn over the dots + public ChartAnnotation[]? Annotations; + + internal readonly NativeDotChartOpts ToNative() => new() + { + Sentinel = 0, + Width = UiMarshal.ToNative(Width), + Height = Height, + XMin = XMin, + XMax = XMax, + XUnits = XUnits, + XFormat = Utf8.Get(XFormat), + XStep = XStep, + Min = Min, + Max = Max, + Format = Utf8.Get(Format), + Unit = Utf8.Get(Unit), + Pitch = Pitch, + NoGrid = (byte)(NoGrid ? 1 : 0), + NoAxis = (byte)(NoAxis ? 1 : 0), + NoReadout = (byte)(NoReadout ? 1 : 0), + Annotations = ChartAnnotation.ToFrameArray(Annotations), + AnnotationCount = Annotations?.Length ?? 0, + }; +} + +/// Event track: moments on a time axis, as dots you drag along it. A click on an empty spot adds an event there and a double-click on one removes it. You own the array: the track keeps it sorted, edits it in place and never grows it past `capacity`. All fields are optional; zero selects the native default. +public partial struct EventTrackOpts +{ + /// cui_size width + public Size Width; + /// events snap to multiples of this from `min`; 0 does not snap + public double Step; + /// cui_axis_units units + public AxisUnits Units; + /// labels with CUI_AXIS_NUMBER, default "%g" + public string? Format; + /// spacing of the axis labels; 0 picks one that fits + public double LabelStep; + /// clicks and Enter do not add events + public bool NoAdd; + /// double-clicks and Delete do not remove events + public bool NoRemove; + /// hides the axis labels under the dots + public bool NoAxis; + + internal readonly NativeEventTrackOpts ToNative(nint selected) => new() + { + Sentinel = 0, + Width = UiMarshal.ToNative(Width), + Step = Step, + Units = Units, + Format = Utf8.Get(Format), + LabelStep = LabelStep, + Selected = selected, + NoAdd = (byte)(NoAdd ? 1 : 0), + NoRemove = (byte)(NoRemove ? 1 : 0), + NoAxis = (byte)(NoAxis ? 1 : 0), + }; +} + +/// Readout: one figure as an instrument shows it. A small label, the value in the monospaced font with its unit, and a muted line of context under it. All fields are optional; zero selects the native default. +public partial struct ReadoutOpts +{ + /// after the value, smaller and muted, e.g. "MG" + public string? Unit; + /// a muted line under the value; `NULL` for none + public string? Detail; + /// the value's size: CUI_SIZE_SM 17, CUI_SIZE_MD 28 (default), CUI_SIZE_LG 44 points + public ControlSize Size; + /// the value's color; 0 is the foreground + public Tone Tone; + /// the value in the accent color + public bool Accent; + /// default start + public TextAlign Align; + /// default fit + public Size Width; + + internal readonly NativeReadoutOpts ToNative() => new() + { + Sentinel = 0, + Unit = Utf8.Get(Unit), + Detail = Utf8.Get(Detail), + Size = Size, + Tone = Tone, + Accent = (byte)(Accent ? 1 : 0), + Align = Align, + Width = UiMarshal.ToNative(Width), + }; +} + +/// Dot-matrix display: text drawn with a 5 by 7 dot font, for clocks, counters and status lines. Printable ASCII, the degree sign and the middle dot have glyphs; anything else is a box. Unlit dots show dimly unless `no_dim` is set. In a box narrower than the text, the dots shrink to fit, or with `marquee` the text scrolls. All fields are optional; zero selects the native default. +public partial struct DotDisplayOpts +{ + /// distance between dot centers in points, default 4 + public float Pitch; + /// lit dots; unset: the foreground + public Color Color; + /// lit dots in the accent color + public bool Accent; + /// hides the unlit dots + public bool NoDim; + /// scrolls text that is wider than the box instead of shrinking it + public bool Marquee; + /// where the text sits in a wider box, default start + public TextAlign Align; + /// default fit to the text + public Size Width; + + internal readonly NativeDotDisplayOpts ToNative() => new() + { + Sentinel = 0, + Pitch = Pitch, + Color = UiMarshal.ToNative(Color), + Accent = (byte)(Accent ? 1 : 0), + NoDim = (byte)(NoDim ? 1 : 0), + Marquee = (byte)(Marquee ? 1 : 0), + Align = Align, + Width = UiMarshal.ToNative(Width), + }; +} + +/// cui_file_dialog_opts. All fields are optional; zero selects the native default. public partial struct FileDialogOpts { /// cui_file_dialog_kind kind diff --git a/src/CuiSharp/Ui/Pickers.g.cs b/src/CuiSharp/Ui/Pickers.g.cs index 6785627..091cdef 100644 --- a/src/CuiSharp/Ui/Pickers.g.cs +++ b/src/CuiSharp/Ui/Pickers.g.cs @@ -34,7 +34,7 @@ public bool DateRangePicker(UiText id, ref DateRange range, DateRangeOpts o = de return __result != 0; } - /// cui_time_picker_ex + /// Time picker: a field that opens hour and minute columns. hour is 0..23. public bool TimePicker(UiText id, ref int hour, ref int minute, TimeOpts o = default) { var __opts = o.ToNative(); @@ -43,7 +43,7 @@ public bool TimePicker(UiText id, ref int hour, ref int minute, TimeOpts o = def return __result != 0; } - /// cui_wheel_picker_ex + /// Wheel picker: a drum of options that you drag, scroll or arrow through. Several side by side make a date or time reel. join_left / join_right square off the selection band so wheels placed side by side share one continuous band. public bool WheelPicker(UiText id, ReadOnlySpan items, ref int index, WheelOpts o = default) { var __opts = o.ToNative(); @@ -60,7 +60,7 @@ public bool TimeDial(UiText id, ref int hour, ref int minute, float size) return __result != 0; } - /// cui_ruler_slider_ex + /// Ruler slider: a tape measure that slides under a fixed marker, with momentum and snapping to step. public bool RulerSlider(UiText label, ref float value, float min, float max, RulerOpts o = default) { var __opts = o.ToNative(); @@ -69,7 +69,7 @@ public bool RulerSlider(UiText label, ref float value, float min, float max, Rul return __result != 0; } - /// cui_histogram_slider_ex + /// Range slider over a histogram of the data it filters. public bool HistogramSlider(UiText label, ReadOnlySpan bins, ref float lo, ref float hi, float min, float max, HistogramOpts o = default) { var __opts = o.ToNative(); @@ -78,7 +78,7 @@ public bool HistogramSlider(UiText label, ReadOnlySpan bins, ref float lo return __result != 0; } - /// cui_knob_ex + /// Knob, fader and level meter: the controls of audio, synth and mixer panels. public bool Knob(UiText id, ref float value, float min, float max, KnobOpts o = default) { var __opts = o.ToNative(); diff --git a/src/CuiSharp/Ui/Planning.g.cs b/src/CuiSharp/Ui/Planning.g.cs index 3a3ff98..3ecbb46 100644 --- a/src/CuiSharp/Ui/Planning.g.cs +++ b/src/CuiSharp/Ui/Planning.g.cs @@ -33,7 +33,7 @@ public bool Kanban(UiText id, out KanbanMove kanbanmove, DrawFn body) return __scopeResult; } - /// cui_kanban_column_begin_ex + /// true: "+" clicked public LayoutScope KanbanColumn(UiText title, int cardCount, KanbanColumnOpts o = default) { var __opts = o.ToNative(); @@ -49,7 +49,7 @@ public LayoutScope KanbanColumn(UiText title, int cardCount, KanbanColumnOpts o, return new LayoutScope(ui.Handle, &Native.KanbanColumnEnd, "KanbanColumn", title); } - /// cui_kanban_card_begin + /// true when clicked public LayoutScope KanbanCard(int cardId) { var __result = Native.KanbanCardBegin(ui.Handle, cardId); @@ -63,7 +63,7 @@ public LayoutScope KanbanCard(int cardId, out bool clicked) return new LayoutScope(ui.Handle, &Native.KanbanCardEnd, "KanbanCard", null); } - /// * left to right in any interface: see cui__keep_ltr + /// Week calendar: seven day columns on an hour grid. Drag an event to move it (15 minute steps), drag its bottom edge to resize it. Returns the index of a clicked event, or -1. public int WeekCalendar(UiText id, Date weekStart, Span events, WeekOpts o = default) { var __events = Utf8.AllocFrame(events.Length); @@ -78,7 +78,7 @@ public int WeekCalendar(UiText id, Date weekStart, Span events, W return __result; } - /// cui_month_calendar_ex + /// Month calendar: a month grid with events. All-day and multi-day events are bars across the days they cover; timed events are a dot, a time and a title. A day with more than fits says "+N more" and opens a list of them. On a narrow screen the cells show colored dots and the selected day's events are listed under the grid. public MonthResult MonthCalendar(UiText id, ref Date month, ReadOnlySpan events, ref Date selected, MonthOpts o = default) { var __month = UiMarshal.ToNative(month); @@ -97,7 +97,7 @@ public MonthResult MonthCalendar(UiText id, ref Date month, ReadOnlySpan* left to right in any interface: see cui__keep_ltr + /// Gantt chart: a task list beside a timeline of bars. Drag a bar to move it, its ends to resize it. Dependencies are drawn as elbow arrows. Returns the index of a clicked task, or -1. public int Gantt(UiText id, Span tasks, Date origin, int days, GanttOpts o = default) { var __tasks = Utf8.AllocFrame(tasks.Length); diff --git a/src/CuiSharp/Ui/QueryBuilder.g.cs b/src/CuiSharp/Ui/QueryBuilder.g.cs index 1ffd279..02ad639 100644 --- a/src/CuiSharp/Ui/QueryBuilder.g.cs +++ b/src/CuiSharp/Ui/QueryBuilder.g.cs @@ -14,7 +14,7 @@ public static unsafe class QueryBuilderUiExtensions extension(Ui ui) { /// cui_query_builder_ex - public bool QueryBuilder(UiText id, ReadOnlySpan fields, Span nodes, ref int count, int capacity, QueryOpts o = default) + public bool QueryBuilder(UiText id, ReadOnlySpan fields, Span nodes, ref int count, QueryOpts o = default) { var __fields = Utf8.AllocFrame(fields.Length); for (int i = 0; i < fields.Length; i++) __fields[i] = fields[i].ToNative(); @@ -22,7 +22,7 @@ public bool QueryBuilder(UiText id, ReadOnlySpan fields, Spancui_trace_view. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. +public unsafe partial struct EventTrackResult +{ + /// an event was moved, added or removed this frame + public bool Changed; + /// index of the event added this frame, or -1 + public int Added; + /// index the removed event had, or -1 + public int Removed; + /// the selected event after this frame, or -1 + public int Selected; + /// an event is being dragged + public bool Dragging; + + public EventTrackResult(bool Changed, int Added = default, int Removed = default, int Selected = default, bool Dragging = default) { this.Changed = Changed; this.Added = Added; this.Removed = Removed; this.Selected = Selected; this.Dragging = Dragging; } + + internal readonly NativeEventTrackResult ToNative() => new() + { + Changed = (byte)(Changed ? 1 : 0), + Added = Added, + Removed = Removed, + Selected = Selected, + Dragging = (byte)(Dragging ? 1 : 0), + }; + + /// Copies an array of these into the frame arena; the wrapper hands the pointer to CUI. + internal static nint ToFrameArray(EventTrackResult[]? items) + { + if (items is null || items.Length is 0) return 0; + var block = Utf8.AllocFrame(items.Length); + for (int i = 0; i < items.Length; i++) block[i] = items[i].ToNative(); + return (nint)block; + } + + internal static EventTrackResult FromNative(NativeEventTrackResult n) => new() + { + Changed = n.Changed != 0, + Added = n.Added, + Removed = n.Removed, + Selected = n.Selected, + Dragging = n.Dragging != 0, + }; +} + +/// Elements are copied into the frame arena by the wrapper. +public unsafe partial struct DotChartResult +{ + /// the sample under the pointer or the keyboard cursor, or -1 + public int Hovered; + /// that sample's x, in x units + public double X; + /// the stacked value there + public float Value; + /// the plot was clicked, or Enter was pressed on it, this frame: `x` is where + public bool Clicked; + + public DotChartResult(int Hovered, double X = default, float Value = default, bool Clicked = default) { this.Hovered = Hovered; this.X = X; this.Value = Value; this.Clicked = Clicked; } + + internal readonly NativeDotChartResult ToNative() => new() + { + Hovered = Hovered, + X = X, + Value = Value, + Clicked = (byte)(Clicked ? 1 : 0), + }; + + /// Copies an array of these into the frame arena; the wrapper hands the pointer to CUI. + internal static nint ToFrameArray(DotChartResult[]? items) + { + if (items is null || items.Length is 0) return 0; + var block = Utf8.AllocFrame(items.Length); + for (int i = 0; i < items.Length; i++) block[i] = items[i].ToNative(); + return (nint)block; + } + + internal static DotChartResult FromNative(NativeDotChartResult n) => new() + { + Hovered = n.Hovered, + X = n.X, + Value = n.Value, + Clicked = n.Clicked != 0, + }; +} + +/// Elements are copied into the frame arena by the wrapper. +public unsafe partial struct ChartAnnotation +{ + /// cui_annotation_kind kind + public AnnotationKind Kind; + /// in the chart's x units: the point's index for line and bar charts, x_min to x_max for the dot chart + public double X; + /// a value, in the chart's value units + public double Y; + /// first line, e.g. "PEAK 203 MG"; `NULL` for a line with no label + public string? Label; + /// second line, muted, e.g. "13:06"; `NULL` for none + public string? Detail; + /// the line, dot and label in the accent color + public bool Accent; + + public ChartAnnotation(AnnotationKind Kind, double X = default, double Y = default, string? Label = null, string? Detail = null, bool Accent = default) { this.Kind = Kind; this.X = X; this.Y = Y; this.Label = Label; this.Detail = Detail; this.Accent = Accent; } + + internal readonly NativeChartAnnotation ToNative() => new() + { + Kind = Kind, + X = X, + Y = Y, + Label = Utf8.Get(Label), + Detail = Utf8.Get(Detail), + Accent = (byte)(Accent ? 1 : 0), + }; + + /// Copies an array of these into the frame arena; the wrapper hands the pointer to CUI. + internal static nint ToFrameArray(ChartAnnotation[]? items) + { + if (items is null || items.Length is 0) return 0; + var block = Utf8.AllocFrame(items.Length); + for (int i = 0; i < items.Length; i++) block[i] = items[i].ToNative(); + return (nint)block; + } + + internal static ChartAnnotation FromNative(NativeChartAnnotation n) => new() + { + Kind = n.Kind, + X = n.X, + Y = n.Y, + Label = Marshal.PtrToStringUTF8(n.Label), + Detail = Marshal.PtrToStringUTF8(n.Detail), + Accent = n.Accent != 0, + }; +} + +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct TraceViewState { /// visible time range; end <= start fits everything @@ -53,10 +185,10 @@ internal static nint ToFrameArray(TraceViewState[]? items) }; } -/// cui_api_explorer_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct ApiExplorerResult { - /// endpoint, or -1 + /// the selected endpoint, or -1 public int Selected; /// endpoint, or -1 public int TryIt; @@ -85,7 +217,7 @@ internal static nint ToFrameArray(ApiExplorerResult[]? items) }; } -/// cui_feature_flags_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct FeatureFlagsResult { /// changed this frame, or -1 @@ -117,10 +249,10 @@ internal static nint ToFrameArray(FeatureFlagsResult[]? items) }; } -/// cui_blame_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct BlameResult { - /// commits, or -1 + /// commit whose gutter entry was clicked this frame, or -1 public int Clicked; /// commits, or -1 public int Hovered; @@ -149,10 +281,10 @@ internal static nint ToFrameArray(BlameResult[]? items) }; } -/// cui_coverage_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct CoverageResult { - /// file, or -1 + /// file opened this frame (Enter or a double-click), or -1 public int Activated; /// percent of all lines covered public float Lines; @@ -181,10 +313,10 @@ internal static nint ToFrameArray(CoverageResult[]? items) }; } -/// cui_time_histogram_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct TimeHistogramResult { - /// bucket, or -1 + /// `*sel_start` or `*sel_end` changed this frame (a drag, or a click that cleared it) public bool SelectionChanged; /// bucket, or -1 public int Hovered; @@ -213,7 +345,7 @@ internal static nint ToFrameArray(TimeHistogramResult[]? items) }; } -/// cui_uptime_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct UptimeResult { /// under the pointer, or -1 @@ -245,14 +377,14 @@ internal static nint ToFrameArray(UptimeResult[]? items) }; } -/// cui_request_bar_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct RequestBarResult { - /// _Bool send + /// Send was pressed, or Enter in the URL: start the request public bool Send; - /// _Bool cancel + /// Cancel was pressed while `loading` public bool Cancel; - /// _Bool changed + /// the method or the URL was edited this frame public bool Changed; public RequestBarResult(bool Send, bool Cancel = default, bool Changed = default) { this.Send = Send; this.Cancel = Cancel; this.Changed = Changed; } @@ -281,7 +413,7 @@ internal static nint ToFrameArray(RequestBarResult[]? items) }; } -/// cui_stack_trace_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct StackTraceResult { /// frame, or -1 @@ -309,7 +441,7 @@ internal static nint ToFrameArray(StackTraceResult[]? items) }; } -/// cui_test_explorer_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct TestExplorerResult { /// items, or -1 @@ -318,7 +450,7 @@ public unsafe partial struct TestExplorerResult public int Activated; /// item whose run button was pressed this frame, or -1 public int Run; - /// _Bool run_all + /// the Run all button was pressed this frame public bool RunAll; /// tests, not suites public int Passed; @@ -365,14 +497,14 @@ internal static nint ToFrameArray(TestExplorerResult[]? items) }; } -/// cui_regex_tester_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct RegexTesterResult { - /// _Bool valid + /// the pattern is valid and matching finished in time public bool Valid; - /// int matches + /// matches found in the test text public int Matches; - /// const char * error + /// why, when `valid` is false; otherwise `NULL` public string? Error; public RegexTesterResult(bool Valid, int Matches = default, string? Error = null) { this.Valid = Valid; this.Matches = Matches; this.Error = Error; } @@ -401,14 +533,14 @@ internal static nint ToFrameArray(RegexTesterResult[]? items) }; } -/// cui_trace_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct TraceResult { - /// _Bool selection_changed + /// `*selected` changed this frame (click or keys) public bool SelectionChanged; - /// _Bool view_changed + /// the visible time range or the scroll in `*view` changed (zoom, pan, fit) public bool ViewChanged; - /// int hovered + /// span under the pointer, or -1 public int Hovered; public TraceResult(bool SelectionChanged, bool ViewChanged = default, int Hovered = default) { this.SelectionChanged = SelectionChanged; this.ViewChanged = ViewChanged; this.Hovered = Hovered; } @@ -437,14 +569,14 @@ internal static nint ToFrameArray(TraceResult[]? items) }; } -/// cui_waterfall_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct WaterfallResult { - /// int clicked + /// request clicked this frame, or -1 public int Clicked; - /// int activated + /// request double-clicked or chosen with Enter this frame, or -1 public int Activated; - /// int hovered + /// request under the pointer, or -1 public int Hovered; public WaterfallResult(int Clicked, int Activated = default, int Hovered = default) { this.Clicked = Clicked; this.Activated = Activated; this.Hovered = Hovered; } @@ -473,14 +605,14 @@ internal static nint ToFrameArray(WaterfallResult[]? items) }; } -/// cui_graph_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct GraphResult { - /// int clicked + /// node clicked this frame, or -1 public int Clicked; - /// int activated + /// node double-clicked or chosen with Enter this frame, or -1 public int Activated; - /// int hovered + /// node under the pointer, or -1 public int Hovered; public GraphResult(int Clicked, int Activated = default, int Hovered = default) { this.Clicked = Clicked; this.Activated = Activated; this.Hovered = Hovered; } @@ -509,14 +641,14 @@ internal static nint ToFrameArray(GraphResult[]? items) }; } -/// cui_commit_graph_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct CommitGraphResult { - /// int clicked + /// row clicked this frame, or -1 public int Clicked; - /// int activated + /// row double-clicked or chosen with Enter this frame, or -1 public int Activated; - /// int hovered + /// row under the pointer, or -1 public int Hovered; public CommitGraphResult(int Clicked, int Activated = default, int Hovered = default) { this.Clicked = Clicked; this.Activated = Activated; this.Hovered = Hovered; } @@ -545,12 +677,12 @@ internal static nint ToFrameArray(CommitGraphResult[]? items) }; } -/// cui_keymap_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct KeymapResult { - /// cui_key clicked + /// key clicked this frame, or `CUI_KEY_NONE` public Key Clicked; - /// int conflicts + /// bindings that repeat a combination another binding already uses public int Conflicts; public KeymapResult(Key Clicked, int Conflicts = default) { this.Clicked = Clicked; this.Conflicts = Conflicts; } @@ -577,12 +709,12 @@ internal static nint ToFrameArray(KeymapResult[]? items) }; } -/// cui_schedule_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct ScheduleResult { - /// the next run, Unix seconds, 0 none + /// `cron` was edited this frame public bool Changed; - /// the next run, Unix seconds, 0 none + /// `cron` is a valid expression public bool Valid; /// the next run, Unix seconds, 0 none public long Next; @@ -613,12 +745,12 @@ internal static nint ToFrameArray(ScheduleResult[]? items) }; } -/// cui_pipeline_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct PipelineResult { - /// job indices, or -1 + /// job clicked this frame (or chosen with Enter or Space), or -1 public int Clicked; - /// job indices, or -1 + /// job under the pointer, or -1 public int Hovered; public PipelineResult(int Clicked, int Hovered = default) { this.Clicked = Clicked; this.Hovered = Hovered; } @@ -645,7 +777,7 @@ internal static nint ToFrameArray(PipelineResult[]? items) }; } -/// cui_problems_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct ProblemsResult { /// diagnostic selected, or -1 @@ -681,7 +813,7 @@ internal static nint ToFrameArray(ProblemsResult[]? items) }; } -/// cui_text_mark. Elements are copied into the frame arena by the wrapper. +/// Code editor: editable code with the code block's highlighting, a line number gutter and a monospace grid, for shader editors, script consoles and config files. You own the text: a NUL terminated buffer and its capacity, edited in place. Elements are copied into the frame arena by the wrapper. public unsafe partial struct TextMark { /// int start @@ -717,16 +849,16 @@ internal static nint ToFrameArray(TextMark[]? items) }; } -/// cui_kv_pair. Elements are copied into the frame arena by the wrapper. +/// Rows of key = value pairs: HTTP headers, query parameters, environment variables. You own the array and it is edited in place. The checkbox turns a pair on or off, typing in the empty row at the end adds a pair, the x removes one. Secret values show as dots with an eye to reveal them. A key used twice, or one with a space, is marked. On a phone each key sits above its value. Returns true when anything changed. Elements are copied into the frame arena by the wrapper. public unsafe partial struct KeyValue { - /// char[64] key + /// the name, e.g. "Accept"; edited in place public string? Key; - /// char[256] value + /// the value, e.g. "application/json"; edited in place public string? Value; - /// _Bool enabled + /// the pair is in use; its checkbox toggles this public bool Enabled; - /// _Bool secret + /// the value shows as dots, with an eye to reveal it; the lock button toggles this public bool Secret; public KeyValue(string? Key, string? Value = null, bool Enabled = default, bool Secret = default) { this.Key = Key; this.Value = Value; this.Enabled = Enabled; this.Secret = Secret; } @@ -761,18 +893,18 @@ internal static nint ToFrameArray(KeyValue[]? items) }; } -/// cui_api_param. Elements are copied into the frame arena by the wrapper. +/// Endpoints grouped by tag, each with its method, its path (parameters marked) and its summary; deprecated ones are struck through. A click opens an endpoint's parameters and a Try it button. A field filters by path or summary. Up and Down move, Enter opens. Elements are copied into the frame arena by the wrapper. public unsafe partial struct ApiParam { - /// "path", "query", "header", "body" + /// the parameter's name, in the code font public string? Name; - /// "path", "query", "header", "body" + /// where it goes: "path", "query", "header" or "body" public string? In; - /// const char * type + /// e.g. "string"; shown before where it goes public string? Type; - /// _Bool required + /// a red asterisk after the name public bool Required; - /// const char * description + /// what the parameter is for, shown after its type and place; may be `NULL` public string? Description; public ApiParam(string? Name, string? In = null, string? Type = null, bool Required = default, string? Description = null) { this.Name = Name; this.In = In; this.Type = Type; this.Required = Required; this.Description = Description; } @@ -805,20 +937,20 @@ internal static nint ToFrameArray(ApiParam[]? items) }; } -/// cui_api_endpoint. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct ApiEndpoint { /// "GET" public string? Method; /// "/users/{id}" public string? Path; - /// const char * summary + /// one line after the path; the filter field searches it public string? Summary; /// groups the list; NULL groups as "Other" public string? Tag; - /// _Bool deprecated + /// struck through and muted, with a "Deprecated" badge public bool Deprecated; - /// const cui_api_param * params + /// the parameters listed when the endpoint is opened; may be `NULL` public ApiParam[]? Params; public ApiEndpoint(string? Method, string? Path = null, string? Summary = null, string? Tag = null, bool Deprecated = default, ApiParam[]? Params = default) { this.Method = Method; this.Path = Path; this.Summary = Summary; this.Tag = Tag; this.Deprecated = Deprecated; this.Params = Params; } @@ -854,14 +986,14 @@ internal static nint ToFrameArray(ApiEndpoint[]? items) }; } -/// cui_feature_flag. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct FeatureFlag { - /// const char * key + /// the flag's name, in the code font; the filter field searches it public string? Key; /// const char * description public string? Description; - /// _Bool[8] on + /// the flag's switch in each environment, in the order of `envs` public bool[]? On; /// percent of users while on; 0 and 100 mean everyone public int[]? Rollout; @@ -898,14 +1030,14 @@ internal static nint ToFrameArray(FeatureFlag[]? items) }; } -/// cui_blame_commit. Elements are copied into the frame arena by the wrapper. +/// Source with who last changed each line: lines from one commit share one gutter entry with its author, age and hash, and a bar at the edge shades newer changes stronger. Hover a gutter entry for the commit's summary and to mark its lines; click it to get the commit. Only the lines in view are built. On a phone the gutter keeps only the shade and initials. Elements are copied into the frame arena by the wrapper. public unsafe partial struct BlameCommit { - /// Unix seconds + /// the commit id; its first 7 characters are shown public string? Hash; - /// Unix seconds + /// shown in the gutter; on a phone as initials public string? Author; - /// Unix seconds + /// the commit's message line, shown in the gutter's tooltip public string? Summary; /// Unix seconds public long Time; @@ -938,22 +1070,22 @@ internal static nint ToFrameArray(BlameCommit[]? items) }; } -/// cui_coverage_file. Elements are copied into the frame arena by the wrapper. +/// Test coverage by folder and file: the files' paths make the tree, each folder sums up what it holds, and folders fold. Line coverage shows as a bar colored by thresholds, with branches and functions beside it. Click a column's title to sort. Enter or a double-click activates a file. Narrow panels show lines only. Elements are copied into the frame arena by the wrapper. public unsafe partial struct CoverageFile { /// "src/core/layout.c" public string? Path; - /// int lines + /// lines that can be covered public int Lines; - /// int lines_hit + /// lines the tests ran public int LinesHit; /// 0 branches: not measured public int Branches; /// 0 branches: not measured public int BranchesHit; - /// int functions + /// functions in the file public int Functions; - /// int functions_hit + /// functions the tests called public int FunctionsHit; public CoverageFile(string? Path, int Lines = default, int LinesHit = default, int Branches = default, int BranchesHit = default, int Functions = default, int FunctionsHit = default) { this.Path = Path; this.Lines = Lines; this.LinesHit = LinesHit; this.Branches = Branches; this.BranchesHit = BranchesHit; this.Functions = Functions; this.FunctionsHit = FunctionsHit; } @@ -990,12 +1122,12 @@ internal static nint ToFrameArray(CoverageFile[]? items) }; } -/// cui_histogram_series. Elements are copied into the frame arena by the wrapper. +/// Event counts over time, stacked by series (log levels, status classes), as above a log search. Drag across it to select a time range, click to clear. Hover a bar for its time and counts. Times are Unix seconds. Elements are copied into the frame arena by the wrapper. public unsafe partial struct HistogramSeries { - /// const char * name + /// shown in the legend and in the hover tooltip public string? Name; - /// const float * counts + /// one count per bucket; `NULL` counts as zeros public float[]? Counts; /// cui_tone tone public Tone Tone; @@ -1026,10 +1158,10 @@ internal static nint ToFrameArray(HistogramSeries[]? items) }; } -/// cui_uptime_service. Elements are copied into the frame arena by the wrapper. +/// A status page: each service with its current state, its uptime over the period, and one bar per day colored by availability (gray without data). Hover a bar for its day and uptime. On a narrow panel only the most recent days that fit are shown. Elements are copied into the frame arena by the wrapper. public unsafe partial struct UptimeService { - /// const char * name + /// shown above the service's bars public string? Name; /// oldest first: the fraction of the day it was up, 0..1; negative: no data public float[]? Days; @@ -1059,12 +1191,12 @@ internal static nint ToFrameArray(UptimeService[]? items) }; } -/// cui_stack_frame. Elements are copied into the frame arena by the wrapper. +/// An exception and its call stack: the error's type and message, then each frame's function and position. Runs of library frames fold into one row. A frame with source opens to show the lines around it, the failing line marked; the first frame of your own code starts open. A button copies the whole trace as text. Elements are copied into the frame arena by the wrapper. public unsafe partial struct StackFrame { - /// const char * function + /// name of the function; `NULL` or "" shows as <anonymous> public string? Function; - /// const char * file + /// path shown with the line and column; on a phone only the file's name public string? File; /// 1 based; 0 leaves it out public int Line; @@ -1112,10 +1244,10 @@ internal static nint ToFrameArray(StackFrame[]? items) }; } -/// cui_test_item. Elements are copied into the frame arena by the wrapper. +/// Test results as a tree: suites fold, each test shows its status and time, and a failure shows its message under it. A suite's status sums up its tests. The toolbar runs everything, counts results and filters by status and by name. Hover a row for its run button. Only the rows in view are built. Up and Down move, Left and Right fold, Enter activates. Items are in tree order with their depth; the statuses are the pipeline's. Elements are copied into the frame arena by the wrapper. public unsafe partial struct TestItem { - /// const char * name + /// name of the suite or test; the toolbar's field filters by it public string? Name; /// 0 for the top suites public int Depth; @@ -1156,7 +1288,7 @@ internal static nint ToFrameArray(TestItem[]? items) }; } -/// cui_trace_marker. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct TraceMarker { /// const char * name @@ -1192,20 +1324,20 @@ internal static nint ToFrameArray(TraceMarker[]? items) }; } -/// cui_trace_span. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct TraceSpan { - /// const char * name + /// drawn in the span when it fits, and in its tooltip public string? Name; - /// double start + /// when the span begins, in seconds public double Start; - /// double end + /// when the span ends, in seconds; end >= start public double End; - /// int track + /// index into the tracks: the lane the span is drawn in public int Track; - /// int depth + /// row within the lane, 0 = top; a child lies within its parent public int Depth; - /// uint32_t color_key + /// picks the color; 0: hashed from the name public uint ColorKey; public TraceSpan(string? Name, double Start = default, double End = default, int Track = default, int Depth = default, uint ColorKey = default) { this.Name = Name; this.Start = Start; this.End = End; this.Track = Track; this.Depth = Depth; this.ColorKey = ColorKey; } @@ -1240,12 +1372,12 @@ internal static nint ToFrameArray(TraceSpan[]? items) }; } -/// cui_trace_track. Elements are copied into the frame arena by the wrapper. +/// A tracing timeline: one lane per thread, process or service, each with its nested spans, on one time ruler, with markers (frames, GC pauses, deploys) drawn across every lane. Wheel zooms around the pointer, Shift+wheel or a drag pans, click selects a span, Shift+drag measures a time range. A lane's name folds it. Keys: Left and Right step through the selected span's lane, + and - zoom, F fits, Esc clears. Spans must be sorted by track, depth and start (cui_trace_sort), with no overlap within a depth of a track. Like the flame graph, only what is in view is visited. Elements are copied into the frame arena by the wrapper. public unsafe partial struct TraceTrack { - /// const char * name + /// the lane's name, in the column on the left public string? Name; - /// _Bool collapsed + /// the lane shows only its top row; a click on its name toggles this public bool Collapsed; public TraceTrack(string? Name, bool Collapsed = default) { this.Name = Name; this.Collapsed = Collapsed; } @@ -1272,7 +1404,7 @@ internal static nint ToFrameArray(TraceTrack[]? items) }; } -/// cui_net_request. Elements are copied into the frame arena by the wrapper. +/// HTTP requests as a table with a timing bar each: queued, DNS, connect, TLS, waiting for the first byte and downloading, on one time scale with the page's DOMContentLoaded and load lines. Hover a bar for the breakdown. Narrow panels drop the type and size columns. Only the rows in view are built. Up and Down move the selection. Elements are copied into the frame arena by the wrapper. public unsafe partial struct NetRequest { /// path or URL; the last part is shown @@ -1328,12 +1460,12 @@ internal static nint ToFrameArray(NetRequest[]? items) }; } -/// cui_graph_edge. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct GraphEdge { - /// int from + /// index of the node the arrow starts at public int From; - /// int to + /// index of the node the arrow points to public int To; public GraphEdge(int From, int To = default) { this.From = From; this.To = To; } @@ -1360,12 +1492,12 @@ internal static nint ToFrameArray(GraphEdge[]? items) }; } -/// cui_graph_node. Elements are copied into the frame arena by the wrapper. +/// Nodes and directed edges laid out in layers (each edge points to a later layer, cycles are broken), for build targets, packages, services or call graphs. The layout is computed when the graph changes. Wheel zooms, drag pans, click selects; hovering a node lights up what it depends on and what depends on it. F fits the graph. Elements are copied into the frame arena by the wrapper. public unsafe partial struct GraphNode { /// const char * label public string? Label; - /// const char * detail + /// smaller second line under the label, e.g. the node's kind; `NULL` for none public string? Detail; /// cui_tone tone public Tone Tone; @@ -1396,14 +1528,14 @@ internal static nint ToFrameArray(GraphNode[]? items) }; } -/// cui_commit. Elements are copied into the frame arena by the wrapper. +/// Version history: the branch lanes drawn beside each commit, newest first, with its message, branch and tag names, author, date and short hash. Each commit names its parents by row (parents come later in the array), so merges and branches draw as lines between lanes. Only the rows in view are built. Up and Down move the selection; Enter or a double-click activates. Elements are copied into the frame arena by the wrapper. public unsafe partial struct Commit { - /// const char * hash + /// the commit id; its first 7 characters are shown public string? Hash; /// the first line is shown public string? Message; - /// const char * author + /// shown in its own column, which a narrow panel leaves out public string? Author; /// already formatted: "2 hours ago", "Mar 3" public string? Date; @@ -1448,12 +1580,12 @@ internal static nint ToFrameArray(Commit[]? items) }; } -/// cui_query_node. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct QueryNode { /// 0 for the outer group public int Depth; - /// _Bool group + /// a group of the nodes after it that are one level deeper; otherwise a rule public bool Group; /// group: any rule (or) instead of all (and) public bool Any; @@ -1500,10 +1632,10 @@ internal static nint ToFrameArray(QueryNode[]? items) }; } -/// cui_query_field. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct QueryField { - /// const char * name + /// shown in the field select and in the text `cui_query_text` writes public string? Name; /// cui_query_type type public QueryType Type; @@ -1537,10 +1669,10 @@ internal static nint ToFrameArray(QueryField[]? items) }; } -/// cui_pipeline_job. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct PipelineJob { - /// const char * name + /// shown on the job's row and in its tooltip public string? Name; /// index into the stage names public int Stage; @@ -1581,12 +1713,12 @@ internal static nint ToFrameArray(PipelineJob[]? items) }; } -/// cui_diagnostic. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct ProblemItem { /// cui_severity severity public Severity Severity; - /// const char * message + /// the text of the row; the whole message shows on hover public string? Message; /// groups the rows; NULL or "" groups as "No file" public string? File; @@ -1633,7 +1765,7 @@ internal static nint ToFrameArray(ProblemItem[]? items) }; } -/// cui_image_view. Elements are copied into the frame arena by the wrapper. +/// Image viewer: zoom and pan a picture. The wheel (or a pinch, which comes as Ctrl+wheel) zooms around the pointer, dragging pans, double-click switches between fitting the view and 100%. With the viewer focused, + and - zoom, 0 fits, 1 shows actual pixels and the arrows pan. Zoom and pan ease. Keep a cui_image_view to keep the zoom and position (zeroed: fit). Elements are copied into the frame arena by the wrapper. public unsafe partial struct ImageView { /// screen points per image pixel; 0 fits the image in the view @@ -1669,7 +1801,7 @@ internal static nint ToFrameArray(ImageView[]? items) }; } -/// cui_terminal_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct TerminalResult { /// the line entered (Enter), already echoed; valid this frame @@ -1701,7 +1833,7 @@ internal static nint ToFrameArray(TerminalResult[]? items) }; } -/// cui_file_browser_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct FileBrowserResult { /// a file double-clicked or Entered, as a full path; valid this frame @@ -1741,7 +1873,7 @@ internal static nint ToFrameArray(FileBrowserResult[]? items) }; } -/// cui_file_entry. Elements are copied into the frame arena by the wrapper. +/// File browser and file picker (an open or save dialog drawn by CUI, like the rest of the window; cui_app_file_dialog in cui_app.h opens the system's own). The browser lists a folder (name, date modified and size; folders first, any column sorts), with back, forward and up, a path bar you can type into, a filter field and a sidebar of places. Double-click or Enter opens a folder or picks a file; Backspace goes up, Alt+Left and Alt+Right go back and forward, F5 reloads, and typing a letter jumps to the next name that starts with it. A folder is read when you enter it (or reload), not every frame, and only the rows in view are built. Elements are copied into the frame arena by the wrapper. public unsafe partial struct FileEntry { /// const char * name @@ -1781,7 +1913,7 @@ internal static nint ToFrameArray(FileEntry[]? items) }; } -/// cui_month_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct MonthResult { /// clicked event, or -1 @@ -1821,10 +1953,10 @@ internal static nint ToFrameArray(MonthResult[]? items) }; } -/// cui_month_event. Elements are copied into the frame arena by the wrapper. +/// Month calendar: a month grid with events. All-day and multi-day events are bars across the days they cover; timed events are a dot, a time and a title. A day with more than fits says "+N more" and opens a list of them. On a narrow screen the cells show colored dots and the selected day's events are listed under the grid. Elements are copied into the frame arena by the wrapper. public unsafe partial struct MonthEvent { - /// const char * title + /// shown on the event's bar, or after the time of a timed event public string? Title; /// inclusive; an unset or earlier end means one day public Date Start; @@ -1869,14 +2001,14 @@ internal static nint ToFrameArray(MonthEvent[]? items) }; } -/// cui_tour_step. Elements are copied into the frame arena by the wrapper. +/// Guided tour: a spotlight on one control at a time, with a card beside it that says what the control does, for onboarding and "what's new". The rest of the window dims; the spotlight glides from one control to the next. Call it after the controls it points at, every frame while *step is 0 or more; it sets *step to -1 when the tour ends. Right or Enter go to the next step, Left goes back and Esc ends the tour. Elements are copied into the frame arena by the wrapper. public unsafe partial struct TourStep { /// the control to point at (cui_last_id after it); 0: a card in the middle public uint Target; - /// const char * title + /// heading of the step's card; `NULL` or "" leaves it out public string? Title; - /// const char * body + /// the explanation under the title; wraps to the card's width public string? Body; /// the card's side of the target, default below it public Placement Placement; @@ -1909,18 +2041,18 @@ internal static nint ToFrameArray(TourStep[]? items) }; } -/// cui_candle. Elements are copied into the frame arena by the wrapper. +/// Candlestick chart: open, high, low and close per period with volume under it, for prices. The wheel zooms around the pointer, dragging (or Shift+wheel) pans, a crosshair shows each candle's values, and the price axis fits the candles in view. Zoomed out past a few points per candle, candles merge per pixel column, so a long history stays fast. When the view shows the newest candle it follows new ones as they are appended. With the chart focused, Left and Right move the crosshair (Shift: ten at a time), Home and End jump to the ends, + and - zoom and 0 fits everything. Elements are copied into the frame arena by the wrapper. public unsafe partial struct Candle { - /// float open + /// price at the start of the period public float Open; - /// float high + /// highest price in the period public float High; - /// float low + /// lowest price in the period public float Low; - /// float close + /// price at the end of the period public float Close; - /// float volume + /// amount traded in the period, drawn as a bar under the candle; 0 for none public float Volume; public Candle(float Open, float High = default, float Low = default, float Close = default, float Volume = default) { this.Open = Open; this.High = High; this.Low = Low; this.Close = Close; this.Volume = Volume; } @@ -1953,7 +2085,7 @@ internal static nint ToFrameArray(Candle[]? items) }; } -/// cui_gauge_band. Elements are copied into the frame arena by the wrapper. +/// Radial gauge: one value on a dial with colored bands, labelled ticks, a needle and a target marker, for dashboards (speed, load, temperature, a score against a goal). The needle springs to new values. Elements are copied into the frame arena by the wrapper. public unsafe partial struct GaugeBand { /// from the band before (or min) up to `to` @@ -1985,7 +2117,7 @@ internal static nint ToFrameArray(GaugeBand[]? items) }; } -/// cui_hex_range. Elements are copied into the frame arena by the wrapper. +/// Hex viewer: offsets, bytes in hex and the same bytes as ASCII, in the code font, for binary tools, emulators and debuggers. You own the bytes (they are read during the call, never kept) and, optionally, the selection: Elements are copied into the frame arena by the wrapper. public unsafe partial struct HexRange { /// size_t offset @@ -2025,7 +2157,7 @@ internal static nint ToFrameArray(HexRange[]? items) }; } -/// cui_swipe_action. Elements are copied into the frame arena by the wrapper. +/// Swipe actions: drag a row sideways (or swipe on a trackpad) to reveal actions behind it. A long swipe triggers the first action. The row content goes between begin and end; end returns the chosen action: 0..left_count-1 for left actions, 100 + i for right actions, or -1. Elements are copied into the frame arena by the wrapper. public unsafe partial struct SwipeAction { /// const char * icon @@ -2061,7 +2193,7 @@ internal static nint ToFrameArray(SwipeAction[]? items) }; } -/// cui_timeline_view. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct TimelineView { /// visible time range; end <= start fits the sequence @@ -2097,16 +2229,16 @@ internal static nint ToFrameArray(TimelineView[]? items) }; } -/// cui_kanban_move. Elements are copied into the frame arena by the wrapper. +/// Kanban board: columns of cards you drag between columns and within them. The board reports drops; you move the card in your data: Elements are copied into the frame arena by the wrapper. public unsafe partial struct KanbanMove { - /// int card + /// the `card_id` of the card that was dropped public int Card; - /// int from_column + /// index of the column it came from, in the order the columns were begun public int FromColumn; - /// int to_column + /// index of the column it was dropped in public int ToColumn; - /// int to_index + /// its position in that column, counted with the dragged card left out public int ToIndex; public KanbanMove(int Card, int FromColumn = default, int ToColumn = default, int ToIndex = default) { this.Card = Card; this.FromColumn = FromColumn; this.ToColumn = ToColumn; this.ToIndex = ToIndex; } @@ -2137,7 +2269,7 @@ internal static nint ToFrameArray(KanbanMove[]? items) }; } -/// cui_timeline_editor_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct TimelineEditorResult { /// keys or clips moved, were added or removed, or a track flag changed @@ -2148,9 +2280,9 @@ public unsafe partial struct TimelineEditorResult public bool Scrubbing; /// Space: start or stop playback public bool PlayToggled; - /// _Bool selection_changed + /// a key or clip was selected or unselected this frame public bool SelectionChanged; - /// _Bool view_changed + /// the visible time range or the row scroll changed (zoom, pan, fit) public bool ViewChanged; /// selected keys moved this frame (drag or Alt+arrows) public bool KeysMoved; @@ -2168,9 +2300,9 @@ public unsafe partial struct TimelineEditorResult public int Clip; /// the track whose collapsed, muted or locked flag changed, or -1 public int Toggled; - /// int current_track + /// track of the key last clicked or added, or -1 public int CurrentTrack; - /// int current_key + /// index of that key in its track, or -1 public int CurrentKey; /// the key under the pointer, or -1 public int HoveredTrack; @@ -2233,16 +2365,16 @@ internal static nint ToFrameArray(TimelineEditorResult[]? items) }; } -/// cui_log_line. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct LogLine { - /// uint32_t offset + /// where the line's text starts in the buffer's `text` public uint Offset; - /// uint32_t len + /// bytes of text, not counting the terminator public uint Len; - /// double time + /// the timestamp it was appended with, in seconds public double Time; - /// uint8_t level + /// a `cui_log_level` public byte Level; public LogLine(uint Offset, uint Len = default, double Time = default, byte Level = default) { this.Offset = Offset; this.Len = Len; this.Time = Time; this.Level = Level; } @@ -2273,12 +2405,12 @@ internal static nint ToFrameArray(LogLine[]? items) }; } -/// cui_gradient_stop. Elements are copied into the frame arena by the wrapper. +/// Gradient editor: a color ramp over a checkerboard (so alpha shows) with the stops underneath. You own the stops; the editor edits them in place and keeps them sorted by position. Drag a stop to move it (it may pass its neighbours), drag it off the ramp or press Delete to remove it (never fewer than two), click the ramp or the empty track to add a stop with the color found there. Double click a stop (or Enter on a focused one) to open the color picker; the row under the ramp shows the selected stop's color, location and opacity. Stops are focusable: Tab moves through them, Left and Right nudge (Shift for fine steps). Elements are copied into the frame arena by the wrapper. public unsafe partial struct GradientStop { - /// pos 0..1 + /// position along the ramp, 0..1 public float Pos; - /// pos 0..1 + /// cui_color color public Color Color; public GradientStop(float Pos, Color Color = default) { this.Pos = Pos; this.Color = Color; } @@ -2305,12 +2437,12 @@ internal static nint ToFrameArray(GradientStop[]? items) }; } -/// cui_curve_key. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct CurveKey { - /// float x + /// position along the horizontal axis, in curve units (seconds in a timeline track) public float X; - /// float y + /// the curve's value at the key public float Y; /// handle toward the previous key, relative to the key (FREE) public float InDx; @@ -2357,7 +2489,7 @@ internal static nint ToFrameArray(CurveKey[]? items) }; } -/// cui_vec2. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct Vec2 { /// float x @@ -2389,7 +2521,7 @@ internal static nint ToFrameArray(Vec2[]? items) }; } -/// cui_flame_view. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct FlameView { /// visible time range; end <= start fits every span @@ -2425,16 +2557,16 @@ internal static nint ToFrameArray(FlameView[]? items) }; } -/// cui_presence_user. Elements are copied into the frame arena by the wrapper. +/// Presence: who is here now. Overlapping avatars with a colored ring each, that spread out on hover and name themselves. Elements are copied into the frame arena by the wrapper. public unsafe partial struct PresenceUser { - /// const char * name + /// shown in the tooltip, and as initials when there is no avatar public string? Name; /// cui_color color public Color Color; - /// cui_texture avatar + /// picture to show instead of the initials public ulong Avatar; - /// _Bool idle + /// away: the avatar dims, its ring turns gray and the tooltip adds "(away)" public bool Idle; public PresenceUser(string? Name, Color Color = default, ulong Avatar = default, bool Idle = default) { this.Name = Name; this.Color = Color; this.Avatar = Avatar; this.Idle = Idle; } @@ -2465,14 +2597,14 @@ internal static nint ToFrameArray(PresenceUser[]? items) }; } -/// cui_series. Elements are copied into the frame arena by the wrapper. +/// Charts Elements are copied into the frame arena by the wrapper. public unsafe partial struct Series { - /// const char * name + /// shown in the legend and in the hover tooltip public string? Name; - /// const float * values + /// the series' data, one value per point public float[]? Values; - /// int count + /// number of `values` public int Count; /// default: series palette public Color Color; @@ -2505,14 +2637,14 @@ internal static nint ToFrameArray(Series[]? items) }; } -/// cui_filter_field. Elements are copied into the frame arena by the wrapper. +/// Filter bar: a search field, a chip per active filter (click it to pick values) and "+ Filter" to add one. selected[i] is a bit mask of the chosen options of fields[i]. Returns true when anything changed. Elements are copied into the frame arena by the wrapper. public unsafe partial struct FilterField { - /// const char * name + /// the field's name, on its chip and in the "+ Filter" menu public string? Name; /// const char * icon public string? Icon; - /// const char *const * options + /// the values to choose from; at most 32, one bit of the mask each public string[]? Options; public FilterField(string? Name, string? Icon = null, string[]? Options = default) { this.Name = Name; this.Icon = Icon; this.Options = Options; } @@ -2542,14 +2674,14 @@ internal static nint ToFrameArray(FilterField[]? items) }; } -/// cui_node_view. Elements are copied into the frame arena by the wrapper. +/// Node editor: nodes with input and output pins on a canvas that pans and zooms, joined by curved links. You own the nodes, pins and links; the editor moves the node positions you pass and reports what the user did: Elements are copied into the frame arena by the wrapper. public unsafe partial struct NodeView { - /// pan in points; zoom 0 means 1 + /// where the canvas origin sits, in points from the editor's left edge; panning changes it public float X; - /// pan in points; zoom 0 means 1 + /// where the canvas origin sits, in points from the editor's top edge public float Y; - /// pan in points; zoom 0 means 1 + /// scale of the canvas; 0 means 1. Kept between `min_zoom` and `max_zoom` public float Zoom; public NodeView(float X, float Y = default, float Zoom = default) { this.X = X; this.Y = Y; this.Zoom = Zoom; } @@ -2578,7 +2710,7 @@ internal static nint ToFrameArray(NodeView[]? items) }; } -/// cui_key_combo. Elements are copied into the frame arena by the wrapper. +/// Shortcut recorder: click and press a key combination to record it. Backspace clears, Esc cancels. Returns true when the combination changed. cui_shortcut_label formats a combination ("Ctrl Shift K"). Elements are copied into the frame arena by the wrapper. public unsafe partial struct KeyCombo { /// int mods @@ -2610,12 +2742,12 @@ internal static nint ToFrameArray(KeyCombo[]? items) }; } -/// cui_date_range. Elements are copied into the frame arena by the wrapper. +/// Date ranges. A zero start means nothing is chosen. Elements are copied into the frame arena by the wrapper. public unsafe partial struct DateRange { - /// cui_date start + /// first day of the range; a zero date means nothing is chosen public Date Start; - /// cui_date end + /// last day of the range, inclusive public Date End; public DateRange(Date Start, Date End = default) { this.Start = Start; this.End = End; } @@ -2642,22 +2774,22 @@ internal static nint ToFrameArray(DateRange[]? items) }; } -/// cui_now_playing. Elements are copied into the frame arena by the wrapper. +/// Now playing card: artwork, title, artist, a scrubber and transport buttons. Elements are copied into the frame arena by the wrapper. public unsafe partial struct NowPlayingState { - /// const char * title + /// name of the track, in medium weight public string? Title; - /// const char * artist + /// shown under the title public string? Artist; - /// cui_texture art + /// artwork texture; 0 shows a tile in `art_color` with a note icon public ulong Art; - /// cui_color art_color + /// color of the tile behind (or in place of) the artwork public Color ArtColor; - /// float position + /// seconds played; written when the user seeks public float Position; - /// float duration + /// length of the track in seconds public float Duration; - /// _Bool playing + /// shows pause instead of play; the play button flips it public bool Playing; public NowPlayingState(string? Title, string? Artist = null, ulong Art = default, Color ArtColor = default, float Position = default, float Duration = default, bool Playing = default) { this.Title = Title; this.Artist = Artist; this.Art = Art; this.ArtColor = ArtColor; this.Position = Position; this.Duration = Duration; this.Playing = Playing; } @@ -2694,14 +2826,14 @@ internal static nint ToFrameArray(NowPlayingState[]? items) }; } -/// cui_hex_selection. Elements are copied into the frame arena by the wrapper. +/// The selected bytes. length 0 means nothing is selected; cursor is the byte the keys move from and is one end of a selection. Set it yourself to select from code. Elements are copied into the frame arena by the wrapper. public unsafe partial struct HexSelection { - /// size_t start + /// offset of the first selected byte public ulong Start; - /// size_t length + /// bytes selected; 0 means nothing is selected public ulong Length; - /// size_t cursor + /// the byte the keys move from; one end of the selection public ulong Cursor; public HexSelection(ulong Start, ulong Length = default, ulong Cursor = default) { this.Start = Start; this.Length = Length; this.Cursor = Cursor; } @@ -2730,10 +2862,10 @@ internal static nint ToFrameArray(HexSelection[]? items) }; } -/// cui_flame_span. Elements are copied into the frame arena by the wrapper. +/// Flame graph / profiler timeline: time runs left to right, call depth top to bottom (row d holds the spans at depth d). You own the spans, the view and the selection; the component pans and zooms *view and writes *selected. Elements are copied into the frame arena by the wrapper. public unsafe partial struct FlameSpan { - /// const char * name + /// drawn in the span when it fits, and in its tooltip public string? Name; /// seconds, end >= start public double Start; @@ -2774,16 +2906,16 @@ internal static nint ToFrameArray(FlameSpan[]? items) }; } -/// cui_doc_tab. Elements are copied into the frame arena by the wrapper. +/// Document tabs: editor style tabs. Clicking selects (*selected is updated), the x or a middle click asks to close, dragging reorders, and the strip scrolls sideways when the tabs do not fit. A dirty tab shows a dot that turns into the close button under the pointer. The selected tab is filled with the surface color so it joins the content below; the strip itself has no fill, like the other bars. Tabs keep their state by title, so give two tabs with the same name a key: "main.c##src". The component never removes or moves your tabs itself: it reports a close or a move in the result and you apply it (selection already follows a move). With keyboard focus on the strip, Left and Right select, Home and End jump, Shift+Left/Right move the tab and Delete closes it. With `shortcuts` set it also answers Ctrl+Tab, Ctrl+Shift+Tab, Ctrl+PageUp/Down and Ctrl+W (Cmd+W on macOS) from anywhere in the window. Elements are copied into the frame arena by the wrapper. public unsafe partial struct DocTab { - /// const char * title + /// the tab's text and its identity; add "##key" to tell two tabs with one name apart public string? Title; /// const char * icon public string? Icon; /// const char * tooltip public string? Tooltip; - /// _Bool dirty + /// unsaved changes: a dot in place of the x, which returns under the pointer public bool Dirty; public DocTab(string? Title, string? Icon = null, string? Tooltip = null, bool Dirty = default) { this.Title = Title; this.Icon = Icon; this.Tooltip = Tooltip; this.Dirty = Dirty; } @@ -2814,7 +2946,7 @@ internal static nint ToFrameArray(DocTab[]? items) }; } -/// cui_doc_tabs_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct DocTabsResult { /// selected changed (click, keys or a move) @@ -2854,7 +2986,7 @@ internal static nint ToFrameArray(DocTabsResult[]? items) }; } -/// cui_gradient_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct GradientResult { /// a stop moved, changed color, or was added or removed @@ -2894,7 +3026,7 @@ internal static nint ToFrameArray(GradientResult[]? items) }; } -/// cui_curve_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct CurveResult { /// a key moved, a handle or mode changed, or a key was added or removed @@ -2946,7 +3078,7 @@ internal static nint ToFrameArray(CurveResult[]? items) }; } -/// cui_flame_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct FlameResult { /// selected changed (click or keys) @@ -2986,7 +3118,7 @@ internal static nint ToFrameArray(FlameResult[]? items) }; } -/// cui_diff_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct DiffResult { /// lines @@ -3050,7 +3182,7 @@ internal static nint ToFrameArray(DiffResult[]? items) }; } -/// cui_code_editor_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct CodeEditorResult { /// the text changed this frame @@ -3126,7 +3258,7 @@ internal static nint ToFrameArray(CodeEditorResult[]? items) }; } -/// cui_markdown_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct MarkdownResult { /// URL of the link clicked (or activated with Enter) this frame, or NULL; frame memory @@ -3174,14 +3306,14 @@ internal static nint ToFrameArray(MarkdownResult[]? items) }; } -/// cui_path_bar_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct PathBarResult { /// segment clicked (here or in the "..." menu), else -1 public int Clicked; /// the typed path after Enter, else NULL; valid this frame public string? Submitted; - /// _Bool editing + /// the bar is showing its text field for typing a path public bool Editing; public PathBarResult(int Clicked, string? Submitted = null, bool Editing = default) { this.Clicked = Clicked; this.Submitted = Submitted; this.Editing = Editing; } @@ -3210,14 +3342,14 @@ internal static nint ToFrameArray(PathBarResult[]? items) }; } -/// cui_sankey_link. Elements are copied into the frame arena by the wrapper. +/// Sankey: flows between nodes; columns follow the links from the sources. Elements are copied into the frame arena by the wrapper. public unsafe partial struct SankeyLink { - /// int from + /// index of the node the flow leaves public int From; - /// int to + /// index of the node the flow enters public int To; - /// float value + /// size of the flow: sets the link's thickness public float Value; public SankeyLink(int From, int To = default, float Value = default) { this.From = From; this.To = To; this.Value = Value; } @@ -3246,10 +3378,10 @@ internal static nint ToFrameArray(SankeyLink[]? items) }; } -/// cui_grid_column. Elements are copied into the frame arena by the wrapper. +/// A virtualized table for large data: sticky header, resizable and sortable columns, checkbox selection (click, Ctrl+click, Shift+click, Ctrl+A), keyboard navigation and editable cells. Build only the rows in [first, last): Elements are copied into the frame arena by the wrapper. public unsafe partial struct GridColumn { - /// const char * title + /// text of the column's header public string? Title; /// initial width in points, default 150 public float Width; @@ -3294,7 +3426,7 @@ internal static nint ToFrameArray(GridColumn[]? items) }; } -/// cui_diff_row. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct DiffRow { /// cui_diff_row_kind kind @@ -3338,24 +3470,24 @@ internal static nint ToFrameArray(DiffRow[]? items) }; } -/// cui_gantt_task. Elements are copied into the frame arena by the wrapper. +/// Gantt chart: a task list beside a timeline of bars. Drag a bar to move it, its ends to resize it. Dependencies are drawn as elbow arrows. Returns the index of a clicked task, or -1. Elements are copied into the frame arena by the wrapper. public unsafe partial struct GanttTask { - /// const char * name + /// shown in the task list and, when it fits, on the bar public string? Name; - /// const char * owner + /// a name: shows that person's avatar in the task list; `NULL` for none public string? Owner; - /// int start + /// day the bar starts, counted from `origin`; dragging the bar changes it public int Start; - /// int end + /// day the bar ends, counted from `origin` (it is end - start days long); dragging changes it public int End; - /// float progress + /// 0..1: the part of the bar drawn darker, as done public float Progress; /// cui_tone tone public Tone Tone; - /// int depends_on + /// index of the task this one waits for: an arrow runs from its end to this start. -1 for none public int DependsOn; - /// _Bool milestone + /// a diamond at `start` instead of a bar; it cannot be resized public bool Milestone; public GanttTask(string? Name, string? Owner = null, int Start = default, int End = default, float Progress = default, Tone Tone = default, int DependsOn = default, bool Milestone = default) { this.Name = Name; this.Owner = Owner; this.Start = Start; this.End = End; this.Progress = Progress; this.Tone = Tone; this.DependsOn = DependsOn; this.Milestone = Milestone; } @@ -3394,18 +3526,18 @@ internal static nint ToFrameArray(GanttTask[]? items) }; } -/// cui_cal_event. Elements are copied into the frame arena by the wrapper. +/// Week calendar: seven day columns on an hour grid. Drag an event to move it (15 minute steps), drag its bottom edge to resize it. Returns the index of a clicked event, or -1. Elements are copied into the frame arena by the wrapper. public unsafe partial struct CalendarEvent { - /// const char * title + /// shown on the event public string? Title; - /// const char * detail + /// a second line such as the place, shown when the event is tall enough; may be `NULL` public string? Detail; - /// int day + /// day column, 0 (the day of `week_start`) to 6; dragging the event changes it public int Day; - /// float start + /// start in hours (13.5 is 13:30); dragging the event changes it public float Start; - /// float end + /// end in hours; moving or resizing the event changes it public float End; /// cui_tone tone public Tone Tone; @@ -3442,16 +3574,16 @@ internal static nint ToFrameArray(CalendarEvent[]? items) }; } -/// cui_check_step. Elements are copied into the frame arena by the wrapper. +/// Onboarding checklist: a card with progress and steps. The first open step shows its description and action. Clicking a step's circle toggles done. Returns the index whose action was clicked, or -1. Elements are copied into the frame arena by the wrapper. public unsafe partial struct CheckStep { - /// const char * title + /// the step's text; muted once the step is done public string? Title; /// const char * description public string? Description; - /// const char * action + /// label of the button shown under the first step that is not done; `NULL` for none public string? Action; - /// _Bool done + /// the step is complete; clicking its circle flips this public bool Done; public CheckStep(string? Title, string? Description = null, string? Action = null, bool Done = default) { this.Title = Title; this.Description = Description; this.Action = Action; this.Done = Done; } @@ -3482,14 +3614,14 @@ internal static nint ToFrameArray(CheckStep[]? items) }; } -/// cui_toc_item. Elements are copied into the frame arena by the wrapper. +/// Table of contents for a scroll area: highlights the section in view on a progress rail, and scrolls to a section when clicked. Put cui_toc_anchor(ui, "anchor") at each heading inside the scroll area, and call cui_toc in the same scope as the scroll area. Returns the active index. Elements are copied into the frame arena by the wrapper. public unsafe partial struct TocItem { - /// const char * title + /// the entry's text in the list public string? Title; - /// const char * anchor + /// the name given to `cui_toc_anchor` at that section's heading public string? Anchor; - /// int level + /// indentation: 0 for a top level section, up to 4 (12 points each) public int Level; public TocItem(string? Title, string? Anchor = null, int Level = default) { this.Title = Title; this.Anchor = Anchor; this.Level = Level; } @@ -3518,14 +3650,14 @@ internal static nint ToFrameArray(TocItem[]? items) }; } -/// cui_model. Elements are copied into the frame arena by the wrapper. +/// Model picker: the current model on a button; a list with details opens. Elements are copied into the frame arena by the wrapper. public unsafe partial struct Model { - /// const char * name + /// shown on the button and as the row's heading in the list public string? Name; - /// const char * detail + /// smaller muted line under the name in the list, e.g. what the model is good at public string? Detail; - /// const char * badge + /// small accent badge after the name, e.g. "New"; `NULL` for none public string? Badge; /// const char * icon public string? Icon; @@ -3558,14 +3690,14 @@ internal static nint ToFrameArray(Model[]? items) }; } -/// cui_prompt_suggestion. Elements are copied into the frame arena by the wrapper. +/// Prompt suggestions: cards to start a conversation with. Elements are copied into the frame arena by the wrapper. public unsafe partial struct PromptSuggestion { /// const char * icon public string? Icon; - /// const char * title + /// the card's heading, in medium weight public string? Title; - /// const char * detail + /// smaller muted text under the title; may be `NULL` public string? Detail; public PromptSuggestion(string? Icon, string? Title = null, string? Detail = null) { this.Icon = Icon; this.Title = Title; this.Detail = Detail; } @@ -3594,14 +3726,14 @@ internal static nint ToFrameArray(PromptSuggestion[]? items) }; } -/// cui_source. Elements are copied into the frame arena by the wrapper. +/// Sources: cards for the documents an answer used, and inline citations that show a card on hover. Both return true / the index when clicked. Elements are copied into the frame arena by the wrapper. public unsafe partial struct Source { - /// const char * title + /// the card's heading; `NULL` shows the URL's domain public string? Title; - /// const char * url + /// the address: its domain is shown, and the whole URL as the card's tooltip public string? Url; - /// const char * snippet + /// an excerpt, shown in the hover card of a citation public string? Snippet; public Source(string? Title, string? Url = null, string? Snippet = null) { this.Title = Title; this.Url = Url; this.Snippet = Snippet; } @@ -3630,12 +3762,12 @@ internal static nint ToFrameArray(Source[]? items) }; } -/// cui_plan_step. Elements are copied into the frame arena by the wrapper. +/// Agent plan: steps with their status on a connected rail, and progress. Elements are copied into the frame arena by the wrapper. public unsafe partial struct PlanStep { - /// const char * title + /// the step's text; shimmers while the step is running public string? Title; - /// const char * detail + /// smaller muted line under the title (red when the step failed); may be `NULL` public string? Detail; /// cui_task_status status public CuiTaskStatus Status; @@ -3666,16 +3798,16 @@ internal static nint ToFrameArray(PlanStep[]? items) }; } -/// cui_ticker_item. Elements are copied into the frame arena by the wrapper. +/// Ticker: items that scroll by continuously, pausing on hover. Elements are copied into the frame arena by the wrapper. public unsafe partial struct TickerItem { - /// a fall is good: shown green + /// const char * label public string? Label; - /// a fall is good: shown green + /// text after the label in medium weight, e.g. a price; may be `NULL` public string? Value; - /// a fall is good: shown green + /// percent change, shown with a trend arrow in green or red; 0 hides it public float Delta; - /// a fall is good: shown green + /// a fall in `delta` is good news: it shows green, and a rise red public bool LowerIsBetter; public TickerItem(string? Label, string? Value = null, float Delta = default, bool LowerIsBetter = default) { this.Label = Label; this.Value = Value; this.Delta = Delta; this.LowerIsBetter = LowerIsBetter; } @@ -3706,7 +3838,7 @@ internal static nint ToFrameArray(TickerItem[]? items) }; } -/// cui_speed_action. Elements are copied into the frame arena by the wrapper. +/// Speed dial: a round floating action button that fans out related actions. Returns the chosen action index, or -1. Elements are copied into the frame arena by the wrapper. public unsafe partial struct SpeedAction { /// const char * icon @@ -3738,14 +3870,14 @@ internal static nint ToFrameArray(SpeedAction[]? items) }; } -/// cui_reaction. Elements are copied into the frame arena by the wrapper. +/// Reactions: icon pills with counts. Clicking toggles `active` and adjusts the count. Returns the index that changed, or -1. Elements are copied into the frame arena by the wrapper. public unsafe partial struct Reaction { /// const char * icon public string? Icon; - /// int count + /// the number beside the icon; a click adds or takes away 1 public int Count; - /// _Bool active + /// the user has reacted: the pill is highlighted; a click flips it public bool Active; public Reaction(string? Icon, int Count = default, bool Active = default) { this.Icon = Icon; this.Count = Count; this.Active = Active; } @@ -3774,14 +3906,14 @@ internal static nint ToFrameArray(Reaction[]? items) }; } -/// cui_tab_bar_item. Elements are copied into the frame arena by the wrapper. +/// Bottom tab bar for compact layouts, with a pill that glides to the selection. Elements are copied into the frame arena by the wrapper. public unsafe partial struct TabBarItem { /// const char * icon public string? Icon; /// const char * label public string? Label; - /// int badge + /// a count on the icon ("9+" above 9); 0 for none public int Badge; public TabBarItem(string? Icon, string? Label = null, int Badge = default) { this.Icon = Icon; this.Label = Label; this.Badge = Badge; } @@ -3810,12 +3942,12 @@ internal static nint ToFrameArray(TabBarItem[]? items) }; } -/// cui_viz_item. Elements are copied into the frame arena by the wrapper. +/// Treemap: rectangles with areas proportional to their values. Elements are copied into the frame arena by the wrapper. public unsafe partial struct VizItem { /// const char * label public string? Label; - /// float value + /// the item's amount: its area, length or share, by chart (activity rings: 1 is a full turn) public float Value; /// cui_color color public Color Color; @@ -3846,7 +3978,7 @@ internal static nint ToFrameArray(VizItem[]? items) }; } -/// cui_table_sort. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct TableSort { /// int column @@ -3878,10 +4010,10 @@ internal static nint ToFrameArray(TableSort[]? items) }; } -/// cui_table_column. Elements are copied into the frame arena by the wrapper. +/// Table Elements are copied into the frame arena by the wrapper. public unsafe partial struct TableColumn { - /// const char * title + /// text of the column's header public string? Title; /// default fill public Size Width; @@ -3918,14 +4050,14 @@ internal static nint ToFrameArray(TableColumn[]? items) }; } -/// cui_command. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct Command { - /// const char * title + /// the command's text in the list; what typing in the palette searches public string? Title; /// const char * icon public string? Icon; - /// const char * group + /// heading above a run of commands with the same group, shown while the search is empty public string? Group; /// const char * shortcut public string? Shortcut; @@ -3958,16 +4090,16 @@ internal static nint ToFrameArray(Command[]? items) }; } -/// cui_choice. Elements are copied into the frame arena by the wrapper. +/// Radio cards: larger selectable cards for choices that need a description (plans, templates). Elements are copied into the frame arena by the wrapper. public unsafe partial struct Choice { - /// const char * title + /// the card's heading, in medium weight; wraps when long public string? Title; /// const char * description public string? Description; /// const char * icon public string? Icon; - /// const char * badge + /// small accent badge beside the title, e.g. "Popular"; `NULL` for none public string? Badge; public Choice(string? Title, string? Description = null, string? Icon = null, string? Badge = null) { this.Title = Title; this.Description = Description; this.Icon = Icon; this.Badge = Badge; } @@ -3998,12 +4130,12 @@ internal static nint ToFrameArray(Choice[]? items) }; } -/// cui_keymap_binding. Elements are copied into the frame arena by the wrapper. +/// A keyboard with your shortcuts on it: each bound key shows its action and the color of its category, for the modifiers chosen above it. Keys bound twice are marked as conflicts. Hover a key for every binding on it; click it to get the key (to rebind it). The keyboard keeps its own layout in a right-to-left interface and scales to the width it gets. Elements are copied into the frame arena by the wrapper. public unsafe partial struct KeymapBinding { - /// cui_key_combo combo + /// the modifiers and key the action is bound to public KeyCombo Combo; - /// const char * action + /// name of the action, shown on the key and in its tooltip public string? Action; /// index into the categories, colors the key public int Category; @@ -4034,16 +4166,16 @@ internal static nint ToFrameArray(KeymapBinding[]? items) }; } -/// cui_scatter_series. Elements are copied into the frame arena by the wrapper. +/// Scatter (or bubble) chart: points per series, optional sizes. Elements are copied into the frame arena by the wrapper. public unsafe partial struct ScatterSeries { - /// const char * name + /// shown in the legend, which appears with two or more series public string? Name; - /// const cui_vec2 * points + /// the points, x and y in data units public Vec2[]? Points; - /// const float * sizes + /// optional, one per point: makes a bubble chart, each bubble sized against the largest public float[]? Sizes; - /// int count + /// number of `points` (and of `sizes`) public int Count; /// cui_color color public Color Color; @@ -4078,7 +4210,7 @@ internal static nint ToFrameArray(ScatterSeries[]? items) }; } -/// cui_hex_result. Elements are copied into the frame arena by the wrapper. +/// Elements are copied into the frame arena by the wrapper. public unsafe partial struct HexResult { /// after this frame (the same as *sel when you pass one) @@ -4087,9 +4219,9 @@ public unsafe partial struct HexResult public bool SelectionChanged; /// bytes in .edit were overwritten this frame public bool Edited; - /// size_t edit_offset + /// with `edited`: offset of the first byte overwritten this frame public ulong EditOffset; - /// size_t edit_length + /// with `edited`: bytes from `edit_offset` up to the last one overwritten public ulong EditLength; /// byte under the pointer, or -1 public long Hovered; diff --git a/src/CuiSharp/Ui/RegularExpressionsAndTheRegexTester.g.cs b/src/CuiSharp/Ui/RegularExpressionsAndTheRegexTester.g.cs index 45bdb1d..7bf57ea 100644 --- a/src/CuiSharp/Ui/RegularExpressionsAndTheRegexTester.g.cs +++ b/src/CuiSharp/Ui/RegularExpressionsAndTheRegexTester.g.cs @@ -13,7 +13,7 @@ public static unsafe class RegularExpressionsAndTheRegexTesterUiExtensions { extension(Ui ui) { - /// cui_regex_tester_ex + /// A pattern field with flags over a test text: every match is highlighted in the text and its groups in their own colors, and the list below shows each match with its groups. Errors show under the pattern. Both buffers are yours and edited in place. public RegexTesterResult RegexTester(UiText id, ref string pattern, int patternCap, ref string text, int textCap, ref RegexFlags flags, RegexTesterOpts o = default) { var __patternSlot = ui.RentText(Native.MakeId(ui.Handle, Utf8.Get(id)) ^ 0xb01b029eu, ref pattern, (int)patternCap); diff --git a/src/CuiSharp/Ui/SchedulePicker.g.cs b/src/CuiSharp/Ui/SchedulePicker.g.cs index e5d372e..97969a1 100644 --- a/src/CuiSharp/Ui/SchedulePicker.g.cs +++ b/src/CuiSharp/Ui/SchedulePicker.g.cs @@ -13,7 +13,7 @@ public static unsafe class SchedulePickerUiExtensions { extension(Ui ui) { - /// cui_schedule_picker_ex + /// A cron schedule edited the friendly way: every N minutes, hourly at a minute, daily at a time, weekly on chosen days, monthly on a day, or a custom expression. It reads and writes `cron` (five fields: minute hour day month weekday) and shows what it means and when it runs next. Weekday and month names come from cui_set_strings. public ScheduleResult SchedulePicker(UiText id, ref string cron, int cap = 128, ScheduleOpts o = default) { var __cronSlot = ui.RentText(Native.MakeId(ui.Handle, Utf8.Get(id)) ^ 0xcce7694du, ref cron, (int)cap); diff --git a/src/CuiSharp/Ui/StackTrace.g.cs b/src/CuiSharp/Ui/StackTrace.g.cs index a13e463..bed3abc 100644 --- a/src/CuiSharp/Ui/StackTrace.g.cs +++ b/src/CuiSharp/Ui/StackTrace.g.cs @@ -13,7 +13,7 @@ public static unsafe class StackTraceUiExtensions { extension(Ui ui) { - /// cui_stack_trace_ex + /// An exception and its call stack: the error's type and message, then each frame's function and position. Runs of library frames fold into one row. A frame with source opens to show the lines around it, the failing line marked; the first frame of your own code starts open. A button copies the whole trace as text. public StackTraceResult StackTrace(UiText id, ReadOnlySpan frames, StackTraceOpts o = default) { var __frames = Utf8.AllocFrame(frames.Length); diff --git a/src/CuiSharp/Ui/TestExplorer.g.cs b/src/CuiSharp/Ui/TestExplorer.g.cs index d148b7d..1efd388 100644 --- a/src/CuiSharp/Ui/TestExplorer.g.cs +++ b/src/CuiSharp/Ui/TestExplorer.g.cs @@ -13,7 +13,7 @@ public static unsafe class TestExplorerUiExtensions { extension(Ui ui) { - /// cui_test_explorer_ex + /// Test results as a tree: suites fold, each test shows its status and time, and a failure shows its message under it. A suite's status sums up its tests. The toolbar runs everything, counts results and filters by status and by name. Hover a row for its run button. Only the rows in view are built. Up and Down move, Left and Right fold, Enter activates. Items are in tree order with their depth; the statuses are the pipeline's. public TestExplorerResult TestExplorer(UiText id, ReadOnlySpan items, TestExplorerOpts o = default) { var __items = Utf8.AllocFrame(items.Length); diff --git a/src/CuiSharp/Ui/Text.g.cs b/src/CuiSharp/Ui/Text.g.cs index 1fcdf50..c18ce08 100644 --- a/src/CuiSharp/Ui/Text.g.cs +++ b/src/CuiSharp/Ui/Text.g.cs @@ -21,42 +21,42 @@ public void Text(UiText text, TextOpts o = default) WidgetRecorder.Note(ui.Handle, "Text", text); } - /// cui_heading + /// 1..4 public void Heading(UiText text, int level = 2) { Native.Heading(ui.Handle, Utf8.Get(text), level); WidgetRecorder.Note(ui.Handle, "Heading", text); } - /// cui_label + /// medium weight public void Label(UiText text) { Native.Label(ui.Handle, Utf8.Get(text)); WidgetRecorder.Note(ui.Handle, "Label", text); } - /// cui_secondary + /// secondary color public void Secondary(UiText text) { Native.Secondary(ui.Handle, Utf8.Get(text)); WidgetRecorder.Note(ui.Handle, "Secondary", text); } - /// cui_muted + /// small, muted public void Muted(UiText text) { Native.Muted(ui.Handle, Utf8.Get(text)); WidgetRecorder.Note(ui.Handle, "Muted", text); } - /// cui_code + /// inline code public void Code(UiText text) { Native.Code(ui.Handle, Utf8.Get(text)); WidgetRecorder.Note(ui.Handle, "Code", text); } - /// * left to right in any interface: see cui__keep_ltr + /// keyboard keycap, e.g. "Ctrl K" public void Kbd(UiText keys) { Native.Kbd(ui.Handle, Utf8.Get(keys)); diff --git a/src/CuiSharp/Ui/TimeHistogram.g.cs b/src/CuiSharp/Ui/TimeHistogram.g.cs index 17bbca0..4803ce0 100644 --- a/src/CuiSharp/Ui/TimeHistogram.g.cs +++ b/src/CuiSharp/Ui/TimeHistogram.g.cs @@ -13,7 +13,7 @@ public static unsafe class TimeHistogramUiExtensions { extension(Ui ui) { - /// cui_time_histogram_ex + /// Event counts over time, stacked by series (log levels, status classes), as above a log search. Drag across it to select a time range, click to clear. Hover a bar for its time and counts. Times are Unix seconds. public TimeHistogramResult TimeHistogram(UiText id, double start, double bucketSeconds, int buckets, ReadOnlySpan series, ref double selStart, ref double selEnd, TimeHistogramOpts o = default) { var __series = Utf8.AllocFrame(series.Length); diff --git a/src/CuiSharp/Ui/TraceViewer.g.cs b/src/CuiSharp/Ui/TraceViewer.g.cs index 142f695..730dcc1 100644 --- a/src/CuiSharp/Ui/TraceViewer.g.cs +++ b/src/CuiSharp/Ui/TraceViewer.g.cs @@ -13,7 +13,7 @@ public static unsafe class TraceViewerUiExtensions { extension(Ui ui) { - /// cui_trace_view_ex + /// A tracing timeline: one lane per thread, process or service, each with its nested spans, on one time ruler, with markers (frames, GC pauses, deploys) drawn across every lane. Wheel zooms around the pointer, Shift+wheel or a drag pans, click selects a span, Shift+drag measures a time range. A lane's name folds it. Keys: Left and Right step through the selected span's lane, + and - zoom, F fits, Esc clears. Spans must be sorted by track, depth and start (cui_trace_sort), with no overlap within a depth of a track. Like the flame graph, only what is in view is visited. public TraceResult TraceView(UiText id, ReadOnlySpan tracks, ReadOnlySpan spans, ref TraceViewState view, ref int selected, TraceOpts o = default) { var __tracks = Utf8.AllocFrame(tracks.Length); diff --git a/src/CuiSharp/Ui/TreeTableAndPathBar.g.cs b/src/CuiSharp/Ui/TreeTableAndPathBar.g.cs index 4fa3545..91a0aa5 100644 --- a/src/CuiSharp/Ui/TreeTableAndPathBar.g.cs +++ b/src/CuiSharp/Ui/TreeTableAndPathBar.g.cs @@ -27,14 +27,14 @@ public void TreeTableName(UiText label, UiText icon) WidgetRecorder.Note(ui.Handle, "TreeTableName", label); } - /// cui_tree_table_depth + /// depth of the current row, 0 at the top public int TreeTableDepth() { var __result = Native.TreeTableDepth(ui.Handle); return __result; } - /// cui_path_bar_ex + /// Path bar: a breadcrumb for file and scene paths. Segments are clickable, the last one is the current place. Middle segments that do not fit collapse into a "..." menu. With .menus, the chevron after segment k opens a menu you fill with the children of segment k (cui_path_bar_menu_begin). Click the empty part (or the current segment), or press Ctrl+L, to type a path: Enter submits it, Esc or clicking away cancels. public PathBarResult PathBar(UiText id, ReadOnlySpan segments, PathBarOpts o = default) { var __opts = o.ToNative(); diff --git a/src/CuiSharp/Ui/Ui.Instruments.cs b/src/CuiSharp/Ui/Ui.Instruments.cs new file mode 100644 index 0000000..c18a446 --- /dev/null +++ b/src/CuiSharp/Ui/Ui.Instruments.cs @@ -0,0 +1,71 @@ +using CuiSharp.Interop; + +namespace CuiSharp; + +/// +/// One dot-matrix series: its samples, the name the readout shows beside the value, and whether +/// it is drawn in the accent color. A series carries no count of its own — the number of samples +/// is the call's, so every series reads the same number of values and they line up over the axis. +/// +public readonly struct DotSeries +{ + /// A series over , one sample every step from x_min to x_max. + public DotSeries(float[] values, string? name = null, bool accent = false) + { + Values = values; + Name = name; + Accent = accent; + } + + /// The samples. Fewer than the call asked for are padded with zero, never read past. + public float[] Values { get; } + + /// The name the readout shows when there is more than one series. + public string? Name { get; } + + /// Draws this series in the accent color. + public bool Accent { get; } +} + +public unsafe ref partial struct Ui +{ + /// + /// A dot-matrix chart: values as a grid of dots, lit up to each column's value. Several series + /// stack in their own bands, and the pointer or the arrow keys show a readout of the value + /// under it. Returns where a click landed, so an app can add something there. + /// + /// The widget id, which is also the identity of its hover and keyboard state. + /// The series to stack, each in its own band. + /// Samples per series, spread evenly from to . + /// Axis, readout and annotation options. + public DotChartResult DotChart(UiText id, scoped ReadOnlySpan series, int count, DotChartOpts o = default) + { + // Native reads `count` values from every series, so each one is copied into a block of + // exactly that length: a short series is padded with zero rather than read past its end. + // The clamped length is the one native is told about too, so the block it may read and the + // number it was given can never disagree. + int samples = Math.Max(1, count); + var native = (NativeDotSeries*)Arena(Math.Max(1, series.Length) * sizeof(NativeDotSeries)); + for (int i = 0; i < series.Length; i++) + { + DotSeries s = series[i]; + float* block = Utf8.AllocFrame(samples); + var values = new Span(block, samples); + values.Clear(); + if (s.Values is { Length: > 0 } backing) + backing.AsSpan(0, Math.Min(samples, backing.Length)).CopyTo(values); + + native[i] = new NativeDotSeries + { + Values = (nint)block, + Name = Utf8.Get(s.Name), + Accent = (byte)(s.Accent ? 1 : 0), + }; + } + + var opts = o.ToNative(); + var result = Native.DotChart(Handle, Utf8.Get(id), (nint)native, series.Length, samples, in opts); + WidgetRecorder.Note(Handle, "DotChart", id); + return DotChartResult.FromNative(result); + } +} diff --git a/src/CuiSharp/Ui/UptimeBars.g.cs b/src/CuiSharp/Ui/UptimeBars.g.cs index 37cc2be..5b547e8 100644 --- a/src/CuiSharp/Ui/UptimeBars.g.cs +++ b/src/CuiSharp/Ui/UptimeBars.g.cs @@ -13,7 +13,7 @@ public static unsafe class UptimeBarsUiExtensions { extension(Ui ui) { - /// cui_uptime_ex + /// A status page: each service with its current state, its uptime over the period, and one bar per day colored by availability (gray without data). Hover a bar for its day and uptime. On a narrow panel only the most recent days that fit are shown. public UptimeResult Uptime(UiText id, ReadOnlySpan services, UptimeOpts o = default) { var __services = Utf8.AllocFrame(services.Length); diff --git a/tools/bindgen.cs b/tools/bindgen.cs index e2af3ed..f6d2efb 100644 --- a/tools/bindgen.cs +++ b/tools/bindgen.cs @@ -49,9 +49,9 @@ ? JsonSerializer.Deserialize(File.ReadAllText(overridesPath), Json.Options) ?? new Overrides() : new Overrides(); -// Where CUI documents itself when a header does not: the comment above the definition. +// Where CUI documents itself when a header does not: the comment above the definition, and the +// comment it writes beside the declaration instead of above it. var sources = ImplementationDocs.Scan(Path.Combine(root, "native", "CUI", "src")); - string[] headers = [ Path.Combine(includeDir, "cui", "cui.h"), @@ -59,6 +59,8 @@ Path.Combine(includeDir, "cui", "cui_render.h"), ]; +sources = sources.WithBeside(headers); + var reader = new HeaderReader(includeDir, clangInclude, overrides, sources); foreach (string header in headers) reader.Read(header); reader.ReadIcons(Path.Combine(includeDir, "cui", "cui_icons.h")); @@ -163,6 +165,7 @@ static string StageHeaders(string root) sealed class ImplementationDocs { private readonly Dictionary _comments = new(StringComparer.Ordinal); + private readonly Dictionary _beside = new(StringComparer.Ordinal); public static ImplementationDocs Scan(string directory) { @@ -178,9 +181,58 @@ public static ImplementationDocs Scan(string directory) return docs; } + /// + /// The comment CUI writes beside a declaration rather than above it: + /// CUI_API int cui_breadcrumb(...); /* returns clicked index or -1 */. libclang only + /// attaches a leading comment to the declaration, so this one is read off the source line. + /// + public ImplementationDocs WithBeside(IEnumerable headers) + { + foreach (string header in headers) ReadBeside(File.ReadAllLines(header)); + return this; + } + public string CommentFor(string function) => _comments.TryGetValue(function, out string? text) ? text : ""; + public string BesideFor(string function) => + _beside.TryGetValue(function, out string? text) ? text : ""; + + private void ReadBeside(string[] lines) + { + for (int i = 0; i < lines.Length; i++) + { + string line = lines[i]; + if (!line.Contains("CUI_API", StringComparison.Ordinal)) continue; + + // A declaration may wrap; the comment follows the `;` wherever that lands. + var text = new StringBuilder(line); + for (int j = i + 1; j < Math.Min(lines.Length, i + 6) && !text.ToString().Contains(';', StringComparison.Ordinal); j++) + text.Append(' ').Append(lines[j]); + if (!text.ToString().Contains(';', StringComparison.Ordinal)) continue; + + Match name = Regex.Match(text.ToString(), @"\b(cui_[a-z0-9_]+)\s*\("); + Match comment = Regex.Match(text.ToString(), @";\s*/\*(?.*?)\*/\s*$"); + if (!name.Success || !comment.Success) continue; + string? prose = PublicNote(comment.Groups["c"].Value); + if (prose is null || _beside.ContainsKey(name.Groups[1].Value)) continue; + _beside[name.Groups[1].Value] = prose; + } + } + + /// + /// A comment as a sentence about the API, or null when it is written for us and not for a + /// caller. CUI's sources carry notes to their next reader — `left to right in any interface: + /// see cui__keep_ltr`, `keep the id stable so focus survives` — and a summary that says that + /// tells an app developer nothing they can act on, while hiding the description the header + /// would have supplied instead. + /// + private static string? PublicNote(string raw) + { + string text = Regex.Replace(raw.Replace("/*", " ").Replace("*/", " "), @"\s+", " ").Trim().TrimStart('*').Trim(); + return text.Contains("cui__", StringComparison.Ordinal) ? null : text.Length == 0 ? null : text; + } + private void Read(string[] lines) { for (int i = 0; i < lines.Length; i++) @@ -241,7 +293,7 @@ private static string CommentAbove(string[] lines, int index) if (line.StartsWith('*') || line.StartsWith("/*", StringComparison.Ordinal) || line.StartsWith("//", StringComparison.Ordinal)) { - collected.Add(line.TrimStart('*').TrimStart('/').Replace("*/", "", StringComparison.Ordinal).Trim()); + collected.Add(CommentText(line)); i--; continue; } @@ -254,7 +306,24 @@ private static string CommentAbove(string[] lines, int index) if (collected.Exists(IsRule)) return ""; collected.Reverse(); - return string.Join(" ", collected.Where(l => l.Length > 0)).Trim(); + string text = string.Join(" ", collected.Where(l => l.Length > 0)).Trim(); + return PublicNote(text) ?? ""; + } + + /// + /// One comment line without its delimiters. The order matters: /* x */ starts with a + /// slash, so trimming stars before slashes leaves the star of the opener inside the text. + /// + private static string CommentText(string line) + { + string text = line.Trim(); + if (text.StartsWith("/*", StringComparison.Ordinal) || text.StartsWith("//", StringComparison.Ordinal)) + text = text[2..]; + else if (text.StartsWith('*')) + text = text[1..]; + + int close = text.IndexOf("*/", StringComparison.Ordinal); + return (close >= 0 ? text[..close] : text).Trim(); } } @@ -271,7 +340,7 @@ sealed record Api( IconModel[] Icons, string[] Skipped); -sealed record StructModel(string CName, string CsName, long Size, HelperType[] Helpers, FieldModel[] Fields); +sealed record StructModel(string CName, string CsName, long Size, HelperType[] Helpers, FieldModel[] Fields, string Doc); /// An [InlineArray] wrapper for a C array of structs, which `fixed` cannot express. sealed record HelperType(string CsName, string ElementType, int Length); @@ -287,9 +356,9 @@ sealed record FieldModel( CType Type, string Doc); -sealed record EnumModel(string CName, string CsName, bool IsFlags, EnumValueModel[] Values); +sealed record EnumModel(string CName, string CsName, bool IsFlags, EnumValueModel[] Values, string Doc); -sealed record EnumValueModel(string CName, string CsName, string Value); +sealed record EnumValueModel(string CName, string CsName, string Value, string Doc); sealed record FunctionModel(string CName, string CsName, string CsReturn, ParamModel[] Params, bool NoGcTransition, CType ReturnType, string Module, string Doc); @@ -344,6 +413,13 @@ sealed record OptionArrayCheck(string AtLeast, string Why); sealed record InOutArrayOverride(string Count, string Why, string? ChangedWhen = null); +/// +/// An `int capacity` the widget writes up to. The array's length is that number, so supplying +/// both lets them disagree and the widget writes past the span the caller passed. The wrapper +/// passes the length and the parameter leaves the signature. +/// +sealed record CapacityOverride(string Array, string Why); + /// Where an array parameter's length comes from, and what to cast it to. sealed record ArrayLengthOverride(string Length, string Why, string? Cast = null, bool Emit = true); @@ -490,6 +566,9 @@ sealed class Overrides /// Record arrays the widget edits in place. public Dictionary InOutArrays { get; set; } = new(); + /// A `capacity` parameter that is the array's own length, and so leaves the signature. + public Dictionary CapacityParams { get; set; } = new(); + /// Option fields that never cross the boundary: callbacks and their user pointers. public Dictionary HiddenOptionFields { get; set; } = new(); @@ -537,7 +616,7 @@ static class Json sealed class HeaderReader(string includeDir, string clangInclude, Overrides overrides, ImplementationDocs sources) : IDisposable { - private readonly List<(string CName, long Size, FieldDecl[] Fields)> _structs = []; + private readonly List<(string CName, long Size, FieldDecl[] Fields, string Doc)> _structs = []; private readonly List<(string CName, EnumDecl Decl)> _enums = []; private readonly List _functions = []; private readonly List _constants = []; @@ -623,7 +702,7 @@ private void Collect(Cursor cursor) break; } - _structs.Add((r.Spelling, r.Handle.Type.SizeOf, [.. r.Fields])); + _structs.Add((r.Spelling, r.Handle.Type.SizeOf, [.. r.Fields], Doc(r.Handle))); break; case FunctionDecl f when f.Spelling.StartsWith("cui_", StringComparison.Ordinal): @@ -665,7 +744,7 @@ public Api Build(Overrides overrides) foreach (var (typedef, alias) in overrides.TypeAliases) enumNames[typedef] = alias.Name; var structNames = new Dictionary(StringComparer.Ordinal); - foreach (var (cname, _, _) in _structs) + foreach (var (cname, _, _, _) in _structs) { if (overrides.SkipStructs.Contains(cname)) continue; structNames[cname] = overrides.StructRenames.TryGetValue(cname, out string? renamed) @@ -681,10 +760,10 @@ public Api Build(Overrides overrides) .ToArray(); var structs = new List(); - foreach (var (cname, size, fields) in _structs) + foreach (var (cname, size, fields, doc) in _structs) { if (overrides.SkipStructs.Contains(cname)) continue; - structs.Add(ReadStruct(cname, size, fields, mapper)); + structs.Add(ReadStruct(cname, size, fields, mapper, doc)); } return new Api( @@ -711,7 +790,7 @@ private static EnumModel ReadEnum(string cname, string csName, EnumDecl decl, Ov string shortName = overrides.MemberRenames.TryGetValue(member.Name, out string? rename) ? rename : Names.Identifier(member.Name[prefix.Length..]); - values.Add(new EnumValueModel(member.Name, shortName, member.InitVal.ToString())); + values.Add(new EnumValueModel(member.Name, shortName, member.InitVal.ToString(), Doc(member.Handle))); } if (overrides.ExtraEnumMembers.TryGetValue(cname, out string[]? extra)) @@ -720,8 +799,8 @@ private static EnumModel ReadEnum(string cname, string csName, EnumDecl decl, Ov { int eq = text.IndexOf('='); var member = eq < 0 - ? new EnumValueModel(text, text, "") - : new EnumValueModel(text[..eq].Trim(), text[..eq].Trim(), text[(eq + 1)..].Trim()); + ? new EnumValueModel(text, text, "", "") + : new EnumValueModel(text[..eq].Trim(), text[..eq].Trim(), text[(eq + 1)..].Trim(), ""); // A named zero is the "nothing set" member of a flags enum: it reads first, // the way Mods and every other C# flag type in the binding declares it. if (member.Value == "0") values.Insert(0, member); @@ -729,10 +808,10 @@ private static EnumModel ReadEnum(string cname, string csName, EnumDecl decl, Ov } } - return new EnumModel(cname, csName, overrides.FlagsEnums.Contains(cname), [.. values]); + return new EnumModel(cname, csName, overrides.FlagsEnums.Contains(cname), [.. values], Doc(decl.Handle)); } - private static StructModel ReadStruct(string cname, long size, FieldDecl[] fields, Mapper mapper) + private static StructModel ReadStruct(string cname, long size, FieldDecl[] fields, Mapper mapper, string doc) { string csName = mapper.StructNames[cname]; var helpers = new List(); @@ -793,7 +872,7 @@ private static StructModel ReadStruct(string cname, long size, FieldDecl[] field models.Add(new FieldModel(field.Name, csField, mapper.Field(type), ctype, offset, false, 0, Describe(type), Doc(field.Handle))); } - return new StructModel(cname, csName, size, [.. helpers], [.. models]); + return new StructModel(cname, csName, size, [.. helpers], [.. models], doc); } /// Drops a trailing _ex (the options variant), and nothing else. @@ -822,9 +901,9 @@ private static string ScopeDoc(Dictionary documented, string nam /// implements it, and a wrapper whose only documentation is `cui_button_ex` sends a reader into /// the C source — so when the declaration says nothing, the definition's own comment is used. /// - private static string FirstSentence(string fromHeader, string fromSource, string fromScope) + private static string FirstSentence(string fromHeader, string fromBeside, string fromSource, string fromScope) { - string text = fromHeader.Length > 0 ? fromHeader : fromSource; + string text = fromHeader.Length > 0 ? fromHeader : fromBeside.Length > 0 ? fromBeside : fromSource; if (text.Length == 0) text = fromScope; if (text.Length == 0) return ""; @@ -879,7 +958,8 @@ private FunctionModel[] ReadFunctions(Mapper mapper, Overrides overrides) parameters, overrides.SuppressGcTransition.Contains(function.Spelling), Describe(function.Handle.ResultType), Module(function.Handle), - FirstSentence(Doc(function.Handle), sources.CommentFor(function.Spelling), scopeDoc))); + FirstSentence(Doc(function.Handle), sources.BesideFor(function.Spelling), + sources.CommentFor(function.Spelling), scopeDoc))); } return [.. result]; @@ -901,12 +981,42 @@ private static CType Describe(CXType type) clang.isConstQualifiedType(type) != 0 || clang.isConstQualifiedType(canonical) != 0, element); } - private static string Doc(CXCursor cursor) + private static string Doc(CXCursor cursor) => CleanComment(clang.Cursor_getRawCommentText(cursor).ToString()); + + /// + /// A comment's text with any section title bar removed. CUI separates sections with a ruled + /// title bar — ---- Terminal ---- — and libclang attaches that block to the declaration + /// under it, so without this an options struct's summary opens with the ruler. + /// + internal static string CleanComment(string raw) { - string raw = clang.Cursor_getRawCommentText(cursor).ToString(); - return string.Join(" ", raw.Replace("/*", "").Replace("*/", "") - .Split('\n').Select(line => line.Trim().TrimStart('*').Trim())) - .Trim(); + string[] lines = raw.Replace("/*", " ").Replace("*/", " ") + .Split(['\n', '\r'], StringSplitOptions.RemoveEmptyEntries) + .Select(line => line.Trim().TrimStart('*').Trim()) + .ToArray(); + + // A ruler means the block is a section's title bar, not a sentence about the declaration. + bool banner = lines.Any(line => line.Length >= 3 && line.All(c => c is '-' or '=' or '*' or '/' or ' ')); + + var kept = new List(); + foreach (string line in lines) + { + // The prose ends at the first blank line: what follows is the usage example, which + // belongs in the docs page, not in a summary a tooltip shows. + if (line.Length == 0) break; + + string text = Regex.Replace(line, @"^(?:[-=]{2,}\s*[^-=]*?\s*[-=]{2,}\s*)+", "").Trim(); + if (text.Length == 0) continue; + if (text.All(c => c is '-' or '=' or '*' or '/' or ' ')) continue; + kept.Add(text); + } + + string joined = string.Join(" ", kept).Trim(); + + // What is left of a banner is the section's name (`Selection controls`), which describes no + // declaration and would be a lie above one. + return banner && joined.Length < 60 && !joined.Contains('.', StringComparison.Ordinal) + && !joined.Contains(':', StringComparison.Ordinal) ? "" : joined; } private static unsafe string Module(CXCursor cursor) @@ -1068,7 +1178,11 @@ public string Parameter(CXType type, string name, string? next = null) or CXTypeKind.CXType_Int or CXTypeKind.CXType_UInt; bool plural = name.EndsWith('s') && !name.EndsWith("opts", StringComparison.Ordinal) && !(scalar && !isConst); - if (plural || overrides.ArrayParams.ContainsKey(name + "@" + CurrentFunction)) return "nint"; + // An override is a decision, not a guess: `double *times` is not const, ends in an s + // and is still the array the widget edits in place. + bool namedArray = overrides.ArrayParams.ContainsKey(name + "@" + CurrentFunction) + || overrides.InOutArrays.ContainsKey(CurrentFunction + "." + name); + if (plural || namedArray) return "nint"; if (structNames.TryGetValue(TagName(inner) ?? "", out string? structName)) return isConst ? $"in {structName}" : $"ref {structName}"; @@ -1179,7 +1293,10 @@ public static string Native(Api api) foreach (var function in api.Functions) { string parameters = string.Join(", ", function.Params.Select(p => $"{p.CsType} {p.CsName}")); - sb.AppendLine($" /// {function.CName}"); + // The raw layer is where an expert lands when the friendly wrapper is not enough, so it + // carries the same sentence rather than only the C name. + string rawDoc = Names.OneLine(function.Doc); + sb.AppendLine($" /// {System.Security.SecurityElement.Escape(rawDoc.Length > 0 ? rawDoc : function.CName)}"); sb.AppendLine($" [LibraryImport(\"cui\", EntryPoint = \"{function.CName}\")]"); if (function.NoGcTransition) sb.AppendLine(" [SuppressGCTransition]"); sb.AppendLine($" public static partial {function.CsReturn} {function.CsName}({parameters});"); @@ -1211,13 +1328,15 @@ public static string Structs(Api api) sb.AppendLine(); } - sb.AppendLine($"/// {str.CName}, {str.Size} bytes."); + string structDoc = Names.OneLine(str.Doc).Length > 0 ? Names.OneLine(str.Doc) : str.CName; + sb.AppendLine($"/// {System.Security.SecurityElement.Escape(structDoc)} ({str.Size} bytes)"); sb.AppendLine("[StructLayout(LayoutKind.Sequential)]"); sb.AppendLine($"public unsafe struct {str.CsName}"); sb.AppendLine("{"); foreach (var field in str.Fields) { - sb.AppendLine($" /// {field.CType} (offset {field.Offset})"); + string fieldDoc = Names.OneLine(field.Doc).Length > 0 ? Names.OneLine(field.Doc) : field.CType; + sb.AppendLine($" /// {System.Security.SecurityElement.Escape(fieldDoc)} (offset {field.Offset})"); sb.AppendLine(field.IsFixedBuffer ? $" public fixed {field.CsType} {field.CsName}[{field.ArrayLength}];" : $" public {field.CsType} {field.CsName};"); @@ -1237,12 +1356,17 @@ public static string Enums(Api api) sb.AppendLine(); foreach (var e in api.Enums) { - sb.AppendLine($"/// {e.CName}"); + sb.AppendLine($"/// {System.Security.SecurityElement.Escape(Names.OneLine(e.Doc).Length > 0 ? Names.OneLine(e.Doc) : e.CName)}"); if (e.IsFlags) sb.AppendLine("[System.Flags]"); sb.AppendLine($"public enum {e.CsName}"); sb.AppendLine("{"); foreach (var v in e.Values) { + // CUI writes the meaning of a constant beside it (`CUI_AXIS_HOURS, /* 12.25 is + // 12:15 */`); a dev hovering the member should see that sentence, not the C name. + string memberDoc = Names.OneLine(v.Doc); + if (memberDoc.Length > 0) + sb.AppendLine($" /// {System.Security.SecurityElement.Escape(memberDoc)}"); sb.AppendLine(v.Value.Length == 0 ? $" {v.CsName}," : $" {v.CsName} = {v.Value},"); } @@ -1377,6 +1501,16 @@ sealed class Idiomatic private readonly Dictionary _recordByCs = new(StringComparer.Ordinal); private readonly HashSet _covered = new(StringComparer.Ordinal); + // How widely a declaration's paragraph is used, which is what decides whether it describes the + // component or the declaration: a record one function takes is the component's, a record six + // functions take describes itself (`cui_viz_item`). + private readonly Dictionary _paramUsers = new(StringComparer.Ordinal); + private readonly Dictionary _fieldUsers = new(StringComparer.Ordinal); + + // The sentence an options struct took from the component around it, for the page that + // documents the struct: `BlameOpts` should not say `cui_blame_opts` once the widget knows. + private readonly Dictionary _optionDocFallback = new(StringComparer.Ordinal); + // Staged migration. Expanding this list must pass native behavior and // lifetime tests before another section's manual wrappers are removed. private static readonly string[] WidgetModules = @@ -1394,6 +1528,7 @@ sealed class Idiomatic "Network waterfall", "Trace viewer", "Regular expressions and the regex tester", "Test explorer", "Stack trace", "HTTP request bar", "Uptime bars", "Time histogram", "Coverage", "Blame", "Feature flags", "API explorer", + "Instruments: dot-matrix chart, event track, readout, dot-matrix display", ]; public Idiomatic(Api api, Overrides overrides) @@ -1401,6 +1536,7 @@ public Idiomatic(Api api, Overrides overrides) _api = api; _overrides = overrides; ValidateOverrides(); + CountDeclarationUsers(); // A record may contain another record (a hex result holds a selection), so plan // in passes until nothing new resolves, then report whatever is left. var pendingRecords = overrides.RecordNames.ToList(); @@ -1468,6 +1604,34 @@ public Idiomatic(Api api, Overrides overrides) } } + /// + /// How many functions take each C record as a parameter, and how many structs hold a field of + /// each C type. Both counts answer the same question later: is the paragraph attached to this + /// declaration about the component, or about the declaration itself? + /// + private void CountDeclarationUsers() + { + foreach (FunctionModel function in _api.Functions) + { + var seen = new HashSet(StringComparer.Ordinal); + foreach (ParamModel parameter in function.Params) + { + if (Pointee(parameter) is not { } spelling || !seen.Add(spelling)) continue; + _paramUsers[spelling] = _paramUsers.GetValueOrDefault(spelling) + 1; + } + } + + foreach (StructModel str in _api.Structs) + { + var seen = new HashSet(StringComparer.Ordinal); + foreach (FieldModel field in str.Fields) + { + if (!seen.Add(field.CType)) continue; + _fieldUsers[field.CType] = _fieldUsers.GetValueOrDefault(field.CType) + 1; + } + } + } + private void ValidateOverrides() { foreach (var (key, value) in _overrides.TypeAliases) @@ -1567,6 +1731,23 @@ private void ValidateOverrides() if (!_api.Functions.Any(f => f.CName + "." + f.Params.FirstOrDefault(p => f.CName + "." + p.CName == key)?.CName == key)) throw new InvalidOperationException($"Unknown parameter: {key}"); } + foreach (var (key, value) in _overrides.CapacityParams) + { + RequireReason(key, value.Why); + int dot = key.IndexOf('.'); + FunctionModel? function = dot < 0 ? null : _api.Functions.SingleOrDefault(f => f.CName == key[..dot]); + ParamModel? capacity = function?.Params.SingleOrDefault(p => p.CName == key[(dot + 1)..]); + if (function is null || capacity is null) throw new InvalidOperationException($"Unknown parameter: {key}"); + + // The pointer being described has to be in the same signature, and the length it derives + // from has to be somewhere in the call: a typo in the array name would otherwise pass a + // length meant for nothing and leave the pointer under-described at run time. + ParamModel? derived = function.Params.SingleOrDefault(p => p.CName == value.Array); + if (derived is null) + throw new InvalidOperationException($"Capacity override names an array the signature does not take: {key} -> {value.Array}"); + if (capacity.Type.Kind != "Int" || derived.Type.Kind != "Pointer") + throw new InvalidOperationException($"Capacity override needs an int count beside a pointer: {key} -> {value.Array}"); + } foreach (var (key, value) in _overrides.OptionArrayChecks) { RequireReason(key, value.Why); @@ -1710,7 +1891,9 @@ private OptionPlan PlanOption(StructModel str) string name = _overrides.OptionNames.TryGetValue(str.CName, out var rename) ? rename.Name : Names.Pascal(str.CName[4..]); var fields = new List(); - var arrays = str.Fields.Where(f => IsStringArray(f.Type) || IsFloatArray(f.Type)).ToArray(); + // An options struct may hold any array whose length native reads separately: strings, + // floats, or records (chart annotations). All three derive the count the same way. + var arrays = str.Fields.Where(f => IsArrayField(f.Type)).ToArray(); foreach (var f in str.Fields) { string key = str.CName + "." + f.CName; @@ -1767,7 +1950,8 @@ private OptionPlan PlanOption(StructModel str) { // Icon arrays are checked against the widget's item count by the wrapper. } - else if ((IsStringArray(f.Type) || IsFloatArray(f.Type)) && !str.Fields.Any(c => CountsFor(str.CName, f.CName, c.CName)) + else if (IsArrayField(f.Type) + && !str.Fields.Any(c => CountsFor(str.CName, f.CName, c.CName)) && !_overrides.OptionArrayChecks.ContainsKey(key)) { // No count field: either the widget derives the length (with a guard the @@ -1794,10 +1978,12 @@ private OptionPlan PlanOption(StructModel str) if (f.Type.Kind == "Pointer" && f.Type.Element?.IsConst == true && _records.TryGetValue(Trim(f.Type.Element.Spelling), out var element)) return ($"{element.Name}[]?", $"{element.Name}.ToFrameArray({fieldName})"); - if (IsStringArray(f.Type) || IsFloatArray(f.Type)) + if (IsStringArray(f.Type) || IsFloatArray(f.Type) || IsDoubleArray(f.Type)) return IsStringArray(f.Type) ? ("string[]?", $"UiMarshal.Strings({fieldName})") - : ("float[]?", $"UiMarshal.Values({fieldName})"); + : IsDoubleArray(f.Type) + ? ("double[]?", $"UiMarshal.Values({fieldName})") + : ("float[]?", $"UiMarshal.Values({fieldName})"); if (f.Type.Kind is "Pointer" or "ConstantArray" || f.CsType.StartsWith("Native", StringComparison.Ordinal) && type == f.CsType) throw new NotSupportedException($"{f.CName}: {f.CType} needs explicit ownership/length semantics"); @@ -1870,7 +2056,9 @@ public string Records() sb.AppendLine("using System.Runtime.InteropServices;\nusing CuiSharp.Interop;\n\nnamespace CuiSharp;\n"); foreach (var record in _records.Values) { - Summary(sb, record.Native.CName + ". Elements are copied into the frame arena by the wrapper."); + string recordDoc = Names.OneLine(record.Native.Doc); + Summary(sb, (recordDoc.Length > 0 ? recordDoc + " " : "") + + "Elements are copied into the frame arena by the wrapper."); sb.AppendLine($"public unsafe partial struct {record.Name}\n{{"); foreach (var f in record.Fields.Where(f => !f.Hidden)) { @@ -1946,10 +2134,38 @@ public string Records() private static bool IsString(CType t) => t.Kind == "Pointer" && t.Element is { Kind: "Char_S" or "Char_U", IsConst: true }; private static bool IsStringArray(CType t) => t.Kind == "Pointer" && t.Element is not null && IsString(t.Element); private static bool IsFloatArray(CType t) => t.Kind == "Pointer" && t.Element is { Kind: "Float", IsConst: true }; + + // `double` arrived with CUI 1.4 (a time axis is in hours, not floats), and an array of + // it is read the same way: the count says how many, and the pointer says where. + private static bool IsDoubleArray(CType t) => t.Kind == "Pointer" && t.Element is { Kind: "Double" }; private static bool IsIntArray(CType t) => t.Kind == "Pointer" && t.Element is { Kind: "Int", IsConst: true }; + /// An option field the wrapper turns into an array: strings, floats, doubles, or records. + private bool IsArrayField(CType t) => + IsStringArray(t) || IsFloatArray(t) || IsDoubleArray(t) || IsRecordArray(t); + + /// An array of records the wrapper converts into the frame arena, like `cui_chart_annotation`. + private bool IsRecordArray(CType t) => + t.Kind == "Pointer" && t.Element?.IsConst == true && _records.ContainsKey(Trim(t.Element.Spelling)); + + /// + /// The C# type that stands for a primitive C array element in a span. Only the types an + /// in-place array is made of are listed: a struct that is not a record has no conversion, + /// and reaching for one should stop the run, not pick a type. + /// + private static string PrimitiveElement(CType element, string function, string param) => element.Kind switch + { + "Double" => "double", + "Float" => "float", + "Int" => "int", + "Bool" => "bool", + _ => throw new NotSupportedException( + $"{function}: {param} is an in-place array of {element.Spelling}, which has no span type yet"), + }; + private bool IsArrayParam(FunctionModel function, int index, ParamModel param) => - IsStringArray(param.Type) || IsFloatArray(param.Type) || IsIntArray(param.Type) || IsByteArray(param.Type) + IsStringArray(param.Type) || IsFloatArray(param.Type) || IsDoubleArray(param.Type) + || IsIntArray(param.Type) || IsByteArray(param.Type) || IsVoidBytes(param.Type) || RecordElement(param.Type) is not null ? IsAdjacentCount(function, index) || _overrides.ArrayLengths.ContainsKey(function.CName + "." + param.CName) : false; @@ -2010,7 +2226,16 @@ public string Options() sb.AppendLine("using CuiSharp.Interop;\n\nnamespace CuiSharp;\n"); foreach (var option in _options.Values) { - Summary(sb, option.Native.CName + ". All fields are optional; zero selects native defaults."); + // The paragraph above an options struct says what the component is for, which is worth + // more than the sentence that the fields are optional. When it wrote none there, the + // widget that reads this struct found the description elsewhere and left it here. + string componentDoc = Names.OneLine(option.Native.Doc.Length > 0 + ? option.Native.Doc + : _optionDocFallback.GetValueOrDefault(option.Native.CName, "")); + const string Optional = "All fields are optional; zero selects the native default."; + Summary(sb, componentDoc.Length == 0 ? option.Native.CName + ". " + Optional + : componentDoc.Contains(Optional, StringComparison.Ordinal) ? componentDoc + : componentDoc + " " + Optional); sb.AppendLine($"public partial struct {option.Name}\n{{"); foreach (var f in option.Fields.Where(f => !f.Hidden)) { @@ -2193,6 +2418,14 @@ private WidgetPlan PlanWidget(FunctionModel function) continue; } + // A capacity is the array's own length: letting the caller pass both makes them + // disagree, and the widget writes up to the number it was told. + if (_overrides.CapacityParams.TryGetValue(function.CName + "." + p.CName, out var capacityOf)) + { + arguments.Add($"({p.CsType})({capacityOf.Array}.Length)"); + continue; + } + string name = p.CsName; string type = FriendlyValue(p.Type, p.CsType); string mode = ""; @@ -2336,12 +2569,15 @@ private WidgetPlan PlanWidget(FunctionModel function) { bool bytes = IsByteArray(p.Type) || IsVoidBytes(p.Type); bool ints = IsIntArray(p.Type); + bool doubles = IsDoubleArray(p.Type); type = strings ? "ReadOnlySpan" : bytes ? "ReadOnlySpan" - : ints ? "ReadOnlySpan" : "ReadOnlySpan"; + : ints ? "ReadOnlySpan" + : doubles ? "ReadOnlySpan" : "ReadOnlySpan"; if (strings) stringArrays.Add(name); arguments.Add(strings ? $"UiMarshal.Strings({name})" : bytes ? $"UiMarshal.Values({name})" : ints ? $"UiMarshal.Values({name})" + : doubles ? $"UiMarshal.Values({name})" : $"UiMarshal.Values({name})"); } if (adjacentCount) @@ -2385,15 +2621,22 @@ private WidgetPlan PlanWidget(FunctionModel function) else if (_overrides.InOutArrays.TryGetValue(function.CName + "." + p.CName, out var inOut)) { // The widget edits the array in place: copy in, call, then copy the first - // count records back. A count CUI takes as a pointer comes back too, and the - // caller sees the new length; a count it takes by value cannot change. - var element = _records[Trim(p.Type.Element!.Spelling)]; + // count entries back. Who owns the array decides how: a record array is + // converted field by field and written back through `FromNative`, while a + // primitive one (`double *times`) is a span of the C type already. + var element = _records.TryGetValue(Trim(p.Type.Element!.Spelling), out var record) + ? record : null; + string csElement = element?.Native.CsName ?? PrimitiveElement(p.Type.Element!, function.CName, p.CName); var countParam = function.Params.Single(q => q.CName == inOut.Count); bool countIsRef = countParam.Type.Kind == "Pointer"; string block = "__" + name; - type = $"Span<{element.Name}>"; - prepare.Add($"var {block} = Utf8.AllocFrame<{element.Native.CsName}>({name}.Length);"); - prepare.Add($"for (int i = 0; i < {name}.Length; i++) {block}[i] = {name}[i].ToNative();"); + // One spelling for the element: the span the caller passes and the frame block it is + // copied through are the same type by construction, never by two lookups agreeing. + type = $"Span<{element?.Name ?? csElement}>"; + prepare.Add($"var {block} = Utf8.AllocFrame<{csElement}>({name}.Length);"); + prepare.Add(element is null + ? $"{name}.CopyTo(new Span<{csElement}>({block}, {name}.Length));" + : $"for (int i = 0; i < {name}.Length; i++) {block}[i] = {name}[i].ToNative();"); if (countIsRef) prepare.Add($"int __{name}Count = {countParam.CsName};"); arguments.Add($"(nint){block}"); // A pointer count is consumed here (it is the address to write the new length @@ -2407,18 +2650,30 @@ private WidgetPlan PlanWidget(FunctionModel function) arguments.Add($"({countParam.CsType})({name}.Length)"); i++; } - // Copying back is not free: converting a record allocates the strings and arrays - // it holds, so it happens on the frame the widget says something changed. - bool gated = inOut.ChangedWhen is not null; + // Copying back is not free when the element is a record: converting one allocates + // the strings and arrays it holds, so that happens only on the frame the widget + // says something changed. A primitive span costs a memcpy, and it has to come back + // every frame: native sorts and clamps the array it is given, and a wrapper that + // kept the caller's unsorted copy would disagree with the index it reports. + bool gated = inOut.ChangedWhen is not null && element is not null; if (gated) { writeBack.Add($"if ({inOut.ChangedWhen})"); writeBack.Add("{"); } string indent = gated ? " " : ""; - writeBack.Add(indent + (countIsRef - ? $"for (int i = 0; i < Math.Min(__{name}Count, {name}.Length); i++) {name}[i] = {element.Name}.FromNative({block}[i]);" - : $"for (int i = 0; i < {name}.Length; i++) {name}[i] = {element.Name}.FromNative({block}[i]);")); + if (element is null) + { + writeBack.Add(indent + (countIsRef + ? $"new Span<{csElement}>({block}, Math.Min(__{name}Count, {name}.Length)).CopyTo({name});" + : $"new Span<{csElement}>({block}, {name}.Length).CopyTo({name});")); + } + else + { + writeBack.Add(indent + (countIsRef + ? $"for (int i = 0; i < Math.Min(__{name}Count, {name}.Length); i++) {name}[i] = {element.Name}.FromNative({block}[i]);" + : $"for (int i = 0; i < {name}.Length; i++) {name}[i] = {element.Name}.FromNative({block}[i]);")); + } if (countIsRef) { consumedArgs.Add(countParam.CName); @@ -2521,10 +2776,97 @@ private WidgetPlan PlanWidget(FunctionModel function) if (p.Default is not null) optional = true; else if (optional) throw new InvalidOperationException($"Non-trailing default in {function.CName}"); } - return new(function, Names.Pascal(stem), returns, [.. parameters], [.. prepare], [.. arguments], [.. writeBack], end, clicked, + // A component's description is written above its options struct, not above the function: + // when the declaration says nothing, that sentence is what a reader wants beside the call. + string doc = ComponentDoc(function); + + return new(function with { Doc = doc }, Names.Pascal(stem), returns, [.. parameters], [.. prepare], [.. arguments], [.. writeBack], end, clicked, [.. injectedParams], returnStatement); } + /// + /// The sentence a widget's call site shows. A function with a comment of its own is done. When it + /// has none, upstream's description of the component went somewhere else: libclang attaches a + /// comment to the declaration under it, and CUI writes the component's paragraph above the first + /// thing its section declares — an item record (`cui_blame_commit`), an enum + /// (`cui_task_status`) — which sits above the options struct. + /// + /// That paragraph is the component's only when the declaration belongs to this widget alone: + /// `cui_viz_item` opens Treemap but Funnel, Waffle and Bar list take the same record, so its + /// sentence is about the record and not about every widget that reads it. Hence the count: + /// one reader means it is the component, several mean it is the record. + /// + /// + private string ComponentDoc(FunctionModel function) + { + if (function.Doc.Length > 0) return function.Doc; + + // The options struct first: its comment is the component's when it has one that is not + // about the struct itself (`Options for every container.`). + foreach (ParamModel parameter in function.Params) + { + if (Pointee(parameter) is not { } spelling || !_options.TryGetValue(spelling, out var described)) continue; + if (IsComponentDescription(described.Native.Doc)) return Adopt(spelling, described.Native.Doc); + } + + // Then the record the widget is handed: its paragraph is the component's when this is the + // only function that takes it. + foreach (ParamModel parameter in function.Params) + { + if (Pointee(parameter) is not { } spelling || !_records.TryGetValue(spelling, out var record)) continue; + if (_paramUsers.GetValueOrDefault(spelling) != 1 || !IsComponentDescription(record.Native.Doc)) continue; + + // The record keeps its own sentence; the options struct the widget reads takes it too, + // so `BlameOpts` is documented as the component it configures. + foreach (ParamModel other in function.Params) + { + if (Pointee(other) is { } opts && _options.ContainsKey(opts)) Adopt(opts, record.Native.Doc); + } + + return Names.OneLine(record.Native.Doc); + } + + // Then an enum the widget's options name: CUI opens a section with it when the component is + // built around a closed set of states, and the paragraph describing the component follows. + foreach (ParamModel parameter in function.Params) + { + if (Pointee(parameter) is not { } spelling || !_options.TryGetValue(spelling, out var described)) continue; + foreach (OptionField field in described.Fields) + { + EnumModel? named = _api.Enums.FirstOrDefault(e => e.CName == field.Native.CType); + if (named is null || _fieldUsers.GetValueOrDefault(named.CName) != 1) continue; + if (!IsComponentDescription(named.Doc)) continue; + return Adopt(spelling, named.Doc); + } + } + + return ""; + } + + /// Records the sentence an options struct was given from the component around it. + private string Adopt(string option, string doc) + { + _optionDocFallback.TryAdd(option, doc); + return Names.OneLine(doc); + } + + /// + /// A paragraph that describes a component, rather than naming the declaration it sits on. The + /// section titles that reach a struct — `Table`, `Charts`, `managed by cui_terminal_*` — are not + /// sentences, and a tooltip that shows one is worse than the C name it replaced. + /// + private static bool IsComponentDescription(string doc) + { + string text = Names.OneLine(doc); + return text.Length >= 40 + && (text.Contains('.', StringComparison.Ordinal) || text.Contains(':', StringComparison.Ordinal)) + && !text.StartsWith("Options", StringComparison.OrdinalIgnoreCase); + } + + /// The C name of the thing a pointer parameter points at. + private static string? Pointee(ParamModel parameter) => + parameter.Type.Element?.Spelling.Replace("const ", "", StringComparison.Ordinal).Replace("*", "").Trim(); + /// /// The line that makes a widget findable by a test: its kind and the text that names it. /// Widgets without a UiText argument (row and cell builders, drawing primitives) are @@ -2727,7 +3069,7 @@ public Dictionary Widgets() sb.AppendLine(); foreach (var w in module.OrderBy(w => w.Name, StringComparer.Ordinal)) { - string summary = w.Native.Doc.Length == 0 ? w.Native.CName : OneLine(w.Native.Doc); + string summary = w.Native.Doc.Length == 0 ? w.Native.CName : Names.OneLine(w.Native.Doc); sb.AppendLine($"## `{w.Name}`"); sb.AppendLine(); sb.AppendLine("```csharp"); @@ -2859,7 +3201,7 @@ public string LlmsTxt(IReadOnlyList<(string Name, string File)> manual) string file = DocFileName(module.Key); foreach (var w in module.OrderBy(w => w.Name, StringComparer.Ordinal)) { - string summary = w.Native.Doc.Length == 0 ? "" : " — " + OneLine(w.Native.Doc); + string summary = w.Native.Doc.Length == 0 ? "" : " — " + Names.OneLine(w.Native.Doc); sb.AppendLine($"- `ui.{w.Name}({Signature(w.Params)})` → `{w.Return}`{summary} ([{module.Key}](api/{file}.md))"); } } @@ -2922,9 +3264,6 @@ private static string DocFileName(string module) private static string DefaultOf(OptionField field) => field.Expression.Length is 0 || field.Expression == "default" ? "" : $" (default `{field.Expression}`)"; - private static string OneLine(string text) => - Regex.Replace(text.Replace('\n', ' ').Replace('\r', ' '), @"\s+", " ").Trim(); - /// /// A container whose end call reports a value. Only the body overload exists: a /// bare `using` would have to throw the result away, and the whole point of these @@ -3094,6 +3433,13 @@ static IEnumerable Lines(string text) => && !first.Records().Contains("public int DayCount;", StringComparison.Ordinal) && !first.Records().Contains("public int SourceCount;", StringComparison.Ordinal) && !first.Records().Contains("public int OptionCount;", StringComparison.Ordinal)); + // A capacity is the array's length, so the caller cannot pass a second number that disagrees + // with the span, and the parameter leaves the signature entirely. + string editors = string.Concat(first.Widgets().Values); + Check("a capacity is derived, never passed", + editors.Contains("(int)(keys.Length), in __opts", StringComparison.Ordinal) + && !editors.Contains("CurveResult CurveEditor(UiText id, Span keys, int count", StringComparison.Ordinal) + && editors.Contains("Span times", StringComparison.Ordinal)); Check("C typedef, qualifiers and comments survive the IR", box.Fields.Any(f => f.Doc.Contains("identity", StringComparison.Ordinal)) && api.Structs.Single(s => s.CName == "cui_text_opts").Fields.Single(f => f.CName == "font").CsType == "Font" && api.Functions.Single(f => f.CName == "cui_box_begin").Params.Single(p => p.CName == "opts").Type.Element!.IsConst); @@ -3135,6 +3481,10 @@ private static bool Rejects(Action action) static class Names { + /// The comment as one line: a summary is read as a tooltip and grepped by an agent. + internal static string OneLine(string text) => + Regex.Replace(text, @"\s+", " ").Trim(); + public static string Pascal(string name) { if (name.Length == 0) return name; diff --git a/tools/gallery-pages.ps1 b/tools/gallery-pages.ps1 index e514c84..bdf45c4 100644 --- a/tools/gallery-pages.ps1 +++ b/tools/gallery-pages.ps1 @@ -41,4 +41,5 @@ $GalleryPages = @( [pscustomobject]@{ Number = '26'; Key = 'ai'; Label = 'AI'; Heading = 'AI'; Scrolled = $true } [pscustomobject]@{ Number = '27'; Key = 'audio'; Label = 'Audio'; Heading = 'Audio'; Scrolled = $true } [pscustomobject]@{ Number = '28'; Key = 'files'; Label = 'Files'; Heading = 'Files'; Scrolled = $true } + [pscustomobject]@{ Number = '29'; Key = 'instruments'; Label = 'Instruments'; Heading = 'Instruments'; Scrolled = $true } )