GUIDOLib  1.7.7
Guido Engine Internal Documentation
GRArpeggio.h
1 #ifndef GRArpeggio_H
2 #define GRArpeggio_H
3 
4 /*
5  GUIDO Library
6  Copyright (C) 2002 Holger Hoos, Juergen Kilian, Kai Renz
7  Copyright (C) 2002-2018 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 <vector>
19 
20 #include "GRPTagARNotationElement.h"
21 #include "NVRect.h"
22 
23 
24 class ARArpeggio;
25 class GRStaff;
26 
30 {
31  public:
32  GRArpeggio( GRStaff * stf, const ARArpeggio * artrem );
33  virtual ~GRArpeggio() {}
34 
35  virtual void OnDraw( VGDevice & hdc) const;
36  virtual void tellPosition( GObject * caller,const NVPoint & np );
37 
38  private:
39  float fDx, fDy, fLSpace;
40  std::vector<NVRect> fPos; // list of the chords bounding boxes
41 
42  void DrawUpArrow (VGDevice & hdc, float x, float y) const;
43  void DrawDownArrow (VGDevice & hdc, float x, float y) const;
44 };
45 
46 #endif
GObject
The base class for all graphic objects.
Definition: GObject.h:54
ARArpeggio
Abstract representation of aa arpeggio.
Definition: ARArpeggio.h:47
GRArpeggio
The Arpeggio notation element.
Definition: GRArpeggio.h:29
NVPoint
Definition: NVPoint.h:20
GRStaff
A GRStaff represents a single line of music.
Definition: GRStaff.h:181
GRPTagARNotationElement
not yet documented
Definition: GRPTagARNotationElement.h:25
VGDevice
Generic platform independant drawing device.
Definition: VGDevice.h:68
GRArpeggio::OnDraw
virtual void OnDraw(VGDevice &hdc) const
GRArpeggio::GRArpeggio
GRArpeggio(GRStaff *stf, const ARArpeggio *artrem)
GRArpeggio::tellPosition
virtual void tellPosition(GObject *caller, const NVPoint &np)
GRArpeggio::~GRArpeggio
virtual ~GRArpeggio()
Definition: GRArpeggio.h:33

Guido Project Copyright © 2019 Grame-CNCM