]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/include/request.hh
release: 1.3.93
[lilypond.git] / lily / include / request.hh
index 8cd5e4abdd87b0acc7cf729999d3ce514a474d2a..f1cd68f48301f949e49e364fe264b87f3617b159 100644 (file)
@@ -3,7 +3,7 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+  (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
 #ifndef REQUEST_HH
 
  */
 class Request : public Music {
-
 public:
-    
-  virtual ~Request(){}
-
-  
   VIRTUAL_COPY_CONS(Music);
-    
-  bool equal_b (Request*) const;
+  bool equal_b (Request const*) const;
 protected:
-  virtual bool do_equal_b (Request*) const;
-  virtual void do_print() const;
-};
-
-
-#define REQUESTMETHODS(T)      \
-\
-VIRTUAL_COPY_CONS(Request);\
-virtual void do_print() const
+  virtual bool do_equal_b (Request const*) const;
 
+};
 
 
-/** Put a script above or below this ``note'' or bar. eg upbow, downbow. Why
-  a request? These symbols may conflict with slurs and brackets, so
-  this also a request */
 
-class Script_req  : public virtual Request { 
+class Script_req : public virtual Request
+{
 public:
   Direction dir_;
-  General_script_def *scriptdef_p_;
-  
-  bool do_equal_b (Request*) const;
+  void set_direction (Direction d ) { dir_ =  d; }
+  Direction get_direction () const { return dir_; }
 
-  Script_req();
-  REQUESTMETHODS(Script_req);
-  ~Script_req();
-  Script_req (Script_req const&);
+  VIRTUAL_COPY_CONS(Music);
+  Script_req ();
 };
 
 
@@ -72,11 +54,14 @@ public:
 class Span_req  : public virtual Request  {
 public:
   /// should the spanner start or stop, or is it unwanted?
-  Direction spantype_;
-  bool do_equal_b (Request*) const;
-  REQUESTMETHODS(Span_req);
-
+  Direction span_dir_;
+  String span_type_str_;
+  
   Span_req();
+protected:
+  virtual bool do_equal_b (Request const*) const;
+
+  VIRTUAL_COPY_CONS(Music);
 };
 
 /**
@@ -84,13 +69,7 @@ public:
  */
 class Tie_req : public Request {
 public:
-  REQUESTMETHODS(Tie_req);
-};
-
-/** Start / stop a beam at this note */
-class Beam_req  : public Span_req  {
-public:
-  REQUESTMETHODS(Beam_req);
+  VIRTUAL_COPY_CONS(Music);
 };
 
 #endif