Commit graph

53 commits

Author SHA1 Message Date
Timo Kreuzer 0372821ca0 Sync with trunk head (r48654)
svn path=/branches/reactos-yarotows/; revision=48660
2010-08-30 19:55:47 +00:00
Jérôme Gardou 8fc627931b Revert parts of r48547 which have nothing to do with the sync
svn path=/branches/reactos-yarotows/; revision=48553
2010-08-15 14:51:39 +00:00
Jérôme Gardou f9862d34b4 Sync with trunk (r48545)
svn path=/branches/reactos-yarotows/; revision=48547
2010-08-14 15:15:44 +00:00
Timo Kreuzer 1784002600 [WIN32K]
Fix a bug when premultiplying the color values: The / operator has a higher precedence than *=, so "x *= byte / 0xff", is always 0 unless byte == 0xff.

svn path=/branches/reactos-yarotows/; revision=48485
2010-08-08 07:14:11 +00:00
Jérôme Gardou 4d4f541dae [WIN32K]
- work directly with bitmap bits when alpha blending icons. This is permitted, those are API bitmaps.
  - Do not create a stretched copy of source surface in EngAlphaBlend, handle stretching in DIB functions.
  - Do so.
  - Simplify DIB alpha blending for 24 and 32 bpp, implement generic alpha blend support for other depth.

svn path=/branches/reactos-yarotows/; revision=48483
2010-08-08 00:08:39 +00:00
Jérôme Gardou 96444b43c2 Sync with trunk (48463)
svn path=/branches/reactos-yarotows/; revision=48464
2010-08-05 21:03:35 +00:00
Jérôme Gardou 787cb5551f [WIN32K]
- Finally get rid of ProbeAndConvertToBitmapV5Info
  - Rewrite renderBITMAPfromDIB, and a good bunch of DIB related functions accordingly.
  - Rewrite BITMAP_CopyBitmap into something simpler.
  - Use already existing DIB functions in IntGdiCreateDIBBrush
  - Use DIB sections in NtGdiStretchDIBitsInternal and NtGdiSetDIBits.
  - Use Bitmap hdc for NtGdiGetDIBitsInternal if there is one.

svn path=/branches/reactos-yarotows/; revision=48389
2010-08-01 12:17:35 +00:00
Jérôme Gardou fbcac4b275 [WIN32K]
- More BITMAPINFO->BITMAPV5INFO
  - Do not use PAL_BITFIELDS when creating the DIB palette and we know that it's RGB
  - PSEH-ize NtGdiCreateDIBSection

svn path=/branches/reactos-yarotows/; revision=48248
2010-07-25 11:35:45 +00:00
Jérôme Gardou eaa1cb5487 Sync with trunk (r48123)
svn path=/branches/reactos-yarotows/; revision=48145
2010-07-20 20:09:43 +00:00
Jérôme Gardou 84fd5d3369 Push sync to 48046, this time with cursoricon.c
svn path=/branches/reactos-yarotows/; revision=48049
2010-07-14 20:28:06 +00:00
Jérôme Gardou 1b3dfd946f Sync with trunk (r48042), except win32k/ntuser/cursoricon.c
***branch DOES NOT BUILD with this commit***

svn path=/branches/reactos-yarotows/; revision=48048
2010-07-14 20:15:30 +00:00
Jérôme Gardou 8de79262a5 [WIN32K]
- Remove useless chack and comment from UserDrawIconEx

svn path=/branches/reactos-yarotows/; revision=48027
2010-07-13 18:38:19 +00:00
Jérôme Gardou d25782346f [USER32]
- exchange mask and color bitmaps if needed in CreateIconIndirect
[WIN32K]
  - Simplify a bit UserDrawIconEx

svn path=/branches/reactos-yarotows/; revision=48026
2010-07-13 18:32:33 +00:00
Jérôme Gardou 4553986560 Sync with trunk (r48008)
Bets are open : will this break anything?

svn path=/branches/reactos-yarotows/; revision=48024
2010-07-13 17:46: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
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 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 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 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 4170ce0625 sync with trunk r47346
svn path=/branches/reactos-yarotows/; revision=47347
2010-05-25 10:27:42 +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 3078dd3c10 sync with trunk (r47268)
svn path=/branches/reactos-yarotows/; revision=47271
2010-05-19 03:44:15 +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 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 3d533cb7a2 Sync with trunk r47129
svn path=/branches/reactos-yarotows/; revision=47133
2010-05-08 17:23:51 +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
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 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 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 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 6638a5b899 Sync with trunk (aka 'I want my virtualbox mouse integration too')
svn path=/branches/reactos-yarotows/; revision=46732
2010-04-05 09:59:21 +00:00
Jérôme Gardou 327d8a1ac6 [WIN32K]
Also send message to desktop window with HWND_BROADCAST.

svn path=/branches/reactos-yarotows/; revision=46726
2010-04-04 23:20:02 +00:00
Jérôme Gardou 5099deb554 Fix build
svn path=/branches/reactos-yarotows/; revision=46713
2010-04-04 09:42:26 +00:00
Timo Kreuzer 25a0c069c9 [WIN32K]
- 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
2010-04-03 17:30:00 +00:00
Timo Kreuzer 705ea2a9c3 [WIN32K]
- 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
2010-04-01 22:36:40 +00:00
Timo Kreuzer 5fa6a416ca [WIN32K]
Refactor NtUserClipCursor, don't acquire user lock in UserRedrawDesktop, 

svn path=/branches/reactos-yarotows/; revision=46657
2010-04-01 22:30:44 +00:00
Timo Kreuzer 49d7aed889 Merge to trunk head (r46631)
svn path=/branches/reactos-yarotows/; revision=46633
2010-04-01 02:52:00 +00:00
Jérôme Gardou f6b83e4f45 [WIN32K]
Forgot this one

svn path=/branches/reactos-yarotows/; revision=46529
2010-03-28 22:18:45 +00:00
Jérôme Gardou aebd9f2971 [WIN32K]
More PDEVOBJ_vRelease fun

svn path=/branches/reactos-yarotows/; revision=46528
2010-03-28 22:09:45 +00:00
Jérôme Gardou b6edb50eb1 sync with trunk r46493
svn path=/branches/reactos-yarotows/; revision=46494
2010-03-27 20:19:56 +00:00
Jérôme Gardou 33f63724b1 [WIN32K]
Get rid of hVisRgn in ROS_DC_INFO, use prgnVis in DC instead

svn path=/branches/reactos-yarotows/; revision=46372
2010-03-23 23:02:00 +00:00