1*8975f5c5SAndroid Build Coastguard Worker // 2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2022 The ANGLE Project Authors. All rights reserved. 3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file. 5*8975f5c5SAndroid Build Coastguard Worker // 6*8975f5c5SAndroid Build Coastguard Worker 7*8975f5c5SAndroid Build Coastguard Worker // LinuxWindow.cpp: Implementation of OSWindow::New for Linux 8*8975f5c5SAndroid Build Coastguard Worker 9*8975f5c5SAndroid Build Coastguard Worker #include "util/OSWindow.h" 10*8975f5c5SAndroid Build Coastguard Worker 11*8975f5c5SAndroid Build Coastguard Worker #if defined(ANGLE_USE_WAYLAND) 12*8975f5c5SAndroid Build Coastguard Worker # include "wayland/WaylandWindow.h" 13*8975f5c5SAndroid Build Coastguard Worker #endif 14*8975f5c5SAndroid Build Coastguard Worker 15*8975f5c5SAndroid Build Coastguard Worker #if defined(ANGLE_USE_X11) 16*8975f5c5SAndroid Build Coastguard Worker # include "x11/X11Window.h" 17*8975f5c5SAndroid Build Coastguard Worker #endif 18*8975f5c5SAndroid Build Coastguard Worker 19*8975f5c5SAndroid Build Coastguard Worker // static 20*8975f5c5SAndroid Build Coastguard Worker #if defined(ANGLE_USE_X11) || defined(ANGLE_USE_WAYLAND) New()21*8975f5c5SAndroid Build Coastguard WorkerOSWindow *OSWindow::New() 22*8975f5c5SAndroid Build Coastguard Worker { 23*8975f5c5SAndroid Build Coastguard Worker # if defined(ANGLE_USE_X11) 24*8975f5c5SAndroid Build Coastguard Worker // Prefer X11 25*8975f5c5SAndroid Build Coastguard Worker if (IsX11WindowAvailable()) 26*8975f5c5SAndroid Build Coastguard Worker { 27*8975f5c5SAndroid Build Coastguard Worker return CreateX11Window(); 28*8975f5c5SAndroid Build Coastguard Worker } 29*8975f5c5SAndroid Build Coastguard Worker # endif 30*8975f5c5SAndroid Build Coastguard Worker 31*8975f5c5SAndroid Build Coastguard Worker # if defined(ANGLE_USE_WAYLAND) 32*8975f5c5SAndroid Build Coastguard Worker if (IsWaylandWindowAvailable()) 33*8975f5c5SAndroid Build Coastguard Worker { 34*8975f5c5SAndroid Build Coastguard Worker return new WaylandWindow(); 35*8975f5c5SAndroid Build Coastguard Worker } 36*8975f5c5SAndroid Build Coastguard Worker # endif 37*8975f5c5SAndroid Build Coastguard Worker 38*8975f5c5SAndroid Build Coastguard Worker return nullptr; 39*8975f5c5SAndroid Build Coastguard Worker } 40*8975f5c5SAndroid Build Coastguard Worker #endif 41