mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.7 KiB
50 lines
1.7 KiB
|
|
/*************************************************
|
|
* sprite.h *
|
|
* *
|
|
* Copyright (C) 1995-1999 Microsoft Inc. *
|
|
* *
|
|
*************************************************/
|
|
|
|
// sprite.h : header file
|
|
//
|
|
// CSprite class
|
|
//
|
|
//
|
|
|
|
class CSprite : public CDIB
|
|
{
|
|
DECLARE_SERIAL(CSprite)
|
|
public:
|
|
CSprite();
|
|
~CSprite();
|
|
|
|
virtual int GetX() { return m_x;} // get x
|
|
virtual int GetY() { return m_y;} // get y
|
|
virtual int GetZ() { return m_z;} // get z order
|
|
|
|
virtual void Serialize(CArchive& ar);
|
|
virtual void Render(CDIB* pDIB, CRect* pClipRect = NULL);
|
|
virtual void Coverage(CDIB* pDIB);
|
|
virtual BOOL Load(CFile *fp); // load from file
|
|
virtual BOOL Load(char *pszFileName = NULL);// load DIB from disk file
|
|
virtual BOOL Load(CBitmap *pszFileName = NULL);// load DIB from disk file
|
|
virtual BOOL MapColorsToPalette(CPalette *pPal);
|
|
virtual void GetRect(CRect* pRect);
|
|
virtual BOOL HitTest(CPoint point);
|
|
virtual void SetPosition(int x,
|
|
int y);
|
|
virtual void SetZ(int z);
|
|
virtual void SetNotificationObject(CSpriteNotifyObj* pNO)
|
|
{m_pNotifyObj = pNO;}
|
|
virtual void Disappear();
|
|
|
|
protected:
|
|
int m_x; // X Coordinate of top-left corner
|
|
int m_y; // Y Coordinate of top-left corner
|
|
int m_z; // Z order for sprite
|
|
BYTE m_bTransIndex; // transparency index value
|
|
CSpriteNotifyObj *m_pNotifyObj; // ptr to a notification object
|
|
|
|
virtual void Initialize(); // set initial state
|
|
};
|