topSchema Class Reference

A topSchema is a schema surrounded by a dashed rectangle with a label on the top left. More...

#include <topSchema.h>

Inherits schema.

Collaboration diagram for topSchema:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void place (double ox, double oy, int orientation)
 Define the graphic position of the schema.
virtual void draw (device &dev)
 Draw the enlarged schema.
virtual point inputPoint (unsigned int i) const
 Top schema has no input.
virtual point outputPoint (unsigned int i) const
 Top schema has no output.

Friends

schemamakeTopSchema (schema *s1, double margin, const string &text, const string &link)
 Creates a new top schema.

Detailed Description

A topSchema is a schema surrounded by a dashed rectangle with a label on the top left.

The rectangle is placed at half the margin parameter. Arrows are added to all the outputs

Definition at line 34 of file topSchema.h.


Member Function Documentation

void topSchema::draw ( device &  dev  )  [virtual]

Draw the enlarged schema.

This methos can only be called after the block have been placed

Implements schema.

Definition at line 92 of file topSchema.cpp.

00093 {
00094     assert(placed());
00095 
00096     // draw a background white rectangle
00097     dev.rect(x(), y(), width()-1, height()-1, "#ffffff", fLink.c_str());
00098 
00099     // draw the label
00100     dev.label(x()+fMargin, y()+fMargin/2, fText.c_str());
00101 
00102     fSchema->draw(dev);
00103 
00104     // draw arrows at output points of schema
00105     for (unsigned int i=0; i<fSchema->outputs(); i++) {
00106         point p = fSchema->outputPoint(i);
00107         dev.fleche(p.x, p.y, 0, orientation());
00108     }
00109 }

void topSchema::place ( double  ox,
double  oy,
int  orientation 
) [virtual]

Define the graphic position of the schema.

Computes the graphic position of all the elements, in particular the inputs and outputs. This method must be called before draw(), otherwise draw is not allowed

Implements schema.

Definition at line 60 of file topSchema.cpp.

00061 {
00062     beginPlace(ox, oy, orientation);
00063 
00064     fSchema->place(ox+fMargin, oy+fMargin, orientation);
00065     endPlace();
00066 }


The documentation for this class was generated from the following files:

Generated on 31 Mar 2010 for FAUST compiler by  doxygen 1.6.1