x11: add functions for cleaning up schemes and color - libsl - draw back-ends for dwm, dmenu, etc
 (HTM) git clone git://git.codemadness.org/libsl
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) LICENSE
       ---
 (DIR) commit 4ed4bfabdbb056b0ebe63fce54f7f72dad800f92
 (DIR) parent 656de2a0c190e435c4d6e0948a8ed6103c4e5e9c
 (HTM) Author: Hiltjo Posthuma <hiltjo@codemadness.org>
       Date:   Sat, 27 Sep 2025 12:06:53 +0200
       
       x11: add functions for cleaning up schemes and color
       
       unused for now. The X11 functions for freeing XColor sucks.
       
       Diffstat:
         M x11/drw.c                           |      22 ++++++++++++++++++++++
         M x11/drw.h                           |       2 ++
       
       2 files changed, 24 insertions(+), 0 deletions(-)
       ---
 (DIR) diff --git a/x11/drw.c b/x11/drw.c
       @@ -132,6 +132,28 @@ drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount)
        }
        
        void
       +drw_clr_free(Drw *drw, Clr *c)
       +{
       +        if (!drw || !c)
       +                return;
       +
       +        /* c is typedef XColor Clr */
       +        /* TODO: free XColor? */
       +}
       +
       +void
       +drw_scm_free(Drw *drw, Clr *scm, size_t clrcount)
       +{
       +        size_t i;
       +
       +        if (!drw || !scm)
       +                return;
       +
       +        for (i = 0; i < clrcount; i++)
       +                drw_clr_free(drw, &scm[i]);
       +}
       +
       +void
        drw_setfontset(Drw *drw, Fnt *set)
        {
                drw->fonts = set;
 (DIR) diff --git a/x11/drw.h b/x11/drw.h
       @@ -41,7 +41,9 @@ void drw_font_getexts(Fnt *font, const char *text, unsigned int len, unsigned in
        
        /* Colorscheme abstraction */
        void drw_clr_create(Drw *drw, Clr *dest, const char *clrname);
       +void drw_clr_free(Drw *drw, Clr *c);
        Clr *drw_scm_create(Drw *drw, const char *clrnames[], size_t clrcount);
       +void drw_scm_free(Drw *drw, Clr *scm, size_t clrcount);
        
        /* Cursor abstraction */
        Cur *drw_cur_create(Drw *drw, int shape);