GUIDOLib  1.7.7
Guido Engine Internal Documentation
GRTremolo.h
1 #ifndef GRTremolo_H
2 #define GRTremolo_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 "GRPTagARNotationElement.h"
19 #include "GRGlobalStem.h"
20 
21 class ARTremolo;
22 class GRStaff;
23 
27 {
28  public:
29  GRTremolo( GRStaff * stf, const ARTremolo * artrem );
30  virtual ~GRTremolo() {}
31 
32  virtual void OnDraw( VGDevice & hdc ) const;
33  virtual void tellPosition(GObject * caller, const NVPoint & np );
34  virtual unsigned int getTextAlign() const;
35 
37 
38  protected:
39 
41  void computeSimpleStrokesCoordinates( NVPoint pos, float coorX[4], float coorY[4] ) const;
42  void computeTwoNotesStrokesCoordinates( NVPoint firstPos, NVPoint endPos, float coorX[4], float coorY[4] ) const;
43 
47  std::string fPitch;
48  std::string fText;
49  float dx;
50  float dy;
51  float fThickness;
55  float fStep;
56  float fDeltaY;
57  float fWidth;
58 };
59 #endif
GRTremolo::isTwoNotesTremolo
bool isTwoNotesTremolo()
Definition: GRTremolo.h:36
GRTremolo::fStep
float fStep
Definition: GRTremolo.h:55
GRSystemStartEndStruct
This class is used to determine when a position tag ends.
Definition: GRPositionTag.h:32
GRTremolo::fThickness
float fThickness
Definition: GRTremolo.h:51
GRTremolo::computeSimpleStrokesCoordinates
void computeSimpleStrokesCoordinates(NVPoint pos, float coorX[4], float coorY[4]) const
GRTremolo::fEndPos
NVPoint fEndPos
Definition: GRTremolo.h:54
GObject
The base class for all graphic objects.
Definition: GObject.h:54
Fraction
Numerator and denominator.
Definition: Fraction.h:23
GRTremolo::fPitch
std::string fPitch
Definition: GRTremolo.h:47
GRNotationElement
parent class for all notation elements.
Definition: GRNotationElement.h:54
GRTremolo::dx
float dx
Definition: GRTremolo.h:49
GRTremolo::findGlobalStem
GRGlobalStem * findGlobalStem(GRSystemStartEndStruct *sse, GRNotationElement *stemOwner) const
ARTremolo
not yet documented
Definition: ARTremolo.h:51
NVPoint
Definition: NVPoint.h:20
GRTremolo::tellPosition
virtual void tellPosition(GObject *caller, const NVPoint &np)
GRTremolo::OnDraw
virtual void OnDraw(VGDevice &hdc) const
GRTremolo::computeTwoNotesStrokesCoordinates
void computeTwoNotesStrokesCoordinates(NVPoint firstPos, NVPoint endPos, float coorX[4], float coorY[4]) const
GRTremolo::fNumberOfStrokes
int fNumberOfStrokes
Definition: GRTremolo.h:44
GRTremolo::getTextAlign
virtual unsigned int getTextAlign() const
GRStaff
A GRStaff represents a single line of music.
Definition: GRStaff.h:181
GRTremolo
not yet documented
Definition: GRTremolo.h:26
GRTremolo::GRTremolo
GRTremolo(GRStaff *stf, const ARTremolo *artrem)
GRPTagARNotationElement
not yet documented
Definition: GRPTagARNotationElement.h:25
VGDevice
Generic platform independant drawing device.
Definition: VGDevice.h:68
GRTremolo::fIsTwoNotesTremolo
bool fIsTwoNotesTremolo
Definition: GRTremolo.h:52
GRTremolo::fStartPos
NVPoint fStartPos
Definition: GRTremolo.h:53
GRTremolo::fWidth
float fWidth
Definition: GRTremolo.h:57
GRTremolo::fBeamCount
int fBeamCount
Definition: GRTremolo.h:45
GRTremolo::dy
float dy
Definition: GRTremolo.h:50
GRTremolo::fText
std::string fText
Definition: GRTremolo.h:48
GRGlobalStem
Shared stem.
Definition: GRGlobalStem.h:36
GRTremolo::fDeltaY
float fDeltaY
Definition: GRTremolo.h:56
GRTremolo::~GRTremolo
virtual ~GRTremolo()
Definition: GRTremolo.h:30
GRTremolo::fSpeed
TYPE_DURATION fSpeed
Definition: GRTremolo.h:46

Guido Project Copyright © 2019 Grame-CNCM