ckVision

Client API index

This is an index, not a replacement for the learning path: getting started -> Hello -> object model → the focused guides. Every public widget header has an entry below and a corresponding row in coverage. Every installed header appears once in the tables, including headers for testing and implementation support; their descriptions identify the intended entry point.

Application and layout

HeaderPrimary typesStart here
include/cvision/ui/application.hppApplicationGetting started
include/cvision/ui/view.hppViewObject model
include/cvision/ui/animation.hppAnimationWidget gallery
include/cvision/ui/layout.hppRow, Column, layout specificationsLayout guide
include/cvision/ui/grid.hppGridLayout guide
include/cvision/ui/dock.hppDockLayout guide
include/cvision/ui/anchor_pane.hppAnchorPaneLayout guide
include/cvision/ui/overlay.hppOverlayLayout guide
include/cvision/ui/command.hppcommand registry and idsDialogs and commands
include/cvision/ui/theme.hppThemeThemes and rendering
include/cvision/core/shadow_style.hppShadowStyle: how a theme's shadow darkens cells and picturesThemes and rendering
include/cvision/ui/theme_format.hppserialize_theme, parse_theme: the saved text of a themeThemes and rendering

Embedded terminal

HeaderPrimary typesStart here
include/cvision/core/terminal_subsession.hppdeterministic child-session snapshot contract, capability profile and policiesEmbedded terminal
include/cvision/core/process_launch.hppshared ProcessLaunchSpec, explicit command forms and environment policyCaptured process helpers
include/cvision/core/process_runner.hppinjected ProcessRunner, binary request, typed root/capture/error resultsCaptured process helpers
include/cvision/core/detached_process.hppinjected independent-process launch and separate typed cleanup outcomesCaptured process helpers
include/cvision/term/windows_detached_process.hppWindows suspended launch with verified absence from every ancestor jobCaptured process helpers
include/cvision/term/process_runner.hppNativeProcessRunner: private POSIX/Windows helper pipes and owned group/jobCaptured process helpers
include/cvision/term/process_launch_internal.hppimplementation-only native invocation buffers and preparation; not an application APICaptured process helpers
include/cvision/term/terminal_subsession.hpplaunch specification and platform adapter seamEmbedded terminal
include/cvision/core/palette.hppwhat a palette index names, and colour resolutionThemes and rendering
include/cvision/core/base64.hppthe encoding OSC 52 carries clipboard text inEmbedded terminal

Chrome and interaction

HeaderPrimary typesGuide/example
include/cvision/widgets/application_shell.hppApplicationShell, ApplicationShellOptionsHello
include/cvision/widgets/desktop.hppDesktop, DockEdgeObject model
include/cvision/widgets/window.hppWindow, FrameSlot, FrameLines, WindowHandleObject model
include/cvision/widgets/menu.hppMenuBar, DropdownMenu, menu itemsHello
include/cvision/widgets/status_line.hppStatusLine, StatusLineItemHello
include/cvision/widgets/command_presentation.hppCommandPresentationDialogs and commands
include/cvision/widgets/mnemonic.hppMnemonicTextWidget gallery
include/cvision/widgets/mnemonic_internal.hppshared mnemonic drawing helpers (internal)mnemonic.hpp is the client entry point
include/cvision/widgets/orientation.hppOrientationWidget gallery

Controls and data views

HeaderPrimary typesGuide/example
include/cvision/widgets/frame_text.hppFrameTextWidget gallery
include/cvision/widgets/label.hppLabelWidget gallery
include/cvision/widgets/static_text.hppStaticTextWidget gallery
include/cvision/widgets/button.hppButtonWidget gallery
include/cvision/widgets/input_presentation.hppInputPresentation, field geometryWidget gallery
include/cvision/widgets/input_presentation_internal.hppshared field surface drawing (internal)input_presentation.hpp is the client entry point
include/cvision/widgets/input_line.hppInputLineWidget gallery
include/cvision/widgets/key_chord_capture.hppKeyChordCaptureWidget gallery
include/cvision/widgets/memo.hppMemo, MemoPositionWidget gallery
include/cvision/widgets/editor_document.hppEditorDocument, positions, ranges, transactionsEditor
include/cvision/widgets/text_editor.hppTextEditor, EditorStatus, EditorStatusModelEditor
include/cvision/widgets/syntax_profile.hppprofile registry and syntax spansEditor
include/cvision/widgets/syntax_cache.hppincremental lexical-state cacheEditor
include/cvision/widgets/editor_search.hppliteral search and atomic replace-allEditor
include/cvision/widgets/editor_window.hppoptional editor/controller/window compositionEditor
include/cvision/widgets/terminal_report_dialog.hppthe terminal capability reportWidget gallery
include/cvision/widgets/terminal_scrollbar.hppthe frame-mounted scrollbar bound to a terminal's scrollbackEmbedded terminal
include/cvision/widgets/terminal_view.hppTerminalViewEmbedded terminal
include/cvision/widgets/popup_list.hppthe floating list a control drops when its choices are dataWidget gallery
include/cvision/widgets/text_layout.hppWrapMode, WrapOptions, WrapSegment, ScrollGeometryWidget gallery
include/cvision/widgets/text_view.hppTextView, TextSpanWidget gallery
include/cvision/widgets/flow_view.hppFlowView, FlowDocumentFlow content
include/cvision/widgets/option_group.hppCheckGroup, RadioGroupWidget gallery
include/cvision/widgets/combo_box.hppComboBoxWidget gallery
include/cvision/widgets/list_view.hppListView, ListModel, ListItemData views
include/cvision/widgets/tree_view.hppTreeView, TreeNode, TreeModel, TreeItemData views
include/cvision/widgets/table.hppTable, TableModel, TableCellData views
include/cvision/widgets/cell_grid.hppCellGrid, CellGridModel, GridCell, GridFrame, MaterializedCellGridModelData views
include/cvision/widgets/tab_control.hppTabControlWidget gallery
include/cvision/widgets/big_clock.hppBigClockView, BigClockContentWidget gallery
include/cvision/widgets/progress_paint_internal.hppshared meter painting (internal)progress.hpp is the client entry point
include/cvision/widgets/progress_tasks.hppProgressModel, ProgressView, ActivityIndicator, ProgressController, ProgressMailboxAdvanced progress
include/cvision/widgets/progress.hppProgressWidget gallery
include/cvision/widgets/scrollbar.hppScrollbarWidget gallery
include/cvision/widgets/scroll_viewport.hppScrollViewportWidget gallery
include/cvision/widgets/splitter.hppSplitterLayout guide

