| | |
| | | #pragma once |
| | | #pragma once |
| | | #include <functional> |
| | | |
| | | |
| | |
| | | #define MAX(X,Y) (((X)>(Y))?(X):(Y)) |
| | | #endif |
| | | |
| | | #define EQITEM_INDICATOR_COUNT 8 |
| | | |
| | | |
| | | enum EIndicatorState |
| | | { |
| | | INDICATOR_STATE_HIDDEN = 0, |
| | | INDICATOR_STATE_HIGHLIGHT = 1, |
| | | INDICATOR_STATE_GRAY = 2, |
| | | }; |
| | | |
| | | typedef struct tagEQSGRAPHWND_NMHDR |
| | | { |
| | | NMHDR nmhdr; |
| | |
| | | DWORD_PTR pInPins; |
| | | DWORD_PTR pOutPins; |
| | | int nFlashFlag; |
| | | BYTE nIndicatorState[EQITEM_INDICATOR_COUNT]; // 0=隐藏, 1=高亮, 2=灰色 |
| | | } EQITEM; |
| | | |
| | | typedef struct tagPIN |
| | |
| | | ONEQITEMPOSCHANGED onEqItemPosChanged; |
| | | ONDELETEEQITEM onDblckEqItem; |
| | | ONDELETEEQITEM onRclickEqItem; |
| | | ONDELETEEQITEM onSelectEqItem; |
| | | } EqsGraphListener; |
| | | |
| | | class CEqsGraphWnd |
| | |
| | | void SetItemPos(EQITEM* pItem, int x, int y); |
| | | void FlashItem(EQITEM* pItem); |
| | | void AnimationItem(EQITEM*pItem); |
| | | void ShowItemIndicator(DWORD_PTR dwItemData, int state, int nIndex = 0); |
| | | void SetIndicatorSize(int nSize); |
| | | void SetIndicatorMargin(int nMargin); |
| | | |
| | | private: |
| | | void Init(); |
| | |
| | | EQITEM* m_pFlashItem; |
| | | EQITEM* m_pAnimationItem; |
| | | PIN * m_pCurPin; |
| | | PIN * m_pSelLineOutPin; // 选中的连线的两个pin中的out pin |
| | | PIN * m_pSelLineOutPin; // 选中的连线的两个pin中的out pin |
| | | |
| | | private: |
| | | HWND m_hWnd; |
| | |
| | | HFONT m_hFontTitle; |
| | | |
| | | private: |
| | | BOOL m_bUseGdiPlus; // 使用GDI+绘图? |
| | | COLORREF m_crItemBackground[2]; // item的颜色,normal, active |
| | | COLORREF m_crItemFrame[2]; // item的边框,normal, active |
| | | BOOL m_bUseGdiPlus; // 使用GDI+绘图? |
| | | COLORREF m_crItemBackground[2]; // item的颜色,normal, active |
| | | COLORREF m_crItemFrame[2]; // item的边框,normal, active |
| | | COLORREF m_crItemNameText[2]; |
| | | COLORREF m_crItemIdText[2]; |
| | | COLORREF m_crPinBkgnd[3]; // pin的颜色,normal, active, enable connect |
| | | COLORREF m_crPinBkgnd[3]; // pin的颜色,normal, active, enable connect |
| | | int m_nCurSel; |
| | | EqsGraphListener m_listener; |
| | | CPtrArray m_arItem; |
| | |
| | | int m_nItemRound; |
| | | |
| | | private: |
| | | int m_nStageCx; // 画布大小 |
| | | int m_nStageCx; // 画布大小 |
| | | int m_nStageCy; |
| | | int m_nOffsetX; |
| | | int m_nOffsetY; |
| | | int m_nIndicatorSize; |
| | | int m_nIndicatorMargin; |
| | | |
| | | // 动画 |
| | | // 动画 |
| | | RECTF m_rcAnimation; |
| | | RECTF m_rcAninationStep; |
| | | int m_nAninationStep; |
| | | int m_nAninationDuration; // ms |
| | | |
| | | // 字体 |
| | | // 字体 |
| | | HFONT m_hFontName; |
| | | HFONT m_hFontId; |
| | | |