FAUST compiler  0.9.9.6b8
decorateSchema.h
Go to the documentation of this file.
1 /************************************************************************
2  ************************************************************************
3  FAUST compiler
4  Copyright (C) 2003-2004 GRAME, Centre National de Creation Musicale
5  ---------------------------------------------------------------------
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program; if not, write to the Free Software
18  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19  ************************************************************************
20  ************************************************************************/
21 
22 #ifndef __DECORATESCHEMA__
23 #define __DECORATESCHEMA__
24 
25 
26 #include "schema.h"
27 
34 class decorateSchema : public schema
35 {
37  double fMargin;
38  string fText;
39  vector<point> fInputPoint;
40  vector<point> fOutputPoint;
41 
42  public:
43  friend schema* makeDecorateSchema (schema* s1, double margin, const string& text);
44 
45  virtual void place(double ox, double oy, int orientation);
46  virtual void draw(device& dev);
47  virtual point inputPoint(unsigned int i) const;
48  virtual point outputPoint(unsigned int i) const;
49  virtual void collectTraits(collector& c);
50 
51  private:
52  decorateSchema (schema* s1, double margin, const string& text);
53 };
54 
55 #endif
56 
57 
A decorateSchema is a schema surrounded by a dashed rectangle with a label on the top left...
virtual void draw(device &dev)
Draw the enlarged schema.
friend schema * makeDecorateSchema(schema *s1, double margin, const string &text)
Creates a new decorated schema.
virtual point inputPoint(unsigned int i) const
Returns an input point.
decorateSchema(schema *s1, double margin, const string &text)
A decorateSchema is a schema surrounded by a dashed rectangle with a label on the top left...
schema * fSchema
virtual void place(double ox, double oy, int orientation)
Define the graphic position of the schema.
Definition: device.h:32
int orientation() const
Definition: schema.h:140
vector< point > fInputPoint
Definition: schema.h:40
An abstract block diagram schema.
Definition: schema.h:97
virtual point outputPoint(unsigned int i) const
Returns an output point.
virtual void collectTraits(collector &c)
Draw the enlarged schema.
vector< point > fOutputPoint