92 lines
2.9 KiB
C
92 lines
2.9 KiB
C
|
/*
|
|||
|
* wjh_Graph.h
|
|||
|
*
|
|||
|
* Created on: 2024<EFBFBD><EFBFBD>7<EFBFBD><EFBFBD>26<EFBFBD><EFBFBD>
|
|||
|
* Author: wu
|
|||
|
*/
|
|||
|
|
|||
|
#ifndef APP_MODULE_WJH_GRAPH_C_
|
|||
|
#define APP_MODULE_WJH_GRAPH_C_
|
|||
|
|
|||
|
#include "gdd.h"
|
|||
|
|
|||
|
enum{
|
|||
|
GRAPH_DATA_LEN_MAX = 30,//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݳ<EFBFBD><DDB3><EFBFBD>
|
|||
|
GRAPH_TITLE_LEN_MAX = 20,//<2F><><EFBFBD>ⳤ<EFBFBD><E2B3A4>
|
|||
|
GRAPH_DATA_NUM_MAX = 20,//<2F><><EFBFBD><EFBFBD>
|
|||
|
GRAPH_Y_SEG_LEN_OPT = 40,//Y<><59><EFBFBD>߶<EFBFBD><DFB6><EFBFBD><EFBFBD>ż<EFBFBD><C5BC><EFBFBD>
|
|||
|
GRAPH_Y_DASHED_SOLID = 3,//Y<><59><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>ʵ<EFBFBD>߳<EFBFBD><DFB3><EFBFBD>
|
|||
|
GRAPH_Y_DASHED_DASHED = 3,//Y<><59><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD>
|
|||
|
};
|
|||
|
|
|||
|
enum WJH_GRAPH_MODE{
|
|||
|
GRAPH_BAR_CHART = 0,//<2F><>״ͼ
|
|||
|
GRAPH_LINE_CHART,//<2F><><EFBFBD><EFBFBD>ͼ
|
|||
|
GRAPH_PIE_CHART,//<2F><>ͼ
|
|||
|
};
|
|||
|
|
|||
|
enum WJH_GRAPH_SORT{
|
|||
|
GRAPH_SORT_DEFAULT = 0,//Ĭ<><C4AC><EFBFBD><EFBFBD>ʾ(<28><>˳<EFBFBD><CBB3><EFBFBD><EFBFBD>ʾ)
|
|||
|
GRAPH_SORT_ASC_BY_DATA,//<2F><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
GRAPH_SORT_DES_BY_DATA,//<2F><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
|||
|
GRAPH_SORT_ASC_BY_LABEL,//<2F><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>ǩ<EFBFBD>ֵ<EFBFBD>)
|
|||
|
GRAPH_SORT_DES_BY_LABEL,//<2F><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>ǩ<EFBFBD>ֵ<EFBFBD>)
|
|||
|
};
|
|||
|
|
|||
|
static u32 Graph_ColorDefaultTable[GRAPH_DATA_NUM_MAX] = {
|
|||
|
RGB(255, 99, 71) // <20><><EFBFBD>ijȺ<C4B3>ɫ
|
|||
|
, RGB(255, 153, 51) // <20><>ɫ
|
|||
|
, RGB(255, 204, 0) // <20><>ɫ
|
|||
|
, RGB(153, 204, 0) // dz<><C7B3>ɫ
|
|||
|
, RGB(51, 204, 51) // <20><><EFBFBD><EFBFBD>ɫ
|
|||
|
, RGB(0, 153, 102) // <20><>ɫ
|
|||
|
, RGB(0, 102, 204) // <20><><EFBFBD><EFBFBD>ɫ
|
|||
|
, RGB(76, 76, 192) // <20><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>ɫ
|
|||
|
, RGB(153, 51, 204) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
, RGB(204, 51, 153) // <20>ۺ<EFBFBD>ɫ
|
|||
|
, RGB(255, 102, 102) // dz<><C7B3>ɫ
|
|||
|
, RGB(102, 153, 255) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
, RGB(102, 102, 255) // <20><><EFBFBD><EFBFBD>ɫ
|
|||
|
, RGB(153, 153, 255) // <20><><EFBFBD><EFBFBD>ɫ<EFBFBD><C9AB>
|
|||
|
, RGB(102, 204, 102) // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɫ
|
|||
|
, RGB(204, 204, 204) // dz<><C7B3>ɫ
|
|||
|
, RGB(153, 102, 51) // <20><>ɫ
|
|||
|
, RGB(51, 51, 153) // <20><><EFBFBD><EFBFBD>ɫ
|
|||
|
, RGB(255, 255, 153) // <20><><EFBFBD><EFBFBD>ɫ
|
|||
|
, RGB(153, 255, 204) // dz<><C7B3><EFBFBD><EFBFBD>ɫ
|
|||
|
};
|
|||
|
|
|||
|
struct WJH_GRAPH_DATA{
|
|||
|
u8 xLabel[GRAPH_DATA_LEN_MAX];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>ÿһ<C3BF>е<EFBFBD><D0B5><EFBFBD><EFBFBD>ƣ<EFBFBD>
|
|||
|
u32 data;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD>ÿһ<C3BF>ж<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>
|
|||
|
};
|
|||
|
|
|||
|
struct WJH_GRAPH_INFO{
|
|||
|
u8 title[GRAPH_TITLE_LEN_MAX];//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
u32 dataNum;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
struct WJH_GRAPH_DATA dataTable[GRAPH_DATA_NUM_MAX];
|
|||
|
enum WJH_GRAPH_MODE chartMode;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾģʽ<C4A3><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>״ͼ
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͼ<CFB5>йصIJ<D8B5><C4B2><EFBFBD>
|
|||
|
u8 adaptiveFlag_Y;//Y<><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΪTrue<75><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>м<EFBFBD><D0BC>㣬<EFBFBD><E3A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD>滭
|
|||
|
u32 dataMax_Y;//ͼ<><CDBC><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״ͼ<D7B4>йصIJ<D8B5><C4B2><EFBFBD>
|
|||
|
u32 linehight;//һ<><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD>ĸ߶<C4B8>
|
|||
|
u32 lineNum;//һ<><D2BB><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ݸ<EFBFBD><DDB8><EFBFBD>
|
|||
|
u32 dataColor[GRAPH_DATA_NUM_MAX];//<2F><><EFBFBD>ݶ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>ɫ
|
|||
|
enum WJH_GRAPH_SORT sortFlag;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ
|
|||
|
};
|
|||
|
|
|||
|
HWND wjh_Graph_Initialize(u32 x,u32 y,u32 w,u32 h,u32 dataNum,u8 x_Data[][GRAPH_DATA_LEN_MAX],u32 y_Data[],HWND p_father);
|
|||
|
bool_t wjh_Graph_SetTitle(HWND hwnd,u8 *ls_title);
|
|||
|
bool_t wjh_Graph_SetShowMode(HWND hwnd,enum WJH_GRAPH_MODE mode);
|
|||
|
bool_t wjh_Graph_SetYData(HWND hwnd,u32 dataNum,u32 data[]);
|
|||
|
bool_t wjh_Graph_SetSortFlag(HWND hwnd,enum WJH_GRAPH_SORT sortFlag);
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͼ<CFB5>й<EFBFBD>
|
|||
|
bool_t wjh_Graph_SetYDataMAX(HWND hwnd,u32 max);
|
|||
|
bool_t wjh_Graph_SetYMAXAdaptive(HWND hwnd);
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD>й<EFBFBD>
|
|||
|
bool_t wjh_Graph_SetPieColor(HWND hwnd,u32 colorNum,u32 color[]);
|
|||
|
#endif /* APP_MODULE_WJH_GRAPH_C_ */
|