// This file is part of Desktop App Toolkit, // a set of libraries for developing nice desktop applications. // // For license and copyright information please follow this link: // https://github.com/desktop-app/legal/blob/master/LEGAL // #pragma once class QPoint; class QPainter; class QPaintEvent; namespace Ui { namespace Platform { [[nodiscard]] bool IsApplicationActive(); [[nodiscard]] bool TranslucentWindowsSupported(QPoint globalPosition); void StartTranslucentPaint(QPainter &p, gsl::span rects); void InitOnTopPanel(not_null panel); void DeInitOnTopPanel(not_null panel); void ReInitOnTopPanel(not_null panel); void UpdateOverlayed(not_null widget); void ShowOverAll(not_null widget, bool canFocus = true); void BringToBack(not_null widget); void IgnoreAllActivation(not_null widget); [[nodiscard]] constexpr bool UseMainQueueGeneric(); void DrainMainQueue(); // Needed only if UseMainQueueGeneric() is false. } // namespace Platform } // namespace Ui // Platform dependent implementations. #ifdef Q_OS_MAC #include "ui/platform/mac/ui_utility_mac.h" #elif defined Q_OS_UNIX // Q_OS_MAC #include "ui/platform/linux/ui_utility_linux.h" #elif defined Q_OS_WINRT || defined Q_OS_WIN // Q_OS_MAC || Q_OS_UNIX #include "ui/platform/win/ui_utility_win.h" #endif // Q_OS_MAC || Q_OS_UNIX || Q_OS_WINRT || Q_OS_WIN