1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3  * License, v. 2.0. If a copy of the MPL was not distributed with this
4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 
6 #ifndef WidgetUtilsGtk_h__
7 #define WidgetUtilsGtk_h__
8 
9 #include "nsString.h"
10 #include "nsTArray.h"
11 
12 #include <stdint.h>
13 #include <gdk/gdk.h>
14 
15 namespace mozilla::widget {
16 
17 class WidgetUtilsGTK {
18  public:
19   /* See WidgetUtils::IsTouchDeviceSupportPresent(). */
20   static int32_t IsTouchDeviceSupportPresent();
21 };
22 
23 bool IsMainWindowTransparent();
24 
25 bool GdkIsWaylandDisplay(GdkDisplay* display);
26 bool GdkIsX11Display(GdkDisplay* display);
27 
28 bool GdkIsWaylandDisplay();
29 bool GdkIsX11Display();
30 
31 // Parse text/uri-list
32 nsTArray<nsCString> ParseTextURIList(const nsACString& data);
33 
34 }  // namespace mozilla::widget
35 
36 #endif  // WidgetUtilsGtk_h__
37