Commit graph

189 commits

Author SHA1 Message Date
Jérôme Gardou 648fe9cf65 [WIN32K]
- Delete useless file once and for all

svn path=/branches/reactos-yarotows/; revision=47796
2010-06-17 01:31:03 +00:00
Jérôme Gardou 2d0dd58947 Hopefully fail to break anything in the process of syncing with trunk (r47786)
svn path=/branches/reactos-yarotows/; revision=47795
2010-06-17 01:25:16 +00:00
Jérôme Gardou bb23cc5ca6 [WIN32K]
- revert part of -r47735, as it's not the good fix (tm)

svn path=/branches/reactos-yarotows/; revision=47789
2010-06-16 18:50:55 +00:00
Timo Kreuzer 5f2d67cb35 Sync to trunk head (r47736)
svn path=/branches/reactos-yarotows/; revision=47746
2010-06-10 20:57:03 +00:00
Jérôme Gardou f57bcb3e25 [GDI32]
- DIB data is not mandatory in CreateDIBitmap
[WIN32K]
  - Simplify GreCreateDIBitmap
  - Surface data should be 16 bits aligned

svn path=/branches/reactos-yarotows/; revision=47735
2010-06-10 14:32:05 +00:00
Jérôme Gardou 52ba1736b3 [WIN32K]
- Split NtGdiCreateDIBitmapInternal with its Gre Counterpart
  - Set bV5ImageSize if it was not already set
  - Probe bits we're given in NtGdiSetDIBits
  - SEHize clipboard image data access
  

svn path=/branches/reactos-yarotows/; revision=47733
2010-06-10 11:36:20 +00:00
Jérôme Gardou 4b10742ca5 [WIN32K]
- check for the type of the DC to restore to decide whether we should restore the surface
Fixes yarotows specific FF3 bug

svn path=/branches/reactos-yarotows/; revision=47731
2010-06-10 00:40:09 +00:00
Timo Kreuzer a8ac489720 [WIN32K]
- Improve readability in SetBMIColor
- Only when BitCount is <= 8, calculate the number of colors in the table
- Fixes a crash with VBox driver

svn path=/branches/reactos-yarotows/; revision=47724
2010-06-09 20:36:04 +00:00
Timo Kreuzer 26a57a2a9f [WIN32K]
If pbmiSrc->bmiHeader.bV5ClrUsed is 0, calculate the number of colors from the bit depth. Fixes black taskbar icons with vbox driver on 8 bpp

svn path=/branches/reactos-yarotows/; revision=47719
2010-06-09 18:08:23 +00:00
Timo Kreuzer 02588ba9c0 [WIN32K]
Small bug big effects: Use the correct offset when copying the BITMAPINFO, fixes taskbar icons regression.

svn path=/branches/reactos-yarotows/; revision=47709
2010-06-09 11:22:19 +00:00
Timo Kreuzer 8d819d4de1 [WIN32K]
- Initialize the palettes before creating any bitmaps.
- Replace SURFACE_vSetDefaultPalette with an array of default palettes.
- Check iFormat in SURFACE_AllocSurface

svn path=/branches/reactos-yarotows/; revision=47703
2010-06-09 02:57:52 +00:00
Jérôme Gardou 974e9c0c41 [WIN32K]
- More BITMAPV5INFO fun
  - Probe max size we are asked for when converting to V5 Info
[USER32] [WIN32K]
  - CreateDIBitmap : Move safety handling to win32k, where it belongs. More code cleanness!

svn path=/branches/reactos-yarotows/; revision=47701
2010-06-09 00:08:50 +00:00
Timo Kreuzer 70f1514bfd [WIN32K]
NtGdiGetDIBitsInternal: don't use the unsafe usermode pointer after the BITMAPINFO has been converted and protect writing back the result with SEH.

