Namespace SharpConsoleUI.Core
Classes
- ActivationBlockedEventArgs
Event arguments for activation blocked events
- ButtonColorSet
Immutable record representing a color set for a button control.
- CacheState
Thread-safe cache state manager for controls. Tracks validation state, rendering status, and invalidation reasons.
- ControlFocusEventArgs
Event arguments for control focus events
- CursorState
Immutable record representing the current state of the cursor. Provides a single source of truth for cursor visibility, position, and ownership.
- CursorStateChangedEventArgs
Event arguments for cursor state changes
- CursorStateService
Centralized service for managing cursor state across the window system. Provides a single source of truth for cursor visibility, position, and ownership.
- DisposableManager
Manager for tracking and disposing resources in a coordinated manner
- DisposableManagerExtensions
Extension methods for easier resource management
- DisposalScope
A disposal scope that can register resources for disposal when the scope is disposed
- DragState
State of an active drag operation
- EditOperation
Represents an undoable edit operation
- EditState
Immutable record representing the edit state of a text control
- EditStateChangedEventArgs
Event arguments for edit state changes
- FocusState
Immutable record representing the current focus state. Provides a single source of truth for focus across the window system.
- FocusStateChangedEventArgs
Event arguments for focus state changes
- FocusStateService
Centralized service for managing focus state across the window system. Provides a single source of truth for which window and control has focus.
- IdleStateEventArgs
Event arguments for idle state changes
- InputStateService
Centralized service for managing input state. Provides input queue management, modifier tracking, and input history.
- InteractionState
Current mouse interaction state (drag or resize operation)
- InteractionStateChangedEventArgs
Event arguments for interaction (drag/resize) state changes
- InvalidationManager
Thread-safe invalidation manager that coordinates all invalidation requests. Implements singleton pattern and batches rapid invalidation requests for efficiency.
- InvalidationRequest
Represents an invalidation request for a control.
- KeyPressEventArgs
Event arguments for key press events
- LayoutAllocation
Represents the allocated space for a control after layout calculation
- LayoutRequirements
Controls express sizing and alignment needs via this record. Single source of truth for all layout-related information.
- LayoutState
Complete layout state for a control, tracking requirements, allocation, and actual dimensions
- ModalState
Immutable record representing the current modal state. Tracks modal window stack and parent-child relationships.
- ModalStateChangedEventArgs
Event arguments for modal state changes
- ModalStateService
Centralized service for managing modal window state. Handles modal window stack, parent-child relationships, and activation blocking.
- NotificationEventArgs
Event arguments for notification state changes.
- NotificationInfo
Represents the state of a single notification.
- NotificationSeverity
Represents a notification severity level with associated visual properties such as colors and icons.
- NotificationState
Represents the current notification system state.
- NotificationStateService
Centralized service for managing notification state. Tracks active notifications, provides dismissal methods, and fires events.
- PluginEventArgs
Event arguments for plugin load/unload events.
- PluginState
Immutable record representing the current state of the plugin system.
- PluginStateChangedEventArgs
Event arguments for plugin state changes.
- PluginStateService
Service that manages the plugin system state, including plugin loading, service registration, and factory management. This service follows the established manager pattern for state management.
- ResizeState
State of an active resize operation
- ScrollChangedEventArgs
Event arguments for scroll changes
- ScrollState
Immutable record representing scroll state for a scrollable element
- ServiceRegisteredEventArgs
Event arguments for service registration events.
- ServiceUnregisteredEventArgs
Event arguments for service unregistration events.
- StatusBarStateService
Manages status bar state, Start menu actions, and status bar bounds. Centralized state service for all status bar and start menu functionality.
- TextChangedEventArgs
Event arguments for text changes
- TextPosition
Represents a text position (line and column).
- TextSelection
Represents a text selection (start and end positions)
- ThemeChangedEventArgs
Event arguments for theme changes
- ThemeStateService
Centralized service for managing theme state. Provides change notifications when theme is updated.
- WindowActivatedEventArgs
Event arguments for window activation changes
- WindowColorSet
Immutable record representing a color set for a window.
- WindowEventArgs
Event arguments for individual window events
- WindowStateEventArgs
Event arguments for window state (minimize/maximize/restore) changes
- WindowStateService
Centralized service for managing window system state. Provides a single source of truth for window collection, active window, and interaction state (drag/resize operations).
- WindowSystemState
Immutable snapshot of the entire window system state. Provides a single source of truth for window management.
- WindowSystemStateChangedEventArgs
Event arguments for window system state changes. Provides both previous and new state for comparison.
Interfaces
- ICursorShapeProvider
Interface for controls that can specify a preferred cursor shape. Controls implementing this interface can customize how the cursor appears when focused.
Enums
- CursorShape
Represents the shape/style of the cursor
- EditChangeReason
Reason for an edit state change
- EditOperationType
Types of edit operations for undo/redo
- FocusChangeReason
Reason for a focus change
- InvalidationReason
Specifies the reasons why a control or container needs invalidation. This is a flags enumeration allowing multiple reasons to be combined.
- LayoutChangeReason
Reason for a layout change.
- NotificationSeverityEnum
Specifies the severity level for notifications.
- ScrollChangeReason
Reason for a scroll change
- WindowEventType
Types of window events