wxWidgets/include/wx/os2/cursor.h

76 lines
2.2 KiB
C
Raw Normal View History

/////////////////////////////////////////////////////////////////////////////
// Name: cursor.h
// Purpose: wxCursor class
// Author: David Webster
// Modified by:
// Created: 10/13/99
// RCS-ID: $Id$
// Copyright: (c) David Webster
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#ifndef _WX_CURSOR_H_
#define _WX_CURSOR_H_
#include "wx/bitmap.h"
class WXDLLEXPORT wxCursorRefData: public wxGDIImageRefData
{
public:
wxCursorRefData();
~wxCursorRefData() { Free(); }
virtual void Free(void);
bool m_bDestroyCursor;
}; // end of CLASS wxCursorRefData
#define M_CURSORDATA ((wxCursorRefData *)m_refData)
#define M_CURSORHANDLERDATA ((wxCursorRefData *)bitmap->m_refData)
// Cursor
class WXDLLEXPORT wxCursor: public wxBitmap
{
public:
wxCursor();
// Copy constructors
wxCursor(const wxCursor& rCursor) { Ref(rCursor); }
wxCursor(const wxImage& rImage);
wxCursor( const char acBits[]
,int nWidth
,int nHeight
,int nHotSpotX = -1
,int nHotSpotY = -1
,const char zMaskBits[] = NULL
);
wxCursor( const wxString& rsName
,long lFlags = wxBITMAP_TYPE_CUR_RESOURCE
,int nHotSpotX = 0
,int nHotSpotY = 0
);
wxCursor(int nCursorType);
inline ~wxCursor() { }
inline wxCursor& operator = (const wxCursor& rCursor)
{
if (*this == rCursor)
return (*this);
Ref(rCursor);
return *this;
}
inline bool operator == (const wxCursor& rCursor) { return m_refData == rCursor.m_refData; }
inline bool operator != (const wxCursor& rCursor) { return m_refData != rCursor.m_refData; }
inline WXHCURSOR GetHCURSOR(void) const { return (M_CURSORDATA ? M_CURSORDATA->m_hCursor : 0); }
inline void SetHCURSOR(WXHCURSOR hCursor) { SetHandle((WXHANDLE)hCursor); }
protected:
inline virtual wxGDIImageRefData* CreateData(void) const { return (new wxCursorRefData); }
private:
DECLARE_DYNAMIC_CLASS(wxCursor)
}; // end of CLASS wxCursor
#endif
// _WX_CURSOR_H_