svn path=/branches/reactos-yarotows/; revision=47692
2010-06-08 02:27:28 +00:00
Jérôme Gardou 8cecc274d8 [WIN32K]
- remove duplicate prototypes.
  - Add missing trail to debug print
  - replace some now superfluous checks on bitmap palette with sanity ASSERTS
  - begin using BITMAPV5HEADER as a default bitmap format, and introduce conversion to and from everything prior that.
Congratulations to BITMAPCOREHEADER, for its backward compatibility personal failure.

svn path=/branches/reactos-yarotows/; revision=47690
2010-06-08 00:40:42 +00:00
Timo Kreuzer f8a49f4c75 [WIN32K]
Introduce GreCreateBitmapEx, which has the extended functionality needed by some callers, GreCreateBitmap calls GreCreateBitmapEx to keep the simple syntax. Use it in DIB_CreateDIBSection to fix build. Also pass the size of the image (still ignored), which is needed for compressed bitmaps (we currently assume that RLEs take as much space as an uncompressed bitmap)

svn path=/branches/reactos-yarotows/; revision=47663
2010-06-07 15:55:03 +00:00
Timo Kreuzer a3214996fc [WIN32K]
Rewrite the bitmap API. There were a lot of bugs. NtGdiCreateBitmap allowed a negative height, leading to either topdown or bottomup bitmaps, a behaviour that Windows doesn't have. The function copied the bitmap bits directly from the caller to the bitmap using RtlCopyMemory, ignoring different scanline length and direction (resulting in bitmaps being upside down), not SEH protected. This function (IntSetBitmapBits) is replaced by a better solution UnsafeSetBitmapBits, that takes these things into account. The name is chosen to give a hint that the function can/should be SEH protected. IntSetBitmapBits is still there, as its retarded behaviour is actually required in some places. There were also IntCreateBitmap and IntGdiCreateBitmap, now both being replaced by GreCreateBitmap. The code that set the palette is removed, as it's already done in SURFACE_AllocSurface, here gpalRGB is replaced with gpalBGR, fixing some inverted color issues. The alignment correction in SURFACE_bSetBitmapBits is reapplied, now that the callers are behaving as they are supposed to do.

svn path=/branches/reactos-yarotows/; revision=47641
2010-06-06 22:01:41 +00:00
Timo Kreuzer 9a05924c62 [WIN32K]
Make the bitmap data for the extpens (making extpens bitmaps is a bad idea anyway) 4 bytes long instead of 3, to fulfill alignment requirements.

svn path=/branches/reactos-yarotows/; revision=47638
2010-06-06 20:56:58 +00:00
Timo Kreuzer dd95ec9a50 [WIN32K]
Disable the additional alignment code for now, it breaks selections (text / icons)

svn path=/branches/reactos-yarotows/; revision=47619
2010-06-06 11:11:30 +00:00
Timo Kreuzer b3317b3afb [WIN32K]
Add Windows compatible alignment code.

svn path=/branches/reactos-yarotows/; revision=47618
2010-06-06 09:09:04 +00:00
Timo Kreuzer 6068cac704 [WIN32K]
- Move RLE specific code to it's own file (rlecomp.c)
- Relace BitsPerFormat function with an array of UCHARs
- Rewrite surface creation. Surfaces are now allocated from one central function SURFACE_AllocSurface, which sets the size, iType, iUniq, the handle and the default palette.
- Implement SURFACE_vSetDefaultPalette, which sets the default RGB palette, based on bit depth.
- Implement SURFACE_bSetBitmapBits, wich sets cjBits, pvBits, pvScan0 and lDelta and allocates memory if neccessary.
- Use these functions for EngCreateBitmap, EngCreateDeviceBitmap, EngCreateDeviceSurface and IntCreateBitmap

svn path=/branches/reactos-yarotows/; revision=47612
2010-06-06 07:02:15 +00:00
Timo Kreuzer ca7f8096ff [WIN32K]
Once again: Do not free the memory for the bitmap bits, when you have not allocated them.

