1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CONTENT_GPU_GPU_IDIRECT3D9_MOCK_WIN_H_ 6 #define CONTENT_GPU_GPU_IDIRECT3D9_MOCK_WIN_H_ 7 8 #include <d3d9.h> 9 #include <windows.h> 10 11 #include "testing/gmock/include/gmock/gmock.h" 12 13 class IDirect3D9Mock : public IDirect3D9 { 14 public: 15 IDirect3D9Mock(); 16 virtual ~IDirect3D9Mock(); 17 18 MOCK_METHOD5_WITH_CALLTYPE( 19 STDMETHODCALLTYPE, CheckDepthStencilMatch, 20 HRESULT(UINT Adapter, D3DDEVTYPE DeviceType, 21 D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, 22 D3DFORMAT DepthStencilFormat)); 23 MOCK_METHOD6_WITH_CALLTYPE( 24 STDMETHODCALLTYPE, CheckDeviceFormat, 25 HRESULT(UINT Adapter, D3DDEVTYPE DeviceType, 26 D3DFORMAT AdapterFormat, DWORD Usage, 27 D3DRESOURCETYPE RType, D3DFORMAT CheckFormat)); 28 MOCK_METHOD4_WITH_CALLTYPE( 29 STDMETHODCALLTYPE, CheckDeviceFormatConversion, 30 HRESULT(UINT Adapter, D3DDEVTYPE DeviceType, 31 D3DFORMAT SourceFormat, D3DFORMAT TargetFormat)); 32 MOCK_METHOD6_WITH_CALLTYPE( 33 STDMETHODCALLTYPE, CheckDeviceMultiSampleType, 34 HRESULT(UINT Adapter, D3DDEVTYPE DeviceType, 35 D3DFORMAT SurfaceFormat, BOOL Windowed, 36 D3DMULTISAMPLE_TYPE MultiSampleType, 37 DWORD* pQualityLevels)); 38 MOCK_METHOD5_WITH_CALLTYPE( 39 STDMETHODCALLTYPE, CheckDeviceType, 40 HRESULT(UINT Adapter, D3DDEVTYPE DevType, 41 D3DFORMAT AdapterFormat, D3DFORMAT BackBufferFormat, 42 BOOL bWindowed)); 43 MOCK_METHOD6_WITH_CALLTYPE( 44 STDMETHODCALLTYPE, CreateDevice, 45 HRESULT(UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, 46 DWORD BehaviorFlags, 47 D3DPRESENT_PARAMETERS* pPresentationParameters, 48 IDirect3DDevice9** ppReturnedDeviceInterface)); 49 MOCK_METHOD4_WITH_CALLTYPE( 50 STDMETHODCALLTYPE, EnumAdapterModes, 51 HRESULT(UINT Adapter, D3DFORMAT Format, UINT Mode, 52 D3DDISPLAYMODE* pMode)); 53 MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE, GetAdapterCount, UINT()); 54 MOCK_METHOD2_WITH_CALLTYPE( 55 STDMETHODCALLTYPE, GetAdapterDisplayMode, 56 HRESULT(UINT Adapter, D3DDISPLAYMODE* pMode)); 57 MOCK_METHOD3_WITH_CALLTYPE( 58 STDMETHODCALLTYPE, GetAdapterIdentifier, 59 HRESULT(UINT Adapter, DWORD Flags, 60 D3DADAPTER_IDENTIFIER9* pIdentifier)); 61 MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, GetAdapterModeCount, 62 UINT(UINT Adapter, D3DFORMAT Format)); 63 MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, GetAdapterMonitor, 64 HMONITOR(UINT Adapter)); 65 MOCK_METHOD3_WITH_CALLTYPE(STDMETHODCALLTYPE, GetDeviceCaps, 66 HRESULT(UINT Adapter, D3DDEVTYPE DeviceType, 67 D3DCAPS9* pCaps)); 68 MOCK_METHOD1_WITH_CALLTYPE(STDMETHODCALLTYPE, RegisterSoftwareDevice, 69 HRESULT(void* pInitializeFunction)); 70 MOCK_METHOD2_WITH_CALLTYPE(STDMETHODCALLTYPE, QueryInterface, 71 HRESULT(REFIID riid, void** ppvObj)); 72 MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE, AddRef, ULONG()); 73 MOCK_METHOD0_WITH_CALLTYPE(STDMETHODCALLTYPE, Release, ULONG()); 74 }; 75 76 #endif // CONTENT_GPU_GPU_IDIRECT3D9_MOCK_WIN_H_ 77