default_backend: remove duplicate code 84/248584/1 accepted/tizen/unified/20201201.124801 submit/tizen/20201130.081206 submit/tizen/20201130.110015
authorSung-Jin Park <sj76.park@samsung.com>
Mon, 30 Nov 2020 07:36:33 +0000 (16:36 +0900)
committerSung-Jin Park <sj76.park@samsung.com>
Mon, 30 Nov 2020 07:36:33 +0000 (16:36 +0900)
Change-Id: I10b92711133660c200e01b30c303b5f25a3e8ad2
Signed-off-by: Sung-Jin Park <sj76.park@samsung.com>
20 files changed:
backends/bt/default_ani_connected.c
backends/bt/default_ani_pairing.c
backends/default/default_ani_clear_fadeout.c
backends/default/default_ani_clear_immediate.c
backends/default_backend.c
backends/default_backend.h
backends/notification/default_ani_alarm.c
backends/notification/default_ani_emergency.c
backends/notification/default_ani_error.c
backends/notification/default_ani_networkerror.c
backends/notification/default_ani_normal.c
backends/system/default_ani_easysetup.c
backends/system/default_ani_micoff.c
backends/system/default_ani_swupdatedone.c
backends/system/default_ani_system_processing.c
backends/voice/default_ani_listening.c
backends/voice/default_ani_processing.c
backends/voice/default_ani_speaking.c
backends/voice/default_ani_streaming.c
backends/voice/default_ani_timeout.c

index dbe27d130408a33bb32eb34eb4ed0e96da662050..b8893fbe43ca86a259fd566048476472e7414c7d 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_connected_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_connected_get_frame(default_ani_info *ani_info)
 {
@@ -73,12 +61,11 @@ _ani_backend_connected_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_connected_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -93,42 +80,9 @@ _ani_backend_connected_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_connected_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_connected_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index 08306c0d8040fa5c01a85e0f32527dbd7cd00c40..82e95e43ff9954809ddd2b0775c89d7b3412f878 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_pairing_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_pairing_get_frame(default_ani_info *ani_info)
 {
@@ -74,12 +62,11 @@ _ani_backend_pairing_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_pairing_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -94,42 +81,9 @@ _ani_backend_pairing_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_pairing_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_pairing_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index 39a6d7dd6cbd566aa7ed626179e7e6469be50204..9ba98195cb0fedc1fddd7ba24c8980a7416df1e3 100644 (file)
  */
 
 #include "../default_backend.h"
-static void
-_ani_backend_clear_fadeout_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
 
 static default_frame_info_t *ani_frame = NULL;
 
@@ -56,7 +45,7 @@ _ani_clear_fadeout_get_frame(default_ani_info *ani_info)
        r = g = b = r2 = g2 = b2 = 0x0;
        for (int i = 0; i < key_frame->num_led; i++)
        {
-               _ani_backend_clear_fadeout_get_led_rgb(key_frame, i, &r, &g, &b);
+               pui_default_backend_ani_get_led_rgb(key_frame, i, &r, &g, &b);
                r2 = r - (int)(r * div);
                g2 = g - (int)(g * div);
                b2 = b - (int)(b * div);
@@ -77,12 +66,11 @@ _ani_clear_fadeout_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_clear_fadeout_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -97,42 +85,9 @@ _ani_clear_fadeout_frame_cb(void *data, int serial)
        }
 
        frame = _ani_clear_fadeout_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_clear_fadeout_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
-
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_bool
index 5a2b0be33a45775ea73fd4d98a0b6fd72179615a..6ba3c9c6fcc975171f5406a68de7e787322119aa 100644 (file)
  */
 
 #include "../default_backend.h"
-static void
-_ani_backend_clear_immediate_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
 
 static default_frame_info_t *ani_frame = NULL;
 
@@ -54,12 +43,11 @@ _ani_clear_immediate_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_clear_immediate_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -74,42 +62,9 @@ _ani_clear_immediate_frame_cb(void *data, int serial)
        }
 
        frame = _ani_clear_immediate_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_clear_immediate_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index 789e0f9ca4f05f5d3925cec74d71752232322b6f..ef6b4e51d8e0263aa364baab42352674dfbd4e12 100644 (file)
@@ -705,6 +705,70 @@ backend_util_free_frame(default_frame_info_t *frame)
        free(frame);
 }
 
