| // |
| // Copyright 2022 The ANGLE Project Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| |
| // LinuxWindow.cpp: Implementation of OSWindow::New for Linux |
| |
| #include "util/OSWindow.h" |
| |
| #if defined(ANGLE_USE_WAYLAND) |
| # include "wayland/WaylandWindow.h" |
| #endif |
| |
| #if defined(ANGLE_USE_X11) |
| # include "x11/X11Window.h" |
| #endif |
| |
| // static |
| #if defined(ANGLE_USE_X11) || defined(ANGLE_USE_WAYLAND) |
| OSWindow *OSWindow::New() |
| { |
| # if defined(ANGLE_USE_X11) |
| // Prefer X11 |
| if (IsX11WindowAvailable()) |
| { |
| return new X11Window(); |
| } |
| # endif |
| |
| # if defined(ANGLE_USE_WAYLAND) |
| if (IsWaylandWindowAvailable()) |
| { |
| return new WaylandWindow(); |
| } |
| # endif |
| |
| return nullptr; |
| } |
| #endif |