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