--- source_files: - Common/DTS.Common/Events/RegionOfInterest/RegionOfInterestChangedEvent.cs generated_at: "2026-04-17T16:10:34.392992+00:00" model: "zai-org/GLM-5-FP8" schema_version: 1 sha256: "04ca50cc4f4be546" --- # RegionOfInterest ### Purpose This module defines a typed event for broadcasting changes to a Region of Interest (ROI) within the application. It leverages the Prism event aggregation system to enable loosely-coupled communication between components when ROI configuration changes, allowing subscribers to react to new ROI definitions without direct coupling to the publisher. ### Public Interface **`RegionOfInterestChangedEvent`** - Signature: `public class RegionOfInterestChangedEvent : PubSubEvent` - Description: A Prism `PubSubEvent` that carries an `IRegionOfInterest` payload. Publishers invoke this event with a new ROI instance; subscribers receive the `IRegionOfInterest` object when the event is published. ### Invariants - The event payload must implement `IRegionOfInterest` (defined in `DTS.Common.Interface.RegionOfInterest`). - As a `PubSubEvent`, the event follows Prism's thread-safe publication/subscription semantics. ### Dependencies - **Depends on**: `Prism.Events` (for `PubSubEvent` base class), `DTS.Common.Interface.RegionOfInterest` (for `IRegionOfInterest` interface). - **Depended on by**: Not determinable from source alone; consumers would subscribe to or publish this event via Prism's `IEventAggregator`. ### Gotchas None identified from source alone. ---