home *** CD-ROM | disk | FTP | other *** search
/ Mastering Microsoft Visual C++ 4 (2nd Edition) / VisualC4.ISO / minidrw5 / miniddoc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-30  |  1.7 KB  |  78 lines

  1. // MiniDDoc.h : interface of the CMiniDrawDoc class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4.  
  5. class CLine : public CObject
  6. {
  7. protected:
  8.    DWORD m_X1, m_Y1, m_X2, m_Y2;
  9.  
  10.    CLine () 
  11.       {}
  12.    DECLARE_SERIAL (CLine)
  13.  
  14. public:
  15.    CLine (int X1, int Y1, int X2, int Y2)
  16.       {
  17.       m_X1 = X1;
  18.       m_Y1 = Y1;
  19.       m_X2 = X2;
  20.       m_Y2 = Y2;
  21.       }     
  22.    void Draw (CDC *PDC);
  23.    CRect GetDimRect ();
  24.    virtual void Serialize (CArchive& ar);
  25. };
  26.  
  27. class CMiniDrawDoc : public CDocument
  28. {
  29. protected:
  30.    CTypedPtrArray<CObArray, CLine*> m_LineArray;  
  31.    
  32. public:
  33.    CLine *AddLine (int X1, int Y1, int X2, int Y2);
  34.    CLine *GetLine (int Index);
  35.    int GetNumLines ();
  36.  
  37. protected: // create from serialization only
  38.    CMiniDrawDoc();
  39.    DECLARE_DYNCREATE(CMiniDrawDoc)
  40.  
  41. // Attributes
  42. public:
  43.  
  44. // Operations
  45. public:
  46.  
  47. // Overrides
  48.    // ClassWizard generated virtual function overrides
  49.    //{{AFX_VIRTUAL(CMiniDrawDoc)
  50.    public:
  51.    virtual BOOL OnNewDocument();
  52.    virtual void Serialize(CArchive& ar);
  53.    virtual void DeleteContents();
  54.    //}}AFX_VIRTUAL
  55.  
  56. // Implementation
  57. public:
  58.    virtual ~CMiniDrawDoc();
  59. #ifdef _DEBUG
  60.    virtual void AssertValid() const;
  61.    virtual void Dump(CDumpContext& dc) const;
  62. #endif
  63.  
  64. protected:
  65.  
  66. // Generated message map functions
  67. protected:
  68.    //{{AFX_MSG(CMiniDrawDoc)
  69.    afx_msg void OnEditClearAll();
  70.    afx_msg void OnUpdateEditClearAll(CCmdUI* pCmdUI);
  71.    afx_msg void OnEditUndo();
  72.    afx_msg void OnUpdateEditUndo(CCmdUI* pCmdUI);
  73.    //}}AFX_MSG
  74.    DECLARE_MESSAGE_MAP()
  75. };
  76.  
  77. /////////////////////////////////////////////////////////////////////////////
  78.