/////////////////////////////////////////////////////////////////////////////
-// Name: cursor.cpp
+// Name: src/x11/cursor.cpp
// Purpose: wxCursor class
// Author: Julian Smart
// Modified by:
// Created: 17/09/98
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWindows licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
-#pragma implementation "cursor.h"
-#endif
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
#include "wx/cursor.h"
-#include "wx/gdicmn.h"
-#include "wx/icon.h"
-#include "wx/app.h"
-#include "wx/utils.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/app.h"
+ #include "wx/utils.h"
+ #include "wx/icon.h"
+ #include "wx/gdicmn.h"
+ #include "wx/image.h"
+#endif
#include "wx/x11/private.h"
+
+#if !wxUSE_NANOX
#include <X11/cursorfont.h>
+#endif
//-----------------------------------------------------------------------------
// wxCursor
//-----------------------------------------------------------------------------
-class wxCursorRefData: public wxObjectRefData
+class wxCursorRefData: public wxGDIRefData
{
public:
wxCursorRefData();
- ~wxCursorRefData();
+ virtual ~wxCursorRefData();
WXCursor m_cursor;
WXDisplay *m_display;
{
m_refData = new wxCursorRefData();
+#if wxUSE_NANOX
+ // TODO Create some standard cursors from bitmaps.
+
+
+#else
+ // !wxUSE_NANOX
+
M_CURSORDATA->m_display = wxGlobalDisplay();
wxASSERT_MSG( M_CURSORDATA->m_display, wxT("No display") );
-
+
int x_cur = XC_left_ptr;
switch (cursorId)
{
}
M_CURSORDATA->m_cursor = (WXCursor) XCreateFontCursor( (Display*) M_CURSORDATA->m_display, x_cur );
+#endif
}
-wxCursor::wxCursor(const char bits[], int width, int height,
- int hotSpotX, int hotSpotY,
- const char maskBits[], wxColour *fg, wxColour *bg)
-{
- wxFAIL_MSG( "wxCursor creation from bits not yet implemented" );
-}
-
-
-wxCursor::wxCursor( const wxCursor &cursor )
+wxCursor::wxCursor(const char WXUNUSED(bits)[],
+ int WXUNUSED(width), int WXUNUSED(height),
+ int WXUNUSED(hotSpotX), int WXUNUSED(hotSpotY),
+ const char WXUNUSED(maskBits)[],
+ wxColour *WXUNUSED(fg), wxColour *WXUNUSED(bg))
{
- Ref( cursor );
+ wxFAIL_MSG( wxT("wxCursor creation from bits not yet implemented") );
}
#if wxUSE_IMAGE
-wxCursor::wxCursor( const wxImage & image )
+wxCursor::wxCursor( const wxImage & WXUNUSED(image) )
{
- wxFAIL_MSG( "wxCursor creation from wxImage not yet implemented" );
+ wxFAIL_MSG( wxT("wxCursor creation from wxImage not yet implemented") );
}
#endif
{
}
-wxCursor& wxCursor::operator = ( const wxCursor& cursor )
-{
- if (*this == cursor)
- return (*this);
-
- Ref( cursor );
-
- return *this;
-}
-
-bool wxCursor::operator == ( const wxCursor& cursor ) const
-{
- return m_refData == cursor.m_refData;
-}
-
-bool wxCursor::operator != ( const wxCursor& cursor ) const
+wxGDIRefData *wxCursor::CreateGDIRefData() const
{
- return m_refData != cursor.m_refData;
+ return new wxCursorRefData;
}
-bool wxCursor::Ok() const
+wxGDIRefData *wxCursor::CloneGDIRefData(const wxGDIRefData *data) const
{
- return (m_refData != NULL);
+ return new wxCursorRefData(*wx_static_cast(const wxCursorRefData *, data));
}
WXCursor wxCursor::GetCursor() const
gs_savedCursor = wxNullCursor;
if (wxTheApp)
- wxTheApp->SendIdleEvents();
+ wxTheApp->ProcessIdle();
}
-void wxBeginBusyCursor( wxCursor *WXUNUSED(cursor) )
+void wxBeginBusyCursor( const wxCursor *WXUNUSED(cursor) )
{
if (gs_busyCount++ > 0)
return;
wxSetCursor( wxCursor(wxCURSOR_WATCH) );
if (wxTheApp)
- wxTheApp->SendIdleEvents();
+ wxTheApp->ProcessIdle();
}
bool wxIsBusy()