Namespace Zaya.Primitives
Classes
BooleanSettingDescriptor
Descriptor for a boolean toggle setting. Rendered as a checkbox.
DirectoryPathSettingDescriptor
Descriptor for a directory path setting. Rendered as a text box with a "Browse..." button.
EnumOption
Represents a single option in an enum-style setting, pairing a machine-readable value with a localizable display name and optional description.
EnumSettingDescriptor
Descriptor for a dropdown / combo-box setting. The Options list defines the available choices.
FilePathSettingDescriptor
Descriptor for a file path setting. Rendered as a text box with a "Browse..." button.
IntegerSettingDescriptor
Descriptor for an integer numeric setting. Supports min/max range clamping.
Languages
Provides a static list of common languages as EnumOption values. OCR, translation, and other engines reference All in their Options to present a language dropdown in the host UI. Each option's Value is a BCP-47 tag (e.g. "ru", "zh-Hans").
LocalizedException
Base class for exceptions that carry a localizable user-facing message. Subclasses override GetLocalizedMessage(CultureInfo) to resolve translations. The constructor receives only a localization key; the default culture resource file is the source of strings.
LocalizedString
Represents a string that can be localized. Supports two modes:
- Localized via a resolver function (typically a .resx
ResourceManager). - Invariant — created via Invariant(string) and never translated.
All source strings live in resource files; no English defaults are embedded in code.
PasswordSettingDescriptor
Descriptor for a password setting. Rendered as a masked text box.
SettingDescriptor
Abstract base class for describing a configurable engine setting. Subclasses carry type-specific properties (e.g. MinLength, MinValue, Options, Columns). Hosts use pattern matching on the concrete type to render the appropriate UI control.
SettingDescriptorList
Wraps a collection of SettingDescriptor and provides typed getters (GetValueAsString(string), GetValueAsInt(string), GetValueAsBool(string), GetValueAsTable(string)) that read from a bound user-provided dictionary and fall back to the descriptors' default values. Plugins declare descriptors once, the host renders the UI, and the plugin consumes the values without manual parsing or default-value handling.
StringSettingDescriptor
Descriptor for a free-text string setting. Supports min/max length and optional regex validation.
TableSettingDescriptor
Descriptor for a tabular setting: a list of rows, each row is a dictionary of cell values keyed by Columns keys. Hosts render a grid/list editor; consumers read rows via GetValueAsTable(string).
UrlSettingDescriptor
Descriptor for a URL setting. Rendered as a text box; the host may validate via RegexPattern.
Structs
PixelFormat
Represents a pixel format with conversion methods.
Interfaces
IRawImage
Represents a raw in-memory image with direct pixel data access. Contrast with encoded images (PNG, JPEG) — this is the decoded pixel buffer with known dimensions, stride, and format.