GUIDOLib  1.7.7
Guido Engine Internal Documentation
ARSymbol.h
1 #ifndef ARSymbol_H
2 #define ARSymbol_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 "ARMTParameter.h"
19 #include "ARPositionTag.h"
20 #include "ARMusic.h"
21 
22 /*
23 // documentation is hidden, the tag is not supported by the SVG backend
24 @mkdoc
25 
26 @group:Miscellaneous
27 
28 @tagname:\symbol
29 @tagalias:\s
30 @tagtype:RP
31 @tagnotation:intended to include arbitrary graphics.
32 @tagdesc
33 The **\symbol** tag allows to include arbitrary graphics using an image file.
34 @tagend
35 
36 @params:
37 @param:file:string:a file name:*none*:false
38 @param:position:string:top, bottom, bot or over:over:true
39 @param:w:integer:the image width:*none*:true
40 @param:h:integer:the image height:*none*:true
41 @paramdesc
42 Note: the **\symbol** tag is not supported by the SVG backend.
43 @paramend
44 
45 */
46 
49 class ARSymbol : public ARMTParameter, public ARPositionTag
50 {
51 public:
52  ARSymbol();
53  virtual ~ARSymbol() {}
54 
55  virtual const char* getParamsStr() const { return kARSymbolParams; };
56  virtual const char* getTagName() const { return "ARSymbol"; };
57  virtual std::string getGMNName() const { return "\\symbol"; };
58 
59  const char* getSymbolPath() const;
60  const char* getPositionString() const;
61  int getFixedWidth() const;
62  int getFixedHeight() const;
63 
64  void setCurrentARMusic(ARMusic *inARMusic) { currentARMusic = inARMusic; }
65 
66  const std::vector<std::string> &getPath() const { return currentARMusic->getPath(); }
67 
68 protected:
70 };
71 
72 #endif
ARSymbol::setCurrentARMusic
void setCurrentARMusic(ARMusic *inARMusic)
Definition: ARSymbol.h:64
ARSymbol
The symbol tag.
Definition: ARSymbol.h:49
ARSymbol::getParamsStr
virtual const char * getParamsStr() const
Definition: ARSymbol.h:55
ARSymbol::ARSymbol
ARSymbol()
ARMTParameter
not yet documented
Definition: ARMTParameter.h:24
ARSymbol::getFixedHeight
int getFixedHeight() const
ARSymbol::currentARMusic
ARMusic * currentARMusic
Definition: ARSymbol.h:69
ARSymbol::getFixedWidth
int getFixedWidth() const
ARSymbol::getPath
const std::vector< std::string > & getPath() const
Definition: ARSymbol.h:66
ARSymbol::getSymbolPath
const char * getSymbolPath() const
ARSymbol::getTagName
virtual const char * getTagName() const
Definition: ARSymbol.h:56
ARSymbol::~ARSymbol
virtual ~ARSymbol()
Definition: ARSymbol.h:53
ARMusic::getPath
const std::vector< std::string > & getPath() const
Definition: ARMusic.h:56
ARPositionTag
The base class for all range tags.
Definition: ARPositionTag.h:26
ARSymbol::getPositionString
const char * getPositionString() const
ARSymbol::getGMNName
virtual std::string getGMNName() const
Definition: ARSymbol.h:57
ARMusic
Translation of a GUIDO Segment into a class.
Definition: ARMusic.h:31

Guido Project Copyright © 2019 Grame-CNCM