default_backend: add test example for getting/updating buffer 66/220666/1
authorSung-Jin Park <sj76.park@samsung.com>
Wed, 21 Aug 2019 08:28:39 +0000 (17:28 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Fri, 20 Dec 2019 07:19:20 +0000 (16:19 +0900)
Change-Id: Ife473647c4ae8f33b18a4992b73d717180fe9bf8
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
backends/default_backend.c

index 572ab1f..36cc4a8 100644 (file)
@@ -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;
 }