forked from mirrors/gecko-dev
		
	 26c8790fb2
			
		
	
	
		26c8790fb2
		
	
	
	
	
		
			
			--HG-- extra : commitid : 7Sm7XcTb8Do extra : rebase_source : c10ad90f03b90eb34349edc80be110b90cc2a663
		
			
				
	
	
		
			51 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
 | |
| /* This Source Code Form is subject to the terms of the Mozilla Public
 | |
|  * License, v. 2.0. If a copy of the MPL was not distributed with this
 | |
|  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 | |
| 
 | |
| #include "WidgetUtilsGtk.h"
 | |
| 
 | |
| namespace mozilla {
 | |
| 
 | |
| namespace widget {
 | |
| 
 | |
| int32_t WidgetUtilsGTK::IsTouchDeviceSupportPresent()
 | |
| {
 | |
| #if GTK_CHECK_VERSION(3,4,0)
 | |
|     int32_t result = 0;
 | |
|     GdkDisplay* display = gdk_display_get_default();
 | |
|     if (!display) {
 | |
|         return 0;
 | |
|     }
 | |
| 
 | |
|     GdkDeviceManager* manager = gdk_display_get_device_manager(display);
 | |
|     if (!manager) {
 | |
|         return 0;
 | |
|     }
 | |
| 
 | |
|     GList* devices =
 | |
|         gdk_device_manager_list_devices(manager, GDK_DEVICE_TYPE_SLAVE);
 | |
|     GList* list = devices;
 | |
| 
 | |
|     while (devices) {
 | |
|         GdkDevice* device = static_cast<GdkDevice*>(devices->data);
 | |
|         if (gdk_device_get_source(device) == GDK_SOURCE_TOUCHSCREEN) {
 | |
|             result = 1;
 | |
|             break;
 | |
|         }
 | |
|         devices = devices->next;
 | |
|    }
 | |
| 
 | |
|    if (list) {
 | |
|        g_list_free(list);
 | |
|    }
 | |
| 
 | |
|    return result;
 | |
| #else
 | |
|    return 0;
 | |
| #endif
 | |
| }
 | |
| 
 | |
| }  // namespace widget
 | |
| 
 | |
| } // namespace mozilla
 |