88 lines
1.9 KiB
C
88 lines
1.9 KiB
C
|
#ifndef _PALETTE_H
|
|||
|
#define _PALETTE_H
|
|||
|
|
|||
|
#include "stm32h7xx.h"
|
|||
|
#include "./lcd/bsp_lcd.h"
|
|||
|
|
|||
|
|
|||
|
#define COLOR_BLOCK_WIDTH lcd_param[cur_lcd].m_palette_btn_width
|
|||
|
#define COLOR_BLOCK_HEIGHT lcd_param[cur_lcd].m_palette_btn_height
|
|||
|
|
|||
|
#define BUTTON_NUM 18
|
|||
|
#define PALETTE_START_Y 0
|
|||
|
#define PALETTE_END_Y LCD_PIXEL_HEIGHT
|
|||
|
|
|||
|
#if 1 //<2F><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
#define BUTTON_START_X 0
|
|||
|
#define PALETTE_START_X COLOR_BLOCK_WIDTH*2+1
|
|||
|
#define PALETTE_END_X LCD_PIXEL_WIDTH
|
|||
|
|
|||
|
#else //<2F><>ť<EFBFBD><C5A5><EFBFBD><EFBFBD><EFBFBD>ұߣ<D2B1>(<28><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱҲ<CAB1><D2B2><EFBFBD><EFBFBD>bug<75><67><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD>)
|
|||
|
#define BUTTON_START_X LCD_PIXEL_WIDTH-2*COLOR_BLOCK_WIDTH
|
|||
|
#define PALETTE_START_X 0
|
|||
|
#define PALETTE_END_X LCD_PIXEL_WIDTH-2*COLOR_BLOCK_WIDTH
|
|||
|
|
|||
|
#endif
|
|||
|
|
|||
|
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
uint16_t start_x; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
uint16_t start_y; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
|||
|
uint16_t end_x; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>x<EFBFBD><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
uint16_t end_y; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>y<EFBFBD><79><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
uint32_t para; //<2F><>ɫ<EFBFBD><C9AB>ť<EFBFBD>б<EFBFBD>ʾѡ<CABE><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>״<EFBFBD><D7B4>ť<EFBFBD>б<EFBFBD>ʾѡ<CABE><D1A1><EFBFBD>Ļ<EFBFBD>ˢ
|
|||
|
uint8_t touch_flag; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µı<C2B5>־
|
|||
|
|
|||
|
void (*draw_btn)(void * btn); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>溯<EFBFBD><E6BAAF>
|
|||
|
void (*btn_command)(void * btn); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>к<EFBFBD><D0BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ˢ
|
|||
|
|
|||
|
}Touch_Button;
|
|||
|
|
|||
|
|
|||
|
/*<2A><>ˢ<EFBFBD><CBA2>״<EFBFBD>б<EFBFBD>*/
|
|||
|
typedef enum
|
|||
|
{
|
|||
|
LINE_SINGLE_PIXCEL = 0, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
LINE_2_PIXCEL, //2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
LINE_4_PIXCEL, //4<><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
LINE_6_PIXCEL, //6<><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
LINE_8_PIXCEL, //8<><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
LINE_16_PIXCEL, //16<31><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
LINE_20_PIXCEL, //20<32><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
LINE_WITH_CIRCLE, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
RUBBER, //<2F><>Ƥ
|
|||
|
|
|||
|
}SHAPE;
|
|||
|
|
|||
|
/*<2A><>ˢ<EFBFBD><CBA2><EFBFBD><EFBFBD>*/
|
|||
|
typedef struct
|
|||
|
{
|
|||
|
uint32_t color;
|
|||
|
|
|||
|
SHAPE shape;
|
|||
|
|
|||
|
}Brush_Style;
|
|||
|
|
|||
|
/*brushȫ<68>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ʹ<EFBFBD>õ<EFBFBD>*/
|
|||
|
extern Brush_Style brush;
|
|||
|
|
|||
|
|
|||
|
void Palette_Init(void);
|
|||
|
void Touch_Button_Init(void);
|
|||
|
void Touch_Button_Down(uint16_t x,uint16_t y);
|
|||
|
void Touch_Button_Up(uint16_t x,uint16_t y);
|
|||
|
void Draw_Trail(int16_t pre_x,int16_t pre_y,int16_t x,int16_t y,Brush_Style* brush);
|
|||
|
|
|||
|
|
|||
|
#endif //_PALETTE_H
|
|||
|
|