Index: webrtc/tools/event_log_visualizer/plot_base.cc |
diff --git a/webrtc/tools/event_log_visualizer/plot_base.cc b/webrtc/tools/event_log_visualizer/plot_base.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..24ee4e91fed88e83f65f052fe780971c5136a557 |
--- /dev/null |
+++ b/webrtc/tools/event_log_visualizer/plot_base.cc |
@@ -0,0 +1,71 @@ |
+/* |
+ * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. |
+ * |
+ * Use of this source code is governed by a BSD-style license |
+ * that can be found in the LICENSE file in the root of the source |
+ * tree. An additional intellectual property rights grant can be found |
+ * in the file PATENTS. All contributing project authors may |
+ * be found in the AUTHORS file in the root of the source tree. |
+ */ |
+ |
+#include "webrtc/tools/event_log_visualizer/plot_base.h" |
+ |
+namespace webrtc { |
+namespace plotting { |
+ |
+void Plot::SetXAxis(float min_value, |
+ float max_value, |
+ std::string label, |
+ float left_margin, |
+ float right_margin) { |
+ RTC_DCHECK_LE(min_value, max_value); |
+ xaxis_min_ = min_value - left_margin * (max_value - min_value); |
+ xaxis_max_ = max_value + right_margin * (max_value - min_value); |
+ xaxis_label_ = label; |
+} |
+ |
+void Plot::SetSuggestedXAxis(float min_value, |
+ float max_value, |
+ std::string label, |
+ float left_margin, |
+ float right_margin) { |
+ for (const auto& series : series_list_) { |
+ for (const auto& point : series.points) { |
+ min_value = std::min(min_value, point.x); |
+ max_value = std::max(max_value, point.x); |
+ } |
+ } |
+ SetXAxis(min_value, max_value, label, left_margin, right_margin); |
+} |
+ |
+void Plot::SetYAxis(float min_value, |
+ float max_value, |
+ std::string label, |
+ float bottom_margin, |
+ float top_margin) { |
+ RTC_DCHECK_LE(min_value, max_value); |
+ yaxis_min_ = min_value - bottom_margin * (max_value - min_value); |
+ yaxis_max_ = max_value + top_margin * (max_value - min_value); |
+ yaxis_label_ = label; |
+} |
+ |
+void Plot::SetSuggestedYAxis(float min_value, |
+ float max_value, |
+ std::string label, |
+ float bottom_margin, |
+ float top_margin) { |
+ for (const auto& series : series_list_) { |
+ for (const auto& point : series.points) { |
+ min_value = std::min(min_value, point.y); |
+ max_value = std::max(max_value, point.y); |
+ } |
+ } |
+ SetYAxis(min_value, max_value, label, bottom_margin, top_margin); |
+} |
+ |
+void Plot::SetTitle(std::string title) { |
+ title_ = title; |
+} |
+ |
+} // namespace plotting |
+} // namespace webrtc |