Difference between revisions of "Win32k.sys"

From ReactOS Wiki
Jump to: navigation, search
m
m
Line 74: Line 74:
 
* Palette fixes ([[Filip Navara]])
 
* Palette fixes ([[Filip Navara]])
 
* Move desktop window proc from WIN32K to CSRSS ([[Gé van Geldorp]])
 
* Move desktop window proc from WIN32K to CSRSS ([[Gé van Geldorp]])
 +
 +
[[ChangeLog-0.2.1]]
 +
* Fixed window activation bug (GA_ROOTOWNER -> GA_ROOT) ([[Filip Navara]])
 +
* Preparing for the win32k emulated mouse cursor support ([[Filip Navara]])
 +
* Implemented MenuItemFromPoint() ([[Thomas Weidenmueller]])
 +
* Fixed hittest-code so it returns HTMENU properly ([[Thomas Weidenmueller]])
 +
* Implemented multiline menu bars ([[Thomas Weidenmueller]])
 +
* Release mutex on error exit ([[Gé van Geldorp]])
 +
* GetAncestor() doesn't set a last-error if the handle passed is the desktop window, it just returns NULL ([[Thomas Weidenmueller]])
 +
* Don't activate disabled windows ([[Thomas Weidenmueller]])
 +
* Release window object when destroying window children and skip only children that have a different parent window ([[Thomas Weidenmueller]])
 +
* Activate modal dialog when clicking on a disabled window ([[Thomas Weidenmueller]])
 +
* Fix cross-thread WM_SETTEXT messages ([[Gé van Geldorp]])
 +
* Dynamically load fonts on startup
 +
* Seperated the Caption font and the icon title font ([[Richard Campbell]])
 +
* Fixed missing release of window objects ([[Thomas Weidenmueller]])
 +
* Resolve two GDI handle leaks ([[Filip Navara]])
 +
* Faster GDI handle allocation strategy ([[Filip Navara]])
 +
* Update DC when moving a window. Fixes bug #5 ([[Gé van Geldorp]], [[Filip Navara]])
 +
* Handle NULL window as special case when computing visible region for GetDC. Fixes bug #59 ([[Gé van Geldorp]])
 +
* Fix NtUserScroll[WindowEx/DC] ([[Filip Navara]])
 +
* Implemented ChildWindowFromPoint(Ex) ([[Richard Campbell]])
 +
* Rewritten NtGdiEllipse with improved and optimized algorithm ([[Filip Navara]])
 +
* Use window thread instead of current thread to obtain desktop ([[Gé van Geldorp]])
 +
* Fix race condition when one thread changes the update region of a window and another thread retrieves a paint message for that window ([[Gé van Geldorp]])
 +
* Don't callback from kernel to usermode if the thread is exiting; fixes bug #83 ([[Gé van Geldorp]])
 +
* Clip region to be bitblt'ed against the valid source region. Fixes bug #152 ([[Gé van Geldorp]])
 +
* Fixed software mouse pointer handling to work correctly with MouseSafety* routines ([[Filip Navara]])
 +
* Fixed algorithm for 4BPP bitblts with ROP != SRCCOPY ([[Filip Navara]])
 +
* Reclaculate window client size in NtUserSetMenu even if the window isn't visible ([[Filip Navara]])
 +
* Properly move child windows in NtUserSetWindowPos ([[Filip Navara]])
 +
* Very basic implementation of ExtEscape ([[Filip Navara]])
 +
* Fix race condition resulting in WM_xBUTTONUP sometimes being delivered before WM_xBUTTONDOWN ([[Gé van Geldorp]])
 +
* Fix double click ([[Gé van Geldorp]])
 +
* Implemented horizontal and vertical gradients in GradientFill() ([[Thomas Weidenmueller]])
 +
* Use GradientFill() for gradient captions ([[Thomas Weidenmueller]])
 +
* Don't copy from/to outside the visible screen region ([[Gé van Geldorp]])
 +