svn path=/branches/reactos-yarotows/; revision=47611
2010-06-06 06:32:01 +00:00
Timo Kreuzer f705d5861b [WIN32K]
Add another failure check to EngAllocSectionMem

svn path=/branches/reactos-yarotows/; revision=47610
2010-06-06 05:47:31 +00:00
Timo Kreuzer 98f686c8fc [WIN32K]
Do not free the memory for the bitmap bits, when you have not allocated them. Fixes bugcheck with VBox driver.

svn path=/branches/reactos-yarotows/; revision=47609
2010-06-06 05:45:36 +00:00
Timo Kreuzer 0c60cdb311 [WIN32K]
- Allocate bitmaps as kernel sections, instead of from paged pool, like it's done in windows.
- Fix SURFACE_Cleanup. It was only freeing the memory for API_BITMAPs. If memory was allocated by a driver it never got freed.
- Add BMF_RLE_HACK flag to free decompressed RLE bits
- Support FL_ZERO_MEMORY in EngAllocSectionMem
- Set SURFOBJ::iType when creating a surface

svn path=/branches/reactos-yarotows/; revision=47606
2010-06-06 03:12:56 +00:00
Timo Kreuzer 160142322e [WIN32K]
Make the SURFACE structure a bit more like the half documented windows version.

svn path=/branches/reactos-yarotows/; revision=47603
2010-06-05 21:19:41 +00:00
Timo Kreuzer d325826ccd [WIN32K]
- Simplify the logic of the mapping functions a bit, by using either FILEVIEW or ENGSECTION, not both.
- Set FILEVIEW::LastWriteTime

svn path=/branches/reactos-yarotows/; revision=47591
2010-06-05 15:58:01 +00:00
Timo Kreuzer ea194bb322 [WIN32K]
Implement EngCreateSection, EngMapSection, EngFreeSectionMem, EngAllocSectionMem, EngLoadModuleEx, EngLoadModule, EngLoadModuleForWrite, EngMapModule, EngFreeModule, EngMapFile, EngUnmapFile. Unused & untested.

svn path=/branches/reactos-yarotows/; revision=47583
2010-06-05 04:34:12 +00:00
Jérôme Gardou 6b75ed4ae3 [WIN32K] UserDrawIconEx
- There is no need to recalculate size of the Icon, we already have this piece of information
  - Draw monochrome cursor/icons, not only their mask.

svn path=/branches/reactos-yarotows/; revision=47495
2010-05-31 14:19:37 +00:00
Jérôme Gardou d0c9ca5b82 [WIN32K]
- Simplify UserDrawIconEx
  - NtUserCreateCursorIconHandle : Get Information from bitmaps even on indirect creation and fix calculation of icon height in case of monochrome icons.
Fixes ~15 user32:cursoricon winetests.

svn path=/branches/reactos-yarotows/; revision=47451
2010-05-30 16:31:56 +00:00
Jérôme Gardou 5e6e009cd6 [USER32]
- Change ChangeDisplaySettingsExA to look more like wine's one
[WIN32K]
  - Return correct value if buffer is to small in UserChangeDisplaySettings (wine tests)
  - Do not set an invalid size to the devmode we're passing ti UserChangeDisplaySettings, we might access garbage
Now all ChangeDisplaySettings related wine tests pass.

svn path=/branches/reactos-yarotows/; revision=47386
2010-05-28 21:58:33 +00:00
Jérôme Gardou de271b9b4f Sync with trunk r47367
svn path=/branches/reactos-yarotows/; revision=47369
2010-05-26 23:20:20 +00:00
Jérôme Gardou 40f4c114ee [WIN32K]
- sync subsystems/win32/win32k.objects/cliprgn.c with trunk.

svn path=/branches/reactos-yarotows/; revision=47368
2010-05-26 23:04:02 +00:00
Jérôme Gardou 5ba3469f7b [WIN32K]
- merge r47350, slightly modified to get it the yarotows way

