
//
// To jest przykładowy kod z podrozdziału 13.9 „Typ Rectangle” książki
// "Programowanie. Teoria i praktyka z wykorzystaniem C++" Bjarne'a Stroustrupa.
//

#include "Simple_window.h"  // Dołącza naszą bibliotekę okien.
#include "Graph.h"          // Dołącza narzędzia graficzne.

//------------------------------------------------------------------------------

int main()
try
{
    using namespace Graph_lib;   // Nasze narzędzia graficzne znajdują się w bibliotece Graph_lib

    Simple_window win(Point(100,100),600,400,"Prostokąt");

    Rectangle rect00(Point(150,100),200,100); 
    Rectangle rect11(Point(50,50),Point(250,150)); 
    Rectangle rect12(Point(50,150),Point(250,250)); // nieco pod rect11
    Rectangle rect21(Point(250,50),200,100);        // po prawej rect11
    Rectangle rect22(Point(250,150),200,100);       // nieco pod rect21

    rect00.set_fill_color(Color::yellow);
    rect11.set_fill_color(Color::blue);
    rect12.set_fill_color(Color::red);
    rect21.set_fill_color(Color::green);

    rect11.move(400,0);        // na prawo od rect21
    rect11.set_fill_color(Color::white);
    
    win.attach(rect00);
    win.attach(rect11);
    win.attach(rect12);
    win.attach(rect21);

    win.put_on_top(rect00);

    win.set_label("Prostokąty 3");
    win.wait_for_button();       // Wyświetl!
}
catch(exception& e) {
    // Raport o błędzie.
    return 1;
}
catch(...) {
    // Raport o błędzie.
    return 2;
}

//------------------------------------------------------------------------------
