// @(#)Connection.h	3.7	7/28/92

#ifndef Connection_First

#ifdef __GNUG__
#pragma interface
#endif

#define Connection_First

#include "LineShape.h"

//---- Connection --------------------------------------------------------------

class Connection : public LineShape {
    Shape *startShape, *endShape;
    Point startCenter, endCenter;
    // GeoPos gstart, gend;
public:
    MetaDef(Connection);
    
    Connection(View *v, Shape *s1= 0, Shape *s2= 0);
    ~Connection();
    
    void AreaChanged();
    void UpdatePoints();
    void DoObserve(int, int, void*, Object*);
    Rectangle GetTextRect();
    void Highlight(HighlightState);
    ShapeStretcher *NewStretcher(class DrawView*, int);
    int PointOnHandle(Point);
    bool ContainsPoint(Point);
    void Moveby(Point delta);
#ifdef ET25
    OStream& PrintOn(OStream&);
    IStream& ReadFrom(IStream&);
#else
    ostream& PrintOn(ostream&);
    istream& ReadFrom(istream&);
#endif
};

#endif Connection_First
