[prev in list] [next in list] [prev in thread] [next in thread]
List: helix-video-cvs
Subject: [Video-cvs] sitelib basesurf.cpp,1.18.4.1,1.18.4.2
From: tzupan () helixcommunity ! org
Date: 2005-12-13 19:36:59
[Download RAW message or body]
Update of /cvsroot/video/sitelib
In directory cvs:/tmp/cvs-serv24811
Modified Files:
Tag: hxclient_1_5_0_cayenne
basesurf.cpp
Log Message:
fixed issue with scaling factors
Index: basesurf.cpp
===================================================================
RCS file: /cvsroot/video/sitelib/basesurf.cpp,v
retrieving revision 1.18.4.1
retrieving revision 1.18.4.2
diff -u -d -r1.18.4.1 -r1.18.4.2
--- basesurf.cpp 8 Jul 2005 05:30:29 -0000 1.18.4.1
+++ basesurf.cpp 13 Dec 2005 19:36:54 -0000 1.18.4.2
@@ -1672,6 +1672,25 @@
int nSizeX = (int)(((double)(m_bmiLastImage.biWidth))/scaleX+.5);
int nSizeY = (int)(((double)(m_bmiLastImage.biHeight))/scaleY+.5);
+ //-> sometimes we get invalid scaling factors because the values haven't
+ //-> been updated yet, when that happens, recalculate them
+ if((nSizeX != pSite->m_pVideoSurface->m_surfaceSize.cx)||
+ (nSizeY != pSite->m_pVideoSurface->m_surfaceSize.cy))
+ {
+ int nDestDX = rDestRect.right - rDestRect.left;
+ int nSrcDX = pSite->m_pVideoSurface->m_surfaceSize.cx;
+ int nDestDY = rDestRect.bottom - rDestRect.top;
+ int nSrcDY = pSite->m_pVideoSurface->m_surfaceSize.cy;
+
+ pSite->m_pVideoSurface->m_scaleFactorX = (double)nDestDX/(double)nSrcDX;
+ pSite->m_pVideoSurface->m_scaleFactorY = (double)nDestDY/(double)nSrcDY;
+
+ scaleX = pSite->m_pVideoSurface->m_scaleFactorX/m_scaleFactorX;
+ scaleY = pSite->m_pVideoSurface->m_scaleFactorY/m_scaleFactorY;
+ nSizeX = (int)(((double)(m_bmiLastImage.biWidth))/scaleX+.5);
+ nSizeY = (int)(((double)(m_bmiLastImage.biHeight))/scaleY+.5);
+ }
+
//Fix non mod quad sizes
nSizeX = (nSizeX+3)&~3;
nSizeY = (nSizeY+1)&~1;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic