Merge branch 'master' of https://scm.cri.ensmp.fr/git/Faustine
[Faustine.git] / interpretor / preprocessor / faust-0.9.47mr3 / compiler / draw / schema / inverterSchema.cpp
1
2 /************************************************************************
3 ************************************************************************
4 FAUST compiler
5 Copyright (C) 2003-2004 GRAME, Centre National de Creation Musicale
6 ---------------------------------------------------------------------
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 ************************************************************************
21 ************************************************************************/
22
23
24 #include "inverterSchema.h"
25 #include <assert.h>
26 #include <iostream>
27
28 using namespace std;
29
30 //#define invcolor "#f44444"
31
32 /**
33 * Build n cables in parallel
34 */
35 schema* makeInverterSchema (const string& color)
36 {
37 return new inverterSchema(color);
38 }
39
40
41 /**
42 * Build n cables in parallel
43 */
44 inverterSchema::inverterSchema(const string& color)
45 : blockSchema (1, 1, 2.5*dWire, dWire, "-1", color, "")
46 {
47 }
48
49
50 /**
51 * Nothing to draw. Actual drawing will take place when the wires
52 * are enlargered
53 */
54 void inverterSchema::draw(device& dev)
55 {
56 dev.triangle(x() + dHorz, y()+0.5, width() - 2*dHorz, height()-1, fColor.c_str(),fLink.c_str(), orientation()==kLeftRight);
57 }