Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@ __pycache__/
*.pyc

# Configuration
.config
.config.old
.config*
config.h

# CI pipeline
Expand Down
5 changes: 4 additions & 1 deletion apps/animation.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,8 +56,11 @@ static twin_time_t _apps_animation_timeout(twin_time_t now, void *closure)
}

static twin_dispatch_result_t _apps_animation_dispatch(twin_widget_t *widget,
twin_event_t *event)
twin_event_t *event,
void *closure)
{
(void) closure; /* unused parameter */

twin_custom_widget_t *custom = twin_widget_get_custom(widget);
if (!custom)
return TwinDispatchContinue;
Expand Down
21 changes: 12 additions & 9 deletions apps/calc.c
Original file line number Diff line number Diff line change
Expand Up @@ -129,18 +129,20 @@ static void _apps_calc_digit(apps_calc_t *calc, int digit)
_apps_calc_update_value(calc);
}

static void _apps_calc_button_signal(twin_button_t *button,
twin_button_signal_t signal,
void *closure)
static twin_dispatch_result_t _apps_calc_button_clicked(twin_widget_t *widget,
twin_event_t *event,
void *data)
{
apps_calc_t *calc = closure;
if (event->kind != TwinEventButtonSignalUp)
return TwinDispatchContinue;

apps_calc_t *calc = data;
twin_button_t *button = (twin_button_t *) widget;
int a, b;

if (signal != TwinButtonSignalDown)
return;
int i = _apps_calc_button_to_id(calc, button);
if (i < 0)
return;
return TwinDispatchContinue;

switch (i) {
#define _(x) APPS_CALC_##x
Expand Down Expand Up @@ -191,6 +193,7 @@ static void _apps_calc_button_signal(twin_button_t *button,
_apps_calc_digit(calc, i);
break;
}
return TwinDispatchDone;
}

void apps_calc_start(twin_screen_t *screen,
Expand Down Expand Up @@ -220,8 +223,8 @@ void apps_calc_start(twin_screen_t *screen,
APPS_CALC_BUTTON_SIZE, APPS_CALC_BUTTON_STYLE);
twin_widget_set(&calc->buttons[b]->label.widget,
APPS_CALC_BUTTON_BG);
calc->buttons[b]->signal = _apps_calc_button_signal;
calc->buttons[b]->closure = calc;
twin_widget_set_callback(&calc->buttons[b]->label.widget,
_apps_calc_button_clicked, calc);
calc->buttons[b]->label.widget.shape = TwinShapeEllipse;
if (i || j)
calc->buttons[b]->label.widget.copy_geom =
Expand Down
5 changes: 4 additions & 1 deletion apps/clock.c
Original file line number Diff line number Diff line change
Expand Up @@ -204,8 +204,11 @@ static twin_time_t _apps_clock_timeout(twin_time_t now, void *closure)
}

static twin_dispatch_result_t _apps_clock_dispatch(twin_widget_t *widget,
twin_event_t *event)
twin_event_t *event,
void *closure)
{
(void) closure; /* unused parameter */

twin_custom_widget_t *custom = twin_widget_get_custom(widget);
if (!custom)
return TwinDispatchContinue;
Expand Down
27 changes: 16 additions & 11 deletions apps/image.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,11 @@ static void _apps_image_paint(twin_custom_widget_t *custom)
}

