draw strings - ploot - simple plotting tools
 (HTM) git clone git://bitreich.org/ploot git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/ploot
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Tags
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit d962017f48ac3c15c670c154b9a7f951fe1dd82d
 (DIR) parent b46882e628eb24be3bd67c724a50edceb6687030
 (HTM) Author: Josuah Demangeon <mail@josuah.net>
       Date:   Mon, 30 Apr 2018 16:01:27 +0200
       
       draw strings
       
       Diffstat:
         M ffdraw.c                            |      16 +++++++++++++---
         M ffdraw.h                            |       1 +
         M main.c                              |       4 +---
       
       3 files changed, 15 insertions(+), 6 deletions(-)
       ---
 (DIR) diff --git a/ffdraw.c b/ffdraw.c
       @@ -22,10 +22,8 @@ void
        ffdraw_pixel(Canvas *can, Color col,
                int x, int y)
        {
       -/* Make it segfault early. * /
                x = MIN(can->w - 1, x);
                y = MIN(can->h - 1, y);
       -/ **/
                memcpy(can->b + x + (can->h - 1 - y) * can->w, col, sizeof(*can->b));
        }
        
       @@ -45,7 +43,7 @@ ffdraw_rectangle(Canvas *can, Color col,
        }
        
        /*
       - * Adapted from Bresenham's line algorithm and dcat's tplot.
       + * From Bresenham's line algorithm and dcat's tplot.
         */
        void
        ffdraw_line(Canvas *can, Color col,
       @@ -96,6 +94,18 @@ ffdraw_char(Canvas *can, Color col, char c, Font *f,
                                        ffdraw_pixel(can, col, x + xf, y + yf);
        }
        
       +/*
       + * Draw a left aligned string without wrapping it.
       + */
       +void
       +ffdraw_str(Canvas *can, Color col, char *s, Font *f,
       +        int x, int y)
       +{
       +        for (; *s; x += f->w, s++)
       +                ffdraw_char(can, col, *s, f, x, y);
       +                
       +}
       +
        void
        ffdraw_fill(Canvas *can, Color col)
        {
 (DIR) diff --git a/ffdraw.h b/ffdraw.h
       @@ -20,4 +20,5 @@ void                 ffdraw_pixel        (Canvas *, Color, int, int);
        void                 ffdraw_rectangle(Canvas *, Color, int, int, int, int);
        void                 ffdraw_line        (Canvas *, Color, int, int, int, int);
        void                 ffdraw_char        (Canvas *, Color, char, Font *, int, int);
       +void                 ffdraw_str        (Canvas *, Color, char *, Font *, int, int);
        void                 ffdraw_fill        (Canvas *, Color);
 (DIR) diff --git a/main.c b/main.c
       @@ -19,9 +19,7 @@ ffdraw(Canvas *can)
        
                ffdraw_fill(can, col1);
                ffdraw_line(can, col2, 49,1,9,79);
       -        ffdraw_char(can, col2, '0' - 1, &font_14x6, 44, 50);
       -        ffdraw_char(can, col2, '0' + 0, &font_14x6, 50, 50);
       -        ffdraw_char(can, col2, '0' + 1, &font_14x6, 56, 50);
       +        ffdraw_str(can, col2, "01234", &font_14x6, 44, 50);
        }
        
        int