2014-07-19 18:35:47 +00:00
|
|
|
#include "d3d8Wrapper.h"
|
|
|
|
|
|
|
|
extern "C"
|
|
|
|
{
|
|
|
|
namespace D3D8Wrapper
|
|
|
|
{
|
|
|
|
D3D8Wrapper::IDirect3DTexture8::IDirect3DTexture8(D3D8Base::IDirect3DTexture8* pTexture) : IDirect3DBaseTexture8((D3D8Base::IDirect3DBaseTexture8*) pTexture)
|
|
|
|
{
|
2014-07-20 02:38:57 +00:00
|
|
|
LOG("IDirect3DTexture8");
|
2014-07-19 18:35:47 +00:00
|
|
|
m_pD3D = pTexture;
|
|
|
|
}
|
|
|
|
|
2014-07-20 02:38:57 +00:00
|
|
|
D3D8Wrapper::IDirect3DTexture8* D3D8Wrapper::IDirect3DTexture8::GetTexture(D3D8Base::IDirect3DTexture8* pTexture)
|
|
|
|
{
|
2014-07-20 03:18:31 +00:00
|
|
|
D3D8Wrapper::IDirect3DTexture8* p = (D3D8Wrapper::IDirect3DTexture8*) D3D8Wrapper::IDirect3DResource8::m_List.GetDataPtr(pTexture);
|
2014-07-20 02:38:57 +00:00
|
|
|
if( p == NULL )
|
|
|
|
{
|
|
|
|
p = new D3D8Wrapper::IDirect3DTexture8(pTexture);
|
|
|
|
LOG("IDirect3DTexture8::GetTexture " << pTexture << " created new " << p)
|
2014-07-20 03:18:31 +00:00
|
|
|
D3D8Wrapper::IDirect3DResource8::m_List.AddMember(pTexture, p);
|
2014-07-20 02:38:57 +00:00
|
|
|
return p;
|
|
|
|
}
|
|
|
|
|
|
|
|
p->m_ulRef++;
|
|
|
|
LOG("IDirect3DTexture8::GetTexture " << pTexture << " found existing " << p)
|
|
|
|
return p;
|
|
|
|
}
|
|
|
|
|
2014-07-19 18:35:47 +00:00
|
|
|
|
|
|
|
/*STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3D8Base::D3DSURFACE_DESC *pDesc) PURE;*/
|
|
|
|
STDMETHODIMP D3D8Wrapper::IDirect3DTexture8::GetLevelDesc(UINT Level,D3D8Base::D3DSURFACE_DESC *pDesc)
|
|
|
|
{
|
|
|
|
LOG("IDirect3DTexture8::GetLevelDesc");
|
|
|
|
HRESULT hr = m_pD3D->GetLevelDesc(Level,pDesc);
|
|
|
|
|
|
|
|
return hr;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level,D3D8Wrapper::IDirect3DSurface8** ppSurfaceLevel) PURE;*/
|
|
|
|
STDMETHODIMP D3D8Wrapper::IDirect3DTexture8::GetSurfaceLevel(UINT Level,D3D8Wrapper::IDirect3DSurface8** ppSurfaceLevel)
|
|
|
|
{
|
|
|
|
LOG("IDirect3DTexture8::GetSurfaceLevel");
|
|
|
|
|
|
|
|
D3D8Base::IDirect3DSurface8* fd = NULL;
|
|
|
|
|
|
|
|
HRESULT hr = m_pD3D->GetSurfaceLevel(Level,&fd);//ppSurfaceLevel);
|
|
|
|
|
|
|
|
D3D8Wrapper::IDirect3DSurface8* f = D3D8Wrapper::IDirect3DSurface8::GetSurface(fd);
|
|
|
|
|
|
|
|
*ppSurfaceLevel = f;
|
|
|
|
|
|
|
|
LOG(f);
|
2014-07-22 01:05:39 +00:00
|
|
|
LOG(f->GetSurface());
|
2014-07-19 18:35:47 +00:00
|
|
|
LOG(hr);
|
|
|
|
|
|
|
|
return hr;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*STDMETHOD(LockRect)(THIS_ UINT Level,D3D8Base::D3DLOCKED_RECT* pLockedRect,CONST RECT* pRect,DWORD Flags) PURE;*/
|
|
|
|
STDMETHODIMP D3D8Wrapper::IDirect3DTexture8::LockRect(UINT Level,D3D8Base::D3DLOCKED_RECT* pLockedRect,CONST RECT* pRect,DWORD Flags)
|
|
|
|
{
|
|
|
|
LOG("IDirect3DTexture8::LockRect");
|
|
|
|
HRESULT hr = m_pD3D->LockRect(Level,pLockedRect,pRect,Flags);
|
|
|
|
|
|
|
|
return hr;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE;*/
|
|
|
|
STDMETHODIMP D3D8Wrapper::IDirect3DTexture8::UnlockRect(UINT Level)
|
|
|
|
{
|
|
|
|
LOG("IDirect3DTexture8::UnlockRect");
|
|
|
|
HRESULT hr = m_pD3D->UnlockRect(Level);
|
|
|
|
|
|
|
|
return hr;
|
|
|
|
}
|
|
|
|
|
|
|
|
/*STDMETHOD(AddDirtyRect)(THIS_ CONST RECT* pDirtyRect) PURE;*/
|
|
|
|
STDMETHODIMP D3D8Wrapper::IDirect3DTexture8::AddDirtyRect(CONST RECT* pDirtyRect)
|
|
|
|
{
|
|
|
|
LOG("IDirect3DTexture8::AddDirtyRect");
|
|
|
|
HRESULT hr = m_pD3D->AddDirtyRect(pDirtyRect);
|
|
|
|
|
|
|
|
return hr;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|