mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
- Fixed BitBlts with ROP != SRCCOPY.
- Added skeleton for NtUserCallHwndOpt. svn path=/trunk/; revision=6750
This commit is contained in:
parent
ec4c966d0b
commit
aadb87f5d7
7 changed files with 37 additions and 30 deletions
|
@ -121,11 +121,13 @@ NtUserCallHwndLock(
|
|||
HWND hWnd,
|
||||
DWORD Unknown1);
|
||||
|
||||
DWORD
|
||||
#define HWNDOPT_ROUTINE_SETPROGMANWINDOW 0x4A
|
||||
#define HWNDOPT_ROUTINE_SETTASKMANWINDOW 0x4B
|
||||
HWND
|
||||
STDCALL
|
||||
NtUserCallHwndOpt(
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1);
|
||||
HWND Param,
|
||||
DWORD Routine);
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: dib16bpp.c,v 1.9 2003/10/06 16:25:53 gvg Exp $ */
|
||||
/* $Id: dib16bpp.c,v 1.10 2003/11/22 11:01:28 navaraf Exp $ */
|
||||
#undef WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -278,12 +278,12 @@ DIB_16BPP_BitBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
PBRUSHOBJ Brush, PPOINTL BrushOrigin,
|
||||
XLATEOBJ *ColorTranslation, ULONG Rop4)
|
||||
{
|
||||
LONG i, j, k, sx, sy;
|
||||
LONG i, j, sx, sy;
|
||||
ULONG Dest, Source, Pattern;
|
||||
PULONG DestBits;
|
||||
BOOL UsesSource = ((Rop4 & 0xCC0000) >> 2) != (Rop4 & 0x330000);
|
||||
BOOL UsesPattern = ((Rop4 & 0xF00000) >> 4) != (Rop4 & 0x0F0000);
|
||||
LONG RoundedRight = DestRect->right - (DestRect->right & 0x1);
|
||||
LONG RoundedRight = DestRect->right - ((DestRect->right - DestRect->left) & 0x1);
|
||||
|
||||
if (Rop4 == SRCCOPY)
|
||||
{
|
||||
|
@ -302,11 +302,8 @@ DIB_16BPP_BitBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
Dest = *DestBits;
|
||||
if (UsesSource)
|
||||
{
|
||||
Source = 0;
|
||||
for (k = 0; k < 2; k++)
|
||||
{
|
||||
Source |= (DIB_GetSource(SourceSurf, SourceGDI, sx + (i - DestRect->left) + k, sy, ColorTranslation) << (k * 16));
|
||||
}
|
||||
Source = DIB_GetSource(SourceSurf, SourceGDI, sx + (i - DestRect->left), sy, ColorTranslation);
|
||||
Source |= DIB_GetSource(SourceSurf, SourceGDI, sx + (i - DestRect->left) + 1, sy, ColorTranslation) << 16;
|
||||
}
|
||||
if (UsesPattern)
|
||||
{
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: dib1bpp.c,v 1.12 2003/10/29 22:45:45 gvg Exp $ */
|
||||
/* $Id: dib1bpp.c,v 1.13 2003/11/22 11:01:28 navaraf Exp $ */
|
||||
|
||||
#undef WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
|
@ -273,7 +273,7 @@ DIB_1BPP_BitBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
PULONG DestBits;
|
||||
BOOL UsesSource = ((Rop4 & 0xCC0000) >> 2) != (Rop4 & 0x330000);
|
||||
BOOL UsesPattern = ((Rop4 & 0xF00000) >> 4) != (Rop4 & 0x0F0000);
|
||||
LONG RoundedRight = DestRect->right - (DestRect->right & 0x7);
|
||||
LONG RoundedRight = DestRect->right - ((DestRect->right - DestRect->left) & 0x7);
|
||||
|
||||
if (Rop4 == SRCCOPY)
|
||||
{
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: dib4bpp.c,v 1.20 2003/10/06 21:04:24 gvg Exp $ */
|
||||
/* $Id: dib4bpp.c,v 1.21 2003/11/22 11:01:28 navaraf Exp $ */
|
||||
#undef WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -244,7 +244,7 @@ DIB_4BPP_BitBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
PULONG DestBits;
|
||||
BOOL UsesSource = ((Rop4 & 0xCC0000) >> 2) != (Rop4 & 0x330000);
|
||||
BOOL UsesPattern = ((Rop4 & 0xF00000) >> 4) != (Rop4 & 0x0F0000);
|
||||
LONG RoundedRight = DestRect->right - (DestRect->right & 0x7);
|
||||
LONG RoundedRight = DestRect->right - ((DestRect->right - DestRect->left) & 0x7);
|
||||
static const ULONG ExpandSolidColor[16] =
|
||||
{
|
||||
0x00000000 /* 0 */,
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
/* $Id: dib8bpp.c,v 1.7 2003/10/06 16:25:53 gvg Exp $ */
|
||||
/* $Id: dib8bpp.c,v 1.8 2003/11/22 11:01:28 navaraf Exp $ */
|
||||
#undef WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -279,7 +279,7 @@ DIB_8BPP_BitBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
PULONG DestBits;
|
||||
BOOL UsesSource = ((Rop4 & 0xCC0000) >> 2) != (Rop4 & 0x330000);
|
||||
BOOL UsesPattern = ((Rop4 & 0xF00000) >> 4) != (Rop4 & 0x0F0000);
|
||||
LONG RoundedRight = DestRect->right - (DestRect->right & 0x3);
|
||||
LONG RoundedRight = DestRect->right - ((DestRect->right - DestRect->left) & 0x3);
|
||||
|
||||
if (Rop4 == SRCCOPY)
|
||||
{
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: misc.c,v 1.26 2003/11/19 13:19:40 weiden Exp $
|
||||
/* $Id: misc.c,v 1.27 2003/11/22 11:01:28 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -275,6 +275,25 @@ NtUserCallTwoParam(
|
|||
return 0;
|
||||
}
|
||||
|
||||
HWND
|
||||
STDCALL
|
||||
NtUserCallHwndOpt(
|
||||
HWND Param,
|
||||
DWORD Routine)
|
||||
{
|
||||
switch (Routine)
|
||||
{
|
||||
case HWNDOPT_ROUTINE_SETPROGMANWINDOW:
|
||||
/* FIXME */
|
||||
break;
|
||||
|
||||
case HWNDOPT_ROUTINE_SETTASKMANWINDOW:
|
||||
/* FIXME */
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $Id: stubs.c,v 1.37 2003/11/19 12:25:03 weiden Exp $
|
||||
/* $Id: stubs.c,v 1.38 2003/11/22 11:01:28 navaraf Exp $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
|
@ -90,17 +90,6 @@ NtUserCallHwnd(
|
|||
return 0;
|
||||
}
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallHwndOpt(
|
||||
DWORD Unknown0,
|
||||
DWORD Unknown1)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
DWORD
|
||||
STDCALL
|
||||
NtUserCallHwndParam(
|
||||
|
|
Loading…
Reference in a new issue