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
November 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
20 participants
888 discussions
Start a n
N
ew thread
[fireball] 30549: - Revert 30542, bend to mingw, and use its crappy @nn syntax. Otherwise it can't link glu32 and other.
by fireball@svn.reactos.org
Author: fireball Date: Sun Nov 18 18:51:57 2007 New Revision: 30549 URL:
http://svn.reactos.org/svn/reactos?rev=30549&view=rev
Log: - Revert 30542, bend to mingw, and use its crappy @nn syntax. Otherwise it can't link glu32 and other. Modified: trunk/reactos/dll/win32/opengl32/opengl32.def Modified: trunk/reactos/dll/win32/opengl32/opengl32.def URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/opengl32/opengl3…
============================================================================== --- trunk/reactos/dll/win32/opengl32/opengl32.def (original) +++ trunk/reactos/dll/win32/opengl32/opengl32.def Sun Nov 18 18:51:57 2007 @@ -8,394 +8,394 @@ EXPORTS ;DllInitialize -glAccum -glAlphaFunc -glAreTexturesResident -glArrayElement -glBegin -glBindTexture -glBitmap -glBlendFunc -glCallList -glCallLists -glClear -glClearAccum -glClearColor -glClearDepth -glClearIndex -glClearStencil -glClipPlane - -glColor3b -glColor3bv -glColor3d -glColor3dv -glColor3f -glColor3fv -glColor3i -glColor3iv -glColor3s -glColor3sv -glColor3ub -glColor3ubv -glColor3ui -glColor3uiv -glColor3us -glColor3usv - -glColor4b -glColor4bv -glColor4d -glColor4dv -glColor4f -glColor4fv -glColor4i -glColor4iv -glColor4s -glColor4sv -glColor4ub -glColor4ubv -glColor4ui -glColor4uiv -glColor4us -glColor4usv - -glColorMask -glColorMaterial -glColorPointer -glCopyPixels -glCopyTexImage1D -glCopyTexImage2D -glCopyTexSubImage1D -glCopyTexSubImage2D -glCullFace +glAccum@8 +glAlphaFunc@8 +glAreTexturesResident@12 +glArrayElement@4 +glBegin@4 +glBindTexture@8 +glBitmap@28 +glBlendFunc@8 +glCallList@4 +glCallLists@12 +glClear@4 +glClearAccum@16 +glClearColor@16 +glClearDepth@8 +glClearIndex@4 +glClearStencil@4 +glClipPlane@8 + +glColor3b@12 +glColor3bv@4 +glColor3d@24 +glColor3dv@4 +glColor3f@12 +glColor3fv@4 +glColor3i@12 +glColor3iv@4 +glColor3s@12 +glColor3sv@4 +glColor3ub@12 +glColor3ubv@4 +glColor3ui@12 +glColor3uiv@4 +glColor3us@12 +glColor3usv@4 + +glColor4b@16 +glColor4bv@4 +glColor4d@32 +glColor4dv@4 +glColor4f@16 +glColor4fv@4 +glColor4i@16 +glColor4iv@4 +glColor4s@16 +glColor4sv@4 +glColor4ub@16 +glColor4ubv@4 +glColor4ui@16 +glColor4uiv@4 +glColor4us@16 +glColor4usv@4 + +glColorMask@16 +glColorMaterial@8 +glColorPointer@16 +glCopyPixels@20 +glCopyTexImage1D@28 +glCopyTexImage2D@32 +glCopyTexSubImage1D@24 +glCopyTexSubImage2D@32 +glCullFace@4 ;glDebugEntry -glDeleteLists -glDeleteTextures -glDepthFunc -glDepthMask -glDepthRange -glDisable -glDisableClientState -glDrawArrays -glDrawBuffer -glDrawElements -glDrawPixels -glEdgeFlag -glEdgeFlagPointer -glEdgeFlagv -glEnable -glEnableClientState -glEnd -glEndList - -glEvalCoord1d -glEvalCoord1dv -glEvalCoord1f -glEvalCoord1fv -glEvalCoord2d -glEvalCoord2dv -glEvalCoord2f -glEvalCoord2fv - -glEvalMesh1 -glEvalMesh2 -glEvalPoint1 -glEvalPoint2 -glFeedbackBuffer -glFinish -glFlush -glFogf -glFogfv -glFogi -glFogiv -glFrontFace -glFrustum -glGenLists -glGenTextures -glGetBooleanv -glGetClipPlane -glGetDoublev -glGetError -glGetFloatv -glGetIntegerv -glGetLightfv -glGetLightiv -glGetMapdv -glGetMapfv -glGetMapiv -glGetMaterialfv -glGetMaterialiv -glGetPixelMapfv -glGetPixelMapuiv -glGetPixelMapusv -glGetPointerv -glGetPolygonStipple -glGetString -glGetTexEnvfv -glGetTexEnviv -glGetTexGendv -glGetTexGenfv -glGetTexGeniv -glGetTexImage -glGetTexLevelParameterfv -glGetTexLevelParameteriv -glGetTexParameterfv -glGetTexParameteriv -glHint -glIndexd -glIndexdv -glIndexf -glIndexfv -glIndexi -glIndexiv -glIndexMask -glIndexPointer -glIndexs -glIndexsv -glIndexub -glIndexubv -glInitNames -glInterleavedArrays -glIsEnabled -glIsList -glIsTexture - -glLightf -glLightfv -glLighti -glLightiv -glLightModelf -glLightModelfv -glLightModeli -glLightModeliv - -glLineStipple -glLineWidth -glListBase -glLoadIdentity -glLoadMatrixd -glLoadMatrixf -glLoadName -glLogicOp - -glMap1d -glMap1f -glMap2d -glMap2f -glMapGrid1d -glMapGrid1f -glMapGrid2d -glMapGrid2f - -glMaterialf -glMaterialfv -glMateriali -glMaterialiv - -glMatrixMode +glDeleteLists@8 +glDeleteTextures@8 +glDepthFunc@4 +glDepthMask@4 +glDepthRange@16 +glDisable@4 +glDisableClientState@4 +glDrawArrays@12 +glDrawBuffer@4 +glDrawElements@16 +glDrawPixels@20 +glEdgeFlag@4 +glEdgeFlagPointer@8 +glEdgeFlagv@4 +glEnable@4 +glEnableClientState@4 +glEnd@0 +glEndList@0 + +glEvalCoord1d@8 +glEvalCoord1dv@4 +glEvalCoord1f@4 +glEvalCoord1fv@4 +glEvalCoord2d@16 +glEvalCoord2dv@4 +glEvalCoord2f@8 +glEvalCoord2fv@4 + +glEvalMesh1@12 +glEvalMesh2@20 +glEvalPoint1@4 +glEvalPoint2@8 +glFeedbackBuffer@12 +glFinish@0 +glFlush@0 +glFogf@8 +glFogfv@8 +glFogi@8 +glFogiv@8 +glFrontFace@4 +glFrustum@48 +glGenLists@4 +glGenTextures@8 +glGetBooleanv@8 +glGetClipPlane@8 +glGetDoublev@8 +glGetError@0 +glGetFloatv@8 +glGetIntegerv@8 +glGetLightfv@12 +glGetLightiv@12 +glGetMapdv@12 +glGetMapfv@12 +glGetMapiv@12 +glGetMaterialfv@12 +glGetMaterialiv@12 +glGetPixelMapfv@8 +glGetPixelMapuiv@8 +glGetPixelMapusv@8 +glGetPointerv@8 +glGetPolygonStipple@4 +glGetString@4 +glGetTexEnvfv@12 +glGetTexEnviv@12 +glGetTexGendv@12 +glGetTexGenfv@12 +glGetTexGeniv@12 +glGetTexImage@20 +glGetTexLevelParameterfv@16 +glGetTexLevelParameteriv@16 +glGetTexParameterfv@12 +glGetTexParameteriv@12 +glHint@8 +glIndexd@8 +glIndexdv@4 +glIndexf@4 +glIndexfv@4 +glIndexi@4 +glIndexiv@4 +glIndexMask@4 +glIndexPointer@12 +glIndexs@4 +glIndexsv@4 +glIndexub@4 +glIndexubv@4 +glInitNames@0 +glInterleavedArrays@12 +glIsEnabled@4 +glIsList@4 +glIsTexture@4 + +glLightf@12 +glLightfv@12 +glLighti@12 +glLightiv@12 +glLightModelf@8 +glLightModelfv@8 +glLightModeli@8 +glLightModeliv@8 + +glLineStipple@8 +glLineWidth@4 +glListBase@4 +glLoadIdentity@0 +glLoadMatrixd@4 +glLoadMatrixf@4 +glLoadName@4 +glLogicOp@4 + +glMap1d@32 +glMap1f@24 +glMap2d@56 +glMap2f@40 +glMapGrid1d@20 +glMapGrid1f@12 +glMapGrid2d@40 +glMapGrid2f@24 + +glMaterialf@12 +glMaterialfv@12 +glMateriali@12 +glMaterialiv@12 + +glMatrixMode@4 ;GlmfBeginGlsBlock ;GlmfCloseMetaFile ;GlmfEndGlsBlock ;GlmfEndPlayback ;GlmfInitPlayback ;GlmfPlayGlsRecord -glMultMatrixd -glMultMatrixf -glNewList - -glNormal3b -glNormal3bv -glNormal3d -glNormal3dv -glNormal3f -glNormal3fv -glNormal3i -glNormal3iv -glNormal3s -glNormal3sv -glNormalPointer - -glOrtho -glPassThrough -glPixelMapfv -glPixelMapuiv -glPixelMapusv -glPixelStoref -glPixelStorei -glPixelTransferf -glPixelTransferi -glPixelZoom -glPointSize -glPolygonMode -glPolygonOffset -glPolygonStipple -glPopAttrib -glPopClientAttrib -glPopMatrix -glPopName -glPrioritizeTextures -glPushAttrib -glPushClientAttrib -glPushMatrix -glPushName -glRasterPos2d -glRasterPos2dv -glRasterPos2f -glRasterPos2fv -glRasterPos2i -glRasterPos2iv -glRasterPos2s -glRasterPos2sv -glRasterPos3d -glRasterPos3dv -glRasterPos3f -glRasterPos3fv -glRasterPos3i -glRasterPos3iv -glRasterPos3s -glRasterPos3sv -glRasterPos4d -glRasterPos4dv -glRasterPos4f -glRasterPos4fv -glRasterPos4i -glRasterPos4iv -glRasterPos4s -glRasterPos4sv -glReadBuffer -glReadPixels -glRectd -glRectdv -glRectf -glRectfv -glRecti -glRectiv -glRects -glRectsv -glRenderMode -glRotated -glRotatef -glScaled -glScalef -glScissor -glSelectBuffer -glShadeModel -glStencilFunc -glStencilMask -glStencilOp - -glTexCoord1d -glTexCoord1dv -glTexCoord1f -glTexCoord1fv -glTexCoord1i -glTexCoord1iv -glTexCoord1s -glTexCoord1sv - -glTexCoord2d -glTexCoord2dv -glTexCoord2f -glTexCoord2fv -glTexCoord2i -glTexCoord2iv -glTexCoord2s -glTexCoord2sv - -glTexCoord3d -glTexCoord3dv -glTexCoord3f -glTexCoord3fv -glTexCoord3i -glTexCoord3iv -glTexCoord3s -glTexCoord3sv - -glTexCoord4d -glTexCoord4dv -glTexCoord4f -glTexCoord4fv -glTexCoord4i -glTexCoord4iv -glTexCoord4s -glTexCoord4sv - -glTexCoordPointer -glTexEnvf -glTexEnvfv -glTexEnvi -glTexEnviv -glTexGend -glTexGendv -glTexGenf -glTexGenfv -glTexGeni -glTexGeniv -glTexImage1D -glTexImage2D -glTexParameterf -glTexParameterfv -glTexParameteri -glTexParameteriv -glTexSubImage1D -glTexSubImage2D - -glTranslated -glTranslatef - -glVertex2d -glVertex2dv -glVertex2f -glVertex2fv -glVertex2i -glVertex2iv -glVertex2s -glVertex2sv - -glVertex3d -glVertex3dv -glVertex3f -glVertex3fv -glVertex3i -glVertex3iv -glVertex3s -glVertex3sv - -glVertex4d -glVertex4dv -glVertex4f -glVertex4fv -glVertex4i -glVertex4iv -glVertex4s -glVertex4sv - -glVertexPointer -glViewport - -wglChoosePixelFormat=rosglChoosePixelFormat -wglCopyContext=rosglCopyContext -wglCreateContext=rosglCreateContext -wglCreateLayerContext=rosglCreateLayerContext -wglDeleteContext=rosglDeleteContext -wglDescribeLayerPlane=rosglDescribeLayerPlane -wglDescribePixelFormat=rosglDescribePixelFormat -wglGetCurrentContext=rosglGetCurrentContext -wglGetCurrentDC=rosglGetCurrentDC -wglGetDefaultProcAddress=rosglGetDefaultProcAddress -wglGetLayerPaletteEntries=rosglGetLayerPaletteEntries -wglGetPixelFormat=rosglGetPixelFormat -wglGetProcAddress=rosglGetProcAddress -wglMakeCurrent=rosglMakeCurrent -wglRealizeLayerPalette=rosglRealizeLayerPalette -wglSetLayerPaletteEntries=rosglSetLayerPaletteEntries -wglSetPixelFormat=rosglSetPixelFormat -wglShareLists=rosglShareLists -wglSwapBuffers=rosglSwapBuffers -wglSwapLayerBuffers=rosglSwapLayerBuffers -;wglSwapMultipleBuffers=rosglSwapMultipleBuffers -wglUseFontBitmapsA=rosglUseFontBitmapsA -wglUseFontBitmapsW=rosglUseFontBitmapsW -wglUseFontOutlinesA=rosglUseFontOutlinesA -wglUseFontOutlinesW=rosglUseFontOutlinesW +glMultMatrixd@4 +glMultMatrixf@4 +glNewList@8 + +glNormal3b@12 +glNormal3bv@4 +glNormal3d@24 +glNormal3dv@4 +glNormal3f@12 +glNormal3fv@4 +glNormal3i@12 +glNormal3iv@4 +glNormal3s@12 +glNormal3sv@4 +glNormalPointer@12 + +glOrtho@48 +glPassThrough@4 +glPixelMapfv@12 +glPixelMapuiv@12 +glPixelMapusv@12 +glPixelStoref@8 +glPixelStorei@8 +glPixelTransferf@8 +glPixelTransferi@8 +glPixelZoom@8 +glPointSize@4 +glPolygonMode@8 +glPolygonOffset@8 +glPolygonStipple@4 +glPopAttrib@0 +glPopClientAttrib@0 +glPopMatrix@0 +glPopName@0 +glPrioritizeTextures@12 +glPushAttrib@4 +glPushClientAttrib@4 +glPushMatrix@0 +glPushName@4 +glRasterPos2d@16 +glRasterPos2dv@4 +glRasterPos2f@8 +glRasterPos2fv@4 +glRasterPos2i@8 +glRasterPos2iv@4 +glRasterPos2s@8 +glRasterPos2sv@4 +glRasterPos3d@24 +glRasterPos3dv@4 +glRasterPos3f@12 +glRasterPos3fv@4 +glRasterPos3i@12 +glRasterPos3iv@4 +glRasterPos3s@12 +glRasterPos3sv@4 +glRasterPos4d@32 +glRasterPos4dv@4 +glRasterPos4f@16 +glRasterPos4fv@4 +glRasterPos4i@16 +glRasterPos4iv@4 +glRasterPos4s@16 +glRasterPos4sv@4 +glReadBuffer@4 +glReadPixels@28 +glRectd@32 +glRectdv@8 +glRectf@16 +glRectfv@8 +glRecti@16 +glRectiv@8 +glRects@16 +glRectsv@8 +glRenderMode@4 +glRotated@32 +glRotatef@16 +glScaled@24 +glScalef@12 +glScissor@16 +glSelectBuffer@8 +glShadeModel@4 +glStencilFunc@12 +glStencilMask@4 +glStencilOp@12 + +glTexCoord1d@8 +glTexCoord1dv@4 +glTexCoord1f@4 +glTexCoord1fv@4 +glTexCoord1i@4 +glTexCoord1iv@4 +glTexCoord1s@4 +glTexCoord1sv@4 + +glTexCoord2d@16 +glTexCoord2dv@4 +glTexCoord2f@8 +glTexCoord2fv@4 +glTexCoord2i@8 +glTexCoord2iv@4 +glTexCoord2s@8 +glTexCoord2sv@4 + +glTexCoord3d@24 +glTexCoord3dv@4 +glTexCoord3f@12 +glTexCoord3fv@4 +glTexCoord3i@12 +glTexCoord3iv@4 +glTexCoord3s@12 +glTexCoord3sv@4 + +glTexCoord4d@32 +glTexCoord4dv@4 +glTexCoord4f@16 +glTexCoord4fv@4 +glTexCoord4i@16 +glTexCoord4iv@4 +glTexCoord4s@16 +glTexCoord4sv@4 + +glTexCoordPointer@16 +glTexEnvf@12 +glTexEnvfv@12 +glTexEnvi@12 +glTexEnviv@12 +glTexGend@16 +glTexGendv@12 +glTexGenf@12 +glTexGenfv@12 +glTexGeni@12 +glTexGeniv@12 +glTexImage1D@32 +glTexImage2D@36 +glTexParameterf@12 +glTexParameterfv@12 +glTexParameteri@12 +glTexParameteriv@12 +glTexSubImage1D@28 +glTexSubImage2D@36 + +glTranslated@24 +glTranslatef@12 + +glVertex2d@16 +glVertex2dv@4 +glVertex2f@8 +glVertex2fv@4 +glVertex2i@8 +glVertex2iv@4 +glVertex2s@8 +glVertex2sv@4 + +glVertex3d@24 +glVertex3dv@4 +glVertex3f@12 +glVertex3fv@4 +glVertex3i@12 +glVertex3iv@4 +glVertex3s@12 +glVertex3sv@4 + +glVertex4d@32 +glVertex4dv@4 +glVertex4f@16 +glVertex4fv@4 +glVertex4i@16 +glVertex4iv@4 +glVertex4s@16 +glVertex4sv@4 + +glVertexPointer@16 +glViewport@16 + +wglChoosePixelFormat@8=rosglChoosePixelFormat@8 +wglCopyContext@12=rosglCopyContext@12 +wglCreateContext@4=rosglCreateContext@4 +wglCreateLayerContext@8=rosglCreateLayerContext@8 +wglDeleteContext@4=rosglDeleteContext@4 +wglDescribeLayerPlane@20=rosglDescribeLayerPlane@20 +wglDescribePixelFormat@16=rosglDescribePixelFormat@16 +wglGetCurrentContext@0=rosglGetCurrentContext@0 +wglGetCurrentDC@0=rosglGetCurrentDC@0 +wglGetDefaultProcAddress=rosglGetDefaultProcAddress@4 +wglGetLayerPaletteEntries@20=rosglGetLayerPaletteEntries@20 +wglGetPixelFormat@4=rosglGetPixelFormat@4 +wglGetProcAddress@4=rosglGetProcAddress@4 +wglMakeCurrent@8=rosglMakeCurrent@8 +wglRealizeLayerPalette@12=rosglRealizeLayerPalette@12 +wglSetLayerPaletteEntries@20=rosglSetLayerPaletteEntries@20 +wglSetPixelFormat@12=rosglSetPixelFormat@12 +wglShareLists@8=rosglShareLists@8 +wglSwapBuffers@4=rosglSwapBuffers@4 +wglSwapLayerBuffers@8=rosglSwapLayerBuffers@8 +;wglSwapMultipleBuffers=rosglSwapMultipleBuffers@ +wglUseFontBitmapsA@16=rosglUseFontBitmapsA@16 +wglUseFontBitmapsW@16=rosglUseFontBitmapsW@16 +wglUseFontOutlinesA@32=rosglUseFontOutlinesA@32 +wglUseFontOutlinesW@32=rosglUseFontOutlinesW@32
17 years, 1 month
1
0
0
0
[cwittich] 30548: fix a typo
by cwittich@svn.reactos.org
Author: cwittich Date: Sun Nov 18 17:39:28 2007 New Revision: 30548 URL:
http://svn.reactos.org/svn/reactos?rev=30548&view=rev
Log: fix a typo Modified: trunk/reactos/dll/win32/opengl32/opengl32.def Modified: trunk/reactos/dll/win32/opengl32/opengl32.def URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/opengl32/opengl3…
============================================================================== --- trunk/reactos/dll/win32/opengl32/opengl32.def (original) +++ trunk/reactos/dll/win32/opengl32/opengl32.def Sun Nov 18 17:39:28 2007 @@ -1,6 +1,6 @@ ; $Id$ ; -; opengl32.edf +; opengl32.def ; ; ReactOS Operating System ;
17 years, 1 month
1
0
0
0
[janderwald] 30547: - implement setting values WantsFORDisplay && HideAsDeletePerUser (not yet used) - register control panel shell folder - fix a memory leak
by janderwald@svn.reactos.org
Author: janderwald Date: Sun Nov 18 17:17:39 2007 New Revision: 30547 URL:
http://svn.reactos.org/svn/reactos?rev=30547&view=rev
Log: - implement setting values WantsFORDisplay && HideAsDeletePerUser (not yet used) - register control panel shell folder - fix a memory leak Modified: trunk/reactos/dll/win32/shell32/lang/bg-BG.rc trunk/reactos/dll/win32/shell32/lang/ca-ES.rc trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc trunk/reactos/dll/win32/shell32/lang/da-DK.rc trunk/reactos/dll/win32/shell32/lang/de-DE.rc trunk/reactos/dll/win32/shell32/lang/en-US.rc trunk/reactos/dll/win32/shell32/lang/eo-EO.rc trunk/reactos/dll/win32/shell32/lang/es-ES.rc trunk/reactos/dll/win32/shell32/lang/fi-FI.rc trunk/reactos/dll/win32/shell32/lang/fr-FR.rc trunk/reactos/dll/win32/shell32/lang/hu-HU.rc trunk/reactos/dll/win32/shell32/lang/it-IT.rc trunk/reactos/dll/win32/shell32/lang/ja-JP.rc trunk/reactos/dll/win32/shell32/lang/ko-KO.rc trunk/reactos/dll/win32/shell32/lang/nb-NO.rc trunk/reactos/dll/win32/shell32/lang/nl-NL.rc trunk/reactos/dll/win32/shell32/lang/pl-PL.rc trunk/reactos/dll/win32/shell32/lang/pt-BR.rc trunk/reactos/dll/win32/shell32/lang/pt-PT.rc trunk/reactos/dll/win32/shell32/lang/ru-RU.rc trunk/reactos/dll/win32/shell32/lang/sk-SK.rc trunk/reactos/dll/win32/shell32/lang/sl-SI.rc trunk/reactos/dll/win32/shell32/lang/sv-SE.rc trunk/reactos/dll/win32/shell32/lang/tr-TR.rc trunk/reactos/dll/win32/shell32/lang/uk-UA.rc trunk/reactos/dll/win32/shell32/lang/wa-WA.rc trunk/reactos/dll/win32/shell32/lang/zh-CN.rc trunk/reactos/dll/win32/shell32/lang/zh-TW.rc trunk/reactos/dll/win32/shell32/regsvr.c trunk/reactos/dll/win32/shell32/shfldr_desktop.c trunk/reactos/dll/win32/shell32/shresdef.h Modified: trunk/reactos/dll/win32/shell32/lang/bg-BG.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/bg-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/bg-BG.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/bg-BG.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "Ðàáîòíà ïëîù" IDS_MYCOMPUTER "Ìîÿò êîìïþòúð" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "&Ãîëåìè çíà÷åòà" Modified: trunk/reactos/dll/win32/shell32/lang/ca-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ca-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/ca-ES.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/ca-ES.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "Desktop" IDS_MYCOMPUTER "My Computer" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Lar&ge Icons" Modified: trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/cs-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/cs-CZ.rc Sun Nov 18 17:17:39 2007 @@ -358,6 +358,7 @@ IDS_DESKTOP "Plocha" IDS_MYCOMPUTER "Tento poèítaè" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "&Vedle sebe" Modified: trunk/reactos/dll/win32/shell32/lang/da-DK.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/da-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/da-DK.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/da-DK.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "Desktop" IDS_MYCOMPUTER "My Computer" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Lar&ge Icons" Modified: trunk/reactos/dll/win32/shell32/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/de-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/de-DE.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/de-DE.rc Sun Nov 18 17:17:39 2007 @@ -359,6 +359,7 @@ IDS_DESKTOP "Desktop" IDS_MYCOMPUTER "Arbeitsplatz" IDS_RECYCLEBIN_FOLDER_NAME "Papierkorb" + IDS_CONTROLPANEL "Systemsteuerung" /* context menus */ IDS_VIEW_LARGE "&Große Symbole" Modified: trunk/reactos/dll/win32/shell32/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/en-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/en-US.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/en-US.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "Desktop" IDS_MYCOMPUTER "My Computer" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Lar&ge Icons" Modified: trunk/reactos/dll/win32/shell32/lang/eo-EO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/eo-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/eo-EO.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/eo-EO.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "Desktop" IDS_MYCOMPUTER "My Computer" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Lar&ge Icons" Modified: trunk/reactos/dll/win32/shell32/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/es-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/es-ES.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/es-ES.rc Sun Nov 18 17:17:39 2007 @@ -358,6 +358,7 @@ IDS_DESKTOP "Escritorio" IDS_MYCOMPUTER "Mi PC" IDS_RECYCLEBIN_FOLDER_NAME "Papelera de reciclaje" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Iconos &grandes" Modified: trunk/reactos/dll/win32/shell32/lang/fi-FI.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/fi-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/fi-FI.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/fi-FI.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "Työpöytä" IDS_MYCOMPUTER "Oma Tietokone" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "&Suuret Kuvakkeet" Modified: trunk/reactos/dll/win32/shell32/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/fr-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/fr-FR.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/fr-FR.rc Sun Nov 18 17:17:39 2007 @@ -361,6 +361,7 @@ IDS_DESKTOP "Bureau" IDS_MYCOMPUTER "Poste de travail" IDS_RECYCLEBIN_FOLDER_NAME "Corbeille" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "&Grandes icônes" Modified: trunk/reactos/dll/win32/shell32/lang/hu-HU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/hu-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/hu-HU.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/hu-HU.rc Sun Nov 18 17:17:39 2007 @@ -360,6 +360,7 @@ IDS_DESKTOP "Asztal" IDS_MYCOMPUTER "Számítógép" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Nagy képek" Modified: trunk/reactos/dll/win32/shell32/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/it-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/it-IT.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/it-IT.rc Sun Nov 18 17:17:39 2007 @@ -358,6 +358,7 @@ IDS_DESKTOP "Desktop" IDS_MYCOMPUTER "Risorse del Computer" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "&Icone Grandi" Modified: trunk/reactos/dll/win32/shell32/lang/ja-JP.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ja-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/ja-JP.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/ja-JP.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "fXNgbv" IDS_MYCOMPUTER "}C Rs [^" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "å«¢ACR(&G)" Modified: trunk/reactos/dll/win32/shell32/lang/ko-KO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ko-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/ko-KO.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/ko-KO.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "Desktop" IDS_MYCOMPUTER "My Computer" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Lar&ge Icons" Modified: trunk/reactos/dll/win32/shell32/lang/nb-NO.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/nb-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/nb-NO.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/nb-NO.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "Skrivebord" IDS_MYCOMPUTER "Min datamaskin" IDS_RECYCLEBIN_FOLDER_NAME "Papirkurv" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "&Store ikoner" Modified: trunk/reactos/dll/win32/shell32/lang/nl-NL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/nl-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/nl-NL.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/nl-NL.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "Desktop" IDS_MYCOMPUTER "My Computer" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Lar&ge Icons" Modified: trunk/reactos/dll/win32/shell32/lang/pl-PL.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/pl-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/pl-PL.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/pl-PL.rc Sun Nov 18 17:17:39 2007 @@ -358,6 +358,7 @@ IDS_DESKTOP "Pulpit" IDS_MYCOMPUTER "Mój komputer" IDS_RECYCLEBIN_FOLDER_NAME "Kosz" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "&Du¿e Ikony" Modified: trunk/reactos/dll/win32/shell32/lang/pt-BR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/pt-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/pt-BR.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/pt-BR.rc Sun Nov 18 17:17:39 2007 @@ -359,6 +359,7 @@ IDS_DESKTOP "Área de trabalho" IDS_MYCOMPUTER "Meu computador" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Ícones &grandes" Modified: trunk/reactos/dll/win32/shell32/lang/pt-PT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/pt-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/pt-PT.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/pt-PT.rc Sun Nov 18 17:17:39 2007 @@ -359,6 +359,7 @@ IDS_DESKTOP "Ambiente de trabalho" IDS_MYCOMPUTER "O Meu Computador" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Ícones &grandes" Modified: trunk/reactos/dll/win32/shell32/lang/ru-RU.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/ru-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/ru-RU.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/ru-RU.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "Ðàáî÷èé ñòîë" IDS_MYCOMPUTER "Ìîé êîìïüþòåð" IDS_RECYCLEBIN_FOLDER_NAME "Êîðçèíà" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "&Áîëüøèå çíà÷êè" Modified: trunk/reactos/dll/win32/shell32/lang/sk-SK.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/sk-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/sk-SK.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/sk-SK.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "Desktop" IDS_MYCOMPUTER "My Computer" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Lar&ge Icons" Modified: trunk/reactos/dll/win32/shell32/lang/sl-SI.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/sl-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/sl-SI.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/sl-SI.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "Desktop" IDS_MYCOMPUTER "My Computer" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Lar&ge Icons" Modified: trunk/reactos/dll/win32/shell32/lang/sv-SE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/sv-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/sv-SE.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/sv-SE.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "Desktop" IDS_MYCOMPUTER "My Computer" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Lar&ge Icons" Modified: trunk/reactos/dll/win32/shell32/lang/tr-TR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/tr-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/tr-TR.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/tr-TR.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "Masaüstü" IDS_MYCOMPUTER "Bilgisayarým" IDS_RECYCLEBIN_FOLDER_NAME "Çöp" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Bü&yük Simgeler" Modified: trunk/reactos/dll/win32/shell32/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/uk-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/uk-UA.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/uk-UA.rc Sun Nov 18 17:17:39 2007 @@ -366,6 +366,7 @@ IDS_VIEW_DETAILS "&Ïîäðîáèö³" IDS_SELECT "Âè&áðàòè" IDS_OPEN "³&äêðèòè" + IDS_CONTROLPANEL "Control Panel" IDS_CREATEFOLDER_DENIED "Íå âäàëîñÿ ñòâîðèòè íîâó ïàïêó: ³äìîâà ó äîñòóï³." IDS_CREATEFOLDER_CAPTION "Ïîìèëêà ïðè ñòâîðåíí³ íîâî¿ ïàïêè" Modified: trunk/reactos/dll/win32/shell32/lang/wa-WA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/wa-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/wa-WA.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/wa-WA.rc Sun Nov 18 17:17:39 2007 @@ -357,6 +357,7 @@ IDS_DESKTOP "Desktop" IDS_MYCOMPUTER "My Computer" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Lar&ge Icons" Modified: trunk/reactos/dll/win32/shell32/lang/zh-CN.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/zh-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/zh-CN.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/zh-CN.rc Sun Nov 18 17:17:39 2007 @@ -358,6 +358,7 @@ IDS_DESKTOP "Desktop" IDS_MYCOMPUTER "My Computer" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Lar&ge Icons" Modified: trunk/reactos/dll/win32/shell32/lang/zh-TW.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/zh-…
============================================================================== --- trunk/reactos/dll/win32/shell32/lang/zh-TW.rc (original) +++ trunk/reactos/dll/win32/shell32/lang/zh-TW.rc Sun Nov 18 17:17:39 2007 @@ -358,6 +358,7 @@ IDS_DESKTOP "Desktop" IDS_MYCOMPUTER "My Computer" IDS_RECYCLEBIN_FOLDER_NAME "Trash" + IDS_CONTROLPANEL "Control Panel" /* context menus */ IDS_VIEW_LARGE "Lar&ge Icons" Modified: trunk/reactos/dll/win32/shell32/regsvr.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/regsvr.c…
============================================================================== --- trunk/reactos/dll/win32/shell32/regsvr.c (original) +++ trunk/reactos/dll/win32/shell32/regsvr.c Sun Nov 18 17:17:39 2007 @@ -83,6 +83,8 @@ #define SHELLFOLDER_WANTSFORPARSING 0x00000002 #define SHELLFOLDER_ATTRIBUTES 0x00000004 #define SHELLFOLDER_CALLFORATTRIBUTES 0x00000008 +#define SHELLFOLDER_WANTSFORDISPLAY 0x00000010 +#define SHELLFOLDER_HIDEASDELETEPERUSER 0x00000020 static HRESULT register_coclasses(struct regsvr_coclass const *list); static HRESULT unregister_coclasses(struct regsvr_coclass const *list); @@ -135,6 +137,8 @@ static WCHAR const contextmenu_keyname[] = { 'C', 'o', 'n', 't', 'e', 'x', 't', 'M', 'e', 'n', 'u', 'H', 'a', 'n', 'd', 'l', 'e', 'r', 's', 0 }; static char const tmodel_valuename[] = "ThreadingModel"; static char const wfparsing_valuename[] = "WantsFORPARSING"; +static char const wfdisplay_valuename[] = "WantsFORDISPLAY"; +static char const hideasdeleteperuser_valuename[] = "HideAsDeletePerUser"; static char const attributes_valuename[] = "Attributes"; static char const cfattributes_valuename[] = "CallForAttributes"; static char const localized_valuename[] = "LocalizedString"; @@ -335,7 +339,7 @@ } if (list->flags & - (SHELLFOLDER_WANTSFORPARSING|SHELLFOLDER_ATTRIBUTES|SHELLFOLDER_CALLFORATTRIBUTES)) + (SHELLFOLDER_WANTSFORPARSING|SHELLFOLDER_ATTRIBUTES|SHELLFOLDER_CALLFORATTRIBUTES|SHELLFOLDER_WANTSFORDISPLAY|SHELLFOLDER_HIDEASDELETEPERUSER)) { HKEY shellfolder_key; @@ -351,7 +355,11 @@ if (list->flags & SHELLFOLDER_CALLFORATTRIBUTES) res = RegSetValueExA(shellfolder_key, cfattributes_valuename, 0, REG_DWORD, (const BYTE *)&list->dwCallForAttributes, sizeof(DWORD)); - RegCloseKey(shellfolder_key); + if (list->flags & SHELLFOLDER_WANTSFORDISPLAY) + res = RegSetValueExA(shellfolder_key, wfdisplay_valuename, 0, REG_SZ, (const BYTE *)"", 1); + if (list->flags & SHELLFOLDER_HIDEASDELETEPERUSER) + res = RegSetValueExA(shellfolder_key, hideasdeleteperuser_valuename, 0, REG_SZ, (const BYTE *)"", 1); + RegCloseKey(shellfolder_key); if (res != ERROR_SUCCESS) goto error_close_clsid_key; } @@ -572,6 +580,19 @@ "shell32.dll", "Apartment" }, + { &CLSID_ControlPanel, + "Shell Control Panel Folder", + IDS_CONTROLPANEL, + NULL, + "shell32.dll", + "Apartment", + SHELLFOLDER_WANTSFORDISPLAY|SHELLFOLDER_ATTRIBUTES|SHELLFOLDER_HIDEASDELETEPERUSER, + SFGAO_FOLDER|SFGAO_HASSUBFOLDER, + 0, + NULL, + NULL, + IDI_SHELL_CONTROL_PANEL1 + }, { &CLSID_DragDropHelper, "Shell Drag and Drop Helper", 0, @@ -706,6 +727,8 @@ static const WCHAR wszSlash[] = { '/', 0 }; static const WCHAR wszMyDocuments[] = { 'M','y',' ','D','o','c','u','m','e','n','t','s', 0 }; static const WCHAR wszRecycleBin[] = { 'T','r','a','s','h', 0 }; +static const WCHAR wszMyComputer[] = { 'M','y','C','o','m','p','u','t','e','r',0 }; +static const WCHAR wszControlPanel[] = { 'C','o','n','t','r','o','l',0 }; static struct regsvr_namespace const namespace_extensions_list[] = { #if 0 @@ -724,6 +747,11 @@ &CLSID_RecycleBin, wszDesktop, wszRecycleBin + }, + { + &CLSID_ControlPanel, + wszMyComputer, + wszControlPanel }, { NULL } }; Modified: trunk/reactos/dll/win32/shell32/shfldr_desktop.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shfldr_d…
============================================================================== --- trunk/reactos/dll/win32/shell32/shfldr_desktop.c (original) +++ trunk/reactos/dll/win32/shell32/shfldr_desktop.c Sun Nov 18 17:17:39 2007 @@ -289,7 +289,7 @@ } else { - ret = AddToEnumList(list, _ILCreateGuidFromStrW(iid)); + ret = AddToEnumList(list, pidl); } i++; } Modified: trunk/reactos/dll/win32/shell32/shresdef.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shresdef…
============================================================================== --- trunk/reactos/dll/win32/shell32/shresdef.h (original) +++ trunk/reactos/dll/win32/shell32/shresdef.h Sun Nov 18 17:17:39 2007 @@ -106,6 +106,8 @@ #define IDS_SHELL_ABOUT_AUTHORS 144 #define IDS_SHELL_ABOUT_BACK 145 #define FCIDM_SHVIEW_NEW 146 +#define FCIDM_SHVIEW_VIEW 147 +#define IDS_CONTROLPANEL 148 /* Note: this string is referenced from the registry */ #define IDS_RECYCLEBIN_FOLDER_NAME 8964 @@ -172,7 +174,7 @@ #define IDI_SHELL_TRASH_FILE 142 #define IDI_SHELL_CONFIRM_DELETE 161 #define IDI_SHELL_MY_DOCUMENTS 235 - +#define IDI_SHELL_CONTROL_PANEL1 330 /* AVI resources, windows shell32 has 14 of them: 150-152 and 160-170 FIXME: Need to add them, but for now just let them use the same: searching.avi
17 years, 1 month
1
0
0
0
[jimtabor] 30546: Complete move to Dc_Attr in win32k. Tested Qemu Linux, Xp with AbiWord.
by jimtabor@svn.reactos.org
Author: jimtabor Date: Sun Nov 18 16:51:34 2007 New Revision: 30546 URL:
http://svn.reactos.org/svn/reactos?rev=30546&view=rev
Log: Complete move to Dc_Attr in win32k. Tested Qemu Linux, Xp with AbiWord. Modified: trunk/reactos/subsystems/win32/win32k/include/gdifloat.h trunk/reactos/subsystems/win32/win32k/ntuser/windc.c trunk/reactos/subsystems/win32/win32k/objects/bitblt.c trunk/reactos/subsystems/win32/win32k/objects/brush.c trunk/reactos/subsystems/win32/win32k/objects/coord.c trunk/reactos/subsystems/win32/win32k/objects/dc.c trunk/reactos/subsystems/win32/win32k/objects/dcutil.c trunk/reactos/subsystems/win32/win32k/objects/fillshap.c trunk/reactos/subsystems/win32/win32k/objects/gdibatch.c trunk/reactos/subsystems/win32/win32k/objects/line.c trunk/reactos/subsystems/win32/win32k/objects/path.c trunk/reactos/subsystems/win32/win32k/objects/polyfill.c trunk/reactos/subsystems/win32/win32k/objects/region.c trunk/reactos/subsystems/win32/win32k/objects/text.c Modified: trunk/reactos/subsystems/win32/win32k/include/gdifloat.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/gdifloat.h (original) +++ trunk/reactos/subsystems/win32/win32k/include/gdifloat.h Sun Nov 18 16:51:34 2007 @@ -83,28 +83,28 @@ #define MulDiv( x, y, z ) EngMulDiv( x, y, z ) -#define XDPTOLP(dc,tx) \ - (MulDiv(((tx)-(dc)->Dc_Attr.ptlViewportOrg.x), (dc)->Dc_Attr.szlWindowExt.cx, (dc)->Dc_Attr.szlViewportExt.cx) + (dc)->Dc_Attr.ptlWindowOrg.x) -#define YDPTOLP(dc,ty) \ - (MulDiv(((ty)-(dc)->Dc_Attr.ptlViewportOrg.y), (dc)->Dc_Attr.szlWindowExt.cy, (dc)->Dc_Attr.szlViewportExt.cy) + (dc)->Dc_Attr.ptlWindowOrg.y) -#define XLPTODP(dc,tx) \ - (MulDiv(((tx)-(dc)->Dc_Attr.ptlWindowOrg.x), (dc)->Dc_Attr.szlViewportExt.cx, (dc)->Dc_Attr.szlWindowExt.cx) + (dc)->Dc_Attr.ptlViewportOrg.x) -#define YLPTODP(dc,ty) \ - (MulDiv(((ty)-(dc)->Dc_Attr.ptlWindowOrg.y), (dc)->Dc_Attr.szlViewportExt.cy, (dc)->Dc_Attr.szlWindowExt.cy) + (dc)->Dc_Attr.ptlViewportOrg.y) +#define XDPTOLP(Dc_Attr,tx) \ + (MulDiv(((tx)-(Dc_Attr)->ptlViewportOrg.x), (Dc_Attr)->szlWindowExt.cx, (Dc_Attr)->szlViewportExt.cx) + (Dc_Attr)->ptlWindowOrg.x) +#define YDPTOLP(Dc_Attr,ty) \ + (MulDiv(((ty)-(Dc_Attr)->ptlViewportOrg.y), (Dc_Attr)->szlWindowExt.cy, (Dc_Attr)->szlViewportExt.cy) + (Dc_Attr)->ptlWindowOrg.y) +#define XLPTODP(Dc_Attr,tx) \ + (MulDiv(((tx)-(Dc_Attr)->ptlWindowOrg.x), (Dc_Attr)->szlViewportExt.cx, (Dc_Attr)->szlWindowExt.cx) + (Dc_Attr)->ptlViewportOrg.x) +#define YLPTODP(Dc_Attr,ty) \ + (MulDiv(((ty)-(Dc_Attr)->ptlWindowOrg.y), (Dc_Attr)->szlViewportExt.cy, (Dc_Attr)->szlWindowExt.cy) + (Dc_Attr)->ptlViewportOrg.y) /* Device <-> logical size conversion */ -#define XDSTOLS(dc,tx) \ - MulDiv((tx), (dc)->Dc_Attr.szlWindowExt.cx, (dc)->Dc_Attr.szlViewportExt.cx) -#define YDSTOLS(dc,ty) \ - MulDiv((ty), (dc)->Dc_Attr.szlWindowExt.cy, (dc)->Dc_Attr.szlViewportExt.cy) -#define XLSTODS(dc,tx) \ - MulDiv((tx), (dc)->Dc_Attr.szlViewportExt.cx, (dc)->Dc_Attr.szlWindowExt.cx) -#define YLSTODS(dc,ty) \ - MulDiv((ty), (dc)->Dc_Attr.szlViewportExt.cy, (dc)->Dc_Attr.szlWindowExt.cy) - -#endif +#define XDSTOLS(Dc_Attr,tx) \ + MulDiv((tx), (Dc_Attr)->szlWindowExt.cx, (Dc_Attr)->szlViewportExt.cx) +#define YDSTOLS(DC_Attr,ty) \ + MulDiv((ty), (Dc_Attr)->szlWindowExt.cy, (Dc_Attr)->szlViewportExt.cy) +#define XLSTODS(Dc_Attr,tx) \ + MulDiv((tx), (Dc_Attr)->szlViewportExt.cx, (Dc_Attr)->szlWindowExt.cx) +#define YLSTODS(Dc_Attr,ty) \ + MulDiv((ty), (Dc_Attr)->szlViewportExt.cy, (Dc_Attr)->szlWindowExt.cy) VOID FASTCALL XForm2MatrixS( MATRIX_S *, PXFORM); VOID FASTCALL MatrixS2XForm( PXFORM, MATRIX_S *); +#endif + Modified: trunk/reactos/subsystems/win32/win32k/ntuser/windc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/nt…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/ntuser/windc.c (original) +++ trunk/reactos/subsystems/win32/win32k/ntuser/windc.c Sun Nov 18 16:51:34 2007 @@ -158,6 +158,9 @@ else { DPRINT("FREE DCATTR!!!! NOT DCE_WINDOW_DC!!!!! hDC-> %x\n", pDce->hDC); + PDC dc = DC_LockDc ( pDce->hDC ); + MmCopyFromCaller(&dc->Dc_Attr, dc->pDc_Attr, sizeof(DC_ATTR)); + DC_UnlockDc( dc ); DC_FreeDcAttr(pDce->hDC); // Free the dcattr! DC_SetOwnership(pDce->hDC, NULL); // This hDC is inaccessible! } @@ -275,6 +278,16 @@ dce->DCXFlags |= DCX_DCEEMPTY; } } + else + { // Save Users Dc_Attr. + PDC dc = DC_LockDc(dce->hDC); + if(dc) + { + PDC_ATTR Dc_Attr = dc->pDc_Attr; + if(Dc_Attr) MmCopyFromCaller(&dc->Dc_Attr, Dc_Attr, sizeof(DC_ATTR)); + DC_UnlockDc(dc); + } + } DPRINT("Exit!!!!! DCX_CACHE!!!!!! hDC-> %x \n", dce->hDC); DC_FreeDcAttr(dce->hDC); // Free the dcattr. DC_SetOwnership(dce->hDC, NULL); // Set hDC inaccessible mode. Modified: trunk/reactos/subsystems/win32/win32k/objects/bitblt.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/bitblt.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/bitblt.c Sun Nov 18 16:51:34 2007 @@ -42,6 +42,7 @@ { PDC DCDest = NULL; PDC DCSrc = NULL; + PDC_ATTR Dc_Attr = NULL; BITMAPOBJ *BitmapDest, *BitmapSrc; RECTL DestRect, SourceRect; BOOL Status; @@ -87,6 +88,9 @@ DCSrc = DCDest; } + Dc_Attr = DCSrc->pDc_Attr; + if (!Dc_Attr) Dc_Attr = &DCSrc->Dc_Attr; + /* Offset the destination and source by the origin of their DCs. */ XOriginDest += DCDest->w.DCOrgX; YOriginDest += DCDest->w.DCOrgY; @@ -125,11 +129,11 @@ { if (DCDest->w.bitsPerPixel == 1) { - XlateObj = IntEngCreateMonoXlate(0, DestPalette, SourcePalette, DCSrc->Dc_Attr.crBackgroundClr); + XlateObj = IntEngCreateMonoXlate(0, DestPalette, SourcePalette, Dc_Attr->crBackgroundClr); } else if (DCSrc->w.bitsPerPixel == 1) { - XlateObj = IntEngCreateSrcMonoXlate(DestPalette, DCSrc->Dc_Attr.crBackgroundClr, DCSrc->Dc_Attr.crForegroundClr); + XlateObj = IntEngCreateSrcMonoXlate(DestPalette, Dc_Attr->crBackgroundClr, Dc_Attr->crForegroundClr); } else { @@ -182,6 +186,7 @@ { PDC DCDest = NULL; PDC DCSrc = NULL; + PDC_ATTR Dc_Attr = NULL; BITMAPOBJ *BitmapDest, *BitmapSrc; RECTL DestRect; POINTL SourcePoint, BrushOrigin; @@ -235,6 +240,9 @@ DCSrc = NULL; } + Dc_Attr = DCDest->pDc_Attr; + if (!Dc_Attr) Dc_Attr = &DCDest->Dc_Attr; + /* Offset the destination and source by the origin of their DCs. */ XDest += DCDest->w.DCOrgX; YDest += DCDest->w.DCOrgY; @@ -273,7 +281,7 @@ if (UsesPattern) { - BrushObj = BRUSHOBJ_LockBrush(DCDest->Dc_Attr.hbrush); + BrushObj = BRUSHOBJ_LockBrush(Dc_Attr->hbrush); if (NULL == BrushObj) { if (UsesSource && hDCSrc != hDCDest) @@ -316,13 +324,15 @@ } else { + Dc_Attr = DCSrc->pDc_Attr; + if (!Dc_Attr) Dc_Attr = &DCSrc->Dc_Attr; if (DCDest->w.bitsPerPixel == 1) { - XlateObj = IntEngCreateMonoXlate(0, DestPalette, SourcePalette, DCSrc->Dc_Attr.crBackgroundClr); + XlateObj = IntEngCreateMonoXlate(0, DestPalette, SourcePalette, Dc_Attr->crBackgroundClr); } else if (DCSrc->w.bitsPerPixel == 1) { - XlateObj = IntEngCreateSrcMonoXlate(DestPalette, DCSrc->Dc_Attr.crBackgroundClr, DCSrc->Dc_Attr.crForegroundClr); + XlateObj = IntEngCreateSrcMonoXlate(DestPalette, Dc_Attr->crBackgroundClr, Dc_Attr->crForegroundClr); } else { @@ -781,6 +791,7 @@ { PDC DCDest = NULL; PDC DCSrc = NULL; + PDC_ATTR Dc_Attr = NULL; BITMAPOBJ *BitmapDest, *BitmapSrc; RECTL DestRect; RECTL SourceRect; @@ -929,7 +940,9 @@ if (UsesPattern) { - BrushObj = BRUSHOBJ_LockBrush(DCDest->Dc_Attr.hbrush); + Dc_Attr = DCDest->pDc_Attr; + if (!Dc_Attr) Dc_Attr = &DCDest->Dc_Attr; + BrushObj = BRUSHOBJ_LockBrush(Dc_Attr->hbrush); if (NULL == BrushObj) { if (UsesSource && hDCSrc != hDCDest) @@ -1132,6 +1145,7 @@ { PGDIBRUSHOBJ BrushObj; DC *dc = DC_LockDc(hDC); + PDC_ATTR Dc_Attr; BOOL ret; if (dc == NULL) @@ -1139,6 +1153,8 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return FALSE; } + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; if (dc->IsIC) { DC_UnlockDc(dc); @@ -1146,7 +1162,7 @@ return TRUE; } - BrushObj = BRUSHOBJ_LockBrush(dc->Dc_Attr.hbrush); + BrushObj = BRUSHOBJ_LockBrush(Dc_Attr->hbrush); if (BrushObj == NULL) { SetLastWin32Error(ERROR_INVALID_HANDLE); Modified: trunk/reactos/subsystems/win32/win32k/objects/brush.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/brush.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/brush.c Sun Nov 18 16:51:34 2007 @@ -139,8 +139,11 @@ /* Special case: 1bpp pattern */ if (Pattern->SurfObj.iBitmapFormat == BMF_1BPP) { + PDC_ATTR Dc_Attr = Dc->pDc_Attr; + if (!Dc_Attr) Dc_Attr = &Dc->Dc_Attr; + if (Dc->w.bitsPerPixel != 1) - Result = IntEngCreateSrcMonoXlate(Dc->w.hPalette, Dc->Dc_Attr.crForegroundClr, Dc->Dc_Attr.crBackgroundClr); + Result = IntEngCreateSrcMonoXlate(Dc->w.hPalette, Dc_Attr->crForegroundClr, Dc_Attr->crBackgroundClr); } else if (BrushObj->flAttrs & GDIBRUSH_IS_DIB) { Modified: trunk/reactos/subsystems/win32/win32k/objects/coord.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/coord.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/coord.c Sun Nov 18 16:51:34 2007 @@ -37,18 +37,27 @@ void FASTCALL IntFixIsotropicMapping(PDC dc) { - ULONG xdim = EngMulDiv(dc->Dc_Attr.szlViewportExt.cx, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes) / dc->Dc_Attr.szlWindowExt.cx; - ULONG ydim = EngMulDiv(dc->Dc_Attr.szlViewportExt.cy, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes) / dc->Dc_Attr.szlWindowExt.cy; + PDC_ATTR Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + + ULONG xdim = EngMulDiv(Dc_Attr->szlViewportExt.cx, + ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize, + ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes) / + Dc_Attr->szlWindowExt.cx; + ULONG ydim = EngMulDiv(Dc_Attr->szlViewportExt.cy, + ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize, + ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes) / + Dc_Attr->szlWindowExt.cy; if (xdim > ydim) { - dc->Dc_Attr.szlViewportExt.cx = dc->Dc_Attr.szlViewportExt.cx * abs(ydim / xdim); - if (!dc->Dc_Attr.szlViewportExt.cx) dc->Dc_Attr.szlViewportExt.cx = 1; + Dc_Attr->szlViewportExt.cx = Dc_Attr->szlViewportExt.cx * abs(ydim / xdim); + if (!Dc_Attr->szlViewportExt.cx) Dc_Attr->szlViewportExt.cx = 1; } else { - dc->Dc_Attr.szlViewportExt.cy = dc->Dc_Attr.szlViewportExt.cy * abs(xdim / ydim); - if (!dc->Dc_Attr.szlViewportExt.cy) dc->Dc_Attr.szlViewportExt.cy = 1; + Dc_Attr->szlViewportExt.cy = Dc_Attr->szlViewportExt.cy * abs(xdim / ydim); + if (!Dc_Attr->szlViewportExt.cy) Dc_Attr->szlViewportExt.cy = 1; } } @@ -161,8 +170,11 @@ FASTCALL IntGetGraphicsMode ( PDC dc ) { + PDC_ATTR Dc_Attr; ASSERT ( dc ); - return dc->Dc_Attr.iGraphicsMode; + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + return Dc_Attr->iGraphicsMode; } BOOL @@ -209,6 +221,7 @@ NtGdiGetGraphicsMode ( HDC hDC ) { PDC dc; + PDC_ATTR Dc_Attr; int GraphicsMode; // default to failure dc = DC_LockDc ( hDC ); @@ -217,8 +230,9 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return 0; } - - GraphicsMode = dc->Dc_Attr.iGraphicsMode; + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + GraphicsMode = Dc_Attr->iGraphicsMode; DC_UnlockDc(dc); return GraphicsMode; @@ -464,6 +478,7 @@ LPPOINT UnsafePoint) { PDC dc; + PDC_ATTR Dc_Attr; NTSTATUS Status = STATUS_SUCCESS; dc = DC_LockDc ( hDC ); @@ -472,7 +487,9 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return FALSE; } - + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + if (UnsafePoint) { _SEH_TRY @@ -480,8 +497,8 @@ ProbeForWrite(UnsafePoint, sizeof(POINT), 1); - UnsafePoint->x = dc->Dc_Attr.ptlViewportOrg.x; - UnsafePoint->y = dc->Dc_Attr.ptlViewportOrg.y; + UnsafePoint->x = Dc_Attr->ptlViewportOrg.x; + UnsafePoint->y = Dc_Attr->ptlViewportOrg.y; } _SEH_HANDLE { @@ -497,8 +514,8 @@ } } - dc->Dc_Attr.ptlViewportOrg.x += XOffset; - dc->Dc_Attr.ptlViewportOrg.y += YOffset; + Dc_Attr->ptlViewportOrg.x += XOffset; + Dc_Attr->ptlViewportOrg.y += YOffset; DC_UpdateXforms(dc); DC_UnlockDc(dc); return TRUE; @@ -512,13 +529,16 @@ LPPOINT Point) { PDC dc; - + PDC_ATTR Dc_Attr; + dc = DC_LockDc(hDC); if (!dc) { SetLastWin32Error(ERROR_INVALID_HANDLE); return FALSE; } + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; if (Point) { @@ -529,8 +549,8 @@ ProbeForWrite(Point, sizeof(POINT), 1); - Point->x = dc->Dc_Attr.ptlWindowOrg.x; - Point->y = dc->Dc_Attr.ptlWindowOrg.y; + Point->x = Dc_Attr->ptlWindowOrg.x; + Point->y = Dc_Attr->ptlWindowOrg.y; } _SEH_HANDLE { @@ -546,8 +566,8 @@ } } - dc->Dc_Attr.ptlWindowOrg.x += XOffset; - dc->Dc_Attr.ptlWindowOrg.y += YOffset; + Dc_Attr->ptlWindowOrg.x += XOffset; + Dc_Attr->ptlWindowOrg.y += YOffset; DC_UpdateXforms(dc); DC_UnlockDc(dc); @@ -588,6 +608,7 @@ { INT ret; PDC dc; + PDC_ATTR Dc_Attr; dc = DC_LockDc (hDC); if (!dc) @@ -595,6 +616,8 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return 0; } + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; /* One would think that setting the graphics mode to GM_COMPATIBLE * would also reset the world transformation matrix to the unity @@ -609,8 +632,8 @@ return 0; } - ret = dc->Dc_Attr.iGraphicsMode; - dc->Dc_Attr.iGraphicsMode = Mode; + ret = Dc_Attr->iGraphicsMode; + Dc_Attr->iGraphicsMode = Mode; DC_UnlockDc(dc); return ret; } @@ -621,56 +644,58 @@ int MapMode) { int PrevMapMode; - - PrevMapMode = dc->Dc_Attr.iMapMode; - - if (MapMode != dc->Dc_Attr.iMapMode || (MapMode != MM_ISOTROPIC && MapMode != MM_ANISOTROPIC)) - { - dc->Dc_Attr.iMapMode = MapMode; + PDC_ATTR Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + + PrevMapMode = Dc_Attr->iMapMode; + + if (MapMode != Dc_Attr->iMapMode || (MapMode != MM_ISOTROPIC && MapMode != MM_ANISOTROPIC)) + { + Dc_Attr->iMapMode = MapMode; switch (MapMode) { case MM_TEXT: - dc->Dc_Attr.szlWindowExt.cx = 1; - dc->Dc_Attr.szlWindowExt.cy = 1; - dc->Dc_Attr.szlViewportExt.cx = 1; - dc->Dc_Attr.szlViewportExt.cy = 1; + Dc_Attr->szlWindowExt.cx = 1; + Dc_Attr->szlWindowExt.cy = 1; + Dc_Attr->szlViewportExt.cx = 1; + Dc_Attr->szlViewportExt.cy = 1; break; case MM_LOMETRIC: case MM_ISOTROPIC: - dc->Dc_Attr.szlWindowExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize * 10; - dc->Dc_Attr.szlWindowExt.cy = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize * 10; - dc->Dc_Attr.szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes; - dc->Dc_Attr.szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes; + Dc_Attr->szlWindowExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize * 10; + Dc_Attr->szlWindowExt.cy = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize * 10; + Dc_Attr->szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes; + Dc_Attr->szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes; break; case MM_HIMETRIC: - dc->Dc_Attr.szlWindowExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize * 100; - dc->Dc_Attr.szlWindowExt.cy = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize * 100; - dc->Dc_Attr.szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes; - dc->Dc_Attr.szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes; + Dc_Attr->szlWindowExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize * 100; + Dc_Attr->szlWindowExt.cy = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize * 100; + Dc_Attr->szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes; + Dc_Attr->szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes; break; case MM_LOENGLISH: - dc->Dc_Attr.szlWindowExt.cx = EngMulDiv(1000, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize, 254); - dc->Dc_Attr.szlWindowExt.cy = EngMulDiv(1000, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize, 254); - dc->Dc_Attr.szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes; - dc->Dc_Attr.szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes; + Dc_Attr->szlWindowExt.cx = EngMulDiv(1000, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize, 254); + Dc_Attr->szlWindowExt.cy = EngMulDiv(1000, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize, 254); + Dc_Attr->szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes; + Dc_Attr->szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes; break; case MM_HIENGLISH: - dc->Dc_Attr.szlWindowExt.cx = EngMulDiv(10000, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize, 254); - dc->Dc_Attr.szlWindowExt.cy = EngMulDiv(10000, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize, 254); - dc->Dc_Attr.szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes; - dc->Dc_Attr.szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes; + Dc_Attr->szlWindowExt.cx = EngMulDiv(10000, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize, 254); + Dc_Attr->szlWindowExt.cy = EngMulDiv(10000, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize, 254); + Dc_Attr->szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes; + Dc_Attr->szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes; break; case MM_TWIPS: - dc->Dc_Attr.szlWindowExt.cx = EngMulDiv(14400, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize, 254); - dc->Dc_Attr.szlWindowExt.cy = EngMulDiv(14400, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize, 254); - dc->Dc_Attr.szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes; - dc->Dc_Attr.szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes; + Dc_Attr->szlWindowExt.cx = EngMulDiv(14400, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzSize, 254); + Dc_Attr->szlWindowExt.cy = EngMulDiv(14400, ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertSize, 254); + Dc_Attr->szlViewportExt.cx = ((PGDIDEVICE)dc->pPDev)->GDIInfo.ulHorzRes; + Dc_Attr->szlViewportExt.cy = -((PGDIDEVICE)dc->pPDev)->GDIInfo.ulVertRes; break; case MM_ANISOTROPIC: @@ -691,6 +716,7 @@ LPSIZE Size) { PDC dc; + PDC_ATTR Dc_Attr; dc = DC_LockDc(hDC); if ( !dc ) @@ -698,8 +724,10 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return FALSE; } - - switch (dc->Dc_Attr.iMapMode) + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + + switch (Dc_Attr->iMapMode) { case MM_HIENGLISH: case MM_HIMETRIC: @@ -725,13 +753,13 @@ ProbeForWrite(Size, sizeof(SIZE), 1); - Size->cx = dc->Dc_Attr.szlViewportExt.cx; - Size->cy = dc->Dc_Attr.szlViewportExt.cy; - - dc->Dc_Attr.szlViewportExt.cx = XExtent; - dc->Dc_Attr.szlViewportExt.cy = YExtent; - - if (dc->Dc_Attr.iMapMode == MM_ISOTROPIC) + Size->cx = Dc_Attr->szlViewportExt.cx; + Size->cy = Dc_Attr->szlViewportExt.cy; + + Dc_Attr->szlViewportExt.cx = XExtent; + Dc_Attr->szlViewportExt.cy = YExtent; + + if (Dc_Attr->iMapMode == MM_ISOTROPIC) IntFixIsotropicMapping(dc); } _SEH_HANDLE @@ -763,6 +791,7 @@ LPPOINT Point) { PDC dc; + PDC_ATTR Dc_Attr; dc = DC_LockDc(hDC); if (!dc) @@ -770,6 +799,8 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return FALSE; } + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; if (Point) { @@ -780,8 +811,8 @@ ProbeForWrite(Point, sizeof(POINT), 1); - Point->x = dc->Dc_Attr.ptlViewportOrg.x; - Point->y = dc->Dc_Attr.ptlViewportOrg.y; + Point->x = Dc_Attr->ptlViewportOrg.x; + Point->y = Dc_Attr->ptlViewportOrg.y; } _SEH_HANDLE { @@ -797,8 +828,8 @@ } } - dc->Dc_Attr.ptlViewportOrg.x = X; - dc->Dc_Attr.ptlViewportOrg.y = Y; + Dc_Attr->ptlViewportOrg.x = X; + Dc_Attr->ptlViewportOrg.y = Y; DC_UpdateXforms(dc); DC_UnlockDc(dc); @@ -814,6 +845,7 @@ LPSIZE Size) { PDC dc; + PDC_ATTR Dc_Attr; dc = DC_LockDc(hDC); if (!dc) @@ -821,8 +853,10 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return FALSE; } - - switch (dc->Dc_Attr.iMapMode) + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + + switch (Dc_Attr->iMapMode) { case MM_HIENGLISH: case MM_HIMETRIC: @@ -843,8 +877,8 @@ ProbeForWrite(Size, sizeof(SIZE), 1); - Size->cx = dc->Dc_Attr.szlWindowExt.cx; - Size->cy = dc->Dc_Attr.szlWindowExt.cy; + Size->cx = Dc_Attr->szlWindowExt.cx; + Size->cy = Dc_Attr->szlWindowExt.cy; } _SEH_HANDLE { @@ -860,8 +894,8 @@ } } - dc->Dc_Attr.szlWindowExt.cx = XExtent; - dc->Dc_Attr.szlWindowExt.cy = YExtent; + Dc_Attr->szlWindowExt.cx = XExtent; + Dc_Attr->szlWindowExt.cy = YExtent; DC_UpdateXforms(dc); DC_UnlockDc(dc); @@ -877,6 +911,7 @@ LPPOINT Point) { PDC dc; + PDC_ATTR Dc_Attr; dc = DC_LockDc(hDC); if (!dc) @@ -884,6 +919,8 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return FALSE; } + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; if (Point) { @@ -894,8 +931,8 @@ ProbeForWrite(Point, sizeof(POINT), 1); - Point->x = dc->Dc_Attr.ptlWindowOrg.x; - Point->y = dc->Dc_Attr.ptlWindowOrg.y; + Point->x = Dc_Attr->ptlWindowOrg.x; + Point->y = Dc_Attr->ptlWindowOrg.y; } _SEH_HANDLE { @@ -911,8 +948,8 @@ } } - dc->Dc_Attr.ptlWindowOrg.x = X; - dc->Dc_Attr.ptlWindowOrg.y = Y; + Dc_Attr->ptlWindowOrg.x = X; + Dc_Attr->ptlWindowOrg.y = Y; DC_UpdateXforms(dc); DC_UnlockDc(dc); Modified: trunk/reactos/subsystems/win32/win32k/objects/dc.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/dc.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/dc.c Sun Nov 18 16:51:34 2007 @@ -1,4 +1,3 @@ - /* * ReactOS W32 Subsystem * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 ReactOS Team @@ -55,98 +54,6 @@ /* FIXME: DCs should probably be thread safe */ -/* - * DC device-independent Get/SetXXX functions - * (RJJ) swiped from WINE - */ - -#define DC_GET_VAL( func_type, func_name, dc_field ) \ -func_type STDCALL func_name( HDC hdc ) \ -{ \ - func_type ft; \ - PDC dc = DC_LockDc( hdc ); \ - if (!dc) \ - { \ - SetLastWin32Error(ERROR_INVALID_HANDLE); \ - return 0; \ - } \ - ft = dc->dc_field; \ - DC_UnlockDc(dc); \ - return ft; \ -} - -/* DC_GET_VAL_EX is used to define functions returning a POINT or a SIZE. It is - * important that the function has the right signature, for the implementation - * we can do whatever we want. - */ -#define DC_GET_VAL_EX( FuncName, ret_x, ret_y, type, ax, ay ) \ -VOID FASTCALL Int##FuncName ( PDC dc, LP##type pt) \ -{ \ - ASSERT(dc); \ - ASSERT(pt); \ - pt->ax = dc->ret_x; \ - pt->ay = dc->ret_y; \ -} \ -BOOL STDCALL NtGdi##FuncName ( HDC hdc, LP##type pt ) \ -{ \ - NTSTATUS Status = STATUS_SUCCESS; \ - type Safept; \ - PDC dc; \ - if(!pt) \ - { \ - SetLastWin32Error(ERROR_INVALID_PARAMETER); \ - return FALSE; \ - } \ - if(!(dc = DC_LockDc(hdc))) \ - { \ - SetLastWin32Error(ERROR_INVALID_HANDLE); \ - return FALSE; \ - } \ - Int##FuncName( dc, &Safept); \ - DC_UnlockDc(dc); \ - _SEH_TRY \ - { \ - ProbeForWrite(pt, \ - sizeof( type ), \ - 1); \ - *pt = Safept; \ - } \ - _SEH_HANDLE \ - { \ - Status = _SEH_GetExceptionCode(); \ - } \ - _SEH_END; \ - if(!NT_SUCCESS(Status)) \ - { \ - SetLastNtError(Status); \ - return FALSE; \ - } \ - return TRUE; \ -} - -#define DC_SET_MODE( func_name, dc_field, min_val, max_val ) \ -INT STDCALL func_name( HDC hdc, INT mode ) \ -{ \ - INT prevMode; \ - PDC dc; \ - if ((mode < min_val) || (mode > max_val)) \ - { \ - SetLastWin32Error(ERROR_INVALID_PARAMETER); \ - return 0; \ - } \ - dc = DC_LockDc ( hdc ); \ - if ( !dc ) \ - { \ - SetLastWin32Error(ERROR_INVALID_HANDLE); \ - return 0; \ - } \ - prevMode = dc->dc_field; \ - dc->dc_field = mode; \ - DC_UnlockDc ( dc ); \ - return prevMode; \ -} - - // --------------------------------------------------------- File Statics // ----------------------------------------------------- Public Functions @@ -162,6 +69,7 @@ NtGdiCreateCompatibleDC(HDC hDC) { PDC NewDC, OrigDC; + PDC_ATTR nDc_Attr, oDc_Attr; HBITMAP hBitmap; HDC hNewDC, DisplayDC; HRGN hVisRgn; @@ -192,7 +100,6 @@ return NULL; } hNewDC = DC_AllocDC(&OrigDC->DriverName); - if (NULL == hNewDC) { DC_UnlockDc(OrigDC); @@ -204,6 +111,11 @@ } NewDC = DC_LockDc( hNewDC ); + oDc_Attr = OrigDC->pDc_Attr; + if(!oDc_Attr) oDc_Attr = &OrigDC->Dc_Attr; + nDc_Attr = NewDC->pDc_Attr; + if(!nDc_Attr) nDc_Attr = &NewDC->Dc_Attr; + /* Copy information from original DC to new DC */ NewDC->hSelf = hNewDC; NewDC->IsIC = FALSE; @@ -214,14 +126,10 @@ NewDC->w.bitsPerPixel = OrigDC->w.bitsPerPixel; /* DriverName is copied in the AllocDC routine */ - NewDC->Dc_Attr.ptlWindowOrg.x = OrigDC->Dc_Attr.ptlWindowOrg.x; - NewDC->Dc_Attr.ptlWindowOrg.y = OrigDC->Dc_Attr.ptlWindowOrg.y; - NewDC->Dc_Attr.szlWindowExt.cx = OrigDC->Dc_Attr.szlWindowExt.cx; - NewDC->Dc_Attr.szlWindowExt.cy = OrigDC->Dc_Attr.szlWindowExt.cy; - NewDC->Dc_Attr.ptlViewportOrg.x = OrigDC->Dc_Attr.ptlViewportOrg.x; - NewDC->Dc_Attr.ptlViewportOrg.y = OrigDC->Dc_Attr.ptlViewportOrg.y; - NewDC->Dc_Attr.szlViewportExt.cx = OrigDC->Dc_Attr.szlViewportExt.cx; - NewDC->Dc_Attr.szlViewportExt.cy = OrigDC->Dc_Attr.szlViewportExt.cy; + nDc_Attr->ptlWindowOrg = oDc_Attr->ptlWindowOrg; + nDc_Attr->szlWindowExt = oDc_Attr->szlWindowExt; + nDc_Attr->ptlViewportOrg = oDc_Attr->ptlViewportOrg; + nDc_Attr->szlViewportExt = oDc_Attr->szlViewportExt; /* Create default bitmap */ if (!(hBitmap = IntGdiCreateBitmap( 1, 1, 1, NewDC->w.bitsPerPixel, NULL ))) @@ -238,15 +146,15 @@ NewDC->w.flags = DC_MEMORY; NewDC->w.hBitmap = hBitmap; NewDC->w.hFirstBitmap = hBitmap; - NewDC->pPDev = OrigDC->pPDev; + NewDC->pPDev = OrigDC->pPDev; NewDC->PalIndexed = OrigDC->PalIndexed; NewDC->w.hPalette = OrigDC->w.hPalette; - NewDC->Dc_Attr.crForegroundClr = OrigDC->Dc_Attr.crForegroundClr; - NewDC->Dc_Attr.lTextAlign = OrigDC->Dc_Attr.lTextAlign; - NewDC->Dc_Attr.crBackgroundClr = OrigDC->Dc_Attr.crBackgroundClr; - NewDC->Dc_Attr.jBkMode = OrigDC->Dc_Attr.jBkMode; - NewDC->Dc_Attr.jROP2 = OrigDC->Dc_Attr.jROP2; + nDc_Attr->crForegroundClr = oDc_Attr->crForegroundClr; + nDc_Attr->lTextAlign = oDc_Attr->lTextAlign; + nDc_Attr->crBackgroundClr = oDc_Attr->crBackgroundClr; + nDc_Attr->jBkMode = oDc_Attr->jBkMode; + nDc_Attr->jROP2 = oDc_Attr->jROP2; DC_UnlockDc(NewDC); DC_UnlockDc(OrigDC); @@ -260,8 +168,6 @@ NtGdiDeleteObject(hVisRgn); DC_InitDC(hNewDC); - DCU_SynchDcAttrtoUser(hNewDC, -1); - return hNewDC; } @@ -815,6 +721,7 @@ { HDC hNewDC; PDC NewDC; + PDC_ATTR nDc_Attr; HDC hDC = NULL; HRGN hVisRgn; UNICODE_STRING StdDriver; @@ -902,6 +809,9 @@ return NULL; } + nDc_Attr = NewDC->pDc_Attr; + if(!nDc_Attr) nDc_Attr = &NewDC->Dc_Attr; + NewDC->DC_Type = DC_TYPE_DIRECT; NewDC->IsIC = CreateAsIC; @@ -918,7 +828,7 @@ { NewDC->PalIndexed = NtGdiGetStockObject(DEFAULT_PALETTE); NewDC->w.hPalette = PrimarySurface.DevInfo.hpalDefault; - NewDC->Dc_Attr.jROP2 = R2_COPYPEN; + nDc_Attr->jROP2 = R2_COPYPEN; DC_UnlockDc( NewDC ); @@ -933,7 +843,6 @@ NtGdiSetTextAlign(hNewDC, TA_TOP); NtGdiSetBkColor(hNewDC, RGB(255, 255, 255)); NtGdiSetBkMode(hNewDC, OPAQUE); - DCU_SynchDcAttrtoUser(hNewDC, -1); } else { @@ -946,7 +855,6 @@ NewDC->DC_Type = DC_TYPE_INFO; DC_UnlockDc( NewDC ); } - return hNewDC; } @@ -1101,7 +1009,6 @@ DC_UnlockDc( DCToDelete ); DC_FreeDC ( DCHandle ); - return TRUE; } @@ -1129,15 +1036,13 @@ return 0; } -DC_GET_VAL( COLORREF, NtGdiGetBkColor, Dc_Attr.crBackgroundClr ) -DC_GET_VAL( INT, NtGdiGetBkMode, Dc_Attr.jBkMode ) - HANDLE STDCALL NtGdiGetDCObject(HDC hDC, INT ObjectType) { HGDIOBJ SelObject; DC *dc; + PDC_ATTR Dc_Attr; /* From Wine: GetCurrentObject does not SetLastError() on a null object */ if(!hDC) return NULL; @@ -1147,21 +1052,22 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return NULL; } - + Dc_Attr = dc->pDc_Attr; + if (!Dc_Attr) Dc_Attr = &dc->Dc_Attr; switch(ObjectType) { case GDI_OBJECT_TYPE_EXTPEN: case GDI_OBJECT_TYPE_PEN: - SelObject = dc->Dc_Attr.hpen; + SelObject = Dc_Attr->hpen; break; case GDI_OBJECT_TYPE_BRUSH: - SelObject = dc->Dc_Attr.hbrush; + SelObject = Dc_Attr->hbrush; break; case GDI_OBJECT_TYPE_PALETTE: SelObject = dc->w.hPalette; break; case GDI_OBJECT_TYPE_FONT: - SelObject = dc->Dc_Attr.hlfntNew; + SelObject = Dc_Attr->hlfntNew; break; case GDI_OBJECT_TYPE_BITMAP: SelObject = dc->w.hBitmap; @@ -1179,8 +1085,6 @@ DC_UnlockDc(dc); return SelObject; } - -DC_GET_VAL_EX ( GetCurrentPositionEx, Dc_Attr.ptlCurrent.x, Dc_Attr.ptlCurrent.y, POINT, x, y ) BOOL FASTCALL IntGdiGetDCOrgEx(DC *dc, LPPOINT Point) @@ -1270,80 +1174,59 @@ return Ret; } -COLORREF STDCALL -NtGdiSetBkColor(HDC hDC, COLORREF color) -{ - COLORREF oldColor; - PDC dc; - HBRUSH hBrush; - - if (!(dc = DC_LockDc(hDC))) - { - SetLastWin32Error(ERROR_INVALID_HANDLE); - return CLR_INVALID; - } - - oldColor = dc->Dc_Attr.crBackgroundClr; - dc->Dc_Attr.crBackgroundClr = color; - hBrush = dc->Dc_Attr.hbrush; - DC_UnlockDc(dc); - NtGdiSelectObject(hDC, hBrush); - return oldColor; -} - - VOID FASTCALL IntGdiCopyToSaveState(PDC dc, PDC newdc) { - newdc->w.flags = dc->w.flags | DC_SAVED; - newdc->Dc_Attr.hpen = dc->Dc_Attr.hpen; - newdc->Dc_Attr.hbrush = dc->Dc_Attr.hbrush; - newdc->Dc_Attr.hlfntNew = dc->Dc_Attr.hlfntNew; - newdc->w.hBitmap = dc->w.hBitmap; - newdc->w.hFirstBitmap = dc->w.hFirstBitmap; + PDC_ATTR Dc_Attr, nDc_Attr; + + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + nDc_Attr = newdc->pDc_Attr; + if(!nDc_Attr) nDc_Attr = &newdc->Dc_Attr; + + newdc->w.flags = dc->w.flags | DC_SAVED; + nDc_Attr->hpen = Dc_Attr->hpen; + nDc_Attr->hbrush = Dc_Attr->hbrush; + nDc_Attr->hlfntNew = Dc_Attr->hlfntNew; + newdc->w.hBitmap = dc->w.hBitmap; + newdc->w.hFirstBitmap = dc->w.hFirstBitmap; #if 0 - newdc->w.hDevice = dc->w.hDevice; + newdc->w.hDevice = dc->w.hDevice; #endif - newdc->PalIndexed = dc->PalIndexed; - newdc->w.hPalette = dc->w.hPalette; - newdc->w.totalExtent = dc->w.totalExtent; - newdc->w.bitsPerPixel = dc->w.bitsPerPixel; - newdc->Dc_Attr.jROP2 = dc->Dc_Attr.jROP2; - newdc->Dc_Attr.jFillMode = dc->Dc_Attr.jFillMode; - newdc->Dc_Attr.jStretchBltMode = dc->Dc_Attr.jStretchBltMode; - newdc->Dc_Attr.lRelAbs = dc->Dc_Attr.lRelAbs; - newdc->Dc_Attr.jBkMode = dc->Dc_Attr.jBkMode; - newdc->Dc_Attr.crBackgroundClr = dc->Dc_Attr.crBackgroundClr; - newdc->Dc_Attr.crForegroundClr = dc->Dc_Attr.crForegroundClr; - newdc->Dc_Attr.ptlBrushOrigin.x = dc->Dc_Attr.ptlBrushOrigin.x; - newdc->Dc_Attr.ptlBrushOrigin.y = dc->Dc_Attr.ptlBrushOrigin.y; - newdc->Dc_Attr.lTextAlign = dc->Dc_Attr.lTextAlign; - newdc->Dc_Attr.lTextExtra = dc->Dc_Attr.lTextExtra; - newdc->Dc_Attr.cBreak = dc->Dc_Attr.cBreak; - newdc->Dc_Attr.lBreakExtra = dc->Dc_Attr.lBreakExtra; - newdc->Dc_Attr.iMapMode = dc->Dc_Attr.iMapMode; - newdc->Dc_Attr.iGraphicsMode = dc->Dc_Attr.iGraphicsMode; + newdc->PalIndexed = dc->PalIndexed; + newdc->w.hPalette = dc->w.hPalette; + newdc->w.totalExtent = dc->w.totalExtent; + newdc->w.bitsPerPixel = dc->w.bitsPerPixel; + nDc_Attr->jROP2 = Dc_Attr->jROP2; + nDc_Attr->jFillMode = Dc_Attr->jFillMode; + nDc_Attr->jStretchBltMode = Dc_Attr->jStretchBltMode; + nDc_Attr->lRelAbs = Dc_Attr->lRelAbs; + nDc_Attr->jBkMode = Dc_Attr->jBkMode; + nDc_Attr->crBackgroundClr = Dc_Attr->crBackgroundClr; + nDc_Attr->crForegroundClr = Dc_Attr->crForegroundClr; + nDc_Attr->ptlBrushOrigin = Dc_Attr->ptlBrushOrigin; + nDc_Attr->lTextAlign = Dc_Attr->lTextAlign; + nDc_Attr->lTextExtra = Dc_Attr->lTextExtra; + nDc_Attr->cBreak = Dc_Attr->cBreak; + nDc_Attr->lBreakExtra = Dc_Attr->lBreakExtra; + nDc_Attr->iMapMode = Dc_Attr->iMapMode; + nDc_Attr->iGraphicsMode = Dc_Attr->iGraphicsMode; #if 0 /* Apparently, the DC origin is not changed by [GS]etDCState */ - newdc->w.DCOrgX = dc->w.DCOrgX; - newdc->w.DCOrgY = dc->w.DCOrgY; + newdc->w.DCOrgX = dc->w.DCOrgX; + newdc->w.DCOrgY = dc->w.DCOrgY; #endif - newdc->Dc_Attr.ptlCurrent.x = dc->Dc_Attr.ptlCurrent.x; - newdc->Dc_Attr.ptlCurrent.y = dc->Dc_Attr.ptlCurrent.y; - newdc->w.ArcDirection = dc->w.ArcDirection; - newdc->w.xformWorld2Wnd = dc->w.xformWorld2Wnd; - newdc->w.xformWorld2Vport = dc->w.xformWorld2Vport; - newdc->w.xformVport2World = dc->w.xformVport2World; - newdc->w.vport2WorldValid = dc->w.vport2WorldValid; - newdc->Dc_Attr.ptlWindowOrg.x = dc->Dc_Attr.ptlWindowOrg.x; - newdc->Dc_Attr.ptlWindowOrg.y = dc->Dc_Attr.ptlWindowOrg.y; - newdc->Dc_Attr.szlWindowExt.cx = dc->Dc_Attr.szlWindowExt.cx; - newdc->Dc_Attr.szlWindowExt.cy = dc->Dc_Attr.szlWindowExt.cy; - newdc->Dc_Attr.ptlViewportOrg.x = dc->Dc_Attr.ptlViewportOrg.x; - newdc->Dc_Attr.ptlViewportOrg.y = dc->Dc_Attr.ptlViewportOrg.y; - newdc->Dc_Attr.szlViewportExt.cx = dc->Dc_Attr.szlViewportExt.cx; - newdc->Dc_Attr.szlViewportExt.cy = dc->Dc_Attr.szlViewportExt.cy; + nDc_Attr->ptlCurrent = Dc_Attr->ptlCurrent; + newdc->w.ArcDirection = dc->w.ArcDirection; + newdc->w.xformWorld2Wnd = dc->w.xformWorld2Wnd; + newdc->w.xformWorld2Vport = dc->w.xformWorld2Vport; + newdc->w.xformVport2World = dc->w.xformVport2World; + newdc->w.vport2WorldValid = dc->w.vport2WorldValid; + nDc_Attr->ptlWindowOrg = Dc_Attr->ptlWindowOrg; + nDc_Attr->szlWindowExt = Dc_Attr->szlWindowExt; + nDc_Attr->ptlViewportOrg = Dc_Attr->ptlViewportOrg; + nDc_Attr->szlViewportExt = Dc_Attr->szlViewportExt; newdc->saveLevel = 0; newdc->IsIC = dc->IsIC; @@ -1367,52 +1250,53 @@ FASTCALL IntGdiCopyFromSaveState(PDC dc, PDC dcs, HDC hDC) { - dc->w.flags = dcs->w.flags & ~DC_SAVED; - - dc->w.hFirstBitmap = dcs->w.hFirstBitmap; + PDC_ATTR Dc_Attr, sDc_Attr; + + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + sDc_Attr = dcs->pDc_Attr; + if(!sDc_Attr) sDc_Attr = &dcs->Dc_Attr; + + dc->w.flags = dcs->w.flags & ~DC_SAVED; + + dc->w.hFirstBitmap = dcs->w.hFirstBitmap; #if 0 - dc->w.hDevice = dcs->w.hDevice; + dc->w.hDevice = dcs->w.hDevice; #endif - dc->w.totalExtent = dcs->w.totalExtent; - dc->Dc_Attr.jROP2 = dcs->Dc_Attr.jROP2; - dc->Dc_Attr.jFillMode = dcs->Dc_Attr.jFillMode; - dc->Dc_Attr.jStretchBltMode = dcs->Dc_Attr.jStretchBltMode; - dc->Dc_Attr.lRelAbs = dcs->Dc_Attr.lRelAbs; - dc->Dc_Attr.jBkMode = dcs->Dc_Attr.jBkMode; - dc->Dc_Attr.crBackgroundClr = dcs->Dc_Attr.crBackgroundClr; - dc->Dc_Attr.crForegroundClr = dcs->Dc_Attr.crForegroundClr; - dc->Dc_Attr.ptlBrushOrigin.x = dcs->Dc_Attr.ptlBrushOrigin.x; - dc->Dc_Attr.ptlBrushOrigin.y = dcs->Dc_Attr.ptlBrushOrigin.y; - dc->Dc_Attr.lTextAlign = dcs->Dc_Attr.lTextAlign; - dc->Dc_Attr.lTextExtra = dcs->Dc_Attr.lTextExtra; - dc->Dc_Attr.cBreak = dcs->Dc_Attr.cBreak; - dc->Dc_Attr.lBreakExtra = dcs->Dc_Attr.lBreakExtra; - dc->Dc_Attr.iMapMode = dcs->Dc_Attr.iMapMode; - dc->Dc_Attr.iGraphicsMode = dcs->Dc_Attr.iGraphicsMode; + dc->w.totalExtent = dcs->w.totalExtent; + Dc_Attr->jROP2 = sDc_Attr->jROP2; + Dc_Attr->jFillMode = sDc_Attr->jFillMode; + Dc_Attr->jStretchBltMode = sDc_Attr->jStretchBltMode; + Dc_Attr->lRelAbs = sDc_Attr->lRelAbs; + Dc_Attr->jBkMode = sDc_Attr->jBkMode; + Dc_Attr->crBackgroundClr = sDc_Attr->crBackgroundClr; + Dc_Attr->crForegroundClr = sDc_Attr->crForegroundClr; + Dc_Attr->ptlBrushOrigin = sDc_Attr->ptlBrushOrigin; + + Dc_Attr->lTextAlign = sDc_Attr->lTextAlign; + Dc_Attr->lTextExtra = sDc_Attr->lTextExtra; + Dc_Attr->cBreak = sDc_Attr->cBreak; + Dc_Attr->lBreakExtra = sDc_Attr->lBreakExtra; + Dc_Attr->iMapMode = sDc_Attr->iMapMode; + Dc_Attr->iGraphicsMode = sDc_Attr->iGraphicsMode; #if 0 /* Apparently, the DC origin is not changed by [GS]etDCState */ - dc->w.DCOrgX = dcs->w.DCOrgX; - dc->w.DCOrgY = dcs->w.DCOrgY; + dc->w.DCOrgX = dcs->w.DCOrgX; + dc->w.DCOrgY = dcs->w.DCOrgY; #endif - dc->Dc_Attr.ptlCurrent.x = dcs->Dc_Attr.ptlCurrent.x; - dc->Dc_Attr.ptlCurrent.y = dcs->Dc_Attr.ptlCurrent.y; - dc->w.ArcDirection = dcs->w.ArcDirection; - - dc->w.xformWorld2Wnd = dcs->w.xformWorld2Wnd; - dc->w.xformWorld2Vport = dcs->w.xformWorld2Vport; - dc->w.xformVport2World = dcs->w.xformVport2World; - dc->w.vport2WorldValid = dcs->w.vport2WorldValid; - dc->Dc_Attr.ptlWindowOrg.x = dcs->Dc_Attr.ptlWindowOrg.x; - dc->Dc_Attr.ptlWindowOrg.y = dcs->Dc_Attr.ptlWindowOrg.y; - dc->Dc_Attr.szlWindowExt.cx = dcs->Dc_Attr.szlWindowExt.cx; - dc->Dc_Attr.szlWindowExt.cy = dcs->Dc_Attr.szlWindowExt.cy; - dc->Dc_Attr.ptlViewportOrg.x = dcs->Dc_Attr.ptlViewportOrg.x; - dc->Dc_Attr.ptlViewportOrg.y = dcs->Dc_Attr.ptlViewportOrg.y; - dc->Dc_Attr.szlViewportExt.cx = dcs->Dc_Attr.szlViewportExt.cx; - dc->Dc_Attr.szlViewportExt.cy = dcs->Dc_Attr.szlViewportExt.cy; - dc->PalIndexed = dcs->PalIndexed; + Dc_Attr->ptlCurrent = sDc_Attr->ptlCurrent; + dc->w.ArcDirection = dcs->w.ArcDirection; + dc->w.xformWorld2Wnd = dcs->w.xformWorld2Wnd; + dc->w.xformWorld2Vport = dcs->w.xformWorld2Vport; + dc->w.xformVport2World = dcs->w.xformVport2World; + dc->w.vport2WorldValid = dcs->w.vport2WorldValid; + Dc_Attr->ptlWindowOrg = sDc_Attr->ptlWindowOrg; + Dc_Attr->szlWindowExt = sDc_Attr->szlWindowExt; + Dc_Attr->ptlViewportOrg = sDc_Attr->ptlViewportOrg; + Dc_Attr->szlViewportExt = sDc_Attr->szlViewportExt; + dc->PalIndexed = dcs->PalIndexed; if (!(dc->w.flags & DC_MEMORY)) { @@ -1449,12 +1333,12 @@ if(!hDC) return; // Not a MemoryDC or SaveLevel DC, return. NtGdiSelectObject( hDC, dcs->w.hBitmap ); - NtGdiSelectObject( hDC, dcs->Dc_Attr.hbrush ); - NtGdiSelectObject( hDC, dcs->Dc_Attr.hlfntNew ); - NtGdiSelectObject( hDC, dcs->Dc_Attr.hpen ); - - NtGdiSetBkColor( hDC, dcs->Dc_Attr.crBackgroundClr); - NtGdiSetTextColor( hDC, dcs->Dc_Attr.crForegroundClr); + NtGdiSelectObject( hDC, sDc_Attr->hbrush ); + NtGdiSelectObject( hDC, sDc_Attr->hlfntNew ); + NtGdiSelectObject( hDC, sDc_Attr->hpen ); + + NtGdiSetBkColor( hDC, sDc_Attr->crBackgroundClr); + NtGdiSetTextColor( hDC, sDc_Attr->crForegroundClr); NtUserSelectPalette( hDC, dcs->w.hPalette, FALSE ); @@ -1489,7 +1373,6 @@ newdc->hSelf = hnewdc; IntGdiCopyToSaveState( dc, newdc); -// DCU_SyncDcAttrtoUser(newdc, -1); DC_UnlockDc( newdc ); DC_UnlockDc( dc ); return hnewdc; @@ -1744,9 +1627,6 @@ DC_UnlockDc( dc ); return ret; } - -DC_GET_VAL( INT, NtGdiGetMapMode, Dc_Attr.iMapMode ) -DC_GET_VAL( INT, NtGdiGetPolyFillMode, Dc_Attr.jFillMode ) INT FASTCALL @@ -1852,15 +1732,6 @@ // Return the count return iRetCount; } - -DC_GET_VAL( INT, NtGdiGetROP2, Dc_Attr.jROP2 ) -DC_GET_VAL( INT, NtGdiGetStretchBltMode, Dc_Attr.jStretchBltMode ) -DC_GET_VAL( UINT, NtGdiGetTextAlign, Dc_Attr.lTextAlign ) -DC_GET_VAL( COLORREF, NtGdiGetTextColor, Dc_Attr.crForegroundClr ) -DC_GET_VAL_EX( GetViewportExtEx, Dc_Attr.szlViewportExt.cx, Dc_Attr.szlViewportExt.cy, SIZE, cx, cy ) -DC_GET_VAL_EX( GetViewportOrgEx, Dc_Attr.ptlViewportOrg.x, Dc_Attr.ptlViewportOrg.y, POINT, x, y ) -DC_GET_VAL_EX( GetWindowExtEx, Dc_Attr.szlWindowExt.cx, Dc_Attr.szlWindowExt.cy, SIZE, cx, cy ) -DC_GET_VAL_EX( GetWindowOrgEx, Dc_Attr.ptlWindowOrg.x, Dc_Attr.ptlWindowOrg.y, POINT, x, y ) BOOL APIENTRY @@ -2003,6 +1874,7 @@ HGDIOBJ objOrg = NULL; // default to failure BITMAPOBJ *pb; PDC dc; + PDC_ATTR Dc_Attr; PGDIBRUSHOBJ pen; PGDIBRUSHOBJ brush; XLATEOBJ *XlateObj; @@ -2027,7 +1899,9 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return NULL; } - + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + objectType = GDIOBJ_GetObjectType(hGDIObj); switch (objectType) @@ -2048,8 +1922,8 @@ break; } - objOrg = (HGDIOBJ)dc->Dc_Attr.hpen; - dc->Dc_Attr.hpen = hGDIObj; + objOrg = (HGDIOBJ)Dc_Attr->hpen; + Dc_Attr->hpen = hGDIObj; if (dc->XlatePen != NULL) EngDeleteXlate(dc->XlatePen); dc->XlatePen = XlateObj; @@ -2071,8 +1945,8 @@ break; } - objOrg = (HGDIOBJ)dc->Dc_Attr.hbrush; - dc->Dc_Attr.hbrush = hGDIObj; + objOrg = (HGDIOBJ)Dc_Attr->hbrush; + Dc_Attr->hbrush = hGDIObj; if (dc->XlateBrush != NULL) EngDeleteXlate(dc->XlateBrush); dc->XlateBrush = XlateObj; @@ -2081,8 +1955,8 @@ case GDI_OBJECT_TYPE_FONT: if(NT_SUCCESS(TextIntRealizeFont((HFONT)hGDIObj))) { - objOrg = (HGDIOBJ)dc->Dc_Attr.hlfntNew; - dc->Dc_Attr.hlfntNew = (HFONT) hGDIObj; + objOrg = (HGDIOBJ)Dc_Attr->hlfntNew; + Dc_Attr->hlfntNew = (HFONT) hGDIObj; } break; @@ -2118,8 +1992,8 @@ } /* Reselect brush and pen to regenerate the XLATEOBJs. */ - NtGdiSelectObject ( hDC, dc->Dc_Attr.hbrush ); - NtGdiSelectObject ( hDC, dc->Dc_Attr.hpen ); + NtGdiSelectObject ( hDC, Dc_Attr->hbrush ); + NtGdiSelectObject ( hDC, Dc_Attr->hpen ); DC_UnlockDc ( dc ); hVisRgn = NtGdiCreateRectRgn ( 0, 0, pb->SurfObj.sizlBitmap.cx, pb->SurfObj.sizlBitmap.cy ); @@ -2143,7 +2017,6 @@ default: break; } -// DCU_SyncDcAttrtoUser(dc, -1); DC_UnlockDc( dc ); return objOrg; } @@ -2192,7 +2065,9 @@ ) { BOOL Ret = TRUE; - DC *dc; + PDC dc; + PDC_ATTR Dc_Attr; + DWORD SafeResult = 0; NTSTATUS Status = STATUS_SUCCESS; @@ -2208,19 +2083,21 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return FALSE; } + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; switch (u) { case GdiGetJournal: break; case GdiGetRelAbs: - SafeResult = dc->Dc_Attr.lRelAbs; + SafeResult = Dc_Attr->lRelAbs; break; case GdiGetBreakExtra: - SafeResult = dc->Dc_Attr.lBreakExtra; + SafeResult = Dc_Attr->lBreakExtra; break; case GdiGerCharBreak: - SafeResult = dc->Dc_Attr.cBreak; + SafeResult = Dc_Attr->cBreak; break; case GdiGetArcDirection: SafeResult = dc->w.ArcDirection; @@ -2233,10 +2110,10 @@ SafeResult = dc->DC_Type; break; case GdiGetMapMode: - SafeResult = dc->Dc_Attr.iMapMode; + SafeResult = Dc_Attr->iMapMode; break; case GdiGetTextCharExtra: - SafeResult = dc->Dc_Attr.lTextExtra; + SafeResult = Dc_Attr->lTextExtra; break; default: SetLastWin32Error(ERROR_INVALID_PARAMETER); @@ -2281,7 +2158,9 @@ ) { BOOL Ret = TRUE; - DC *dc; + PDC dc; + PDC_ATTR Dc_Attr; + DWORD SafeResult = 0; NTSTATUS Status = STATUS_SUCCESS; @@ -2297,23 +2176,25 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return FALSE; } + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; switch (u) { case GdtGetSetCopyCount: break; case GdiGetSetTextAlign: - SafeResult = dc->Dc_Attr.lTextAlign; - dc->Dc_Attr.lTextAlign = dwIn; - dc->Dc_Attr.flTextAlign = dwIn; + SafeResult = Dc_Attr->lTextAlign; + Dc_Attr->lTextAlign = dwIn; + // Dc_Attr->flTextAlign = dwIn; // Flags! break; case GdiGetSetRelAbs: - SafeResult = dc->Dc_Attr.lRelAbs; - dc->Dc_Attr.lRelAbs = dwIn; + SafeResult = Dc_Attr->lRelAbs; + Dc_Attr->lRelAbs = dwIn; break; case GdiGetSetTextCharExtra: - SafeResult = dc->Dc_Attr.lTextExtra; - dc->Dc_Attr.lTextExtra = dwIn; + SafeResult = Dc_Attr->lTextExtra; + Dc_Attr->lTextExtra = dwIn; break; case GdiGetSetSelectFont: break; @@ -2364,18 +2245,13 @@ return Ret; } - -DC_SET_MODE( NtGdiSetBkMode, Dc_Attr.jBkMode, TRANSPARENT, OPAQUE ) -DC_SET_MODE( NtGdiSetPolyFillMode, Dc_Attr.jFillMode, ALTERNATE, WINDING ) -DC_SET_MODE( NtGdiSetROP2, Dc_Attr.jROP2, R2_BLACK, R2_WHITE ) -DC_SET_MODE( NtGdiSetStretchBltMode, Dc_Attr.jStretchBltMode, BLACKONWHITE, HALFTONE ) - // ---------------------------------------------------- Private Interface HDC FASTCALL DC_AllocDC(PUNICODE_STRING Driver) { PDC NewDC; + PDC_ATTR Dc_Attr; HDC hDC; PWSTR Buf = NULL; @@ -2408,7 +2284,9 @@ RtlCopyMemory(&NewDC->DriverName, Driver, sizeof(UNICODE_STRING)); NewDC->DriverName.Buffer = Buf; } - + Dc_Attr = NewDC->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &NewDC->Dc_Attr; + NewDC->hHmgr = (HGDIOBJ) hDC; // Save the handle for this DC object. NewDC->w.xformWorld2Wnd.eM11 = 1.0f; NewDC->w.xformWorld2Wnd.eM12 = 0.0f; @@ -2421,31 +2299,31 @@ NewDC->w.vport2WorldValid = TRUE; // Setup syncing bits for the dcattr data packets. - NewDC->Dc_Attr.flXform = DEVICE_TO_PAGE_INVALID; - - NewDC->Dc_Attr.ulDirty_ = 0; // Server side - - NewDC->Dc_Attr.iMapMode = MM_TEXT; - - NewDC->Dc_Attr.szlWindowExt.cx = 1; // Float to Int,,, WRONG! - NewDC->Dc_Attr.szlWindowExt.cy = 1; - NewDC->Dc_Attr.szlViewportExt.cx = 1; - NewDC->Dc_Attr.szlViewportExt.cy = 1; - - NewDC->Dc_Attr.crForegroundClr = 0; - NewDC->Dc_Attr.ulForegroundClr = 0; - - NewDC->Dc_Attr.ulBackgroundClr = 0xffffff; - NewDC->Dc_Attr.crBackgroundClr = 0xffffff; - - NewDC->Dc_Attr.ulPenClr = RGB( 0, 0, 0 ); - NewDC->Dc_Attr.crPenClr = RGB( 0, 0, 0 ); - - NewDC->Dc_Attr.ulBrushClr = RGB( 255, 255, 255 ); // Do this way too. - NewDC->Dc_Attr.crBrushClr = RGB( 255, 255, 255 ); - - NewDC->Dc_Attr.hlfntNew = NtGdiGetStockObject(SYSTEM_FONT); - TextIntRealizeFont(NewDC->Dc_Attr.hlfntNew); + Dc_Attr->flXform = DEVICE_TO_PAGE_INVALID; + + Dc_Attr->ulDirty_ = 0; // Server side + + Dc_Attr->iMapMode = MM_TEXT; + + Dc_Attr->szlWindowExt.cx = 1; // Float to Int,,, WRONG! + Dc_Attr->szlWindowExt.cy = 1; + Dc_Attr->szlViewportExt.cx = 1; + Dc_Attr->szlViewportExt.cy = 1; + + Dc_Attr->crForegroundClr = 0; + Dc_Attr->ulForegroundClr = 0; + + Dc_Attr->ulBackgroundClr = 0xffffff; + Dc_Attr->crBackgroundClr = 0xffffff; + + Dc_Attr->ulPenClr = RGB( 0, 0, 0 ); + Dc_Attr->crPenClr = RGB( 0, 0, 0 ); + + Dc_Attr->ulBrushClr = RGB( 255, 255, 255 ); // Do this way too. + Dc_Attr->crBrushClr = RGB( 255, 255, 255 ); + + Dc_Attr->hlfntNew = NtGdiGetStockObject(SYSTEM_FONT); + TextIntRealizeFont(Dc_Attr->hlfntNew); NewDC->w.hPalette = NtGdiGetStockObject(DEFAULT_PALETTE); @@ -2595,16 +2473,18 @@ { XFORM xformWnd2Vport; FLOAT scaleX, scaleY; + PDC_ATTR Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; /* Construct a transformation to do the window-to-viewport conversion */ - scaleX = (dc->Dc_Attr.szlWindowExt.cx ? (FLOAT)dc->Dc_Attr.szlViewportExt.cx / (FLOAT)dc->Dc_Attr.szlWindowExt.cx : 0.0f); - scaleY = (dc->Dc_Attr.szlWindowExt.cy ? (FLOAT)dc->Dc_Attr.szlViewportExt.cy / (FLOAT)dc->Dc_Attr.szlWindowExt.cy : 0.0f); + scaleX = (Dc_Attr->szlWindowExt.cx ? (FLOAT)Dc_Attr->szlViewportExt.cx / (FLOAT)Dc_Attr->szlWindowExt.cx : 0.0f); + scaleY = (Dc_Attr->szlWindowExt.cy ? (FLOAT)Dc_Attr->szlViewportExt.cy / (FLOAT)Dc_Attr->szlWindowExt.cy : 0.0f); xformWnd2Vport.eM11 = scaleX; xformWnd2Vport.eM12 = 0.0; xformWnd2Vport.eM21 = 0.0; xformWnd2Vport.eM22 = scaleY; - xformWnd2Vport.eDx = (FLOAT)dc->Dc_Attr.ptlViewportOrg.x - scaleX * (FLOAT)dc->Dc_Attr.ptlWindowOrg.x; - xformWnd2Vport.eDy = (FLOAT)dc->Dc_Attr.ptlViewportOrg.y - scaleY * (FLOAT)dc->Dc_Attr.ptlWindowOrg.y; + xformWnd2Vport.eDx = (FLOAT)Dc_Attr->ptlViewportOrg.x - scaleX * (FLOAT)Dc_Attr->ptlWindowOrg.x; + xformWnd2Vport.eDy = (FLOAT)Dc_Attr->ptlViewportOrg.y - scaleY * (FLOAT)Dc_Attr->ptlWindowOrg.y; /* Combine with the world transformation */ IntGdiCombineTransform(&dc->w.xformWorld2Vport, &dc->w.xformWorld2Wnd, &xformWnd2Vport); 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 Sun Nov 18 16:51:34 2007 @@ -3,6 +3,107 @@ #define NDEBUG #include <debug.h> + +/* + * DC device-independent Get/SetXXX functions + * (RJJ) swiped from WINE + */ + +#define DC_GET_VAL( func_type, func_name, dc_field ) \ +func_type STDCALL func_name( HDC hdc ) \ +{ \ + func_type ft; \ + PDC dc = DC_LockDc( hdc ); \ + PDC_ATTR Dc_Attr; \ + if (!dc) \ + { \ + SetLastWin32Error(ERROR_INVALID_HANDLE); \ + return 0; \ + } \ + Dc_Attr = dc->pDc_Attr; \ + if (!Dc_Attr) Dc_Attr = &dc->Dc_Attr; \ + ft = Dc_Attr->dc_field; \ + DC_UnlockDc(dc); \ + return ft; \ +} + +/* DC_GET_VAL_EX is used to define functions returning a POINT or a SIZE. It is + * important that the function has the right signature, for the implementation + * we can do whatever we want. + */ +#define DC_GET_VAL_EX( FuncName, ret_x, ret_y, type, ax, ay ) \ +VOID FASTCALL Int##FuncName ( PDC dc, LP##type pt) \ +{ \ + PDC_ATTR Dc_Attr; \ + ASSERT(dc); \ + ASSERT(pt); \ + Dc_Attr = dc->pDc_Attr; \ + if (!Dc_Attr) Dc_Attr = &dc->Dc_Attr; \ + pt->ax = Dc_Attr->ret_x; \ + pt->ay = Dc_Attr->ret_y; \ +} \ +BOOL STDCALL NtGdi##FuncName ( HDC hdc, LP##type pt ) \ +{ \ + NTSTATUS Status = STATUS_SUCCESS; \ + type Safept; \ + PDC dc; \ + if(!pt) \ + { \ + SetLastWin32Error(ERROR_INVALID_PARAMETER); \ + return FALSE; \ + } \ + if(!(dc = DC_LockDc(hdc))) \ + { \ + SetLastWin32Error(ERROR_INVALID_HANDLE); \ + return FALSE; \ + } \ + Int##FuncName( dc, &Safept); \ + DC_UnlockDc(dc); \ + _SEH_TRY \ + { \ + ProbeForWrite(pt, \ + sizeof( type ), \ + 1); \ + *pt = Safept; \ + } \ + _SEH_HANDLE \ + { \ + Status = _SEH_GetExceptionCode(); \ + } \ + _SEH_END; \ + if(!NT_SUCCESS(Status)) \ + { \ + SetLastNtError(Status); \ + return FALSE; \ + } \ + return TRUE; \ +} + +#define DC_SET_MODE( func_name, dc_field, min_val, max_val ) \ +INT STDCALL func_name( HDC hdc, INT mode ) \ +{ \ + INT prevMode; \ + PDC dc; \ + PDC_ATTR Dc_Attr; \ + if ((mode < min_val) || (mode > max_val)) \ + { \ + SetLastWin32Error(ERROR_INVALID_PARAMETER); \ + return 0; \ + } \ + dc = DC_LockDc ( hdc ); \ + if ( !dc ) \ + { \ + SetLastWin32Error(ERROR_INVALID_HANDLE); \ + return 0; \ + } \ + Dc_Attr = dc->pDc_Attr; \ + if (!Dc_Attr) Dc_Attr = &dc->Dc_Attr; \ + prevMode = Dc_Attr->dc_field; \ + Dc_Attr->dc_field = mode; \ + DC_UnlockDc ( dc ); \ + return prevMode; \ +} + static VOID @@ -46,7 +147,9 @@ Dc_Attr->szlViewportExt = dc->Dc_Attr.szlViewportExt; Dc_Attr->ulDirty_ = dc->Dc_Attr.ulDirty_; //Copy flags! We may have set them. - + + MmCopyToCaller(Dc_Attr, &dc->Dc_Attr, sizeof(DC_ATTR)); + XForm2MatrixS( &Dc_Attr->mxWorldToDevice, &dc->w.xformWorld2Vport); XForm2MatrixS( &Dc_Attr->mxDevicetoWorld, &dc->w.xformVport2World); XForm2MatrixS( &Dc_Attr->mxWorldToPage, &dc->w.xformWorld2Wnd); @@ -80,3 +183,48 @@ } +DC_GET_VAL( INT, NtGdiGetMapMode, iMapMode ) +DC_GET_VAL( INT, NtGdiGetPolyFillMode, jFillMode ) +DC_GET_VAL( COLORREF, NtGdiGetBkColor, crBackgroundClr ) +DC_GET_VAL( INT, NtGdiGetBkMode, jBkMode ) +DC_GET_VAL( INT, NtGdiGetROP2, jROP2 ) +DC_GET_VAL( INT, NtGdiGetStretchBltMode, jStretchBltMode ) +DC_GET_VAL( UINT, NtGdiGetTextAlign, lTextAlign ) +DC_GET_VAL( COLORREF, NtGdiGetTextColor, crForegroundClr ) + +DC_GET_VAL_EX( GetViewportExtEx, szlViewportExt.cx, szlViewportExt.cy, SIZE, cx, cy ) +DC_GET_VAL_EX( GetViewportOrgEx, ptlViewportOrg.x, ptlViewportOrg.y, POINT, x, y ) +DC_GET_VAL_EX( GetWindowExtEx, szlWindowExt.cx, szlWindowExt.cy, SIZE, cx, cy ) +DC_GET_VAL_EX( GetWindowOrgEx, ptlWindowOrg.x, ptlWindowOrg.y, POINT, x, y ) +DC_GET_VAL_EX ( GetCurrentPositionEx, ptlCurrent.x, ptlCurrent.y, POINT, x, y ) + +DC_SET_MODE( NtGdiSetBkMode, jBkMode, TRANSPARENT, OPAQUE ) +DC_SET_MODE( NtGdiSetPolyFillMode, jFillMode, ALTERNATE, WINDING ) +DC_SET_MODE( NtGdiSetROP2, jROP2, R2_BLACK, R2_WHITE ) +DC_SET_MODE( NtGdiSetStretchBltMode, jStretchBltMode, BLACKONWHITE, HALFTONE ) + + + +COLORREF STDCALL +NtGdiSetBkColor(HDC hDC, COLORREF color) +{ + COLORREF oldColor; + PDC dc; + PDC_ATTR Dc_Attr; + HBRUSH hBrush; + + if (!(dc = DC_LockDc(hDC))) + { + SetLastWin32Error(ERROR_INVALID_HANDLE); + return CLR_INVALID; + } + Dc_Attr = dc->pDc_Attr; + if (!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + oldColor = Dc_Attr->crBackgroundClr; + Dc_Attr->crBackgroundClr = color; + hBrush = Dc_Attr->hbrush; + DC_UnlockDc(dc); + NtGdiSelectObject(hDC, hBrush); + return oldColor; +} + Modified: trunk/reactos/subsystems/win32/win32k/objects/fillshap.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/fillshap.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/fillshap.c Sun Nov 18 16:51:34 2007 @@ -31,7 +31,7 @@ &BrushInst.BrushObject, \ x, y, (x)+1, y, \ &RectBounds, \ - ROP2_TO_MIX(dc->Dc_Attr.jROP2)); + ROP2_TO_MIX(Dc_Attr->jROP2)); #define PUTLINE(x1,y1,x2,y2,BrushInst) \ ret = ret && IntEngLineTo(&BitmapObj->SurfObj, \ @@ -39,7 +39,7 @@ &BrushInst.BrushObject, \ x1, y1, x2, y2, \ &RectBounds, \ - ROP2_TO_MIX(dc->Dc_Attr.jROP2)); + ROP2_TO_MIX(Dc_Attr->jROP2)); BOOL FASTCALL IntGdiPolygon(PDC dc, @@ -52,6 +52,7 @@ BOOL ret = FALSE; // default to failure RECTL DestRect; int CurrentPoint; + PDC_ATTR Dc_Attr; ASSERT(dc); // caller's responsibility to pass a valid dc @@ -61,6 +62,9 @@ return FALSE; } + Dc_Attr = dc->pDc_Attr; + if (!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + BitmapObj = BITMAPOBJ_LockBitmap(dc->w.hBitmap); /* FIXME - BitmapObj can be NULL!!!! don't assert but handle this case gracefully! */ ASSERT(BitmapObj); @@ -91,16 +95,16 @@ } /* Now fill the polygon with the current brush. */ - FillBrushObj = BRUSHOBJ_LockBrush(dc->Dc_Attr.hbrush); + FillBrushObj = BRUSHOBJ_LockBrush(Dc_Attr->hbrush); if (FillBrushObj && !(FillBrushObj->flAttrs & GDIBRUSH_IS_NULL)) { IntGdiInitBrushInstance(&FillBrushInst, FillBrushObj, dc->XlateBrush); - ret = FillPolygon ( dc, BitmapObj, &FillBrushInst.BrushObject, ROP2_TO_MIX(dc->Dc_Attr.jROP2), UnsafePoints, Count, DestRect ); + ret = FillPolygon ( dc, BitmapObj, &FillBrushInst.BrushObject, ROP2_TO_MIX(Dc_Attr->jROP2), UnsafePoints, Count, DestRect ); } BRUSHOBJ_UnlockBrush(FillBrushObj); /* get BRUSHOBJ from current pen. */ - PenBrushObj = PENOBJ_LockPen(dc->Dc_Attr.hpen); + PenBrushObj = PENOBJ_LockPen(Dc_Attr->hpen); // Draw the Polygon Edges with the current pen ( if not a NULL pen ) if (PenBrushObj && !(PenBrushObj->flAttrs & GDIBRUSH_IS_NULL)) { @@ -123,7 +127,7 @@ UnsafePoints[i+1].x, /* To */ UnsafePoints[i+1].y, &DestRect, - ROP2_TO_MIX(dc->Dc_Attr.jROP2)); /* MIX */ + ROP2_TO_MIX(Dc_Attr->jROP2)); /* MIX */ if (!ret) break; } /* Close the polygon */ @@ -137,7 +141,7 @@ UnsafePoints[0].x, /* To */ UnsafePoints[0].y, &DestRect, - ROP2_TO_MIX(dc->Dc_Attr.jROP2)); /* MIX */ + ROP2_TO_MIX(Dc_Attr->jROP2)); /* MIX */ } } PENOBJ_UnlockPen(PenBrushObj); @@ -199,6 +203,7 @@ BITMAPOBJ *BitmapObj; RECTL RectBounds; PDC dc; + PDC_ATTR Dc_Attr; BOOL ret = TRUE, Cond1, Cond2; /* @@ -228,7 +233,10 @@ return TRUE; } - FillBrush = BRUSHOBJ_LockBrush(dc->Dc_Attr.hbrush); + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + + FillBrush = BRUSHOBJ_LockBrush(Dc_Attr->hbrush); if (NULL == FillBrush) { DC_UnlockDc(dc); @@ -236,7 +244,7 @@ return FALSE; } - PenBrush = PENOBJ_LockPen(dc->Dc_Attr.hpen); + PenBrush = PENOBJ_LockPen(Dc_Attr->hpen); if (NULL == PenBrush) { BRUSHOBJ_UnlockBrush(FillBrush); @@ -629,6 +637,7 @@ { #ifdef TODO PDC dc; + PDC_ATTR; RECTL RectBounds; SURFOBJ *SurfObj; BRUSHOBJ PenBrushObj; @@ -663,7 +672,10 @@ return TRUE; } - FillBrushObj = BRUSHOBJ_LockBrush(dc->Dc_Attr.hbrush); + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + + FillBrushObj = BRUSHOBJ_LockBrush(Dc_Attr->hbrush); if (NULL == FillBrushObj) { DC_UnlockDc(dc); @@ -686,7 +698,7 @@ RectBounds.bottom = Bottom; SurfObj = (SURFOBJ*) AccessUserObject((ULONG)dc->Surface); - HPenToBrushObj(&PenBrushObj, dc->Dc_Attr.hpen); + HPenToBrushObj(&PenBrushObj, Dc_Attr->hpen); /* Number of points for the circle is 4 * sqrt(2) * Radius, start and end line have at most Radius points, so allocate at least @@ -1020,10 +1032,14 @@ BOOL ret = FALSE; // default to failure RECTL DestRect; MIX Mix; - + PDC_ATTR Dc_Attr; + ASSERT ( dc ); // caller's responsibility to set this up /* FIXME - BitmapObj can be NULL!!! Don't assert but handle this case gracefully! */ ASSERT ( BitmapObj ); + + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; if ( PATH_IsPathOpen(dc->w.path) ) { @@ -1041,7 +1057,7 @@ DestRect.top = TopRect; DestRect.bottom = BottomRect; - FillBrushObj = BRUSHOBJ_LockBrush(dc->Dc_Attr.hbrush); + FillBrushObj = BRUSHOBJ_LockBrush(Dc_Attr->hbrush); if ( FillBrushObj ) { @@ -1065,7 +1081,7 @@ BRUSHOBJ_UnlockBrush(FillBrushObj); /* get BRUSHOBJ from current pen. */ - PenBrushObj = PENOBJ_LockPen(dc->Dc_Attr.hpen); + PenBrushObj = PENOBJ_LockPen(Dc_Attr->hpen); if (PenBrushObj == NULL) { SetLastWin32Error(ERROR_INVALID_HANDLE); @@ -1081,7 +1097,7 @@ if (!(PenBrushObj->flAttrs & GDIBRUSH_IS_NULL)) { - Mix = ROP2_TO_MIX(dc->Dc_Attr.jROP2); + Mix = ROP2_TO_MIX(Dc_Attr->jROP2); ret = ret && IntEngLineTo(&BitmapObj->SurfObj, dc->CombinedClip, &PenBrushInst.BrushObject, @@ -1164,6 +1180,7 @@ int xCurveDiameter, int yCurveDiameter) { + PDC_ATTR Dc_Attr; BITMAPOBJ *BitmapObj; PGDIBRUSHOBJ PenBrushObj, FillBrushObj; GDIBRUSHINST FillBrushInst, PenBrushInst; @@ -1184,6 +1201,8 @@ if ( PATH_IsPathOpen(dc->w.path) ) return PATH_RoundRect ( dc, left, top, right, bottom, xCurveDiameter, yCurveDiameter ); + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; xradius = xCurveDiameter >> 1; yradius = yCurveDiameter >> 1; @@ -1206,7 +1225,7 @@ return FALSE; } - FillBrushObj = BRUSHOBJ_LockBrush(dc->Dc_Attr.hbrush); + FillBrushObj = BRUSHOBJ_LockBrush(Dc_Attr->hbrush); if (FillBrushObj) { if (FillBrushObj->flAttrs & GDIBRUSH_IS_NULL) @@ -1221,7 +1240,7 @@ } } - PenBrushObj = PENOBJ_LockPen(dc->Dc_Attr.hpen); + PenBrushObj = PENOBJ_LockPen(Dc_Attr->hpen); if (PenBrushObj) { if (PenBrushObj->flAttrs & GDIBRUSH_IS_NULL) Modified: trunk/reactos/subsystems/win32/win32k/objects/gdibatch.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/gdibatch.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/gdibatch.c Sun Nov 18 16:51:34 2007 @@ -19,7 +19,13 @@ GdiFlushUserBatch(HDC hDC, PGDIBATCHHDR pHdr) { PDC dc = NULL; - if (hDC) dc = DC_LockDc(hDC); + PDC_ATTR Dc_Attr = NULL; + if (hDC) + { + dc = DC_LockDc(hDC); + Dc_Attr = dc->pDc_Attr; + if (!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + } // The thread is approaching the end of sunset. switch(pHdr->Cmd) { @@ -35,7 +41,7 @@ { if (!dc) break; PGDIBSSETBRHORG pgSBO = (PGDIBSSETBRHORG) pHdr; - dc->Dc_Attr.ptlBrushOrigin = pgSBO->ptlBrushOrigin; + Dc_Attr->ptlBrushOrigin = pgSBO->ptlBrushOrigin; break; } case GdiBCExtSelClipRgn: Modified: trunk/reactos/subsystems/win32/win32k/objects/line.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/line.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/line.c Sun Nov 18 16:51:34 2007 @@ -32,14 +32,15 @@ LPPOINT Point) { BOOL PathIsOpen; - + PDC_ATTR Dc_Attr = dc->pDc_Attr; + if (!Dc_Attr) Dc_Attr = &dc->Dc_Attr; if ( Point ) { - Point->x = dc->Dc_Attr.ptlCurrent.x; - Point->y = dc->Dc_Attr.ptlCurrent.y; - } - dc->Dc_Attr.ptlCurrent.x = X; - dc->Dc_Attr.ptlCurrent.y = Y; + Point->x = Dc_Attr->ptlCurrent.x; + Point->y = Dc_Attr->ptlCurrent.y; + } + Dc_Attr->ptlCurrent.x = X; + Dc_Attr->ptlCurrent.y = Y; PathIsOpen = PATH_IsPathOpen(dc->w.path); @@ -60,6 +61,9 @@ GDIBRUSHINST PenBrushInst; RECTL Bounds; POINT Points[2]; + PDC_ATTR Dc_Attr = dc->pDc_Attr; + + if (!Dc_Attr) Dc_Attr = &dc->Dc_Attr; if (PATH_IsPathOpen(dc->w.path)) { @@ -67,8 +71,8 @@ if (Ret) { // FIXME - PATH_LineTo should maybe do this... - dc->Dc_Attr.ptlCurrent.x = XEnd; - dc->Dc_Attr.ptlCurrent.y = YEnd; + Dc_Attr->ptlCurrent.x = XEnd; + Dc_Attr->ptlCurrent.y = YEnd; } return Ret; } @@ -81,8 +85,8 @@ return FALSE; } - Points[0].x = dc->Dc_Attr.ptlCurrent.x; - Points[0].y = dc->Dc_Attr.ptlCurrent.y; + Points[0].x = Dc_Attr->ptlCurrent.x; + Points[0].y = Dc_Attr->ptlCurrent.y; Points[1].x = XEnd; Points[1].y = YEnd; @@ -100,7 +104,7 @@ Bounds.bottom = max(Points[0].y, Points[1].y); /* get BRUSHOBJ from current pen. */ - PenBrushObj = PENOBJ_LockPen( dc->Dc_Attr.hpen ); + PenBrushObj = PENOBJ_LockPen( Dc_Attr->hpen ); /* FIXME - PenBrushObj can be NULL!!!! Don't assert here! */ ASSERT(PenBrushObj); @@ -113,7 +117,7 @@ Points[0].x, Points[0].y, Points[1].x, Points[1].y, &Bounds, - ROP2_TO_MIX(dc->Dc_Attr.jROP2)); + ROP2_TO_MIX(Dc_Attr->jROP2)); } BITMAPOBJ_UnlockBitmap ( BitmapObj ); @@ -122,8 +126,8 @@ if (Ret) { - dc->Dc_Attr.ptlCurrent.x = XEnd; - dc->Dc_Attr.ptlCurrent.y = YEnd; + Dc_Attr->ptlCurrent.x = XEnd; + Dc_Attr->ptlCurrent.y = YEnd; } return Ret; @@ -163,7 +167,9 @@ DWORD Count) { BOOL ret = FALSE; // default to failure - + PDC_ATTR Dc_Attr = dc->pDc_Attr; + + if (!Dc_Attr) Dc_Attr = &dc->Dc_Attr; if ( PATH_IsPathOpen(dc->w.path) ) ret = PATH_PolyBezierTo ( dc, pt, Count ); else /* We'll do it using PolyBezier */ @@ -172,8 +178,8 @@ npt = ExAllocatePoolWithTag(PagedPool, sizeof(POINT) * (Count + 1), TAG_BEZIER); if ( npt ) { - npt[0].x = dc->Dc_Attr.ptlCurrent.x; - npt[0].y = dc->Dc_Attr.ptlCurrent.y; + npt[0].x = Dc_Attr->ptlCurrent.x; + npt[0].y = Dc_Attr->ptlCurrent.y; memcpy(npt + 1, pt, sizeof(POINT) * Count); ret = IntGdiPolyBezier(dc, npt, Count+1); ExFreePool(npt); @@ -181,8 +187,8 @@ } if ( ret ) { - dc->Dc_Attr.ptlCurrent.x = pt[Count-1].x; - dc->Dc_Attr.ptlCurrent.y = pt[Count-1].y; + Dc_Attr->ptlCurrent.x = pt[Count-1].x; + Dc_Attr->ptlCurrent.y = pt[Count-1].y; } return ret; @@ -199,12 +205,14 @@ LPPOINT Points; BOOL Ret = TRUE; LONG i; - + PDC_ATTR Dc_Attr = dc->pDc_Attr; + + if (!Dc_Attr) Dc_Attr = &dc->Dc_Attr; if (PATH_IsPathOpen(dc->w.path)) return PATH_Polyline(dc, pt, Count); /* Get BRUSHOBJ from current pen. */ - PenBrushObj = PENOBJ_LockPen(dc->Dc_Attr.hpen); + PenBrushObj = PENOBJ_LockPen(Dc_Attr->hpen); /* FIXME - PenBrushObj can be NULL! Don't assert here! */ ASSERT(PenBrushObj); @@ -230,7 +238,7 @@ IntGdiInitBrushInstance(&PenBrushInst, PenBrushObj, dc->XlatePen); Ret = IntEngPolyline(&BitmapObj->SurfObj, dc->CombinedClip, &PenBrushInst.BrushObject, Points, Count, - ROP2_TO_MIX(dc->Dc_Attr.jROP2)); + ROP2_TO_MIX(Dc_Attr->jROP2)); BITMAPOBJ_UnlockBitmap(BitmapObj); EngFreeMem(Points); @@ -252,7 +260,9 @@ DWORD Count) { BOOL ret = FALSE; // default to failure - + PDC_ATTR Dc_Attr = dc->pDc_Attr; + + if (!Dc_Attr) Dc_Attr = &dc->Dc_Attr; if(PATH_IsPathOpen(dc->w.path)) { ret = PATH_PolylineTo(dc, pt, Count); @@ -262,8 +272,8 @@ POINT *pts = ExAllocatePoolWithTag(PagedPool, sizeof(POINT) * (Count + 1), TAG_SHAPE); if ( pts ) { - pts[0].x = dc->Dc_Attr.ptlCurrent.x; - pts[0].y = dc->Dc_Attr.ptlCurrent.y; + pts[0].x = Dc_Attr->ptlCurrent.x; + pts[0].y = Dc_Attr->ptlCurrent.y; memcpy( pts + 1, pt, sizeof(POINT) * Count); ret = IntGdiPolyline(dc, pts, Count + 1); ExFreePool(pts); @@ -271,8 +281,8 @@ } if ( ret ) { - dc->Dc_Attr.ptlCurrent.x = pt[Count-1].x; - dc->Dc_Attr.ptlCurrent.y = pt[Count-1].y; + Dc_Attr->ptlCurrent.x = pt[Count-1].x; + Dc_Attr->ptlCurrent.y = pt[Count-1].y; } return ret; @@ -417,9 +427,12 @@ BOOL result = FALSE; POINT lastmove; unsigned int i; - + PDC_ATTR Dc_Attr = NULL; + dc = DC_LockDc(hdc); if(!dc) return FALSE; + Dc_Attr = dc->pDc_Attr; + if (!Dc_Attr) Dc_Attr = &dc->Dc_Attr; _SEH_TRY { @@ -436,8 +449,8 @@ } /* if no moveto occurs, we will close the figure here */ - lastmove.x = dc->Dc_Attr.ptlCurrent.x; - lastmove.y = dc->Dc_Attr.ptlCurrent.y; + lastmove.x = Dc_Attr->ptlCurrent.x; + lastmove.y = Dc_Attr->ptlCurrent.y; /* now let's draw */ for( i = 0; i < cCount; i++ ) @@ -445,16 +458,16 @@ if( lpbTypes[i] == PT_MOVETO ) { IntGdiMoveToEx( dc, lppt[i].x, lppt[i].y, NULL ); - lastmove.x = dc->Dc_Attr.ptlCurrent.x; - lastmove.y = dc->Dc_Attr.ptlCurrent.y; + lastmove.x = Dc_Attr->ptlCurrent.x; + lastmove.y = Dc_Attr->ptlCurrent.y; } else if( lpbTypes[i] & PT_LINETO ) IntGdiLineTo( dc, lppt[i].x, lppt[i].y ); else if( lpbTypes[i] & PT_BEZIERTO ) { POINT pts[4]; - pts[0].x = dc->Dc_Attr.ptlCurrent.x; - pts[0].y = dc->Dc_Attr.ptlCurrent.y; + pts[0].x = Dc_Attr->ptlCurrent.x; + pts[0].y = Dc_Attr->ptlCurrent.y; RtlCopyMemory(pts + 1, &lppt[i], sizeof(POINT) * 3); IntGdiPolyBezier(dc, pts, 4); i += 2; Modified: trunk/reactos/subsystems/win32/win32k/objects/path.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/path.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/path.c Sun Nov 18 16:51:34 2007 @@ -265,12 +265,14 @@ GdiPath *pPath; HRGN hrgnRval = 0; DC *pDc; + PDC_ATTR Dc_Attr; DPRINT("Enter %s\n", __FUNCTION__); pDc = DC_LockDc(hDC); if(!pDc) return NULL; - + Dc_Attr = pDc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &pDc->Dc_Attr; pPath = &pDc->w.path; if(pPath->state!=PATH_Closed) @@ -281,7 +283,7 @@ else { /* FIXME: Should we empty the path even if conversion failed? */ - if(PATH_PathToRegion(pPath, pDc->Dc_Attr.jFillMode, &hrgnRval)) + if(PATH_PathToRegion(pPath, Dc_Attr->jFillMode, &hrgnRval)) PATH_EmptyPath(pPath); } @@ -351,9 +353,11 @@ HRGN hrgnPath; BOOL success = FALSE; PDC dc = DC_LockDc ( hDC ); - + PDC_ATTR Dc_Attr; + if( !dc ) return FALSE; - + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; /* Check that path is closed */ if( dc->w.path.state != PATH_Closed ) { @@ -361,7 +365,7 @@ return FALSE; } /* Construct a region from the path */ - else if( PATH_PathToRegion( &dc->w.path, dc->Dc_Attr.jFillMode, &hrgnPath ) ) + else if( PATH_PathToRegion( &dc->w.path, Dc_Attr->jFillMode, &hrgnPath ) ) { success = IntGdiExtSelectClipRgn( dc, hrgnPath, Mode ) != ERROR; NtGdiDeleteObject( hrgnPath ); @@ -394,6 +398,9 @@ POINT ptViewportOrg, ptWindowOrg; XFORM xform; HRGN hrgn; + PDC_ATTR Dc_Attr = dc->pDc_Attr; + + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; if( pPath->state != PATH_Closed ) { @@ -401,7 +408,7 @@ return FALSE; } - if( PATH_PathToRegion( pPath, dc->Dc_Attr.jFillMode, &hrgn )) + if( PATH_PathToRegion( pPath, Dc_Attr->jFillMode, &hrgn )) { /* Since PaintRgn interprets the region as being in logical coordinates * but the points we store for the path are already in device @@ -412,11 +419,11 @@ */ /* Save the information about the old mapping mode */ - mapMode = dc->Dc_Attr.iMapMode; - ptViewportExt = dc->Dc_Attr.szlViewportExt; - ptViewportOrg = dc->Dc_Attr.ptlViewportOrg; - ptWindowExt = dc->Dc_Attr.szlWindowExt; - ptWindowOrg = dc->Dc_Attr.ptlWindowOrg; + mapMode = Dc_Attr->iMapMode; + ptViewportExt = Dc_Attr->szlViewportExt; + ptViewportOrg = Dc_Attr->ptlViewportOrg; + ptWindowExt = Dc_Attr->szlWindowExt; + ptWindowOrg = Dc_Attr->ptlWindowOrg; /* Save world transform * NB: The Windows documentation on world transforms would lead one to @@ -428,31 +435,31 @@ /* Set MM_TEXT */ IntGdiSetMapMode( dc, MM_TEXT ); - dc->Dc_Attr.ptlViewportOrg.x = 0; - dc->Dc_Attr.ptlViewportOrg.y = 0; - dc->Dc_Attr.ptlWindowOrg.x = 0; - dc->Dc_Attr.ptlWindowOrg.y = 0; - - graphicsMode = dc->Dc_Attr.iGraphicsMode; - dc->Dc_Attr.iGraphicsMode = GM_ADVANCED; + Dc_Attr->ptlViewportOrg.x = 0; + Dc_Attr->ptlViewportOrg.y = 0; + Dc_Attr->ptlWindowOrg.x = 0; + Dc_Attr->ptlWindowOrg.y = 0; + + graphicsMode = Dc_Attr->iGraphicsMode; + Dc_Attr->iGraphicsMode = GM_ADVANCED; IntGdiModifyWorldTransform( dc, &xform, MWT_IDENTITY ); - dc->Dc_Attr.iGraphicsMode = graphicsMode; + Dc_Attr->iGraphicsMode = graphicsMode; /* Paint the region */ IntGdiPaintRgn( dc, hrgn ); NtGdiDeleteObject( hrgn ); /* Restore the old mapping mode */ IntGdiSetMapMode( dc, mapMode ); - dc->Dc_Attr.szlViewportExt = ptViewportExt; - dc->Dc_Attr.ptlViewportOrg = ptViewportOrg; - dc->Dc_Attr.szlWindowExt = ptWindowExt; - dc->Dc_Attr.ptlWindowOrg = ptWindowOrg; + Dc_Attr->szlViewportExt = ptViewportExt; + Dc_Attr->ptlViewportOrg = ptViewportOrg; + Dc_Attr->szlWindowExt = ptWindowExt; + Dc_Attr->ptlWindowOrg = ptWindowOrg; /* Go to GM_ADVANCED temporarily to restore the world transform */ - graphicsMode = dc->Dc_Attr.iGraphicsMode; - dc->Dc_Attr.iGraphicsMode = GM_ADVANCED; + graphicsMode = Dc_Attr->iGraphicsMode; + Dc_Attr->iGraphicsMode = GM_ADVANCED; IntGdiModifyWorldTransform( dc, &xform, MWT_MAX+1 ); - dc->Dc_Attr.iGraphicsMode = graphicsMode; + Dc_Attr->iGraphicsMode = graphicsMode; return TRUE; } return FALSE; @@ -1091,6 +1098,8 @@ BOOL PATH_CheckCorners(DC *dc, POINT corners[], INT x1, INT y1, INT x2, INT y2) { INT temp; + PDC_ATTR Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; /* Convert points to device coordinates */ corners[0].x=x1; @@ -1115,7 +1124,7 @@ } /* In GM_COMPATIBLE, don't include bottom and right edges */ - if(dc->Dc_Attr.iGraphicsMode==GM_COMPATIBLE) + if(Dc_Attr->iGraphicsMode==GM_COMPATIBLE) { corners[1].x--; corners[1].y--; @@ -1471,14 +1480,15 @@ SIZE szViewportExt, szWindowExt; DWORD mapMode, graphicsMode; XFORM xform; + PDC_ATTR Dc_Attr = dc->pDc_Attr; DPRINT("Enter %s\n", __FUNCTION__); if(pPath->state != PATH_Closed) return FALSE; - + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; /* Save the mapping mode info */ - mapMode=dc->Dc_Attr.iMapMode; + mapMode = Dc_Attr->iMapMode; IntGetViewportExtEx(dc, &szViewportExt); IntGetViewportOrgEx(dc, &ptViewportOrg); IntGetWindowExtEx(dc, &szWindowExt); @@ -1486,15 +1496,15 @@ xform = dc->w.xformWorld2Wnd; /* Set MM_TEXT */ - dc->Dc_Attr.iMapMode = MM_TEXT; - dc->Dc_Attr.ptlViewportOrg.x = 0; - dc->Dc_Attr.ptlViewportOrg.y = 0; - dc->Dc_Attr.ptlWindowOrg.x = 0; - dc->Dc_Attr.ptlWindowOrg.y = 0; - graphicsMode = dc->Dc_Attr.iGraphicsMode; - dc->Dc_Attr.iGraphicsMode = GM_ADVANCED; + Dc_Attr->iMapMode = MM_TEXT; + Dc_Attr->ptlViewportOrg.x = 0; + Dc_Attr->ptlViewportOrg.y = 0; + Dc_Attr->ptlWindowOrg.x = 0; + Dc_Attr->ptlWindowOrg.y = 0; + graphicsMode = Dc_Attr->iGraphicsMode; + Dc_Attr->iGraphicsMode = GM_ADVANCED; IntGdiModifyWorldTransform(dc, &xform, MWT_IDENTITY); - dc->Dc_Attr.iGraphicsMode = graphicsMode; + Dc_Attr->iGraphicsMode = graphicsMode; /* Allocate enough memory for the worst case without beziers (one PT_MOVETO * and the rest PT_LINETO with PT_CLOSEFIGURE at the end) plus some buffer @@ -1599,16 +1609,16 @@ if(pLinePts)ExFreePool(pLinePts); /* Restore the old mapping mode */ - dc->Dc_Attr.iMapMode = mapMode; - dc->Dc_Attr.szlWindowExt.cx = szWindowExt.cx; - dc->Dc_Attr.szlWindowExt.cy = szWindowExt.cy; - dc->Dc_Attr.ptlWindowOrg.x = ptWindowOrg.x; - dc->Dc_Attr.ptlWindowOrg.y = ptWindowOrg.y; - - dc->Dc_Attr.szlViewportExt.cx = szViewportExt.cx; - dc->Dc_Attr.szlViewportExt.cy = szViewportExt.cy; - dc->Dc_Attr.ptlViewportOrg.x = ptViewportOrg.x; - dc->Dc_Attr.ptlViewportOrg.y = ptViewportOrg.y; + Dc_Attr->iMapMode = mapMode; + Dc_Attr->szlWindowExt.cx = szWindowExt.cx; + Dc_Attr->szlWindowExt.cy = szWindowExt.cy; + Dc_Attr->ptlWindowOrg.x = ptWindowOrg.x; + Dc_Attr->ptlWindowOrg.y = ptWindowOrg.y; + + Dc_Attr->szlViewportExt.cx = szViewportExt.cx; + Dc_Attr->szlViewportExt.cy = szViewportExt.cy; + Dc_Attr->ptlViewportOrg.x = ptViewportOrg.x; + Dc_Attr->ptlViewportOrg.y = ptViewportOrg.y; /* Restore the world transform */ dc->w.xformWorld2Wnd = xform; Modified: trunk/reactos/subsystems/win32/win32k/objects/polyfill.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/polyfill.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/polyfill.c Sun Nov 18 16:51:34 2007 @@ -560,7 +560,7 @@ FILL_EDGE_LIST *list = 0; FILL_EDGE *ActiveHead = 0; int ScanLine; - + PDC_ATTR Dc_Attr = dc->pDc_Attr; void (STDCALL *FillScanLine)( PDC dc, @@ -570,6 +570,8 @@ BRUSHOBJ *BrushObj, MIX RopMode ); + if (!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + //DPRINT("FillPolygon\n"); /* Create Edge List. */ @@ -578,7 +580,7 @@ if (NULL == list) return FALSE; - if ( WINDING == dc->Dc_Attr.jFillMode ) + if ( WINDING == Dc_Attr->jFillMode ) FillScanLine = POLYGONFILL_FillScanLineWinding; else /* default */ FillScanLine = POLYGONFILL_FillScanLineAlternate; Modified: trunk/reactos/subsystems/win32/win32k/objects/region.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/region.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/region.c Sun Nov 18 16:51:34 2007 @@ -1935,17 +1935,20 @@ DC * dc = DC_LockDc(hdc); RECT tmpRect; BOOL ret = FALSE; - + PDC_ATTR Dc_Attr; + if(!dc) return ret; - - if(dc->Dc_Attr.iMapMode == MM_TEXT) // Requires only a translation + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + + if(Dc_Attr->iMapMode == MM_TEXT) // Requires only a translation { if(NtGdiCombineRgn(hDest, hSrc, 0, RGN_COPY) == ERROR) goto done; - NtGdiOffsetRgn(hDest, dc->Dc_Attr.ptlViewportOrg.x - dc->Dc_Attr.ptlWindowOrg.x, - dc->Dc_Attr.ptlViewportOrg.y - dc->Dc_Attr.ptlWindowOrg.y); + NtGdiOffsetRgn(hDest, Dc_Attr->ptlViewportOrg.x - Dc_Attr->ptlWindowOrg.x, + Dc_Attr->ptlViewportOrg.y - Dc_Attr->ptlWindowOrg.y); ret = TRUE; goto done; } @@ -1963,10 +1966,10 @@ for(pCurRect = (PRECT)srcObj->Buffer; pCurRect < pEndRect; pCurRect++) { tmpRect = *pCurRect; - tmpRect.left = XLPTODP(dc, tmpRect.left); - tmpRect.top = YLPTODP(dc, tmpRect.top); - tmpRect.right = XLPTODP(dc, tmpRect.right); - tmpRect.bottom = YLPTODP(dc, tmpRect.bottom); + tmpRect.left = XLPTODP(Dc_Attr, tmpRect.left); + tmpRect.top = YLPTODP(Dc_Attr, tmpRect.top); + tmpRect.right = XLPTODP(Dc_Attr, tmpRect.right); + tmpRect.bottom = YLPTODP(Dc_Attr, tmpRect.bottom); if(tmpRect.left > tmpRect.right) { INT tmp = tmpRect.left; tmpRect.left = tmpRect.right; tmpRect.right = tmp; } @@ -2639,10 +2642,13 @@ GDIBRUSHINST BrushInst; POINTL BrushOrigin; BITMAPOBJ *BitmapObj; - + PDC_ATTR Dc_Attr; + if( !dc ) return FALSE; - + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + if(!(tmpVisRgn = NtGdiCreateRectRgn(0, 0, 0, 0))) { DC_UnlockDc( dc ); @@ -2675,12 +2681,12 @@ (PRECTL)visrgn->Buffer, (PRECTL)&visrgn->rdh.rcBound ); ASSERT( ClipRegion ); - pBrush = BRUSHOBJ_LockBrush(dc->Dc_Attr.hbrush); + pBrush = BRUSHOBJ_LockBrush(Dc_Attr->hbrush); ASSERT(pBrush); IntGdiInitBrushInstance(&BrushInst, pBrush, dc->XlateBrush); - BrushOrigin.x = dc->Dc_Attr.ptlBrushOrigin.x; - BrushOrigin.y = dc->Dc_Attr.ptlBrushOrigin.y; + BrushOrigin.x = Dc_Attr->ptlBrushOrigin.x; + BrushOrigin.y = Dc_Attr->ptlBrushOrigin.y; BitmapObj = BITMAPOBJ_LockBitmap(dc->w.hBitmap); /* FIXME - Handle BitmapObj == NULL !!!! */ Modified: trunk/reactos/subsystems/win32/win32k/objects/text.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/text.c (original) +++ trunk/reactos/subsystems/win32/win32k/objects/text.c Sun Nov 18 16:51:34 2007 @@ -1541,6 +1541,7 @@ */ DC *dc; + PDC_ATTR Dc_Attr; SURFOBJ *SurfObj; BITMAPOBJ *BitmapObj = NULL; int error, glyph_index, n, i; @@ -1593,6 +1594,9 @@ return TRUE; } + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + /* Check if String is valid */ if ((Count > 0xFFFF) || (Count > 0 && UnsafeString == NULL)) { @@ -1669,7 +1673,7 @@ { goto fail; } - hBrushFg = NtGdiCreateSolidBrush(XLATEOBJ_iXlate(XlateObj, dc->Dc_Attr.crForegroundClr), 0); + hBrushFg = NtGdiCreateSolidBrush(XLATEOBJ_iXlate(XlateObj, Dc_Attr->crForegroundClr), 0); if ( !hBrushFg ) { goto fail; @@ -1680,9 +1684,9 @@ goto fail; } IntGdiInitBrushInstance(&BrushFgInst, BrushFg, NULL); - if ((fuOptions & ETO_OPAQUE) || dc->Dc_Attr.jBkMode == OPAQUE) - { - hBrushBg = NtGdiCreateSolidBrush(XLATEOBJ_iXlate(XlateObj, dc->Dc_Attr.crBackgroundClr), 0); + if ((fuOptions & ETO_OPAQUE) || Dc_Attr->jBkMode == OPAQUE) + { + hBrushBg = NtGdiCreateSolidBrush(XLATEOBJ_iXlate(XlateObj, Dc_Attr->crBackgroundClr), 0); if ( !hBrushBg ) { goto fail; @@ -1730,13 +1734,13 @@ } else { - if (dc->Dc_Attr.jBkMode == OPAQUE) + if (Dc_Attr->jBkMode == OPAQUE) { fuOptions |= ETO_OPAQUE; } } - TextObj = TEXTOBJ_LockText(dc->Dc_Attr.hlfntNew); + TextObj = TEXTOBJ_LockText(Dc_Attr->hlfntNew); if(TextObj == NULL) { goto fail; @@ -1799,9 +1803,9 @@ * Process the vertical alignment and determine the yoff. */ - if (dc->Dc_Attr.lTextAlign & TA_BASELINE) + if (Dc_Attr->lTextAlign & TA_BASELINE) yoff = 0; - else if (dc->Dc_Attr.lTextAlign & TA_BOTTOM) + else if (Dc_Attr->lTextAlign & TA_BOTTOM) yoff = -face->size->metrics.descender >> 6; else /* TA_TOP */ yoff = face->size->metrics.ascender >> 6; @@ -1813,7 +1817,7 @@ * Process the horizontal alignment and modify XStart accordingly. */ - if (dc->Dc_Attr.lTextAlign & (TA_RIGHT | TA_CENTER)) + if (Dc_Attr->lTextAlign & (TA_RIGHT | TA_CENTER)) { ULONGLONG TextWidth = 0; LPCWSTR TempText = String; @@ -1877,7 +1881,7 @@ previous = 0; - if (dc->Dc_Attr.lTextAlign & TA_RIGHT) + if (Dc_Attr->lTextAlign & TA_RIGHT) { RealXStart -= TextWidth; } @@ -2146,6 +2150,7 @@ LPABC SafeBuff; LPABCFLOAT SafeBuffF = NULL; PDC dc; + PDC_ATTR Dc_Attr; PTEXTOBJ TextObj; PFONTGDI FontGDI; FT_Face face; @@ -2190,7 +2195,9 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return FALSE; } - hFont = dc->Dc_Attr.hlfntNew; + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + hFont = Dc_Attr->hlfntNew; TextObj = TEXTOBJ_LockText(hFont); DC_UnlockDc(dc); @@ -2312,6 +2319,7 @@ LPINT SafeBuff; PFLOAT SafeBuffF = NULL; PDC dc; + PDC_ATTR Dc_Attr; PTEXTOBJ TextObj; PFONTGDI FontGDI; FT_Face face; @@ -2355,7 +2363,9 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return FALSE; } - hFont = dc->Dc_Attr.hlfntNew; + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + hFont = Dc_Attr->hlfntNew; TextObj = TEXTOBJ_LockText(hFont); DC_UnlockDc(dc); @@ -2452,6 +2462,7 @@ IN DWORD iMode) { PDC dc; + PDC_ATTR Dc_Attr; PTEXTOBJ TextObj; PFONTGDI FontGDI; HFONT hFont = 0; @@ -2471,7 +2482,9 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return GDI_ERROR; } - hFont = dc->Dc_Attr.hlfntNew; + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + hFont = Dc_Attr->hlfntNew; TextObj = TEXTOBJ_LockText(hFont); DC_UnlockDc(dc); if (!TextObj) @@ -2604,6 +2617,7 @@ { static const FT_Matrix identityMat = {(1 << 16), 0, 0, (1 << 16)}; PDC dc; + PDC_ATTR Dc_Attr; PTEXTOBJ TextObj; PFONTGDI FontGDI; HFONT hFont = 0; @@ -2638,8 +2652,10 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return GDI_ERROR; } + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; eM11 = dc->w.xformWorld2Vport.eM11; - hFont = dc->Dc_Attr.hlfntNew; + hFont = Dc_Attr->hlfntNew; TextObj = TEXTOBJ_LockText(hFont); DC_UnlockDc(dc); if (!TextObj) @@ -3249,6 +3265,7 @@ TMDIFF *Tmd) { PDC dc; + PDC_ATTR Dc_Attr; PTEXTOBJ TextObj; PFONTGDI FontGDI; HFONT hFont = 0; @@ -3262,7 +3279,9 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return 0; } - hFont = dc->Dc_Attr.hlfntNew; + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + hFont = Dc_Attr->hlfntNew; TextObj = TEXTOBJ_LockText(hFont); DC_UnlockDc(dc); if (TextObj == NULL) @@ -3588,6 +3607,7 @@ ) { PDC dc; + PDC_ATTR Dc_Attr; LPWSTR String; SIZE Size; NTSTATUS Status; @@ -3661,7 +3681,9 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return FALSE; } - TextObj = TEXTOBJ_LockText(dc->Dc_Attr.hlfntNew); + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + TextObj = TEXTOBJ_LockText(Dc_Attr->hlfntNew); if ( TextObj ) { Result = TextIntGetTextExtentPoint(dc, TextObj, String, Count, MaxExtent, @@ -3743,6 +3765,7 @@ LPSIZE UnsafeSize) { PDC dc; + PDC_ATTR Dc_Attr; LPWSTR String; SIZE Size; NTSTATUS Status; @@ -3789,7 +3812,9 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return FALSE; } - TextObj = TEXTOBJ_LockText(dc->Dc_Attr.hlfntNew); + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + TextObj = TEXTOBJ_LockText(Dc_Attr->hlfntNew); if ( TextObj != NULL ) { Result = TextIntGetTextExtentPoint ( @@ -3866,6 +3891,7 @@ ) { PDC dc; + PDC_ATTR Dc_Attr; PTEXTOBJ TextObj; PFONTGDI FontGDI; NTSTATUS Status = STATUS_SUCCESS; @@ -3888,8 +3914,9 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return FALSE; } - - TextObj = TEXTOBJ_LockText(dc->Dc_Attr.hlfntNew); + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + TextObj = TEXTOBJ_LockText(Dc_Attr->hlfntNew); if (NULL != TextObj) { FontGDI = ObjToGDI(TextObj->Font, FONT); @@ -4003,6 +4030,7 @@ { UINT prevAlign; DC *dc; + PDC_ATTR Dc_Attr; dc = DC_LockDc(hDC); if (!dc) @@ -4010,8 +4038,10 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return GDI_ERROR; } - prevAlign = dc->Dc_Attr.lTextAlign; - dc->Dc_Attr.lTextAlign = Mode; + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + prevAlign = Dc_Attr->lTextAlign; + Dc_Attr->lTextAlign = Mode; DC_UnlockDc( dc ); return prevAlign; } @@ -4023,6 +4053,7 @@ { COLORREF oldColor; PDC dc = DC_LockDc(hDC); + PDC_ATTR Dc_Attr; HBRUSH hBrush; if (!dc) @@ -4030,10 +4061,12 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return CLR_INVALID; } - - oldColor = dc->Dc_Attr.crForegroundClr; - dc->Dc_Attr.crForegroundClr = color; - hBrush = dc->Dc_Attr.hbrush; + Dc_Attr = dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &dc->Dc_Attr; + + oldColor = Dc_Attr->crForegroundClr; + Dc_Attr->crForegroundClr = color; + hBrush = Dc_Attr->hbrush; DC_UnlockDc( dc ); NtGdiSelectObject(hDC, hBrush); return oldColor; @@ -4058,6 +4091,7 @@ DWORD Size) { PDC Dc; + PDC_ATTR Dc_Attr; HFONT hFont; PTEXTOBJ TextObj; PFONTGDI FontGdi; @@ -4069,7 +4103,9 @@ SetLastWin32Error(ERROR_INVALID_HANDLE); return GDI_ERROR; } - hFont = Dc->Dc_Attr.hlfntNew; + Dc_Attr = Dc->pDc_Attr; + if(!Dc_Attr) Dc_Attr = &Dc->Dc_Attr; + hFont = Dc_Attr->hlfntNew; TextObj = TEXTOBJ_LockText(hFont); DC_UnlockDc(Dc);
17 years, 1 month
1
0
0
0
[fireball] 30545: - Include "obj-i386"\include path in the 'additional include directories' too for MSVC (since roscfg.h resides there).
by fireball@svn.reactos.org
Author: fireball Date: Sun Nov 18 16:43:13 2007 New Revision: 30545 URL:
http://svn.reactos.org/svn/reactos?rev=30545&view=rev
Log: - Include "obj-i386"\include path in the 'additional include directories' too for MSVC (since roscfg.h resides there). Modified: trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp Modified: trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/tools/rbuild/backend/msvc/…
============================================================================== --- trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp (original) +++ trunk/reactos/tools/rbuild/backend/msvc/vcprojmaker.cpp Sun Nov 18 16:43:13 2007 @@ -228,7 +228,9 @@ } } /* include intermediate path for reactos.rc */ - string version = intdir + "\\include\\reactos"; + string version = intdir + "\\include"; + includes.push_back (version); + version += "\\reactos"; includes.push_back (version); string include_string;
17 years, 1 month
1
0
0
0
[pschweitzer] 30544: Hackfix Download! to get it working under ReactOS
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Sun Nov 18 16:33:06 2007 New Revision: 30544 URL:
http://svn.reactos.org/svn/reactos?rev=30544&view=rev
Log: Hackfix Download! to get it working under ReactOS Modified: trunk/rosapps/downloader/download.c trunk/rosapps/downloader/lang/de-DE.rc trunk/rosapps/downloader/lang/en-US.rc trunk/rosapps/downloader/lang/es-ES.rc trunk/rosapps/downloader/lang/fr-FR.rc trunk/rosapps/downloader/lang/id-ID.rc trunk/rosapps/downloader/lang/it-IT.rc trunk/rosapps/downloader/lang/uk-UA.rc trunk/rosapps/downloader/main.c Modified: trunk/rosapps/downloader/download.c URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/downloader/download.c?rev=…
============================================================================== --- trunk/rosapps/downloader/download.c (original) +++ trunk/rosapps/downloader/download.c Sun Nov 18 16:33:06 2007 @@ -5,7 +5,7 @@ * COPYRIGHT: Copyright 2001 John R. Sheets (for CodeWeavers) * Copyright 2004 Mike McCormack (for CodeWeavers) * Copyright 2005 Ge van Geldorp (gvg(a)reactos.org) - * Copyright 2007 Dmitry Chapyshev ()lentind(a)yandex.ru) + * Copyright 2007 Dmitry Chapyshev (lentind(a)yandex.ru) */ /* * Based on Wine dlls/shdocvw/shdocvw_main.c @@ -237,7 +237,7 @@ goto end; } if (RegOpenKey(HKEY_LOCAL_MACHINE, - TEXT("Software\\ReactOS\\Download!"), + TEXT("Software\\ReactOS\\Downloader"), &hKey) != ERROR_SUCCESS) { goto end; Modified: trunk/rosapps/downloader/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/downloader/lang/de-DE.rc?r…
============================================================================== --- trunk/rosapps/downloader/lang/de-DE.rc (original) +++ trunk/rosapps/downloader/lang/de-DE.rc Sun Nov 18 16:33:06 2007 @@ -51,7 +51,7 @@ IDS_CATS_TITLE "Kategorien" IDS_CHOOSE_FOLDER "Bitte wählen Sie den Ordner..." IDS_NOTCREATE_REGKEY "Registryschlüssel könnte nicht erstellt werden." - IDS_DOWNLOAD_FOLDER "Download!" + IDS_DOWNLOAD_FOLDER "Downloader" IDS_UNABLECREATE_FOLDER "Es konnte kein Ordner mit diesem Namen erstellt werden!" IDS_UPDATE_URL "
http://svn.reactos.org
" END Modified: trunk/rosapps/downloader/lang/en-US.rc URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/downloader/lang/en-US.rc?r…
============================================================================== --- trunk/rosapps/downloader/lang/en-US.rc (original) +++ trunk/rosapps/downloader/lang/en-US.rc Sun Nov 18 16:33:06 2007 @@ -51,7 +51,7 @@ IDS_CATS_TITLE "Categories" IDS_CHOOSE_FOLDER "Please, choose the folder..." IDS_NOTCREATE_REGKEY "Could not create the registry key." - IDS_DOWNLOAD_FOLDER "Download!" + IDS_DOWNLOAD_FOLDER "Downloader" IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!" IDS_UPDATE_URL "
http://svn.reactos.org
" END Modified: trunk/rosapps/downloader/lang/es-ES.rc URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/downloader/lang/es-ES.rc?r…
============================================================================== --- trunk/rosapps/downloader/lang/es-ES.rc (original) +++ trunk/rosapps/downloader/lang/es-ES.rc Sun Nov 18 16:33:06 2007 @@ -51,7 +51,7 @@ IDS_CATS_TITLE "Categories" IDS_CHOOSE_FOLDER "Please, choose the folder..." IDS_NOTCREATE_REGKEY "Could not create the registry key." - IDS_DOWNLOAD_FOLDER "Download!" + IDS_DOWNLOAD_FOLDER "Downloader" IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!" IDS_UPDATE_URL "
http://svn.reactos.org
" END Modified: trunk/rosapps/downloader/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/downloader/lang/fr-FR.rc?r…
============================================================================== --- trunk/rosapps/downloader/lang/fr-FR.rc (original) +++ trunk/rosapps/downloader/lang/fr-FR.rc Sun Nov 18 16:33:06 2007 @@ -51,7 +51,7 @@ IDS_CATS_TITLE "Catégories" IDS_CHOOSE_FOLDER "Veuillez choisir le répertoire..." IDS_NOTCREATE_REGKEY "Échec lors de la création de la clé registre." - IDS_DOWNLOAD_FOLDER "Download!" + IDS_DOWNLOAD_FOLDER "Downloader" IDS_UNABLECREATE_FOLDER "Échec lors du répertoire avec ce nom !" IDS_UPDATE_URL "
http://svn.reactos.org
" END Modified: trunk/rosapps/downloader/lang/id-ID.rc URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/downloader/lang/id-ID.rc?r…
============================================================================== --- trunk/rosapps/downloader/lang/id-ID.rc (original) +++ trunk/rosapps/downloader/lang/id-ID.rc Sun Nov 18 16:33:06 2007 @@ -51,7 +51,7 @@ IDS_CATS_TITLE "Categories" IDS_CHOOSE_FOLDER "Please, choose the folder..." IDS_NOTCREATE_REGKEY "Could not create the registry key." - IDS_DOWNLOAD_FOLDER "Download!" + IDS_DOWNLOAD_FOLDER "Downloader" IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!" IDS_UPDATE_URL "
http://svn.reactos.org
" END Modified: trunk/rosapps/downloader/lang/it-IT.rc URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/downloader/lang/it-IT.rc?r…
============================================================================== --- trunk/rosapps/downloader/lang/it-IT.rc (original) +++ trunk/rosapps/downloader/lang/it-IT.rc Sun Nov 18 16:33:06 2007 @@ -51,7 +51,7 @@ IDS_CATS_TITLE "Categories" IDS_CHOOSE_FOLDER "Please, choose the folder..." IDS_NOTCREATE_REGKEY "Could not create the registry key." - IDS_DOWNLOAD_FOLDER "Download!" + IDS_DOWNLOAD_FOLDER "Downloader" IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!" IDS_UPDATE_URL "
http://svn.reactos.org
" END Modified: trunk/rosapps/downloader/lang/uk-UA.rc URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/downloader/lang/uk-UA.rc?r…
============================================================================== --- trunk/rosapps/downloader/lang/uk-UA.rc (original) +++ trunk/rosapps/downloader/lang/uk-UA.rc Sun Nov 18 16:33:06 2007 @@ -59,7 +59,7 @@ IDS_CATS_TITLE "Categories" IDS_CHOOSE_FOLDER "Please, choose the folder..." IDS_NOTCREATE_REGKEY "Could not create the registry key." - IDS_DOWNLOAD_FOLDER "Download!" + IDS_DOWNLOAD_FOLDER "Downloader" IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!" IDS_UPDATE_URL "
http://svn.reactos.org
" END Modified: trunk/rosapps/downloader/main.c URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/downloader/main.c?rev=3054…
============================================================================== --- trunk/rosapps/downloader/main.c (original) +++ trunk/rosapps/downloader/main.c Sun Nov 18 16:33:06 2007 @@ -360,7 +360,7 @@ TCHAR szBuf[MAX_PATH]; if (RegOpenKey(HKEY_LOCAL_MACHINE, - TEXT("Software\\ReactOS\\Download!"), + TEXT("Software\\ReactOS\\Downloader"), &hKey) != ERROR_SUCCESS) return FALSE; @@ -415,10 +415,10 @@ DWORD dwDisp, dwSize; if (RegOpenKey(HKEY_LOCAL_MACHINE, - TEXT("Software\\ReactOS\\Download!"), + TEXT("Software\\ReactOS\\Downloader"), &hKey) != ERROR_SUCCESS) { - if (RegCreateKeyEx(HKEY_LOCAL_MACHINE, L"Software\\ReactOS\\Download!", + if (RegCreateKeyEx(HKEY_LOCAL_MACHINE, L"Software\\ReactOS\\Downloader", 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &hKey, &dwDisp)) {
17 years, 1 month
1
0
0
0
[fireball] 30543: - MSVC compatibility fix (inline -> __inline).
by fireball@svn.reactos.org
Author: fireball Date: Sun Nov 18 16:29:57 2007 New Revision: 30543 URL:
http://svn.reactos.org/svn/reactos?rev=30543&view=rev
Log: - MSVC compatibility fix (inline -> __inline). Modified: trunk/reactos/include/reactos/wine/debug.h Modified: trunk/reactos/include/reactos/wine/debug.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/wine/debug…
============================================================================== --- trunk/reactos/include/reactos/wine/debug.h (original) +++ trunk/reactos/include/reactos/wine/debug.h Sun Nov 18 16:29:57 2007 @@ -180,17 +180,17 @@ extern int wine_dbg_log( enum __wine_debug_class cls, struct __wine_debug_channel *ch, const char *file, const char *func, const int line, const char *format, ... ) __WINE_PRINTF_ATTR(6,7); -static inline const char *wine_dbgstr_a( const char *s ) +static __inline const char *wine_dbgstr_a( const char *s ) { return wine_dbgstr_an( s, -1 ); } -static inline const char *wine_dbgstr_w( const WCHAR *s ) +static __inline const char *wine_dbgstr_w( const WCHAR *s ) { return wine_dbgstr_wn( s, -1 ); } -static inline const char *wine_dbgstr_guid( const GUID *id ) +static __inline const char *wine_dbgstr_guid( const GUID *id ) { if (!id) return "(null)"; if (!((INT_PTR)id >> 16)) return wine_dbg_sprintf( "<guid-0x%04x>", (INT_PTR)id & 0xffff ); @@ -200,26 +200,26 @@ id->Data4[4], id->Data4[5], id->Data4[6], id->Data4[7] ); } -static inline const char *wine_dbgstr_point( const POINT *pt ) +static __inline const char *wine_dbgstr_point( const POINT *pt ) { if (!pt) return "(null)"; return wine_dbg_sprintf( "(%ld,%ld)", pt->x, pt->y ); } -static inline const char *wine_dbgstr_size( const SIZE *size ) +static __inline const char *wine_dbgstr_size( const SIZE *size ) { if (!size) return "(null)"; return wine_dbg_sprintf( "(%ld,%ld)", size->cx, size->cy ); } -static inline const char *wine_dbgstr_rect( const RECT *rect ) +static __inline const char *wine_dbgstr_rect( const RECT *rect ) { if (!rect) return "(null)"; return wine_dbg_sprintf( "(%ld,%ld)-(%ld,%ld)", rect->left, rect->top, rect->right, rect->bottom ); } -static inline const char *wine_dbgstr_longlong( ULONGLONG ll ) +static __inline const char *wine_dbgstr_longlong( ULONGLONG ll ) { if (sizeof(ll) > sizeof(unsigned long) && ll >> 32) return wine_dbg_sprintf( "%lx%08lx", (unsigned long)(ll >> 32), (unsigned long)ll ); @@ -259,11 +259,11 @@ /* Wine uses shorter names that are very likely to conflict with other software */ -static inline const char *debugstr_an( const char * s, int n ) { return wine_dbgstr_an( s, n ); } -static inline const char *debugstr_wn( const WCHAR *s, int n ) { return wine_dbgstr_wn( s, n ); } -static inline const char *debugstr_guid( const struct _GUID *id ) { return wine_dbgstr_guid(id); } -static inline const char *debugstr_a( const char *s ) { return wine_dbgstr_an( s, -1 ); } -static inline const char *debugstr_w( const WCHAR *s ) { return wine_dbgstr_wn( s, -1 ); } +static __inline const char *debugstr_an( const char * s, int n ) { return wine_dbgstr_an( s, n ); } +static __inline const char *debugstr_wn( const WCHAR *s, int n ) { return wine_dbgstr_wn( s, n ); } +static __inline const char *debugstr_guid( const struct _GUID *id ) { return wine_dbgstr_guid(id); } +static __inline const char *debugstr_a( const char *s ) { return wine_dbgstr_an( s, -1 ); } +static __inline const char *debugstr_w( const WCHAR *s ) { return wine_dbgstr_wn( s, -1 ); } #define TRACE WINE_TRACE #define TRACE_(ch) WINE_TRACE_(ch)
17 years, 1 month
1
0
0
0
[fireball] 30542: - Make opengl32.def MSVC-compatible.
by fireball@svn.reactos.org
Author: fireball Date: Sun Nov 18 16:06:38 2007 New Revision: 30542 URL:
http://svn.reactos.org/svn/reactos?rev=30542&view=rev
Log: - Make opengl32.def MSVC-compatible. Modified: trunk/reactos/dll/win32/opengl32/opengl32.def Modified: trunk/reactos/dll/win32/opengl32/opengl32.def URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/opengl32/opengl3…
============================================================================== --- trunk/reactos/dll/win32/opengl32/opengl32.def (original) +++ trunk/reactos/dll/win32/opengl32/opengl32.def Sun Nov 18 16:06:38 2007 @@ -8,394 +8,394 @@ EXPORTS ;DllInitialize -glAccum@8 -glAlphaFunc@8 -glAreTexturesResident@12 -glArrayElement@4 -glBegin@4 -glBindTexture@8 -glBitmap@28 -glBlendFunc@8 -glCallList@4 -glCallLists@12 -glClear@4 -glClearAccum@16 -glClearColor@16 -glClearDepth@8 -glClearIndex@4 -glClearStencil@4 -glClipPlane@8 - -glColor3b@12 -glColor3bv@4 -glColor3d@24 -glColor3dv@4 -glColor3f@12 -glColor3fv@4 -glColor3i@12 -glColor3iv@4 -glColor3s@12 -glColor3sv@4 -glColor3ub@12 -glColor3ubv@4 -glColor3ui@12 -glColor3uiv@4 -glColor3us@12 -glColor3usv@4 - -glColor4b@16 -glColor4bv@4 -glColor4d@32 -glColor4dv@4 -glColor4f@16 -glColor4fv@4 -glColor4i@16 -glColor4iv@4 -glColor4s@16 -glColor4sv@4 -glColor4ub@16 -glColor4ubv@4 -glColor4ui@16 -glColor4uiv@4 -glColor4us@16 -glColor4usv@4 - -glColorMask@16 -glColorMaterial@8 -glColorPointer@16 -glCopyPixels@20 -glCopyTexImage1D@28 -glCopyTexImage2D@32 -glCopyTexSubImage1D@24 -glCopyTexSubImage2D@32 -glCullFace@4 +glAccum +glAlphaFunc +glAreTexturesResident +glArrayElement +glBegin +glBindTexture +glBitmap +glBlendFunc +glCallList +glCallLists +glClear +glClearAccum +glClearColor +glClearDepth +glClearIndex +glClearStencil +glClipPlane + +glColor3b +glColor3bv +glColor3d +glColor3dv +glColor3f +glColor3fv +glColor3i +glColor3iv +glColor3s +glColor3sv +glColor3ub +glColor3ubv +glColor3ui +glColor3uiv +glColor3us +glColor3usv + +glColor4b +glColor4bv +glColor4d +glColor4dv +glColor4f +glColor4fv +glColor4i +glColor4iv +glColor4s +glColor4sv +glColor4ub +glColor4ubv +glColor4ui +glColor4uiv +glColor4us +glColor4usv + +glColorMask +glColorMaterial +glColorPointer +glCopyPixels +glCopyTexImage1D +glCopyTexImage2D +glCopyTexSubImage1D +glCopyTexSubImage2D +glCullFace ;glDebugEntry -glDeleteLists@8 -glDeleteTextures@8 -glDepthFunc@4 -glDepthMask@4 -glDepthRange@16 -glDisable@4 -glDisableClientState@4 -glDrawArrays@12 -glDrawBuffer@4 -glDrawElements@16 -glDrawPixels@20 -glEdgeFlag@4 -glEdgeFlagPointer@8 -glEdgeFlagv@4 -glEnable@4 -glEnableClientState@4 -glEnd@0 -glEndList@0 - -glEvalCoord1d@8 -glEvalCoord1dv@4 -glEvalCoord1f@4 -glEvalCoord1fv@4 -glEvalCoord2d@16 -glEvalCoord2dv@4 -glEvalCoord2f@8 -glEvalCoord2fv@4 - -glEvalMesh1@12 -glEvalMesh2@20 -glEvalPoint1@4 -glEvalPoint2@8 -glFeedbackBuffer@12 -glFinish@0 -glFlush@0 -glFogf@8 -glFogfv@8 -glFogi@8 -glFogiv@8 -glFrontFace@4 -glFrustum@48 -glGenLists@4 -glGenTextures@8 -glGetBooleanv@8 -glGetClipPlane@8 -glGetDoublev@8 -glGetError@0 -glGetFloatv@8 -glGetIntegerv@8 -glGetLightfv@12 -glGetLightiv@12 -glGetMapdv@12 -glGetMapfv@12 -glGetMapiv@12 -glGetMaterialfv@12 -glGetMaterialiv@12 -glGetPixelMapfv@8 -glGetPixelMapuiv@8 -glGetPixelMapusv@8 -glGetPointerv@8 -glGetPolygonStipple@4 -glGetString@4 -glGetTexEnvfv@12 -glGetTexEnviv@12 -glGetTexGendv@12 -glGetTexGenfv@12 -glGetTexGeniv@12 -glGetTexImage@20 -glGetTexLevelParameterfv@16 -glGetTexLevelParameteriv@16 -glGetTexParameterfv@12 -glGetTexParameteriv@12 -glHint@8 -glIndexd@8 -glIndexdv@4 -glIndexf@4 -glIndexfv@4 -glIndexi@4 -glIndexiv@4 -glIndexMask@4 -glIndexPointer@12 -glIndexs@4 -glIndexsv@4 -glIndexub@4 -glIndexubv@4 -glInitNames@0 -glInterleavedArrays@12 -glIsEnabled@4 -glIsList@4 -glIsTexture@4 - -glLightf@12 -glLightfv@12 -glLighti@12 -glLightiv@12 -glLightModelf@8 -glLightModelfv@8 -glLightModeli@8 -glLightModeliv@8 - -glLineStipple@8 -glLineWidth@4 -glListBase@4 -glLoadIdentity@0 -glLoadMatrixd@4 -glLoadMatrixf@4 -glLoadName@4 -glLogicOp@4 - -glMap1d@32 -glMap1f@24 -glMap2d@56 -glMap2f@40 -glMapGrid1d@20 -glMapGrid1f@12 -glMapGrid2d@40 -glMapGrid2f@24 - -glMaterialf@12 -glMaterialfv@12 -glMateriali@12 -glMaterialiv@12 - -glMatrixMode@4 +glDeleteLists +glDeleteTextures +glDepthFunc +glDepthMask +glDepthRange +glDisable +glDisableClientState +glDrawArrays +glDrawBuffer +glDrawElements +glDrawPixels +glEdgeFlag +glEdgeFlagPointer +glEdgeFlagv +glEnable +glEnableClientState +glEnd +glEndList + +glEvalCoord1d +glEvalCoord1dv +glEvalCoord1f +glEvalCoord1fv +glEvalCoord2d +glEvalCoord2dv +glEvalCoord2f +glEvalCoord2fv + +glEvalMesh1 +glEvalMesh2 +glEvalPoint1 +glEvalPoint2 +glFeedbackBuffer +glFinish +glFlush +glFogf +glFogfv +glFogi +glFogiv +glFrontFace +glFrustum +glGenLists +glGenTextures +glGetBooleanv +glGetClipPlane +glGetDoublev +glGetError +glGetFloatv +glGetIntegerv +glGetLightfv +glGetLightiv +glGetMapdv +glGetMapfv +glGetMapiv +glGetMaterialfv +glGetMaterialiv +glGetPixelMapfv +glGetPixelMapuiv +glGetPixelMapusv +glGetPointerv +glGetPolygonStipple +glGetString +glGetTexEnvfv +glGetTexEnviv +glGetTexGendv +glGetTexGenfv +glGetTexGeniv +glGetTexImage +glGetTexLevelParameterfv +glGetTexLevelParameteriv +glGetTexParameterfv +glGetTexParameteriv +glHint +glIndexd +glIndexdv +glIndexf +glIndexfv +glIndexi +glIndexiv +glIndexMask +glIndexPointer +glIndexs +glIndexsv +glIndexub +glIndexubv +glInitNames +glInterleavedArrays +glIsEnabled +glIsList +glIsTexture + +glLightf +glLightfv +glLighti +glLightiv +glLightModelf +glLightModelfv +glLightModeli +glLightModeliv + +glLineStipple +glLineWidth +glListBase +glLoadIdentity +glLoadMatrixd +glLoadMatrixf +glLoadName +glLogicOp + +glMap1d +glMap1f +glMap2d +glMap2f +glMapGrid1d +glMapGrid1f +glMapGrid2d +glMapGrid2f + +glMaterialf +glMaterialfv +glMateriali +glMaterialiv + +glMatrixMode ;GlmfBeginGlsBlock ;GlmfCloseMetaFile ;GlmfEndGlsBlock ;GlmfEndPlayback ;GlmfInitPlayback ;GlmfPlayGlsRecord -glMultMatrixd@4 -glMultMatrixf@4 -glNewList@8 - -glNormal3b@12 -glNormal3bv@4 -glNormal3d@24 -glNormal3dv@4 -glNormal3f@12 -glNormal3fv@4 -glNormal3i@12 -glNormal3iv@4 -glNormal3s@12 -glNormal3sv@4 -glNormalPointer@12 - -glOrtho@48 -glPassThrough@4 -glPixelMapfv@12 -glPixelMapuiv@12 -glPixelMapusv@12 -glPixelStoref@8 -glPixelStorei@8 -glPixelTransferf@8 -glPixelTransferi@8 -glPixelZoom@8 -glPointSize@4 -glPolygonMode@8 -glPolygonOffset@8 -glPolygonStipple@4 -glPopAttrib@0 -glPopClientAttrib@0 -glPopMatrix@0 -glPopName@0 -glPrioritizeTextures@12 -glPushAttrib@4 -glPushClientAttrib@4 -glPushMatrix@0 -glPushName@4 -glRasterPos2d@16 -glRasterPos2dv@4 -glRasterPos2f@8 -glRasterPos2fv@4 -glRasterPos2i@8 -glRasterPos2iv@4 -glRasterPos2s@8 -glRasterPos2sv@4 -glRasterPos3d@24 -glRasterPos3dv@4 -glRasterPos3f@12 -glRasterPos3fv@4 -glRasterPos3i@12 -glRasterPos3iv@4 -glRasterPos3s@12 -glRasterPos3sv@4 -glRasterPos4d@32 -glRasterPos4dv@4 -glRasterPos4f@16 -glRasterPos4fv@4 -glRasterPos4i@16 -glRasterPos4iv@4 -glRasterPos4s@16 -glRasterPos4sv@4 -glReadBuffer@4 -glReadPixels@28 -glRectd@32 -glRectdv@8 -glRectf@16 -glRectfv@8 -glRecti@16 -glRectiv@8 -glRects@16 -glRectsv@8 -glRenderMode@4 -glRotated@32 -glRotatef@16 -glScaled@24 -glScalef@12 -glScissor@16 -glSelectBuffer@8 -glShadeModel@4 -glStencilFunc@12 -glStencilMask@4 -glStencilOp@12 - -glTexCoord1d@8 -glTexCoord1dv@4 -glTexCoord1f@4 -glTexCoord1fv@4 -glTexCoord1i@4 -glTexCoord1iv@4 -glTexCoord1s@4 -glTexCoord1sv@4 - -glTexCoord2d@16 -glTexCoord2dv@4 -glTexCoord2f@8 -glTexCoord2fv@4 -glTexCoord2i@8 -glTexCoord2iv@4 -glTexCoord2s@8 -glTexCoord2sv@4 - -glTexCoord3d@24 -glTexCoord3dv@4 -glTexCoord3f@12 -glTexCoord3fv@4 -glTexCoord3i@12 -glTexCoord3iv@4 -glTexCoord3s@12 -glTexCoord3sv@4 - -glTexCoord4d@32 -glTexCoord4dv@4 -glTexCoord4f@16 -glTexCoord4fv@4 -glTexCoord4i@16 -glTexCoord4iv@4 -glTexCoord4s@16 -glTexCoord4sv@4 - -glTexCoordPointer@16 -glTexEnvf@12 -glTexEnvfv@12 -glTexEnvi@12 -glTexEnviv@12 -glTexGend@16 -glTexGendv@12 -glTexGenf@12 -glTexGenfv@12 -glTexGeni@12 -glTexGeniv@12 -glTexImage1D@32 -glTexImage2D@36 -glTexParameterf@12 -glTexParameterfv@12 -glTexParameteri@12 -glTexParameteriv@12 -glTexSubImage1D@28 -glTexSubImage2D@36 - -glTranslated@24 -glTranslatef@12 - -glVertex2d@16 -glVertex2dv@4 -glVertex2f@8 -glVertex2fv@4 -glVertex2i@8 -glVertex2iv@4 -glVertex2s@8 -glVertex2sv@4 - -glVertex3d@24 -glVertex3dv@4 -glVertex3f@12 -glVertex3fv@4 -glVertex3i@12 -glVertex3iv@4 -glVertex3s@12 -glVertex3sv@4 - -glVertex4d@32 -glVertex4dv@4 -glVertex4f@16 -glVertex4fv@4 -glVertex4i@16 -glVertex4iv@4 -glVertex4s@16 -glVertex4sv@4 - -glVertexPointer@16 -glViewport@16 - -wglChoosePixelFormat@8=rosglChoosePixelFormat@8 -wglCopyContext@12=rosglCopyContext@12 -wglCreateContext@4=rosglCreateContext@4 -wglCreateLayerContext@8=rosglCreateLayerContext@8 -wglDeleteContext@4=rosglDeleteContext@4 -wglDescribeLayerPlane@20=rosglDescribeLayerPlane@20 -wglDescribePixelFormat@16=rosglDescribePixelFormat@16 -wglGetCurrentContext@0=rosglGetCurrentContext@0 -wglGetCurrentDC@0=rosglGetCurrentDC@0 -wglGetDefaultProcAddress=rosglGetDefaultProcAddress@4 -wglGetLayerPaletteEntries@20=rosglGetLayerPaletteEntries@20 -wglGetPixelFormat@4=rosglGetPixelFormat@4 -wglGetProcAddress@4=rosglGetProcAddress@4 -wglMakeCurrent@8=rosglMakeCurrent@8 -wglRealizeLayerPalette@12=rosglRealizeLayerPalette@12 -wglSetLayerPaletteEntries@20=rosglSetLayerPaletteEntries@20 -wglSetPixelFormat@12=rosglSetPixelFormat@12 -wglShareLists@8=rosglShareLists@8 -wglSwapBuffers@4=rosglSwapBuffers@4 -wglSwapLayerBuffers@8=rosglSwapLayerBuffers@8 -;wglSwapMultipleBuffers=rosglSwapMultipleBuffers@ -wglUseFontBitmapsA@16=rosglUseFontBitmapsA@16 -wglUseFontBitmapsW@16=rosglUseFontBitmapsW@16 -wglUseFontOutlinesA@32=rosglUseFontOutlinesA@32 -wglUseFontOutlinesW@32=rosglUseFontOutlinesW@32 +glMultMatrixd +glMultMatrixf +glNewList + +glNormal3b +glNormal3bv +glNormal3d +glNormal3dv +glNormal3f +glNormal3fv +glNormal3i +glNormal3iv +glNormal3s +glNormal3sv +glNormalPointer + +glOrtho +glPassThrough +glPixelMapfv +glPixelMapuiv +glPixelMapusv +glPixelStoref +glPixelStorei +glPixelTransferf +glPixelTransferi +glPixelZoom +glPointSize +glPolygonMode +glPolygonOffset +glPolygonStipple +glPopAttrib +glPopClientAttrib +glPopMatrix +glPopName +glPrioritizeTextures +glPushAttrib +glPushClientAttrib +glPushMatrix +glPushName +glRasterPos2d +glRasterPos2dv +glRasterPos2f +glRasterPos2fv +glRasterPos2i +glRasterPos2iv +glRasterPos2s +glRasterPos2sv +glRasterPos3d +glRasterPos3dv +glRasterPos3f +glRasterPos3fv +glRasterPos3i +glRasterPos3iv +glRasterPos3s +glRasterPos3sv +glRasterPos4d +glRasterPos4dv +glRasterPos4f +glRasterPos4fv +glRasterPos4i +glRasterPos4iv +glRasterPos4s +glRasterPos4sv +glReadBuffer +glReadPixels +glRectd +glRectdv +glRectf +glRectfv +glRecti +glRectiv +glRects +glRectsv +glRenderMode +glRotated +glRotatef +glScaled +glScalef +glScissor +glSelectBuffer +glShadeModel +glStencilFunc +glStencilMask +glStencilOp + +glTexCoord1d +glTexCoord1dv +glTexCoord1f +glTexCoord1fv +glTexCoord1i +glTexCoord1iv +glTexCoord1s +glTexCoord1sv + +glTexCoord2d +glTexCoord2dv +glTexCoord2f +glTexCoord2fv +glTexCoord2i +glTexCoord2iv +glTexCoord2s +glTexCoord2sv + +glTexCoord3d +glTexCoord3dv +glTexCoord3f +glTexCoord3fv +glTexCoord3i +glTexCoord3iv +glTexCoord3s +glTexCoord3sv + +glTexCoord4d +glTexCoord4dv +glTexCoord4f +glTexCoord4fv +glTexCoord4i +glTexCoord4iv +glTexCoord4s +glTexCoord4sv + +glTexCoordPointer +glTexEnvf +glTexEnvfv +glTexEnvi +glTexEnviv +glTexGend +glTexGendv +glTexGenf +glTexGenfv +glTexGeni +glTexGeniv +glTexImage1D +glTexImage2D +glTexParameterf +glTexParameterfv +glTexParameteri +glTexParameteriv +glTexSubImage1D +glTexSubImage2D + +glTranslated +glTranslatef + +glVertex2d +glVertex2dv +glVertex2f +glVertex2fv +glVertex2i +glVertex2iv +glVertex2s +glVertex2sv + +glVertex3d +glVertex3dv +glVertex3f +glVertex3fv +glVertex3i +glVertex3iv +glVertex3s +glVertex3sv + +glVertex4d +glVertex4dv +glVertex4f +glVertex4fv +glVertex4i +glVertex4iv +glVertex4s +glVertex4sv + +glVertexPointer +glViewport + +wglChoosePixelFormat=rosglChoosePixelFormat +wglCopyContext=rosglCopyContext +wglCreateContext=rosglCreateContext +wglCreateLayerContext=rosglCreateLayerContext +wglDeleteContext=rosglDeleteContext +wglDescribeLayerPlane=rosglDescribeLayerPlane +wglDescribePixelFormat=rosglDescribePixelFormat +wglGetCurrentContext=rosglGetCurrentContext +wglGetCurrentDC=rosglGetCurrentDC +wglGetDefaultProcAddress=rosglGetDefaultProcAddress +wglGetLayerPaletteEntries=rosglGetLayerPaletteEntries +wglGetPixelFormat=rosglGetPixelFormat +wglGetProcAddress=rosglGetProcAddress +wglMakeCurrent=rosglMakeCurrent +wglRealizeLayerPalette=rosglRealizeLayerPalette +wglSetLayerPaletteEntries=rosglSetLayerPaletteEntries +wglSetPixelFormat=rosglSetPixelFormat +wglShareLists=rosglShareLists +wglSwapBuffers=rosglSwapBuffers +wglSwapLayerBuffers=rosglSwapLayerBuffers +;wglSwapMultipleBuffers=rosglSwapMultipleBuffers +wglUseFontBitmapsA=rosglUseFontBitmapsA +wglUseFontBitmapsW=rosglUseFontBitmapsW +wglUseFontOutlinesA=rosglUseFontOutlinesA +wglUseFontOutlinesW=rosglUseFontOutlinesW
17 years, 1 month
1
0
0
0
[pschweitzer] 30541: Updated French translation
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Sun Nov 18 16:01:18 2007 New Revision: 30541 URL:
http://svn.reactos.org/svn/reactos?rev=30541&view=rev
Log: Updated French translation Modified: trunk/rosapps/downloader/lang/fr-FR.rc Modified: trunk/rosapps/downloader/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/rosapps/downloader/lang/fr-FR.rc?r…
============================================================================== --- trunk/rosapps/downloader/lang/fr-FR.rc (original) +++ trunk/rosapps/downloader/lang/fr-FR.rc Sun Nov 18 16:01:18 2007 @@ -12,17 +12,17 @@ IDD_PROF DIALOGEX 6, 6, 267, 110 STYLE DS_CENTER | WS_BORDER | WS_CAPTION | WS_POPUP | WS_SYSMENU | WS_VISIBLE -CAPTION "Proferences" +CAPTION "Préférences" FONT 8, "MS Shell Dlg" BEGIN - LTEXT "Download folder:", -1, 6, 10, 140, 8 + LTEXT "Répertoire de téléchargement :", -1, 6, 10, 140, 8 EDITTEXT IDC_DOWNLOAD_FOLDER_EDIT, 6, 20, 205, 14, WS_VISIBLE | WS_TABSTOP - PUSHBUTTON "C&hoose...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14 - AUTOCHECKBOX "&Delete installation files after setup", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP - LTEXT "Update server:", -1, 6, 55, 140, 8 + PUSHBUTTON "C&hoisir...", IDC_CHOOSE_BUTTON, 216, 20, 45, 14 + AUTOCHECKBOX "Supprimer les fichiers après l'installation", IDC_DELINST_FILES_CHECKBOX, 8, 40, 210, 10, WS_GROUP + LTEXT "Serveur de mise-à-jour :", -1, 6, 55, 140, 8 EDITTEXT IDC_UPDATE_SERVER_EDIT, 6, 65, 255, 14, WS_VISIBLE | WS_TABSTOP DEFPUSHBUTTON "&OK", IDOK, 147, 90, 54, 15 - PUSHBUTTON "&Cancel", IDCANCEL, 207, 90, 54, 15 + PUSHBUTTON "Annuler", IDCANCEL, 207, 90, 54, 15 END STRINGTABLE DISCARDABLE @@ -49,9 +49,9 @@ IDS_MAINTAINER "Maintainer: " IDS_APPS_TITLE "Applications" IDS_CATS_TITLE "Catégories" - IDS_CHOOSE_FOLDER "Please, choose the folder..." - IDS_NOTCREATE_REGKEY "Could not create the registry key." + IDS_CHOOSE_FOLDER "Veuillez choisir le répertoire..." + IDS_NOTCREATE_REGKEY "Échec lors de la création de la clé registre." IDS_DOWNLOAD_FOLDER "Download!" - IDS_UNABLECREATE_FOLDER "Unable to create a folder with this name!" + IDS_UNABLECREATE_FOLDER "Échec lors du répertoire avec ce nom !" IDS_UPDATE_URL "
http://svn.reactos.org
" END
17 years, 1 month
1
0
0
0
[dreimer] 30540: Add German Translation.
by dreimer@svn.reactos.org
Author: dreimer Date: Sun Nov 18 15:46:55 2007 New Revision: 30540 URL:
http://svn.reactos.org/svn/reactos?rev=30540&view=rev
Log: Add German Translation. Added: trunk/reactos/dll/cpl/telephon/lang/de-DE.rc (with props) Modified: trunk/reactos/dll/cpl/telephon/rsrc.rc Added: trunk/reactos/dll/cpl/telephon/lang/de-DE.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/telephon/lang/de-D…
============================================================================== --- trunk/reactos/dll/cpl/telephon/lang/de-DE.rc (added) +++ trunk/reactos/dll/cpl/telephon/lang/de-DE.rc Sun Nov 18 15:46:55 2007 @@ -1,0 +1,7 @@ +LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL + +STRINGTABLE +BEGIN + IDS_CPLSYSTEMNAME "Telefon- und Modemeinstellungen" + IDS_CPLSYSTEMDESCRIPTION "Konfiguriert Wählregeln zum Telefonieren und Modemoptionen." +END Propchange: trunk/reactos/dll/cpl/telephon/lang/de-DE.rc ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/reactos/dll/cpl/telephon/rsrc.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/telephon/rsrc.rc?r…
============================================================================== --- trunk/reactos/dll/cpl/telephon/rsrc.rc (original) +++ trunk/reactos/dll/cpl/telephon/rsrc.rc Sun Nov 18 15:46:55 2007 @@ -1,6 +1,7 @@ #include "resource.h" #include <windows.h> +#include "lang/de-DE.rc" #include "lang/en-US.rc" #include "lang/fr-FR.rc" #include "lang/ru-RU.rc"
17 years, 1 month
1
0
0
0
← Newer
1
...
35
36
37
38
39
40
41
...
89
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
Results per page:
10
25
50
100
200