LibMusicXML  3.18
lpsrLayouts.h
1 /*
2  MusicXML Library
3  Copyright (C) Grame 2006-2013
4 
5  This Source Code Form is subject to the terms of the Mozilla Public
6  License, v. 2.0. If a copy of the MPL was not distributed with this
7  file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 
9  Grame Research Laboratory, 11, cours de Verdun Gensoul 69002 Lyon - France
10  research@grame.fr
11 */
12 
13 #ifndef ___lpsrLayouts___
14 #define ___lpsrLayouts___
15 
16 #include "lpsrVarValAssocs.h"
17 
18 #include "lpsrScheme.h"
19 
20 
21 namespace MusicXML2
22 {
23 
24 //______________________________________________________________________________
25 class lpsrLayout : public lpsrElement
26 {
27  public:
28 
29  // creation from MusicXML
30  // ------------------------------------------------------
31 
32  static SMARTP<lpsrLayout> create (
33  int inputLineNumber);
34 
35  protected:
36 
37  // constructors/destructor
38  // ------------------------------------------------------
39 
40  lpsrLayout (
41  int inputLineNumber);
42 
43  virtual ~lpsrLayout ();
44 
45  public:
46 
47  // set and get
48  // ------------------------------------------------------
49 
50  float getLayoutGlobalStaffSize () const
51  { return fLayoutGlobalStaffSize; }
52 
53  void setLayoutGlobalStaffSize (float size)
54  { fLayoutGlobalStaffSize = size; }
55 
56  public:
57 
58  // services
59  // ------------------------------------------------------
60 
61 /* JMI
62  void addLilypondVarValAssoc (
63  S_lpsrVarValAssoc assoc)
64  {
65  fLpsrVarValAssocsVector.push_back (assoc);
66  }
67 */
68 
69  void addSchemeVariable (
71  {
72  fLpsrSchemeVariablesVector.push_back (assoc);
73  }
74 
75  public:
76 
77  // visitors
78  // ------------------------------------------------------
79 
80  virtual void acceptIn (basevisitor* v);
81  virtual void acceptOut (basevisitor* v);
82 
83  virtual void browseData (basevisitor* v);
84 
85  public:
86 
87  // print
88  // ------------------------------------------------------
89 
90  virtual void print (ostream& os) const;
91 
92  private:
93 
94  // fields
95  // ------------------------------------------------------
96 
97  float fLayoutGlobalStaffSize;
98 
99 /* JMI
100  vector<S_lpsrVarValAssoc>
101  fLpsrVarValAssocsVector;
102  */
103  vector<S_lpsrSchemeVariable>
104  fLpsrSchemeVariablesVector;
105 };
107 EXP ostream& operator<< (ostream& os, const S_lpsrLayout& elt);
108 
109 
110 }
111 
112 
113 #endif
Definition: basevisitor.h:25
Definition: lpsrElements.h:24
Definition: lpsrLayouts.h:26