FLImaging 6.5.8.1
GUIViewDrawing.h
1#pragma once
2
11#include <afxwin.h>
12
13#include "GUIViewImageBase.h"
14#include "GUIDefinitions.h"
15#include "GUIViewDrawingDefinitions.h"
16#include "D2DObject.h"
17
18#include <set>
19#include <map>
20
22namespace FLImaging
23{
25 namespace GUI
26 {
27 class CGUIViewImageLayer;
28 class CGUIBoxLayout;
29 class CGUIManagerView;
30 class CInternalViewManager;
31 class CGUIManagerViewDrawingObject;
32 class CGUIManagerViewImageSelectionImage;
33 class CGUIManagerContextMenuViewDrawing;
34 class CGUIManagerContextMenuViewImageObject;
35 class CInternalCanvas;
36 class CGUIViewImageMiniMap;
37 class CGUIViewToolBar;
38 class CGUIDialogImageInfo;
39 class CGUIDialogImagePageList;
40 class CGUIDialogLayerProperties;
41 class CGUIDialogLayerProperties;
42 class CGUIPaneDialog;
43
51 class FL_EXPORT CGUIViewDrawing : public CGUIViewImageBase
52 {
53 public: // serialization 에서만 만들어집니다.
61
69
78
79
85 virtual ~CGUIViewDrawing();
86
87 public:
88
97 {
105
113
121
129
137
145
153
161
169
177
185
193
201 };
202
203 enum
204 {
211 EMaxLayerCount = 10,
212 };
213
224
244 static CGUIViewDrawing* CreateView(int32_t i32L, int32_t i32T, int32_t i32R, int32_t i32B, bool bStandalone = false);
245
263 virtual const CResult Load(const wchar_t* pWcsPath = nullptr, EViewDrawingLoadOption eOption = EViewDrawingLoadOption_Load);
264
286 virtual const CResult Load(Base::CFLArray<Base::CFLString<wchar_t>>& flaFilePathToLoad, EViewDrawingLoadOption eOption = EViewDrawingLoadOption_Load);
287
301 virtual const CResult Save(const wchar_t* pWcsFileNameWithPath = nullptr);
302
314 virtual const CResult ClearFile();
315
330
345
361 virtual Foundation::CFLPoint<double> ConvertClientCoordToImageCoord(int32_t i32X, int32_t i32Y) const;
362
377
392
408 virtual Foundation::CFLPoint<int32_t> ConvertImageCoordToClientCoord(double f64X, double f64Y) const;
409
424
439
455 virtual Foundation::CFLPoint<int32_t> ConvertClientCoordToCanvasCoord(int32_t i32X, int32_t i32Y) const;
456
471
486
502 virtual Foundation::CFLPoint<int32_t> ConvertCanvasCoordToClientCoord(int32_t i32X, int32_t i32Y) const;
503
504
519
534
550 virtual Foundation::CFLPoint<double> ConvertCanvasCoordToImageCoord(int32_t i32X, int32_t i32Y) const;
551
566
581
597 virtual Foundation::CFLPoint<int32_t> ConvertImageCoordToCanvasCoord(double f64X, double f64Y) const;
598
599
607 virtual void ClearAllLayers();
608
622 CGUIViewImageLayer* GetLayer(int32_t i32Index) const;
623
637 CGUIViewImageLayer* GetLayerByName(const std::wstring& strLayerName);
638
655 CGUIViewImageLayer* GetLayerByName(const std::wstring& strLayerName, const CGUIViewImageLayer* pLayerRTTI);
656
672 const CResult DeleteLayerByName(const std::wstring& strLayerName);
673
687 bool DoesLayerExist(const std::wstring& strLayerName) const;
688
700 int32_t GetNamedLayerCount() const;
701
715 CGUIViewImageLayer* GetNamedLayer(int32_t i32Index) const;
716
738 virtual const CResult SetLayerAutoClearMode(int32_t i32LayerIndex, ELayerAutoClearMode eMode, bool bSet);
739
761 virtual const CResult SetLayerAutoClearMode(CGUIViewImageLayer* pLayer, ELayerAutoClearMode eMode, bool bSet);
762
782 virtual const CResult SetLayerAutoClearMode(ELayerAutoClearMode eMode, bool bSet);
783
801 virtual bool GetLayerAutoClearMode(int32_t i32LayerIndex, ELayerAutoClearMode eMode) const;
802
820 virtual bool GetLayerAutoClearMode(const CGUIViewImageLayer* pLayer, ELayerAutoClearMode eMode) const;
821
835 virtual const CResult ZoomFitToLayer(int32_t i32LayerIndex);
836
850 virtual const CResult ZoomFitToLayer(const CGUIViewImageLayer* pLayer);
851
864
877
893 virtual const CResult SetViewCenter(const Foundation::CFLPoint<double>& flpImageCoord);
894
912 virtual const CResult SetViewCenterAndScale(const Foundation::CFLPoint<double>& flpImageCoord, double f64Scale);
913
927 virtual const CResult ZoomAtCenter(double f64Scale);
928
941
942 virtual const CResult InternalSetOffset(Foundation::CFLPoint<double> flpOffset);
943
953 virtual double GetScale() const;
954
955 virtual const CResult InternalSetScale(double f64Scale);
956
970 double GetZoomFitScale(double f64CanvasWidth, double f64CanvasHeight) const;
971
972 virtual const CResult InternalZoomIn(POINT ptCanvas, double f64Ratio = 1.25);
973
974 virtual const CResult InternalZoomOut(POINT ptCanvas, double f64Ratio = .8);
975
987 virtual const CResult ZoomFit();
988
1001
1011 virtual void SetCanvasColor(COLORREF clrCanvas);
1012
1022 virtual COLORREF GetCanvasColor() const;
1023
1033 virtual void ShowImageMiniMap(bool bShow);
1034
1044 virtual bool IsImageMiniMapVisible() const;
1045
1055 virtual void ShowCrosshair(bool bShow);
1056
1066 virtual bool IsCrosshairVisible() const;
1067
1077 virtual void ShowGrid(bool bShow);
1078
1088 virtual bool IsGridVisible() const;
1089
1099 virtual void ShowImageCoordinateOnCursor(bool bShow);
1100
1111
1125 virtual const CResult SetDecimalPlaceOfCoordinate(uint8_t u8DecimalPlace = 2);
1126
1136 virtual uint8_t GetDecimalPlaceOfCoordinate() const;
1137
1153 const CResult SetPixelAccuracy(double f64PixelAccuracyX, double f64PixelAccuracyY);
1154
1170 const CResult GetPixelAccuracy(double* pF64PixelAccuracyX, double* pF64PixelAccuracyY) const;
1171
1187 const CResult GetPixelAccuracy(double& f64PixelAccuracyX, double& f64PixelAccuracyY) const;
1188
1202 const CResult SetPixelAccuracyX(double f64PixelAccuracyX);
1203
1213 double GetPixelAccuracyX() const;
1214
1228 const CResult SetPixelAccuracyY(double f64PixelAccuracyY);
1229
1239 double GetPixelAccuracyY() const;
1240
1257
1270
1286 virtual const CResult SelectMenuItem(EMenuItemViewDrawing eMenuItemViewDrawing);
1287
1303 virtual const CResult SelectMenuItem(EGUIViewDrawingMeasurementMode eMenuItemViewDrawing);
1304
1318 bool IsSynchronized(EViewDrawingSyncOption eViewDrawingSyncOption) const;
1319
1334
1351
1366
1381
1394
1408 const CResult ShowScrollBar(bool bShow);
1409
1423 virtual const CResult ShowToolBar(bool bShow)override;
1424
1438 const CResult ShowStatusBar(bool bShow);
1439
1457 const CResult CaptureScreen(Base::CFLImage& fliImage, bool bIncludeFrame = false);
1458
1476 const CResult CaptureScreen(Base::CFLImage* pFliImage, bool bIncludeFrame = false);
1477
1490
1503
1516
1529
1539 virtual void EnableSelection(bool bEnable);
1540
1550 virtual bool IsSelectionEnabled() const;
1551
1561 virtual void SetPanningMode(bool bSet);
1562
1572 virtual bool IsPanningMode() const;
1573
1585 virtual void SetZoomMode(EZoomMode eZoomMode);
1586
1598 virtual EZoomMode GetZoomMode() const;
1599
1616
1629
1641 virtual CGUIManagerContextMenuViewDrawing* GetManagerContextMenu() const;
1642
1654 virtual void SetManagerContextMenu(const CGUIManagerContextMenuViewDrawing* pMgr);
1655
1667 virtual CGUIManagerViewDrawingObject* GetManagerViewDrawingObject() const;
1668
1680 virtual void SetManagerViewDrawingObject(const CGUIManagerViewDrawingObject* pMgr);
1681
1692
1703
1714
1715 virtual CD2DObject* GetD2DObject();
1716
1717 public:
1718 Foundation::CFLPoint<int32_t> GetLastCursorClient() const;
1719
1720 virtual void SetTitle(LPCTSTR lpszTitle)override;
1721 void SetHitArea(EGUIViewDrawingHitArea eHitArea);
1722 CGUIViewImageMiniMap* GetMiniMap() const;
1723 virtual void UpdateTheme() override;
1724 virtual const CResult UpdateStatusBar();
1725 virtual void ChangeImageCanvasSize();
1726 virtual void ActivatedPopupMenu(CGUIPopupMenuShell* pPopupMenu)override;
1727
1728 virtual void ShowMultiSelectRect(bool bShow);
1729 virtual bool IsMultiSelectRectVisible() const;
1730
1731 virtual void ShowMultiSelectCandidateRect(bool bShow);
1732 virtual bool IsMultiSelectCandidateRectVisible() const;
1733
1734 EContextMenuFlag GetViewDrawingContextMenuFlag(EAvailableViewDrawingContextMenu eMenu) const;
1735 UINT GetViewDrawingContextMenuFlag(EAvailableViewDrawingContextMenu eMenu, UINT uAssignFlag) const;
1736
1737 Foundation::CFLRect<double>& GetMultiSelectRect();
1738
1739 void SetCurrentCursor(UINT nCursor);
1740 UINT GetCurrentCursor() const;
1741
1742 virtual void SetFileNameOnStatusBar(bool bSet);
1743 virtual bool IsFileNameOnStatusBar() const;
1744
1745 virtual const CResult GetPOVToFit(const Foundation::CFLFigure* pFigure, Foundation::CFLRect<double> flrCanvas, double& f64Scale, Foundation::CFLPoint<double>& flpOffset, int32_t i32WidthMargin, int32_t i32HeightMargin) const;
1746
1747 virtual void SetVisible(bool bVisible)override;
1748
1749 virtual void UpdateScrollBar();
1750
1751
1752
1753
1754 virtual void SetDialogLayerPropertiesPtr(CGUIDialogLayerProperties* pDlg);
1755 virtual void InternalDrawCustomLayers(const Foundation::CFLPoint<double>& flpOffset, const Foundation::CFLPoint<double>& flpOffsetOnBtnDown, double f64Scale, const Foundation::CFLRect<int32_t>& flrWindowRect, const D2D1::Matrix3x2F matTransform);
1756
1757 virtual const CResult InternalCreateDialogLoadFigureGbr(const std::vector<Base::CFLString<wchar_t>>& vctGbrPath, std::vector<COLORREF>& vctGbrColor);
1758 virtual const CResult InternalCreateDialogLoadFigureDxf(const std::vector<Base::CFLString<wchar_t>>& vctDxfPath);
1759
1760 virtual void HitTest(const Foundation::CFLPoint<int32_t>& flpCanvas);
1761
1762 virtual const CResult LoadFigure(EFileExtension eFileExt, const wchar_t* pWcsFileNameWithPath = nullptr, bool bErrorMsgBox = false);
1763 virtual const CResult LoadFigureDXF(const std::vector<Base::CFLString<wchar_t>>& vctFileNameWithPath, Foundation::CFLFigureArray* pFlfa = nullptr);
1764
1765 virtual const CResult InternalLoadFigure(const wchar_t* pWcsFileNameWithPath, Foundation::CFLFigureArray* pFlfa = nullptr);
1766 virtual const CResult InternalLoadFigureGBR(const wchar_t* pWcsFileNameWithPath, const wchar_t* pWcsLayerName, uint32_t u32Color, Foundation::CFLFigureArray* pFlfa = nullptr);
1767 virtual const CResult InternalLoadFigureDXF(const wchar_t* pWcsFileNameWithPath);
1768
1769 public:
1770 DECLARE_MESSAGE_MAP()
1771 afx_msg void OnLButtonDblClk(UINT nFlags, CPoint ptClient);
1772 afx_msg void OnLButtonDown(UINT nFlags, CPoint ptClient);
1773 afx_msg void OnLButtonUp(UINT nFlags, CPoint ptClient);
1774 afx_msg void OnMButtonDblClk(UINT nFlags, CPoint ptClient);
1775 afx_msg void OnMButtonDown(UINT nFlags, CPoint ptClient);
1776 afx_msg void OnMButtonUp(UINT nFlags, CPoint ptClient);
1777 afx_msg void OnRButtonDblClk(UINT nFlags, CPoint ptClient);
1778 afx_msg void OnRButtonDown(UINT nFlags, CPoint ptClient);
1779 afx_msg void OnRButtonUp(UINT nFlags, CPoint ptClient);
1780 afx_msg BOOL OnMouseWheel(UINT nFlags, int16_t zDelta, CPoint pt);
1781 afx_msg void OnSize(UINT nType, int32_t cx, int32_t cy);
1782 virtual void PreSubclassWindow();
1783 virtual BOOL PreTranslateMessage(MSG* pMsg);
1784 virtual void OnDraw(CDC* /*pDC*/);
1785 afx_msg void OnMouseMove(UINT nFlags, CPoint ptClient);
1786 afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
1787 afx_msg void OnKeyUp(UINT nChar, UINT nRepCnt, UINT nFlags);
1788 afx_msg void OnTimer(UINT_PTR nIDEvent);
1789 afx_msg BOOL OnEraseBkgnd(CDC* pDC);
1790 afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
1791 afx_msg void OnDropFiles(HDROP hDropInfo);
1792 afx_msg void OnMouseLeave();
1793 afx_msg void OnMouseHover(UINT nFlags, CPoint point);
1794 afx_msg void OnEnterIdle(UINT nWhy, CWnd* pWho);
1795
1796 public:
1797 virtual void OnInitialUpdate();
1798 afx_msg void OnFileOpen();
1799 afx_msg void OnUpdateFileOpen(CCmdUI* pCmdUI);
1800 afx_msg void OnFileIO(UINT uID);
1801 afx_msg void OnUpdateFileIO(CCmdUI* pCmdUI);
1802 afx_msg void OnMoreMenu();
1803
1804 afx_msg void OnShowImageMiniMap();
1805 afx_msg void OnUpdateShowImageMiniMap(CCmdUI* pCmdUI);
1806
1807 afx_msg void OnSetZoomMode(UINT uID);
1808 afx_msg void OnSetZoomFitMode();
1809 afx_msg void OnSetPanningMode();
1810 afx_msg void OnShowScrollBar();
1811 afx_msg void OnShowStatusBar();
1812 afx_msg void OnUpdateZoomIn(CCmdUI* pCmdUI);
1813 afx_msg void OnUpdateZoomOut(CCmdUI* pCmdUI);
1814 afx_msg void OnUpdateZoomFit(CCmdUI* pCmdUI);
1815 afx_msg void OnUpdatePanningMode(CCmdUI* pCmdUI);
1816 afx_msg void OnUpdateShowScrollBarMode(CCmdUI* pCmdUI);
1817 afx_msg void OnUpdateShowStatusBarMode(CCmdUI* pCmdUI);
1818
1819 afx_msg void OnMeasurementDistance();
1820 afx_msg void OnUpdateMeasurement(CCmdUI* pCmdUI);
1821 afx_msg void OnSetMeasureMode(UINT uID);
1822
1823 afx_msg void OnFigureMenu();
1824 afx_msg void OnUpdateFigureMenu(CCmdUI* pCmdUI);
1825 afx_msg void OnCreateFigure(UINT uID);
1826 afx_msg void OnUpdateCreateFigure(CCmdUI* pCmdUI);
1827 afx_msg void OnLoadFigure();
1828 afx_msg void OnUpdateLoadFigure(CCmdUI* pCmdUI);
1829
1830 afx_msg void OnLayers();
1831 afx_msg void OnSetLayers(UINT uID);
1832 afx_msg void OnUpdateLayers(CCmdUI* pCmdUI);
1833
1834 afx_msg void OnSyncView();
1835 afx_msg void OnSetSyncView(UINT uID);
1836 afx_msg void OnUpdateSyncView(CCmdUI* pCmdUI);
1837
1838 afx_msg void OnSetSyncWindow(UINT uID);
1839
1840 afx_msg void OnShowGrid();
1841 afx_msg void OnUpdateShowGrid(CCmdUI* pCmdUI);
1842
1843 afx_msg void OnShowCrosshair();
1844 afx_msg void OnUpdateShowCrosshair(CCmdUI* pCmdUI);
1845
1846 afx_msg void OnShowImageCoordinateOnCursor();
1847 afx_msg void OnUpdateShowImageCoordinateOnCursor(CCmdUI* pCmdUI);
1848
1849 afx_msg void OnSetCanvasColor();
1850 afx_msg void OnUpdateSetCanvasColor(CCmdUI* pCmdUI);
1851
1852 afx_msg void OnSetPixelAccuracy();
1853 afx_msg void OnUpdateSetPixelAccuracy(CCmdUI* pCmdUI);
1854
1855 afx_msg void OnInformationHelp();
1856
1857 afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
1858 afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
1859
1860
1861 afx_msg void OnSetFocus(CWnd* pOldWnd);
1862 afx_msg void OnNcLButtonDown(UINT nHitTest, CPoint point);
1863 afx_msg void OnNcLButtonUp(UINT nHitTest, CPoint point);
1864 afx_msg LRESULT OnMessageRunOnMainThread(WPARAM wParam, LPARAM lParam);
1865 afx_msg LRESULT OnMessageRunOnMainThreadPost(WPARAM wParam, LPARAM lParam);
1866 afx_msg void OnClipboardUpdate();
1867
1868 afx_msg void OnDestroy();
1869
1870 BOOL OnNeedText(UINT id, NMHDR* pNMHDR, LRESULT* pResult);
1871 virtual void PostNcDestroy();
1872
1873 protected:
1874 virtual const CResult MoveNamedLayerUp(int32_t i32LayerIndex);
1875 virtual const CResult MoveNamedLayerDown(int32_t i32LayerIndex);
1876
1877 virtual const CResult InternalAssign(const CGUIViewBase& rhs) override;
1878
1879 virtual const CResult InternalConvertLayerToFigure(Foundation::CFLFigureArray& flfaResult);
1880
1881 virtual const CResult PreDestroy() override;
1882
1883 virtual const CResult DrawBackground();
1884
1885 virtual const CResult InitializeDIB();
1886 virtual const CResult TerminateDIB();
1887 virtual const CResult CommitDraw(CDC* pDC);
1888 virtual const CResult SetDefaultView();
1889
1890 EMenuItemViewDrawing GetLastMenuStatus() const;
1891 void SetLastMenuStatus(EMenuItemViewDrawing eMenuItemViewDrawing);
1892 void SetLastMenuStatus(EGUIViewDrawingMeasurementMode eMenuItemViewDrawing);
1893
1894 CGUIViewImageLayer* GetObjectLayer() const;
1895
1896 LRESULT OnCursorPosChanged(WPARAM wParam, LPARAM lParam);
1897 LRESULT OnScaleChanged(WPARAM wParam, LPARAM lParam);
1898 LRESULT OnLazyBroadcastScaleChanged(WPARAM wParam, LPARAM lParam);
1899 LRESULT OnUpdateStatusBar(WPARAM wParam, LPARAM lParam);
1900 LRESULT OnPaneDialogClosed(WPARAM wParam, LPARAM lParam);
1901
1902 void BroadcastOffsetChanged();
1903 void BroadcastScaleChanged();
1904
1905 virtual void OnReceiveBroadcast(const Base::CBroadcastMessage* pMessage) override;
1906
1907 void SetStatusBarText(CGUIViewDrawing::EStatusPaneItem eIndex, LPCTSTR lpszText);
1908 void SetStatusBarText(CGUIViewDrawing::EStatusPaneItem eIndex, int32_t i32Value);
1909 void SetStatusBarText(CGUIViewDrawing::EStatusPaneItem eIndex, int64_t i64Value);
1910 void SetStatusBarText(CGUIViewDrawing::EStatusPaneItem eIndex, double f64Value, int32_t i32DecimalPlace = 3);
1911
1912 virtual const CResult RestoreButtonInfo();
1913 virtual void UpdateToolBarButtons() override;
1914 virtual void UpdateToolBarButtonVisible() override;
1915
1916 const CResult SetPixelAccuracy(double f64PixelAccuracyX, double f64PixelAccuracyY, Foundation::ELengthUnit eLenUnit, bool bWriteFile);
1917
1918 void SetMinMaxScale();
1919 void SetZoomFitMode(bool bSet);
1920 bool IsZoomFitMode();
1921
1922 virtual bool DrawLayerBegin();
1923 virtual bool DrawLayerEnd();
1924 virtual bool DrawGrid();
1925 virtual bool DrawLayerElements();
1926 virtual bool DrawMiniMap();
1927 virtual bool DrawCrosshair();
1928
1929 virtual const CResult CreateDialogOfSetDecimalPlaceOfCoordinate();
1930 virtual const CResult CreateDialogOfPixelAccuracy();
1931 virtual const CResult CreateDialogOfSetViewCenterAndScale();
1932 virtual const CResult CreateDialogOfSetScale();
1933 virtual const CResult CreateDialogOfLayerProperties();
1934 virtual const CResult CreateDialogLoadFigureDxf(const std::vector<Base::CFLString<wchar_t>>& vctDxfPath);
1935
1936 virtual bool IsLayerPropertiesDialogVisible() const;
1937 virtual void UpdateAllLayersGeometryFlag(bool bUpdate);
1938 virtual void ClearAllLayersOffscreenD2DGeometry();
1939 virtual void BeginOffsetOnlyChanging();
1940 virtual void EndOffsetOnlyChanging();
1941
1942 virtual const CResult SynchronizeView(CGUIViewDrawing* pTargetView, EViewDrawingSyncOption eSyncOption);
1943 virtual const CResult DesynchronizeView(CGUIViewDrawing* pTargetView, EViewDrawingSyncOption eSyncOption);
1944 virtual const CResult DesynchronizeViewAll(EViewDrawingSyncOption eSyncOption);
1945
1946 DeclareGetClassType();
1947
1948 protected:
1949 CGUIViewImageMiniMap* m_pMiniMap;
1950 CGUIManagerContextMenuViewDrawing* m_pMgrContextMenu;
1951 CGUIManagerViewDrawingObject* m_pMgrViewDrawingObject;
1952
1953
1954 /* Parent Window*/
1955 CWnd* m_pParentWnd;
1956
1957 /* Scale*/
1958 double m_f64Scale;
1959 double m_f64MinScale;
1960 double m_f64MaxScale;
1961 EZoomMode m_eZoomMode;
1962 uint32_t m_u32ForceZoomFitCount;
1963
1964 /* Scale & Offset*/
1965 bool m_bZoomFitMode;
1966 bool m_bPanningMode;
1967 bool m_bRButtonDragPanningMode;
1968
1969 /* Offset*/
1970 Foundation::CFLPoint<double> m_flpOffset;
1971 Foundation::CFLPoint<double> m_flpOffsetOnBegin;
1972 bool m_bOffsetOnlyChanging;
1973
1974
1975 /* View Properties*/
1976 int32_t m_i32CanvasLeft;
1977 int32_t m_i32CanvasTop;
1978 int32_t m_i32CanvasWidth;
1979 int32_t m_i32CanvasHeight;
1980 COLORREF m_clrClientFillColor;
1981 EGUIViewDrawingTeachingMode m_eTeachingMode;
1982
1983 /* Bitmap & DC*/
1984 typedef struct sDibInfo
1985 {
1986 BITMAPINFOHEADER header;
1987 RGBQUAD acolors[256];
1988 }
1989 SDibInfo;
1990
1991 SDibInfo m_bitmapInfo;
1992 HBITMAP m_hDibSection;
1993
1994 uint8_t* m_pDibBase;
1995 uint8_t* m_pOffBuffer;
1996
1997 CDC m_dcDIB;
1998 HDC m_hdcDIB;
1999 HANDLE m_hDrawDIB;
2000 HGDIOBJ m_hPreviousSelectedGdiObj;
2001
2002 /* View Status*/
2003 bool m_bBreak;
2004 bool m_bShiftKeyDown;
2005 bool m_bNCLButtonDown;
2006 bool m_bContextMenuFromRButtonUp;
2007 bool m_bOnSize;
2008 bool m_bKeyDown;
2009 bool m_bEnableSystemMenuOnFileDialog;
2010 int16_t m_i16DownKey;
2011
2012 int32_t m_i32LastNCPointX;
2013 int32_t m_i32LastNCPointY;
2014
2015 bool m_bEnableSelection;
2016
2017 bool m_bShowFigureObjectCenterOfGravityGlobal;
2018 bool m_bShowFigureObjectRectCenterGlobal;
2019 bool m_bShowFigureObjectWindingDirectionGlobal;
2020 bool m_bShowFigureObjectWindingSequenceGlobal;
2021 bool m_bShowFigureObjectArrayElementSequenceGlobal;
2022 bool m_bShowFigureObjectArrayElementSequenceRecursivelyGlobal;
2023 bool m_bShowFigureObjectInformationTextGlobal;
2024 EFigureObjectInformationText m_eFigureObjectInformationTextOptionGlobal;
2025 bool m_bEnableFigureObjectRotationGlobal;
2026 bool m_bEnableFigureObjectMagnetToImageGlobal;
2027 bool m_bEnableFigureObjectAngleMagnetGlobal;
2028 uint8_t m_u8FigureObjectDecimalPlaceGlobal;
2029 uint8_t m_u8FigureObjectDecimalPlaceForPixelAccuracyGlobal;
2030 bool m_bFigureObjectExponentialNotationGlobal;
2031 bool m_bFigureObjectExponentialNotationForPixelAccuracyGlobal;
2032 Base::CFLString<wchar_t> m_strFormatForFigureObjectD;
2033 Base::CFLString<wchar_t> m_strFormatForFigureObjectF;
2034 Base::CFLString<wchar_t> m_strFormatForFigureObjectL;
2035 Base::CFLString<wchar_t> m_strFormatForFigureObjectLL;
2036
2037 bool m_bGrayFillColor;
2038 bool m_bMouseOnView;
2039 bool m_bSetFileNameOnStatusBar;
2040 EAvailableViewDrawingContextMenu m_eAvailableContextMenu;
2041 EAvailableViewDrawingFigureContextMenu m_eAvailableViewDrawingContextMenuFigure;
2042
2043 /* Mouse Point*/
2044 Foundation::CFLPoint<int32_t> m_flpLastCursorClient;
2045 Foundation::CFLPoint<int32_t> m_flpLastDraggingPositionClient;
2046 Foundation::CFLPoint<double> m_flpTeachingCursorImage;
2047 Foundation::CFLPoint<double> m_flpRButtonUpCursorImage;
2048 Foundation::CFLPoint<double> m_flpCursorImageLBtnDown;
2049 Foundation::CFLPoint<double> m_flpCursorImageMBtnDown;
2050 Foundation::CFLPoint<double> m_flpCursorImageRBtnDown;
2051 CPoint m_ptPrevClient;
2052 CPoint m_ptClientRBtnDown;
2053 CPoint m_ptClientLBtnDown;
2054 int32_t m_i32MouseDragDistance;
2055 int32_t m_i32MouseDragDistanceThreshold;
2056
2057 /* Cursor*/
2058 UINT m_nCursor;
2059
2060 /* Multi selection*/
2061 bool m_bShowMultiSelectRect;
2062 bool m_bShowMultiSelectCandidateRect;
2063 Foundation::CFLRect<double> m_flrMultiSelectRect;
2064 Foundation::CFLRect<double> m_flrSelectionCandidate;
2065
2066 /* Pixel Accuracy*/
2067 double m_f64PixelAccuracyX;
2068 double m_f64PixelAccuracyY;
2069 Foundation::ELengthUnit m_eLengthUnit;
2070
2071 uint8_t m_u8DecimalPlaceOfCoordinate;
2072
2073 bool m_bToBroadcastScaleChanged;
2074
2075 CD2DObject m_d2dObject;
2076
2077 /* Synchronize view*/
2078 std::map<EViewDrawingSyncOption, CGUIViewDrawing*> m_mapRootSyncView;
2079
2080 /* Layers*/
2081 std::vector<CGUIViewImageLayer*> m_vctDrawingLayers;
2082 std::vector<CGUIViewImageLayer*> m_vctDrawingLayersNamed;
2083 std::unordered_map<std::wstring, CGUIViewImageLayer*> m_mapDrawingLayers;
2084
2085 CGUIViewImageLayer* m_pLayerInfoOnCursor;
2086
2087 CGUIViewImageLayer* m_pViewObjectLayer;
2088 CGUIViewImageLayer* m_pViewObjectHoverLayer;
2089 CGUIViewImageLayer* m_pViewObjectModifyPreviewLayer;
2090
2091 /* Key */
2092 bool m_bCtrlKeyDown;
2093
2094 EGUIViewDrawingHitArea m_eHitArea;
2095 EGUIViewDrawingHitArea m_eHitAreaOnLButtonDown;
2096
2097 bool m_bShowImage;
2098 bool m_bShowGrid;
2099 bool m_bShowCrosshair;
2100 bool m_bShowImageCoordinateOnCursor;
2101 bool m_bFirstShowScrollBar;
2102 bool m_bRotateFigureZOrder;
2103
2104 /* Popup Menu*/
2105 EMenuItemViewDrawing m_eLastMenuStatus;
2106 EMenuItemViewDrawing m_eLastMenuStatusBefore;
2107
2108 /* Dialog */
2109 CGUIPaneDialog* m_pPaneDlgLayerProperties;
2110 CGUIDialogLayerProperties* m_pDlgLayerProperties;
2111 CGUIPaneDialog* m_pPaneDlgFigureGbrAttribute;
2112
2113
2114 friend class CInternalViewImage;
2115 friend class CGUIManagerContextMenuViewDrawing;
2116 friend class CGUIViewImageMiniMap;
2117 friend class CGUIPropertyGridPropertyViewImageList;
2118 friend class CGUIPropertyItemViewImageList;
2119 friend class CGUIPropertyGridPropertyViewFigure;
2120 friend class CGUIPropertyGridPropertyCategory;
2121 friend class CGUIPropertyItemViewFigure;
2122 friend class CGUIChildFrameImage;
2123 friend class CGUIViewImageLayer;
2124 friend class CGUIViewImageLayerObject;
2125 friend class CGUIManagerView;
2126 friend class CGUIManager;
2127 friend class CInternalViewManager;
2128 friend class CInternalCanvas;
2129 friend class CGUIManagerViewImageObject;
2130 friend class CGUIManagerDrawingViewImageObject;
2131 friend class CGUIManagerContextMenuViewImageObject;
2132 friend class CGUIViewImageCanvas;
2133 friend class CGUIViewToolBar;
2134 friend class CGUIMainFrame;
2135 friend class CGUIDialogCreateStencil;
2136 friend class CGUIDialogImageInfo;
2137 friend class CGUIDialogImagePageList;
2138 friend class CGUIDialogLayerProperties;
2139 friend class CGUIDialogLayerProperties;
2140 friend class CGUIDialogLoadRawImageSetting;
2141 friend class CGUIDialogLoadRawImageMultiSetting;
2142 friend class CGUIDialogHelp;
2143 friend class CGUIFixedViewDeclaration;
2144 friend class CGUIManagerViewDrawingObject;
2145 };
2146 }
2147}
2148
Template type 의 배열 클래스.
Definition RangeTree.h:19
FLImaging의 이미지 클래스
Definition FLImage.h:35
Template type 의 문자열 클래스
Definition INIUtilities.h:20
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1514
도형 배열을 표현하는 클래스
Definition FLFigureArray.h:26
도형을 표현하는 클래스의 기저 클래스
Definition FLFigure.h:27
점을 표현하는 클래스
Definition FLPoint.h:24
직사각형을 표현하는 클래스
Definition FLRect.h:24
고정 뷰 선언에 관한 클래스
Definition GUIFixedViewDeclaration.h:30
도면 뷰 클래스
Definition GUIViewDrawing.h:52
double GetPixelAccuracyX() const
도면 뷰의 Pixel Accuracy X 를 얻어옵니다.
virtual const CResult Save(const wchar_t *pWcsFileNameWithPath=nullptr)
도면을 저장합니다.
virtual FLImaging::Foundation::CFLPoint< double > GetCursorPosOnLButtonDown() const
마우스 왼쪽 버튼이 눌린 시점의 커서 위치를 반환합니다.
virtual const CResult ZoomAtCenter(double f64Scale)
현재 중심 좌표를 유지한 상태에서 이미지 뷰의 배율을 f64Scale로 설정
virtual void ShowCrosshair(bool bShow)
도면 뷰에서 마우스 커서 위치에 십자선을 draw 할 지 여부를 설정합니다.
virtual void ShowImageCoordinateOnCursor(bool bShow)
도면 뷰에서 마우스 커서 위치에 이미지 좌표를 디스플레이 할 지 여부를 설정합니다.
const CResult SetPixelAccuracyY(double f64PixelAccuracyY)
도면 뷰의 Pixel Accuracy Y 를 설정합니다.
virtual const CResult SetLayerAutoClearMode(int32_t i32LayerIndex, ELayerAutoClearMode eMode, bool bSet)
레이어의 자동 클리어 모드를 설정합니다.
const CResult CaptureScreen(Base::CFLImage &fliImage, bool bIncludeFrame=false)
현재 화면을 캡쳐합니다.
const CResult ClearMeasurement()
도면 뷰의 모든 Measurement 객체를 제거합니다.
virtual Foundation::CFLPoint< int32_t > ConvertImageCoordToClientCoord(double f64X, double f64Y) const
이미지 좌표를 클라이언트 좌표로 변환합니다.
virtual void SetCanvasColor(COLORREF clrCanvas)
도면 뷰의 배경색을 설정합니다.
virtual const CResult SetLayerAutoClearMode(ELayerAutoClearMode eMode, bool bSet)
모든 레이어의 자동 클리어 모드를 한꺼번에 설정합니다. 이름으로 구분되는 Layer와 인덱스로 구분되는 Layer 모두에 설정됩니다.
virtual void SetAvailableViewDrawingContextMenu(EAvailableViewDrawingContextMenu eMenu)
도면 뷰에 대해 가능한 컨텍스트 메뉴를 설정합니다.
virtual const CResult ShowToolBar(bool bShow) override
ToolBar 의 show/hide 여부를 설정합니다.
virtual void ClearAllLayers()
Drawing layers 위의 drawing 객체들을 클리어 합니다.
const CResult SetPixelAccuracyX(double f64PixelAccuracyX)
도면 뷰의 Pixel Accuracy X 를 설정합니다.
virtual const CResult SetDecimalPlaceOfCoordinate(uint8_t u8DecimalPlace=2)
마우스 커서 위치에 이미지 좌표 출력 시 소수점 표시 자릿수를 설정합니다. 소수점 둘째 자리까지 표시하려면(예 : 0.01, 2.54 등) 2 를 인자로 전달합니다....
const CResult ShowStatusBar(bool bShow)
StatusBar 의 show/hide 여부를 설정합니다.
const CResult SetPixelAccuracy(double f64PixelAccuracyX, double f64PixelAccuracyY)
도면 뷰의 Pixel Accuracy X, Y 를 설정합니다.
Foundation::ELengthUnit GetPixelAccuracyUnit() const
도면 뷰의 Pixel Accuracy 에 대한 단위를 얻어옵니다.
virtual Foundation::CFLPoint< double > ConvertCanvasCoordToImageCoord(int32_t i32X, int32_t i32Y) const
캔버스 좌표를 이미지 좌표로 변환합니다.
virtual void ShowGrid(bool bShow)
도면 뷰의 그리드 show/hide 여부를 설정합니다.
virtual const CResult SetLayerAutoClearMode(CGUIViewImageLayer *pLayer, ELayerAutoClearMode eMode, bool bSet)
레이어의 자동 클리어 모드를 설정합니다.
CGUIViewDrawing(const CGUIViewDrawing *pRhs)
복사 생성자(포인터)
DECLARE_DYNCREATE(CGUIViewDrawing) virtual ~CGUIViewDrawing()
기본 소멸자
virtual Foundation::CFLPoint< double > ConvertClientCoordToImageCoord(const Foundation::CFLPoint< int32_t > &point) const
클라이언트 좌표를 이미지 좌표로 변환합니다.
virtual Foundation::CFLPoint< int32_t > ConvertCanvasCoordToClientCoord(const Foundation::CFLPoint< int32_t > &flp) const
캔버스 좌표를 클라이언트 좌표로 변환합니다.
virtual bool IsSelectionEnabled() const
도면 뷰에서 마우스 드래그 시 선택 기능 활성화 여부를 얻어옵니다.
virtual const CResult SelectMenuItem(EMenuItemViewDrawing eMenuItemViewDrawing)
선택한 메뉴 아이템에 대한 명령을 수행합니다.
virtual Foundation::CFLRect< int32_t > ConvertImageCoordToCanvasCoord(const Foundation::CFLRect< double > &flr) const
이미지 좌표를 캔버스 좌표로 변환합니다.
const CResult ShowScrollBar(bool bShow)
ScrollBar 의 show/hide 여부를 설정합니다.
CGUIViewImageLayer * GetNamedLayer(int32_t i32Index) const
이름으로 정의된 레이어를 인덱스로 얻어 옵니다. 인덱스는 화면에 먼저 그려지는 레이어 순으로 정의됩니다.
const CResult SetPixelAccuracyUnit(Foundation::ELengthUnit eLenUnit)
도면 뷰의 Pixel Accuracy 에 대한 단위를 설정합니다.
virtual double GetScale() const
도면 뷰의 현재 스케일을 얻어 옵니다.
CGUIViewDrawing(const CGUIViewDrawing &rhs)
복사 생성자(레퍼런스)
const CResult DesynchronizePointOfView(CGUIViewDrawing *pTargetView)
파라미터의 뷰에 대해 시점 동기화를 해제합니다.
virtual const CResult Load(Base::CFLArray< Base::CFLString< wchar_t > > &flaFilePathToLoad, EViewDrawingLoadOption eOption=EViewDrawingLoadOption_Load)
목록에 포함된 도면 파일을 뷰에 불러옵니다.
EGUIViewDrawingHitArea GetHitArea() const
도면 뷰의 현재 마우스 위치에 대한 Hit 영역을 얻어 옵니다.
virtual Foundation::CFLPoint< double > GetViewCenterImageCoord() const
뷰의 중심 위치에 해당하는 이미지 좌표를 반환하는 함수
virtual void SetManagerContextMenu(const CGUIManagerContextMenuViewDrawing *pMgr)
컨텍스트 메뉴 관리자 객체를 설정합니다.
virtual bool GetLayerAutoClearMode(const CGUIViewImageLayer *pLayer, ELayerAutoClearMode eMode) const
지정한 모드에 대한 레이어의 자동 클리어 상태를 얻어 옵니다.
const CResult CaptureScreen(Base::CFLImage *pFliImage, bool bIncludeFrame=false)
현재 화면을 캡쳐합니다.
virtual void EnableSelection(bool bEnable)
도면 뷰에서 마우스 드래그 시 선택 기능 활성화 여부를 설정합니다.
virtual Foundation::CFLRect< int32_t > ConvertCanvasCoordToClientCoord(const Foundation::CFLRect< int32_t > &flr) const
캔버스 좌표를 클라이언트 좌표로 변환합니다.
virtual const CResult Load(const wchar_t *pWcsPath=nullptr, EViewDrawingLoadOption eOption=EViewDrawingLoadOption_Load)
도면을 뷰에 불러옵니다.
virtual Foundation::CFLRect< int32_t > ConvertImageCoordToClientCoord(const Foundation::CFLRect< double > &flr) const
이미지 좌표를 클라이언트 좌표로 변환합니다.
CGUIViewImageLayer * GetLayer(int32_t i32Index) const
매개변수로 전달된 인덱스의 레이어 포인터를 얻어 옵니다.
virtual EGUIViewDrawingTeachingMode GetTeachingMode() const
현재 뷰에 설정된 티칭 모드를 리턴합니다.
virtual const CResult ZoomFit()
이미지가 도면 뷰에 fit 되는 크기가 되도록 도면 뷰의 스케일을 조정합니다.
Foundation::CFLPoint< double > GetOffset() const
도면 뷰의 현재 오프셋을 얻어 옵니다. 패닝 또는 스케일 변경 시 도면 뷰의 오프셋이 변경됩니다.
virtual EZoomMode GetZoomMode() const
현재 마우스 왼쪽 버튼 클릭 액션에 설정된 zoom mode 를 반환합니다.
const CResult GetPixelAccuracy(double &f64PixelAccuracyX, double &f64PixelAccuracyY) const
도면 뷰의 Pixel Accuracy X, Y 를 얻어옵니다.
virtual void SetManagerViewDrawingObject(const CGUIManagerViewDrawingObject *pMgr)
Object 관리자 객체를 설정합니다.
static CGUIViewDrawing * CreateView(int32_t i32L, int32_t i32T, int32_t i32R, int32_t i32B, bool bStandalone=false)
새 도면 뷰를 생성 후 도면 뷰의 포인터를 반환합니다.
static CGUIViewDrawing * CreateView()
새 도면 뷰를 생성 후 도면 뷰의 포인터를 반환합니다.
const CResult SynchronizePointOfView(CGUIViewDrawing *pTargetView)
파라미터의 뷰와 현재 뷰의 시점을 동기화 합니다.
int32_t GetNamedLayerCount() const
이름으로 정의된 레이어의 개수를 리턴합니다.
virtual bool IsPanningMode() const
현재 마우스 드래그 액션이 panning 모드인지 여부를 반환합니다.
virtual Foundation::CFLPoint< int32_t > ConvertClientCoordToCanvasCoord(const Foundation::CFLPoint< int32_t > &flp) const
클라이언트 좌표를 캔버스 좌표로 변환합니다.
CGUIViewImageLayer * GetLayerByName(const std::wstring &strLayerName)
매개변수로 전달된 이름을 가진 레이어 포인터를 얻어 옵니다. 해당 이름을 가진 레이어가 없을 경우 새로 생성합니다.
virtual const CResult SetViewCenterAndScale(const Foundation::CFLPoint< double > &flpImageCoord, double f64Scale)
뷰의 중심을 특정 좌표 flpImageCoord로 설정 후 flpImageCoord를 중심으로 이미지 뷰의 배율을 f64Scale로 설정
virtual EAvailableViewDrawingFigureContextMenu GetAvailableViewDrawingContextMenuFigure() const
도면 뷰의 Figure 에 대해 가능한 컨텍스트 메뉴를 얻어 옵니다.
bool DoesLayerExist(const std::wstring &strLayerName) const
매개변수로 전달된 이름을 가진 레이어 존재 여부를 반환합니다.
virtual const CResult SetViewCenter(const Foundation::CFLPoint< double > &flpImageCoord)
뷰의 중심을 특정 좌표 flpImageCoord로 설정
const CResult ResignRootSyncView(EViewDrawingSyncOption eViewDrawingSyncOption)
특정 옵션에 대해 동기화 되어 있는 뷰들의 root view 가 현재 도면 뷰일 경우, 다른 뷰로 root view 를 교체합니다.
virtual bool IsCrosshairVisible() const
도면 뷰에서 마우스 커서 위치에 십자선을 디스플레이 할 지 여부를 얻어옵니다.
virtual EAvailableViewDrawingContextMenu GetAvailableViewDrawingContextMenu() const
도면 뷰에 대해 가능한 컨텍스트 메뉴를 얻어 옵니다.
virtual CGUIManagerContextMenuViewDrawing * GetManagerContextMenu() const
컨텍스트 메뉴 관리자 객체를 얻어 옵니다.
const CResult DeleteLayerByName(const std::wstring &strLayerName)
매개변수로 전달된 이름을 가진 레이어 객체를 삭제하고 메모리를 해제합니다.
bool IsSynchronized(EViewDrawingSyncOption eViewDrawingSyncOption) const
특정 옵션에 대해 현재 도면 뷰가 다른 도면 뷰와 동기화 되어 있는지 여부를 반환합니다.
virtual Foundation::CFLRect< double > ConvertClientCoordToImageCoord(const Foundation::CFLRect< int32_t > &rect) const
클라이언트 좌표를 이미지 좌표로 변환합니다.
virtual bool IsGridVisible() const
도면 뷰의 그리드 show/hide 여부를 얻어옵니다.
virtual CGUIManagerViewDrawingObject * GetManagerViewDrawingObject() const
Object 관리자 객체를 얻어 옵니다.
virtual const CResult ZoomFitToLayer(int32_t i32LayerIndex)
선택한 레이어 위에 그려진 도형 및 텍스트가 화면에 꽉 차도록 스케일 및 오프셋을 조정합니다.
virtual void SetPanningMode(bool bSet)
현재 마우스 드래그 액션을 panning 모드로 설정하거나 설정 해제합니다.
virtual FLImaging::Foundation::CFLPoint< double > GetCursorPosOnRButtonDown() const
마우스 오른쪽 버튼이 눌린 시점의 커서 위치를 반환합니다.
virtual COLORREF GetCanvasColor() const
도면 뷰의 배경색을 얻어옵니다.
const CResult GetPixelAccuracy(double *pF64PixelAccuracyX, double *pF64PixelAccuracyY) const
도면 뷰의 Pixel Accuracy X, Y 를 얻어옵니다.
const CResult DesynchronizePointOfViewAll()
현재 뷰의 시점 동기화를 해제합니다.
virtual FLImaging::Foundation::CFLPoint< double > GetCursorPosOnMButtonDown() const
마우스 가운데 버튼이 눌린 시점의 커서 위치를 반환합니다.
virtual Foundation::CFLPoint< int32_t > ConvertCanvasCoordToClientCoord(int32_t i32X, int32_t i32Y) const
캔버스 좌표를 클라이언트 좌표로 변환합니다.
virtual Foundation::CFLRect< int32_t > ConvertClientCoordToCanvasCoord(const Foundation::CFLRect< int32_t > &flr) const
클라이언트 좌표를 캔버스 좌표로 변환합니다.
virtual Foundation::CFLPoint< int32_t > ConvertClientCoordToCanvasCoord(int32_t i32X, int32_t i32Y) const
클라이언트 좌표를 캔버스 좌표로 변환합니다.
virtual Foundation::CFLPoint< double > ConvertClientCoordToImageCoord(int32_t i32X, int32_t i32Y) const
클라이언트 좌표를 이미지 좌표로 변환합니다.
virtual const CResult SelectMenuItem(EGUIViewDrawingMeasurementMode eMenuItemViewDrawing)
선택한 메뉴 아이템에 대한 명령을 수행합니다.
virtual uint8_t GetDecimalPlaceOfCoordinate() const
마우스 커서 위치에 출력되는 이미지 좌표의 소수점 표시 자릿수를 얻어 옵니다.
virtual Foundation::CFLRect< double > ConvertCanvasCoordToImageCoord(const Foundation::CFLRect< int32_t > &flr) const
캔버스 좌표를 이미지 좌표로 변환합니다.
CGUIViewImageLayer * GetLayerByName(const std::wstring &strLayerName, const CGUIViewImageLayer *pLayerRTTI)
매개변수로 전달된 이름을 가진 레이어 포인터를 얻어 옵니다. 해당 이름을 가진 레이어가 없을 경우 새로 생성합니다.
virtual const CResult ClearFile()
뷰를 클리어 합니다.
virtual Foundation::CFLPoint< int32_t > ConvertImageCoordToCanvasCoord(const Foundation::CFLPoint< double > &flp) const
이미지 좌표를 캔버스 좌표로 변환합니다.
EStatusPaneItem
상태 바 아이템
Definition GUIViewDrawing.h:97
@ EStatusPaneItem_CursorXValue
마우스 커서 X 좌표 값 아이템
Definition GUIViewDrawing.h:176
@ EStatusPaneItem_CursorXCaption
마우스 커서 X 좌표 제목 아이템
Definition GUIViewDrawing.h:168
@ EStatusPaneItem_WidthValue
너비 값 아이템
Definition GUIViewDrawing.h:128
@ EStatusPaneItem_FileNameCaption
파일 이름 제목 아이템
Definition GUIViewDrawing.h:104
@ EStatusPaneItem_WidthCaption
너비 제목 아이템
Definition GUIViewDrawing.h:120
@ EStatusPaneItem_ZoomCaption
줌 제목 아이템
Definition GUIViewDrawing.h:152
@ EStatusPaneItem_ItemCount
enum 개수
Definition GUIViewDrawing.h:200
@ EStatusPaneItem_FileNameValue
파일 이름 값 아이템
Definition GUIViewDrawing.h:112
@ EStatusPaneItem_ZoomValue
줌 값 아이템
Definition GUIViewDrawing.h:160
@ EStatusPaneItem_CursorYValue
마우스 커서 Y 좌표 값 아이템
Definition GUIViewDrawing.h:192
@ EStatusPaneItem_HeightCaption
높이 제목 아이템
Definition GUIViewDrawing.h:136
@ EStatusPaneItem_HeightValue
높이 값 아이템
Definition GUIViewDrawing.h:144
@ EStatusPaneItem_CursorYCaption
마우스 커서 Y 좌표 제목 아이템
Definition GUIViewDrawing.h:184
virtual void SetAvailableViewDrawingContextMenuFigure(EAvailableViewDrawingFigureContextMenu eMenu)
도면 뷰의 Figure 에 대해 가능한 컨텍스트 메뉴를 설정합니다.
virtual Foundation::CFLPoint< int32_t > ConvertImageCoordToCanvasCoord(double f64X, double f64Y) const
이미지 좌표를 캔버스 좌표로 변환합니다.
double GetPixelAccuracyY() const
도면 뷰의 Pixel Accuracy X 를 얻어옵니다.
virtual Foundation::CFLPoint< double > ConvertCanvasCoordToImageCoord(const Foundation::CFLPoint< int32_t > &flp) const
캔버스 좌표를 이미지 좌표로 변환합니다.
CGUIViewDrawing()
기본 생성자
virtual const CResult ZoomFitToLayer(const CGUIViewImageLayer *pLayer)
선택한 레이어 위에 그려진 도형 및 텍스트가 화면에 꽉 차도록 스케일 및 오프셋을 조정합니다.
virtual bool IsImageCoordinateOnCursorVisible() const
도면 뷰에서 마우스 커서 위치에 이미지 좌표를 디스플레이 할 지 여부를 얻어옵니다.
virtual const CResult SetTeachingMode(EGUIViewDrawingTeachingMode eTeachingMode)
현재 뷰를 도형 또는 측정 등을 티칭하는 모드로 설정하거나, 설정 해제합니다.
virtual bool IsImageMiniMapVisible() const
미니맵 show/hide 여부를 얻어옵니다.
virtual void SetZoomMode(EZoomMode eZoomMode)
마우스 왼쪽 버튼 클릭 액션에 Zoom 모드를 설정하거나 설정 해제합니다.
virtual void ShowImageMiniMap(bool bShow)
미니맵 show/hide 여부를 설정합니다.
virtual Foundation::CFLPoint< int32_t > ConvertImageCoordToClientCoord(const Foundation::CFLPoint< double > &flp) const
이미지 좌표를 클라이언트 좌표로 변환합니다.
double GetZoomFitScale(double f64CanvasWidth, double f64CanvasHeight) const
이미지의 너비와 높이, 이미지를 draw 할 영역의 너비와 높이에 따른 Zoom fit 상태에서의 스케일을 얻어 옵니다. 이미지의 너비와 높이는 현재 도면 뷰에 띄워진 이미지의 크기...
CGUIViewDrawing * GetRootSyncView(EViewDrawingSyncOption eViewDrawingSyncOption) const
특정 옵션에 대해 현재 도면 뷰와 동기화 되어 있는 root view 를 얻어 옵니다.
virtual bool GetLayerAutoClearMode(int32_t i32LayerIndex, ELayerAutoClearMode eMode) const
지정한 모드에 대한 레이어의 자동 클리어 상태를 얻어 옵니다.
뷰의 기반 클래스
Definition GUIViewImageBase.h:43
이미지 뷰 위에 도형 또는 문자 등을 그릴 수 있는 레이어 클래스
Definition GUIViewImageLayer.h:45
ELengthUnit
길이 단위를 나타냅니다.
Definition DefinitionsFoundation.h:77
EMenuItemViewDrawing
Drawing 뷰의 팝업 메뉴 아이템
Definition GUIViewDrawingDefinitions.h:29
EViewDrawingLoadOption
도면 뷰의 불러오기 옵션 Example. 다음 코드는 재귀적인 폴더를 로드합니다. eOption = Load | RecursiveIfFolder
Definition GUIViewDrawingDefinitions.h:1436
EGUIViewDrawingTeachingMode
Drawing 뷰의 티칭 모드
Definition GUIViewDrawingDefinitions.h:1125
EFigureObjectInformationText
도형 객체의 정보를 나타내는 문자열 옵션
Definition GUIDefinitions.h:6804
EGUIViewDrawingHitArea
도면 뷰 위에서 마우스가 위치한 영역입니다.
Definition GUIViewDrawingDefinitions.h:1301
ELayerAutoClearMode
이미지 뷰 레이어의 자동 클리어 모드로, 사용자가 CGUIViewImageLayer 의 Clear() 함수를 명시적으로 호출하지 않아도 자동으로 Layer 의 자동 클리어가 적용되는...
Definition GUIDefinitions.h:5405
EGUIViewDrawingMeasurementMode
Drawing 뷰의 측정 모드
Definition GUIViewDrawingDefinitions.h:1162
EAvailableViewDrawingContextMenu
도면 뷰에 대한 가능한 컨텍스트 메뉴
Definition GUIViewDrawingDefinitions.h:692
EViewDrawingSyncOption
Drawing 뷰 동기화 옵션
Definition GUIViewDrawingDefinitions.h:1700
EZoomMode
이미지 뷰의 스케일 설정 모드입니다.
Definition GUIDefinitions.h:5245
EAvailableViewDrawingFigureContextMenu
도형 객체에 대한 가능한 컨텍스트 메뉴
Definition GUIViewDrawingDefinitions.h:1532