From 1fd49a571338b6c946bb05dcdf59ec1468df5c50 Mon Sep 17 00:00:00 2001
From: SWK <sungwk82@diteam.co.kr>
Date: 목, 22 12월 2022 12:31:43 +0900
Subject: [PATCH] ongoing50 #4403 CF AOI Reveiw TACT 지연 개선 1. 일정 시간 유지 신호 처리 시 동기화로 인한 불합리 개선 - 일정 시간 유지 필요 시 스래드풀 작업큐를 이용하여 루프처리 방식으로 변경 - 유지 신호 처리 중 출력 신호 발생 시 작업큐에 등록하여 유지 신호와 결합하여 출력 처리 2. FDC 보고 항목 중 SW 버전 체크 루프 불합리 개선 - 프로그램 시작 시 연동 프로그램 버전 체크 간 실행되지 않는 프로그램이 있는 경우 무한 루프 발생 - 무한 루프로 인한 CPU 점유 상승->루프 중간 Sleep추가 및 코드 간소화 3. 로그 메시지에 시간 ms단위 추가(황만수SM 작업 내역 병합)

---
 ReviewHistory/ReveiwHistory/akImageView.h |  110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 110 insertions(+), 0 deletions(-)

diff --git a/ReviewHistory/ReveiwHistory/akImageView.h b/ReviewHistory/ReveiwHistory/akImageView.h
new file mode 100644
index 0000000..8b6d050
--- /dev/null
+++ b/ReviewHistory/ReveiwHistory/akImageView.h
@@ -0,0 +1,110 @@
+#pragma once
+
+#include "akGraph/akGraphBasic3.h"
+#include <vector>
+
+/*< LYW 20211018 - #3684 ADD Start >*/
+#define UM_FORMMAP_IMAGEMOUSECLICK WM_USER+0x2003
+/*< LYW 20211018 - #3684 ADD End >*/
+
+struct SPixelInfo
+{
+	SPixelInfo()
+	{
+		nWidthPixel = 0;
+		nHeightPixel = 0;
+		dDiagonalPixel = 0;
+		dWidthRealUM = 0;
+		dHeightRealUM = 0;
+		dDiagonalRealUM = 0;
+	}
+	int		nWidthPixel;
+	int		nHeightPixel;
+	double	dDiagonalPixel;
+
+	double	dWidthRealUM;
+	double	dHeightRealUM;
+	double	dDiagonalRealUM;
+};
+
+class CakDataImage2
+{
+public:
+	CakDataImage2(void);
+	virtual ~CakDataImage2(void);
+
+	struct _DataImage2
+	{
+		_DataImage2()
+		{
+			m_nDrawPosX = m_nDrawPosY = 0;
+			m_nRoate = 0;
+			m_nDrawWidth = m_nDrawHeight = 0;
+
+			m_bReverseX = m_bReverseY = false;
+		}
+		CString m_strBitmapFilename;
+		CBitmap m_Bitmap;
+		BITMAP	m_Bits;
+
+		unsigned char* m_pBitmapData;
+
+		//그리기 정보 [김태현 2018/12/7]
+		int m_nProjectionType;
+		int m_nDrawPosX, m_nDrawPosY;
+		int m_nDrawWidth, m_nDrawHeight;
+		float m_nRoate;
+		bool m_bReverseX, m_bReverseY;
+	};
+
+public:
+	int SetImageData(char* pFileName, int nImageIndex = 0); //add가 아니면 0번 인덱스에 넣는다.
+	int GetScaleWidth();
+	int GetScaleHeight();
+	BOOL GetTrackerRect(CRect & rtRect);
+	void DrawROIRect(CDC * pDC);
+	int GetImageDataNum() { return m_vecImageData.size(); };
+public:
+	std::vector<_DataImage2*> m_vecImageData;
+
+	double		m_dWidthScale;
+	double		m_dHeightScale;
+	double		m_dResolution;
+
+	BOOL			m_bDrawTracker;
+	CPoint			m_ptTrackerStart;
+//	CCHRectTracker	m_rectTracker;
+
+	CRect			m_rtROIRect;
+	SPixelInfo		m_sROIInfo;
+
+	// Scroll Pos
+	int			m_nVScroll;
+	int			m_nHScroll;
+	// Max Scroll Pos
+	int			m_nMaxVScroll;
+	int			m_nMaxHScroll;
+	/*< LYW 20211018 - #3684 ADD Start >*/
+	// OnePixel
+	double		m_dOnePixelX;
+	double		m_dOnePixelY;
+	/*< LYW 20211018 - #3684 ADD End >*/
+
+
+};
+
+class CakImageView : public CakGraphBasic3, public CakDataImage2
+{
+public:
+	CakImageView();
+	virtual ~CakImageView();
+
+public:
+	virtual void RenderSeries(Graphics* grfx, CDC* pDC);
+
+	virtual void SetAutoScale();
+	virtual void SetResize();
+	virtual void RenderImage(Graphics* grfx, CDC* pDC);
+	virtual void OnMouseInput(akMouseEvent mouseevent, CPoint point);
+};
+

--
Gitblit v1.9.3