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

195 lines
6.1 KiB
C++

// pbrusvw.h : interface of the CPBView class
//
class CPBDoc;
class CImgWnd;
class CThumbNailView;
class CFloatThumbNailView;
class CBitmapObj;
class C_PrintDialogEx;
/***************************************************************************/
class CPBView : public CView
{
protected: // create from serialization only
DECLARE_DYNCREATE( CPBView )
CPBView();
public: /* Attributes ***********************************************/
enum DOCKERS
{
unknown,
toolbox,
colorbox,
};
CImgWnd* m_pImgWnd;
CThumbNailView* m_pwndThumbNailView;
CFloatThumbNailView* m_pwndThumbNailFloat;
public: /* Operations ***********************************************/
CPBDoc* GetDocument();
void OnPaletteChanged(CWnd* pFocusWnd);
BOOL OnQueryNewPalette();
BOOL SetObject();
int SetTools();
CPoint GetDockedPos ( DOCKERS tool, CSize& sizeTool );
void GetFloatPos ( DOCKERS tool, CRect& rectPos );
void SetFloatPos ( DOCKERS tool, CRect& rectPos );
void ShowThumbNailView( void );
void HideThumbNailView( void );
private: /***************************************************************/
C_PrintDialogEx *m_pdexSub; // substitute in for CPrintDialog
CPrintDialog *m_pdRestore; // dialog pointer to restore after printing
BOOL SetView( CBitmapObj* pBitmapObj );
void ToggleThumbNailVisibility( void );
BOOL IsThumbNailVisible ( void );
BOOL CreateThumbNailView();
BOOL DestroyThumbNailView();
BOOL InitPageStruct( LPPAGESETUPDLGA );
static UINT APIENTRY PaintHookProc( HWND, UINT, WPARAM, LPARAM );
BOOL GetPrintToInfo(CPrintInfo* pInfo);
public: /* Implementation **********************************************/
virtual ~CPBView();
virtual BOOL PreCreateWindow( CREATESTRUCT& cs );
virtual void OnInitialUpdate( void );
virtual void OnActivateView ( BOOL bActivate, CView* pActivateView, CView* pDeactiveView );
virtual void OnDraw ( CDC* pDC ); // overridden to draw this view
virtual BOOL OnCmdMsg ( UINT, int, void*, AFX_CMDHANDLERINFO*);
virtual void OnPrepareDC ( CDC* pDC, CPrintInfo* pInfo = NULL );
// Printing support
virtual BOOL OnPreparePrinting( CPrintInfo* pInfo );
virtual void OnBeginPrinting ( CDC* pDC, CPrintInfo* pInfo );
virtual void OnPrint ( CDC* pDC, CPrintInfo* pInfo );
virtual void OnEndPrinting ( CDC* pDC, CPrintInfo* pInfo );
BOOL CanSetWallpaper();
void SetTheWallpaper( BOOL bTiled = FALSE );
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected: /************************************************************/
//{{AFX_MSG(CPBView)
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnFilePrint();
afx_msg void OnFilePrintPreview();
afx_msg void OnEditUndo();
afx_msg void OnEditRedo();
afx_msg void OnEditCut();
afx_msg void OnEditClear();
afx_msg void OnEditCopy();
afx_msg void OnEditPaste();
afx_msg void OnUpdateEditUndo(CCmdUI* pCmdUI);
afx_msg void OnUpdateEditRedo(CCmdUI* pCmdUI);
afx_msg void OnUpdateEditPaste(CCmdUI* pCmdUI);
afx_msg void OnViewGrid();
afx_msg void OnViewZoom100();
afx_msg void OnViewZoom400();
afx_msg void OnUpdateViewZoom100(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewZoom400(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewGrid(CCmdUI* pCmdUI);
afx_msg void OnImageInvertColors();
afx_msg void OnUpdateImageInvertColors(CCmdUI* pCmdUI);
afx_msg void OnTglopaque();
afx_msg void OnUpdateTglopaque(CCmdUI* pCmdUI);
afx_msg void OnImageAttributes();
afx_msg void OnSel2bsh();
afx_msg void OnLargerbrush();
afx_msg void OnSmallerbrush();
afx_msg void OnViewZoom();
afx_msg void OnImageFlipRotate();
afx_msg void OnUpdateImageFlipRotate(CCmdUI* pCmdUI);
afx_msg void OnEditcolors();
afx_msg void OnUpdateEditcolors(CCmdUI* pCmdUI);
#if 0 // unused features
afx_msg void OnLoadcolors();
afx_msg void OnUpdateLoadcolors(CCmdUI* pCmdUI);
afx_msg void OnSavecolors();
afx_msg void OnUpdateSavecolors(CCmdUI* pCmdUI);
#endif
afx_msg void OnEditSelectAll();
afx_msg void OnEditPasteFrom();
afx_msg void OnEditCopyTo();
afx_msg void OnUpdateEditCopyTo(CCmdUI* pCmdUI);
afx_msg void OnImageStretchSkew();
afx_msg void OnUpdateImageStretchSkew(CCmdUI* pCmdUI);
afx_msg void OnViewViewPicture();
afx_msg void OnUpdateViewViewPicture(CCmdUI* pCmdUI);
afx_msg void OnViewTextToolbar();
afx_msg void OnUpdateViewTextToolbar(CCmdUI* pCmdUI);
afx_msg void OnFileSetaswallpaperT();
afx_msg void OnUpdateFileSetaswallpaperT(CCmdUI* pCmdUI);
afx_msg void OnFileSetaswallpaperC();
afx_msg void OnUpdateFileSetaswallpaperC(CCmdUI* pCmdUI);
afx_msg void OnViewThumbnail();
afx_msg void OnUpdateViewThumbnail(CCmdUI* pCmdUI);
afx_msg void OnUpdateImageAttributes(CCmdUI* pCmdUI);
afx_msg void OnEscape();
afx_msg void OnEscapeServer();
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
afx_msg void OnUpdateEditSelection(CCmdUI* pCmdUI);
afx_msg void OnUpdateEditClearSel(CCmdUI* pCmdUI);
afx_msg void OnFilePageSetup();
afx_msg void OnImageClearImage();
afx_msg void OnUpdateImageClearImage(CCmdUI* pCmdUI);
//}}AFX_MSG
afx_msg void OnDestroy();
afx_msg BOOL PreTranslateMessage(MSG *pMsg);
#ifdef CUSTOMFLOAT
afx_msg void OnUpdateViewColorBox(CCmdUI* pCmdUI);
afx_msg void OnUpdateViewToolBox(CCmdUI* pCmdUI);
#endif
DECLARE_MESSAGE_MAP()
friend class CPrintResObj;
};
#ifndef _DEBUG // debug version in pbrusvw.cpp
inline CPBDoc* CPBView::GetDocument() { return (CPBDoc*)m_pDocument; }
#endif
#ifndef PD_NOCURRENTPAGE
#define PD_NOCURRENTPAGE 0x00800000
#endif //PD_NOCURRENTPAGE
/***************************************************************************/