Difference between revisions of "Gdi32.dll"

From ReactOS Wiki
Jump to: navigation, search
m (changelog 0.3.4)
m (Fix commit history link)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Gdi32.dll is NOT synced with WINE, it is made by ReactOS [http://www.reactos.org/forum/viewtopic.php?f=9&t=11006#p90534 (source)]
+
{{Stub}}
  
 +
GDI32.DLL exports [[Wikipedia:Graphics Device Interface|Graphics Device Interface (GDI)]] functions that perform primitive drawing functions for output to video displays and printers. It is used, for example, in the Windows XP version of Paint. Applications call GDI functions directly to perform low-level drawing (line, rectangle, ellipse), text output, font management, and similar functions.
  
==See Also==
+
Initially, GDI supported 16 and 256 color [[Wikipedia:Enhanced Graphics Adapter|EGA]]/[[Wikipedia:VGA|VGA]] display cards and monochrome printers. The functionality has expanded over the years, and now includes support for things like [[Wikipedia:TrueType|TrueType fonts]], alpha channels, and multiple monitors.
[[GDI]]
 
  
http://en.wikipedia.org/wiki/Microsoft_Windows_library_files#Gdi32.dll
+
== Relationship with Wine ==
 +
Gdi32.dll is not synced with [[WINE]], it is made by ReactOS [http://www.reactos.org/forum/viewtopic.php?f=9&t=11006#p90534 (source)]
  
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/?view=log
+
== Code History ==
 +
{{Code history|win32ss/gdi/gdi32}}
  
== History ==
+
== See Also ==
[[ChangeLog-0.1.4]]
+
* [[GDI]]
Gdi32.dll
+
* [[wikipedia:Microsoft Windows library files#GDI32.DLL]]
  
* Begining of OpenGL support ([[James Tabor]])
+
[[Category:Development]]
 
+
[[Category:DLL]]
[[ChangeLog-0.2.2]]
 
*Very basic implementation of ExtEscape ([[Filip Navara]])
 
*Adapted GdiTransparentBlt ([[Kevin Koltzau]])
 
*Implemented GetDCOrg() ([[Andrew Greenwood]])
 
*Fix LOGFONT conversion in CreateFontIndirectA() ([[Ge van Geldorp]])
 
 
 
[[ChangeLog-0.3.0]]
 
* Gdi32 : DirectX : fixing a bug in gdientry3, found it when I wrote the doc how it should work. The doc also committed to ReactOS svn ([[Magnus Olsen]])
 
 
 
[[ChangeLog-0.3.1]]
 
* Implemented NtGdiPolyDraw, based on Wine's Implementation ([[Saveliy Tretiakov]])
 
* Fix a bug in DdDeleteDirectDrawObject, zero the DirectDraw handler. If it is successful memory is freed ([[Magnus Olsen]])
 
* Start implementation of gdientry2, for the moment it returns incorrect info and does not fill some stuff right ([[Magnus Olsen]])
 
 
 
[[ChangeLog-0.3.4]]
 
* Make OpenGL initialization thread-safe ([[Thomas Bluemel]])
 
* Fix AddFontResourceExAW parameter check ([[Timo Kreuzer]])
 
* Fix : add PatBlt and PolyPatBlt to usermode so they no longer redirect to win32k ([[Magnus Olsen]])
 
* Fix :  AddFontResourceExW, SetLastError to invaild parameter when the flags are not set. ([[Magnus Olsen]])
 
* Redirect PATHOBJ_bEnum to win32k NtGdiPATHOBJ_bEnum ([[Magnus Olsen]])
 
* Redirect PATHOBJ_bEnumClipLines to win32k NtGdiPATHOBJ_bEnumClipLines ([[Magnus Olsen]])
 
* Redirect PATHOBJ_vEnumStart to win32k NtGdiPATHOBJ_vEnumStart  ([[Magnus Olsen]])
 
* Redirect PATHOBJ_vEnumStartClipLines to win32k NtGdiPATHOBJ_vEnumStartClipLines ([[Magnus Olsen]])
 
* Redirect PATHOBJ_vGetBounds to win32k NtGdiPATHOBJ_vGetBounds ([[Magnus Olsen]])
 
* Redirect AnyLinkedFonts to win32k NtGdiAnyLinkedFonts ([[Magnus Olsen]])
 
* Redirect BRUSHOBJ_hGetColorTransform to win32k NtGdiBRUSHOBJ_hGetColorTransform ([[Magnus Olsen]])
 
* Redirect BRUSHOBJ_pvAllocRbrush to win32k NtGdiBRUSHOBJ_pvAllocRbrush ([[Magnus Olsen]])
 
* Redirect BRUSHOBJ_pvGetRbrush to NtGdiBRUSHOBJ_pvGetRbrush ([[Magnus Olsen]])
 
* Redirect BRUSHOBJ_ulGetBrushColor to NtGdiBRUSHOBJ_ulGetBrushColor ([[Magnus Olsen]])
 
* Redirect CLIPOBJ_bEnum to NtGdiCLIPOBJ_bEnum ([[Magnus Olsen]])
 
* Redirect CLIPOBJ_cEnumStart to  NtGdiCLIPOBJ_cEnumStart ([[Magnus Olsen]])
 
* Redirect CLIPOBJ_ppoGetPath to NtGdiCLIPOBJ_ppoGetPath ([[Magnus Olsen]])
 
* Remove redirect of CombineRgn and CreateBitmap. Some parts need be done in user mode, not in win32k. Implement it as a stub with the syscall until there is time to review and rewrite this code correctly ([[Magnus Olsen]])
 
* Fix: Do not redirect CreateCompatibleDC and CreateCompatibleBitmap, they need to share memory and need to do some stuff in user mode ([[Magnus Olsen]])
 
* Remove redirect of CreateDIBitmap@24 to NtGdiCreateDIBitmap@24, and create a stub for it. We need to do some stuff in user mode ([[Magnus Olsen]])
 
* Fix: CreateDiscardableBitmap shall call CreateCompatibleBitmap instead of NtGdiCreateCompatibleBitmap to keep it in usermode ([[Magnus Olsen]])
 
* Fix: CreateEllipticRgnIndirect now crashes if the parameter is NULL, duplicating behavior in all Windows NT versions tested ([[Magnus Olsen]])
 
* Fix: CreatePalette calls NtGdiCreatePaletteInternal ([[Magnus Olsen]])
 
* Remove redirect of CreatePolyPolygonRgn and implement a hack for now ([[Magnus Olsen]])
 
* Remove redirect of CreatePolygonRgn and implement a hack for now ([[Magnus Olsen]])
 
* Remove redirect of CreateRectRgn to keep it in user mode ([[Magnus Olsen]])
 
* Fix CreateRectRgnIndirect to call on CreateRectRgn to keep it in user mode and crash if its parameter is NULL, duplicating behavior in all Windows NT versions tested. ([[Magnus Olsen]])
 
* Fix CreatePenIndirect to call on CreatePen to keep it in user mode. ([[Magnus Olsen]])
 
* Implement DeviceCapabilitiesExA and DeviceCapabilitiesExW, both always return -1 ([[Magnus Olsen]])
 
* Redirect DeleteColorSpace to win32k NtGdiDeleteColorSpace ([[Magnus Olsen]])
 
* Comprehensive changes to bring ReactOS Gdi32 to a compatible state based on Feng Yuan book "Windows Graphics Programming Win32 GDI and DirectDraw". ([[James Tabor]])
 
* Add usermode checks to GetDIBits, passes 21 out of 27 tests ([[Ged Murphy]])
 
* Add GdiSetLastError to the lib instead of forwarding it straight to kernel32 ([[Ged Murphy]])
 
 
 
[[Category:BNWIP]]
 

Latest revision as of 13:15, 21 March 2019

The page Gdi32.dll is a short article on something that should have a lot more information written on it.
If you know anything else about it, you are STRONGLY encouraged to add the information in. If you are unsure of proper formatting or style, add it to the talk page or this page itself as you think best and others will help.


GDI32.DLL exports Graphics Device Interface (GDI) functions that perform primitive drawing functions for output to video displays and printers. It is used, for example, in the Windows XP version of Paint. Applications call GDI functions directly to perform low-level drawing (line, rectangle, ellipse), text output, font management, and similar functions.

Initially, GDI supported 16 and 256 color EGA/VGA display cards and monochrome printers. The functionality has expanded over the years, and now includes support for things like TrueType fonts, alpha channels, and multiple monitors.

Relationship with Wine

Gdi32.dll is not synced with WINE, it is made by ReactOS (source)

Code History

Commit history (Source code can be found in: /reactos/win32ss/gdi/gdi32)

See Also