GUIDOLib  1.7.7
Guido Engine Internal Documentation
GRCluster.h
1 #ifndef GRCluster_H
2 #define GRCluster_H
3 
4 /*
5  GUIDO Library
6  Copyright (C) 2013 Grame
7 
8  This Source Code Form is subject to the terms of the Mozilla Public
9  License, v. 2.0. If a copy of the MPL was not distributed with this
10  file, You can obtain one at http://mozilla.org/MPL/2.0/.
11 
12  Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
13  research@grame.fr
14 
15 */
16 
17 #include "GRARCompositeNotationElement.h"
18 #include "GRPositionTag.h"
19 #include "ARTHead.h"
20 
21 class ARCluster;
22 class ARNoteFormat;
23 class GRStaff;
24 class GRSingleNote;
25 class GRNote;
26 
30  public GRPositionTag
31 {
32 public:
33 
34  GRCluster(GRStaff * stf, const ARCluster * arcls, GRSingleNote *sngNote, const ARNoteFormat * curnoteformat);
35  virtual ~GRCluster();
36 
37  virtual void updateBoundingBox();
38 
39  virtual void OnDraw(VGDevice &hdc) const;
40  virtual void tellPosition( GObject * caller, const NVPoint & np );
41 
42  virtual const unsigned char * getColRef() const { return mColRef; }
43 
44  int getNoteCount() const { return fNoteCount;}
45 
46  void setClusterOrientation(GDirection inStemDir, ARTHead::HEADSTATE inHeadStateOrientation);
47  void setSecondGRNote(GRNote *inGRNote) { secondNote = inGRNote; }
48  GRNote *getFirstNote() { return firstNote; }
49 
50  const ARCluster *getARCluster() const;
51 
52  void GetMap(GuidoElementSelector sel, MapCollector& f, MapInfos& infos) const;
53 
54 protected:
55  float fdx;
56  float fdy;
57  float fhdx;
58  float fhdy;
59  float fsize;
60 
63 
65  unsigned char *fNoteFormatColor;
66 
68  GDirection fStemDir;
69 
71 };
72 
73 #endif
74 
75 
GRCluster::fhdy
float fhdy
Definition: GRCluster.h:58
GRSingleNote
Graphical representation of a note event.
Definition: GRSingleNote.h:38
GRCluster::fdx
float fdx
Definition: GRCluster.h:55
MapCollector
an abstract class to be provided by clients to collect mappings
Definition: GUIDOScoreMap.h:109
GRCluster::GetMap
void GetMap(GuidoElementSelector sel, MapCollector &f, MapInfos &infos) const
GRCluster::fNoteCount
int fNoteCount
Definition: GRCluster.h:70
GRCluster::fClusterOrientation
ARTHead::HEADSTATE fClusterOrientation
Definition: GRCluster.h:67
GRCluster::getColRef
virtual const unsigned char * getColRef() const
Definition: GRCluster.h:42
GObject
The base class for all graphic objects.
Definition: GObject.h:54
GRCluster::fNoteFormatColor
unsigned char * fNoteFormatColor
Definition: GRCluster.h:65
Fraction
Numerator and denominator.
Definition: Fraction.h:23
GRCluster::getARCluster
const ARCluster * getARCluster() const
GRNote
Graphical representation of a note.
Definition: GRNote.h:31
GRCluster::OnDraw
virtual void OnDraw(VGDevice &hdc) const
NVPoint
Definition: NVPoint.h:20
GRCluster::updateBoundingBox
virtual void updateBoundingBox()
GRCluster::setSecondGRNote
void setSecondGRNote(GRNote *inGRNote)
Definition: GRCluster.h:47
MapInfos
A class to propagate device related information.
Definition: GObject.h:42
GRCluster::fdy
float fdy
Definition: GRCluster.h:56
GRStaff
A GRStaff represents a single line of music.
Definition: GRStaff.h:181
GRCluster::fDuration
TYPE_DURATION fDuration
Definition: GRCluster.h:64
GRCluster::fsize
float fsize
Definition: GRCluster.h:59
GRPositionTag
The GRPositionTag is the base class for representing range tags.
Definition: GRPositionTag.h:65
ARNoteFormat
not yet documented
Definition: ARNoteFormat.h:51
GRCluster::secondNote
GRNote * secondNote
Definition: GRCluster.h:62
VGDevice
Generic platform independant drawing device.
Definition: VGDevice.h:68
GRCluster::GRCluster
GRCluster(GRStaff *stf, const ARCluster *arcls, GRSingleNote *sngNote, const ARNoteFormat *curnoteformat)
GRCluster::getNoteCount
int getNoteCount() const
Definition: GRCluster.h:44
GRCluster::~GRCluster
virtual ~GRCluster()
ARTHead::HEADSTATE
HEADSTATE
Definition: ARTHead.h:80
GRCluster::firstNote
GRNote * firstNote
Definition: GRCluster.h:61
GuidoElementSelector
GuidoElementSelector
Definition: GUIDOScoreMap.h:40
GRCluster
Graphical representation of a cluster.
Definition: GRCluster.h:29
GRCluster::fhdx
float fhdx
Definition: GRCluster.h:57
ARCluster
not yet documented
Definition: ARCluster.h:47
GRCluster::getFirstNote
GRNote * getFirstNote()
Definition: GRCluster.h:48
GRTag::mColRef
unsigned char * mColRef
Definition: GRTag.h:77
GRARCompositeNotationElement
not yet documented
Definition: GRARCompositeNotationElement.h:25
GRCluster::fStemDir
GDirection fStemDir
Definition: GRCluster.h:68
GRCluster::tellPosition
virtual void tellPosition(GObject *caller, const NVPoint &np)
GRCluster::setClusterOrientation
void setClusterOrientation(GDirection inStemDir, ARTHead::HEADSTATE inHeadStateOrientation)

Guido Project Copyright © 2019 Grame-CNCM