# Synopsis Cross-Reference

File: Shapes.h

     1#ifndef Shapes_h_
     2#define Shapes_h_
     3
     4#include <Paths.h>
     5
     6class Shape
     7{
     8public:
     9  virtual ~Shape() {}
    10  virtual void draw() = 0;
    11  virtual const Path &outline() = 0;
    12};
    13
    14class Polygon : public Shape
    15{
    16public:
    17  Polygon();
    18  virtual ~Polygone() {}
    19  virtual void draw();
    20  virtual const Path &outline() { return outline_;}
    21private:
    22  Paths::Polyline outline_;
    23};
    24
    25class Ellipse : public Shape
    26{
    27public:
    28  Ellipse();
    29  virtual ~Ellipse() {}
    30  virtual void draw();
    31  virtual const Path &outline() { return outline_;}
    32private:
    33  Paths::Nurbs outline_;
    34};
    35
    36#endif