DllTracer.implementWrapperInterfaceMethodBody(self, interface, base, method)
if method.name in ('Lock', 'LockRect', 'LockBox'):
+ # FIXME: handle recursive locks
print ' if (SUCCEEDED(_result) && !(Flags & D3DLOCK_READONLY)) {'
- print ' _LockedSize = _getLockSize(_this, %s);' % ', '.join(method.argNames()[:-1])
- if method.name == 'Lock':
- # FIXME: handle recursive locks
- print ' m_pbData = *ppbData;'
- elif method.name == 'LockRect':
- print ' m_pbData = pLockedRect->pBits;'
- elif method.name == 'LockBox':
- print ' m_pbData = pLockedVolume->pBits;'
- else:
- raise NotImplementedError
+ print ' _getLockInfo(_this, %s, m_pbData, _LockedSize);' % ', '.join(method.argNames()[:-1])
print ' } else {'
print ' m_pbData = NULL;'
+ print ' _LockedSize = 0;'
print ' }'
print
print '#include "d3d9imports.hpp"'
print '#include "d3dsize.hpp"'
- print '#include "d3dshader.hpp"'
+ print '#include "d3d9shader.hpp"'
print
print '''
static inline size_t