d9660eeaadf2ed2e203560399e14819d45570f6f
[Faustine.git] / interpretor / faust-0.9.47mr3 / compiler / headers / enlargedSchema.h
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 __ENLARGEDSCHEMA__
23 #define __ENLARGEDSCHEMA__
24
25
26 #include "schema.h"
27
28
29
30
31 /**
32 * An enlarged schema
33 */
34
35 class enlargedSchema : public schema
36 {
37 schema* fSchema;
38 vector<point> fInputPoint;
39 vector<point> fOutputPoint;
40
41 public:
42 enlargedSchema (schema* s, double width);
43
44 virtual void place(double x, double y, int orientation);
45 virtual void draw(device& dev);
46 virtual point inputPoint(unsigned int i) const;
47 virtual point outputPoint(unsigned int i) const;
48 virtual void collectTraits(collector& c);
49 };
50
51 #endif
52
53