linux-trace-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Yordan Karadzhov (VMware)" <y.karadz@gmail.com>
To: rostedt@goodmis.org
Cc: linux-trace-devel@vger.kernel.org,
	"Yordan Karadzhov (VMware)" <y.karadz@gmail.com>
Subject: [PATCH v7 28/32] kernel-shark: Add ksplot_draw_polyline()
Date: Fri, 11 Dec 2020 17:07:52 +0200	[thread overview]
Message-ID: <20201211150756.577366-29-y.karadz@gmail.com> (raw)
In-Reply-To: <20201211150756.577366-1-y.karadz@gmail.com>

The method draws continuous line between an ordered array of
points (poly-line).

Signed-off-by: Yordan Karadzhov (VMware) <y.karadz@gmail.com>
---
 src/libkshark-plot.c | 32 ++++++++++++++++++++++++++------
 src/libkshark-plot.h |  5 +++++
 2 files changed, 31 insertions(+), 6 deletions(-)

diff --git a/src/libkshark-plot.c b/src/libkshark-plot.c
index c9a3530..597e5c2 100644
--- a/src/libkshark-plot.c
+++ b/src/libkshark-plot.c
@@ -151,6 +151,30 @@ void ksplot_draw_line(const struct ksplot_point *a,
 	glEnd();
 }
 
+/**
+ * @brief Draw the a polyline.
+ *
+ * @param points: Input location for the array of points defining the polyline.
+ * @param n_points: The size of the array of points.
+ * @param col: The color of the polyline.
+ * @param size: The size of the polyline.
+ */
+void ksplot_draw_polyline(const struct ksplot_point *points,
+			  size_t n_points,
+			  const struct ksplot_color *col,
+			  float size)
+{
+	if (!points || !n_points || !col || size < .5f)
+		return;
+
+	/* Loop over the points of the polygon and draw connecting lines. */
+	for(size_t i = 1; i < n_points; ++i)
+		ksplot_draw_line(&points[i - 1],
+				 &points[i],
+				 col,
+				 size);
+}
+
 /**
  * @brief Draw a polygon.
  *
@@ -212,12 +236,8 @@ void ksplot_draw_polygon_contour(const struct ksplot_point *points,
 	if (!points || !n_points || !col || size < .5f)
 		return;
 
-	/* Loop over the points of the polygon and draw connecting lines. */
-	for(size_t i = 1; i < n_points; ++i)
-		ksplot_draw_line(&points[i - 1],
-				 &points[i],
-				 col,
-				 size);
+	/* Loop over the points of the polygon and draw a polyline. */
+	ksplot_draw_polyline(points, n_points, col, size);
 
 	/* Close the contour. */
 	ksplot_draw_line(&points[0],
diff --git a/src/libkshark-plot.h b/src/libkshark-plot.h
index 063740d..d881b20 100644
--- a/src/libkshark-plot.h
+++ b/src/libkshark-plot.h
@@ -72,6 +72,11 @@ void ksplot_draw_line(const struct ksplot_point *a,
 		      const struct ksplot_color *col,
 		      float size);
 
+void ksplot_draw_polyline(const struct ksplot_point *points,
+			  size_t n_points,
+			  const struct ksplot_color *col,
+			  float size);
+
 void ksplot_draw_polygon(const struct ksplot_point *points,
 			 size_t n_points,
 			 const struct ksplot_color *col,
-- 
2.25.1


  parent reply	other threads:[~2020-12-11 15:54 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-11 15:07 [PATCH v7 00/32] Start KernelShark v2 transformation Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 01/32] kernel-shark: Add license information Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 02/32] kernel-shark: Change the CMake minimum version required Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 03/32] kernel-shark: Use libtraceevent and libtracefs Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 04/32] kernel-shark: Update README Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 05/32] kernel-shark: Define build target for JSONC Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 06/32] kernel-shark: Use only signed types in kshark_entry Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 07/32] kernel-shark: Add stream_id to kshark_entry Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 08/32] kernel-shark: Introduce libkshark-hash Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 09/32] kernel-shark: Introduce Data streams Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 10/32] kernel-shark: Rename static methods in libkshark Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 11/32] kernel-shark: Add basic methods for Data streams Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 12/32] kernel-shark: Housekeeping before implementing stream interface Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 13/32] kernel-shark: Add stream interface for trace-cmd data Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 14/32] kernel-shark: Start introducing KernelShark 2.0 Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 15/32] kernel-shark: Start using data streams Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 16/32] kernel-shark: Remove dead code Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 17/32] kernel-shark: Redesign the plugin interface Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 18/32] kernel-shark: Complete the stream integration Yordan Karadzhov (VMware)
2020-12-11 21:51   ` Steven Rostedt
2020-12-11 21:56     ` Steven Rostedt
2020-12-11 15:07 ` [PATCH v7 19/32] kernel-shark: Provide merging of multiple data streams Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 20/32] kernel-shark: Integrate the stream definitions with data model Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 21/32] kernel-shark: Use only signed types for model defs Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 22/32] kernel-shark: Add ksmodel_get_bin() Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 23/32] kernel-shark: Protect ksmodel_set_in_range_bining() Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 24/32] kernel-shark: Add methods for time calibration Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 25/32] kernel-shark: Integrate streams with libkshark-configio Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 26/32] kernel-shark: Add support for drawing text Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 27/32] kernel-shark: Make GLUT optional dependency Yordan Karadzhov (VMware)
2020-12-11 15:07 ` Yordan Karadzhov (VMware) [this message]
2020-12-11 15:07 ` [PATCH v7 29/32] kernel-shark: Optimize ksplot_draw_polygon() Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 30/32] kernel-shark: Do not use the ARRAY_SIZE macro Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 31/32] kernel-shark: Add basic infrastructure for testing Yordan Karadzhov (VMware)
2020-12-11 15:07 ` [PATCH v7 32/32] kernel-shark: Add "github Actions" workflow Yordan Karadzhov (VMware)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201211150756.577366-29-y.karadz@gmail.com \
    --to=y.karadz@gmail.com \
    --cc=linux-trace-devel@vger.kernel.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).