diff --git a/svg01.cpp b/svg01.cpp index f0714c1..42afd40 100644 --- a/svg01.cpp +++ b/svg01.cpp @@ -1,6 +1,7 @@ #include "svg01.h" #include #include +#include using namespace std; @@ -25,13 +26,33 @@ svg_text(double left, double baseline, string text) { } void -svg_rect(double x, double y, double width, double height, string stroke = "midnightblue", string fill = "deeppink"){ - cout << ""; +svg_rect(double x, double y, double width, double height, string colors_stroke, string colors_fill){ + cout << ""; } +void +input_colors(string &colors_stroke, string &colors_fill){ + string color_personal; + cerr << "Do you want to change colors? Yes/No" << endl; + cin >> color_personal; + while ((color_personal != "No") && (color_personal != "Yes")){ + cerr << "WRONG ANSWER! Try again!" << endl; + cin >> color_personal; + } + if (color_personal == "No"){ + return; + } + else { + cerr << "What color for a stroke do you want?" << endl; + cin >> colors_stroke; + cerr << "What color to fill do you want?" << endl; + cin >> colors_fill; + } + return; +} void -show_histogram_svg(const vector& bins) { +show_histogram_svg(const vector& bins, string colors_stroke, string colors_fill) { const auto IMAGE_WIDTH = 400; const auto IMAGE_HEIGHT = 300; const auto TEXT_LEFT = 20; @@ -51,7 +72,7 @@ show_histogram_svg(const vector& bins) { for (size_t bin : bins) { const double bin_width = (( IMAGE_WIDTH - TEXT_WIDTH ) / BLOCK_WIDTH ) * ( bin / maxel ); svg_text(TEXT_LEFT, top + TEXT_BASELINE, to_string(bin)); - svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT); + svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT, colors_stroke, colors_fill); top += BIN_HEIGHT; } svg_end();