2 * DIBDRV bit-blit operations
4 * Copyright 2007 Jesse Allen
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
26 #include "wine/debug.h"
30 WINE_DEFAULT_DEBUG_CHANNEL(dibdrv
);
32 /***********************************************************************
35 BOOL
DIBDRV_StretchBlt( DIBDRVPHYSDEV
*physDevDst
, INT xDst
, INT yDst
,
36 INT widthDst
, INT heightDst
,
37 DIBDRVPHYSDEV
*physDevSrc
, INT xSrc
, INT ySrc
,
38 INT widthSrc
, INT heightSrc
, DWORD rop
)
40 INT i
, min_width
, min_height
;
41 TRACE("stub %p %d %d %d %d %p %d %d %d %d %d\n", physDevDst
, xDst
, yDst
, widthDst
, heightDst
,
42 physDevSrc
, xSrc
, ySrc
, widthSrc
, heightSrc
, rop
);
43 min_width
= physDevDst
->bmp
->width
- yDst
< physDevSrc
->bmp
->width
- ySrc
?
44 physDevDst
->bmp
->width
- yDst
: physDevSrc
->bmp
->width
- ySrc
;
45 min_height
= physDevDst
->bmp
->height
- xDst
< physDevSrc
->bmp
->height
- xSrc
?
46 physDevDst
->bmp
->height
- xDst
: physDevSrc
->bmp
->height
- xSrc
;
47 /* copy a scanline at a time */
48 for (i
= 0; i
< min_height
; i
++)
50 physDevDst
->funcs
->MoveXY( physDevDst
->bmp
, xDst
, i
+ yDst
);
51 physDevSrc
->funcs
->MoveXY( physDevSrc
->bmp
, xSrc
, i
+ ySrc
);
52 physDevDst
->funcs
->Copy( physDevDst
->bmp
, physDevSrc
->bmp
, min_width
, physDevSrc
->convs
);
57 /***********************************************************************
60 BOOL
DIBDRV_AlphaBlend( DIBDRVPHYSDEV
*devDst
, INT xDst
, INT yDst
, INT widthDst
, INT heightDst
,
61 DIBDRVPHYSDEV
*devSrc
, INT xSrc
, INT ySrc
, INT widthSrc
, INT heightSrc
,
62 BLENDFUNCTION blendfn
)
68 /***********************************************************************
71 BOOL
DIBDRV_BitBlt( DIBDRVPHYSDEV
*physDevDst
, INT xDst
, INT yDst
,
72 INT width
, INT height
, DIBDRVPHYSDEV
*physDevSrc
,
73 INT xSrc
, INT ySrc
, DWORD rop
)
75 TRACE("stub %p %d %d %d %d %p %d %d %u\n", physDevDst
, xDst
, yDst
, width
, height
, physDevSrc
,
77 return DIBDRV_StretchBlt( physDevDst
, xDst
, yDst
, width
, height
, physDevSrc
, xSrc
, ySrc
,
81 /***********************************************************************
84 BOOL
DIBDRV_PatBlt( DIBDRVPHYSDEV
*physDev
, INT left
, INT top
, INT width
, INT height
, DWORD rop
)