| Index: win8/metro_driver/direct3d_helper.h
|
| diff --git a/win8/metro_driver/direct3d_helper.h b/win8/metro_driver/direct3d_helper.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..a5547ba08fe99e357da3c8be07bfcabbd99938c9
|
| --- /dev/null
|
| +++ b/win8/metro_driver/direct3d_helper.h
|
| @@ -0,0 +1,44 @@
|
| +// Copyright 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef WIN8_METRO_DRIVER_DIRECT3D_HELPER_
|
| +#define WIN8_METRO_DRIVER_DIRECT3D_HELPER_
|
| +
|
| +#include "base/basictypes.h"
|
| +
|
| +#include <windows.ui.core.h>
|
| +#include <windows.foundation.h>
|
| +#include <d3d11_1.h>
|
| +
|
| +namespace metro_driver {
|
| +
|
| +// We need to initalize a Direct3D device and swapchain so that the browser
|
| +// can Present to our HWND. This class takes care of creating and keeping the
|
| +// swapchain up to date.
|
| +class Direct3DHelper {
|
| + public:
|
| + Direct3DHelper();
|
| + ~Direct3DHelper();
|
| +
|
| + void Initialize(winui::Core::ICoreWindow* window);
|
| +
|
| + private:
|
| + void CreateDeviceResources();
|
| + void CreateWindowSizeDependentResources();
|
| +
|
| + winui::Core::ICoreWindow* window_;
|
| +
|
| + mswr::ComPtr<ID3D11Device1> d3d_device_;
|
| + mswr::ComPtr<ID3D11DeviceContext1> d3d_context_;
|
| + mswr::ComPtr<IDXGISwapChain1> swap_chain_;
|
| + D3D_FEATURE_LEVEL feature_level_;
|
| +
|
| + ABI::Windows::Foundation::Rect window_bounds_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(Direct3DHelper);
|
| +};
|
| +
|
| +} // namespace metro_driver
|
| +
|
| +#endif // WIN8_METRO_DRIVER_DIRECT3D_HELPER_
|
|
|