//-----------------------------------------------------------------------------
// カーソル
//-----------------------------------------------------------------------------

#ifndef _NWCURSOR_H_
#define _NWCURSOR_H_

//-----------------------------------------------------------------------------
class NWCURSOR: public NWGRAPHIC {
protected:
	PNWBITMAP		pBitmap;						// カーソル用ビットマップ
	int				bCreate;						// ビットマップを作成したか
	int				nCursorNo;						// カーソル番号
	PNWCSRINFO		pCsrInfo;						// デフォルトカーソルリスト
	NWRECT			sClipRect;						// クリップ矩形
	
	NW_PERIPHERAL	*pPort;							// ペリフェラル情報
	int				nPortNo;						// ポート番号
	
	NWCURSOR( void );
public:
	int				bCapture;						// キャプチャー中か
	PNWCONTROL		pCapture;						// キャプチャーコントロール
	
	int				nX;								// カーソルX座標
	int				nY;								// カーソルY座標
	int				nVX;							// カーソルX移動量
	int				nVY;							// カーソルY移動量
	int				nBX;							// 前回のカーソルX座標
	int				nBY;							// 前回のカーソルY座標
	int				nAX;							// アナログX値
	int				nAY;							// アナログY値
	int				nAL;							// アナログL値
	int				nAR;							// アナログR値
	
	NWCURSOR( PNWCONTROL pRootControl );
	~NWCURSOR( void );
	
	void Release( void );
	void LoadCursor( PNWPVR pPvr );
	void SetBitmap( PNWBITMAP pBM );
	
	void SetClipRect( PNWRECT pNewR );
	NWRECT GetClipRect( void );
	void SetPortNo( int nNewNo );
	int GetPortNo( void );
	void Execute( void );
	void Draw( void );
	void SetCursorNo( int nNewNo );
	int GetCursorNo( void );
	
	void SetCapture( PNWCONTROL pControl );
};

//-----------------------------------------------------------------------------
#endif
