00001
00002 #include "hospital.h"
00003
00004 const c_rectangle body_size(0, 0, 50, 40);
00005 const c_rectangle horizontal_bar_size(12, 15, 38, 25);
00006 const c_rectangle vertical_bar_size(20, 7, 30, 33);
00007
00008 hospital::hospital(const c_point &origin, canvas *draw_on) :
00009 body(body_size), vertical_bar(vertical_bar_size), my_canvas(draw_on),
00010 horizontal_bar(horizontal_bar_size)
00011 {
00012 vertical_bar.set_canvas(draw_on);
00013 horizontal_bar.set_canvas(draw_on);
00014 body.set_canvas(draw_on);
00015
00016 vertical_bar.my_color.set_color(WHITE);
00017 horizontal_bar.my_color.set_color(WHITE);
00018 body.my_color.set_color(RED);
00019
00020 set_origin(origin);
00021 }
00022
00023 c_rectangle hospital::dimensions() { return body.dimensions(); }
00024
00025 void hospital::set_origin(const c_point &origin)
00026 {
00027 if (my_origin == origin) return;
00028
00029 c_point diff = origin - my_origin;
00030 my_origin = origin;
00031 horizontal_bar.set_origin(horizontal_bar.location().left_bottom + diff);
00032 vertical_bar.set_origin(vertical_bar.location().left_bottom + diff);
00033 body.set_origin(my_origin);
00034 }
00035
00036 void hospital::draw()
00037 {
00038 body.draw();
00039 horizontal_bar.draw();
00040 vertical_bar.draw();
00041 }
00042
00043 void hospital::erase()
00044 {
00045 body.erase();
00046 horizontal_bar.erase();
00047 vertical_bar.erase();
00048 }