// drawdoc.h : interface of the CDrawDoc class // // This is a part of the Microsoft Foundation Classes C++ library. // Copyright (C) 1992-1998 Microsoft Corporation // All rights reserved. // // This source code is only intended as a supplement to the // Microsoft Foundation Classes Reference and related // electronic documentation provided with the library. // See these sources for detailed information regarding the // Microsoft Foundation Classes product. #include "drawobj.h" #include "summinfo.h" class CDrawView; class CDrawDoc : public COleDocument { protected: // create from serialization only CDrawDoc(); DECLARE_DYNCREATE(CDrawDoc) // Attributes public: CDrawObjList* GetObjects() { return &m_objects; } const CSize& GetSize() const { return m_size; } void ComputePageSize(); int GetMapMode() const { return m_nMapMode; } COLORREF GetPaperColor() const { return m_paperColor; } CSummInfo *m_pSummInfo; // Operations public: CDrawObj* ObjectAt(const CPoint& point); void Draw(CDC* pDC, CDrawView* pView); void Add(CDrawObj* pObj); void Remove(CDrawObj* pObj); // Implementation public: virtual ~CDrawDoc(); virtual void Serialize(CArchive& ar); // overridden for document i/o #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif protected: virtual BOOL OnNewDocument(); virtual BOOL OnOpenDocument(LPCTSTR lpszPathName); virtual BOOL OnSaveDocument(LPCTSTR lpszPathName); CDrawObjList m_objects; CSize m_size; int m_nMapMode; COLORREF m_paperColor; // Generated message map functions protected: //{{AFX_MSG(CDrawDoc) afx_msg void OnViewPaperColor(); afx_msg void OnFileSummaryInfo(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; /////////////////////////////////////////////////////////////////////////////