- Use device string when given one in IntCreateDIC
[WIN32K]
- Exchange pdevmode when excahnging PDEVOBJ pointers
- Update Globals gdi devcaps when switching mode if ppdev is the primary surface
svn path=/branches/reactos-yarotows/; revision=47044
- Call DC_vPrepareDCsForBlit in IntRectangle with device coordinates instead of in NtGdiRectangle with logical coordinates. Fixes updating mouse pointer.
- Update TODO.txt
svn path=/branches/reactos-yarotows/; revision=46986
- Use the attached surface bits depth when creating a compatible DC
[USER32]
- use a display DC for loading images
svn path=/branches/reactos-yarotows/; revision=46981
- move IntEngMovePointer code into GreMovePointer
- Delete the mouse cursor before mode switch, to force setting a new one after a mode switch. Fixes cursor artifacts after mode change.
- Update TODO.txt
svn path=/branches/reactos-yarotows/; revision=46976
- Remove an ASSERT in DC_Cleanup
- Improve code in PDEVOBJ_vSwitchPdev (code shamelessly stolen from Jerome's earlier commit)
- Fix up GDIINFO in PDEVOBJ_bEnablePDEV instead of EngpCreatePDEV
- Update TODO.txt
svn path=/branches/reactos-yarotows/; revision=46975
- revert unwanted change from r46964
- Use MouseSafetyOnDrawStart/End in GreExtTextOutW when we already hold the blit lock
svn path=/branches/reactos-yarotows/; revision=46969
- Revert r46960 : the correct way to go is to mark brushes as dirty and update them where needed
- Do so in GreExtTextOutW, NtGdiBitBlt, NtGdiStrecthBltMask and IntPatBlt
- Add a small hack to GreEstTextOutW so we hold the Blit lock when needed without too much pain.
svn path=/branches/reactos-yarotows/; revision=46964
Don't call IntHideDesktop and co_IntShowDesktop for now. This doesn't seem to be neccessary and fixes a bunch of problems
svn path=/branches/reactos-yarotows/; revision=46953
- Update direct DCs surface before blit if needed
- call directly ppdev in MouseSafetyOnDraw{Start,End}
- use directly the PDEVOBJ surface in mouse operations
- Add some mouse-related sanity checks
svn path=/branches/reactos-yarotows/; revision=46937
- Do not draw mouse when it has intentionnally been put away.
Fixes some mouse-related graphical glitches
svn path=/branches/reactos-yarotows/; revision=46933
- Do not create a PDEVOBJ for nothing at startup
- Create the surface for real in IntCreatePrimarySurface
svn path=/branches/reactos-yarotows/; revision=46930
- Use DC_vPrepareForBlit, DC_vFinishBlit in GreTextOutputW
- So we can get rid of MouseSafetyOnDraw{Start,End} in IntEngMaskBlt
svn path=/branches/reactos-yarotows/; revision=46911
- apply policy into DC_vPrepareDCsForBlit as in GDIOBJ_LockMultipleObjects before Physicus sees this :-D
- GDIOBJ_LockObj : return NULL when handle is NULL : more speed, less debug output
svn path=/branches/reactos-yarotows/; revision=46909
- Now we welcome GreStretchBltMask into the fabulous world of GDIOBJ_LockMultipleObjects, DC_vPrepareDCsForBlit and DC_vFinishBlit
- With the assorted MouseSafetyOnDraw{Start,End} removal
svn path=/branches/reactos-yarotows/; revision=46908
- For now, limit DC_UnlockDc to a simple GDIOBJ_LockObj
- More GDIOBJ_LockMultipleObj, DC_vPrepareDCsForBlit and DC_vFinishBlit fun
svn path=/branches/reactos-yarotows/; revision=46906
-Use GDIOBJ_LockMultipleObjs, DC_vPrepareDCsForBlit and DC_vFinishBlit in NtGdiTransparentBlt
-Get rid of MouseSafetyOnDraw{End,Start} in IntEngTransparentBlt
svn path=/branches/reactos-yarotows/; revision=46905
- Introduce DC_vPrepareDCsForBlit and DC_vFinishBlit and use them in NtGdiAlphaBlend
- Get rid of now unnecessary call for MouseSafetyOnDraw{Start,End} in IntEngAlphaBlend
- Yet Another Rewrite of GDIOBJ_LockMultipleObjs :-/ and use it in NtGdiAlphaBlend
svn path=/branches/reactos-yarotows/; revision=46902
- There is currently no need to lock more than three objects at a time, this permits code simplification/speed
- Keep the handles order in GDIOBJ_LockMultipleObjs
Still unused...
svn path=/branches/reactos-yarotows/; revision=46899
- Introduce deadlocks killer GDIOBJ_LockMultipleObjs, unused for now
- Make the PDEVOBJ DCs list a sorted list
Didicated to Physicus
svn path=/branches/reactos-yarotows/; revision=46891
-Make direct DC release shared lock on surface each time they're unlocked.
-Now they don't hold it unless they're locked themselves.
-Do not create the device surface when switching modes, this is inconsistent with the PDEVOBJ creation, which does not.
*No more "you are freeing a surface which is still hold" debug message when switching modes*
svn path=/branches/reactos-yarotows/; revision=46733
- use a macro in RegReadDisplaySettings to make things smaller
- Send WM_DISPLAYCHANGE to all toplevel windows when changing mode
- leave UserChangeDisplaySettings when mode switching failed
svn path=/branches/reactos-yarotows/; revision=46701
- EngAcquireSemaphoreShared: update dwEngAcquireCount
- DC_LockDc/DC_UnlockDc: Acquire PDEV lock only for direct DCs, in that case also update the pSurface pointer
- When copying DC states, copy the surface only for memory dcs
- after switching the mode, update system metrics and redraw the desktop window.
- Remove testdraw code.
svn path=/branches/reactos-yarotows/; revision=46658