You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
3.7 KiB
131 lines
3.7 KiB
//
|
|
// Copyright (c) 1997-1999 Microsoft Corporation.
|
|
//
|
|
#include <afxtempl.h>
|
|
|
|
class CEditWnd : public CMDIChildWnd
|
|
{
|
|
DECLARE_DYNCREATE(CEditWnd)
|
|
public:
|
|
CEditWnd();
|
|
int SaveEUDCCode(UINT msgBoxType);
|
|
void CallCharTextOut();
|
|
void SetDuplicateRect( RECT *rect, POINT *point);
|
|
void FlipRotate( int RadioItem);
|
|
void WriteSelRectBitmap();
|
|
BOOL SelectCodes();
|
|
BOOL UpdateBitmap();
|
|
BOOL GetBitmapDirty();
|
|
BOOL SetBitmapDirty( BOOL Flg);
|
|
BOOL Create( LPCTSTR szTitle, LONG Style,
|
|
RECT EudcWndRect, CMDIFrameWnd* Parent);
|
|
virtual ~CEditWnd();
|
|
void CaptionDraw();
|
|
|
|
private:
|
|
BOOL MoveClipRect();
|
|
void RotateFigure90( LPBYTE pBuf1, LPBYTE pBuf2, int bWid, int bHgt);
|
|
void RotateFigure270( LPBYTE pBuf1, LPBYTE pBuf2,int bWid, int bHgt);
|
|
void DrawGridLine( CDC *dc);
|
|
void DrawMoveRect( CDC *dc);
|
|
void DrawStretchRect( CDC *dc);
|
|
BOOL CurveFittingDraw( CDC *dc);
|
|
void CorrectMouseDownPoint( CPoint point);
|
|
void CorrectMouseUpPoint( CPoint point);
|
|
void DrawClipBmp();
|
|
void UndoImageDraw();
|
|
void EraseRectangle();
|
|
void EraseFreeForm();
|
|
BOOL SetFreeForm();
|
|
void ZoomPoint( CPoint *DrawPt, int x, int y);
|
|
void IllegalRect( PPOINT ptTL, PPOINT ptBR);
|
|
void DrawFreeForm( BOOL MouseSts);
|
|
void SelectFreeForm( BOOL MouseSts);
|
|
void ToolInit( int LRButton);
|
|
void ToolTerm();
|
|
void DrawRubberBand( BOOL StretchFlag);
|
|
void SetMoveRect();
|
|
void SetValidRect();
|
|
void SetPickRect();
|
|
void SetClickRect();
|
|
void StretchMoveRect();
|
|
void DrawRectBmp();
|
|
void DrawPoint( CPoint Pt, BOOL bErase);
|
|
void DrawToPoint(BOOL bErase);
|
|
void InitFlipRotate( CDC *RotateDC, CBitmap *RotateBMP);
|
|
BOOL DrawStretchClipToDisp();
|
|
BOOL CreateNewBitmap();
|
|
BOOL CreateUndoBitmap();
|
|
BOOL ClipPickValueInit();
|
|
BOOL InitEditLogfont();
|
|
BOOL ClipImageCopy();
|
|
BOOL ClipImageCut();
|
|
int CheckClipRect( POINT ClickPoint);
|
|
|
|
private:
|
|
CBitmap UndoImage;
|
|
CBitmap CRTDrawBmp;
|
|
CBitmap ImageBmp;
|
|
CDC CRTDrawDC;
|
|
CDC ImageDC;
|
|
BOOL BitmapDirty;
|
|
BOOL RectClipFlag;
|
|
BOOL UndoBitmapFlag;
|
|
BOOL IsCapture;
|
|
BOOL ButtonFlag;
|
|
UINT ClipboardFormat;
|
|
int Ratio;
|
|
int CheckNum;
|
|
int BrushWidth;
|
|
CArray<CPoint,CPoint> m_pointArray;
|
|
CArray<CPoint,CPoint> m_SelectArray;
|
|
CRgn FreeRgn;
|
|
CRgn PickRgn;
|
|
CPoint ptStart;
|
|
CPoint ptPrev;
|
|
CPoint ptEnd;
|
|
CRect PickRect[8];
|
|
CRect ClipRect[5];
|
|
CRect EudcWndRect;
|
|
|
|
public:
|
|
TCHAR SelectFont[40];
|
|
int SelectItem;
|
|
int ZoomRate;
|
|
WORD UpdateCode;
|
|
BOOL GridShow;
|
|
WORD CallCode;
|
|
BOOL FlagTmp;
|
|
BOOL bFocus;
|
|
|
|
protected:
|
|
static CMenu NEAR menu;
|
|
|
|
//{{AFX_MSG(CEditWnd)
|
|
afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
|
|
afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
|
|
afx_msg void OnMouseMove(UINT nFlags, CPoint point);
|
|
afx_msg void OnPaint();
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
afx_msg void OnGaijiCopy();
|
|
afx_msg void OnGaijiCut();
|
|
afx_msg void OnGaijiPaste();
|
|
afx_msg void OnGaijiUndo();
|
|
afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
|
|
afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
|
|
afx_msg void OnSize(UINT nType, int cx, int cy);
|
|
afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message);
|
|
afx_msg void OnUpdateGaijiPaste(CCmdUI* pCmdUI);
|
|
afx_msg void OnMDIActivate(BOOL bActivate, CWnd* pActivateWnd, CWnd* pDeactivateWnd);
|
|
afx_msg void OnUpdateGaijiCopy(CCmdUI* pCmdUI);
|
|
afx_msg void OnUpdateGaijiCut(CCmdUI* pCmdUI);
|
|
afx_msg void OnDeleteEdit();
|
|
afx_msg void OnUpdateDeleteEdit(CCmdUI* pCmdUI);
|
|
afx_msg void OnUpdateGaijiUndo(CCmdUI* pCmdUI);
|
|
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
afx_msg void OnClose();
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|