diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/plot/32bpp-xrgb8888.c | 6 | ||||
-rw-r--r-- | src/plot/generic.c | 16 | ||||
-rw-r--r-- | src/surface/surface.c | 11 |
3 files changed, 21 insertions, 12 deletions
diff --git a/src/plot/32bpp-xrgb8888.c b/src/plot/32bpp-xrgb8888.c index 6f77f44..28e6673 100644 --- a/src/plot/32bpp-xrgb8888.c +++ b/src/plot/32bpp-xrgb8888.c @@ -66,9 +66,7 @@ static inline uint32_t colour_to_pixel(UNUSED nsfb_t *nsfb, nsfb_colour_t c) */ static inline nsfb_colour_t pixel_to_colour(UNUSED nsfb_t *nsfb, uint32_t pixel) { - return ((pixel & 0xFF) << 16) | - ((pixel & 0xFF00)) | - ((pixel & 0xFF0000) >> 16); + return (((pixel >> 16) | (pixel << 16)) & 0xff00ff) | (pixel & 0xff00); } @@ -81,7 +79,7 @@ static inline nsfb_colour_t pixel_to_colour(UNUSED nsfb_t *nsfb, uint32_t pixel) */ static inline uint32_t colour_to_pixel(UNUSED nsfb_t *nsfb, nsfb_colour_t c) { - return ((c & 0xff0000) >> 16) | (c & 0xff00) | ((c & 0xff) << 16); + return (((c >> 16) | (c << 16)) & 0xff00ff) | (c & 0xff00); } #endif diff --git a/src/plot/generic.c b/src/plot/generic.c index ea0bb04..e343390 100644 --- a/src/plot/generic.c +++ b/src/plot/generic.c @@ -267,7 +267,7 @@ static bool polygon(nsfb_t *nsfb, const int *p, unsigned int n, nsfb_colour_t c) int poly_x0, poly_y0; /* Bounding box top left corner */ int poly_x1, poly_y1; /* Bounding box bottom right corner */ int i, j; /* indexes */ - int x0, x1; /* filled span extents */ + int x0 = 0, x1 = 0; /* filled span extents */ int y; /* current y coordinate */ int y_max; /* bottom of plot area */ nsfb_bbox_t fline; @@ -615,13 +615,13 @@ copy(nsfb_t *nsfb, nsfb_bbox_t *srcbox, nsfb_bbox_t *dstbox) static bool arc(nsfb_t *nsfb, int x, int y, int radius, int angle1, int angle2, nsfb_colour_t c) { - nsfb=nsfb; - x = x; - y = y; - radius = radius; - c = c; - angle1=angle1; - angle2=angle2; + (void)nsfb; + (void)x; + (void)y; + (void)radius; + (void)c; + (void)angle1; + (void)angle2; return true; } diff --git a/src/surface/surface.c b/src/surface/surface.c index f3127bd..426efa9 100644 --- a/src/surface/surface.c +++ b/src/surface/surface.c @@ -151,6 +151,17 @@ nsfb_type_from_name(const char *name) return NSFB_SURFACE_NONE; } +/* exported interface defined in libnsfb.h */ +void +nsfb_enumerate_surface_types(surface_enumeration_cb cb, void *context) +{ + int fend_loop; + + for (fend_loop = 0; fend_loop < surface_count; fend_loop++) { + cb(context, surfaces[fend_loop].name, surfaces[fend_loop].type); + } +} + /* * Local variables: * c-basic-offset: 4 |