summaryrefslogtreecommitdiffstats
path: root/minui/graphics_fbdev.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2015-04-10 22:12:05 +0200
committerElliott Hughes <enh@google.com>2015-04-10 22:42:55 +0200
commit07cfb8fe799901948afd6af05ef4674173713bcb (patch)
treedbb3c6ea45cb910397cec50054460d46c99b454f /minui/graphics_fbdev.cpp
parentMerge "Fix ScreenRecoveryUI to handle devices without power/up/down." (diff)
downloadandroid_bootable_recovery-07cfb8fe799901948afd6af05ef4674173713bcb.tar
android_bootable_recovery-07cfb8fe799901948afd6af05ef4674173713bcb.tar.gz
android_bootable_recovery-07cfb8fe799901948afd6af05ef4674173713bcb.tar.bz2
android_bootable_recovery-07cfb8fe799901948afd6af05ef4674173713bcb.tar.lz
android_bootable_recovery-07cfb8fe799901948afd6af05ef4674173713bcb.tar.xz
android_bootable_recovery-07cfb8fe799901948afd6af05ef4674173713bcb.tar.zst
android_bootable_recovery-07cfb8fe799901948afd6af05ef4674173713bcb.zip
Diffstat (limited to '')
-rw-r--r--minui/graphics_fbdev.cpp (renamed from minui/graphics_fbdev.c)16
1 files changed, 6 insertions, 10 deletions
diff --git a/minui/graphics_fbdev.c b/minui/graphics_fbdev.cpp
index 4a5b5b513..9dbdde810 100644
--- a/minui/graphics_fbdev.c
+++ b/minui/graphics_fbdev.cpp
@@ -43,7 +43,7 @@ static bool double_buffered;
static GRSurface* gr_draw = NULL;
static int displayed_buffer;
-static struct fb_var_screeninfo vi;
+static fb_var_screeninfo vi;
static int fb_fd = -1;
static minui_backend my_backend = {
@@ -80,17 +80,13 @@ static void set_displayed_framebuffer(unsigned n)
}
static gr_surface fbdev_init(minui_backend* backend) {
- int fd;
- void *bits;
-
- struct fb_fix_screeninfo fi;
-
- fd = open("/dev/graphics/fb0", O_RDWR);
- if (fd < 0) {
+ int fd = open("/dev/graphics/fb0", O_RDWR);
+ if (fd == -1) {
perror("cannot open fb0");
return NULL;
}
+ fb_fix_screeninfo fi;
if (ioctl(fd, FBIOGET_FSCREENINFO, &fi) < 0) {
perror("failed to get fb0 info");
close(fd);
@@ -124,7 +120,7 @@ static gr_surface fbdev_init(minui_backend* backend) {
vi.green.offset, vi.green.length,
vi.blue.offset, vi.blue.length);
- bits = mmap(0, fi.smem_len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+ void* bits = mmap(0, fi.smem_len, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
if (bits == MAP_FAILED) {
perror("failed to mmap framebuffer");
close(fd);
@@ -137,7 +133,7 @@ static gr_surface fbdev_init(minui_backend* backend) {
gr_framebuffer[0].height = vi.yres;
gr_framebuffer[0].row_bytes = fi.line_length;
gr_framebuffer[0].pixel_bytes = vi.bits_per_pixel / 8;
- gr_framebuffer[0].data = bits;
+ gr_framebuffer[0].data = reinterpret_cast<uint8_t*>(bits);
memset(gr_framebuffer[0].data, 0, gr_framebuffer[0].height * gr_framebuffer[0].row_bytes);
/* check if we can use double buffering */