From c31cf1524fd83e1f911618bd4d6d3722a3dc1b78 Mon Sep 17 00:00:00 2001
From: IshutinaYI <ishutinayi@mpei.ru>
Date: Sun, 4 Jun 2023 12:26:16 +0300
Subject: [PATCH] =?UTF-8?q?code:=20=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?=
 =?UTF-8?q?=D0=BB=D0=B5=D0=BD=20=D0=B2=D1=8B=D0=B2=D0=BE=D0=B4=20=D1=81=20?=
 =?UTF-8?q?=D1=83=D1=87=D0=B5=D1=82=D0=BE=D0=BC=20=D1=88=D1=80=D0=B8=D1=84?=
 =?UTF-8?q?=D1=82=D0=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 fin_lab34.cpp |  7 ++++++-
 svg.cpp       | 14 ++++++++++----
 svg.h         |  7 +++++--
 3 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/fin_lab34.cpp b/fin_lab34.cpp
index aa3620f..b124c60 100644
--- a/fin_lab34.cpp
+++ b/fin_lab34.cpp
@@ -2,6 +2,7 @@
 #include <vector>
 #include <cmath>
 #include <string>
+#include <fstream>
 #include "histogram.h"
 #include "text.h"
 #include "svg.h"
@@ -30,9 +31,13 @@ input_data(){
 int
 main(){
     double min = 0, max = 0;
+    size_t font = 0;
     Input in = input_data();
     auto bins = make_histogram(in.numbers, in.bin_count);
     //for (auto now: bins) {cout << now << endl;}
-    show_histogram_svg(bins);
+    cin >> font;
+    show_histogram_svg(bins, font);
     return 0;
 }
+
+//� ���������� � marks.txt, � marks.txt � marks.svg
diff --git a/svg.cpp b/svg.cpp
index cbbb04c..071b9f1 100644
--- a/svg.cpp
+++ b/svg.cpp
@@ -18,15 +18,19 @@ svg_end() {
     cout << "</svg>\n";
 }
 void
-svg_text(double left, double baseline, string text){
-    cout << "<text x='" << left << "' y='" << baseline <<"' >" << text << "</text>" << endl;
+svg_text(double left, double baseline, size_t font, string text){
+    cout << "<text x='" << left << "' y='" << baseline << "' font-size='" << font << "' >" << text << " </text>" << endl;
+    return;
 }
 void
 svg_rect(double x, double y, double width, double height, string stroke = "#ed53a8", string fill = "#9df3a1"){
     cout << "<rect x='" << x << "' y='" << y << "' width= '" << width << "' height= '" << height << "' stroke= '" << stroke << "' fill= '" << fill << "'/>" << endl;
+    return;
 }
+
 void
-show_histogram_svg(const vector <size_t> &bins) {
+show_histogram_svg(const vector <size_t> &bins, size_t &font) {
+
     const auto IMAGE_WIDTH = 800;
     const auto IMAGE_HEIGHT = 600;
     const auto TEXT_LEFT = 20;
@@ -38,15 +42,17 @@ show_histogram_svg(const vector <size_t> &bins) {
     svg_begin(IMAGE_WIDTH, IMAGE_HEIGHT);
     double top = 0;
     size_t max_count = 0;
+
     for (auto now: bins)
         {if (now > max_count) {max_count = now;}}
     for (size_t bin : bins){
         double bin_width = BLOCK_WIDTH * bin;
         if (bin == max_count) {bin_width = MAX_VALUE * 1.0;}
         else {bin_width = MAX_VALUE * (static_cast <double> (bin) / max_count);}
-        svg_text(TEXT_LEFT, top + TEXT_BASELINE, to_string(bin));
+        svg_text(TEXT_LEFT, top + TEXT_BASELINE, font, to_string(bin));
         svg_rect(TEXT_WIDTH, top, bin_width, BIN_HEIGHT);
         top += BIN_HEIGHT;
     }
     svg_end();
+    return;
 }
diff --git a/svg.h b/svg.h
index 6421fce..d669680 100644
--- a/svg.h
+++ b/svg.h
@@ -10,11 +10,14 @@ void
 svg_end();
 
 void
-svg_text(double left, double baseline, string text);
+svg_text(double left, double baseline, size_t font, string text);
+
+size_t
+enter_font_size(size_t &font);
 
 void
 svg_rect(double x, double y, double width, double height, string stroke, string fill);
 
 void
-show_histogram_svg(const vector <size_t> &bins);
+show_histogram_svg(const vector <size_t> &bins, size_t &font);
 #endif // SVG_H_INCLUDED