SDC C-Project CF Review 프로그램
LYW
2021-09-23 c08b701c90c8998b241c82638d5c488e03238214
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#pragma once
 
#include "akGraph/akGraphBase.h"
#include "akGraph/akDataBasic1.h"
#include "akGraph/akColorSettingDlg.h"
#include <vector>
 
class AFX_EXT_CLASS CakGraphCodeJ : public CakGraphBase, public CakDataBasic1
{
public:
 
public:
    CakGraphCodeJ(void);
    virtual ~CakGraphCodeJ(void);
 
public:
    virtual    void RenderBegin( CDC* pDC, CRect rectDC );
    virtual BOOL CreateGraph(CWnd* pParent, CRect rect);
    virtual void RenderDataArea(Graphics* grfx, CDC* pDC); //µ¥ÀÌÅÍ ¿µ¿ª ±×¸®±â
 
    virtual void RenderAxis(Graphics* grfx, CDC* pDC); //
    virtual void RenderLabel(Graphics* grfx, CDC* pDC); //
    virtual void RenderTitle(Graphics* grfx, CDC* pDC);
    virtual void RenderEnd(Graphics* grfx, CDC* pDC);
 
    virtual void OnKeyInput(int key, int mode); //mode 0==keyup, mode 1==keydown
    virtual void OnMouseInput(akMouseEvent mouseevent, CPoint point);
    virtual void MouseInput(CakMouseState mousestate);
 
    inline int GetWindowPosX(double xvalue); //À§Ä¡ °ª¿¡ µû¸¥ À©µµ¿ì ÁÂÇ¥
    inline int GetWindowPosY(double yvalue); //À§Ä¡ °ª¿¡ µû¸¥ À©µµ¿ì ÁÂÇ¥
    inline double GetValuePosDataX(int xpos, bool dataArea = false); //À©µµ¿ì ÁÂÇ¥¿¡ µû¸¥ µ¥ÀÌÅÍ 
    inline double GetValuePosDataY(int ypos, bool dataArea = false); //À©µµ¿ì ÁÂÇ¥¿¡ µû¸¥ µ¥ÀÌÅÍ 
 
    virtual void SetAutoScale();
    virtual void SetDataNum(int datanum);
 
    virtual void ReDraw(bool bReDrawALL);
 
    void SetHorMode(bool bFlag = true); //°¡·Î ¸ðµå
 
    void SetCalculatorAvr();//°ªµéÀÇ Æò±ÕÀ» È­¸é¿¡ Ç¥½Ã
    CString m_strAVR;
 
    void SetAutoBarScale(int margin);
    int m_nBarGab; //¸·´ë ±×·¡ÇÁ »çÀÌÀÇ °£°Ý
    
    void SetFullScreen(bool flag);
    void SetFullMode(bool flag, int x, int y, int width, int height); //Ç® ¸ðµå Å°°í ²û.. ±×¸®°í Ç®¸ðµå ½ÎÀÌÁî
 
    void GraphType(int nType);
 
    bool GetValuebyMousePos(int mousex, int mousey, int* index, double* val);
 
private:
    
    
protected:
    bool m_bGrid;
    CakColorSettingDlg* m_pColorSettingDlg;
public:
    bool m_bIntegerAxisX;
    bool m_bIntegerAxisY;
 
    bool m_bAVR;//È­¸é¿¡ Æò±Õ°ª Ç¥½Ã ÇÒ °ÍÀÎÁö¿¡ ´ëÇÑ Ç÷¹±×
    std::vector<double> m_vecProbabilityData; //ÀÌ»óÀÌÇÏÈ®·ü°è»êµ¥ÀÌÅÍ
    int m_nBarWidth;
 
 
    CakRect m_rectFullMode;
    CakRect m_rectNormalMode;
    
    int m_nGraphType; //0Àº ¹ÙŸÀÔ ¼± Å¸ÀÔ ¸ðµÎ Ç¥Çö, 1Àº ¹ÙŸÀÔ¸¸ Ç¥Çö
    int m_nTextValueShowLevel; //±×·¡ÇÁ À§¿¡ ÅؽºÆ®·Î °ª Ç¥½Ã(-1Àº Ç¥½Ã ¾ÈÇÔ 0¿¡¼­ 3±îÁö ¼Ò¼ö ÀÚ¸®¼ö Ç¥Çö)
 
    CString*  m_strAxisXText;
    COLORREF* m_clrAxisXColor;
    double m_avr;
protected:
    double m_nTimeline;
    bool m_bFullScreen;
    bool m_bFullMode;
 
    bool m_bHorMode;
 
public:
    DECLARE_MESSAGE_MAP()
    afx_msg void OnDestroy();
    LRESULT OnColorSettingUpdate(WPARAM wParam, LPARAM lParam);
};