home *** CD-ROM | disk | FTP | other *** search
/ Stars of Shareware: Programmierung / SOURCE.mdf / programm / windows / c / sprmgr20 / sprite / demo16 / sprmgr.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-07-09  |  2.4 KB  |  78 lines

  1. // sprmgr.h : interface of the CSpriteMgr class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4.  
  5. #define TOPSPRITE        -1
  6. #define BOTTOMSPRITE    -2
  7. #define SPRITE_ERROR_ID    -1
  8.  
  9. class CSpriteMgr : public CObject
  10. {
  11.     DECLARE_SERIAL(CSpriteMgr)
  12. public:
  13.     CSpriteMgr();
  14.     
  15. // Attributes
  16. protected:
  17.     CObList        m_Sprites;
  18.     BOOL        m_bDragging;
  19.     CSprite*    m_pDraggedSprite;
  20.  
  21.     BOOL        m_bInDeferBlock;
  22.     CPtrArray    m_DeferPositions;
  23.     CObArray    m_DeferSprites;
  24.  
  25. // Operations
  26. public:
  27.     virtual BOOL AddSprite(CSprite* pSprite, int nPlaceInFrontOfID = TOPSPRITE);    
  28.     virtual void RemoveSprite(CDC* pDC, int nID, BOOL bFreeMem = TRUE);
  29.  
  30.     virtual void ShowSprite(CDC* pDC, int nID, BOOL bShow);    
  31.     virtual BOOL IsSpriteVisible(int nID);
  32.     
  33.     virtual BOOL IntersectSprites(CObArray* pObArray, CRect& rect);
  34.     virtual BOOL IntersectSprites(CObArray* pBeneath, CObArray* pAbove, 
  35.                                   CSprite* pSprite, CRect additionalRect = CRect(0,0,0,0));
  36.  
  37.     virtual void MoveSprite(int nID, CDC* pDC, CPoint &pos);
  38.     virtual void MoveSprite(CSprite* pSprite, CDC* pDC, CPoint &pos);
  39.  
  40.     virtual void AnimateSprite(int nID, CDC *pDC, CPoint& newPos, int nStepFactor);
  41.     virtual void AnimateSprite(CSprite* pSprite, CDC *pDC, CPoint& newPos, int nStepFactor);
  42.  
  43.     virtual void SkipFrames(int nID, BOOL bShow, int nOffset = 1, CDC *pDC = NULL);
  44.  
  45.     virtual void OnPaint(CDC* pDC);
  46.  
  47.     virtual BOOL HitTest(CObArray* pObArray, CPoint& point, BOOL bExact, CDC* pDC);
  48.  
  49.     virtual int  StartDrag(CWnd* pWnd, CPoint& pos, BOOL bExact, CDC* pDC = NULL);    
  50.     virtual void OnDrag(CDC* pDC, CPoint& pos);
  51.     virtual void EndDrag(CDC* pDC, CPoint& pos);
  52.     virtual BOOL IsDragging();
  53.  
  54.     virtual CSprite* GetSpriteFromID(int nID);
  55.     CSprite* operator[](int nID);
  56.  
  57.     virtual void ChangeZOrder(CDC* pDC, int nID, int nPlaceInFrontOfID = TOPSPRITE);
  58.  
  59.     virtual BOOL BeginDeferSpritePos();
  60.     virtual void DeferSpritePos(int nID, CPoint &pos);
  61.     virtual void DeferSpritePos(CSprite* pSprite, CPoint &pos);
  62.     virtual void EndDeferSpritePos(CDC* pDC);
  63.  
  64. protected:
  65.     virtual POSITION GetPosFromID(int nID);
  66.  
  67. // Implementation
  68. public:
  69.     virtual ~CSpriteMgr();
  70.     virtual void Serialize(CArchive& ar);    // overridden for document i/o
  71. #ifdef _DEBUG
  72.     virtual    void AssertValid() const;
  73.     virtual    void Dump(CDumpContext& dc) const;
  74. #endif
  75. };
  76.  
  77. /////////////////////////////////////////////////////////////////////////////
  78.