[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
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.
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
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.
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.
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