1 // 2 // Copyright 2024 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 // WindowSurfaceWgpuX11.h: 7 // Defines the class interface for WindowSurfaceWgpuX11, implementing WindowSurfaceWgpu. 8 // 9 10 #ifndef LIBANGLE_RENDERER_WGPU_LINUX_X11_WINDOWSURFACEWGPUX11_H_ 11 #define LIBANGLE_RENDERER_WGPU_LINUX_X11_WINDOWSURFACEWGPUX11_H_ 12 13 #include "libANGLE/renderer/wgpu/SurfaceWgpu.h" 14 15 namespace rx 16 { 17 class WindowSurfaceWgpuX11 : public WindowSurfaceWgpu 18 { 19 public: 20 WindowSurfaceWgpuX11(const egl::SurfaceState &surfaceState, EGLNativeWindowType window); 21 22 private: 23 angle::Result createWgpuSurface(const egl::Display *display, 24 wgpu::Surface *outSurface) override; 25 angle::Result getCurrentWindowSize(const egl::Display *display, gl::Extents *outSize) override; 26 }; 27 28 } // namespace rx 29 30 #endif // LIBANGLE_RENDERER_WGPU_LINUX_X11_WINDOWSURFACEWGPUX11_H_ 31