VirtualBox

Ignore:
Timestamp:
Aug 2, 2010 10:33:59 AM (14 years ago)
Author:
vboxsync
Message:

Display: replaced floating point implementation of screenshot scaling with a faster integer.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/DisplayImpl.cpp

    r31195 r31279  
    181181        uint8_t *dst = pu8Thumbnail;
    182182        uint8_t *src = pu8Data;
    183         int dstX = 0;
    184         int dstY = 0;
    185         int srcX = 0;
    186         int srcY = 0;
    187183        int dstW = cxThumbnail;
    188184        int dstH = cyThumbnail;
    189185        int srcW = cx;
    190186        int srcH = cy;
    191         gdImageCopyResampled (dst,
    192                               src,
    193                               dstX, dstY,
    194                               srcX, srcY,
    195                               dstW, dstH, srcW, srcH);
     187        int iDeltaLine = cx * 4;
     188
     189        BitmapScale32 (dst,
     190                       dstW, dstH,
     191                       src,
     192                       iDeltaLine,
     193                       srcW, srcH);
    196194
    197195        *ppu8Thumbnail = pu8Thumbnail;
     
    291289            uint8_t *dst = pu8Bitmap;
    292290            uint8_t *src = pu8Data;
    293             int dstX = 0;
    294             int dstY = 0;
    295             int srcX = 0;
    296             int srcY = 0;
    297291            int dstW = cxBitmap;
    298292            int dstH = cyBitmap;
    299293            int srcW = cx;
    300294            int srcH = cy;
    301             gdImageCopyResampled (dst,
    302                                   src,
    303                                   dstX, dstY,
    304                                   srcX, srcY,
    305                                   dstW, dstH, srcW, srcH);
     295            int iDeltaLine = cx * 4;
     296
     297            BitmapScale32 (dst,
     298                           dstW, dstH,
     299                           src,
     300                           iDeltaLine,
     301                           srcW, srcH);
    306302        }
    307303        else
     
    24692465            uint8_t *dst = address;
    24702466            uint8_t *src = pu8Data;
    2471             int dstX = 0;
    2472             int dstY = 0;
    2473             int srcX = 0;
    2474             int srcY = 0;
    24752467            int dstW = width;
    24762468            int dstH = height;
    24772469            int srcW = cx;
    24782470            int srcH = cy;
    2479             gdImageCopyResampled (dst,
    2480                                   src,
    2481                                   dstX, dstY,
    2482                                   srcX, srcY,
    2483                                   dstW, dstH, srcW, srcH);
     2471            int iDeltaLine = cx * 4;
     2472
     2473            BitmapScale32 (dst,
     2474                           dstW, dstH,
     2475                           src,
     2476                           iDeltaLine,
     2477                           srcW, srcH);
    24842478        }
    24852479
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette