FAUST compiler  0.9.9.6b8
topSchema.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 __TOPSCHEMA__
23 #define __TOPSCHEMA__
24 
25 
26 #include "schema.h"
27 
34 class topSchema : public schema
35 {
37  double fMargin;
38  string fText;
39  string fLink;
40  vector<point> fInputPoint;
41  vector<point> fOutputPoint;
42 
43  public:
44  friend schema* makeTopSchema (schema* s1, double margin, const string& text, const string& link);
45 
46  virtual void place(double ox, double oy, int orientation);
47  virtual void draw(device& dev);
48  virtual point inputPoint(unsigned int i) const;
49  virtual point outputPoint(unsigned int i) const;
50  virtual void collectTraits(collector& c);
51 
52  private:
53  topSchema (schema* s1, double margin, const string& text, const string& link);
54 };
55 
56 #endif
57 
58 
double fMargin
Definition: topSchema.h:37
topSchema(schema *s1, double margin, const string &text, const string &link)
A topSchema is a schema surrounded by a dashed rectangle with a label on the top left.
Definition: topSchema.cpp:45
virtual point outputPoint(unsigned int i) const
Top schema has no output.
Definition: topSchema.cpp:81
string fLink
Definition: topSchema.h:39
A topSchema is a schema surrounded by a dashed rectangle with a label on the top left.
Definition: topSchema.h:34
friend schema * makeTopSchema(schema *s1, double margin, const string &text, const string &link)
Creates a new top schema.
Definition: topSchema.cpp:33
virtual void collectTraits(collector &c)
Draw the enlarged schema.
Definition: topSchema.cpp:115
virtual point inputPoint(unsigned int i) const
Top schema has no input.
Definition: topSchema.cpp:71
vector< point > fOutputPoint
Definition: topSchema.h:41
virtual void draw(device &dev)
Draw the enlarged schema.
Definition: topSchema.cpp:92
Definition: device.h:32
int orientation() const
Definition: schema.h:140
string fText
Definition: topSchema.h:38
Definition: schema.h:40
An abstract block diagram schema.
Definition: schema.h:97
schema * fSchema
Definition: topSchema.h:36
virtual void place(double ox, double oy, int orientation)
Define the graphic position of the schema.
Definition: topSchema.cpp:60
vector< point > fInputPoint
Definition: topSchema.h:40