Dialogs and client services

HeaderPrimary typesGuide/example
include/cvision/widgets/dialog.hppdescriptor dialogs and resultsDialogs and commands
include/cvision/widgets/dialog_presentation.hpptyped dialog presentationDialogs and commands
include/cvision/widgets/message_box.hppmessage boxesHello
include/cvision/widgets/file_dialog.hppopen/save dialogPlatform services
include/cvision/widgets/directory_picker.hppdirectory pickerPlatform services
include/cvision/widgets/file_editor_controller.hppinjected editor file lifecycleEditor
include/cvision/widgets/help_viewer.hpphelp viewer/providerDialogs and commands
include/cvision/widgets/date_time_dialog.hppdate and time dialogsDialogs and commands
include/cvision/widgets/window_list_dialog.hppwindow chooser: filter, switch to, closeWidget gallery
include/cvision/widgets/theme_editor.hpptheme editorThemes and rendering
include/cvision/widgets/paged_strip.hppPagedStripWidget gallery
include/cvision/widgets/minimized_window_stub.hppMinimizedWindowStubWidget gallery
include/cvision/widgets/window_switcher_bar.hppWindowSwitcherBar, WindowSwitcherTargetWidget gallery
include/cvision/widgets/standard_strings.hppStandardStringsDialogs and commands

Graphics and common components

HeaderPrimary typesGuide/example
include/cvision/widgets/image_view.hppImageViewGraphics
include/cvision/widgets/canvas.hppCanvas, fit_image_cells, kAssumedCellPixelsGraphics
include/cvision/widgets/common_components.hppcalendar/date/time/spin/slider/search/toolbar/palette/breadcrumb/property/wizard/notification/tooltipWidget gallery

The public terminal hosts live under include/cvision/term/; use headless_terminal.hpp in tests and the platform backend header appropriate to your host. Platform services covers the boundary.

Core values, text, and services

HeaderPrimary contractStart here
include/cvision/core/ascii.hpplocale-free ASCII classification and case foldingText width
include/cvision/core/assert.hppalways-on CKV_ASSERT contract checksHost diagnostics
include/cvision/core/cell.hppCell and grapheme/style/link storageThemes and rendering
include/cvision/core/clipboard.hppClipboardWriter, MemoryClipboardWriterPlatform services
include/cvision/core/clock.hppClock, ManualClockPlatform services
include/cvision/core/color.hppColor and colour kindsThemes and rendering
include/cvision/core/cursor.hppCursorState, CursorShapeThemes and rendering
include/cvision/core/diagnostics.hppDiagnosticsSink, BufferedDiagnosticsHost diagnostics
include/cvision/core/event.hppkey, text, mouse, resize, focus, and paste eventsInput decoder
include/cvision/core/filesystem.hppinjected FileSystem and file result contractsPlatform services
include/cvision/core/frame_view.hppFrameView, RasterSliceGraphics
include/cvision/core/generated_unicode_15_1.hppgenerated Unicode tables; implementation support, not the client text entry pointText width
include/cvision/core/geometry.hppPoint, Size, Rect, PixelPoint, PixelSizeObject model
include/cvision/core/golden.hppsymbolic scene golden::Document and recordsGolden format
include/cvision/core/hyperlink.hppLinkTable, LinkId, is_valid_hyperlink_target — hyperlink targets carried by cellsTerminal host integration
include/cvision/core/image.hppImage, RgbaGraphics
include/cvision/core/key.hppKey, Modifier, KeyChordInput decoder
include/cvision/core/pointer_shape.hppPointerShape vocabularyTerminal capability profiles
include/cvision/core/process_resources.hppfull-width ProcessId, typed clock-free ProcessResources observationsPlatform services
include/cvision/core/style.hppStyle, attributes, underline shapeThemes and rendering
include/cvision/core/text.hppdeterministic text and grapheme helpersText width
include/cvision/core/utf8.hppUTF-8 validation and conversion helpersText width
include/cvision/core/version.hppVersion and library versionGetting started

