From 9cbd9e554f9956b3b945b51602f1d4a3fa0353e1 Mon Sep 17 00:00:00 2001
From: LYW <leeyeanwoo@diteam.co.kr>
Date: 목, 08 7월 2021 17:24:24 +0900
Subject: [PATCH] Ongoing60 #3486 CF AOI Review Review History 프로그램 테스트 및 적용

---
 ReviewHistory/include/akGraph/akGraphStruct.h |  290 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 290 insertions(+), 0 deletions(-)

diff --git a/ReviewHistory/include/akGraph/akGraphStruct.h b/ReviewHistory/include/akGraph/akGraphStruct.h
new file mode 100644
index 0000000..645672a
--- /dev/null
+++ b/ReviewHistory/include/akGraph/akGraphStruct.h
@@ -0,0 +1,290 @@
+#pragma once
+
+#include "akSTL/akRect.h"
+
+class AFX_EXT_CLASS CMaker
+{
+public:
+	CMaker()
+	{
+		m_nShape = 0;
+	};
+	~CMaker(){};
+
+public:
+	int m_nShape;
+
+};
+
+class AFX_EXT_CLASS CMouseMoveInfo
+{
+public:
+	CMouseMoveInfo()
+	{
+		m_bEnable = true;
+		m_font.CreatePointFont(90, _T("Tahoma"));
+		m_fontColor = RGB(255,255,255);
+		m_fontAlign = TA_RIGHT|TA_BASELINE;
+		m_nTypeNum = 2;
+		m_nType = 1;
+		m_nPositionType = 1;
+		
+		m_nPositionX = -10;
+		m_nPositionY = -10;
+
+	};
+	~CMouseMoveInfo(){};
+
+public:
+	bool m_bEnable;
+	int m_nType; //0마우스 위치값 표시, 1마우스 위치에 따른 데이터 값 표시
+	int m_nTypeNum;
+	CFont m_font; 
+	COLORREF m_fontColor;
+
+	int m_nPositionType; //0일때 아래 위치로 표시, 1일때 우측 하단
+	unsigned int m_fontAlign; //정렬
+	int m_nPositionX;//그리는 위치(나중에...)
+	int m_nPositionY;//그리는 위치(나중에...)
+};
+
+class AFX_EXT_CLASS CLegendOption
+{
+public:
+	CLegendOption()
+	{
+		m_bEnable = false;
+		m_font.CreatePointFont(90, _T("Tahoma"));
+		m_fontColor = RGB(0,0,0);
+		m_nType = 1;
+	};
+	~CLegendOption(){};
+
+public:
+	bool m_bEnable;
+	int m_nType; //-1:그리는 모양에 따라서 다르게, 0:선타입, 1:사각형, 2:동그라미
+	CFont m_font; 
+	COLORREF m_fontColor;
+	
+	int m_nPosition;//그리는 위치(나중에...)
+};
+
+class AFX_EXT_CLASS CSeries
+{
+public:
+	CSeries()
+	{
+		m_nType = 1;
+		for(int i=0; i<5; i++)
+		{
+			m_Color[i] = RGB(0,0,255);
+			m_nLineWidth[i] = 1;
+		}
+		memset(m_strLegend, 0, sizeof(char)*32);
+	};
+	~CSeries(){};
+
+public:
+	int m_nType; //1:선타입, 2:바타입, 3:믹스, 0:hide
+	int m_nLineWidth[5];
+	COLORREF m_Color[5];
+	char m_strLegend[32]; //제목
+
+
+};
+
+class AFX_EXT_CLASS CScroll
+{
+public:
+	CScroll()
+	{
+		m_nEnable = 0;
+		m_nSize = 25;
+
+		//m_bruScrollRect.CreateSolidBrush()
+		m_bSelected = false;
+	};
+
+public:
+	int m_nEnable; //0은 비사용, 1항상 사용, 2필요할때만 표시
+	int m_nSize; //표시 크기
+public:
+
+public:
+	double m_nScrollMin;
+	double m_nScrollMax;
+
+public:
+	CakRect m_rectScroll;
+	CakRect m_rectThumb;
+	bool m_bSelected;//마우스로 선택이 되었는지 체크 태현[2016/5/2]
+};
+
+class AFX_EXT_CLASS CAxis 
+{
+public:
+	CAxis()
+	{
+		m_RangeValueMin = 0;
+		m_RangeValueMax = 10;
+		m_Size = 50;
+		m_TickGabPixel = 50; 
+		m_TickGabStep = -1;
+		m_MinorTickNum = 3; 
+		m_FontTick.CreatePointFont(90, _T("Tahoma"));
+		m_strTitle = "Axis";
+		m_Font.CreatePointFont(90, _T("Tahoma"));
+		m_FontColor = RGB(0,0,0);
+		m_TickColor = RGB(0,0,0);
+		m_LabelColor = RGB(0,0,0);
+	}
+
+	void SetVerticalFont()
+	{
+		LOGFONT logfont; 
+		m_Font.GetLogFont(&logfont);
+		//logfont.lfHeight = 20;
+		logfont.lfEscapement = 900; 
+		m_Font.DeleteObject();
+		m_Font.CreateFontIndirect(&logfont);
+	}; //설정된 폰트를 세로로 바꾼다.
+
+	void SetRotateFont(CFont* pFont, int nDeg)
+	{
+		LOGFONT logfont; 
+		pFont->GetLogFont(&logfont);
+		//logfont.lfHeight = 20;
+		logfont.lfEscapement = nDeg*10; 
+		pFont->DeleteObject();
+		pFont->CreateFontIndirect(&logfont);
+	}; //설정된 폰트를 세로로 바꾼다.
+
+
+	inline double GetRangeValue()
+	{
+		return m_RangeValueMax - m_RangeValueMin;
+	}
+	inline void SetRangeMove(double dValue)//dValue만큼 움직임
+	{
+		m_RangeValueMin += dValue;
+		m_RangeValueMax += dValue;
+	}
+	inline void SetRangePos(double dValue)//해당 위치의 가운데로 이동
+	{
+		double dRangeHalf = GetRangeValue()/2.0;
+		m_RangeValueMin = dValue-dRangeHalf;
+		m_RangeValueMax = dValue+dRangeHalf;
+	}
+
+public:
+	double m_RangeValueMin; //데이터 범위
+	double m_RangeValueMax; //데이터 범위
+	int m_Size; //축 크기(x축은 세로크기, y축은 가로 크기)
+	
+	int m_TickGabPixel;	//라벨 & 틱이 표시되는 최소 픽셀 간격(라벨의 표시는 자동연산으로)
+	double m_TickGabStep;  //라벨과 틱이 표시되는 값의 간격
+	COLORREF m_TickColor;
+	int m_MinorTickNum;	//틱과 틱사이의 작은 틱 갯수
+	CFont m_FontTick; //폰트
+
+	CString m_strTitle; //제목
+
+	CFont m_Font; //폰트
+	COLORREF m_FontColor;
+	COLORREF m_LabelColor;
+	
+	CScroll m_Scroll;
+};
+
+class AFX_EXT_CLASS CTitle
+{
+public:
+	CTitle()
+	{
+		m_Size = 60;
+		m_strTitle = "Advance Kim Graph 2015";
+		m_Font.CreatePointFont(150, _T("맑은 고딕"));
+		m_FontColor = RGB(0,0,0);
+	}
+
+public:
+	CString m_strTitle;
+	int m_Size;
+	CFont m_Font; //폰트
+	COLORREF m_FontColor;
+};
+
+class AFX_EXT_CLASS CakMouseState
+{
+public:
+	CakMouseState()
+	{
+		bDragState = 0;
+		apply = false;
+		Point.SetPoint(0,0);
+		memset(MouseButtonState,0,sizeof(MouseButtonState));
+	}
+	inline void setPoint(CPoint pos)
+	{
+		//if(apply == true)
+		{
+			prePoint = Point;
+			Point = pos;
+			apply = false;
+		}
+		/*else
+		{
+		Point = pos;
+		}*/
+	}
+
+	bool apply;
+	CPoint Point; //현제 마우스 포인트
+	CPoint prePoint; //이전 마우스 포인트
+	CPoint stPointDrag;
+	bool MouseButtonState[10];
+	//마우스 드레그 관리 변수
+	int bDragState;//0:꺼짐 1:온 2:온->오프
+	CPoint ClickPointL;
+	CPoint ClickPointR;
+	CPoint DragEndPoint;//사각형이 그려진 부분 크기
+	
+};
+
+enum akMouseEvent
+{
+	MouseNone,
+	MouseMove,
+	MouseLeftButtonDown,
+	MouseLeftButtonUp,
+	MouseLeftButtonDoubleClick,
+	MouseMiddleButtonDown,
+	MouseMiddleButtonUp,
+	MouseMiddleButtonDoubleClick,
+	MouseRightButtonDown,
+	MouseRightButtonUp,
+	MouseRightButtonDoubleClick,
+	MouseWheelDown,
+	MouseWheelUp,
+	MouseLeftButtonDrag,
+	MouseRightButtonDrag
+};
+
+enum khMousetButtonState
+{
+	LEFTBUTTONDOWN,
+	RIGHTBUTTONDOWN,
+	WHEELUP,
+	WHEELDOWN
+};
+
+enum akDragStyle
+{
+	DS_None,	//없음
+	DS_All,		//모두
+	DS_All_VER,		//세로기준
+	DS_All_HOR,		//가로기준
+	DS_Vertical, //세로
+	DS_Horizontal,
+	DS_MAX
+};

--
Gitblit v1.9.3