Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8dd04e1 authored by Elliott Hughes's avatar Elliott Hughes Committed by Android Git Automerger
Browse files

am ff934d02: Merge "Fix Droid and animation color in recovery mode"

* commit 'ff934d02':
  Fix Droid and animation color in recovery mode
parents adf71bf7 ff934d02
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -16,6 +16,9 @@ LOCAL_MODULE := libminui
# ordinary characters in this context).  Strip double-quotes from the
# value so that either will work.

ifeq ($(subst ",,$(TARGET_RECOVERY_PIXEL_FORMAT)),ABGR_8888)
  LOCAL_CFLAGS += -DRECOVERY_ABGR
endif
ifeq ($(subst ",,$(TARGET_RECOVERY_PIXEL_FORMAT)),RGBX_8888)
  LOCAL_CFLAGS += -DRECOVERY_RGBX
endif
+7 −0
Original line number Diff line number Diff line
@@ -161,10 +161,17 @@ void gr_texticon(int x, int y, GRSurface* icon) {

void gr_color(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
{
#if defined(RECOVERY_ABGR) || defined(RECOVERY_BGRA)
    gr_current_r = b;
    gr_current_g = g;
    gr_current_b = r;
    gr_current_a = a;
#else
    gr_current_r = r;
    gr_current_g = g;
    gr_current_b = b;
    gr_current_a = a;
#endif
}

void gr_clear()
+3 −1
Original line number Diff line number Diff line
@@ -142,7 +142,9 @@ static gr_surface adf_init(minui_backend *backend)
    ssize_t n_dev_ids, i;
    gr_surface ret;

#if defined(RECOVERY_BGRA)
#if defined(RECOVERY_ABGR)
    pdata->format = DRM_FORMAT_ABGR8888;
#elif defined(RECOVERY_BGRA)
    pdata->format = DRM_FORMAT_BGRA8888;
#elif defined(RECOVERY_RGBX)
    pdata->format = DRM_FORMAT_RGBX8888;
+0 −13
Original line number Diff line number Diff line
@@ -199,21 +199,8 @@ static gr_surface fbdev_flip(minui_backend* backend __unused) {
        set_displayed_framebuffer(1-displayed_buffer);
    } else {
        // Copy from the in-memory surface to the framebuffer.

#if defined(RECOVERY_BGRA)
        unsigned int idx;
        unsigned char* ucfb_vaddr = (unsigned char*)gr_framebuffer[0].data;
        unsigned char* ucbuffer_vaddr = (unsigned char*)gr_draw->data;
        for (idx = 0 ; idx < (gr_draw->height * gr_draw->row_bytes); idx += 4) {
            ucfb_vaddr[idx    ] = ucbuffer_vaddr[idx + 2];
            ucfb_vaddr[idx + 1] = ucbuffer_vaddr[idx + 1];
            ucfb_vaddr[idx + 2] = ucbuffer_vaddr[idx    ];
            ucfb_vaddr[idx + 3] = ucbuffer_vaddr[idx + 3];
        }
#else
        memcpy(gr_framebuffer[0].data, gr_draw->data,
               gr_draw->height * gr_draw->row_bytes);
#endif
    }
    return gr_draw;
}
+12 −0
Original line number Diff line number Diff line
@@ -216,6 +216,10 @@ int res_create_display_surface(const char* name, gr_surface* pSurface) {
        goto exit;
    }

#if defined(RECOVERY_ABGR) || defined(RECOVERY_BGRA)
    png_set_bgr(png_ptr);
#endif

    unsigned char* p_row = malloc(width * 4);
    unsigned int y;
    for (y = 0; y < height; ++y) {
@@ -279,6 +283,10 @@ int res_create_multi_display_surface(const char* name, int* frames, gr_surface**
        }
    }

#if defined(RECOVERY_ABGR) || defined(RECOVERY_BGRA)
    png_set_bgr(png_ptr);
#endif

    unsigned char* p_row = malloc(width * 4);
    unsigned int y;
    for (y = 0; y < height; ++y) {
@@ -334,6 +342,10 @@ int res_create_alpha_surface(const char* name, gr_surface* pSurface) {
    surface->row_bytes = width;
    surface->pixel_bytes = 1;

#if defined(RECOVERY_ABGR) || defined(RECOVERY_BGRA)
    png_set_bgr(png_ptr);
#endif

    unsigned char* p_row;
    unsigned int y;
    for (y = 0; y < height; ++y) {