gui.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. #else
  40. #define gui_scan()
  41. #define gui_display(n)
  42. #define gui_off()
  43. #endif
  44. #if (GUI_SELECT == GUI_NO)
  45. #define gui_init()
  46. #define gui_box_isr()
  47. #define gui_box_process()
  48. #define gui_box_display()
  49. #define gui_box_clear()
  50. #define gui_box_show_vol()
  51. #define gui_box_show_eq()
  52. #define gui_box_show_playmode()
  53. #define gui_box_show_num(num)
  54. #define gui_box_show_chan()
  55. #define gui_box_show_inputnum(number)
  56. #define gui_box_flicker_set(cnt, times, pos)
  57. #define gui_box_flicker_clr()
  58. #define gui_box_show_playdev()
  59. #define gui_box_show_freq()
  60. #include "led/led.h"
  61. #else
  62. void gui_init(void);
  63. void gui_box_isr(void);
  64. bool gui_box_process(void);
  65. void gui_box_display(void);
  66. void gui_box_clear(void);
  67. void gui_box_show_vol(void);
  68. void gui_box_show_eq(void);
  69. void gui_box_show_playmode(void);
  70. void gui_box_show_num(u16 num);
  71. void gui_box_show_chan(void);
  72. void gui_box_show_inputnum(u8 number);
  73. void gui_box_flicker_set(u8 cnt, u8 times, u8 pos);
  74. void gui_box_flicker_clr(void);
  75. void gui_box_show_playdev(void);
  76. void gui_box_show_freq(void);
  77. #endif
  78. #endif //_DISPLAY_H