41 lines
1.4 KiB
C++
41 lines
1.4 KiB
C++
///////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/gtk/private/threads.h
|
|
// Purpose: Wrappers for GDK threads support.
|
|
// Author: Vadim Zeitlin
|
|
// Created: 2022-09-23
|
|
// Copyright: (c) 2022 Vadim Zeitlin <vadim@wxwidgets.org>
|
|
// Licence: wxWindows licence
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_GTK_PRIVATE_THREADS_H_
|
|
#define _WX_GTK_PRIVATE_THREADS_H_
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Redefine GDK functions to avoiding deprecation warnings
|
|
// ----------------------------------------------------------------------------
|
|
|
|
wxGCC_WARNING_SUPPRESS(deprecated-declarations)
|
|
|
|
static inline void wx_gdk_threads_enter() { gdk_threads_enter(); }
|
|
#define gdk_threads_enter wx_gdk_threads_enter
|
|
|
|
static inline void wx_gdk_threads_leave() { gdk_threads_leave(); }
|
|
#define gdk_threads_leave wx_gdk_threads_leave
|
|
|
|
wxGCC_WARNING_RESTORE(deprecated-declarations)
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// RAII wrapper for acquiring/leaving GDK lock in ctor/dtor
|
|
// ----------------------------------------------------------------------------
|
|
|
|
class wxGDKThreadsLock
|
|
{
|
|
public:
|
|
wxGDKThreadsLock() { gdk_threads_enter(); }
|
|
~wxGDKThreadsLock() { gdk_threads_leave(); }
|
|
|
|
wxDECLARE_NO_COPY_CLASS(wxGDKThreadsLock);
|
|
};
|
|
|
|
#endif // _WX_GTK_PRIVATE_THREADS_H_
|