Сначала он увеличивает исходное изображение, но при повторном увеличении увеличивает исходное изображение, а не предыдущее увеличенное изображение.
В коде scaleX scaleY - движения мыши (по значению mouseMove-lButtonDown), m_d3dxSpritePos - позиция, из которой рисуется спрайт,
void CSpriteImage::ZoomImage(float scaleX, float scaleY)
{
scaleImage.x += scaleImage.x* scaleX/TEXTURE_SIZE;
scaleImage.y += scaleImage.y* scaleY /TEXTURE_SIZE;
SetZoomFactor(scaleImage.x,scaleImage.y);
m_d3dxSpritePos.x = (((TEXTURE_SIZE - (m_pstImageDisplayBuffer->uiWidth *m_fZoomFactor))/2.0f) / m_fZoomFactor);
m_d3dxSpritePos.y = (((TEXTURE_SIZE - (m_pstImageDisplayBuffer->uiHeight * m_fZoomFactor))/2.0f) / m_fZoomFactor);
}
Может кто-нибудь сказать мне, как позиция спрайта может принять во внимание предыдущую увеличенную позицию спрайта.