Index: lib/gfx/gfx.c |
diff --git a/lib/gfx/gfx.c b/lib/gfx/gfx.c |
index 757c1d119d8b41222e8efd8376fef9c226817dee..75f6d088abe11f7226f1341383edb48a7c08969b 100644 |
--- a/lib/gfx/gfx.c |
+++ b/lib/gfx/gfx.c |
@@ -657,27 +657,28 @@ gfx_surface *gfx_create_surface(void *ptr, uint width, uint height, uint stride, |
/** |
* @brief Create a new graphics surface object from a display |
*/ |
-gfx_surface *gfx_create_surface_from_display(struct display_info *info) |
+gfx_surface *gfx_create_surface_from_display(struct display_framebuffer *fb) |
{ |
+ DEBUG_ASSERT(fb); |
gfx_surface *surface; |
gfx_format format; |
- switch (info->format) { |
- case DISPLAY_FORMAT_RGB_565: |
+ switch (fb->image.format) { |
+ case IMAGE_FORMAT_RGB_565: |
format = GFX_FORMAT_RGB_565; |
break; |
- case DISPLAY_FORMAT_RGB_332: |
+ case IMAGE_FORMAT_RGB_332: |
format = GFX_FORMAT_RGB_332; |
break; |
- case DISPLAY_FORMAT_RGB_2220: |
+ case IMAGE_FORMAT_RGB_2220: |
format = GFX_FORMAT_RGB_2220; |
break; |
- case DISPLAY_FORMAT_ARGB_8888: |
+ case IMAGE_FORMAT_ARGB_8888: |
format = GFX_FORMAT_ARGB_8888; |
break; |
- case DISPLAY_FORMAT_RGB_x888: |
+ case IMAGE_FORMAT_RGB_x888: |
format = GFX_FORMAT_RGB_x888; |
break; |
- case DISPLAY_FORMAT_MONO_8: |
+ case IMAGE_FORMAT_MONO_8: |
format = GFX_FORMAT_MONO; |
break; |
default: |
@@ -686,9 +687,9 @@ gfx_surface *gfx_create_surface_from_display(struct display_info *info) |
return NULL; |
} |
- surface = gfx_create_surface(info->framebuffer, info->width, info->height, info->stride, format); |
+ surface = gfx_create_surface(fb->image.pixels, fb->image.width, fb->image.height, fb->image.stride, format); |
- surface->flush = info->flush; |
+ surface->flush = fb->flush; |
return surface; |
} |
@@ -711,11 +712,11 @@ void gfx_surface_destroy(struct gfx_surface *surface) |
*/ |
void gfx_draw_pattern(void) |
{ |
- struct display_info info; |
- if (display_get_info(&info) < 0) |
+ struct display_framebuffer fb; |
+ if (display_get_framebuffer(&fb) < 0) |
return; |
- gfx_surface *surface = gfx_create_surface_from_display(&info); |
+ gfx_surface *surface = gfx_create_surface_from_display(&fb); |
uint x, y; |
for (y = 0; y < surface->height; y++) { |
@@ -740,11 +741,11 @@ void gfx_draw_pattern(void) |
*/ |
void gfx_draw_pattern_white(void) |
{ |
- struct display_info info; |
- if (display_get_info(&info) < 0) |
+ struct display_framebuffer fb; |
+ if (display_get_framebuffer(&fb) < 0) |
return; |
- gfx_surface *surface = gfx_create_surface_from_display(&info); |
+ gfx_surface *surface = gfx_create_surface_from_display(&fb); |
uint x, y; |
for (y = 0; y < surface->height; y++) { |
@@ -809,19 +810,19 @@ static int cmd_gfx(int argc, const cmd_args *argv) |
return -1; |
} |
- struct display_info info; |
- if (display_get_info(&info) < 0) { |
+ struct display_framebuffer fb; |
+ if (display_get_framebuffer(&fb) < 0) { |
printf("no display to draw on!\n"); |
return -1; |
} |
- gfx_surface *surface = gfx_create_surface_from_display(&info); |
+ gfx_surface *surface = gfx_create_surface_from_display(&fb); |
if (!strcmp(argv[1].str, "display_info")) { |
printf("display:\n"); |
- printf("\tframebuffer %p\n", info.framebuffer); |
- printf("\twidth %u height %u stride %u\n", info.width, info.height, info.stride); |
- printf("\tformat %u\n", info.format); |
+ printf("\tframebuffer %p\n", fb.image.pixels); |
+ printf("\twidth %u height %u stride %u\n", fb.image.width, fb.image.height, fb.image.stride); |
+ printf("\tformat %u\n", fb.image.format); |
} else if (!strcmp(argv[1].str, "rgb_bars")) { |
gfx_draw_rgb_bars(surface); |
} else if (!strcmp(argv[1].str, "test_pattern")) { |