FLImaging 6.12.9.2
GUIClipboardUtilities.h
1#pragma once
2#include "DefinitionsGUI.h"
3
4namespace FLImaging
5{
6 namespace GUI
7 {
8 class CGUIViewImage;
10
38 {
39 public:
48
57
68
90
108
136 static const CResult SetCopySourceImage(Base::CFLImage* pFliSource,
137 double f64MinVal = 0.,
138 double f64MaxVal = 1.,
139 bool bSegmentationWithColor = false);
140
151
170
191 static void CopyFigureObject(CGUIViewImageBase* pViewSource,
192 const std::vector<const Foundation::CFLFigure*>* pVctFigureSrc);
193
214 static const CResult PasteFigureObject(CGUIViewImageBase* pViewTarget);
215
226
227 static Base::CFLString<wchar_t> GetTextFromClipboard();
228
229 virtual void OnReceiveBroadcast(const Base::CBroadcastMessage* pMessage) override;
230
231 DeclareGetClassType();
232
233 protected:
234 static const CResult InternalAppendClipboardImagePageInfo(std::vector<SClipboardImagePageInfo>& vctIP, std::vector<int64_t>& vctI64IPSize, int64_t& i64MallocSize, const Base::CFLImagePage* pIP);
235 static const CResult InternalAppendClipboardImageFileName(std::vector<const wchar_t*>& vctWcsFileName, std::vector<int64_t>& vctI64SrcFileNameLen, int64_t& i64MallocSize, const Base::CFLImage* pFliSrc);
236 static const CResult InternalAppendClipboardImagePageName(std::vector<const wchar_t*>& vctWcsPageName, std::vector<int64_t>& vctI64SrcPageNameLen, int64_t& i64MallocSize, const Base::CFLImagePage* pIP);
237 static const CResult InternalAppendClipboardImageFigures(std::vector<std::vector<const wchar_t*>>& vct2FigureStr, std::vector<std::vector<int64_t>>& vct2FigureStrLen, std::vector<int64_t>& vctI64SrcFigureCnt, int64_t& i64MallocSize, const Base::CFLImage* pFliSrc);
238 static const CResult InternalAppendClipboardImageExtraData(std::vector<std::vector<int64_t>>& vct2I64ExtraDataSize, std::vector<int64_t>& vctI64SrcExtraDataSize, std::vector<int64_t>& vctI64SrcExtraDataCnt, int64_t& i64MallocSize, const Base::CFLImage* pFliSrc);
239 static const CResult InternalAppendClipboardImageBuffer(std::vector<int64_t>& vctI64SrcOrigImgSizeByte, int64_t& i64MallocSize, const Base::CFLImage* pFliSrc);
240
241 static const CResult InternalSetClipboardDataFLImage(
242 const Base::CFLImage* pFliSource,
243 const std::vector<SClipboardImagePageInfo>& vctIP,
244 const std::vector<int64_t>& vctI64IPSize,
245 const std::vector<const wchar_t*>& vctWcsFileName,
246 const std::vector<int64_t>& vctI64SrcFileNameLen,
247 const std::vector<const wchar_t*>& vctWcsPageName,
248 const std::vector<int64_t>& vctI64SrcPageNameLen,
249 const std::vector<int64_t>& vctI64SrcFigureCnt,
250 const std::vector<std::vector<int64_t>>& vct2FigureStrLen,
251 const std::vector<std::vector<const wchar_t*>>& vct2FigureStr,
252 const std::vector<int64_t>& vctI64SrcExtraDataCnt,
253 const std::vector<int64_t>& vctI64SrcExtraDataSize,
254 const std::vector<std::vector<int64_t>>& vct2I64ExtraDataSize,
255 const std::vector<int64_t>& vctI64SrcOrigImgSizeByte,
256 int64_t i64AllocSizeFLImage);
257
258 static const CResult InternalSetClipboardDataDIB(
259 const Base::CFLImage* pFliSource,
260 double f64MinVal,
261 double f64MaxVal,
262 bool bSegmentationWithColor,
263 int64_t i64AllocSizeDIB);
264
265 private:
266 DWORD m_dwClipboardSequenceNumber;
267 Base::CFLImage* m_pFliCopySource;
268 Base::CFLImage m_fliIntrinsicCopySource;
269 CGUIViewImage* m_pViewCopyFigureSource;
270 };
271 }
272}
브로드캐스트 메시지 클래스
Definition BroadcastMessage.h:27
FLImaging의 최상위 기저 클래스
Definition FLBase.h:36
FLImaging의 이미지 클래스
Definition FLImage.h:35
CFLImage 의 Page 클래스
Definition FLImagePage.h:37
Template type 의 문자열 클래스
Definition FLString.h:34
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1640
static void CopyFigureObject(CGUIViewImageBase *pViewSource, const std::vector< const Foundation::CFLFigure * > *pVctFigureSrc)
소스 뷰에서 도형(Figure) 객체들을 내부 클립보드 버퍼에 복사합니다.
static const CResult GetFLImageFromClipboard(Base::CFLImage &fliDst)
현재 클립보드에 있는 이미지를 CFLImage 로 변환합니다.
virtual ~CGUIClipboardUtilities()
소멸자.
static const CResult SetCopySourceImage(Base::CFLImage *pFliSource, double f64MinVal=0., double f64MaxVal=1., bool bSegmentationWithColor=false)
클립보드 복사/붙여넣기에 사용할 원본 이미지를 설정합니다.
static const CResult PasteFigureObject(CGUIViewImageBase *pViewTarget)
이전에 복사한 도형(Figure) 객체들을 대상 뷰에 붙여넣습니다.
static CGUIClipboardUtilities * GetInstance()
클립보드 유틸리티의 전역 인스턴스를 반환합니다.
static const Base::CFLImage * GetIntrinsicCopySourceImage()
내부적으로 보관 중인 복사 원본 이미지 인스턴스를 반환합니다.
virtual void OnReceiveBroadcast(const Base::CBroadcastMessage *pMessage) override
Callback 함수. BroadcastMessage를 수신받는 함수
static void UpdateClipboardSequenceNumber()
내부에 저장된 클립보드 시퀀스 번호를 갱신합니다.
static const Base::CFLImage * GetCopySourceImage()
현재 등록된 복사 원본 이미지를 반환합니다.
static CGUIViewImage * GetViewImageCopyFigureSource()
마지막 도형 복사 작업에서 소스로 사용된 CGUIViewImage 를 반환합니다.
뷰의 기반 클래스
Definition GUIViewImageBase.h:43
이미지 뷰 클래스
Definition GUIViewImage.h:319
Definition D2DObject.h:12