Pointer-neutral hit testing for projected timeline items. More...
#include <pulp/timeline/item_id.hpp>#include <algorithm>#include <cmath>#include <cstdint>#include <limits>#include <optional>#include <span>Go to the source code of this file.
Classes | |
| struct | pulp::timeline_editor::ProjectedHitCandidate |
| One timeline item after a front-end projects it into pixel space. More... | |
| struct | pulp::timeline_editor::ProjectedHit |
| The identity and region selected from a projected candidate set. More... | |
Namespaces | |
| namespace | pulp |
| namespace | pulp::timeline_editor |
| ScriptedUiHost is a SequencerUiHost whose playhead is written by the caller instead of an engine, and which keeps what a view emitted so a test can read it back. | |
| namespace | pulp::timeline_editor::hit_test_detail |
Enumerations | |
| enum class | pulp::timeline_editor::ProjectedHitRegion : std::uint8_t { pulp::timeline_editor::ProjectedHitRegion::Body , pulp::timeline_editor::ProjectedHitRegion::LeadingEdge , pulp::timeline_editor::ProjectedHitRegion::TrailingEdge } |
| The horizontal part of a projected item selected by a hit test. More... | |
Functions | |
| bool | pulp::timeline_editor::hit_test_detail::valid_candidate (const ProjectedHitCandidate &candidate) noexcept |
| bool | pulp::timeline_editor::hit_test_detail::inside_expanded_half_open (float value, float start, float end, float tolerance) noexcept |
| bool | pulp::timeline_editor::hit_test_detail::inside_half_open (const ProjectedHitCandidate &candidate, float x, float y) noexcept |
| double | pulp::timeline_editor::hit_test_detail::distance_to_half_open_span (float value, float start, float end) noexcept |
| ProjectedHitRegion | pulp::timeline_editor::hit_test_detail::region_at (const ProjectedHitCandidate &candidate, float x, float tolerance) noexcept |
| std::optional< ProjectedHit > | pulp::timeline_editor::hit_test_projected_items (std::span< const ProjectedHitCandidate > back_to_front, float x_px, float y_px, float tolerance_px) noexcept |
| Selects one projected timeline item using already-resolved pixel tolerance. | |
Pointer-neutral hit testing for projected timeline items.