svn path=/branches/reactos-yarotows/; revision=47366
2010-05-26 22:29:45 +00:00
Jérôme Gardou 8f153d5806 [WIN32K]
- Set right flags when reading display modes from registry
  - Implement UserEnumRegistryDisplaySettings

svn path=/branches/reactos-yarotows/; revision=47356
2010-05-25 23:45:55 +00:00
Jérôme Gardou 75e296c6be [WIN32K]
- Check devmode size in NtUserChangeDisplaySettings
  - Copy memory instead of setting fields in UserEnumDisplaySettings, so we don't lost anything.

svn path=/branches/reactos-yarotows/; revision=47355
2010-05-25 22:46:57 +00:00
Jérôme Gardou 46b40c489f [WIN32K]
- UserChangeDisplaySettings : add some checks and fixes to what was passed to us
More wine tests pass.

svn path=/branches/reactos-yarotows/; revision=47354
2010-05-25 22:17:52 +00:00
Jérôme Gardou 84f025a5a4 [WIN32K]
- Set DISPLAY_DEVICE_PRIMARY_DEVICE to Graphics device object when creating the primary device object
  - switch state flags of the graphics device objects when switching mode
  - Only compare valid fields when searching for a device mode in a device object
  - implement CDS_TEST flag in NtUserSetDisplaySettings

svn path=/branches/reactos-yarotows/; revision=47353
2010-05-25 20:24:21 +00:00
Jérôme Gardou c7b7713c5d [WIN32K]
- Initialize virtual device coordinates when creating a DC
All gdi32::mapping tests pass now

svn path=/branches/reactos-yarotows/; revision=47352
2010-05-25 14:41:44 +00:00
Jérôme Gardou 4170ce0625 sync with trunk r47346
svn path=/branches/reactos-yarotows/; revision=47347
2010-05-25 10:27:42 +00:00
Timo Kreuzer 57447bb7b6 [WIN32K]
- Simplify EBRUSHOBJ_vInit and EBRUSHOBJ_bRealizeBrush a bit more

svn path=/branches/reactos-yarotows/; revision=47304
2010-05-22 14:54:48 +00:00
Jérôme Gardou 6e208710a8 [WIN32K]
Some cleanup, no code change.

svn path=/branches/reactos-yarotows/; revision=47279
2010-05-19 17:41:56 +00:00
Timo Kreuzer 1549a8532e [WIN32K]
Simplify EXLATEOBJ_vInitXlateFromDCs and remove EXLATEOBJ_vInitBrushXlate. Less code, more fun.

svn path=/branches/reactos-yarotows/; revision=47278
2010-05-19 16:23:33 +00:00
Timo Kreuzer 3078dd3c10 sync with trunk (r47268)
svn path=/branches/reactos-yarotows/; revision=47271
2010-05-19 03:44:15 +00:00
Timo Kreuzer 7b31d4395d [WIN32K]
Add back a break that got removed by accident. Fixes icon color regression.

svn path=/branches/reactos-yarotows/; revision=47270
2010-05-19 02:36:38 +00:00
Timo Kreuzer ff39f59027 [WIN32K]
- When initializing the EXLATEOBJ to translate the solid brush color in EBRUSHOBJ_vSetSolidBrushColor, also pass the EBRUSHOBJs back color. This fixes wrong colors when the destination surface is mono (e.g. disabled buttons)

svn path=/branches/reactos-yarotows/; revision=47269
2010-05-19 01:54:43 +00:00
Jérôme Gardou 63b50165b2 sync with trunk r47227
svn path=/branches/reactos-yarotows/; revision=47228
2010-05-15 22:30:01 +00:00
Jérôme Gardou a5aa252f47 [WIN32K]
- clean up some debugging code
  - set NULL owner when setting BASEFLAG_READY_TO_DIE, so that the handle can be freed.

