26#include "musx/dom/DocumentElement.h"
27#include "musx/dom/MusxInstance.h"
41enum class StaffOriginOffsetResolverDecision
51 StaffOriginOffsetResolverDecision
decision{StaffOriginOffsetResolverDecision::NotHandled};
56using StaffOriginOffsetResolver = std::function<StaffOriginOffsetResolverResult(
59 const StaffOriginOffsetRequest& request)>;
72StaffOriginOffsetResolverResult calcStaffOriginOffsetUsingSystemStaffProxy(
75 const StaffOriginOffsetRequest& request);
80StaffOriginOffsetResolverResult calcStaffOriginOffsetUsingScrollViewProxy(
83 const StaffOriginOffsetRequest& request);
Provides optional per-type extension methods for MusxInstanceList.
Definition MusxInstance.h:118
int16_t MeasCmper
Enigma meas Cmper (may be negative when not applicable)
Definition Fundamentals.h:64
uint16_t Cmper
Enigma "comperator" key type.
Definition Fundamentals.h:55
int32_t Edu
"Enigma Durational Units" value (1024 per quarter note)
Definition Fundamentals.h:61
std::shared_ptr< Document > DocumentPtr
Shared Document pointer.
Definition DocumentElement.h:35
int16_t StaffCmper
Enigma staff (staffId) Cmper (may be negative when not applicable)
Definition Fundamentals.h:65
Request for resolving one staff origin relative to another staff origin.
Definition Layout.h:33
dom::StaffCmper targetStaffId
Staff whose vertical origin is requested.
Definition Layout.h:35
dom::StaffCmper sourceStaffId
Staff whose vertical origin is the zero point for the returned offset.
Definition Layout.h:34
dom::MeasCmper measureId
Measure at which the staff origins are needed.
Definition Layout.h:36
dom::Edu eduPosition
EDU position within measureId at which the staff origins are needed.
Definition Layout.h:37
Result returned by a staff origin offset resolver.
Definition Layout.h:50
StaffOriginOffsetResolverDecision decision
Resolver decision.
Definition Layout.h:51
double targetOriginOffsetEvpu
Target staff origin offset in EVPU when decision is StaffOriginOffsetResolverDecision::Offset.
Definition Layout.h:52