8 #ifndef __VRV_ARTIC_H__
9 #define __VRV_ARTIC_H__
11 #include "atts_externalsymbols.h"
12 #include "atts_gestural.h"
13 #include "atts_shared.h"
14 #include "layerelement.h"
23 public AttArticulation,
24 public AttArticulationGes,
26 public AttEnclosingChars,
28 public AttExtSymNames,
29 public AttPlacementRelEvent {
40 std::string GetClassName()
const override {
return "artic"; }
49 data_ARTICULATION GetArticFirst()
const;
51 void GetAllArtics(
bool direction, std::vector<Artic *> &artics);
73 void SetDrawingPlace(data_STAFFREL drawingPlace) { m_drawingPlace = drawingPlace; }
79 char32_t
GetArticGlyph(data_ARTICULATION artic, data_STAFFREL place)
const;
112 FunctorCode AcceptEnd(
Functor &functor)
override;
113 FunctorCode AcceptEnd(
ConstFunctor &functor)
const override;
120 std::vector<FloatingCurvePositioner *> m_startSlurPositioners;
121 std::vector<FloatingCurvePositioner *> m_endSlurPositioners;
134 data_STAFFREL m_drawingPlace;
static bool IsCentered(data_ARTICULATION artic)
Static method that returns true if the data_ARTICULATION has to be centered between staff lines.
data_STAFFREL GetDrawingPlace() const
Getter and setter for the drawing place.
Definition: artic.h:72
std::pair< char32_t, char32_t > GetEnclosingGlyphs() const
Retrieve parentheses / brackets from the enclose attribute.
Object * Clone() const override
Method call for copying child classes.
Definition: artic.h:38
bool IsRelativeToStaff() const override
Override the method since it is align to the staff.
Definition: artic.h:47
FunctorCode Accept(Functor &functor) override
Interface for class functor visitation.
static const std::vector< data_ARTICULATION > s_aboveStaffArtic
A static array for storing the articulation that have to be place above the staff is possible.
Definition: artic.h:130
static bool VerticalCorr(char32_t code, data_STAFFREL place)
Static method that retrieves the vertical correction for a SMuFL code with data_STAFFREL.
void Reset() override
Reset the object, that is 1) removing all children and 2) resetting all attributes.
char32_t GetArticGlyph(data_ARTICULATION artic, data_STAFFREL place) const
Retrieves the appropriate SMuFL code for a data_ARTICULATION with data_STAFFREL.
bool AlwaysAbove() const
Check if the articList contains data_ARTICULATION has to be place above staff.
bool HasToBeAligned() const override
Override the method since alignment is required.
Definition: artic.h:44
bool IsInsideArtic() const
Return the inside and outside part of an artic if any (NULL otherwiser)
static const std::vector< data_ARTICULATION > s_outStaffArtic
A static array for storing the articulation that have to be placed outside the staff.
Definition: artic.h:126
This abstract class is the base class for all const functors.
Definition: functor.h:126
This class represents a basic object for a curve (slur, tie) in the layout domain.
Definition: floatingobject.h:329
This abstract class is the base class for all mutable functors.
Definition: functor.h:101
This class is a base class for the Layer (<layer>) content.
Definition: layerelement.h:51
This class represents a basic object.
Definition: object.h:61