static twin_dispatch_result_t _apps_image_dispatch(twin_widget_t *widget,
twin_event_t *event)
twin_event_t *event,
void *closure)
{
(void) closure; /* unused parameter */

twin_custom_widget_t *custom = twin_widget_get_custom(widget);
if (!custom)
return TwinDispatchContinue;
Expand All @@ -70,15 +73,16 @@ static twin_dispatch_result_t _apps_image_dispatch(twin_widget_t *widget,
return TwinDispatchContinue;
}

static void _apps_image_button_signal(twin_button_t *button,
twin_button_signal_t signal,
void *closure)
static twin_dispatch_result_t _apps_image_button_clicked(twin_widget_t *widget,
twin_event_t *event,
void *data)
{
(void) button; /* unused parameter */
if (signal != TwinButtonSignalDown)
return;
(void) widget; /* unused parameter */

if (event->kind != TwinEventButtonSignalUp)
return TwinDispatchContinue;

twin_custom_widget_t *custom = closure;
twin_custom_widget_t *custom = data;
apps_image_data_t *img =
(apps_image_data_t *) twin_custom_widget_data(custom);
const int n = sizeof(tvg_files) / sizeof(tvg_files[0]);
Expand All @@ -87,10 +91,11 @@ static void _apps_image_button_signal(twin_button_t *button,
twin_pixmap_t *pix = twin_tvg_to_pixmap_scale(
tvg_files[img->image_idx], TWIN_ARGB32, APP_WIDTH, APP_HEIGHT);
if (!pix)
return;
return TwinDispatchContinue;
img->pixes[img->image_idx] = pix;
}
twin_custom_widget_queue_paint(custom);
return TwinDispatchDone;
}

static twin_custom_widget_t *_apps_image_init(twin_box_t *parent)
Expand All @@ -113,8 +118,8 @@ static twin_custom_widget_t *_apps_image_init(twin_box_t *parent)
twin_button_create(parent, "Next Image", 0xFF482722, D(10),
TwinStyleBold | TwinStyleOblique);
twin_widget_set(&button->label.widget, 0xFFFEE4CE);
button->signal = _apps_image_button_signal;
button->closure = custom;
twin_widget_set_callback(&button->label.widget, _apps_image_button_clicked,
custom);
button->label.widget.shape = TwinShapeRectangle;

return custom;
Expand Down
5 changes: 4 additions & 1 deletion apps/line.c
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,11 @@ static int _apps_line_hit(apps_line_data_t *line,
}

static twin_dispatch_result_t _apps_line_dispatch(twin_widget_t *widget,
twin_event_t *event)
twin_event_t *event,
void *closure)
{
(void) closure; /* unused parameter */

twin_custom_widget_t *custom = twin_widget_get_custom(widget);
if (!custom)
return TwinDispatchContinue;
Expand Down
25 changes: 15 additions & 10 deletions apps/spline.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,20 +113,22 @@ static void _apps_spline_paint(twin_custom_widget_t *custom)
twin_path_destroy(path);
}

static void _apps_spline_button_signal(twin_button_t *button,
twin_button_signal_t signal,
void *closure)
static twin_dispatch_result_t _apps_spline_button_clicked(twin_widget_t *widget,
twin_event_t *event,
void *data)
{
(void) button; /* unused parameter */
if (signal != TwinButtonSignalDown)
return;
(void) widget; /* unused parameter */

twin_custom_widget_t *custom = closure;
if (event->kind != TwinEventButtonSignalUp)
return TwinDispatchContinue;

twin_custom_widget_t *custom = data;
apps_spline_data_t *spline =
(apps_spline_data_t *) twin_custom_widget_data(custom);
spline->n_points = (spline->n_points == 3) ? 4 : 3;
_init_control_point(spline);
twin_custom_widget_queue_paint(custom);
return TwinDispatchDone;
}

static twin_dispatch_result_t _apps_spline_update_pos(
Expand Down Expand Up @@ -167,8 +169,11 @@ static int _apps_spline_hit(apps_spline_data_t *spline,
}

static twin_dispatch_result_t _apps_spline_dispatch(twin_widget_t *widget,
twin_event_t *event)
twin_event_t *event,
void *closure)
{
(void) closure; /* unused parameter */

twin_custom_widget_t *custom = twin_widget_get_custom(widget);
if (!custom)
return TwinDispatchContinue;
Expand Down Expand Up @@ -227,8 +232,8 @@ static twin_custom_widget_t *_apps_spline_init(twin_box_t *parent, int n_points)
twin_button_create(parent, "Switch curve", 0xffae0000, D(10),
TwinStyleBold | TwinStyleOblique);
twin_widget_set(&button->label.widget, 0xc0808080);
button->signal = _apps_spline_button_signal;
button->closure = custom;
twin_widget_set_callback(&button->label.widget, _apps_spline_button_clicked,
custom);
button->label.widget.shape = TwinShapeRectangle;

return custom;
Expand Down
Loading