1 // 2 // Copyright 2016 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 // NativeWindow11.h: Defines NativeWindow11, a class for managing and performing operations on an 8 // EGLNativeWindowType for the D3D11 renderer. 9 10 #ifndef LIBANGLE_RENDERER_D3D_D3D11_NATIVEWINDOW11_H_ 11 #define LIBANGLE_RENDERER_D3D_D3D11_NATIVEWINDOW11_H_ 12 13 #include "common/debug.h" 14 #include "common/platform.h" 15 16 #include "libANGLE/Config.h" 17 #include "libANGLE/renderer/d3d/NativeWindowD3D.h" 18 19 namespace rx 20 { 21 22 class NativeWindow11 : public NativeWindowD3D 23 { 24 public: NativeWindow11(EGLNativeWindowType window)25 NativeWindow11(EGLNativeWindowType window) : NativeWindowD3D(window) {} 26 27 virtual HRESULT createSwapChain(ID3D11Device *device, 28 IDXGIFactory *factory, 29 DXGI_FORMAT format, 30 UINT width, 31 UINT height, 32 UINT samples, 33 IDXGISwapChain **swapChain) = 0; 34 virtual void commitChange() = 0; 35 }; 36 } // namespace rx 37 38 #endif // LIBANGLE_RENDERER_D3D_D3D11_NATIVEWINDOW11_H_ 39