57 lines
1.9 KiB
C++
57 lines
1.9 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/busycursor.h
|
|
// Purpose: Functions and class for showing/hiding busy cursor.
|
|
// Author: Vadim Zeitlin
|
|
// Created: 2025-05-08 (extracted from wx/utils.h)
|
|
// Copyright: (c) 2025 Vadim Zeitlin <vadim@wxwidgets.org>
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_BUSYCURSOR_H_
|
|
#define _WX_BUSYCURSOR_H_
|
|
|
|
#include "wx/gdicmn.h"
|
|
|
|
// Set the cursor to the busy cursor for all windows
|
|
WXDLLIMPEXP_CORE void wxBeginBusyCursor(const wxCursor *cursor = wxHOURGLASS_CURSOR);
|
|
WXDLLIMPEXP_CORE void wxBeginBusyCursor(const wxCursorBundle& cursors);
|
|
|
|
// Restore cursor to normal
|
|
WXDLLIMPEXP_CORE void wxEndBusyCursor();
|
|
|
|
// true if we're between the above two calls
|
|
WXDLLIMPEXP_CORE bool wxIsBusy();
|
|
|
|
// Convenience class so we can just create a wxBusyCursor object on the stack
|
|
class WXDLLIMPEXP_CORE wxBusyCursor
|
|
{
|
|
public:
|
|
explicit wxBusyCursor(const wxCursor* cursor = wxHOURGLASS_CURSOR)
|
|
{ wxBeginBusyCursor(cursor); }
|
|
explicit wxBusyCursor(const wxCursorBundle& cursors)
|
|
{ wxBeginBusyCursor(cursors); }
|
|
~wxBusyCursor()
|
|
{ wxEndBusyCursor(); }
|
|
|
|
#if WXWIN_COMPATIBILITY_3_2
|
|
// These functions are kept only for compatibility, they were never
|
|
// available in all ports and never did anything really useful.
|
|
wxDEPRECATED_MSG("Returns invalid cursor, don't use it")
|
|
static wxCursor GetStoredCursor();
|
|
|
|
wxDEPRECATED_MSG("Returns invalid cursor, don't use it")
|
|
static wxCursor GetBusyCursor();
|
|
#endif // WXWIN_COMPATIBILITY_3_2
|
|
};
|
|
|
|
// This class only exists for compatibility, it never did anything really
|
|
// useful and now doesn't do anything at all.
|
|
class wxDEPRECATED_MSG("Does nothing, stop using it") wxBusyCursorSuspender
|
|
{
|
|
public:
|
|
wxBusyCursorSuspender() = default;
|
|
~wxBusyCursorSuspender() = default;
|
|
};
|
|
|
|
#endif // _WX_BUSYCURSOR_H_
|