Mercurial > hg > dmlib
view src/dmlinefunc.h @ 2026:b137d324e13f
Force 8 bitplanes for IFF PBM images.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 26 Oct 2018 09:56:25 +0300 |
parents | f654435df15e |
children |
line wrap: on
line source
#define DM_DRAWLINE_NAME dmDrawLine8 #define DM_DRAWLINE_DST_BYTES 1 #define DM_DRAWLINE_DST_TYPE Uint8 #define DM_DRAWLINE_INNER pix[y0 + x0] = col; #include "dmdrawline.h" #define DM_DRAWLINE_NAME dmDrawLine32 #define DM_DRAWLINE_DST_BYTES 4 #define DM_DRAWLINE_DST_TYPE Uint32 #define DM_DRAWLINE_INNER pix[y0 + x0] = col; #include "dmdrawline.h" #define DM_DRAWLINE_NAME dmDrawLine8Transparent #define DM_DRAWLINE_DST_BYTES 1 #define DM_DRAWLINE_DST_TYPE Uint8 #define DM_DRAWLINE_INNER \ pix[y0 + x0] = ((int)pix[y0 + x0] + col) >> 1; #include "dmdrawline.h" #define DM_DRAWLINE_NAME dmDrawLine32Transparent #define DM_DRAWLINE_DST_BYTES 4 #define DM_DRAWLINE_DST_TYPE DMColor #define DM_DRAWLINE_INIT const DMColor *c = (DMColor*) &col; #define DM_DRAWLINE_INNER \ const DMColor q = pix[y0 + x0]; \ const int qr = (q.r + c->r) >> 1, qg = (q.g + c->g) >> 1, qb = (q.b + c->b) >> 1; \ pix[y0 + x0].r = qr; \ pix[y0 + x0].g = qg; \ pix[y0 + x0].b = qb; #include "dmdrawline.h" #define DM_DRAWLINE_NAME dmDrawLine8Saturate #define DM_DRAWLINE_DST_BYTES 1 #define DM_DRAWLINE_DST_TYPE Uint8 #define DM_DRAWLINE_INNER \ const int q = pix[y0 + x0] + col; \ pix[y0 + x0] = q < 255 ? q : 255; #include "dmdrawline.h" #define DM_DRAWLINE_NAME dmDrawLine32Saturate #define DM_DRAWLINE_DST_BYTES 4 #define DM_DRAWLINE_DST_TYPE DMColor #define DM_DRAWLINE_INIT const DMColor *c = (DMColor*) &col; #define DM_DRAWLINE_INNER \ const DMColor q = pix[y0 + x0]; \ const int qr = q.r + c->r, qg = q.g + c->g, qb = q.b + c->b; \ pix[y0 + x0].r = qr < 255 ? qr : 255; \ pix[y0 + x0].g = qg < 255 ? qg : 255; \ pix[y0 + x0].b = qb < 255 ? qb : 255; #include "dmdrawline.h"