diff options
author | Brad King <brad.king@kitware.com> | 2014-09-02 14:16:37 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2014-09-02 14:16:37 (GMT) |
commit | bfc81c5934e6cc0ade50e6ed461e211d55757765 (patch) | |
tree | df8bf36cb3202f57cdc3164e807bb54e70b21359 /Tests/VSWinStorePhone/Direct3DApp1/Direct3DBase.h | |
parent | 7a4a05d076cdab6d5803627aca97e94180481c4f (diff) | |
parent | 39fefde25d49b92d8b03eaf13c1b39478e053140 (diff) | |
download | CMake-bfc81c5934e6cc0ade50e6ed461e211d55757765.zip CMake-bfc81c5934e6cc0ade50e6ed461e211d55757765.tar.gz CMake-bfc81c5934e6cc0ade50e6ed461e211d55757765.tar.bz2 |
Merge topic 'vs-windows-apps'
39fefde2 VS: Add test case for Windows Phone and Windows Store
89da8465 MSVC: Define 'WIN32' for Windows Store and Windows Phone
ed7f085f Help: Add notes for topic 'vs-windows-apps'
dd11ae8f VS: Do not compile C sources as WinRT (#15100)
b8e40538 VS: Mark Windows Phone and Store targets as App Containers
0432f062 VS: Always ignore ole32 on Windows Phone 8.0
e6ff2f8b VS: Generate Windows Metadata for WinRT components
ee48f4c7 VS: Generate Windows Phone and Windows Store projects as Unicode
cb1aceed VS: Add VS_WINRT_COMPONENT property to enable CompileAsWinRT
401269e4 VS: Handle .pfx files explicitly in generator
23782171 VS: Handle AppxManifest sources explicitly in generator
bc373c6d VS: Set Window Phone/Store app type in CMake-generated targets
d89b2889 VS: Mark CMake-generated targets as Utility in .vcxproj files
03ad8f28 CMakeDetermineCompilerABI: Link with standard libraries on MSVC
Diffstat (limited to 'Tests/VSWinStorePhone/Direct3DApp1/Direct3DBase.h')
-rw-r--r-- | Tests/VSWinStorePhone/Direct3DApp1/Direct3DBase.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Tests/VSWinStorePhone/Direct3DApp1/Direct3DBase.h b/Tests/VSWinStorePhone/Direct3DApp1/Direct3DBase.h new file mode 100644 index 0000000..bba9f16 --- /dev/null +++ b/Tests/VSWinStorePhone/Direct3DApp1/Direct3DBase.h @@ -0,0 +1,39 @@ +#pragma once + +#include "DirectXHelper.h" + +// Helper class that initializes DirectX APIs for 3D rendering. +ref class Direct3DBase abstract +{ +internal: + Direct3DBase(); + +public: + virtual void Initialize(Windows::UI::Core::CoreWindow^ window); + virtual void HandleDeviceLost(); + virtual void CreateDeviceResources(); + virtual void CreateWindowSizeDependentResources(); + virtual void UpdateForWindowSizeChange(); + virtual void ReleaseResourcesForSuspending(); + virtual void Render() = 0; + virtual void Present(); + virtual float ConvertDipsToPixels(float dips); + +protected private: + // Direct3D Objects. + Microsoft::WRL::ComPtr<ID3D11Device1> m_d3dDevice; + Microsoft::WRL::ComPtr<ID3D11DeviceContext1> m_d3dContext; + Microsoft::WRL::ComPtr<IDXGISwapChain1> m_swapChain; + Microsoft::WRL::ComPtr<ID3D11RenderTargetView> m_renderTargetView; + Microsoft::WRL::ComPtr<ID3D11DepthStencilView> m_depthStencilView; + + // Cached renderer properties. + D3D_FEATURE_LEVEL m_featureLevel; + Windows::Foundation::Size m_renderTargetSize; + Windows::Foundation::Rect m_windowBounds; + Platform::Agile<Windows::UI::Core::CoreWindow> m_window; + Windows::Graphics::Display::DisplayOrientations m_orientation; + + // Transform used for display orientation. + DirectX::XMFLOAT4X4 m_orientationTransform3D; +}; |