//---------------------------------------------------------------------------------
struct Box : Graph_lib::Shape {
    Box(Point xxyy, int ww, int hh);  //Constr prototype

    void Top_segment (); /// Sets endpts in private member top_seg vector<Point>
    void Bottom_segment (); /// and so on
    void Left_side_segment ();
    void Right_side_segment();
    void Get_segments(); /// Calls the above four edges builders.

    void draw_lines() const;

    int height() const { return h; }
    int width () const { return w; }

private:
    Point xy; //left most upper corner

    int h; // height
    int w; // width

    vector<Point> top_seg;
    vector<Point> bottom_seg;
    vector<Point> left_seg;
    vector<Point> right_seg;

    double longer_side_tenth; //10% of the width that will calculate the length to remove from each side to make room for the arcs
};