From 820186c473445c7597c4d90f4da89bda852696ab Mon Sep 17 00:00:00 2001 From: Ali Gholami Rudi Date: Sat, 16 Apr 2011 20:41:54 +0430 Subject: [PATCH] pad: let FB_VAL() be a placeholder for optimized versions of fb_val() This could be used to speed up fb_val() calls; doesn't matter much for fbpad since glyphs are cached but for other framebuffer tools that use draw.c this can be a real improvement. See fb_val() function to see how FB_VAL() should be implemented. For instance, for a 32-bit rgb framebuffer we can write: #define FB_VAL(r, g, b) (((r) << 16) | ((g) << 8) | (b)) --- config.h | 3 +++ pad.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/config.h b/config.h index ffd0337..ede247e 100644 --- a/config.h +++ b/config.h @@ -38,3 +38,6 @@ /* framebuffer depth */ typedef unsigned int fbval_t; + +/* optimized version of fb_val() */ +#define FB_VAL(r, g, b) fb_val((r), (g), (b)) diff --git a/pad.c b/pad.c index cb8f130..15fd1cb 100644 --- a/pad.c +++ b/pad.c @@ -45,12 +45,12 @@ static unsigned mixed_color(int fg, int bg, unsigned char val) unsigned char r = COLORMERGE(CR(fore), CR(back), val); unsigned char g = COLORMERGE(CG(fore), CG(back), val); unsigned char b = COLORMERGE(CB(fore), CB(back), val); - return fb_val(r, g, b); + return FB_VAL(r, g, b); } static unsigned color2fb(int c) { - return fb_val(CR(cd[c]), CG(cd[c]), CB(cd[c])); + return FB_VAL(CR(cd[c]), CG(cd[c]), CB(cd[c])); } #define NCACHE (1 << 11) -- 2.11.4.GIT