Scene composition and capture

HeaderPrimary contractStart here
include/cvision/scene/box_drawing.hppbox junction and line-style resolutionThemes and rendering
include/cvision/scene/compositor.hppCompositor, layers, shadows, raster visibilityThemes and rendering
include/cvision/scene/cursor.hppscene cursor placement helpersThemes and rendering
include/cvision/scene/golden_capture.hppscene and frame capture into golden documentsGolden format
include/cvision/scene/painter.hppPainter drawing APIThemes and rendering
include/cvision/scene/rect_ops.hpprectangle set operations for damage and clippingThemes and rendering
include/cvision/scene/surface.hppSurface, damage spans, raster regionsThemes and rendering

Terminal hosts, protocols, and diagnostics

HeaderPrimary contractStart here
include/cvision/term/capabilities.hppCapabilities, terminal profiles, colour and input protocol enums, the cell/pixel conversions cells_to_pixels and cell_pixels_from_areaTerminal capability profiles
include/cvision/term/capability_report.hppstructured capability report entriesTerminal host integration
include/cvision/term/file_trace_sink.hppFileTraceSink, the live file or stderr sink for a graphics traceGraphics
include/cvision/term/headless_terminal.hppdeterministic HeadlessTerminal test hostTerminal host integration
include/cvision/term/input_decoder.hppInputDecoder and capability-update policyInput decoder
include/cvision/term/osc_sequences.hppthe window-title (OSC 0) and clipboard-export (OSC 52) sequences every VT backend sendsTerminal host integration
include/cvision/term/pointer_shape_names.hpppointer-shape protocol names and support mapTerminal capability profiles
include/cvision/term/posix_clock.hppPosixClockPlatform services
include/cvision/term/posix_filesystem.hppPosixFileSystemPlatform services
include/cvision/term/posix_terminal.hppPOSIX PosixTerminal session backendTerminal host integration
include/cvision/term/posix_terminal_subsession.hppprivate POSIX child PTY adapterEmbedded terminal
include/cvision/term/presenter.hppPresenter cell and raster VT encoderThemes and rendering
include/cvision/term/record_replay_terminal.hppdeterministic terminal I/O recording and replayTerminal host integration
include/cvision/term/sixel_decoder.hppbounded Sixel image decoderGraphics
include/cvision/term/sixel_encoder.hppSixel image encoderGraphics
include/cvision/term/terminal.hppTerminal, capability events, and wait handlesTerminal host integration
include/cvision/term/terminal_clipboard.hppTerminalClipboardWriterPlatform services
include/cvision/term/windows_clipboard.hppWindowsClipboardWriter: instance-owned native Unicode exportPlatform services
include/cvision/term/windows_filesystem.hppWindowsFileSystem: native Unicode file service and conditional atomic savesPlatform services
include/cvision/term/terminal_emulator.hppTerminalEmulator for contained child outputEmbedded terminal
include/cvision/term/terminal_host_summary_internal.hppshared native capability-trace formatter (internal implementation support)Host diagnostics
include/cvision/term/virtual_display.hppVirtualDisplay for deterministic VT presentationGraphics
include/cvision/term/windows_clock.hppWindowsClockPlatform services
include/cvision/term/windows_argv.hpppure CRT argument and CreateProcessW command-line encoding, distinct from shell command textTerminal host integration
include/cvision/term/windows_text.hppstrict UTF-8/native UTF-16 composition, independent of the ANSI code pageTerminal host integration
include/cvision/term/windows_process_image.hppread-only native executable-header and host-architecture inspectionProcess helpers
include/cvision/term/windows_process_resources.hppexplicit native process and owned-job resource samplersPlatform services
include/cvision/term/windows_terminal.hppWindows WindowsTerminal session backendTerminal host integration
include/cvision/term/windows_wait_set.hppWindowsWaitSet: scalable instance-owned native readinessTerminal host integration
include/cvision/term/windows_terminal_subsession.hppprivate Windows ConPTY child adapterEmbedded terminal

UI support and testing

HeaderPrimary contractStart here
include/cvision/ui/context.hppContext for application-owned servicesObject model
include/cvision/ui/history.hppHistoryRegistry for scoped interaction historyObject model
include/cvision/ui/layout_metrics.hpplayout measurement helpersLayout guide
include/cvision/ui/standard_roles.hppStandardRoles for theme role lookupThemes and rendering
include/cvision/testing/cktest.hpprepository test harness; testing support, not an application dependencyContributing