home *** CD-ROM | disk | FTP | other *** search
/ Mastering Microsoft Visual C++ 4 (2nd Edition) / VisualC4.ISO / minidrw3 / miniddoc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-30  |  1.6 KB  |  77 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.    virtual void Serialize (CArchive& ar);
  24. };
  25.  
  26. class CMiniDrawDoc : public CDocument
  27. {
  28. protected:
  29.    CTypedPtrArray<CObArray, CLine*> m_LineArray;  
  30.    
  31. public:
  32.    void AddLine (int X1, int Y1, int X2, int Y2);
  33.    CLine *GetLine (int Index);
  34.    int GetNumLines ();
  35.  
  36. protected: // create from serialization only
  37.    CMiniDrawDoc();
  38.    DECLARE_DYNCREATE(CMiniDrawDoc)
  39.  
  40. // Attributes
  41. public:
  42.  
  43. // Operations
  44. public:
  45.  
  46. // Overrides
  47.    // ClassWizard generated virtual function overrides
  48.    //{{AFX_VIRTUAL(CMiniDrawDoc)
  49.    public:
  50.    virtual BOOL OnNewDocument();
  51.    virtual void Serialize(CArchive& ar);
  52.    virtual void DeleteContents();
  53.    //}}AFX_VIRTUAL
  54.  
  55. // Implementation
  56. public:
  57.    virtual ~CMiniDrawDoc();
  58. #ifdef _DEBUG
  59.    virtual void AssertValid() const;
  60.    virtual void Dump(CDumpContext& dc) const;
  61. #endif
  62.  
  63. protected:
  64.  
  65. // Generated message map functions
  66. protected:
  67.    //{{AFX_MSG(CMiniDrawDoc)
  68.    afx_msg void OnEditClearAll();
  69.    afx_msg void OnUpdateEditClearAll(CCmdUI* pCmdUI);
  70.    afx_msg void OnEditUndo();
  71.    afx_msg void OnUpdateEditUndo(CCmdUI* pCmdUI);
  72.    //}}AFX_MSG
  73.    DECLARE_MESSAGE_MAP()
  74. };
  75.  
  76. /////////////////////////////////////////////////////////////////////////////
  77.