[ros-diffs] [jgardou] 57695: [WIN32K] - Implement usage of alpha cursors (does not work yet due to a bug in windres) - Directly use bitmaps passed to NtUserSetCursorIconData instead of copying them

2012-11-10 Thread jgardou
Author: jgardou
Date: Sat Nov 10 15:56:42 2012
New Revision: 57695

URL: http://svn.reactos.org/svn/reactos?rev=57695view=rev
Log:
[WIN32K]
- Implement usage of alpha cursors (does not work yet due to a bug in windres)
- Directly use bitmaps passed to NtUserSetCursorIconData instead of copying them

Modified:
trunk/reactos/win32ss/gdi/eng/mouse.c
trunk/reactos/win32ss/gdi/eng/mouse.h
trunk/reactos/win32ss/gdi/eng/pdevobj.h
trunk/reactos/win32ss/user/ntuser/cursoricon_new.c
trunk/reactos/win32ss/user/ntuser/msgqueue.c
trunk/reactos/win32ss/user/user32/windows/cursoricon_new.c

Modified: trunk/reactos/win32ss/gdi/eng/mouse.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/eng/mouse.c?rev=57695r1=57694r2=57695view=diff
==
--- trunk/reactos/win32ss/gdi/eng/mouse.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/gdi/eng/mouse.c [iso-8859-1] Sat Nov 10 15:56:42 2012
@@ -232,29 +232,51 @@
 /* Blt the pointer on the screen. */
 if (pgp-psurfColor)
 {
-IntEngBitBlt(psoDest,
- pgp-psurfMask-SurfObj,
- NULL,
- NULL,
- NULL,
- rclSurf,
- (POINTL*)rclPointer,
- NULL,
- NULL,
- NULL,
- ROP4_FROM_INDEX(R3_OPINDEX_SRCAND));
-
-IntEngBitBlt(psoDest,
- pgp-psurfColor-SurfObj,
- NULL,
- NULL,
- NULL,
- rclSurf,
- (POINTL*)rclPointer,
- NULL,
- NULL,
- NULL,
- ROP4_FROM_INDEX(R3_OPINDEX_SRCINVERT));
+if(!(pgp-flags  SPS_ALPHA))
+{
+IntEngBitBlt(psoDest,
+ pgp-psurfMask-SurfObj,
+ NULL,
+ NULL,
+ NULL,
+ rclSurf,
+ (POINTL*)rclPointer,
+ NULL,
+ NULL,
+ NULL,
+ ROP4_SRCAND);
+
+IntEngBitBlt(psoDest,
+ pgp-psurfColor-SurfObj,
+ NULL,
+ NULL,
+ NULL,
+ rclSurf,
+ (POINTL*)rclPointer,
+ NULL,
+ NULL,
+ NULL,
+ ROP4_SRCINVERT);
+ }
+ else
+ {
+BLENDOBJ blendobj = { {AC_SRC_OVER, 0, 255, AC_SRC_ALPHA } };
+EXLATEOBJ exlo;
+EXLATEOBJ_vInitialize(exlo,
+pgp-psurfColor-ppal,
+ppdev-ppalSurf,
+0x,
+0x,
+0);
+IntEngAlphaBlend(psoDest,
+ pgp-psurfColor-SurfObj,
+ NULL,
+ exlo.xlo,
+ rclSurf,
+ rclPointer,
+ blendobj);
+EXLATEOBJ_vCleanup(exlo);
+}
 }
 else
 {
@@ -352,7 +374,15 @@
 if (psoColor)
 {
 /* Color bitmap must have the same format as the dest surface */
-if (psoColor-iBitmapFormat != pso-iBitmapFormat) goto failure;
+if (psoColor-iBitmapFormat != pso-iBitmapFormat)
+{
+/* It's OK if we have an alpha bitmap */
+if(!(fl  SPS_ALPHA))
+{
+DPRINT1(Screen surface and cursor color bitmap format don't 
match!.\n);
+goto failure;
+}
+}
 
 /* Create a bitmap to copy the color bitmap to */
 hbmColor = EngCreateBitmap(psoColor-sizlBitmap,
@@ -452,6 +482,7 @@
 pgp-HotSpot.x = xHot;
 pgp-HotSpot.y = yHot;
 pgp-Size = sizel;
+pgp-flags = fl;
 
 if (x != -1)
 {
@@ -598,12 +629,12 @@
 LONG xHot,
 LONG yHot,
 LONG x,
-LONG y)
+LONG y,
+FLONG fl)
 {
 PDC pdc;
 PSURFACE psurf, psurfMask, psurfColor;
 EXLATEOBJ exlo;
-FLONG fl = 0;
 ULONG ulResult = 0;
 
 pdc = DC_LockDc(hdc);
@@ -629,7 +660,10 @@
 if (hbmMask)
 psurfMask = SURFACE_ShareLockSurface(hbmMask);
 else
+{
+ASSERT(fl  SPS_ALPHA);
 psurfMask = NULL;
+}
 
 /* Check for color bitmap */
 if (hbmColor)
@@ -645,6 +679,9 @@
 }
 else
 psurfColor = NULL;
+
+/* We must have a valid surface in case of alpha bitmap */
+ASSERT(((fl  SPS_ALPHA)  psurfColor) || !(fl  SPS_ALPHA)); 
 
 /* Call the driver or eng function */
 ulResult = IntEngSetPointerShape(psurf-SurfObj,

Modified: 

[ros-diffs] [hbelusca] 57696: [MSGINA] Introduce a new logon image. Resizing the dialog boxes remains to do.

2012-11-10 Thread hbelusca
Author: hbelusca
Date: Sat Nov 10 23:45:08 2012
New Revision: 57696

URL: http://svn.reactos.org/svn/reactos?rev=57696view=rev
Log:
[MSGINA]
Introduce a new logon image.
Resizing the dialog boxes remains to do.

Modified:
trunk/reactos/dll/win32/msgina/resources/reactos.bmp

Modified: trunk/reactos/dll/win32/msgina/resources/reactos.bmp
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/resources/reactos.bmp?rev=57696r1=57695r2=57696view=diff
==
Binary files - no diff available.




[ros-diffs] [hbelusca] 57697: [MSGINA] Resize the dialogs to fit the ReactOS image, and add the logo to the Please wait... dialog (which is displayed when a user is logging-on or quitting his sessio

2012-11-10 Thread hbelusca
Author: hbelusca
Date: Sun Nov 11 01:54:11 2012
New Revision: 57697

URL: http://svn.reactos.org/svn/reactos?rev=57697view=rev
Log:
[MSGINA]
Resize the dialogs to fit the ReactOS image, and add the logo to the Please 
wait... dialog
(which is displayed when a user is logging-on or quitting his session and the 
Save your parameters...
message is displayed). Now ReactOS looks perfect.

Modified:
trunk/reactos/dll/win32/msgina/lang/bg-BG.rc
trunk/reactos/dll/win32/msgina/lang/cs-CZ.rc
trunk/reactos/dll/win32/msgina/lang/de-DE.rc
trunk/reactos/dll/win32/msgina/lang/en-US.rc
trunk/reactos/dll/win32/msgina/lang/es-ES.rc
trunk/reactos/dll/win32/msgina/lang/fr-FR.rc
trunk/reactos/dll/win32/msgina/lang/id-ID.rc
trunk/reactos/dll/win32/msgina/lang/it-IT.rc
trunk/reactos/dll/win32/msgina/lang/ja-JP.rc
trunk/reactos/dll/win32/msgina/lang/no-NO.rc
trunk/reactos/dll/win32/msgina/lang/pl-PL.rc
trunk/reactos/dll/win32/msgina/lang/ro-RO.rc
trunk/reactos/dll/win32/msgina/lang/ru-RU.rc
trunk/reactos/dll/win32/msgina/lang/sk-SK.rc
trunk/reactos/dll/win32/msgina/lang/uk-UA.rc

Modified: trunk/reactos/dll/win32/msgina/lang/bg-BG.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/bg-BG.rc?rev=57697r1=57696r2=57697view=diff
==
--- trunk/reactos/dll/win32/msgina/lang/bg-BG.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msgina/lang/bg-BG.rc [iso-8859-1] Sun Nov 11 
01:54:11 2012
@@ -1,11 +1,12 @@
 LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
 
-IDD_STATUSWINDOW_DLG DIALOGEX 0,0,274,26
+IDD_STATUSWINDOW_DLG DIALOGEX 0,0,275,80
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | 
WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION Почакайте...
 FONT 8,MS Shell Dlg,400,0,1
 BEGIN
-LTEXT   ,IDC_STATUSLABEL,7,8,234,12,SS_WORDELLIPSIS
+CONTROL IDI_ROSLOGO,IDC_ROSLOGO,Static,SS_BITMAP,0,0,275,54
+LTEXT   ,IDC_STATUSLABEL,7,62,261,12,SS_WORDELLIPSIS
 END
 
 IDD_NOTICE_DLG DIALOGEX 0, 0, 186, 32
@@ -22,7 +23,7 @@
 CAPTION Вход
 FONT 8,MS Shell Dlg,400,0,1
 BEGIN
-CONTROL IDI_ROSLOGO,IDC_ROSLOGO,Static,SS_BITMAP,0,0,275,59
+CONTROL IDI_ROSLOGO,IDC_ROSLOGO,Static,SS_BITMAP,0,0,275,54
 LTEXT   Потребител:,IDC_STATIC,36,75,45,8
 EDITTEXTIDC_USERNAME,84,72,119,14,ES_AUTOHSCROLL
 LTEXT   Парола:,IDC_STATIC,36,93,42,8
@@ -32,12 +33,12 @@
 PUSHBUTTON  Изключване,IDC_SHUTDOWN,179,122,50,14
 END
 
-IDD_LOGGEDON_DLG DIALOGEX 0,0,247,116
+IDD_LOGGEDON_DLG DIALOGEX 0,0,275,116
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | 
WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU
 CAPTION Сигурност
 FONT 8,MS Shell Dlg,400,0,1
 BEGIN
-CONTROL IDI_ROSLOGO,IDC_ROSLOGO,Static,SS_BITMAP,0,0,247,53
+CONTROL IDI_ROSLOGO,IDC_ROSLOGO,Static,SS_BITMAP,0,0,275,54
 LTEXT   Какво желаете?,IDC_STATIC,86,60,87,8
 PUSHBUTTON  Заключване на 
компютъра,IDC_LOCK,25,95,99,14
 PUSHBUTTON  Изход,IDC_LOGOFF,90,76,75,14

Modified: trunk/reactos/dll/win32/msgina/lang/cs-CZ.rc
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msgina/lang/cs-CZ.rc?rev=57697r1=57696r2=57697view=diff
==
--- trunk/reactos/dll/win32/msgina/lang/cs-CZ.rc [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/msgina/lang/cs-CZ.rc [iso-8859-1] Sun Nov 11 
01:54:11 2012
@@ -5,12 +5,13 @@
  
 LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
 
-IDD_STATUSWINDOW_DLG DIALOGEX 0,0,274,26
+IDD_STATUSWINDOW_DLG DIALOGEX 0,0,275,80
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | 
WS_CAPTION | WS_DLGFRAME | WS_POPUP
 CAPTION Prosím čekejte...
 FONT 8,MS Shell Dlg,400,0,1
 BEGIN
-LTEXT   ,IDC_STATUSLABEL,7,8,234,12,SS_WORDELLIPSIS
+CONTROL IDI_ROSLOGO,IDC_ROSLOGO,Static,SS_BITMAP,0,0,275,54
+LTEXT   ,IDC_STATUSLABEL,7,62,261,12,SS_WORDELLIPSIS
 END
 
 IDD_NOTICE_DLG DIALOGEX 0, 0, 186, 32
@@ -27,7 +28,7 @@
 CAPTION Přihlášení
 FONT 8,MS Shell Dlg,400,0,1
 BEGIN
-CONTROL IDI_ROSLOGO,IDC_ROSLOGO,Static,SS_BITMAP,0,0,275,59
+CONTROL IDI_ROSLOGO,IDC_ROSLOGO,Static,SS_BITMAP,0,0,275,54
 LTEXT   Jméno:,IDC_STATIC,36,75,40,8
 EDITTEXTIDC_USERNAME,84,72,119,14,ES_AUTOHSCROLL
 LTEXT   Heslo:,IDC_STATIC,36,93,42,8
@@ -37,12 +38,12 @@
 PUSHBUTTON  Vypnout,IDC_SHUTDOWN,179,122,50,14
 END
 
-IDD_LOGGEDON_DLG DIALOGEX 0,0,247,116
+IDD_LOGGEDON_DLG DIALOGEX 0,0,275,116
 STYLE NOT WS_VISIBLE | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_BORDER | 
WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU
 CAPTION Bezpečnost
 FONT 8,MS Shell Dlg,400,0,1
 BEGIN
-CONTROL

[ros-diffs] [jimtabor] 57698: [Win32k] - Fix api test crash.

2012-11-10 Thread jimtabor
Author: jimtabor
Date: Sun Nov 11 03:01:58 2012
New Revision: 57698

URL: http://svn.reactos.org/svn/reactos?rev=57698view=rev
Log:
[Win32k]
- Fix api test crash.

Modified:
trunk/reactos/win32ss/user/ntuser/cursoricon.c

Modified: trunk/reactos/win32ss/user/ntuser/cursoricon.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/ntuser/cursoricon.c?rev=57698r1=57697r2=57698view=diff
==
--- trunk/reactos/win32ss/user/ntuser/cursoricon.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/user/ntuser/cursoricon.c [iso-8859-1] Sun Nov 11 
03:01:58 2012
@@ -1154,6 +1154,12 @@
 return FALSE;
 }
 
+if (!psurfColor)
+{
+   ERR(Attention HAX FIX API DrawIconEx TEST Line 37: psurfColor is 
NULL going with Mask!\n);
+   psurfColor = SURFACE_ShareLockSurface(hbmMask);
+}
+
 psurfOffScreen = SURFACE_AllocSurface(STYPE_BITMAP,
 cxWidth, cyHeight, psurfColor-SurfObj.iBitmapFormat,
 0, 0, NULL);




[ros-diffs] [jimtabor] 57699: [Win32k] - Implement Gdi32 counterpart SetStretchBltMode for Win32k.

2012-11-10 Thread jimtabor
Author: jimtabor
Date: Sun Nov 11 03:18:21 2012
New Revision: 57699

URL: http://svn.reactos.org/svn/reactos?rev=57699view=rev
Log:
[Win32k]
- Implement Gdi32 counterpart SetStretchBltMode for Win32k.

Modified:
trunk/reactos/win32ss/gdi/ntgdi/dc.h
trunk/reactos/win32ss/gdi/ntgdi/dcutil.c

Modified: trunk/reactos/win32ss/gdi/ntgdi/dc.h
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/ntgdi/dc.h?rev=57699r1=57698r2=57699view=diff
==
--- trunk/reactos/win32ss/gdi/ntgdi/dc.h [iso-8859-1] (original)
+++ trunk/reactos/win32ss/gdi/ntgdi/dc.h [iso-8859-1] Sun Nov 11 03:18:21 2012
@@ -173,6 +173,7 @@
 VOID FASTCALL DCU_SetDcUndeletable(HDC);
 BOOL FASTCALL IntSetDefaultRegion(PDC);
 ULONG TranslateCOLORREF(PDC pdc, COLORREF crColor);
+int FASTCALL GreSetStretchBltMode(HDC hdc, int iStretchMode);
 
 
 

Modified: trunk/reactos/win32ss/gdi/ntgdi/dcutil.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/ntgdi/dcutil.c?rev=57699r1=57698r2=57699view=diff
==
--- trunk/reactos/win32ss/gdi/ntgdi/dcutil.c [iso-8859-1] (original)
+++ trunk/reactos/win32ss/gdi/ntgdi/dcutil.c [iso-8859-1] Sun Nov 11 03:18:21 
2012
@@ -94,6 +94,29 @@
 DC_UnlockDc(pdc);
 
 return  crOldColor;
+}
+
+int
+FASTCALL
+GreSetStretchBltMode(HDC hDC, int iStretchMode)
+{
+PDC pdc;
+PDC_ATTR pdcattr;
+INT oSMode = 0;
+
+pdc = DC_LockDc(hDC);
+if (pdc)
+{
+   pdcattr = pdc-pdcattr;
+   oSMode = pdcattr-lStretchBltMode;
+   pdcattr-lStretchBltMode = iStretchMode;
+
+   // Wine returns an error here. We set the default.
+   if ((iStretchMode = 0) || (iStretchMode  MAXSTRETCHBLTMODE)) 
iStretchMode = WHITEONBLACK;
+  
+   pdcattr-jStretchBltMode = iStretchMode;
+}
+return oSMode;
 }
 
 VOID