Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(537)

Unified Diff: win8/metro_driver/direct3d_helper.h

Issue 10984007: in-chrome viewer for metro (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: only do viewer mode when shift-F11 is pressed, for now Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_

Powered by Google App Engine
This is Rietveld 408576698