* Return more correct error codes from NtUserRegisterClassExWOW ([[Filip Navara]])
 +
* Delete atom in NtUserUnregisterClass ([[Filip Navara]])
 +
* Corrected DC locking in NtGdiSetDIBColorTable ([[Filip Navara]])
 +
* Check region handles in NtGdiPaintRgn ([[Filip Navara]])
 +
* Added EngGetCurrentProcessId() and EngGetCurrentThreadId() ([[Thomas Weidenmueller]])
 +
* Fixed clipping code in NtGdiGetPixel ([[James Pritchard]])
 +
* Fix distortion by StretchBlt ([[Filip Navara]], [[Waldo Alvarez Cañizares]])
 +
* Implement menu handling ([[Gé van Geldorp]])
 +
* Top level windows have menus, child windows have IDs ([[Gé van Geldorp]])
 +
* SPI_GETNONCLIENTMETRICS and SPI_GETICONTITLELOGFONT now load their settings from the registry ([[Richard Campbell]])
 +
* Fixed WindowFromPoint() to search backwards ([[Thomas Weidenmueller]])
 +
* Fixed 8 8 bpp, 1616 bpp and 32 32 bpp stretchblitting ([[Waldo Alvarez Cañizares]])
 +
* Added pool tags for better debugging ([[Thomas Weidenmueller]])
 +
* Fixed a few race conditions in painting code ([[Filip Navara]])
 +
* Fix double release of fast mutex ([[Gé van Geldorp]])
 +
* Fixed releasing of window object in IntValidateParent and NtUserRedrawWindow ([[Thomas Weidenmueller]])
 +
* Fixed potencial deadlock in IntPaintWindows ([[Thomas Weidenmueller]])
 +
* Modifed DceUpdateVisRgn to correctly handle situations when DceGetVisRgn returns NULL ([[Filip Navara]])
 +
* Fixed the alternative version of VIS_ComputeVisibleRegion and made it the one and only, because it's smaller and faster than the original one ([[Filip Navara]])
 +
* Prevent double unlinking of window ([[Filip Navara]])
 +
* Implement keyboard navigation for menus ([[Gé van Geldorp]])
 +
* Fix mono -> color bitblts ([[Gé van Geldorp]])
 +
* Fixed WindowFromPoint() to send WM_NCHITTEST messages to windows that belong to the current process ([[Thomas Weidenmueller]])
 +
* Fix bug #129 ([[Filip Navara]])
 +
* Fixed bug 167 ([[Art Yerkes]])

Revision as of 00:50, 5 March 2012

See Arwinss page for the alternative win32 subsystem implementation effort.

See also Win32k_design_guideline

http://en.wikipedia.org/wiki/Windows_API#Overview

The Graphics Device Interface Provides functionality for outputting graphical content to monitors, printers and other output devices. It resides in gdi.exe on 16-bit Windows, and gdi32.dll on 32-bit Windows in user-mode. Kernel-mode GDI support is provided by win32k.sys which communicates directly with the graphics driver.

http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/?view=log

ChangeLog-0.0.21

  • Win32k: Initial implementation of regions and clipping
  • Win32k: Object cleanup on process deletion Eugene Ingerman
  • Win32k: Initial window painting code, bitmap loading David Welch
  • Win32k: Callbacks and messaging improvements David Welch
  • Win32k: Mouse messaging David Welch
  • Win32k: DIB Fixes Jason Filby

ChangeLog-0.1.0

  • Win32k: Rewrote gdi (Engxxx) objects,
  • Made GDI object locking exclusive,
  • Added functions for locking multiple objects,
  • Color translation now works properly,
  • Implemented several DC functions (Eugene Ingerman)
  • Win32k: Initial scrollbar code (Jason Filby)

ChangeLog-0.1.1

ChangeLog-0.1.4

ChangeLog-0.1.5

ChangeLog-0.2.0

ChangeLog-0.2.1