Commit graph

114 commits

Author SHA1 Message Date
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
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