svn path=/branches/reactos-yarotows/; revision=47217
2010-05-15 09:57:36 +00:00
Jérôme Gardou b0aa4f5a2c [WIN32K]
- clean up some unused code
  - use GDIOBJ_IncrementShareCount on Timo suggestion
  - use ppdev semaphore as sort criterion in DC_vPrepareDCsForBlit, spotted by Timo
  - Get ownership before freeing the object in GDIOBJ_ShareUnlockObjByPtr, as whoever set it ready to die had the right to 

svn path=/branches/reactos-yarotows/; revision=47205
2010-05-14 20:19:46 +00:00
Jérôme Gardou 10e3e81202 [WIN32K]
- IntGdiCreateBitmap : assign a default palette to the bitmap created
  - Use IntCreateBitmap where we already have a bitmap to assign
  - delete all mono bitmaps related hacks in xlateobj implementation, as now all bitmaps should have a palette
Fixes last immediately visible glitches when switching modes

svn path=/branches/reactos-yarotows/; revision=47203
2010-05-14 18:51:48 +00:00
Jérôme Gardou 421a63ff44 [WIN32K]
- Get rid of hDIBPalette in SURFACE structure
This allows more code cleanness

svn path=/branches/reactos-yarotows/; revision=47190
2010-05-12 22:56:24 +00:00
Jérôme Gardou 38a2853dc1 [WIN32K]
- remove a comment which is not true anymore
[USER32]
  - Create a bitmap which is compatible with the bitmap'we are copying in CreateSmallIcon
Icons are back in taskbar

svn path=/branches/reactos-yarotows/; revision=47143
2010-05-09 13:07:47 +00:00
Jérôme Gardou c3f13756b2 [WIN32K]
- Set NULL owner to copied bitmap when creating indirect icons
  - Rewrite UserDrawIconEx, inspired from wine code
  - fix palette creation for 16 bits DIB
  - Always assign a palette to bitmap created with BITMAP_CopyBitmap and IntCreateCompatibeBitmap.
[USER32]
  - Use DIB section when creating icons
  - Use something called "header"
Now mode switching is almost glitchless.

svn path=/branches/reactos-yarotows/; revision=47140
2010-05-09 11:35:36 +00:00
Jérôme Gardou db93f2d307 [WIN32K]
- attach devinfo->hpalDefault to the pdevobj after enabling it
  - attach this palette to surfaces attached to this pdevobj through EngModifySurface
  - use this palette in several place
Partially fixes icon drawing after mode switch

svn path=/branches/reactos-yarotows/; revision=47137
2010-05-08 22:10:41 +00:00
Jérôme Gardou 3d533cb7a2 Sync with trunk r47129
svn path=/branches/reactos-yarotows/; revision=47133
2010-05-08 17:23:51 +00:00
Jérôme Gardou 0a68d5e2e4 [WIN32K]
- Allow NtGdiDeleteObjectApp to delete a permanent DC, as windows does it.
This is not exactly what windows does, but no one should use a DeletedDC'ed DC anyway.
Fixes "No! You Naughty Application" debug spam and some wine tests

svn path=/branches/reactos-yarotows/; revision=47131
2010-05-08 16:41:41 +00:00
Jérôme Gardou 9e7867ddde revert unwanted changes
svn path=/branches/reactos-yarotows/; revision=47120
2010-05-07 23:36:49 +00:00
Jérôme Gardou a7eaab78db some leftover from last sync : GDIDBG macros expect handles, not index
svn path=/branches/reactos-yarotows/; revision=47119
2010-05-07 23:33:11 +00:00
Jérôme Gardou 147736390c Delete win32k.h, it's useless now
svn path=/branches/reactos-yarotows/; revision=47118
2010-05-07 07:44:50 +00:00
Jérôme Gardou 88c9e7c6e8 Sync with trunk (r47116), hopefully without breaking anything.
svn path=/branches/reactos-yarotows/; revision=47117
2010-05-07 07:41:13 +00:00
Jérôme Gardou 56da974d0c [WIN32K]
- Assign a correct pdevmode to the pdevobj when creating it.

