From f163c706fe91a063b51e3133a96115a4e9380e06 Mon Sep 17 00:00:00 2001 From: Sung-Jin Park Date: Wed, 21 Aug 2019 17:28:39 +0900 Subject: [PATCH] default_backend: add test example for getting/updating buffer Change-Id: Ife473647c4ae8f33b18a4992b73d717180fe9bf8 Signed-off-by: Sung-Jin Park --- backends/default_backend.c | 42 +++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/backends/default_backend.c b/backends/default_backend.c index 572ab1f..36cc4a8 100644 --- a/backends/default_backend.c +++ b/backends/default_backend.c @@ -92,16 +92,48 @@ pui_backend_ani_data *g_ani_data = NULL; static pui_bool _ani_backend_frame_cb(void *data, int serial) { + pui_int_error e = PUI_INT_ERROR_NONE; pui_ani_t *ani = (pui_ani_t *)data; + pui_backend_ani_data *ani_data = NULL; + pui_ani_control_buffer *buffer = NULL; - //TODO - (void) ani; - //_get_next_frame(); - //pui_backend_ani_get_buffer(); - //pui_backend_ani_update(); + ani_data = pui_backend_ani_get_ani_data(ani); + default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info; pui_info("... serial=%d\n", serial); + /* TODO : make use of ani_info */ + (void) ani_info; + + buffer = pui_backend_ani_get_buffer(ani); + + /* test example */ + for(int i = 0; i<12; i++) + { + buffer->ptr[4*i] = 0; + buffer->ptr[4*i + 1] = (((serial%3) == 0) ? 0xFF:0); /* BLUE */ + buffer->ptr[4*i + 2] = (((serial%3) == 1) ? 0xFF:0); /* GREEN */ + buffer->ptr[4*i + 3] = (((serial%3) == 2) ? 0xFF:0); /* RED */ + } + + e = pui_backend_ani_set_buffer(ani, buffer); + + if (e != PUI_INT_ERROR_NONE) + { + pui_err("Failed on setting buffer on animation !(e=%d)\n", e); + return (pui_bool)0; + } + + e = pui_backend_ani_update(ani); + + if (e != PUI_INT_ERROR_NONE) + { + pui_err("Failed on updating animation !(e=%d)\n", e); + return (pui_bool)0; + } + + pui_info("... update (serial=%d)\n", serial); + return (pui_bool)1; } -- 2.34.1