first commit
This commit is contained in:
67
test/test_swipe.c
Normal file
67
test/test_swipe.c
Normal file
@@ -0,0 +1,67 @@
|
||||
#include "../common/device.h"
|
||||
#include "../button/button.h"
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main(void)
|
||||
{
|
||||
device_init();
|
||||
fb_clear();
|
||||
|
||||
/* Create 2 test buttons */
|
||||
button_t btn1, btn2;
|
||||
button_init(&btn1, 200, 300, 160, 80, RGB(255, 255, 255), RGB(0, 0, 0));
|
||||
button_init(&btn2, 600, 300, 160, 80, RGB(255, 255, 255), RGB(0, 0, 0));
|
||||
|
||||
printf("=== Swipe + Button Test ===\n");
|
||||
printf("Left button = learn toggle, Right button = quit\n");
|
||||
printf("Swipe left/right to change button color.\n\n");
|
||||
|
||||
int running = 1;
|
||||
while (running)
|
||||
{
|
||||
fb_clear();
|
||||
|
||||
/* Check swipe */
|
||||
int dir = get_touch_dir();
|
||||
switch (dir)
|
||||
{
|
||||
case 3:
|
||||
printf("LEFT swipe\n");
|
||||
btn1.bg_color = RGB(255, 200, 200);
|
||||
break;
|
||||
case 4:
|
||||
printf("RIGHT swipe\n");
|
||||
btn1.bg_color = RGB(200, 200, 255);
|
||||
break;
|
||||
case 0:
|
||||
break;
|
||||
default:
|
||||
btn1.bg_color = RGB(255, 255, 255);
|
||||
}
|
||||
|
||||
/* Check touch for buttons via ts_read */
|
||||
int sx, sy, touching;
|
||||
while (ts_read(&sx, &sy, &touching) > 0)
|
||||
{
|
||||
if (touching && button_hit(&btn1, sx, sy))
|
||||
{
|
||||
printf("BTN1 pressed\n");
|
||||
button_set_learned(&btn1, !btn1.learned);
|
||||
}
|
||||
if (touching && button_hit(&btn2, sx, sy))
|
||||
{
|
||||
printf("BTN2 pressed → quit\n");
|
||||
running = 0;
|
||||
}
|
||||
}
|
||||
|
||||
btn1.bg_color = btn1.learned ? RGB(200, 255, 200) : btn1.bg_color;
|
||||
button_draw(&btn1);
|
||||
button_draw(&btn2);
|
||||
}
|
||||
|
||||
device_deinit();
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user