svn path=/branches/reactos-yarotows/; revision=47114
2010-05-06 11:46:48 +00:00
Jérôme Gardou 1b5e323072 [GDI32]
- 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
2010-04-26 21:49:09 +00:00
Timo Kreuzer 99d15ff5ab Update TODO.txt
svn path=/branches/reactos-yarotows/; revision=46995
2010-04-22 19:14:15 +00:00
Giannis Adamopoulos 0e1eed4d24 [win32csr]
-Handle WM_DISPLAYCHANGE

svn path=/branches/reactos-yarotows/; revision=46994
2010-04-22 19:10:46 +00:00
Timo Kreuzer 600a901153 [WIN32K]
- 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
2010-04-22 03:53:49 +00:00
Jérôme Gardou ef35c1e75c [WIN32K]
- 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
2010-04-21 15:52:52 +00:00
Timo Kreuzer 2250e691f1 [WIN32K]
- 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
2010-04-21 13:44:06 +00:00
Timo Kreuzer 634c608726 [WIN32K]
- 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
2010-04-21 12:21:53 +00:00
Jérôme Gardou bb632b9d29 [WIN32K]
- revert r46970, it does not work after all...
  - add missing trailing character in debug print

svn path=/branches/reactos-yarotows/; revision=46974
2010-04-21 09:24:15 +00:00
Jérôme Gardou 11483181a8 [WIN32K]
- Physicus : In theory the text brush should never be changed
So be it, it works anyway...

svn path=/branches/reactos-yarotows/; revision=46970
2010-04-20 22:26:03 +00:00
Jérôme Gardou d8020bbbe1 [WIN32K]
- revert unwanted change from r46964
  - Use MouseSafetyOnDrawStart/End in GreExtTextOutW when we already hold the blit lock

svn path=/branches/reactos-yarotows/; revision=46969
2010-04-20 22:20:55 +00:00
Jérôme Gardou 2f9569c2e5 [WIN32K]
- really update Text and BackGround brushes when asked to

svn path=/branches/reactos-yarotows/; revision=46966
2010-04-20 20:44:43 +00:00
Jérôme Gardou f2a22bfe7a [WIN32K]
- Update brushes at the good moment in different places

svn path=/branches/reactos-yarotows/; revision=46965
2010-04-20 20:23:15 +00:00
Jérôme Gardou 650b476440 [WIN32K]
- 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
2010-04-20 19:31:45 +00:00
Jérôme Gardou 75f07ae3b4 [WIN32K]
- Reinitialize EBRUSHOBJs instead of marking them as dirty when switching modes

svn path=/branches/reactos-yarotows/; revision=46960
2010-04-20 17:55:56 +00:00
Timo Kreuzer db0c72e132 [WIN32K]
Fix LPARAM parameter when sending WM_DISPLAYCHANGE, fixes resizing the desktop.

svn path=/branches/reactos-yarotows/; revision=46954
2010-04-19 23:36:31 +00:00
Timo Kreuzer 43d5c84818 [WIN32K]
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
2010-04-19 23:22:17 +00:00
Jérôme Gardou b1f448326a [WIN32K]
- update clipping, GraphicCaps, brush, pen, background and charset of the DC after a mode change

svn path=/branches/reactos-yarotows/; revision=46952
2010-04-19 22:51:40 +00:00
Jérôme Gardou 202a5fc5c7 [WIN32K]
- Do not access surface before holding ppdev Lock

svn path=/branches/reactos-yarotows/; revision=46951
2010-04-19 21:56:44 +00:00
Jérôme Gardou 8188ea3959 [WIN32K]
- Prepare DC for blit before initializing EBRUSHOBJ

svn path=/branches/reactos-yarotows/; revision=46950
2010-04-19 21:48:17 +00:00
Jérôme Gardou 0988b6c773 Grotesque mistake...
svn path=/branches/reactos-yarotows/; revision=46943
2010-04-19 16:04:59 +00:00
Jérôme Gardou 14be9f22bd [WIN32K]
- HW accelerated StretchBlt when possible in EngAlphaBlend

