1
0
mirror of https://github.com/azure-rtos/guix.git synced 2025-02-04 07:13:17 +08:00
Ting Zhu 0e6fdbf5ab
Add GUIX regression tests. (#68)
Add GUIX regression tests.
2023-11-16 15:56:54 +08:00

43 lines
1.3 KiB
C

/* This is a small demo of the high-performance GUIX graphics framework. */
#include <stdio.h>
#include "gx_api.h"
#include "folder_output_test_MAIN_DISPLAY_resources.h"
#include "folder_output_test_SECONDARY_resources.h"
#include "folder_output_test_specifications.h"
extern GX_WINDOW *pGaugeScreen;
INT angle[6] = { -114, -90, 52, -27, 52, -114 };
int angle_index = 0;
VOID set_gauge_angle(GX_CIRCULAR_GAUGE *gauge)
{
gx_circular_gauge_angle_set(gauge, angle[angle_index++]);
if (angle_index >= (int)(sizeof(angle) / sizeof(INT)))
{
angle_index = 0;
}
}
UINT gauge_event_handle(GX_WINDOW *window, GX_EVENT *event_ptr)
{
GX_CIRCULAR_GAUGE *gauge = &((MAIN_DISPLAY_GAUGE_SCREEN_CONTROL_BLOCK *)pGaugeScreen)->MAIN_DISPLAY_gauge_screen_gauge_1;
INT tics;
switch (event_ptr->gx_event_type)
{
case GX_EVENT_SHOW:
gx_window_event_process(window, event_ptr);
set_gauge_angle(gauge);
break;
case GX_SIGNAL(ID_GAUGE, GX_EVENT_ANIMATION_COMPLETE):
set_gauge_angle(gauge);
tics = gauge->gx_circular_gauge_info.gx_circular_gauge_info_animation_delay;
gx_system_timer_start((GX_WIDGET *)gauge, GX_CIRCULAR_GAUGE_TIMER, tics, tics);
break;
default:
return gx_window_event_process(window, event_ptr);
}
return 0;
}