X-Git-Url: https://scm.cri.ensmp.fr/git/Faustine.git/blobdiff_plain/c7f552fd8888da2f0d8cfb228fe0f28d3df3a12c..b4b6f2ea75b9f0f3ca918f5b84016610bf7a4d4f:/interpretor/faust-0.9.47mr3/compiler/draw/schema/decorateSchema.cpp diff --git a/interpretor/faust-0.9.47mr3/compiler/draw/schema/decorateSchema.cpp b/interpretor/faust-0.9.47mr3/compiler/draw/schema/decorateSchema.cpp deleted file mode 100644 index 50d78d2..0000000 --- a/interpretor/faust-0.9.47mr3/compiler/draw/schema/decorateSchema.cpp +++ /dev/null @@ -1,171 +0,0 @@ -/************************************************************************ - ************************************************************************ - FAUST compiler - Copyright (C) 2003-2004 GRAME, Centre National de Creation Musicale - --------------------------------------------------------------------- - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - ************************************************************************ - ************************************************************************/ - -#include "decorateSchema.h" -#include -#include - -using namespace std; - -/** - * Creates a new decorated schema - */ -schema* makeDecorateSchema ( schema* s, double margin, const string& text ) -{ - return new decorateSchema (s, margin, text); -} - - -/** - * A decorateSchema is a schema surrounded by a dashed rectangle with a - * label on the top left. The rectangle is placed at half the margin - * parameter. The constructor is made private to enforce the usage of - * makeDecorateSchema - */ -decorateSchema::decorateSchema( schema* s, double margin, const string& text ) - : schema(s->inputs(), s->outputs(), s->width()+2*margin, s->height()+2*margin), - fSchema(s), - fMargin(margin), - fText(text) -{ - for (unsigned int i=0; iplace(ox+fMargin, oy+fMargin, orientation); - - double m = fMargin; - if (orientation == kRightLeft) { - m = -m; - } - - for (unsigned int i=0; i < inputs(); i++) { - point p = fSchema->inputPoint(i); - fInputPoint[i] = point(p.x-m, p.y); //, p.z); - } - - for (unsigned int i=0; i < outputs(); i++) { - point p = fSchema->outputPoint(i); - fOutputPoint[i] = point(p.x+m, p.y); //, p.z); - } - - endPlace(); -} - -/** - * Returns an input point - */ -point decorateSchema::inputPoint(unsigned int i) const -{ - assert (placed()); - assert (i < inputs()); - return fInputPoint[i]; -} - -/** - * Returns an output point - */ -point decorateSchema::outputPoint(unsigned int i) const -{ - assert (placed()); - assert (i < outputs()); - return fOutputPoint[i]; -} - -/** - * Draw the enlarged schema. This methods can only - * be called after the block have been placed - */ -void decorateSchema::draw(device& dev) -{ - assert(placed()); - - fSchema->draw(dev); -#if 0 - // draw enlarge input wires - for (unsigned int i=0; iinputPoint(i); - dev.trait(p.x, p.y, q.x, q.y); - } - - // draw enlarge output wires - for (unsigned int i=0; ioutputPoint(i); - dev.trait(p.x, p.y, q.x, q.y); - } -#endif - // define the coordinates of the frame - double tw = (2+fText.size())*dLetter*0.75; - double x0 = x() + fMargin/2; // left - double y0 = y() + fMargin/2; // top - double x1 = x() + width() - fMargin/2; // right - double y1 = y() + height() - fMargin/2; // bottom - //double tl = x0 + 2*dWire; // left of text zone - double tl = x() + fMargin; // left of text zone - double tr = min(tl+tw, x1); // right of text zone - - // draw the surronding frame - dev.dasharray(x0, y0, x0, y1); // left line - dev.dasharray(x0, y1, x1, y1); // bottom line - dev.dasharray(x1, y1, x1, y0); // right line - dev.dasharray(x0, y0, tl, y0); // top segment before text - dev.dasharray(tr, y0, x1, y0); // top segment after text - - // draw the label - dev.label(tl, y0, fText.c_str()); // -} - -/** - * Draw the enlarged schema. This methods can only - * be called after the block have been placed - */ -void decorateSchema::collectTraits(collector& c) -{ - assert(placed()); - - fSchema->collectTraits(c); - - // draw enlarge input wires - for (unsigned int i=0; iinputPoint(i); - c.addTrait(trait(p,q)); // in->out direction - } - - // draw enlarge output wires - for (unsigned int i=0; ioutputPoint(i); - point q = outputPoint(i); - c.addTrait(trait(p,q)); // in->out direction - } -}