+void
+pui_default_backend_ani_get_led_rgb(default_frame_info_t *frame,
+                                                                                       int led_idx,
+                                                                                       unsigned int *r,
+                                                                                       unsigned int *g,
+                                                                                       unsigned int *b)
+{
+       if (!frame) return;
+       if (!r || !g || !b) return;
+       if (led_idx > frame->num_led) return;
+
+       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
+       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
+       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
+}
+
+int
+pui_default_backend_ani_update_frame(pui_ani_t *ani,
+                                                                                       pui_backend_ani_data *ani_data,
+                                                                                       pui_ani_control_buffer *buffer,
+                                                                                       default_frame_info_t *frame,
+                                                                                        int serial)
+{
+       pui_int_error e = PUI_INT_ERROR_NONE;
+       default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
+       unsigned int r = 0x0, g = 0x0, b = 0x0;
+
+       for(int i = 0; i<12; i++)
+       {
+               pui_default_backend_ani_get_led_rgb(frame, i, &r, &g, &b);
+               buffer->ptr[4*i] = 0;
+               buffer->ptr[4*i + 1] = b; /* BLUE */
+               buffer->ptr[4*i + 2] = g; /* GREEN */
+               buffer->ptr[4*i + 3] = r; /* RED */
+       }
+       backend_util_cleanup_frame(frame);
+
+       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 0;
+       }
+
+       e = pui_backend_ani_update(ani);
+
+       if (e != PUI_INT_ERROR_NONE)
+       {
+               pui_err("Failed on updating animation !(e=%d)\n", e);
+               return 0;
+       }
+
+       pui_info("... update (serial=%d), (repeat| cur: %d, want: %d)\n",
+               serial, ani_info->repeat_cur, ani_info->repeat);
+
+       if (ani_info->repeat >= 0 &&
+               ani_info->repeat_cur >= ani_info->repeat)
+       {
+               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
+       }
+
+       return 1;
+}
 
 static pui_backend_module_data *
 pui_default_backend_init(void)
index 3755b3d641c319b8fc2fc762472cd06f10826971..446875c43dcb39cb6a37a2232884e3b21b92d54d 100644 (file)
@@ -125,3 +125,6 @@ void pui_default_backend_ani_connected_func_set(pui_backend_ani_func *func);
 void pui_default_backend_ani_pairing_func_set(pui_backend_ani_func *func);
 void pui_default_backend_ani_clear_fadeout_func_set(pui_backend_ani_func *func);
 void pui_default_backend_ani_clear_immediate_func_set(pui_backend_ani_func *func);
