SDC C-Project CF Review 프로그램
ReviewHistory/include/akGraph/akGraphImage.h
»õ ÆÄÀÏ
@@ -0,0 +1,84 @@
#pragma once
#include "akGraph/akGraphBase.h"
#include "akGraph/akDataImage.h"
#include "akGraph/akRangeSettingNormalDlg.h"
#include "akGraph/akRangeSettingTimeDlg.h"
class AFX_EXT_CLASS CakGraphImage : public CakGraphBase , public CakDataImage
{
public:
   CakGraphImage(void);
   virtual ~CakGraphImage(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 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 RenderImage(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);
   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); //윈도우 ì¢Œí‘œì— ë”°ë¥¸ ë°ì´í„°
   double GetValuePosRangeX(int nValue){return abs(GetValuePosDataX(nValue)-GetValuePosDataX(0));};
   double GetValuePosRangeY(int nValue){return abs(GetValuePosDataY(nValue)-GetValuePosDataY(0));};
   int GetWindowPosRangeX(double dValue){return abs(GetWindowPosX(dValue)-GetWindowPosX(0));};
   int GetWindowPosRangeY(double dValue){return abs(GetWindowPosY(dValue)-GetWindowPosY(0));};
   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);
};