SDC C-Project CF Review 프로그램
LYW
2021-07-08 9cbd9e554f9956b3b945b51602f1d4a3fa0353e1
ReviewHistory/include/akGraph/akGraphBasic3.h
»õ ÆÄÀÏ
@@ -0,0 +1,104 @@
#pragma once
#include "akGraph/akGraphBase.h"
#include "akGraph/akDataBasic3.h"
#include "akGraph/akRangeSettingNormalDlg.h"
#include "akGraph/akRangeSettingTimeDlg.h"
//class AFX_EXT_CLASS CakGraphType3 : public CakGraphULS
class AFX_EXT_CLASS CakGraphBasic3 : public CakGraphBase , public CakDataBasic3
{
public:
   CakGraphBasic3(void);
   virtual ~CakGraphBasic3(void);
   DECLARE_MESSAGE_MAP()
public:
   virtual BOOL CreateGraph(CWnd* pParent, CRect rect);
   virtual void RenderGrid(Graphics* grfx, CDC* pDC);
   virtual void RenderDataArea(Graphics* grfx, CDC* pDC); //데이터 ì˜ì—­ ê·¸ë¦¬ê¸°
   virtual void RenderSeries(Graphics* grfx, CDC* pDC); //데이터 ì„ /바 ê·¸ë¦¬ê¸°
   virtual void RenderLegend(Graphics* grfx, CDC* pDC);
   virtual void RenderAxis(Graphics* grfx, CDC* pDC); //축 ì˜ì—­ ê·¸ë¦¬ê¸°
   virtual void RenderTitle(Graphics* grfx, CDC* pDC); //제목 ì˜ì—­ ê·¸ë¦¬ê¸°
   virtual void RenderLabel(Graphics* grfx, CDC* pDC); //해당 ì¶•에 í‹±ê·¸ë¦¬ê¸°, ë°ì´í„° ì˜ì—­ ì™¸ê°ì„  ê·¸ë¦¬ê¸°
   virtual void RenderMouseMoveInfo(Graphics* grfx, CDC* pDC);//마우스 ì›€ì§ì¼ë•Œ ìœ„치값 í‘œì‹œí•˜ëŠ”ë¶€ë¶„
   virtual void RenderEnd(Graphics* grfx, CDC* pDC); //그리는 ë¶€ë¶„ ë§ˆì§€ë§‰ì— ì¶”ê°€(Redraw false í• ë•Œë„ ê·¸ë¦¼)
   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);
   //데이터 í´ëž˜ìФ ë™ê¸°í™” ê°ì²´ ì¶”ê°€
   virtual void SetSeriesNum(int subsetNum); //기존 ë°ì´í„° ì´ˆê¸°í™”
   virtual void SetSeriesAdd(int index = -1);
   virtual bool SetSeriesDelete(int index);
   virtual void SetDataNum(int nDataNum);
   //virtual bool SetData(int index, double x, double y); <--요녀석은 ì•Œì•„서 ë™ê¸°í™” ì‹œí‚¤ë„록.. ì„±ëŠ¥!!
   virtual void SetHidden(bool enable, int startIndex, int endIndex);
   virtual void SetColorType(int nIndex);
   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); //윈도우 ì¢Œí‘œì— ë”°ë¥¸ ë°ì´í„°
   void SetReverseModeX(bool flag); //x축 ì—­ë°©í–¥ í‘œì‹œ
   bool GetReverseModeX(){return m_bReverseX;}; //x축 ì—­ë°©í–¥ í‘œì‹œ
   void SetReverseModeY(bool flag); //y축 ì—­ë°©í–¥ í‘œì‹œ
   bool GetReverseModeY(){return m_bReverseY;}; //y축 ì—­ë°©í–¥ í‘œì‹œ
   void SetClossLinePos(double x, double y);
   virtual void SetAutoScale();
   double getValueY(int nSeriesIndex, double xpos);
   int getDataIndex(int nSeriesIndex, double xpos);
   LRESULT OnRangeSettingNormalUpdate(WPARAM wParam, LPARAM lParam);
   LRESULT OnRangeSettingTimeUpdate(WPARAM wParam, LPARAM lParam);
protected:
   bool m_bGrid;
   bool m_bReverseX;
   bool m_bReverseY;
public:
   CakRangeSettingNormalDlg* m_pRangeYSettingDlg;
   CakRangeSettingNormalDlg* m_pRangeXSettingDlg;
   bool m_bRangeYSetting;
   bool m_bRangeXSetting;
   bool m_bFastDrawAlg;
   afx_msg void OnDestroy();
   afx_msg void OnKillFocus(CWnd* pNewWnd);
};
//X축 ê°’을 h/m/s/ms í‘œí˜„이 ê°€ëŠ¥í•˜ê²Œ
class AFX_EXT_CLASS CakGraphType3Time : public CakGraphBasic3
{
public:
public:
   CakGraphType3Time(void){};
   virtual ~CakGraphType3Time(void){};
public:
   virtual void RenderGrid(Graphics* grfx, CDC* pDC);
   virtual void RenderLabel(Graphics* grfx, CDC* pDC); //해당 ì¶•에 í‹±ê·¸ë¦¬ê¸°, ë°ì´í„° ì˜ì—­ ì™¸ê°ì„  ê·¸ë¦¬ê¸°
   virtual void RenderMouseMoveInfo(Graphics* grfx, CDC* pDC);
   void getTime(double timeval, int *hour, int *min, int *sec, float *msec);
};