reactos/win32ss/gdi/eng
Oleg Dubinskiy dc483bd700
[WIN32SS:ENG] EngCreateBitmap: mark created bitmaps as API bitmaps (#4146)
CORE-17561

Set the API_BITMAP flag for bitmaps created by EngCreateBitmap().

This avoids failure when created bitmap is passed to NtGdiSelectBitmap(), since it checks for this flag and fails if it isn't set.
Otherwise, if failure occurs, the bitmap is hot handled properly.
Setting this flag outside of that function is not an option at all, because it is a public (exported) function, and in many cases it's called directly by the caller (in case with MS DDraw stack, it can be called also by dxg.sys from dxgthk!EngCreateBitmap, which directly calls win32k!EngCreateBitmap).

In particular, it allows Windows XP/2003 DirectDraw stack (ddraw.dll & dxg.sys) to properly work in ReactOS (in software emulation mode), even on real hardware. So now, a lot of DirectX 1-7 apps and games (whose can work withoug hardware acceleation), are working properly with ddraw.dll + dxg.sys replacement! Also Justin Miller (DarkFire01) confirmed that even Direct3D software emulation now also works correctly on real hardware!
2021-12-29 16:51:23 +01:00
..
i386 [WIN32K] Fix getting long value from float object 2021-03-31 18:35:31 +02:00
alphablend.c
bitblt.c [WIN32K] Add StretchBlt function ability to flip images (#3458) 2021-02-21 08:28:36 +09:00
bitblt_new.c
clip.c
copybits.c [WIN32K] Add StretchBlt function ability to flip images (#3458) 2021-02-21 08:28:36 +09:00
debug.c [FORMATTING] Remove trailing whitespace. Addendum to 34593d93. 2021-09-13 03:52:22 +02:00
device.c [WIN32K:ENG] Pass correct display name to EngpFindGraphicsDevice (#4128) 2021-12-01 18:28:45 +03:00
device.h [WIN32K] Move detection of available display devices a new fonction EngpUpdateGraphicsDeviceList 2021-07-10 16:27:44 +02:00
driverobj.c [WIN32K:ENG] In EngLockDriverObj, properly return NULL when locking failed 2021-06-09 18:27:12 +02:00
driverobj.h
drvdbg.c
eng.h
engbrush.c [REACTOS] Cleanup INIT and some PAGE section allocations 2020-11-02 21:45:31 +03:00
engevent.c
engevent.h
engmisc.c
engobjects.h
engwindow.c
error.c
float.c
floatobj.h [FORMATTING] Remove trailing whitespace. Addendum to 34593d93. 2021-09-13 03:52:22 +02:00
gradient.c
inteng.h
ldevobj.c [REACTOS] Cleanup INIT and some PAGE section allocations 2020-11-02 21:45:31 +03:00
ldevobj.h [REACTOS] Addendum to 5c7ce4475e - Fix MSVC 2015 build 2021-05-12 11:04:29 +02:00
lineto.c
mapping.c
mapping.h
math.c
mem.c
mouse.c
mouse.h
paint.c
pathobj.c
pdevobj.c [WIN32SS:GDI] Add a sanity assert 2021-09-14 17:58:23 +03:00
pdevobj.h [REACTOS] Addendum to 5c7ce4475e - Fix MSVC 2015 build 2021-05-12 11:04:29 +02:00
perfcnt.c
rlecomp.c
semaphor.c
sort.c
stretchblt.c [FORMATTING] Remove trailing whitespace. Addendum to 34593d93. 2021-09-13 03:52:22 +02:00
string.c
stubs.c [Win32SS|GDI] Implement seldom used API and update types for local DC's. 2021-09-25 11:57:26 -05:00
surface.c [WIN32SS:ENG] EngCreateBitmap: mark created bitmaps as API bitmaps (#4146) 2021-12-29 16:51:23 +01:00
surface.h Update Headers for Printing and Other 2019-08-15 21:39:26 -05:00
transblt.c
umpdstubs.c [Win32SS] Implement EngCreate/DeletePalette. 2019-09-03 14:36:20 -05:00
xlateobj.c [WIN32K] Fix spelling typo. 2019-06-23 02:12:23 +02:00
xlateobj.h