Mesa (master): gallium/hud: generalize code for drawing numbers next to graphs

Marek Olšák mareko at kemper.freedesktop.org
Mon Aug 22 14:03:02 UTC 2016


Module: Mesa
Branch: master
Commit: 0f1befe926e793040f73b884c9b4f1b8a4bd25a6
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0f1befe926e793040f73b884c9b4f1b8a4bd25a6

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Thu Aug 18 17:54:13 2016 +0200

gallium/hud: generalize code for drawing numbers next to graphs

Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/gallium/auxiliary/hud/hud_context.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/src/gallium/auxiliary/hud/hud_context.c b/src/gallium/auxiliary/hud/hud_context.c
index f7baccd..ac971d8 100644
--- a/src/gallium/auxiliary/hud/hud_context.c
+++ b/src/gallium/auxiliary/hud/hud_context.c
@@ -344,6 +344,7 @@ hud_pane_accumulate_vertices(struct hud_context *hud,
    float *line_verts = hud->whitelines.vertices + hud->whitelines.num_vertices*2;
    unsigned i, num = 0;
    char str[32];
+   const unsigned last_line = 5;
 
    /* draw background */
    hud_draw_background_quad(hud,
@@ -351,12 +352,13 @@ hud_pane_accumulate_vertices(struct hud_context *hud,
                             pane->x2, pane->y2);
 
    /* draw numbers on the right-hand side */
-   for (i = 0; i < 6; i++) {
+   for (i = 0; i <= last_line; i++) {
       unsigned x = pane->x2 + 2;
-      unsigned y = pane->inner_y1 + pane->inner_height * (5 - i) / 5 -
+      unsigned y = pane->inner_y1 +
+                   pane->inner_height * (last_line - i) / last_line -
                    hud->font.glyph_height / 2;
 
-      number_to_human_readable(pane->max_value * i / 5, pane->max_value,
+      number_to_human_readable(pane->max_value * i / last_line, pane->max_value,
                                pane->type, str);
       hud_draw_string(hud, x, y, "%s", str);
    }
@@ -396,8 +398,9 @@ hud_pane_accumulate_vertices(struct hud_context *hud,
    line_verts[num++] = (float) pane->y2;
 
    /* draw horizontal lines inside the graph */
-   for (i = 0; i <= 5; i++) {
-      float y = round((pane->max_value * i / 5.0) * pane->yscale + pane->inner_y2);
+   for (i = 0; i <= last_line; i++) {
+      float y = round((pane->max_value * i / (double)last_line) *
+                      pane->yscale + pane->inner_y2);
 
       assert(hud->whitelines.num_vertices + num/2 + 2 <= hud->whitelines.max_num_vertices);
       line_verts[num++] = pane->x1;




More information about the mesa-commit mailing list