GUIDOLib  1.7.7
Guido Engine Internal Documentation
GRARCompositeNotationElement.h
1 #ifndef GRARCompositeNotationElement_H
2 #define GRARCompositeNotationElement_H
3 
4 /*
5  GUIDO Library
6  Copyright (C) 2002 Holger Hoos, Juergen Kilian, Kai Renz
7  Copyright (C) 2002-2017 Grame
8 
9  This Source Code Form is subject to the terms of the Mozilla Public
10  License, v. 2.0. If a copy of the MPL was not distributed with this
11  file, You can obtain one at http://mozilla.org/MPL/2.0/.
12 
13  Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
14  research@grame.fr
15 
16 */
17 
18 #include "GUIDOTypes.h"
19 #include "GRARNotationElement.h"
20 
21 #include "NEPointerList.h"
22 
26 {
27  public:
28  GRARCompositeNotationElement( const ARMusicalObject * ar, bool ownsAR = false );
30 
31 
32  virtual void setGRStaff( GRStaff * inStaff );
33 
34  virtual void setPosition( const NVPoint & inPos );
35  virtual void setHPosition( float inX );
36  virtual void addToOffset( const NVPoint & inOfset );
37  virtual void updateBoundingBox();
38 
39  // - Sub elements
40  GuidoPos First() const;
41  GuidoPos Last() const;
42 
43  GRNotationElement * GetNext( GuidoPos & ioPos ) const;
44  GRNotationElement * GetTail() const;
45 
46  GuidoPos AddTail( GRNotationElement * el );
47  void RemoveElement(GRNotationElement * el );
48 
49  void DrawSubElements( VGDevice & hdc ) const;
50  void GetSubElementsMap( GuidoElementSelector sel, MapCollector& f, MapInfos& infos ) const;
51 
52  void RemoveAllSubElements();
53  GuidoPos SetTailPosition(GuidoPos pos);
54 
55  NEPointerList & GetCompositeElements() { return mCompositeElements; }
56  const NEPointerList & GetCompositeElements() const { return mCompositeElements; }
57 
58  private:
59 
60  NEPointerList mCompositeElements; // the list of sub-elements, should be private
61 
62 };
63 
64 
65 #endif
66 
67 
GRARCompositeNotationElement::setGRStaff
virtual void setGRStaff(GRStaff *inStaff)
GRARCompositeNotationElement::GetNext
GRNotationElement * GetNext(GuidoPos &ioPos) const
MapCollector
an abstract class to be provided by clients to collect mappings
Definition: GUIDOScoreMap.h:109
GRARCompositeNotationElement::RemoveElement
void RemoveElement(GRNotationElement *el)
GRARCompositeNotationElement::updateBoundingBox
virtual void updateBoundingBox()
GRARCompositeNotationElement::GetCompositeElements
NEPointerList & GetCompositeElements()
Definition: GRARCompositeNotationElement.h:55
GRNotationElement
parent class for all notation elements.
Definition: GRNotationElement.h:54
NVPoint
Definition: NVPoint.h:20
GRARCompositeNotationElement::GRARCompositeNotationElement
GRARCompositeNotationElement(const ARMusicalObject *ar, bool ownsAR=false)
MapInfos
A class to propagate device related information.
Definition: GObject.h:42
GRStaff
A GRStaff represents a single line of music.
Definition: GRStaff.h:181
GRARCompositeNotationElement::GetSubElementsMap
void GetSubElementsMap(GuidoElementSelector sel, MapCollector &f, MapInfos &infos) const
GRARCompositeNotationElement::Last
GuidoPos Last() const
VGDevice
Generic platform independant drawing device.
Definition: VGDevice.h:68
GRARCompositeNotationElement::GetTail
GRNotationElement * GetTail() const
GRARCompositeNotationElement::~GRARCompositeNotationElement
virtual ~GRARCompositeNotationElement()
Definition: GRARCompositeNotationElement.h:29
GRARCompositeNotationElement::RemoveAllSubElements
void RemoveAllSubElements()
GRARCompositeNotationElement::DrawSubElements
void DrawSubElements(VGDevice &hdc) const
GRARCompositeNotationElement::GetCompositeElements
const NEPointerList & GetCompositeElements() const
Definition: GRARCompositeNotationElement.h:56
GRARCompositeNotationElement::SetTailPosition
GuidoPos SetTailPosition(GuidoPos pos)
GRARCompositeNotationElement::setHPosition
virtual void setHPosition(float inX)
GRARCompositeNotationElement::setPosition
virtual void setPosition(const NVPoint &inPos)
GuidoElementSelector
GuidoElementSelector
Definition: GUIDOScoreMap.h:40
ARMusicalObject
The base class for all AR objects. It contains all musical information : duration and time position.
Definition: ARMusicalObject.h:33
GRARCompositeNotationElement
not yet documented
Definition: GRARCompositeNotationElement.h:25
GRARCompositeNotationElement::First
GuidoPos First() const
GRARNotationElement
This class is the base class for all graphical elements that have a direct counterpart in the Abstrac...
Definition: GRARNotationElement.h:25
NEPointerList
Definition: NEPointerList.h:34
GRARCompositeNotationElement::addToOffset
virtual void addToOffset(const NVPoint &inOfset)
GRARCompositeNotationElement::AddTail
GuidoPos AddTail(GRNotationElement *el)

Guido Project Copyright © 2019 Grame-CNCM