ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
August 2007
----- 2025 -----
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
21 participants
666 discussions
Start a n
N
ew thread
[greatlrd] 28467: Redirect : BRUSHOBJ_pvGetRbrush@4 to NtGdiBRUSHOBJ_pvGetRbrush@4 Redirect : BRUSHOBJ_ulGetBrushColor@4 to NtGdiBRUSHOBJ_ulGetBrushColor@4 Redirect : CLIPOBJ_bEnum@12 to NtGdiCLIPOBJ_bEnum@12 Redirect : CLIPOBJ_cEnumStart@20 to NtGdiCLIPOBJ_cEnumStart@20 Redirect : CLIPOBJ_ppoGetPath@4 to NtGdiCLIPOBJ_ppoGetPath@4
by greatlrd@svn.reactos.org
Author: greatlrd Date: Thu Aug 23 16:10:13 2007 New Revision: 28467 URL:
http://svn.reactos.org/svn/reactos?rev=28467&view=rev
Log: Redirect : BRUSHOBJ_pvGetRbrush@4 to NtGdiBRUSHOBJ_pvGetRbrush@4 Redirect : BRUSHOBJ_ulGetBrushColor@4 to NtGdiBRUSHOBJ_ulGetBrushColor@4 Redirect : CLIPOBJ_bEnum@12 to NtGdiCLIPOBJ_bEnum@12 Redirect : CLIPOBJ_cEnumStart@20 to NtGdiCLIPOBJ_cEnumStart@20 Redirect : CLIPOBJ_ppoGetPath@4 to NtGdiCLIPOBJ_ppoGetPath@4 Modified: trunk/reactos/dll/win32/gdi32/gdi32.def trunk/reactos/dll/win32/gdi32/misc/stubs.c Modified: trunk/reactos/dll/win32/gdi32/gdi32.def URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/gdi32.def?…
============================================================================== --- trunk/reactos/dll/win32/gdi32/gdi32.def (original) +++ trunk/reactos/dll/win32/gdi32/gdi32.def Thu Aug 23 16:10:13 2007 @@ -23,23 +23,23 @@ ArcTo@36 BRUSHOBJ_hGetColorTransform@4=NtGdiBRUSHOBJ_hGetColorTransform@4 BRUSHOBJ_pvAllocRbrush@8=NtGdiBRUSHOBJ_pvAllocRbrush@8 - -BRUSHOBJ_pvGetRbrush@4 -BRUSHOBJ_ulGetBrushColor@4 +BRUSHOBJ_pvGetRbrush@4=NtGdiBRUSHOBJ_pvGetRbrush@4 +BRUSHOBJ_ulGetBrushColor@4=NtGdiBRUSHOBJ_ulGetBrushColor@4 BeginPath@4 BitBlt@36 -CLIPOBJ_bEnum@12 -CLIPOBJ_cEnumStart@20 -CLIPOBJ_ppoGetPath@4 +CLIPOBJ_bEnum@12=NtGdiCLIPOBJ_bEnum@12 +CLIPOBJ_cEnumStart@20=NtGdiCLIPOBJ_cEnumStart@20 +CLIPOBJ_ppoGetPath@4=NtGdiCLIPOBJ_ppoGetPath@4 CancelDC@4 CheckColorsInGamut@16 ChoosePixelFormat@8 Chord@36 -ClearBitmapAttributes@8 -ClearBrushAttributes@8 CloseEnhMetaFile@4 CloseFigure@4 CloseMetaFile@4 + +ClearBitmapAttributes@8 +ClearBrushAttributes@8 ColorCorrectPalette@16 ColorMatchToTarget@12 CombineRgn@16=NtGdiCombineRgn@16 Modified: trunk/reactos/dll/win32/gdi32/misc/stubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/stubs…
============================================================================== --- trunk/reactos/dll/win32/gdi32/misc/stubs.c (original) +++ trunk/reactos/dll/win32/gdi32/misc/stubs.c Thu Aug 23 16:10:13 2007 @@ -2434,69 +2434,6 @@ - - -/* - * @unimplemented - */ -PVOID STDCALL -BRUSHOBJ_pvGetRbrush(IN BRUSHOBJ *BrushObj) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -ULONG STDCALL -BRUSHOBJ_ulGetBrushColor(BRUSHOBJ *pbo) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -BOOL STDCALL -CLIPOBJ_bEnum(IN CLIPOBJ *ClipObj, - IN ULONG ObjSize, - OUT ULONG *EnumRects) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -ULONG STDCALL -CLIPOBJ_cEnumStart(IN CLIPOBJ *ClipObj, - IN BOOL ShouldDoAll, - IN ULONG ClipType, - IN ULONG BuildOrder, - IN ULONG MaxRects) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -PATHOBJ* STDCALL -CLIPOBJ_ppoGetPath(CLIPOBJ *ClipObj) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - /* * @unimplemented */
17 years, 4 months
1
0
0
0
[greatlrd] 28466: Implement stub : NtGdiCLIPOBJ_bEnum Implement stub : NtGdiCLIPOBJ_cEnumStart Implement stub : NtGdiCLIPOBJ_ppoGetPath Implement stub : NtGdiBRUSHOBJ_ulGetBrushColor Implement stub : NtGdiBRUSHOBJ_pvAllocRbrush Implement stub : NtGdiBRUSHOBJ_pvGetRbrush
by greatlrd@svn.reactos.org
Author: greatlrd Date: Thu Aug 23 16:07:37 2007 New Revision: 28466 URL:
http://svn.reactos.org/svn/reactos?rev=28466&view=rev
Log: Implement stub : NtGdiCLIPOBJ_bEnum Implement stub : NtGdiCLIPOBJ_cEnumStart Implement stub : NtGdiCLIPOBJ_ppoGetPath Implement stub : NtGdiBRUSHOBJ_ulGetBrushColor Implement stub : NtGdiBRUSHOBJ_pvAllocRbrush Implement stub : NtGdiBRUSHOBJ_pvGetRbrush Modified: trunk/reactos/subsystems/win32/win32k/stubs/stubs.c trunk/reactos/subsystems/win32/win32k/w32ksvc.db Modified: trunk/reactos/subsystems/win32/win32k/stubs/stubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/st…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/stubs/stubs.c (original) +++ trunk/reactos/subsystems/win32/win32k/stubs/stubs.c Thu Aug 23 16:07:37 2007 @@ -1243,3 +1243,61 @@ return NULL; } +/* + * @unimplemented + */ +PVOID STDCALL +NtGdiBRUSHOBJ_pvGetRbrush(IN BRUSHOBJ *BrushObj) +{ + UNIMPLEMENTED; + return NULL; +} + +/* + * @unimplemented + */ +ULONG STDCALL +NtGdiBRUSHOBJ_ulGetBrushColor(BRUSHOBJ *pbo) +{ + UNIMPLEMENTED; + return NULL; +} + +/* + * @unimplemented + */ +BOOL STDCALL +NtGdiCLIPOBJ_bEnum( IN CLIPOBJ *ClipObj, + IN ULONG ObjSize, + OUT ULONG *EnumRects) +{ + UNIMPLEMENTED; + return FALSE; +} + + +/* + * @unimplemented + */ +ULONG STDCALL +NtGdiCLIPOBJ_cEnumStart(IN CLIPOBJ *ClipObj, + IN BOOL ShouldDoAll, + IN ULONG ClipType, + IN ULONG BuildOrder, + IN ULONG MaxRects) +{ + UNIMPLEMENTED; + return NULL; +} + + +/* + * @unimplemented + */ +PATHOBJ* STDCALL +NtGdiCLIPOBJ_ppoGetPath(CLIPOBJ *ClipObj) +{ + UNIMPLEMENTED; + return NULL; +} + Modified: trunk/reactos/subsystems/win32/win32k/w32ksvc.db URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/w3…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/w32ksvc.db (original) +++ trunk/reactos/subsystems/win32/win32k/w32ksvc.db Thu Aug 23 16:07:37 2007 @@ -634,15 +634,15 @@ # NtGdiXLATEOBJ_cGetPalette 4 # NtGdiXLATEOBJ_iXlate 2 # NtGdiXLATEOBJ_hGetColorTransform 1 -# NtGdiCLIPOBJ_bEnum 3 -# NtGdiCLIPOBJ_cEnumStart 5 -# NtGdiCLIPOBJ_ppoGetPath 1 +NtGdiCLIPOBJ_bEnum 3 +NtGdiCLIPOBJ_cEnumStart 5 +NtGdiCLIPOBJ_ppoGetPath 1 # NtGdiEngDeletePath 1 # NtGdiEngCreateClip 0 # NtGdiEngDeleteClip 1 -# NtGdiBRUSHOBJ_ulGetBrushColor 1 -NtGdiBRUSHOBJ_pvAllocRbrush 2 -# NtGdiBRUSHOBJ_pvGetRbrush 1 +NtGdiBRUSHOBJ_ulGetBrushColor 1 +NtGdiBRUSHOBJ_pvAllocRbrush 2 +NtGdiBRUSHOBJ_pvGetRbrush 1 NtGdiBRUSHOBJ_hGetColorTransform 1 # NtGdiXFORMOBJ_bApplyXform 5 # NtGdiXFORMOBJ_iGetXform 2
17 years, 4 months
1
0
0
0
[greatlrd] 28465: Bugfix : AddFontResourceExW, SetLastError to invaild param when the fl are not set. Redirect : AnyLinkedFonts@0 to NtGdiAnyLinkedFonts@0 (stubed in win32k) Redirect : BRUSHOBJ_hGetColorTransform@4 to NtGdiBRUSHOBJ_hGetColorTransform@4 (stubed in win32k) Redirect : BRUSHOBJ_pvAllocRbrush@8 to NtGdiBRUSHOBJ_pvAllocRbrush@8 (stubed in win32k) partly working : GdiAddFontResourceW is parttly working but it does not works as windows version, instead for being stub, it is not finish i
by greatlrd@svn.reactos.org
Author: greatlrd Date: Thu Aug 23 13:52:31 2007 New Revision: 28465 URL:
http://svn.reactos.org/svn/reactos?rev=28465&view=rev
Log: Bugfix : AddFontResourceExW, SetLastError to invaild param when the fl are not set. Redirect : AnyLinkedFonts@0 to NtGdiAnyLinkedFonts@0 (stubed in win32k) Redirect : BRUSHOBJ_hGetColorTransform@4 to NtGdiBRUSHOBJ_hGetColorTransform@4 (stubed in win32k) Redirect : BRUSHOBJ_pvAllocRbrush@8 to NtGdiBRUSHOBJ_pvAllocRbrush@8 (stubed in win32k) partly working : GdiAddFontResourceW is parttly working but it does not works as windows version, instead for being stub, it is not finish implementions of it. This is nassry to clean up some mess. Modified: trunk/reactos/dll/win32/gdi32/gdi32.def trunk/reactos/dll/win32/gdi32/include/gdi32p.h trunk/reactos/dll/win32/gdi32/misc/stubs.c trunk/reactos/dll/win32/gdi32/misc/stubsw.c trunk/reactos/dll/win32/gdi32/objects/font.c Modified: trunk/reactos/dll/win32/gdi32/gdi32.def URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/gdi32.def?…
============================================================================== --- trunk/reactos/dll/win32/gdi32/gdi32.def (original) +++ trunk/reactos/dll/win32/gdi32/gdi32.def Thu Aug 23 13:52:31 2007 @@ -14,28 +14,29 @@ AddFontResourceA@4 AddFontResourceExA@12 AddFontResourceExW@12 +AddFontResourceTracking@8 AddFontResourceW@4 -AddFontResourceTracking@8 AngleArc@24 AnimatePalette@16 -AnyLinkedFonts@0 +AnyLinkedFonts@0=NtGdiAnyLinkedFonts@0 Arc@36 ArcTo@36 -BeginPath@4 -BRUSHOBJ_hGetColorTransform@4 -BRUSHOBJ_pvAllocRbrush@8 +BRUSHOBJ_hGetColorTransform@4=NtGdiBRUSHOBJ_hGetColorTransform@4 +BRUSHOBJ_pvAllocRbrush@8=NtGdiBRUSHOBJ_pvAllocRbrush@8 + BRUSHOBJ_pvGetRbrush@4 BRUSHOBJ_ulGetBrushColor@4 +BeginPath@4 BitBlt@36 +CLIPOBJ_bEnum@12 +CLIPOBJ_cEnumStart@20 +CLIPOBJ_ppoGetPath@4 CancelDC@4 CheckColorsInGamut@16 ChoosePixelFormat@8 Chord@36 ClearBitmapAttributes@8 ClearBrushAttributes@8 -CLIPOBJ_bEnum@12 -CLIPOBJ_cEnumStart@20 -CLIPOBJ_ppoGetPath@4 CloseEnhMetaFile@4 CloseFigure@4 CloseMetaFile@4 Modified: trunk/reactos/dll/win32/gdi32/include/gdi32p.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/include/gd…
============================================================================== --- trunk/reactos/dll/win32/gdi32/include/gdi32p.h (original) +++ trunk/reactos/dll/win32/gdi32/include/gdi32p.h Thu Aug 23 13:52:31 2007 @@ -184,5 +184,9 @@ WINAPI UserRealizePalette(HDC hDC); +int +STDCALL +GdiAddFontResourceW(LPCWSTR lpszFilename,FLONG fl,DESIGNVECTOR *pdv); + /* EOF */ Modified: trunk/reactos/dll/win32/gdi32/misc/stubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/stubs…
============================================================================== --- trunk/reactos/dll/win32/gdi32/misc/stubs.c (original) +++ trunk/reactos/dll/win32/gdi32/misc/stubs.c Thu Aug 23 13:52:31 2007 @@ -1314,17 +1314,7 @@ return 0; } -/* - * @unimplemented - */ -BOOL -STDCALL -AnyLinkedFonts(VOID) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} + /* * @unimplemented @@ -2442,28 +2432,9 @@ return 0; } -/* - * @unimplemented - */ -HANDLE STDCALL -BRUSHOBJ_hGetColorTransform(BRUSHOBJ *pbo) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} - -/* - * @unimplemented - */ -PVOID STDCALL -BRUSHOBJ_pvAllocRbrush(IN BRUSHOBJ *BrushObj, - IN ULONG ObjSize) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} + + + /* * @unimplemented Modified: trunk/reactos/dll/win32/gdi32/misc/stubsw.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/misc/stubs…
============================================================================== --- trunk/reactos/dll/win32/gdi32/misc/stubsw.c (original) +++ trunk/reactos/dll/win32/gdi32/misc/stubsw.c Thu Aug 23 13:52:31 2007 @@ -258,11 +258,16 @@ */ int STDCALL -GdiAddFontResourceW(LPCWSTR filename,FLONG f,DESIGNVECTOR *pdv) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; +GdiAddFontResourceW(LPCWSTR lpszFilename,FLONG fl,DESIGNVECTOR *pdv) +{ + UNICODE_STRING Filename; + //UNIMPLEMENTED; + //SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + //return 0; + + /* FIXME handle fl parameter */ + RtlInitUnicodeString(&Filename, lpszFilename); + return NtGdiAddFontResource ( &Filename, fl ); } /* Modified: trunk/reactos/dll/win32/gdi32/objects/font.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/fo…
============================================================================== --- trunk/reactos/dll/win32/gdi32/objects/font.c (original) +++ trunk/reactos/dll/win32/gdi32/objects/font.c Thu Aug 23 13:52:31 2007 @@ -1091,11 +1091,17 @@ STDCALL AddFontResourceExW ( LPCWSTR lpszFilename, DWORD fl, PVOID pvReserved ) { - UNICODE_STRING Filename; - - /* FIXME handle fl parameter */ - RtlInitUnicodeString(&Filename, lpszFilename); - return NtGdiAddFontResource ( &Filename, fl ); + int retVal = 0; + + if (fl & (FR_PRIVATE | FR_NOT_ENUM)) + { + retVal = GdiAddFontResourceW(lpszFilename, fl,0); + } + else + { + SetLastError( ERROR_INVALID_PARAMETER ); + } + return retVal; }
17 years, 4 months
1
0
0
0
[greatlrd] 28464: adding stub for NtGdiAnyLinkedFonts, NtGdiBRUSHOBJ_hGetColorTransform, NtGdiBRUSHOBJ_pvAllocRbrush
by greatlrd@svn.reactos.org
Author: greatlrd Date: Thu Aug 23 13:44:26 2007 New Revision: 28464 URL:
http://svn.reactos.org/svn/reactos?rev=28464&view=rev
Log: adding stub for NtGdiAnyLinkedFonts, NtGdiBRUSHOBJ_hGetColorTransform, NtGdiBRUSHOBJ_pvAllocRbrush Modified: trunk/reactos/subsystems/win32/win32k/stubs/stubs.c trunk/reactos/subsystems/win32/win32k/w32ksvc.db Modified: trunk/reactos/subsystems/win32/win32k/stubs/stubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/st…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/stubs/stubs.c (original) +++ trunk/reactos/subsystems/win32/win32k/stubs/stubs.c Thu Aug 23 13:44:26 2007 @@ -6,6 +6,9 @@ #define STUB(x) void x(void) { DbgPrint("WIN32K: Stub for %s\n", #x); } #define UNIMPLEMENTED DbgPrint("(%s:%i) WIN32K: %s UNIMPLEMENTED\n", __FILE__, __LINE__, __FUNCTION__ ) + + + /* * @unimplemented @@ -1204,3 +1207,39 @@ UNIMPLEMENTED; return NULL; } + + +/* + * @unimplemented + */ + +BOOL +STDCALL +NtGdiAnyLinkedFonts() +{ + UNIMPLEMENTED; + return FALSE; +} + +/* + * @unimplemented + */ +HANDLE STDCALL +NtGdiBRUSHOBJ_hGetColorTransform( + IN BRUSHOBJ *Brush) +{ + UNIMPLEMENTED; + return NULL; +} + +/* + * @unimplemented + */ +PVOID STDCALL +NtGdiBRUSHOBJ_pvAllocRbrush(IN BRUSHOBJ *BrushObj, + IN ULONG ObjSize) +{ + UNIMPLEMENTED; + return NULL; +} + Modified: trunk/reactos/subsystems/win32/win32k/w32ksvc.db URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/w3…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/w32ksvc.db (original) +++ trunk/reactos/subsystems/win32/win32k/w32ksvc.db Thu Aug 23 13:44:26 2007 @@ -15,7 +15,7 @@ # NtGdiAddRemoteMMInstanceToDC 3 NtGdiAlphaBlend 12 NtGdiAngleArc 6 -# NtGdiAnyLinkedFonts 0 +NtGdiAnyLinkedFonts 0 # NtGdiFontIsLinked 1 NtGdiArcInternal 10 NtGdiBeginPath 1 @@ -641,9 +641,9 @@ # NtGdiEngCreateClip 0 # NtGdiEngDeleteClip 1 # NtGdiBRUSHOBJ_ulGetBrushColor 1 -# NtGdiBRUSHOBJ_pvAllocRbrush 2 +NtGdiBRUSHOBJ_pvAllocRbrush 2 # NtGdiBRUSHOBJ_pvGetRbrush 1 -# NtGdiBRUSHOBJ_hGetColorTransform 1 +NtGdiBRUSHOBJ_hGetColorTransform 1 # NtGdiXFORMOBJ_bApplyXform 5 # NtGdiXFORMOBJ_iGetXform 2 # NtGdiFONTOBJ_vGetInfo 3
17 years, 4 months
1
0
0
0
[fireball] 28463: Dmitry Chapyshev <lentind@yandex.ru>: - Add a shortcut to a charmap tool, create start menu group for it.
by fireball@svn.reactos.org
Author: fireball Date: Thu Aug 23 13:05:04 2007 New Revision: 28463 URL:
http://svn.reactos.org/svn/reactos?rev=28463&view=rev
Log: Dmitry Chapyshev <lentind(a)yandex.ru>: - Add a shortcut to a charmap tool, create start menu group for it. Modified: trunk/reactos/dll/win32/syssetup/install.c trunk/reactos/dll/win32/syssetup/lang/cs-CZ.rc trunk/reactos/dll/win32/syssetup/lang/de-DE.rc trunk/reactos/dll/win32/syssetup/lang/el-GR.rc trunk/reactos/dll/win32/syssetup/lang/en-US.rc trunk/reactos/dll/win32/syssetup/lang/es-ES.rc trunk/reactos/dll/win32/syssetup/lang/fr-FR.rc trunk/reactos/dll/win32/syssetup/lang/hu-HU.rc trunk/reactos/dll/win32/syssetup/lang/id-ID.rc trunk/reactos/dll/win32/syssetup/lang/it-IT.rc trunk/reactos/dll/win32/syssetup/lang/ja-JP.rc trunk/reactos/dll/win32/syssetup/lang/nb-NO.rc trunk/reactos/dll/win32/syssetup/lang/nl-NL.rc trunk/reactos/dll/win32/syssetup/lang/pl-PL.rc trunk/reactos/dll/win32/syssetup/lang/ru-RU.rc trunk/reactos/dll/win32/syssetup/lang/uk-UA.rc trunk/reactos/dll/win32/syssetup/lang/zh-CN.rc trunk/reactos/dll/win32/syssetup/resource.h Modified: trunk/reactos/dll/win32/syssetup/install.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/install…
============================================================================== --- trunk/reactos/dll/win32/syssetup/install.c (original) +++ trunk/reactos/dll/win32/syssetup/install.c Thu Aug 23 13:05:04 2007 @@ -611,6 +611,12 @@ CreateShortcut(CSIDL_PROGRAMS, szFolder, IDS_SHORT_SNAP, _T("%SystemRoot%\\system32\\screenshot.exe"), IDS_CMT_SCREENSHOT, TRUE); } + /* Creacte System Tools subfolder and fill if the exe is available */ + if (CreateShortcutFolder(CSIDL_PROGRAMS, IDS_SYS_TOOLS, szFolder, sizeof(szFolder)/sizeof(szFolder[0]))) + { + CreateShortcut(CSIDL_PROGRAMS, szFolder, IDS_SHORT_CHARMAP, _T("%SystemRoot%\\system32\\charmap.exe"), IDS_CMT_CHARMAP, FALSE); + } + /* Create Games subfolder and fill if the exe is available */ if (CreateShortcutFolder(CSIDL_PROGRAMS, IDS_GAMES, szFolder, sizeof(szFolder)/sizeof(szFolder[0]))) { Modified: trunk/reactos/dll/win32/syssetup/lang/cs-CZ.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/cs…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/cs-CZ.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/cs-CZ.rc Thu Aug 23 13:05:04 2007 @@ -215,6 +215,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "System Tools" + IDS_CMT_CHARMAP "CharMap" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "ReactOS Instalátor" IDS_UNKNOWN_ERROR "Neznámá chyba" IDS_REGISTERING_COMPONENTS "Registruji souèásti..." @@ -240,6 +246,7 @@ IDS_SHORT_SNAP "SnapShot.lnk" IDS_SHORT_SOLITAIRE "Solitaire.lnk" IDS_SHORT_WINEMINE "WineMine.lnk" + IDS_SHORT_CHARMAP "CharMap.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/de…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/de-DE.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/de-DE.rc Thu Aug 23 13:05:04 2007 @@ -216,6 +216,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "System Tools" + IDS_CMT_CHARMAP "CharMap" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "ReactOS Setup" IDS_UNKNOWN_ERROR "Unbekannter Fehler" IDS_REGISTERING_COMPONENTS "Registriere Komponenten..." @@ -241,6 +247,7 @@ IDS_SHORT_SNAP "SnapShot.lnk" IDS_SHORT_SOLITAIRE "Solitär.lnk" IDS_SHORT_WINEMINE "WineMine.lnk" + IDS_SHORT_CHARMAP "CharMap.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/lang/el-GR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/el…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/el-GR.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/el-GR.rc Thu Aug 23 13:05:04 2007 @@ -217,6 +217,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "System Tools" + IDS_CMT_CHARMAP "CharMap" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "ÅãêáôÜóôáóç ôïõ ReactOS" IDS_UNKNOWN_ERROR "¢ãíùóôï óöÜëìá" IDS_REGISTERING_COMPONENTS "Êáôá÷þñçóç óôïé÷åßùí óôï ìçôñþï..." @@ -242,6 +248,7 @@ IDS_SHORT_SNAP "SnapShot.lnk" IDS_SHORT_SOLITAIRE "Solitaire.lnk" IDS_SHORT_WINEMINE "WineMine.lnk" + IDS_SHORT_CHARMAP "CharMap.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/en…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/en-US.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/en-US.rc Thu Aug 23 13:05:04 2007 @@ -217,6 +217,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "System Tools" + IDS_CMT_CHARMAP "CharMap" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "ReactOS Setup" IDS_UNKNOWN_ERROR "Unknown error" IDS_REGISTERING_COMPONENTS "Registering components..." @@ -242,6 +248,7 @@ IDS_SHORT_SNAP "SnapShot.lnk" IDS_SHORT_SOLITAIRE "Solitaire.lnk" IDS_SHORT_WINEMINE "WineMine.lnk" + IDS_SHORT_CHARMAP "CharMap.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/es…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/es-ES.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/es-ES.rc Thu Aug 23 13:05:04 2007 @@ -237,6 +237,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "System Tools" + IDS_CMT_CHARMAP "CharMap" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "ReactOS Setup" IDS_UNKNOWN_ERROR "Unknown error" IDS_REGISTERING_COMPONENTS "Registering components..." @@ -262,6 +268,7 @@ IDS_SHORT_SNAP "SnapShot.lnk" IDS_SHORT_SOLITAIRE "Solitaire.lnk" IDS_SHORT_WINEMINE "WineMine.lnk" + IDS_SHORT_CHARMAP "CharMap.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/fr…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/fr-FR.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/fr-FR.rc Thu Aug 23 13:05:04 2007 @@ -217,6 +217,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "System Tools" + IDS_CMT_CHARMAP "CharMap" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "Installation de ReactOS" IDS_UNKNOWN_ERROR "Erreur inconnue" IDS_REGISTERING_COMPONENTS "Enregistrement des composants..." @@ -242,6 +248,7 @@ IDS_SHORT_SNAP "Capture d'écran.lnk" IDS_SHORT_SOLITAIRE "Solitaire.lnk" IDS_SHORT_WINEMINE "WineMine.lnk" + IDS_SHORT_CHARMAP "CharMap.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/lang/hu-HU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/hu…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/hu-HU.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/hu-HU.rc Thu Aug 23 13:05:04 2007 @@ -229,6 +229,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "System Tools" + IDS_CMT_CHARMAP "CharMap" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "ReactOS Telepítõ" IDS_UNKNOWN_ERROR "Hiba lépett fel, de nemtudni annak okát" IDS_REGISTERING_COMPONENTS "Komponensek regisztrációja..." @@ -254,6 +260,7 @@ IDS_SHORT_SNAP "SnapShot.lnk" IDS_SHORT_SOLITAIRE "Solitaire.lnk" IDS_SHORT_WINEMINE "WineMine.lnk" + IDS_SHORT_CHARMAP "CharMap.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/lang/id-ID.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/id…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/id-ID.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/id-ID.rc Thu Aug 23 13:05:04 2007 @@ -215,6 +215,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "System Tools" + IDS_CMT_CHARMAP "CharMap" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "Setup ReactOS" IDS_UNKNOWN_ERROR "Kesalahan tidak dikenal" IDS_REGISTERING_COMPONENTS "Meregister komponen..." @@ -240,6 +246,7 @@ IDS_SHORT_SNAP "SnapShot.lnk" IDS_SHORT_SOLITAIRE "Solitaire.lnk" IDS_SHORT_WINEMINE "WineMine.lnk" + IDS_SHORT_CHARMAP "CharMap.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/it…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/it-IT.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/it-IT.rc Thu Aug 23 13:05:04 2007 @@ -208,6 +208,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "System Tools" + IDS_CMT_CHARMAP "CharMap" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "Installazione di ReactOS" IDS_UNKNOWN_ERROR "Errore sconosciuto" IDS_REGISTERING_COMPONENTS "Registrazione dei componenti..." @@ -233,6 +239,7 @@ IDS_SHORT_SNAP "SnapShot.lnk" IDS_SHORT_SOLITAIRE "Solitaire.lnk" IDS_SHORT_WINEMINE "WineMine.lnk" + IDS_SHORT_CHARMAP "CharMap.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/lang/ja-JP.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/ja…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/ja-JP.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/ja-JP.rc Thu Aug 23 13:05:04 2007 @@ -217,6 +217,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "System Tools" + IDS_CMT_CHARMAP "CharMap" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "ReactOS Setup" IDS_UNKNOWN_ERROR "Unknown error" IDS_REGISTERING_COMPONENTS "Registering components..." @@ -242,6 +248,7 @@ IDS_SHORT_SNAP "SnapShot.lnk" IDS_SHORT_SOLITAIRE "Solitaire.lnk" IDS_SHORT_WINEMINE "WineMine.lnk" + IDS_SHORT_CHARMAP "CharMap.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/lang/nb-NO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/nb…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/nb-NO.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/nb-NO.rc Thu Aug 23 13:05:04 2007 @@ -220,6 +220,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "System Tools" + IDS_CMT_CHARMAP "CharMap" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "ReactOS installasjon" IDS_UNKNOWN_ERROR "Ukjent feil" IDS_REGISTERING_COMPONENTS "Registrerer komponenter..." @@ -245,6 +251,7 @@ IDS_SHORT_SNAP "SnapShot.lnk" IDS_SHORT_SOLITAIRE "Solitaire.lnk" IDS_SHORT_WINEMINE "WineMine.lnk" + IDS_SHORT_CHARMAP "CharMap.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/lang/nl-NL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/nl…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/nl-NL.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/nl-NL.rc Thu Aug 23 13:05:04 2007 @@ -217,6 +217,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "System Tools" + IDS_CMT_CHARMAP "CharMap" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "ReactOS Setup" IDS_UNKNOWN_ERROR "Unknown error" IDS_REGISTERING_COMPONENTS "Registering components..." @@ -242,6 +248,7 @@ IDS_SHORT_SNAP "SnapShot.lnk" IDS_SHORT_SOLITAIRE "Solitaire.lnk" IDS_SHORT_WINEMINE "WineMine.lnk" + IDS_SHORT_CHARMAP "CharMap.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/lang/pl-PL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/pl…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/pl-PL.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/pl-PL.rc Thu Aug 23 13:05:04 2007 @@ -220,6 +220,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "System Tools" + IDS_CMT_CHARMAP "CharMap" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "Ustawienia ReactOS" IDS_UNKNOWN_ERROR "Nieznany b³¹d" IDS_REGISTERING_COMPONENTS "Rejestracja sk³adników..." @@ -245,6 +251,7 @@ IDS_SHORT_SNAP "Zrzut ekranu.lnk" IDS_SHORT_SOLITAIRE "RosPasjans.lnk" IDS_SHORT_WINEMINE "ROSaper.lnk" + IDS_SHORT_CHARMAP "CharMap.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/ru…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/ru-RU.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/ru-RU.rc Thu Aug 23 13:05:04 2007 @@ -198,6 +198,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "Ñëóæåáíûå" + IDS_CMT_CHARMAP "Òàáëèöà ñèìâîëîâ" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "Óñòàíîâêà ReactOS" IDS_UNKNOWN_ERROR "Íåèçâåñòíàÿ îøèáêà" IDS_REGISTERING_COMPONENTS "Ðåãèñòðàöèÿ êîìïîíåíòîâ..." @@ -223,6 +229,7 @@ IDS_SHORT_SNAP "SnapShot.lnk" IDS_SHORT_SOLITAIRE "Ïàñüÿíñ.lnk" IDS_SHORT_WINEMINE "Ñàïåð.lnk" + IDS_SHORT_CHARMAP "Òàáëèöà ñèìâîëîâ.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/uk…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/uk-UA.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/uk-UA.rc Thu Aug 23 13:05:04 2007 @@ -206,6 +206,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "System Tools" + IDS_CMT_CHARMAP "CharMap" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "Óñòàíîâêà ReactOS" IDS_UNKNOWN_ERROR "Íåâ³äîìà ïîìèëêà" IDS_REGISTERING_COMPONENTS "Ðåºñòðàö³ÿ êîìïîíåíò³â..." @@ -231,6 +237,7 @@ IDS_SHORT_SNAP "SnapShot.lnk" IDS_SHORT_SOLITAIRE "Solitaire.lnk" IDS_SHORT_WINEMINE "WineMine.lnk" + IDS_SHORT_CHARMAP "CharMap.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/lang/zh-CN.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/lang/zh…
============================================================================== --- trunk/reactos/dll/win32/syssetup/lang/zh-CN.rc (original) +++ trunk/reactos/dll/win32/syssetup/lang/zh-CN.rc Thu Aug 23 13:05:04 2007 @@ -205,6 +205,12 @@ STRINGTABLE BEGIN + IDS_SYS_TOOLS "System Tools" + IDS_CMT_CHARMAP "CharMap" +END + +STRINGTABLE +BEGIN IDS_REACTOS_SETUP "ReactOS Setup" IDS_UNKNOWN_ERROR "Unknown error" IDS_REGISTERING_COMPONENTS "Registering components..." @@ -230,6 +236,7 @@ IDS_SHORT_SNAP "SnapShot.lnk" IDS_SHORT_SOLITAIRE "Solitaire.lnk" IDS_SHORT_WINEMINE "WineMine.lnk" + IDS_SHORT_CHARMAP "CharMap.lnk" END STRINGTABLE Modified: trunk/reactos/dll/win32/syssetup/resource.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/syssetup/resourc…
============================================================================== --- trunk/reactos/dll/win32/syssetup/resource.h (original) +++ trunk/reactos/dll/win32/syssetup/resource.h Thu Aug 23 13:05:04 2007 @@ -89,6 +89,7 @@ #define IDS_ACCESSORIES 3200 #define IDS_GAMES 3201 +#define IDS_SYS_TOOLS 3202 #define IDS_CMT_CMD 3210 #define IDS_CMT_EXPLORER 3211 @@ -102,6 +103,7 @@ #define IDS_CMT_SCREENSHOT 3221 #define IDS_CMT_DOWNLOADER 3222 #define IDS_CMT_DEVMGMT 3223 +#define IDS_CMT_CHARMAP 3224 #define IDS_REACTOS_SETUP 3300 #define IDS_UNKNOWN_ERROR 3301 @@ -125,6 +127,7 @@ #define IDS_SHORT_SNAP 3410 #define IDS_SHORT_SOLITAIRE 3411 #define IDS_SHORT_WINEMINE 3412 +#define IDS_SHORT_CHARMAP 3413 #define IDS_WZD_NAME 3450 #define IDS_WZD_SETCOMPUTERNAME 3451
17 years, 4 months
1
0
0
0
[fireball] 28462: Dmitry Chapyshev <lentind@yandex.ru> - Change control panel icon to a better one
by fireball@svn.reactos.org
Author: fireball Date: Thu Aug 23 12:05:05 2007 New Revision: 28462 URL:
http://svn.reactos.org/svn/reactos?rev=28462&view=rev
Log: Dmitry Chapyshev <lentind(a)yandex.ru> - Change control panel icon to a better one Modified: trunk/reactos/base/applications/control/resources/config.ico Modified: trunk/reactos/base/applications/control/resources/config.ico URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/control/…
============================================================================== Binary files - no diff available.
17 years, 4 months
1
0
0
0
[jimtabor] 28461: Add NtGdiFlushUserBatch callback.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Thu Aug 23 05:51:22 2007 New Revision: 28461 URL:
http://svn.reactos.org/svn/reactos?rev=28461&view=rev
Log: Add NtGdiFlushUserBatch callback. Modified: trunk/reactos/subsystems/win32/win32k/include/dc.h trunk/reactos/subsystems/win32/win32k/main/dllmain.c trunk/reactos/subsystems/win32/win32k/objects/dcutil.c trunk/reactos/subsystems/win32/win32k/w32ksvc.db Modified: trunk/reactos/subsystems/win32/win32k/include/dc.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/dc.h (original) +++ trunk/reactos/subsystems/win32/win32k/include/dc.h Thu Aug 23 05:51:22 2007 @@ -160,6 +160,8 @@ VOID FASTCALL IntGetWindowExtEx(PDC dc, LPSIZE pt); VOID FASTCALL IntGetWindowOrgEx(PDC dc, LPPOINT pt); +NTSTATUS STDCALL NtGdiFlushUserBatch(VOID); + /* For Metafile and MetaEnhFile not in windows this struct taken from wine cvs 15/9-2006*/ typedef struct { Modified: trunk/reactos/subsystems/win32/win32k/main/dllmain.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ma…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/main/dllmain.c (original) +++ trunk/reactos/subsystems/win32/win32k/main/dllmain.c Thu Aug 23 05:51:22 2007 @@ -385,7 +385,8 @@ CalloutData.DesktopDeleteProcedure = IntDesktopObjectDelete; CalloutData.ProcessCallout = Win32kProcessCallback; CalloutData.ThreadCallout = Win32kThreadCallback; - + CalloutData.BatchFlushRoutine = NtGdiFlushUserBatch; + /* * Register our per-process and per-thread structures. */ Modified: trunk/reactos/subsystems/win32/win32k/objects/dcutil.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/dcutil.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/dcutil.c Thu Aug 23 05:51:22 2007 @@ -55,3 +55,12 @@ UNIMPLEMENTED; } +NTSTATUS +APIENTRY +NtGdiFlushUserBatch(VOID) +{ + NTSTATUS Status = STATUS_SUCCESS; +// UNIMPLEMENTED; + return Status; +} + Modified: trunk/reactos/subsystems/win32/win32k/w32ksvc.db URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/w3…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/w32ksvc.db (original) +++ trunk/reactos/subsystems/win32/win32k/w32ksvc.db Thu Aug 23 05:51:22 2007 @@ -156,7 +156,7 @@ NtGdiFillPath 1 NtGdiFillRgn 3 NtGdiFlattenPath 1 -# NtGdiFlushUserBatch 0 +NtGdiFlushUserBatch 0 NtGdiFlush 0 # NtGdiForceUFIMapping 2 NtGdiFrameRgn 5
17 years, 4 months
1
0
0
0
[tkreuzer] 28460: maze as a screensaver ;-)
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Thu Aug 23 04:43:25 2007 New Revision: 28460 URL:
http://svn.reactos.org/svn/reactos?rev=28460&view=rev
Log: maze as a screensaver ;-) Added: trunk/rosapps/demos/mazescr/ trunk/rosapps/demos/mazescr/maze.c trunk/rosapps/demos/mazescr/maze.rc trunk/rosapps/demos/mazescr/mazescr.rbuild trunk/rosapps/demos/mazescr/resource.h trunk/rosapps/demos/mazescr/scrnsave.c trunk/rosapps/demos/mazescr/scrnsave.rc Modified: trunk/rosapps/demos/directory.rbuild Modified: trunk/rosapps/demos/directory.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/demos/directory.rbuild?rev…
============================================================================== --- trunk/rosapps/demos/directory.rbuild (original) +++ trunk/rosapps/demos/directory.rbuild Thu Aug 23 04:43:25 2007 @@ -1,5 +1,9 @@ <directory name="maze"> <xi:include href="maze/maze.rbuild" /> +</directory> + +<directory name="mazescr"> + <xi:include href="mazescr/mazescr.rbuild" /> </directory> <directory name="ddraw"> Added: trunk/rosapps/demos/mazescr/maze.c URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/demos/mazescr/maze.c?rev=2…
============================================================================== --- trunk/rosapps/demos/mazescr/maze.c (added) +++ trunk/rosapps/demos/mazescr/maze.c Thu Aug 23 04:43:25 2007 @@ -1,0 +1,867 @@ +/****************************************************************************** + * [ maze ] ... + * + * modified: [ 03-08-15 ] Ge van Geldorp <ge(a)gse.nl> + * ported to Reactos + * modified: [ 94-10-8 ] Ge van Geldorp <Ge.vanGeldorp(a)lr.tudelft.nl> + * ported to MS Windows + * modified: [ 3-7-93 ] Jamie Zawinski <jwz(a)lucid.com> + * added the XRoger logo, cleaned up resources, made + * grid size a parameter. + * modified: [ 3-3-93 ] Jim Randell <jmr(a)mddjmr.fc.hp.com> + * Added the colour stuff and integrated it with jwz's + * screenhack stuff. There's still some work that could + * be done on this, particularly allowing a resource to + * specify how big the squares are. + * modified: [ 10-4-88 ] Richard Hess ...!uunet!cimshop!rhess + * [ Revised primary execution loop within main()... + * [ Extended X event handler, check_events()... + * modified: [ 1-29-88 ] Dave Lemke lemke(a)sun.com + * [ Hacked for X11... + * [ Note the word "hacked" -- this is extremely ugly, but at + * [ least it does the job. NOT a good programming example + * [ for X. + * original: [ 6/21/85 ] Martin Weiss Sun Microsystems [ SunView ] + * + ****************************************************************************** + Copyright 1988 by Sun Microsystems, Inc. Mountain View, CA. + + All Rights Reserved + + Permission to use, copy, modify, and distribute this software and its + documentation for any purpose and without fee is hereby granted, + provided that the above copyright notice appear in all copies and that + both that copyright notice and this permission notice appear in + supporting documentation, and that the names of Sun or MIT not be + used in advertising or publicity pertaining to distribution of the + software without specific prior written permission. Sun and M.I.T. + make no representations about the suitability of this software for + any purpose. It is provided "as is" without any express or implied warranty. + + SUN DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING + ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. IN NO EVENT SHALL SUN BE LIABLE FOR ANY SPECIAL, INDIRECT + OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS + OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE + OR PERFORMANCE OF THIS SOFTWARE. + *****************************************************************************/ + +#define STRICT + +#include <stdlib.h> +#include <string.h> +#include <time.h> +#include <windows.h> /* required for all Windows applications */ + +#if !defined (APIENTRY) /* Windows NT defines APIENTRY, but 3.x doesn't */ +#define APIENTRY far pascal +#endif + +#if !defined(WIN32) /* Windows 3.x uses a FARPROC for dialogs */ +#define DLGPROC FARPROC +#endif + +static BOOL InitInstance(HINSTANCE hInstance, HWND hParent); +LRESULT CALLBACK MazeWndProc(HWND hWnd, UINT message, WPARAM uParam, + LPARAM lParam); + +HINSTANCE hInst; /* current instance */ +HWND hWnd; /* Main window handle.*/ +HBRUSH hBrushDead; +HBRUSH hBrushLiving; +HPEN hPenWall; +HDC hDC; +static BOOL waiting; + + +WCHAR szAppName[] = L"Maze"; /* The name of this application */ +WCHAR szTitle[] = L"Maze"; /* The title bar text */ + +static int solve_delay, pre_solve_delay, post_solve_delay; + +#define MAX_MAZE_SIZE_X ((unsigned long) 250) +#define MAX_MAZE_SIZE_Y ((unsigned long) 250) + +#define MOVE_LIST_SIZE (MAX_MAZE_SIZE_X * MAX_MAZE_SIZE_Y) + +#define WALL_TOP 0x8000 +#define WALL_RIGHT 0x4000 +#define WALL_BOTTOM 0x2000 +#define WALL_LEFT 0x1000 + +#define DOOR_IN_TOP 0x800 +#define DOOR_IN_RIGHT 0x400 +#define DOOR_IN_BOTTOM 0x200 +#define DOOR_IN_LEFT 0x100 +#define DOOR_IN_ANY 0xF00 + +#define DOOR_OUT_TOP 0x80 +#define DOOR_OUT_RIGHT 0x40 +#define DOOR_OUT_BOTTOM 0x20 +#define DOOR_OUT_LEFT 0x10 + +#define START_SQUARE 0x2 +#define END_SQUARE 0x1 + +#define border_x (0) +#define border_y (0) + +#define get_random(x) (rand() % (x)) + +static unsigned short maze[MAX_MAZE_SIZE_X][MAX_MAZE_SIZE_Y]; + +static struct { + unsigned char x; + unsigned char y; + unsigned char dir; + unsigned char dummy; +} move_list[MOVE_LIST_SIZE], save_path[MOVE_LIST_SIZE], path[MOVE_LIST_SIZE]; + +static int maze_size_x, maze_size_y; +static long sqnum, path_length; +static int cur_sq_x, cur_sq_y; +static int start_x, start_y, start_dir, end_x, end_y, end_dir; +static int grid_width, grid_height; + +static int state = 1, pathi = 0; + +static void +set_maze_sizes (width, height) + int width, height; +{ + maze_size_x = width / grid_width; + maze_size_y = height / grid_height; +} + + +static void +initialize_maze() /* draw the surrounding wall and start/end squares */ +{ + register int i, j, wall; + + /* initialize all squares */ + for ( i=0; i<maze_size_x; i++) { + for ( j=0; j<maze_size_y; j++) { + maze[i][j] = 0; + } + } + + /* top wall */ + for ( i=0; i<maze_size_x; i++ ) { + maze[i][0] |= WALL_TOP; + } + + /* right wall */ + for ( j=0; j<maze_size_y; j++ ) { + maze[maze_size_x-1][j] |= WALL_RIGHT; + } + + /* bottom wall */ + for ( i=0; i<maze_size_x; i++ ) { + maze[i][maze_size_y-1] |= WALL_BOTTOM; + } + + /* left wall */ + for ( j=0; j<maze_size_y; j++ ) { + maze[0][j] |= WALL_LEFT; + } + + /* set start square */ + wall = get_random(4); + switch (wall) { + case 0: + i = get_random(maze_size_x); + j = 0; + break; + case 1: + i = maze_size_x - 1; + j = get_random(maze_size_y); + break; + case 2: + i = get_random(maze_size_x); + j = maze_size_y - 1; + break; + case 3: + i = 0; + j = get_random(maze_size_y); + break; + } + maze[i][j] |= START_SQUARE; + maze[i][j] |= ( DOOR_IN_TOP >> wall ); + maze[i][j] &= ~( WALL_TOP >> wall ); + cur_sq_x = i; + cur_sq_y = j; + start_x = i; + start_y = j; + start_dir = wall; + sqnum = 0; + + /* set end square */ + wall = (wall + 2)%4; + switch (wall) { + case 0: + i = get_random(maze_size_x); + j = 0; + break; + case 1: + i = maze_size_x - 1; + j = get_random(maze_size_y); + break; + case 2: + i = get_random(maze_size_x); + j = maze_size_y - 1; + break; + case 3: + i = 0; + j = get_random(maze_size_y); + break; + } + maze[i][j] |= END_SQUARE; + maze[i][j] |= ( DOOR_OUT_TOP >> wall ); + maze[i][j] &= ~( WALL_TOP >> wall ); + end_x = i; + end_y = j; + end_dir = wall; +} + +static int choose_door (); +static long backup (); +static void draw_wall (); +static void draw_solid_square(int, int, int, HDC, HBRUSH); +static void enter_square(int, HDC, HBRUSH); + +static void +create_maze() /* create a maze layout given the intiialized maze */ +{ + register int i, newdoor = 0; + HDC hDC; + + hDC = GetDC(hWnd); + do { + move_list[sqnum].x = cur_sq_x; + move_list[sqnum].y = cur_sq_y; + move_list[sqnum].dir = newdoor; + while ( ( newdoor = choose_door(hDC) ) == -1 ) { /* pick a door */ + if ( backup() == -1 ) { /* no more doors ... backup */ + ReleaseDC(hWnd, hDC); + return; /* done ... return */ + } + } + + /* mark the out door */ + maze[cur_sq_x][cur_sq_y] |= ( DOOR_OUT_TOP >> newdoor ); + + switch (newdoor) { + case 0: cur_sq_y--; + break; + case 1: cur_sq_x++; + break; + case 2: cur_sq_y++; + break; + case 3: cur_sq_x--; + break; + } + sqnum++; + + /* mark the in door */ + maze[cur_sq_x][cur_sq_y] |= ( DOOR_IN_TOP >> ((newdoor+2)%4) ); + + /* if end square set path length and save path */ + if ( maze[cur_sq_x][cur_sq_y] & END_SQUARE ) { + path_length = sqnum; + for ( i=0; i<path_length; i++) { + save_path[i].x = move_list[i].x; + save_path[i].y = move_list[i].y; + save_path[i].dir = move_list[i].dir; + } + } + + } while (1); + +} + + +static int +choose_door(HDC hDC) /* pick a new path */ +{ + int candidates[3]; + register int num_candidates; + + num_candidates = 0; + + /* top wall */ + if ( maze[cur_sq_x][cur_sq_y] & DOOR_IN_TOP ) + goto rightwall; + if ( maze[cur_sq_x][cur_sq_y] & DOOR_OUT_TOP ) + goto rightwall; + if ( maze[cur_sq_x][cur_sq_y] & WALL_TOP ) + goto rightwall; + if ( maze[cur_sq_x][cur_sq_y - 1] & DOOR_IN_ANY ) { + maze[cur_sq_x][cur_sq_y] |= WALL_TOP; + maze[cur_sq_x][cur_sq_y - 1] |= WALL_BOTTOM; + draw_wall(cur_sq_x, cur_sq_y, 0, hDC); + goto rightwall; + } + candidates[num_candidates++] = 0; + + rightwall: + /* right wall */ + if ( maze[cur_sq_x][cur_sq_y] & DOOR_IN_RIGHT ) + goto bottomwall; + if ( maze[cur_sq_x][cur_sq_y] & DOOR_OUT_RIGHT ) + goto bottomwall; + if ( maze[cur_sq_x][cur_sq_y] & WALL_RIGHT ) + goto bottomwall; + if ( maze[cur_sq_x + 1][cur_sq_y] & DOOR_IN_ANY ) { + maze[cur_sq_x][cur_sq_y] |= WALL_RIGHT; + maze[cur_sq_x + 1][cur_sq_y] |= WALL_LEFT; + draw_wall(cur_sq_x, cur_sq_y, 1, hDC); + goto bottomwall; + } + candidates[num_candidates++] = 1; + + bottomwall: + /* bottom wall */ + if ( maze[cur_sq_x][cur_sq_y] & DOOR_IN_BOTTOM ) + goto leftwall; + if ( maze[cur_sq_x][cur_sq_y] & DOOR_OUT_BOTTOM ) + goto leftwall; + if ( maze[cur_sq_x][cur_sq_y] & WALL_BOTTOM ) + goto leftwall; + if ( maze[cur_sq_x][cur_sq_y + 1] & DOOR_IN_ANY ) { + maze[cur_sq_x][cur_sq_y] |= WALL_BOTTOM; + maze[cur_sq_x][cur_sq_y + 1] |= WALL_TOP; + draw_wall(cur_sq_x, cur_sq_y, 2, hDC); + goto leftwall; + } + candidates[num_candidates++] = 2; + + leftwall: + /* left wall */ + if ( maze[cur_sq_x][cur_sq_y] & DOOR_IN_LEFT ) + goto donewall; + if ( maze[cur_sq_x][cur_sq_y] & DOOR_OUT_LEFT ) + goto donewall; + if ( maze[cur_sq_x][cur_sq_y] & WALL_LEFT ) + goto donewall; + if ( maze[cur_sq_x - 1][cur_sq_y] & DOOR_IN_ANY ) { + maze[cur_sq_x][cur_sq_y] |= WALL_LEFT; + maze[cur_sq_x - 1][cur_sq_y] |= WALL_RIGHT; + draw_wall(cur_sq_x, cur_sq_y, 3, hDC); + goto donewall; + } + candidates[num_candidates++] = 3; + + donewall: + if (num_candidates == 0) + return ( -1 ); + if (num_candidates == 1) + return ( candidates[0] ); + return ( candidates[ get_random(num_candidates) ] ); + +} + + +static long +backup() /* back up a move */ +{ + sqnum--; + if (0 <= sqnum) { + cur_sq_x = move_list[sqnum].x; + cur_sq_y = move_list[sqnum].y; + } + return ( sqnum ); +} + +int bw; + +static void +draw_solid_square(i, j, dir, hDC, hBrush) /* draw a solid square in a square */ + register int i, j, dir; + HDC hDC; + HBRUSH hBrush; +{ + RECT rc; + + switch (dir) { + case 0: + rc.left = border_x + bw + grid_width * i; + rc.right = rc.left + grid_width - (bw + bw); + rc.top = border_y - bw + grid_height * j; + rc.bottom = rc.top + grid_height; + break; + case 1: + rc.left = border_x + bw + grid_width * i; + rc.right = rc.left + grid_width; + rc.top = border_y + bw + grid_height * j; + rc.bottom = rc.top + grid_height - (bw + bw); + break; + case 2: + rc.left = border_x + bw + grid_width * i; + rc.right = rc.left + grid_width - (bw + bw); + rc.top = border_y + bw + grid_height * j; + rc.bottom = rc.top + grid_height; + break; + case 3: + rc.left = border_x - bw + grid_width * i; + rc.right = rc.left + grid_width; + rc.top = border_y + bw + grid_height * j; + rc.bottom = rc.top + grid_height - (bw + bw); + break; + } + (void) FillRect(hDC, &rc, hBrush); +} + +static void +draw_maze_border(HWND hWnd, HDC hDC) /* draw the maze outline */ +{ + register int i, j; + HBRUSH hBrush; + + SelectObject(hDC, hPenWall); + + for ( i=0; i<maze_size_x; i++) { + if ( maze[i][0] & WALL_TOP ) { + MoveToEx(hDC, border_x + grid_width * i, border_y, NULL); + (void) LineTo(hDC, border_x + grid_width * (i + 1) - 1, border_y); + } + if ((maze[i][maze_size_y - 1] & WALL_BOTTOM)) { + MoveToEx(hDC, border_x + grid_width * i, + border_y + grid_height * (maze_size_y) - 1, NULL); + (void) LineTo(hDC, border_x + grid_width * (i+1) - 1, + border_y + grid_height * (maze_size_y) - 1); + } + } + for ( j=0; j<maze_size_y; j++) { + if ( maze[maze_size_x - 1][j] & WALL_RIGHT ) { + MoveToEx(hDC, border_x + grid_width * maze_size_x - 1, + border_y + grid_height * j, NULL); + (void) LineTo(hDC, border_x + grid_width * maze_size_x - 1, + border_y + grid_height * (j+1) - 1); + } + if ( maze[0][j] & WALL_LEFT ) { + MoveToEx(hDC, border_x, border_y + grid_height * j, NULL); + (void) LineTo(hDC, border_x, border_y + grid_height * (j+1) - 1); + } + } + + hBrush = GetStockObject(WHITE_BRUSH); // FIXME: do not hardcode + draw_solid_square (start_x, start_y, start_dir, hDC, hBrush); + draw_solid_square (end_x, end_y, end_dir, hDC, hBrush); +} + + +static void +draw_wall(i, j, dir, hDC) /* draw a single wall */ + int i, j, dir; + HDC hDC; +{ + SelectObject(hDC, hPenWall); + + switch (dir) { + case 0: + MoveToEx(hDC, border_x + grid_width * i, border_y + grid_height * j, NULL); + (void) LineTo(hDC, border_x + grid_width * (i+1), + border_y + grid_height * j); + break; + case 1: + MoveToEx(hDC, border_x + grid_width * (i+1), border_y + grid_height * j, + NULL); + (void) LineTo(hDC, border_x + grid_width * (i+1), + border_y + grid_height * (j+1)); + break; + case 2: + MoveToEx(hDC, border_x + grid_width * i, border_y + grid_height * (j+1), + NULL); + (void) LineTo(hDC, border_x + grid_width * (i+1), + border_y + grid_height * (j+1)); + break; + case 3: + MoveToEx(hDC, border_x + grid_width * i, border_y + grid_height * j, + NULL); + (void) LineTo(hDC, border_x + grid_width * i, + border_y + grid_height * (j+1)); + break; + } +} + +static void +begin_solve_maze() /* solve it with graphical feedback */ +{ + static long grayPattern[] = { + 0x55555555, + 0xaaaaaaaa, + 0x55555555, + 0xaaaaaaaa, + 0x55555555, + 0xaaaaaaaa, + 0x55555555, + 0xaaaaaaaa + }; + static RGBQUAD argbq[] = { + { 0, 0, 255, 0 }, + { 255, 255, 255, 0 } + }; + BITMAPINFO *pbmi; + + hDC = GetDC(hWnd); + pbmi = malloc(sizeof(BITMAPINFOHEADER) + sizeof(argbq) + sizeof(grayPattern)); + pbmi->bmiHeader.biSize = sizeof(BITMAPINFOHEADER); + pbmi->bmiHeader.biWidth = 8; + pbmi->bmiHeader.biHeight = 8; + pbmi->bmiHeader.biPlanes = 1; + pbmi->bmiHeader.biBitCount = 1; + pbmi->bmiHeader.biCompression = BI_RGB; + (void) memcpy(pbmi->bmiColors, argbq, sizeof(argbq)); + (void) memcpy(pbmi->bmiColors + 2, grayPattern, sizeof(grayPattern)); +#if 0 + /* FIXME Pattern brushes not yet implemented in ReactOS */ + hBrushDead = CreateDIBPatternBrushPt(pbmi, DIB_RGB_COLORS); +#else + hBrushDead = CreateSolidBrush(RGB(255, 0, 0)); +#endif +// hBrushDead = CreateHatchBrush(HS_DIAGCROSS, RGB(255, 0, 0)); + free(pbmi); + hBrushLiving = CreateSolidBrush(RGB(0, 255, 0)); + + /* plug up the surrounding wall */ + maze[start_x][start_y] |= (WALL_TOP >> start_dir); + maze[end_x][end_y] |= (WALL_TOP >> end_dir); + + /* initialize search path */ + pathi = 0; + path[pathi].x = end_x; + path[pathi].y = end_y; + path[pathi].dir = -1; +} + +static int +solve_maze() /* solve it with graphical feedback */ +{ + int ret; + int action_done; + + do { + action_done = 1; + if ( ++path[pathi].dir >= 4 ) { + pathi--; + draw_solid_square( (int)(path[pathi].x), (int)(path[pathi].y), + (int)(path[pathi].dir), hDC, hBrushDead); + ret = 0; + } + else if ( ! (maze[path[pathi].x][path[pathi].y] & + (WALL_TOP >> path[pathi].dir)) && + ( (pathi == 0) || ( (path[pathi].dir != + (int)(path[pathi-1].dir+2)%4) ) ) ) { + enter_square(pathi, hDC, hBrushLiving); + pathi++; + if ( maze[path[pathi].x][path[pathi].y] & START_SQUARE ) { + DeleteObject(hBrushLiving); + DeleteObject(hBrushDead); + ReleaseDC(hWnd, hDC); + ret = 1; + } else { + ret = 0; + } + } else { + action_done = 0; + } + } while (! action_done); + + return ret; +} + + +static void +enter_square(int n, HDC hDC, HBRUSH hBrush) /* move into a neighboring square */ +{ + draw_solid_square( (int)path[n].x, (int)path[n].y, + (int)path[n].dir, hDC, hBrush); + + path[n+1].dir = -1; + switch (path[n].dir) { + case 0: path[n+1].x = path[n].x; + path[n+1].y = path[n].y - 1; + break; + case 1: path[n+1].x = path[n].x + 1; + path[n+1].y = path[n].y; + break; + case 2: path[n+1].x = path[n].x; + path[n+1].y = path[n].y + 1; + break; + case 3: path[n+1].x = path[n].x - 1; + path[n+1].y = path[n].y; + break; + } +} + +static void +start_timer(HWND hWnd, int iTimeout) +{ + waiting = TRUE; + SetTimer(hWnd, 1, iTimeout, NULL); +} + +/**************************************************************************** + + FUNCTION: WinMain(HINSTANCE, HINSTANCE, LPSTR, int) + + PURPOSE: calls initialization function, processes message loop + + COMMENTS: + + Windows recognizes this function by name as the initial entry point + for the program. This function calls the application initialization + routine, if no other instance of the program is running, and always + calls the instance initialization routine. It then executes a message + retrieval and dispatch loop that is the top-level control structure + for the remainder of execution. The loop is terminated when a WM_QUIT + message is received, at which time this function exits the application + instance by returning the value passed by PostQuitMessage(). + + If this function must abort before entering the message loop, it + returns the conventional value NULL. + +****************************************************************************/ + +int APIENTRY MazeMain( + HINSTANCE hInstance, + HINSTANCE hPrevInstance, + LPSTR lpCmdLine, + HWND hParent) +{ + MSG msg; + HDC hDC; + + /* Perform initializations that apply to a specific instance */ + + if (!InitInstance(hInstance, hParent)) { + return (FALSE); + } + + waiting = FALSE; + state = 1; + + /* Acquire and dispatch messages until a WM_QUIT message is received. */ + + while (0 != state) { + if (waiting) { + (void) WaitMessage(); + } + while (0 != state && PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { + if (WM_QUIT == msg.message) { + state = 0; + } else { + DispatchMessage(&msg); /* Dispatches message to window */ + } + } + switch (state) { + case 1: + initialize_maze(); + state = 2; + break; + case 2: + hDC = GetDC(hWnd); + SendMessage(hWnd, WM_ERASEBKGND, (WPARAM) hDC, (LPARAM) 0); + draw_maze_border(hWnd, hDC); + ReleaseDC(hWnd, hDC); + state = 3; + break; + case 3: + create_maze(); + state = 4; + break; + case 4: + start_timer(hWnd, pre_solve_delay); + state = 5; + break; + case 5: + if (! waiting) { + state = 6; + } + break; + case 6: + begin_solve_maze(); + if (0 != solve_delay) { + start_timer(hWnd, solve_delay); + state = 7; + } else { + state = 8; + } + break; + case 7: + if (! waiting) { + state = 8; + } + break; + case 8: + if (! solve_maze()) { + if (0 != solve_delay) { + start_timer(hWnd, solve_delay); + state = 7; + } + } else { + state = 9; + } + break; + case 9: + start_timer(hWnd, post_solve_delay); + state = 10; + break; + case 10: + if (! waiting) { + state = 11; + } + break; + case 11: + state = 1; + break; + } + } + + return (msg.wParam); /* Returns the value from PostQuitMessage */ +} + + +/**************************************************************************** + + FUNCTION: InitInstance(HINSTANCE, int) + + PURPOSE: Saves instance handle and creates main window + + COMMENTS: + + This function is called at initialization time for every instance of + this application. This function performs initialization tasks that + cannot be shared by multiple instances. + + In this case, we save the instance handle in a static variable and + create and display the main program window. + +****************************************************************************/ + +static BOOL InitInstance( + HINSTANCE hInstance, + HWND hParent) +{ + RECT rect; + + /* Save the instance handle in static variable, which will be used in + many subsequence calls from this application to Windows. */ + + hInst = hInstance; /* Store instance handle in our global variable */ + + GetClientRect(hParent, &rect); +#if 0 + /* Create a main window for this application instance. */ + hWnd = CreateWindow( + szAppName, /* See RegisterClass() call. */ + szTitle, /* Text for window title bar. */ + WS_CHILD,/* Window style. */ + 0, 0, rect.right/2, rect.bottom/2, /* Use default positioning */ + hParent, /* We use a Parent. */ + NULL, /* Use the window class menu. */ + hInstance, /* This instance owns this window. */ + NULL /* We don't use any data in our WM_CREATE */ + ); +#endif +hWnd = hParent; + // If window could not be created, return "failure" + if (!hWnd) { + return (FALSE); + } + + // Make the window visible; update its client area; and return "success" + ShowWindow(hWnd, SW_SHOW); // Show the window + UpdateWindow(hWnd); // Sends WM_PAINT message + + hPenWall = CreatePen(PS_SOLID, 3, RGB(150,150,150)); + + return (TRUE); // We succeeded... + +} + +static BOOL +OnCreate(HWND hWnd, LPCREATESTRUCT lpCreateStruct) +{ + RECT rc; + int size; + + srand((unsigned) time(NULL)); + +#if 0 + /* FIXME GetPrivateProfileInt not yet implemented in ReactOS */ + size = GetPrivateProfileInt("maze", "gridsize", 0, "maze.ini"); + pre_solve_delay = GetPrivateProfileInt("maze", "predelay", 5000, + "maze.ini"); + post_solve_delay = GetPrivateProfileInt("maze", "postdelay", 5000, + "maze.ini"); + solve_delay = GetPrivateProfileInt("maze", "solvedelay", 10, + "maze.ini"); +#else + size = 10; + pre_solve_delay = 5000; + post_solve_delay = 5000; + solve_delay = 1; +#endif + + if (size < 2) { + size = 7 + (rand() % 30); + } + grid_width = grid_height = size; + bw = (size > 6 ? 3 : (size-1)/2); + + GetClientRect(hWnd, &rc); + set_maze_sizes(rc.right - rc.left, rc.bottom - rc.top); + + return TRUE; +} + +void OnTimer(HWND hwnd, UINT id) +{ + waiting = FALSE; +} + +/**************************************************************************** + + FUNCTION: WndProc(HWND, UINT, WPARAM, LPARAM) + + PURPOSE: Processes messages + + MESSAGES: + + WM_DESTROY - destroy window + + COMMENTS: + +****************************************************************************/ + +LRESULT CALLBACK MazeWndProc( + HWND hWnd, // window handle + UINT message, // type of message + WPARAM wParam, // additional information + LPARAM lParam) // additional information +{ + PAINTSTRUCT ps; + + switch (message) { + case WM_CREATE: + OnCreate(hWnd, (LPCREATESTRUCT) lParam); + break; + case WM_PAINT: + BeginPaint(hWnd, &ps); + state = 1; + EndPaint(hWnd, &ps); + case WM_TIMER: + OnTimer(hWnd, wParam); + break; + case WM_DESTROY: // message: window being destroyed + PostQuitMessage(0); + break; + + default: // Passes it on if unproccessed + return (DefWindowProc(hWnd, message, wParam, lParam)); + } + return (0); +} Added: trunk/rosapps/demos/mazescr/maze.rc URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/demos/mazescr/maze.rc?rev=…
============================================================================== --- trunk/rosapps/demos/mazescr/maze.rc (added) +++ trunk/rosapps/demos/mazescr/maze.rc Thu Aug 23 04:43:25 2007 @@ -1,0 +1,60 @@ +//Microsoft App Studio generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include <scrnsave.h> +///////////////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + + +////////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE DISCARDABLE +BEGIN + idsAppName "Screen Saver.Maze" +END + +#ifdef APSTUDIO_INVOKED +////////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "#include <scrnsave.h>\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "\r\n" + "\0" +END + +///////////////////////////////////////////////////////////////////////////////////// +#endif // APSTUDIO_INVOKED + + +#ifndef APSTUDIO_INVOKED +//////////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + Added: trunk/rosapps/demos/mazescr/mazescr.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/demos/mazescr/mazescr.rbui…
============================================================================== --- trunk/rosapps/demos/mazescr/mazescr.rbuild (added) +++ trunk/rosapps/demos/mazescr/mazescr.rbuild Thu Aug 23 04:43:25 2007 @@ -1,0 +1,17 @@ +<module name="mazescr" type="win32scr" installbase="system32" installname="maze.scr"> + <define name="_WIN32_IE">0x0501</define> + <define name="_WIN32_WINNT">0x0501</define> + <define name="__USE_W32API" /> + <define name="__REACTOS__" /> + <define name="UNICODE" /> + <define name="_UNICODE" /> + + <library>kernel32</library> + <library>user32</library> + <library>gdi32</library> + + <file>scrnsave.c</file> + <file>scrnsave.rc</file> + <file>maze.c</file> + <file>maze.rc</file> +</module> Added: trunk/rosapps/demos/mazescr/resource.h URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/demos/mazescr/resource.h?r…
============================================================================== --- trunk/rosapps/demos/mazescr/resource.h (added) +++ trunk/rosapps/demos/mazescr/resource.h Thu Aug 23 04:43:25 2007 @@ -1,0 +1,18 @@ +//{{NO_DEPENDENCIES}} +// App Studio generated include file. +// Used by MAZE.RC +// + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS + +#define _APS_NEXT_RESOURCE_VALUE 101 +#define _APS_NEXT_COMMAND_VALUE 101 +#define _APS_NEXT_CONTROL_VALUE 1000 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif + +#define IDS_DESCRIPTION 1 Added: trunk/rosapps/demos/mazescr/scrnsave.c URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/demos/mazescr/scrnsave.c?r…
============================================================================== --- trunk/rosapps/demos/mazescr/scrnsave.c (added) +++ trunk/rosapps/demos/mazescr/scrnsave.c Thu Aug 23 04:43:25 2007 @@ -1,0 +1,199 @@ +/* + * Copyright 2003 J Brown + * Copyright 2006 Eric Kohl + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ + +#include <windows.h> +#include <tchar.h> + +#define APPNAME _T("Scrnsave") + +LRESULT CALLBACK MazeWndProc( + HWND hWnd, // window handle + UINT message, // type of message + WPARAM wParam, // additional information + LPARAM lParam); // additional information + +int APIENTRY MazeMain( + HINSTANCE hInstance, + HINSTANCE hPrevInstance, + LPSTR lpCmdLine, + HWND hParent); + +HINSTANCE hInstance; + +BOOL fullscreen = FALSE; + + +LRESULT WINAPI WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) +{ + static POINT ptLast; + static POINT ptCursor; + static BOOL fFirstTime = TRUE; + + switch (msg) + { + case WM_DESTROY: + PostQuitMessage(0); + break; + + // break out of screen-saver if any keyboard activity + case WM_NOTIFY: + case WM_SYSKEYDOWN: + PostMessage(hwnd, WM_CLOSE, 0, 0); + break; + + // break out of screen-saver if any mouse activity + case WM_LBUTTONDOWN: + case WM_LBUTTONUP: + case WM_RBUTTONDOWN: + case WM_RBUTTONUP: + case WM_MBUTTONDOWN: + case WM_MBUTTONUP: + case WM_MOUSEMOVE: + // If we've got a parent then we must be a preview + if(GetParent(hwnd) != 0) + return 0; + + if(fFirstTime) + { + GetCursorPos(&ptLast); + fFirstTime = FALSE; + } + + GetCursorPos(&ptCursor); + + // if the mouse has moved more than 3 pixels then exit + if(abs(ptCursor.x - ptLast.x) >= 3 || abs(ptCursor.y - ptLast.y) >= 3) + PostMessage(hwnd, WM_CLOSE, 0, 0); + + ptLast = ptCursor; + + return 0; + } + + return MazeWndProc(hwnd, msg, wParam, lParam); +} + +HWND InitSaver(HWND hwndParent) +{ + WNDCLASS wc; + HWND hwnd; + ZeroMemory(&wc, sizeof(wc)); + wc.style = CS_HREDRAW | CS_VREDRAW; + wc.lpfnWndProc = WndProc; + wc.lpszClassName = APPNAME; + wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH); + RegisterClass(&wc); + + if (hwndParent != 0) + { + RECT rect; + GetClientRect(hwndParent, &rect); + hwnd = CreateWindow(APPNAME, APPNAME, + WS_VISIBLE | WS_CHILD, + 0, 0, + rect.right, + rect.bottom, + hwndParent, 0, + hInstance, NULL); + fullscreen = FALSE; + } + else + { + hwnd = CreateWindow(APPNAME, APPNAME, + WS_VISIBLE | WS_POPUP | WS_EX_TOPMOST, + 0, 0, + GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), + HWND_DESKTOP, 0, + hInstance, NULL); + ShowWindow(hwnd, SW_SHOWMAXIMIZED); + ShowCursor(FALSE); + fullscreen = TRUE; + } + return hwnd; +} + +void ParseCommandLine(PSTR szCmdLine, int *chOption, HWND *hwndParent) +{ + int ch = *szCmdLine++; + + if(ch == '-' || ch == '/') + ch = *szCmdLine++; + + if(ch >= 'A' && ch <= 'Z') + ch += 'a' - 'A'; + + *chOption = ch; + ch = *szCmdLine++; + + if(ch == ':') + ch = *szCmdLine++; + + while(ch == ' ' || ch == '\t') + ch = *szCmdLine++; + + if(isdigit(ch)) + { + unsigned int i = atoi(szCmdLine - 1); + *hwndParent = (HWND)i; + } + else + *hwndParent = 0; +} + +int WINAPI WinMain (HINSTANCE hInst, + HINSTANCE hPrev, + LPSTR lpCmdLine, + int iCmdShow) +{ + HWND hwndParent; + HWND hwndChild; + UINT nPreviousState; + int chOption; + + hInstance = hInst; + + ParseCommandLine(lpCmdLine, &chOption, &hwndParent); + + SystemParametersInfo(SPI_SETSCREENSAVERRUNNING, TRUE, &nPreviousState, 0); + + switch (chOption) + { + case 's': + hwndChild = InitSaver(0); + break; + + case 'p': + hwndChild = InitSaver(hwndParent); + break; + + case 'c': + default: + MessageBox(0, + _T("No options need to be set."), + _T("About"), + MB_OK | MB_ICONWARNING); + return 0; + } + + MazeMain(hInst, hPrev, lpCmdLine, hwndChild); + + SystemParametersInfo(SPI_SETSCREENSAVERRUNNING, FALSE, &nPreviousState, 0); + + return 0; +} Added: trunk/rosapps/demos/mazescr/scrnsave.rc URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/demos/mazescr/scrnsave.rc?…
============================================================================== --- trunk/rosapps/demos/mazescr/scrnsave.rc (added) +++ trunk/rosapps/demos/mazescr/scrnsave.rc Thu Aug 23 04:43:25 2007 @@ -1,0 +1,19 @@ +#include <windows.h> +#include "resource.h" + +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL + +#define REACTOS_VERSION_DLL +#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Default ScreenSaver\0" +#define REACTOS_STR_INTERNAL_NAME "scrnsave\0" +#define REACTOS_STR_ORIGINAL_FILENAME "scrnsave.scr\0" + +#include <reactos/version.rc> + + +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +STRINGTABLE DISCARDABLE +BEGIN + IDS_DESCRIPTION "Default ScreenSaver" +END
17 years, 4 months
1
0
0
0
[tkreuzer] 28459: - NtGdiAnimatePalette, NtGdiGe/SetPaletteEntries, NtGdiGetSystemPaletteEntries, NtGdiGet/SetDIBColorTable: rename into IntXxx, remove SEH and remove functions from w32ksvc.db - implement NtGdiDoPalette calling the Int functions using SEH & ProbeForXxx and add it to w32ksvc.db - change parameters of NtGdiDoPalette: HPALETTE -> HGDIOBJ, as it also accepts HDC, LPPALETTENTRY -> LPVOID as it also accepts RGBQUAD* - implement stub functions in gdi32.dll calling NtGdiDoPalette instea
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Thu Aug 23 04:31:26 2007 New Revision: 28459 URL:
http://svn.reactos.org/svn/reactos?rev=28459&view=rev
Log: - NtGdiAnimatePalette, NtGdiGe/SetPaletteEntries, NtGdiGetSystemPaletteEntries, NtGdiGet/SetDIBColorTable: rename into IntXxx, remove SEH and remove functions from w32ksvc.db - implement NtGdiDoPalette calling the Int functions using SEH & ProbeForXxx and add it to w32ksvc.db - change parameters of NtGdiDoPalette: HPALETTE -> HGDIOBJ, as it also accepts HDC, LPPALETTENTRY -> LPVOID as it also accepts RGBQUAD* - implement stub functions in gdi32.dll calling NtGdiDoPalette instead of redirecting to the old NtGdixxx functions - update ntgdibad.h Added: trunk/reactos/dll/win32/gdi32/objects/palette.c Modified: trunk/reactos/dll/win32/gdi32/gdi32.def trunk/reactos/dll/win32/gdi32/gdi32.rbuild trunk/reactos/include/psdk/ntgdi.h trunk/reactos/include/reactos/win32k/ntgdibad.h trunk/reactos/subsystems/win32/win32k/include/intgdi.h trunk/reactos/subsystems/win32/win32k/objects/color.c trunk/reactos/subsystems/win32/win32k/objects/dibobj.c trunk/reactos/subsystems/win32/win32k/w32ksvc.db Modified: trunk/reactos/dll/win32/gdi32/gdi32.def URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/gdi32.def?…
============================================================================== --- trunk/reactos/dll/win32/gdi32/gdi32.def (original) +++ trunk/reactos/dll/win32/gdi32/gdi32.def Thu Aug 23 04:31:26 2007 @@ -17,7 +17,7 @@ AddFontResourceW@4 AddFontResourceTracking@8 AngleArc@24 -AnimatePalette@16=NtGdiAnimatePalette@16 +AnimatePalette@16 AnyLinkedFonts@0 Arc@36 ArcTo@36 @@ -368,7 +368,7 @@ GetDCBrushColor@4 GetDCOrgEx@8 GetDCPenColor@4 -GetDIBColorTable@16=NtGdiGetDIBColorTable@16 +GetDIBColorTable@16 GetDIBits@28 GetDeviceCaps@8=NtGdiGetDeviceCaps@8 GetDeviceGammaRamp@8 @@ -417,7 +417,7 @@ GetObjectW@12 GetOutlineTextMetricsA@12 GetOutlineTextMetricsW@12 -GetPaletteEntries@16=NtGdiGetPaletteEntries@16 +GetPaletteEntries@16 GetPath@16 GetPixel@12=NtGdiGetPixel@12 GetPixelFormat@4 @@ -432,7 +432,7 @@ GetStretchBltMode@4=NtGdiGetStretchBltMode@4 GetStringBitmapA@20 GetStringBitmapW@20 -GetSystemPaletteEntries@16=NtGdiGetSystemPaletteEntries@16 +GetSystemPaletteEntries@16 GetSystemPaletteUse@4 GetTextAlign@4=NtGdiGetTextAlign@4 GetTextCharacterExtra@4 @@ -542,7 +542,7 @@ SetColorSpace@8 SetDCBrushColor@8 SetDCPenColor@8 -SetDIBColorTable@16=NtGdiSetDIBColorTable@16 +SetDIBColorTable@16 SetDIBits@28=NtGdiSetDIBits@28 SetDIBitsToDevice@48 SetDeviceGammaRamp@8 @@ -560,7 +560,7 @@ SetMetaFileBitsEx@8 SetMetaRgn@4 SetMiterLimit@12 -SetPaletteEntries@16=NtGdiSetPaletteEntries@16 +SetPaletteEntries@16 SetPixel@16=NtGdiSetPixel@16 SetPixelFormat@12 SetPixelV@16=NtGdiSetPixelV@16 Modified: trunk/reactos/dll/win32/gdi32/gdi32.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/gdi32.rbui…
============================================================================== --- trunk/reactos/dll/win32/gdi32/gdi32.rbuild (original) +++ trunk/reactos/dll/win32/gdi32/gdi32.rbuild Thu Aug 23 04:31:26 2007 @@ -37,6 +37,7 @@ <file>linedda.c</file> <file>metafile.c</file> <file>painting.c</file> + <file>palette.c</file> <file>pen.c</file> <file>region.c</file> <file>text.c</file> Added: trunk/reactos/dll/win32/gdi32/objects/palette.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/pa…
============================================================================== --- trunk/reactos/dll/win32/gdi32/objects/palette.c (added) +++ trunk/reactos/dll/win32/gdi32/objects/palette.c Thu Aug 23 04:31:26 2007 @@ -1,0 +1,66 @@ +#include "precomp.h" + +#define NDEBUG +#include <debug.h> + +BOOL +WINAPI +AnimatePalette(HPALETTE hpal, + UINT iStartIndex, + UINT cEntries, + const PALETTEENTRY *ppe) +{ + return NtGdiDoPalette(hpal, iStartIndex, cEntries, (PALETTEENTRY*)ppe, GdiPalAnimate, TRUE); +} + +UINT +WINAPI +GetPaletteEntries(HPALETTE hpal, + UINT iStartIndex, + UINT cEntries, + LPPALETTEENTRY ppe) +{ + return NtGdiDoPalette(hpal, iStartIndex, cEntries, ppe, GdiPalGetEntries, FALSE); +} + +UINT +WINAPI +SetPaletteEntries(HPALETTE hpal, + UINT iStartIndex, + UINT cEntries, + const PALETTEENTRY *ppe) +{ + return NtGdiDoPalette(hpal, iStartIndex, cEntries, (PALETTEENTRY*)ppe, GdiPalSetEntries, TRUE); +} + +UINT +WINAPI +GetSystemPaletteEntries(HDC hDC, + UINT iStartIndex, + UINT cEntries, + LPPALETTEENTRY ppe) +{ + return NtGdiDoPalette(hDC, iStartIndex, cEntries, ppe, GdiPalGetSystemEntries, FALSE); +} + +UINT +WINAPI +GetDIBColorTable(HDC hDC, + UINT iStartIndex, + UINT cEntries, + RGBQUAD *pColors) +{ + return NtGdiDoPalette(hDC, iStartIndex, cEntries, pColors, GdiPalGetColorTable, FALSE); +} + +UINT +WINAPI +SetDIBColorTable(HDC hDC, + UINT iStartIndex, + UINT cEntries, + const RGBQUAD *pColors) +{ + return NtGdiDoPalette(hDC, iStartIndex, cEntries, (RGBQUAD*)pColors, GdiPalSetColorTable, TRUE); +} + +/* EOF */ Modified: trunk/reactos/include/psdk/ntgdi.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/ntgdi.h?rev=2…
============================================================================== --- trunk/reactos/include/psdk/ntgdi.h (original) +++ trunk/reactos/include/psdk/ntgdi.h Thu Aug 23 04:31:26 2007 @@ -385,10 +385,10 @@ LONG APIENTRY NtGdiDoPalette( - IN HPALETTE hpal, + IN HGDIOBJ hObj, IN WORD iStart, IN WORD cEntries, - IN PALETTEENTRY *pPalEntries, + IN LPVOID pEntries, IN DWORD iFunc, IN BOOL bInbound ); Modified: trunk/reactos/include/reactos/win32k/ntgdibad.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntg…
============================================================================== --- trunk/reactos/include/reactos/win32k/ntgdibad.h (original) +++ trunk/reactos/include/reactos/win32k/ntgdibad.h Thu Aug 23 04:31:26 2007 @@ -103,16 +103,6 @@ NtGdiAddFontResource(PUNICODE_STRING Filename, DWORD fl); -/* Use NtGdiDoPalette with GdiPalAnimate */ -BOOL -STDCALL -NtGdiAnimatePalette ( - HPALETTE hpal, - UINT StartIndex, - UINT Entries, - CONST PPALETTEENTRY ppe - ); - /* Metafiles are user mode */ HENHMETAFILE STDCALL @@ -307,16 +297,6 @@ /* Use NtGdiGetDCPoint with GdiGetDCOrg. */ BOOL STDCALL NtGdiGetDCOrgEx(HDC hDC, LPPOINT Point); -/* Use NtGdiDoPalette with GdiPalGetColorTable. */ -UINT -STDCALL -NtGdiGetDIBColorTable ( - HDC hDC, - UINT StartIndex, - UINT Entries, - RGBQUAD * Colors - ); - /* Meta are user-mode. */ HENHMETAFILE STDCALL @@ -394,16 +374,6 @@ /* Should be done in user-mode using shared GDI Objects. */ INT STDCALL NtGdiGetMapMode(HDC hDC); -/* Use NtGdiDoPalette with GdiPalGetEntries. */ -UINT -STDCALL -NtGdiGetPaletteEntries ( - HPALETTE hpal, - UINT StartIndex, - UINT Entries, - LPPALETTEENTRY pe - ); - /* Should be done in user-mode using shared GDI Objects. */ INT STDCALL @@ -417,16 +387,6 @@ /* Should be done in user-mode using shared GDI Objects. */ INT STDCALL NtGdiGetStretchBltMode(HDC hDC); - -/* Use NtGdiDoPalette with GdiPalSetSystemEntries. */ -UINT -STDCALL -NtGdiGetSystemPaletteEntries ( - HDC hDC, - UINT StartIndex, - UINT Entries, - LPPALETTEENTRY pe - ); /* Should be done in user-mode using shared GDI Objects. */ UINT STDCALL NtGdiGetTextAlign(HDC hDC); @@ -582,16 +542,6 @@ /* Needs to be done in user-mode, using shared GDI Object Attributes. */ INT STDCALL NtGdiSetBkMode(HDC hDC, INT backgroundMode); - -/* Use NtGdiDoPalette with GdiPalSetColorTable, TRUE. */ -UINT -STDCALL -NtGdiSetDIBColorTable ( - HDC hDC, - UINT StartIndex, - UINT Entries, - CONST RGBQUAD * Colors - ); /* Use SetDIBitsToDevice in gdi32. */ INT @@ -633,17 +583,6 @@ STDCALL NtGdiSetMapperFlags(HDC hDC, DWORD Flag); - - -/* Use NtGdiDoPalette with GdiPalSetEntries, TRUE. */ -UINT -STDCALL -NtGdiSetPaletteEntries ( - HPALETTE hpal, - UINT Start, - UINT Entries, - CONST LPPALETTEENTRY pe - ); /* Use NtGdiSetPixel(hdc, x, y, color) != CLR_INVALID; */ BOOL Modified: trunk/reactos/subsystems/win32/win32k/include/intgdi.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/intgdi.h (original) +++ trunk/reactos/subsystems/win32/win32k/include/intgdi.h Thu Aug 23 04:31:26 2007 @@ -271,5 +271,36 @@ LONG STDCALL IntGetBitmapBits(PBITMAPOBJ bmp, DWORD Bytes, OUT PBYTE Bits); +UINT STDCALL IntSetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, CONST RGBQUAD *Colors); + +UINT STDCALL IntGetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, RGBQUAD *Colors); + +UINT STDCALL +IntAnimatePalette(HPALETTE hPal, UINT StartIndex, + UINT NumEntries, CONST PPALETTEENTRY PaletteColors); + +UINT STDCALL +IntGetPaletteEntries(HPALETTE hpal, + UINT StartIndex, + UINT Entries, + LPPALETTEENTRY pe); + +UINT STDCALL +IntSetPaletteEntries(HPALETTE hpal, + UINT Start, + UINT Entries, + CONST LPPALETTEENTRY pe); + +UINT STDCALL +IntGetSystemPaletteEntries(HDC hDC, + UINT StartIndex, + UINT Entries, + LPPALETTEENTRY pe); +UINT STDCALL +IntGetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, RGBQUAD *Colors); + +UINT STDCALL +IntSetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, CONST RGBQUAD *Colors); + #endif /* _WIN32K_INTGDI_H */ Modified: trunk/reactos/subsystems/win32/win32k/objects/color.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/color.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/color.c Thu Aug 23 04:31:26 2007 @@ -74,16 +74,21 @@ return (const PALETTEENTRY*)&COLOR_sysPalTemplate; } -BOOL STDCALL NtGdiAnimatePalette(HPALETTE hPal, UINT StartIndex, - UINT NumEntries, CONST PPALETTEENTRY PaletteColors) -{ +UINT STDCALL +IntAnimatePalette(HPALETTE hPal, + UINT StartIndex, + UINT NumEntries, + CONST PPALETTEENTRY PaletteColors) +{ + UINT ret = 0; + if( hPal != NtGdiGetStockObject(DEFAULT_PALETTE) ) { PPALGDI palPtr; UINT pal_entries; HDC hDC; PDC dc; - PWINDOW_OBJECT Wnd; + PWINDOW_OBJECT Wnd; const PALETTEENTRY *pptr = PaletteColors; palPtr = (PPALGDI)PALETTE_LockPalette(hPal); @@ -92,39 +97,42 @@ pal_entries = palPtr->NumColors; if (StartIndex >= pal_entries) { - PALETTE_UnlockPalette(palPtr); - return FALSE; + PALETTE_UnlockPalette(palPtr); + return FALSE; } if (StartIndex+NumEntries > pal_entries) NumEntries = pal_entries - StartIndex; - for (NumEntries += StartIndex; StartIndex < NumEntries; StartIndex++, pptr++) { - /* According to MSDN, only animate PC_RESERVED colours */ - if (palPtr->IndexedColors[StartIndex].peFlags & PC_RESERVED) { - memcpy( &palPtr->IndexedColors[StartIndex], pptr, - sizeof(PALETTEENTRY) ); - PALETTE_ValidateFlags(&palPtr->IndexedColors[StartIndex], 1); - } + for (NumEntries += StartIndex; StartIndex < NumEntries; StartIndex++, pptr++) + { + /* According to MSDN, only animate PC_RESERVED colours */ + if (palPtr->IndexedColors[StartIndex].peFlags & PC_RESERVED) + { + memcpy( &palPtr->IndexedColors[StartIndex], pptr, + sizeof(PALETTEENTRY) ); + ret++; + PALETTE_ValidateFlags(&palPtr->IndexedColors[StartIndex], 1); + } } PALETTE_UnlockPalette(palPtr); /* Immediately apply the new palette if current window uses it */ - Wnd = UserGetDesktopWindow(); + Wnd = UserGetDesktopWindow(); hDC = (HDC)UserGetWindowDC(Wnd); dc = DC_LockDc(hDC); if (NULL != dc) { - if (dc->w.hPalette == hPal) - { - DC_UnlockDc(dc); - NtGdiRealizePalette(hDC); - } - else - DC_UnlockDc(dc); + if (dc->w.hPalette == hPal) + { + DC_UnlockDc(dc); + NtGdiRealizePalette(hDC); + } + else + DC_UnlockDc(dc); } - UserReleaseDC(Wnd,hDC, FALSE); - } - return TRUE; + UserReleaseDC(Wnd,hDC, FALSE); + } + return ret; } HPALETTE STDCALL NtGdiCreateHalftonePalette(HDC hDC) @@ -138,7 +146,7 @@ Palette.Version = 0x300; Palette.NumberOfEntries = 256; - if (NtGdiGetSystemPaletteEntries(hDC, 0, 256, Palette.aEntries) == 0) + if (IntGetSystemPaletteEntries(hDC, 0, 256, Palette.aEntries) == 0) { /* from wine, more that 256 color math */ Palette.NumberOfEntries = 20; @@ -337,50 +345,56 @@ return index; } -UINT STDCALL NtGdiGetPaletteEntries(HPALETTE hpal, - UINT StartIndex, - UINT Entries, - LPPALETTEENTRY pe) -{ - PPALGDI palGDI; - UINT numEntries; - - palGDI = (PPALGDI) PALETTE_LockPalette(hpal); - if (NULL == palGDI) - { - return 0; - } - - numEntries = palGDI->NumColors; - if (numEntries < StartIndex + Entries) - { - Entries = numEntries - StartIndex; - } - if (NULL != pe) - { - if (numEntries <= StartIndex) - { - PALETTE_UnlockPalette(palGDI); - return 0; - } - memcpy(pe, palGDI->IndexedColors + StartIndex, Entries * sizeof(PALETTEENTRY)); - for (numEntries = 0; numEntries < Entries; numEntries++) - { - if (pe[numEntries].peFlags & 0xF0) - { - pe[numEntries].peFlags = 0; - } - } - } - - PALETTE_UnlockPalette(palGDI); - return Entries; -} - -UINT STDCALL NtGdiGetSystemPaletteEntries(HDC hDC, - UINT StartIndex, - UINT Entries, - LPPALETTEENTRY pe) +UINT STDCALL +IntGetPaletteEntries(HPALETTE hpal, + UINT StartIndex, + UINT Entries, + LPPALETTEENTRY pe) +{ + PPALGDI palGDI; + UINT numEntries; + + palGDI = (PPALGDI) PALETTE_LockPalette(hpal); + if (NULL == palGDI) + { + return 0; + } + + numEntries = palGDI->NumColors; + if (NULL != pe) + { + if (numEntries < StartIndex + Entries) + { + Entries = numEntries - StartIndex; + } + if (numEntries <= StartIndex) + { + PALETTE_UnlockPalette(palGDI); + return 0; + } + memcpy(pe, palGDI->IndexedColors + StartIndex, Entries * sizeof(PALETTEENTRY)); + for (numEntries = 0; numEntries < Entries; numEntries++) + { + if (pe[numEntries].peFlags & 0xF0) + { + pe[numEntries].peFlags = 0; + } + } + } + else + { + Entries = numEntries; + } + + PALETTE_UnlockPalette(palGDI); + return Entries; +} + +UINT STDCALL +IntGetSystemPaletteEntries(HDC hDC, + UINT StartIndex, + UINT Entries, + LPPALETTEENTRY pe) { PPALGDI palGDI = NULL; PDC dc = NULL; @@ -393,58 +407,46 @@ return 0; } - _SEH_TRY + if (pe != NULL) + { + EntriesSize = Entries * sizeof(pe[0]); + if (Entries != EntriesSize / sizeof(pe[0])) + { + /* Integer overflow! */ + SetLastWin32Error(ERROR_INVALID_PARAMETER); + return 0; + } + } + + if (!(dc = DC_LockDc(hDC))) + { + SetLastWin32Error(ERROR_INVALID_HANDLE); + return 0; + } + + palGDI = PALETTE_LockPalette(dc->w.hPalette); + if (palGDI != NULL) { if (pe != NULL) { - EntriesSize = Entries * sizeof(pe[0]); - if (Entries != EntriesSize / sizeof(pe[0])) - { - /* Integer overflow! */ - SetLastWin32Error(ERROR_INVALID_PARAMETER); - _SEH_LEAVE; - } - - ProbeForWrite(pe, - EntriesSize, - sizeof(UINT)); - } - - if (!(dc = DC_LockDc(hDC))) - { - SetLastWin32Error(ERROR_INVALID_HANDLE); - _SEH_LEAVE; - } - - palGDI = PALETTE_LockPalette(dc->w.hPalette); - if (palGDI != NULL) - { - if (pe != NULL) - { - UINT CopyEntries; - - if (StartIndex + Entries < palGDI->NumColors) - CopyEntries = StartIndex + Entries; - else - CopyEntries = palGDI->NumColors - StartIndex; - - memcpy(pe, - palGDI->IndexedColors + StartIndex, - CopyEntries * sizeof(pe[0])); - - Ret = CopyEntries; - } + UINT CopyEntries; + + if (StartIndex + Entries < palGDI->NumColors) + CopyEntries = StartIndex + Entries; else - { - Ret = dc->GDIInfo->ulNumPalReg; - } - } - } - _SEH_HANDLE - { - SetLastNtError(_SEH_GetExceptionCode()); - } - _SEH_END; + CopyEntries = palGDI->NumColors - StartIndex; + + memcpy(pe, + palGDI->IndexedColors + StartIndex, + CopyEntries * sizeof(pe[0])); + + Ret = CopyEntries; + } + else + { + Ret = dc->GDIInfo->ulNumPalReg; + } + } if (palGDI != NULL) PALETTE_UnlockPalette(palGDI); @@ -624,34 +626,40 @@ return FALSE; } -UINT STDCALL NtGdiSetPaletteEntries(HPALETTE hpal, - UINT Start, - UINT Entries, - CONST LPPALETTEENTRY pe) -{ - PPALGDI palGDI; - WORD numEntries; - - palGDI = PALETTE_LockPalette(hpal); - if (!palGDI) return 0; - - numEntries = palGDI->NumColors; - if (Start >= numEntries) - { - PALETTE_UnlockPalette(palGDI); - return 0; - } - if (numEntries < Start + Entries) - { - Entries = numEntries - Start; - } - memcpy(palGDI->IndexedColors + Start, pe, Entries * sizeof(PALETTEENTRY)); - PALETTE_ValidateFlags(palGDI->IndexedColors, palGDI->NumColors); - ExFreePool(palGDI->logicalToSystem); - palGDI->logicalToSystem = NULL; - PALETTE_UnlockPalette(palGDI); - - return Entries; +UINT STDCALL +IntSetPaletteEntries(HPALETTE hpal, + UINT Start, + UINT Entries, + CONST LPPALETTEENTRY pe) +{ + PPALGDI palGDI; + WORD numEntries; + + if ((UINT)hpal & GDI_HANDLE_STOCK_MASK) + { + return 0; + } + + palGDI = PALETTE_LockPalette(hpal); + if (!palGDI) return 0; + + numEntries = palGDI->NumColors; + if (Start >= numEntries) + { + PALETTE_UnlockPalette(palGDI); + return 0; + } + if (numEntries < Start + Entries) + { + Entries = numEntries - Start; + } + memcpy(palGDI->IndexedColors + Start, pe, Entries * sizeof(PALETTEENTRY)); + PALETTE_ValidateFlags(palGDI->IndexedColors, palGDI->NumColors); + ExFreePool(palGDI->logicalToSystem); + palGDI->logicalToSystem = NULL; + PALETTE_UnlockPalette(palGDI); + + return Entries; } UINT STDCALL @@ -816,4 +824,83 @@ } return -1; } + + +W32KAPI +LONG +APIENTRY +NtGdiDoPalette( + IN HGDIOBJ hObj, + IN WORD iStart, + IN WORD cEntries, + IN LPVOID pUnsafeEntries, + IN DWORD iFunc, + IN BOOL bInbound) +{ + LONG ret; + + /* FIXME: Handle bInbound correctly */ + + if (bInbound && + (pUnsafeEntries == NULL || cEntries == 0)) + { + return 0; + } + + _SEH_TRY + { + switch(iFunc) + { + case GdiPalAnimate: + ProbeForRead(pUnsafeEntries, cEntries * sizeof(PALETTEENTRY), 1); + ret = IntAnimatePalette((HPALETTE)hObj, iStart, cEntries, pUnsafeEntries); + break; + + case GdiPalSetEntries: + ProbeForRead(pUnsafeEntries, cEntries * sizeof(PALETTEENTRY), 1); + ret = IntSetPaletteEntries((HPALETTE)hObj, iStart, cEntries, pUnsafeEntries); + break; + + case GdiPalGetEntries: + if (pUnsafeEntries) + { + ProbeForWrite(pUnsafeEntries, cEntries * sizeof(PALETTEENTRY), 1); + } + ret = IntGetPaletteEntries((HPALETTE)hObj, iStart, cEntries, pUnsafeEntries); + break; + + case GdiPalGetSystemEntries: + if (pUnsafeEntries) + { + ProbeForWrite(pUnsafeEntries, cEntries * sizeof(PALETTEENTRY), 1); + } + ret = IntGetSystemPaletteEntries((HDC)hObj, iStart, cEntries, pUnsafeEntries); + break; + + case GdiPalSetColorTable: + ProbeForRead(pUnsafeEntries, cEntries * sizeof(PALETTEENTRY), 1); + ret = IntSetDIBColorTable((HDC)hObj, iStart, cEntries, (RGBQUAD*)pUnsafeEntries); + break; + + case GdiPalGetColorTable: + if (pUnsafeEntries) + { + ProbeForWrite(pUnsafeEntries, cEntries * sizeof(PALETTEENTRY), 1); + } + ret = IntGetDIBColorTable((HDC)hObj, iStart, cEntries, (RGBQUAD*)pUnsafeEntries); + break; + + default: + ret = 0; + } + } + _SEH_HANDLE + { + ret = 0; + } + _SEH_END + + return ret; +} + /* EOF */ Modified: trunk/reactos/subsystems/win32/win32k/objects/dibobj.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/dibobj.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/dibobj.c Thu Aug 23 04:31:26 2007 @@ -25,7 +25,7 @@ #include <debug.h> UINT STDCALL -NtGdiSetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, CONST RGBQUAD *Colors) +IntSetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, CONST RGBQUAD *Colors) { PDC dc; PBITMAPOBJ BitmapObj; @@ -62,22 +62,15 @@ Entries = (1 << BitmapObj->dib->dsBmih.biBitCount) - StartIndex; PalGDI = PALETTE_LockPalette(BitmapObj->hDIBPalette); - _SEH_TRY + + for (Index = StartIndex; + Index < StartIndex + Entries && Index < PalGDI->NumColors; + Index++) { - for (Index = StartIndex; - Index < StartIndex + Entries && Index < PalGDI->NumColors; - Index++) - { - PalGDI->IndexedColors[Index].peRed = Colors[Index - StartIndex].rgbRed; - PalGDI->IndexedColors[Index].peGreen = Colors[Index - StartIndex].rgbGreen; - PalGDI->IndexedColors[Index].peBlue = Colors[Index - StartIndex].rgbBlue; - } + PalGDI->IndexedColors[Index].peRed = Colors[Index - StartIndex].rgbRed; + PalGDI->IndexedColors[Index].peGreen = Colors[Index - StartIndex].rgbGreen; + PalGDI->IndexedColors[Index].peBlue = Colors[Index - StartIndex].rgbBlue; } - _SEH_HANDLE - { - Entries = 0; - } - _SEH_END PALETTE_UnlockPalette(PalGDI); } else @@ -90,7 +83,7 @@ } UINT STDCALL -NtGdiGetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, RGBQUAD *Colors) +IntGetDIBColorTable(HDC hDC, UINT StartIndex, UINT Entries, RGBQUAD *Colors) { PDC dc; PBITMAPOBJ BitmapObj; @@ -127,22 +120,15 @@ Entries = (1 << BitmapObj->dib->dsBmih.biBitCount) - StartIndex; PalGDI = PALETTE_LockPalette(BitmapObj->hDIBPalette); - _SEH_TRY + + for (Index = StartIndex; + Index < StartIndex + Entries && Index < PalGDI->NumColors; + Index++) { - for (Index = StartIndex; - Index < StartIndex + Entries && Index < PalGDI->NumColors; - Index++) - { - Colors[Index - StartIndex].rgbRed = PalGDI->IndexedColors[Index].peRed; - Colors[Index - StartIndex].rgbGreen = PalGDI->IndexedColors[Index].peGreen; - Colors[Index - StartIndex].rgbBlue = PalGDI->IndexedColors[Index].peBlue; - } + Colors[Index - StartIndex].rgbRed = PalGDI->IndexedColors[Index].peRed; + Colors[Index - StartIndex].rgbGreen = PalGDI->IndexedColors[Index].peGreen; + Colors[Index - StartIndex].rgbBlue = PalGDI->IndexedColors[Index].peBlue; } - _SEH_HANDLE - { - Entries = 0; - } - _SEH_END PALETTE_UnlockPalette(PalGDI); } else Modified: trunk/reactos/subsystems/win32/win32k/w32ksvc.db URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/w3…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/w32ksvc.db (original) +++ trunk/reactos/subsystems/win32/win32k/w32ksvc.db Thu Aug 23 04:31:26 2007 @@ -132,7 +132,7 @@ NtGdiDescribePixelFormat 4 # NtGdiGetPerBandInfo 2 # NtGdiDoBanding 4 -# NtGdiDoPalette 6 +NtGdiDoPalette 6 NtGdiDrawEscape 4 NtGdiEllipse 5 # NtGdiEnableEudc 1 @@ -513,7 +513,7 @@ # NtUserSetAppImeLevel 2 NtUserSetCapture 1 NtUserSetClassLong 4 -# NtUserSetClassWord 1 Wrong number of param ? +NtUserSetClassWord 3 NtUserSetClipboardData 3 NtUserSetClipboardViewer 1 NtUserSetConsoleReserveKeys 2 @@ -558,7 +558,7 @@ NtUserSetWindowsHookEx 6 NtUserSetWindowStationUser 4 NtUserSetWindowWord 3 -# NtUserSetWinEventHook 4 Wrong number of param ? +NtUserSetWinEventHook 8 NtUserShowCaret 1 NtUserShowScrollBar 3 NtUserShowWindow 2 @@ -683,9 +683,7 @@ NtUserFindWindowEx 4 NtUserGetClassInfo 4 NtUserInitTask 11 -NtUserSetClassWord 3 NtUserSetCursorIconData 6 -NtUserSetWinEventHook 8 NtUserUnregisterClass 2 NtUserValidateHandleSecure 1 # @@ -693,13 +691,11 @@ NtGdiSelectObject 2 NtGdiSetBkColor 2 NtGdiSetBkMode 2 -NtGdiSetDIBColorTable 4 NtGdiSetDIBits 7 NtGdiSetEnhMetaFileBits 2 NtGdiSetGraphicsMode 2 NtGdiSetICMProfile 2 NtGdiSetMapperFlags 2 -NtGdiSetPaletteEntries 4 NtGdiSetPixelV 4 NtGdiSetPolyFillMode 2 NtGdiSetROP2 2 @@ -751,7 +747,6 @@ NtUserSetScrollBarInfo 3 NtUserGetDesktopWindow 0 NtGdiAddFontResource 2 -NtGdiAnimatePalette 4 NtGdiCloseEnhMetaFile 1 NtGdiColorMatchToTarget 3 NtGdiCopyEnhMetaFile 2 @@ -781,7 +776,6 @@ NtGdiGetColorSpace 1 NtGdiGetCurrentObject 2 NtGdiGetCurrentPositionEx 2 -NtGdiGetDIBColorTable 4 NtGdiGetEnhMetaFile 1 NtGdiGetEnhMetaFileBits 3 NtGdiGetEnhMetaFileDescription 3 @@ -794,12 +788,10 @@ NtGdiGetICMProfile 3 NtGdiGetLogColorSpace 3 NtGdiGetMapMode 1 -NtGdiGetPaletteEntries 4 NtGdiGetPixelFormat 1 NtGdiGetPolyFillMode 1 NtGdiGetROP2 1 NtGdiGetStretchBltMode 1 -NtGdiGetSystemPaletteEntries 4 NtGdiGetTextAlign 1 NtGdiGetTextColor 1 NtGdiGetTextExtentPoint32 4
17 years, 4 months
1
0
0
0
[tkreuzer] 28458: one more TEST -> RTEST for NtGdiGetRandomRgn
by tkreuzer@svn.reactos.org
Author: tkreuzer Date: Thu Aug 23 04:20:30 2007 New Revision: 28458 URL:
http://svn.reactos.org/svn/reactos?rev=28458&view=rev
Log: one more TEST -> RTEST for NtGdiGetRandomRgn Modified: trunk/rostests/apitests/w32knapi/ntgdi/NtGdiGetRandomRgn.c Modified: trunk/rostests/apitests/w32knapi/ntgdi/NtGdiGetRandomRgn.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/ntgdi/N…
============================================================================== --- trunk/rostests/apitests/w32knapi/ntgdi/NtGdiGetRandomRgn.c (original) +++ trunk/rostests/apitests/w32knapi/ntgdi/NtGdiGetRandomRgn.c Thu Aug 23 04:20:30 2007 @@ -66,7 +66,7 @@ RTEST(GetLastError() == ERROR_SUCCESS); SelectClipRgn(hDC, hrgn2); - TEST(NtGdiGetRandomRgn(hDC, 0, 1) == -1); + RTEST(NtGdiGetRandomRgn(hDC, 0, 1) == -1); RTEST(GetLastError() == ERROR_SUCCESS); RTEST(NtGdiGetRandomRgn(hDC, hrgn, 1) == 1); RTEST(CombineRgn(hrgn, hrgn, hrgn, RGN_OR) == SIMPLEREGION);
17 years, 4 months
1
0
0
0
← Newer
1
...
24
25
26
27
28
29
30
...
67
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Results per page:
10
25
50
100
200