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)
{
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;
}
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
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)
{
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;
}
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
*/
#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;
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);
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;
}
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
*/
#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;
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;
}
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
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)
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
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)
{
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;
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;
}
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
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)
{
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;
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;
}
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
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)
{
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;
}
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
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)
{
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;
}
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
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)
{
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;
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;
}
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
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)
{
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;
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;
}
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
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)
{
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;
}
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
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)
{
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;
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;
}
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
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)
{
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;
}
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
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)
{
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;
}
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
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)
{
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;
}
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
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)
{
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;
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;
}
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
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)
{
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;
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;
}
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
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)
{
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;
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;
}
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