windows-nt/Source/XPSP1/NT/shell/osshell/accesory/eudcedit/editwnd.h
2020-09-26 16:20:57 +08:00

132 lines
3.6 KiB
C++

//
// 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()
};
/////////////////////////////////////////////////////////////////////////////