summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plot/32bpp-xrgb8888.c6
-rw-r--r--src/plot/generic.c16
-rw-r--r--src/surface/surface.c11
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