gui.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. #ifndef _DISPLAY_H
  2. #define _DISPLAY_H
  3. #define BOX_TIMES 20 //20*100=2s
  4. enum {
  5. GUI_BOX_NULL, //主界面
  6. GUI_BOX_NUMBOX, //数显框
  7. GUI_BOX_VOLBOX, //音量框
  8. GUI_BOX_CHANBOX, //电台框
  9. GUI_BOX_EQ, //EQ框
  10. GUI_BOX_MODEPLAY, //PLAYMODE显示框
  11. GUI_BOX_INPUTNUM, //输入数字框
  12. GUI_BOX_PLAYDEV, //播放设备
  13. GUI_BOX_FREQ, //频率显示
  14. };
  15. typedef struct {
  16. u8 sta : 1, //显示闪烁状态, 0:display off, 1:display on
  17. pos : 7; //显示闪烁的位置
  18. u8 times; //闪烁次数
  19. u8 counter; //显示闪烁周期时间控制 counter*100ms
  20. u8 preval; //闪烁预设周期
  21. } gui_flicker_t;
  22. typedef struct {
  23. u8 times; //控件显示的时间控制
  24. u8 sta; //状态
  25. u8 disp_sta; //当前显示的状态
  26. u16 number; //numbox使用,需要显示的数字
  27. u8 update : 1, //刷新标志
  28. event : 1, //BOX event标志
  29. res : 6; //保留6bits
  30. gui_flicker_t flicker; //显示闪烁控制
  31. } gui_box_t;
  32. extern gui_box_t box_cb;
  33. #if (GUI_SELECT & DISPLAY_LEDSEG)
  34. #include "ledseg/ledseg_common.h"
  35. #include "ledseg/display_ledseg.h"
  36. #define gui_scan() ledseg_scan()
  37. #define gui_display(n) ledseg_display(n)
  38. #define gui_off() ledseg_off()
  39. #elif (GUI_SELECT & DISPLAY_LCD)
  40. #include "lcd/lcd.h"
  41. #include "lcd/display_lcd.h"
  42. #include "lcd/display_listbox.h"
  43. #include "lcd/list_view.h"
  44. #include "lcd/listbox.h"
  45. #include "lcd/dialogbox.h"
  46. #include "lcd/display_dialogbox.h"
  47. #define gui_display(n) lcd_display(n)
  48. #define gui_scan()
  49. #define gui_off()
  50. #else
  51. #define gui_scan()
  52. #define gui_display(n)
  53. #define gui_off()
  54. #endif
  55. void gui_init(void);
  56. void gui_box_isr(void);
  57. bool gui_box_process(void);
  58. void gui_box_display(void);
  59. void gui_box_clear(void);
  60. void gui_box_show_vol(void);
  61. void gui_box_show_eq(void);
  62. void gui_box_show_playmode(void);
  63. void gui_box_show_num(u16 num);
  64. void gui_box_show_chan(void);
  65. void gui_box_show_inputnum(u8 number);
  66. void gui_box_flicker_set(u8 cnt, u8 times, u8 pos);
  67. void gui_box_flicker_clr(void);
  68. void gui_box_show_playdev(void);
  69. void gui_box_show_freq(void);
  70. #endif //_DISPLAY_H