MiaoUI/HARDWARE/menu/menu.h

82 lines
2.2 KiB
C
Raw Normal View History

2023-07-06 09:42:13 +00:00
/*
* @Author: JFeng 2834294740@qq.com
* @Date: 2023-07-02 23:52:10
* @LastEditors: JFeng 2834294740@qq.com
2023-09-03 17:09:33 +00:00
* @LastEditTime: 2023-07-24 22:33:24
2023-07-06 09:42:13 +00:00
* @FilePath: \MY_GUI_RTOS\HARDWARE\menu\menu.h
* @Description: ,`customMade`, koroFileHeader查看配置 : https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
#ifndef __MENU_H__
#define __MENU_H__
#include "main.h"
#include "Other_Function.h"
2023-07-06 09:42:13 +00:00
#include "FreeRTOS.h"
#include "task.h"
#include <string.h>
2023-07-13 15:32:01 +00:00
#include "DinoGame.h"
#include "AirPlane.h"
2023-07-06 09:42:13 +00:00
2023-07-13 15:32:01 +00:00
#define FirstLine 9
#define FirstPos 0
#define Font_Size 12
2023-09-03 17:09:33 +00:00
2023-07-15 03:40:04 +00:00
#define LINE_MAX 48
#define LINE_MIN 12
#define Max_Visible_Number 4
2023-07-14 12:17:25 +00:00
2023-09-03 17:09:33 +00:00
#define Menu_Up 0
#define Menu_Down 1
2023-07-13 15:32:01 +00:00
#define MENU_RUN 0
#define APP_RUN 1
2023-07-15 03:40:04 +00:00
#define MENU_MOVE 0
2023-09-03 17:09:33 +00:00
//光标静止
2023-07-15 03:40:04 +00:00
#define CURSOR_STATIC 1
2023-07-06 09:42:13 +00:00
typedef struct MenuPage *xpMenu;
typedef struct Item *xpItem;
typedef struct MenuPage
{
const char *PageName;
uint8_t len;
xpItem ParentiTem;
xpItem itemHead;
xpItem itemTail;
} xMenu;
typedef struct Item
{
const char *itemName;
2023-09-03 17:09:33 +00:00
uint8_t Number;
2023-07-06 09:42:13 +00:00
xpMenu location;
xpMenu JumpPage;
xpItem lastiTem;
xpItem nextiTem;
void(*Item_function)();
} xItem;
void Menu_Team(void);
void AddPage(const char *name, xpMenu page);
void AddItem(const char *Name, xpItem item, xpMenu LocalPage, xpMenu NextPage);
2023-09-03 17:09:33 +00:00
int8_t Line(uint8_t AllTime,uint8_t Time_Now,int8_t Tgt,int8_t Now);
2023-07-21 02:47:47 +00:00
void Draw_Process(void);
2023-09-03 17:09:33 +00:00
void Draw_OptionPlace(uint8_t now_time, xpItem now_item, xpItem next_item);
void Draw_DialogBox(u8g2_t *u8g2,u8g2_uint_t x,u8g2_uint_t y,u8g2_uint_t w,u8g2_uint_t h);
void Draw_DialogRBox(u8g2_t *u8g2,u8g2_uint_t x,u8g2_uint_t y,u8g2_uint_t w,u8g2_uint_t h,u8g2_uint_t r);
void DialogScale_Show(u8g2_t *u8g2,uint16_t x,uint16_t y,uint16_t Targrt_w,uint16_t Targrt_h);
void Draw_Page(uint8_t pos, xpMenu Page, uint8_t LineSpacing, xpItem now_item,xpItem next_item);
void Draw_Menu(uint8_t pos, xpMenu Page, uint8_t LineSpacing, xpItem now_item,xpItem next_item);
uint8_t ui_disapper(uint8_t disapper);
2023-07-06 09:42:13 +00:00
void Menu_Task_Create(void);
2023-07-06 09:42:13 +00:00
void Menu_Init(void);
<<<<<<< HEAD
=======
2023-07-06 09:42:13 +00:00
BaseType_t Menu_Task_Create(void);
>>>>>>> 3916090fbb8f510b26fd977a25cf20f6156d5a7e
2023-07-06 09:42:13 +00:00
#endif