+
+void pui_default_backend_ani_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b);
+int pui_default_backend_ani_update_frame(pui_ani_t *ani, pui_backend_ani_data *ani_data, pui_ani_control_buffer *buffer, default_frame_info_t *frame, int serial);
\ No newline at end of file
index c915d75dc2f09acbc561fea93ee883af8fb6ce6c..880700c29f0050029b3c2c388d8b7489f549d8d2 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_alarm_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_alarm_get_frame(default_ani_info *ani_info)
 {
@@ -73,8 +61,8 @@ _ani_backend_alarm_get_frame(default_ani_info *ani_info)
                r = g = b = r2 = g2 = b2 = 0x0;
                for (int i = 0; i < key_frame->num_led; i++)
                {
-                       _ani_backend_alarm_get_led_rgb(key_frame, i, &r, &g, &b);
-                       _ani_backend_alarm_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
+                       pui_default_backend_ani_get_led_rgb(key_frame, i, &r, &g, &b);
+                       pui_default_backend_ani_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
                        r3 = (int)(r2 - r) * div + r;
                        g3 = (int)(g2 - g) * div + g;
                        b3 = (int)(b2 - b) * div + b;
@@ -98,12 +86,11 @@ _ani_backend_alarm_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_alarm_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -118,42 +105,9 @@ _ani_backend_alarm_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_alarm_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_alarm_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index 889d465e79959ed051ac96c01c6fc8ffef746ed1..a1d605696b27bec9bef9116e8a8bd62a70127f16 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_emergency_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_emergency_get_frame(default_ani_info *ani_info)
 {
@@ -63,8 +51,8 @@ _ani_backend_emergency_get_frame(default_ani_info *ani_info)
        r = g = b = r2 = g2 = b2 = 0x0;
        for (int i = 0; i < key_frame->num_led; i++)
        {
-               _ani_backend_emergency_get_led_rgb(key_frame, i, &r, &g, &b);
-               _ani_backend_emergency_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
+               pui_default_backend_ani_get_led_rgb(key_frame, i, &r, &g, &b);
+               pui_default_backend_ani_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
                r3 = (int)(r2 - r) * div + r;
                g3 = (int)(g2 - g) * div + g;
                b3 = (int)(b2 - b) * div + b;
@@ -88,12 +76,11 @@ _ani_backend_emergency_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_emergency_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -108,42 +95,9 @@ _ani_backend_emergency_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_emergency_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_emergency_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index 2520af8b123d8d48b337c24da12e9bd4c74a0b40..5b491183271cf6ce3a3138423c2070e2a65d631a 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_error_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_error_get_frame(default_ani_info *ani_info)
 {
@@ -78,12 +66,11 @@ _ani_backend_error_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_error_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -98,42 +85,9 @@ _ani_backend_error_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_error_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_error_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index 7824398f20987c3a5a481189985c54ae76ea586f..96f6cc80119e16d4248b3861e9279003601fe862 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_networkerror_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_networkerror_get_frame(default_ani_info *ani_info)
 {
@@ -74,12 +62,11 @@ _ani_backend_networkerror_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_networkerror_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -94,42 +81,9 @@ _ani_backend_networkerror_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_networkerror_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_networkerror_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index b0a72fa18c37f067ae43860eacdefd6f82a7a652..82eee8c4c818439d0874aa68038beb481e6ec47a 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_normal_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_normal_get_frame(default_ani_info *ani_info)
 {
@@ -63,8 +51,8 @@ _ani_backend_normal_get_frame(default_ani_info *ani_info)
        r = g = b = r2 = g2 = b2 = 0x0;
        for (int i = 0; i < key_frame->num_led; i++)
        {
-               _ani_backend_normal_get_led_rgb(key_frame, i, &r, &g, &b);
-               _ani_backend_normal_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
+               pui_default_backend_ani_get_led_rgb(key_frame, i, &r, &g, &b);
+               pui_default_backend_ani_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
                r3 = (int)(r2 - r) * div + r;
                g3 = (int)(g2 - g) * div + g;
                b3 = (int)(b2 - b) * div + b;
@@ -87,12 +75,11 @@ _ani_backend_normal_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_normal_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -107,42 +94,9 @@ _ani_backend_normal_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_normal_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_normal_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index cad2d53d01a8bcf1bb5dee63c241d58c297879d2..117198a7fb9f94fd14d06c4dd92404ddbca51e53 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_easysetup_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_easysetup_get_frame(default_ani_info *ani_info)
 {
@@ -63,8 +51,8 @@ _ani_backend_easysetup_get_frame(default_ani_info *ani_info)
        r = g = b = r2 = g2 = b2 = 0x0;
        for (int i = 0; i < key_frame->num_led; i++)
        {
-               _ani_backend_easysetup_get_led_rgb(key_frame, i, &r, &g, &b);
-               _ani_backend_easysetup_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
+               pui_default_backend_ani_get_led_rgb(key_frame, i, &r, &g, &b);
+               pui_default_backend_ani_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
                r3 = (int)(r2 - r) * div + r;
                g3 = (int)(g2 - g) * div + g;
                b3 = (int)(b2 - b) * div + b;
@@ -86,12 +74,11 @@ _ani_backend_easysetup_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_easysetup_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -106,42 +93,9 @@ _ani_backend_easysetup_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_easysetup_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_easysetup_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index 4c991c2d9047f020839af47e6b091c9d8a6e1e0f..e2934bee24ff28d34c954fcf4431d291e62fa099 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_micoff_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_micoff_get_frame(default_ani_info *ani_info)
 {
@@ -61,12 +49,11 @@ _ani_backend_micoff_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_micoff_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -81,42 +68,9 @@ _ani_backend_micoff_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_micoff_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_micoff_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index 17a024d9cd969134296a3f705d30cc64e8962966..68a2320c4cb5472fefce141cf496df865e4324ce 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_swupdatedone_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_swupdatedone_get_frame(default_ani_info *ani_info)
 {
@@ -64,8 +52,8 @@ _ani_backend_swupdatedone_get_frame(default_ani_info *ani_info)
 
        for (int i = 0; i < key_frame->num_led; i++)
        {
-               _ani_backend_swupdatedone_get_led_rgb(key_frame, i, &r, &g, &b);
-               _ani_backend_swupdatedone_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
+               pui_default_backend_ani_get_led_rgb(key_frame, i, &r, &g, &b);
+               pui_default_backend_ani_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
                r3 = (int)(r2 - r) * div + r;
                g3 = (int)(g2 - g) * div + g;
                b3 = (int)(b2 - b) * div + b;
@@ -88,12 +76,11 @@ _ani_backend_swupdatedone_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_swupdatedone_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -108,42 +95,9 @@ _ani_backend_swupdatedone_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_swupdatedone_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_swupdatedone_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index 713a90aff3e71b03099bb09d14d22123585b7abb..704c01c63c0c0f6869535ab95f11495233c6ee5d 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_system_processing_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_system_processing_get_frame(default_ani_info *ani_info)
 {
@@ -65,12 +53,11 @@ _ani_backend_system_processing_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_system_processing_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -85,42 +72,9 @@ _ani_backend_system_processing_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_system_processing_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_system_processing_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index cc86e1a08787fd44909611ba0663df5f3b6ce366..52582427343b4ce1e9d2e4d12bb41bc84412992f 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_listening_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_listening_get_frame(default_ani_info *ani_info)
 {
@@ -94,12 +82,11 @@ _ani_backend_listening_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_listening_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -114,42 +101,9 @@ _ani_backend_listening_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_listening_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_listening_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index c0b3a066c86e4821d95fc191ed984b01a2a4986a..bd05672d37eb4b08044ff6f89e7a57cf95ea0353 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_processing_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_processing_get_frame(default_ani_info *ani_info)
 {
@@ -65,12 +53,11 @@ _ani_backend_processing_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_processing_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -85,42 +72,9 @@ _ani_backend_processing_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_processing_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_processing_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index 43a2a113e4a4f39d2d964eff607e14795a435704..51e160df3d2768d9eb5d7d22bef06441547227ff 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_speaking_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_speaking_get_frame(default_ani_info *ani_info)
 {
@@ -63,8 +51,8 @@ _ani_backend_speaking_get_frame(default_ani_info *ani_info)
        r = g = b = r2 = g2 = b2 = 0x0;
        for (int i = 0; i < key_frame->num_led; i++)
        {
-               _ani_backend_speaking_get_led_rgb(key_frame, i, &r, &g, &b);
-               _ani_backend_speaking_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
+               pui_default_backend_ani_get_led_rgb(key_frame, i, &r, &g, &b);
+               pui_default_backend_ani_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
                r3 = (int)(r2 - r) * div + r;
                g3 = (int)(g2 - g) * div + g;
                b3 = (int)(b2 - b) * div + b;
@@ -87,12 +75,11 @@ _ani_backend_speaking_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_speaking_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -107,42 +94,9 @@ _ani_backend_speaking_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_speaking_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_speaking_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index 39da2a41c42ea965b05fdd156bfb8795c3f45c01..d603fe86d75b2e3378790389ac244f12a60f7c74 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_streaming_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_streaming_get_frame(default_ani_info *ani_info)
 {
@@ -63,8 +51,8 @@ _ani_backend_streaming_get_frame(default_ani_info *ani_info)
        r = g = b = r2 = g2 = b2 = 0x0;
        for (int i = 0; i < key_frame->num_led; i++)
        {
-               _ani_backend_streaming_get_led_rgb(key_frame, i, &r, &g, &b);
-               _ani_backend_streaming_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
+               pui_default_backend_ani_get_led_rgb(key_frame, i, &r, &g, &b);
+               pui_default_backend_ani_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
                r3 = (int)(r2 - r) * div + r;
                g3 = (int)(g2 - g) * div + g;
                b3 = (int)(b2 - b) * div + b;
@@ -86,12 +74,11 @@ _ani_backend_streaming_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_streaming_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -106,42 +93,9 @@ _ani_backend_streaming_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_streaming_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_streaming_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error
index 4862ac5f6d313e0a76535ef752170dba6e34a57b..33ba1fd8b89a28830415dc34e00592fc82ba3fed 100644 (file)
 
 static default_frame_info_t *ani_frame = NULL;
 
-static void
-_ani_backend_timeout_get_led_rgb(default_frame_info_t *frame, int led_idx, unsigned int *r, unsigned int *g, unsigned int *b)
-{
-       if (!frame) return;
-       if (!r || !g || !b) return;
-       if (led_idx > frame->num_led) return;
-
-       *r = (frame->leds[led_idx].color & LED_MASK_RED) >> 16;
-       *g = (frame->leds[led_idx].color & LED_MASK_GREEN) >> 8;
-       *b = (frame->leds[led_idx].color & LED_MASK_BLUE);
-}
-
 static default_frame_info_t *
 _ani_backend_timeout_get_frame(default_ani_info *ani_info)
 {
@@ -63,8 +51,8 @@ _ani_backend_timeout_get_frame(default_ani_info *ani_info)
        r = g = b = r2 = g2 = b2 = 0x0;
        for (int i = 0; i < key_frame->num_led; i++)
        {
-               _ani_backend_timeout_get_led_rgb(key_frame, i, &r, &g, &b);
-               _ani_backend_timeout_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
+               pui_default_backend_ani_get_led_rgb(key_frame, i, &r, &g, &b);
+               pui_default_backend_ani_get_led_rgb(key_frame2, i, &r2, &g2, &b2);
                r3 = (int)(r2 - r) * div + r;
                g3 = (int)(g2 - g) * div + g;
                b3 = (int)(b2 - b) * div + b;
@@ -86,12 +74,11 @@ _ani_backend_timeout_get_frame(default_ani_info *ani_info)
 static pui_bool
 _ani_backend_timeout_frame_cb(void *data, int serial)
 {
-       pui_int_error e = PUI_INT_ERROR_NONE;
+       int ret = 0;
        pui_ani_t *ani = (pui_ani_t *)data;
        pui_backend_ani_data *ani_data = NULL;
        pui_ani_control_buffer *buffer = NULL;
        default_frame_info_t *frame;
-       unsigned int r = 0x0, g = 0x0, b = 0x0;
 
        ani_data = pui_backend_ani_get_ani_data(ani);
        default_ani_info *ani_info = (default_ani_info *)ani_data->ani_info;
@@ -106,42 +93,9 @@ _ani_backend_timeout_frame_cb(void *data, int serial)
        }
 
        frame = _ani_backend_timeout_get_frame(ani_info);
-       for(int i = 0; i<12; i++)
-       {
-               _ani_backend_timeout_get_led_rgb(frame, i, &r, &g, &b);
-               buffer->ptr[4*i] = 0;
-               buffer->ptr[4*i + 1] = b; /* BLUE */
-               buffer->ptr[4*i + 2] = g; /* GREEN */
-               buffer->ptr[4*i + 3] = r; /* RED */
-       }
-       backend_util_cleanup_frame(frame);
-
-       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), (repeat| cur: %d, want: %d)\n",
-               serial, ani_info->repeat_cur, ani_info->repeat);
-
-       if (ani_info->repeat >= 0 &&
-               ani_info->repeat_cur >= ani_info->repeat)
-       {
-               ani_data->ani_func->ani_stop(ani, EINA_FALSE);
-       }
+       ret = pui_default_backend_ani_update_frame(ani, ani_data, buffer, frame, serial);
 
-       return (pui_bool)1;
+       return (pui_bool)ret;
 }
 
 pui_error