svn path=/branches/reactos-yarotows/; revision=46941
2010-04-19 15:15:17 +00:00
Jérôme Gardou 82ad88f1ab [WIN32K]
- Get rid of IntEngBitBltEx, it's Exness isn't needed anymore

svn path=/branches/reactos-yarotows/; revision=46940
2010-04-19 15:08:03 +00:00
Jérôme Gardou 75108218f7 [WIN32K]
- move mouse related ppdev locking to Gre* functions
Spotted by Physicus

svn path=/branches/reactos-yarotows/; revision=46939
2010-04-19 14:17:26 +00:00
Jérôme Gardou e918eb7c29 [WIN32K]
- 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
2010-04-19 13:52:37 +00:00
Jérôme Gardou 083f2b4f4a [WIN32K]
- Finally get rid of SURFACE::BitsLock

svn path=/branches/reactos-yarotows/; revision=46935
2010-04-19 00:56:25 +00:00
Jérôme Gardou 75dff0cf6a [WIN32k]
- Don't hold the DC blit lock during the whole GreTextOutW function.

svn path=/branches/reactos-yarotows/; revision=46934
2010-04-19 00:51:32 +00:00
Jérôme Gardou a98902ef25 [WIN32K]
- Do not draw mouse when it has intentionnally been put away.
Fixes some mouse-related graphical glitches

svn path=/branches/reactos-yarotows/; revision=46933
2010-04-19 00:11:30 +00:00
Jérôme Gardou ce0a7a6e3b [WIN32K]
- call DC_vPrepareDCsForBlit / DC_vFinishBlit in the right place

svn path=/branches/reactos-yarotows/; revision=46932
2010-04-18 23:48:11 +00:00
Jérôme Gardou 18f210877b [WIN32K]
- Do not create a PDEVOBJ for nothing at startup
  - Create the surface for real in IntCreatePrimarySurface

svn path=/branches/reactos-yarotows/; revision=46930
2010-04-18 23:15:02 +00:00
Jérôme Gardou 1e00973f21 grotesque copy-paste mistake
svn path=/branches/reactos-yarotows/; revision=46926
2010-04-18 17:36:11 +00:00
Jérôme Gardou 4cc8e60093 [WIN32K]
- The last DC_vPrepareForBlit/DC_vFinishBlit commit

svn path=/branches/reactos-yarotows/; revision=46925
2010-04-18 17:33:03 +00:00
Jérôme Gardou 11131896db [WIN32K]
- More DC_vPrepareDCsForBlit/DC_vFinishBlit with assorted MouseSafetyOnDrawEnd removals

svn path=/branches/reactos-yarotows/; revision=46923
2010-04-18 17:19:36 +00:00
Jérôme Gardou 62473c84e9 Sync to trunk (r46918)
svn path=/branches/reactos-yarotows/; revision=46920
2010-04-18 14:06:07 +00:00
Jérôme Gardou 53222b46da [WIN32K]
- 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
2010-04-17 22:48:44 +00:00
Jérôme Gardou fa0a6275a9 [WIN32K]
- 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
2010-04-17 20:51:42 +00:00
Jérôme Gardou d2655f9e72 [WIN32K]
- 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
2010-04-17 20:27:32 +00:00
Jérôme Gardou 663acbc064 [WIN32K]
- 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
2010-04-17 15:24:10 +00:00
Jérôme Gardou 42073050d4 [WIN32K]
-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
2010-04-17 14:46:05 +00:00
Jérôme Gardou 859f9c2a13 Fix typo...
svn path=/branches/reactos-yarotows/; revision=46903
2010-04-17 14:24:50 +00:00
Jérôme Gardou 0cdfd4399d [WIN32K]
- 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
2010-04-17 14:20:48 +00:00