BitsPerFormat(SourceSurf->iBitmapFormat), SourceRect->left, SourceRect->top, SourceRect->right,
SourceRect->bottom, DestRect->left, DestRect->top, DestRect->right, DestRect->bottom);
- SrcSizeY = SourceRect->bottom;
- SrcSizeX = SourceRect->right;
+ SrcSizeY = SourceRect->bottom - SourceRect->top;
+ SrcSizeX = SourceRect->right - SourceRect->left;
- DesSizeY = DestRect->bottom;
+ DesSizeY = DestRect->bottom ;
DesSizeX = DestRect->right;
zoomX = DesSizeX / SrcSizeX;
/* Draw one Hline on X - Led to the Des Zoom In*/
if (DesSizeX>SrcSizeX)
{
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
{
/* Draw one Hline on X - Led to the Des Zoom Out*/
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
if (DesSizeX>SrcSizeX)
{
/* Draw one pixel on X - Led to the Des Zoom In*/
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
else
{
/* Draw one pixel on X - Led to the Des Zoom Out*/
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
/* Draw one Hline on X - Led to the Des Zoom In*/
if (DesSizeX>SrcSizeX)
{
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
{
/* Draw one Hline on X - Led to the Des Zoom Out*/
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
if (DesSizeX>SrcSizeX)
{
/* Draw one pixel on X - Led to the Des Zoom In*/
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
else
{
/* Draw one pixel on X - Led to the Des Zoom Out*/
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
/* Draw one Hline on X - Led to the Des Zoom In*/
if (DesSizeX>SrcSizeX)
{
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
{
/* Draw one Hline on X - Led to the Des Zoom Out*/
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
if (DesSizeX>SrcSizeX)
{
/* Draw one pixel on X - Led to the Des Zoom In*/
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
else
{
/* Draw one pixel on X - Led to the Des Zoom Out*/
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
/* Draw one Hline on X - Led to the Des Zoom In*/
if (DesSizeX>SrcSizeX)
{
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
{
/* Draw one Hline on X - Led to the Des Zoom Out*/
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
if (DesSizeX>SrcSizeX)
{
/* Draw one pixel on X - Led to the Des Zoom In*/
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
else
{
/* Draw one pixel on X - Led to the Des Zoom Out*/
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
/* Draw one Hline on X - Led to the Des Zoom In*/
if (DesSizeX>SrcSizeX)
{
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
{
/* Draw one Hline on X - Led to the Des Zoom Out*/
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
if (DesSizeX>SrcSizeX)
{
/* Draw one pixel on X - Led to the Des Zoom In*/
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
else
{
/* Draw one pixel on X - Led to the Des Zoom Out*/
- for (DesY=DestRect->bottom-zoomY; DesY>=0; DesY-=zoomY)
+ for (DesY=DestRect->bottom-zoomY; DesY>=DestRect->top; DesY-=zoomY)
{
if (DesIsBiggerY)
sy = (int) ((ULONG) SrcSizeY * (ULONG) DesY) / ((ULONG) DesSizeY);
saveY = DesY+zoomY;
- for (DesX=DestRect->right-zoomX; DesX>=0; DesX-=zoomX)
+ for (DesX=DestRect->right-zoomX; DesX>=DestRect->left; DesX-=zoomX)
{
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);