ReactOS 0.4.15-dev-7924-g5949c20
dxeng.c File Reference
#include <win32k.h>
#include <debug.h>
Include dependency graph for dxeng.c:

Go to the source code of this file.

Functions

ULONG APIENTRY DxEngDispUniq (VOID)
 
BOOL APIENTRY DxEngGetDeviceGammaRamp (HDEV hPDev, PGAMMARAMP Ramp)
 
PDC APIENTRY DxEngLockDC (HDC hDC)
 
BOOLEAN APIENTRY DxEngUnlockDC (PDC pDC)
 
BOOLEAN APIENTRY DxEngLockShareSem (VOID)
 
BOOLEAN APIENTRY DxEngUnlockShareSem (VOID)
 
BOOLEAN APIENTRY DxEngSetDeviceGammaRamp (HDEV hPDev, PGAMMARAMP Ramp, BOOL Test)
 
DWORD_PTR APIENTRY DxEngGetHdevData (HDEV hDev, DXEGSHDEVDATA Type)
 
BOOLEAN APIENTRY DxEngSetHdevData (HDEV hDev, DXEGSHDEVDATA Type, DWORD_PTR Data)
 
DWORD_PTR APIENTRY DxEngGetDCState (HDC hDC, DWORD type)
 
BOOLEAN APIENTRY DxEngIncDispUniq (VOID)
 
BOOLEAN APIENTRY DxEngLockHdev (HDEV hDev)
 
BOOLEAN APIENTRY DxEngUnlockHdev (HDEV hDev)
 
BOOLEAN APIENTRY DxEngReferenceHdev (HDEV hDev)
 
BOOLEAN APIENTRY DxEngNUIsTermSrv (VOID)
 
BOOLEAN APIENTRY DxEngRedrawDesktop (VOID)
 
ULONG APIENTRY DxEngVisRgnUniq (VOID)
 
HDEV *APIENTRY DxEngEnumerateHdev (HDEV *hdev)
 
HDC APIENTRY DxEngCreateMemoryDC (HDEV hDev)
 
DWORD APIENTRY DxEngScreenAccessCheck (VOID)
 
BOOLEAN APIENTRY DxEngIsHdevLockedByCurrentThread (HDEV hDev)
 
BOOLEAN APIENTRY DxEngUnreferenceHdev (HDEV hDev)
 
HDC APIENTRY DxEngGetDesktopDC (ULONG DcType, BOOL EmptyDC, BOOL ValidatehWnd)
 
BOOLEAN APIENTRY DxEngDeleteDC (HDC hdc, BOOL Force)
 
BOOLEAN APIENTRY DxEngCleanDC (HDC hdc)
 
BOOL APIENTRY DxEngSetDCOwner (HGDIOBJ hObject, DWORD OwnerMask)
 
BOOLEAN APIENTRY DxEngSetDCState (HDC hDC, DWORD SetType, DWORD Set)
 
HBITMAP APIENTRY DxEngSelectBitmap (HDC hdc, HBITMAP hbmp)
 
BOOLEAN APIENTRY DxEngSetBitmapOwner (HBITMAP hbmp, ULONG ulOwner)
 
BOOLEAN APIENTRY DxEngDeleteSurface (HSURF hsurf)
 
DWORD APIENTRY DxEngGetSurfaceData (DWORD x1, DWORD x2)
 
SURFOBJ *APIENTRY DxEngAltLockSurface (HSURF hsurf)
 
DWORD APIENTRY DxEngUploadPaletteEntryToSurface (DWORD x1, DWORD x2, DWORD x3, DWORD x4)
 
DWORD APIENTRY DxEngMarkSurfaceAsDirectDraw (DWORD x1, DWORD x2)
 
DWORD APIENTRY DxEngSelectPaletteToSurface (DWORD x1, DWORD x2)
 
DWORD APIENTRY DxEngSyncPaletteTableWithDevice (DWORD x1, DWORD x2)
 
DWORD APIENTRY DxEngSetPaletteState (DWORD x1, DWORD x2, DWORD x3)
 
DWORD APIENTRY DxEngGetRedirectionBitmap (DWORD x1)
 
DWORD APIENTRY DxEngLoadImage (DWORD x1, DWORD x2)
 
DWORD APIENTRY DxEngSpTearDownSprites (DWORD x1, DWORD x2, DWORD x3)
 
DWORD APIENTRY DxEngSpUnTearDownSprites (DWORD x1, DWORD x2, DWORD x3)
 
DWORD APIENTRY DxEngSpSpritesVisible (DWORD x1)
 

Variables

HSEMAPHORE ghsemShareDevLock = NULL
 
ULONG gcEngFuncs = DXENG_INDEX_DxEngLoadImage + 1
 
DRVFN gaEngFuncs []
 
ULONG gulVisRgnUniqueness
 

Function Documentation

◆ DxEngAltLockSurface()

SURFOBJ *APIENTRY DxEngAltLockSurface ( HSURF  hsurf)

Definition at line 800 of file dxeng.c.

801{
802 DPRINT("ReactX Calling : DxEngAltLockSurface\n");
803
804 return EngLockSurface(hsurf);
805}
#define DPRINT
Definition: sndvol32.h:71
ENGAPI SURFOBJ *APIENTRY EngLockSurface(_In_ HSURF hsurf)
Definition: surface.c:607

◆ DxEngCleanDC()

BOOLEAN APIENTRY DxEngCleanDC ( HDC  hdc)

Definition at line 717 of file dxeng.c.

718{
719 return IntGdiCleanDC(hdc);
720}
BOOL FASTCALL IntGdiCleanDC(HDC hDC)
Definition: dcstate.c:73
HDC hdc
Definition: main.c:9

◆ DxEngCreateMemoryDC()

HDC APIENTRY DxEngCreateMemoryDC ( HDEV  hDev)

Definition at line 654 of file dxeng.c.

655{
657}
@ DCTYPE_MEMORY
Definition: dc.h:42
HDC FASTCALL IntGdiCreateDisplayDC(HDEV hDev, ULONG DcType, BOOL EmptyDC)
Definition: dclife.c:1063
#define FALSE
Definition: types.h:117

◆ DxEngDeleteDC()

BOOLEAN APIENTRY DxEngDeleteDC ( HDC  hdc,
BOOL  Force 
)

Definition at line 707 of file dxeng.c.

708{
709 return IntGdiDeleteDC(hdc, Force);
710}
_Inout_ PVCB _In_ BOOLEAN Force
Definition: cdprocs.h:1417
BOOL FASTCALL IntGdiDeleteDC(HDC, BOOL)
Definition: dclife.c:892

◆ DxEngDeleteSurface()

BOOLEAN APIENTRY DxEngDeleteSurface ( HSURF  hsurf)

Definition at line 781 of file dxeng.c.

782{
783 DPRINT("ReactX Calling : DxEngDeleteSurface\n");
784
785 return EngDeleteSurface(hsurf);
786}
ENGAPI BOOL APIENTRY EngDeleteSurface(_In_ _Post_ptr_invalid_ HSURF hsurf)
Definition: surface.c:567

◆ DxEngDispUniq()

ULONG APIENTRY DxEngDispUniq ( VOID  )

Definition at line 80 of file dxeng.c.

81{
82 DPRINT("ReactX Calling : DxEngDispUniq\n");
83 return GdiHandleTable->flDeviceUniq;
84}
#define GdiHandleTable
Definition: win32nt.h:37

◆ DxEngEnumerateHdev()

HDEV *APIENTRY DxEngEnumerateHdev ( HDEV *  hdev)

Definition at line 642 of file dxeng.c.

643{
644 /* FIXME: Enumerate all drivers in win32k */
646 return FALSE;
647}
#define UNIMPLEMENTED
Definition: debug.h:115

◆ DxEngGetDCState()

DWORD_PTR APIENTRY DxEngGetDCState ( HDC  hDC,
DWORD  type 
)

Definition at line 450 of file dxeng.c.

452{
453 PDC pDC = DC_LockDc(hDC);
454 DWORD_PTR retVal = 0;
455
456 DPRINT("ReactX Calling : DxEngGetDCState, type: %lu\n", type);
457
458 if (pDC)
459 {
460 switch (type)
461 {
462 case 1:
463 retVal = (DWORD_PTR) pDC->fs & DC_FULLSCREEN;
464 break;
465 case 2:
466 /* Return the complexity of the visible region. */
467 retVal = (DWORD_PTR) REGION_Complexity(pDC->prgnVis);
468 break;
469 case 3:
470 {
471 /* Return the HDEV of this DC. */
472 retVal = (DWORD_PTR) pDC->ppdev;
473 break;
474 }
475 default:
476 /* If a valid type is not found, zero is returned */
477 DPRINT1("Warning: did not find type %lu\n", type);
478 break;
479 }
480 DC_UnlockDc(pDC);
481 }
482
483 DPRINT("retVal: %08Ix\n", retVal);
484
485 return retVal;
486}
static HDC hDC
Definition: 3dtext.c:33
#define DPRINT1
Definition: precomp.h:8
FORCEINLINE VOID DC_UnlockDc(PDC pdc)
Definition: dc.h:238
@ DC_FULLSCREEN
Definition: dc.h:30
FORCEINLINE PDC DC_LockDc(HDC hdc)
Definition: dc.h:220
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
Definition: polytest.cpp:41
#define DWORD_PTR
Definition: treelist.c:76
uint32_t DWORD_PTR
Definition: typedefs.h:65
INT FASTCALL REGION_Complexity(PREGION prgn)
Definition: region.c:554

◆ DxEngGetDesktopDC()

HDC APIENTRY DxEngGetDesktopDC ( ULONG  DcType,
BOOL  EmptyDC,
BOOL  ValidatehWnd 
)

Definition at line 697 of file dxeng.c.

698{
699 return UserGetDesktopDC(DcType, EmptyDC, ValidatehWnd);
700}
HDC FASTCALL UserGetDesktopDC(ULONG DcType, BOOL bAltDc, BOOL ValidatehWnd)
Definition: desktop.c:1574

◆ DxEngGetDeviceGammaRamp()

BOOL APIENTRY DxEngGetDeviceGammaRamp ( HDEV  hPDev,
PGAMMARAMP  Ramp 
)

Definition at line 107 of file dxeng.c.

108{
109 DPRINT("ReactX Calling : DxEngGetDeviceGammaRamp\n");
110 return IntGetDeviceGammaRamp(hPDev, Ramp);
111}
BOOL FASTCALL IntGetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp)
Definition: icm.c:92

◆ DxEngGetHdevData()

DWORD_PTR APIENTRY DxEngGetHdevData ( HDEV  hDev,
DXEGSHDEVDATA  Type 
)

Definition at line 280 of file dxeng.c.

282{
283 DWORD_PTR retVal = 0;
284 PPDEVOBJ PDev = (PPDEVOBJ)hDev;
285
286 DPRINT("ReactX Calling : DxEngGetHdevData, Type: %d\n", Type);
287
288#if 1
289 DPRINT("hDev: %p\n", hDev);
290#endif
291
292 switch ( Type )
293 {
295 DPRINT("requested DxEGShDevData_Surface\n");
296 retVal = (DWORD_PTR) PDev->pSurface; // ptr to Surface handle.
297 break;
299 DPRINT("requested DxEGShDevData_hSpooler\n");
300 retVal = (DWORD_PTR) PDev->hSpooler;
301 break;
303 DPRINT("requested DxEGShDevData_DitherFmt\n");
304 retVal = (DWORD_PTR) PDev->devinfo.iDitherFormat;
305 break;
307 DPRINT("requested DxEGShDevData_FxCaps\n");
308 retVal = (DWORD_PTR) PDev->devinfo.flGraphicsCaps;
309 break;
311 DPRINT("requested DxEGShDevData_FxCaps2\n");
312 retVal = (DWORD_PTR) PDev->devinfo.flGraphicsCaps2;
313 break;
315 DPRINT("requested DxEGShDevData_DrvFuncs\n");
316 retVal = (DWORD_PTR) &PDev->DriverFunctions;
317 break;
319 DPRINT("requested DxEGShDevData_dhpdev\n");
320 retVal = (DWORD_PTR) PDev->dhpdev; // DHPDEV
321 break;
323 DPRINT("requested DxEGShDevData_eddg\n");
324 retVal = (DWORD_PTR) PDev->pEDDgpl;
325 break;
327 DPRINT("requested DxEGShDevData_dd_locks\n");
328 retVal = (DWORD_PTR) PDev->cDirectDrawDisableLocks;
329 break;
331 DPRINT("requested DxEGShDevData_dd_flags\n");
332 retVal = (DWORD_PTR) PDev->DxDd_Flags;
333 break;
335 DPRINT("requested DxEGShDevData_disable\n");
336 retVal = (DWORD_PTR) PDev->flFlags & PDEV_DISABLED;
337 break;
339 DPRINT("requested DxEGShDevData_metadev\n");
340 retVal = (DWORD_PTR) PDev->flFlags & PDEV_META_DEVICE;
341 break;
343 DPRINT("requested DxEGShDevData_display\n");
344 retVal = (DWORD_PTR) PDev->flFlags & PDEV_DISPLAY;
345 break;
347 DPRINT("requested DxEGShDevData_Parent\n");
348 retVal = (DWORD_PTR) PDev->ppdevParent;
349 break;
351 DPRINT("requested DxEGShDevData_OpenRefs\n");
352 retVal = (DWORD_PTR) PDev->cPdevOpenRefs != 0;
353 break;
355 DPRINT("requested DxEGShDevData_palette\n");
356 retVal = (DWORD_PTR) PDev->gdiinfo.flRaster & RC_PALETTE;
357 break;
359 DPRINT("requested DxEGShDevData_ldev\n");
360 retVal = (DWORD_PTR) PDev->pldev;
361 break;
363 DPRINT("requested DxEGShDevData_GDev\n");
364 retVal = (DWORD_PTR) PDev->pGraphicsDevice; // P"GRAPHICS_DEVICE"
365 break;
367 DPRINT("requested DxEGShDevData_clonedev\n");
368 retVal = (DWORD_PTR) PDev->flFlags & PDEV_CLONE_DEVICE;
369 break;
370 default:
371 // TODO: Make this default a bit more useful.
372 break;
373 }
374
375#if 1
376 DPRINT("retVal: %08Ix\n", retVal);
377#endif
378
379 return retVal;
380}
Type
Definition: Type.h:7
@ DxEGShDevData_OpenRefs
Definition: dxeng.h:66
@ DxEGShDevData_DrvFuncs
Definition: dxeng.h:57
@ DxEGShDevData_DitherFmt
Definition: dxeng.h:54
@ DxEGShDevData_FxCaps
Definition: dxeng.h:55
@ DxEGShDevData_dd_flags
Definition: dxeng.h:61
@ DxEGShDevData_Surface
Definition: dxeng.h:52
@ DxEGShDevData_eddg
Definition: dxeng.h:59
@ DxEGShDevData_display
Definition: dxeng.h:64
@ DxEGShDevData_ldev
Definition: dxeng.h:68
@ DxEGShDevData_palette
Definition: dxeng.h:67
@ DxEGShDevData_clonedev
Definition: dxeng.h:70
@ DxEGShDevData_disable
Definition: dxeng.h:62
@ DxEGShDevData_Parent
Definition: dxeng.h:65
@ DxEGShDevData_metadev
Definition: dxeng.h:63
@ DxEGShDevData_hSpooler
Definition: dxeng.h:53
@ DxEGShDevData_FxCaps2
Definition: dxeng.h:56
@ DxEGShDevData_dd_locks
Definition: dxeng.h:60
@ DxEGShDevData_dhpdev
Definition: dxeng.h:58
@ DxEGShDevData_GDev
Definition: dxeng.h:69
struct _PDEVOBJ * PPDEVOBJ
Definition: mdevobj.h:6
@ PDEV_DISABLED
Definition: pdevobj.h:14
@ PDEV_DISPLAY
Definition: pdevobj.h:7
@ PDEV_META_DEVICE
Definition: pdevobj.h:20
@ PDEV_CLONE_DEVICE
Definition: pdevobj.h:22
FLONG flGraphicsCaps
Definition: winddi.h:390
ULONG iDitherFormat
Definition: winddi.h:395
FLONG flGraphicsCaps2
Definition: winddi.h:399
ULONG flRaster
Definition: winddi.h:887
LONG cPdevOpenRefs
Definition: pdevobj.h:85
struct _PDEVOBJ * ppdevParent
Definition: pdevobj.h:86
PSURFACE pSurface
Definition: pdevobj.h:124
FLONG DxDd_Flags
Definition: pdevobj.h:131
struct _LDEVOBJ * pldev
Definition: pdevobj.h:119
struct _EDD_DIRECTDRAW_GLOBAL * pEDDgpl
Definition: pdevobj.h:148
FLONG flFlags
Definition: pdevobj.h:87
GDIINFO gdiinfo
Definition: pdevobj.h:123
HANDLE hSpooler
Definition: pdevobj.h:125
DHPDEV dhpdev
Definition: pdevobj.h:120
PGRAPHICS_DEVICE pGraphicsDevice
Definition: pdevobj.h:127
DRIVER_FUNCTIONS DriverFunctions
Definition: pdevobj.h:137
ULONG cDirectDrawDisableLocks
Definition: pdevobj.h:104
DEVINFO devinfo
Definition: pdevobj.h:122
#define RC_PALETTE
Definition: wingdi.h:790

◆ DxEngGetRedirectionBitmap()

DWORD APIENTRY DxEngGetRedirectionBitmap ( DWORD  x1)

Definition at line 857 of file dxeng.c.

858{
859 return FALSE; // Normal return.
860}

◆ DxEngGetSurfaceData()

DWORD APIENTRY DxEngGetSurfaceData ( DWORD  x1,
DWORD  x2 
)

Definition at line 791 of file dxeng.c.

792{
794 return FALSE;
795}

◆ DxEngIncDispUniq()

BOOLEAN APIENTRY DxEngIncDispUniq ( VOID  )

Definition at line 503 of file dxeng.c.

504{
505 DPRINT("ReactX Calling : DxEngIncDispUniq\n");
506
507 InterlockedIncrement((LONG*)&GdiHandleTable->flDeviceUniq);
508 return TRUE;
509}
#define InterlockedIncrement
Definition: armddk.h:53
#define TRUE
Definition: types.h:120
long LONG
Definition: pedump.c:60

◆ DxEngIsHdevLockedByCurrentThread()

BOOLEAN APIENTRY DxEngIsHdevLockedByCurrentThread ( HDEV  hDev)

Definition at line 675 of file dxeng.c.

676{ // Based on EngIsSemaphoreOwnedByCurrentThread w/o the Ex call.
677 PERESOURCE pSem = (PERESOURCE)(((PPDEVOBJ)hDev)->hsemDevLock);
678 return pSem->OwnerEntry.OwnerThread == (ERESOURCE_THREAD)PsGetCurrentThread();
679}
#define PsGetCurrentThread()
Definition: env_spec_w32.h:81
ERESOURCE * PERESOURCE
Definition: env_spec_w32.h:595
ULONG_PTR ERESOURCE_THREAD
Definition: extypes.h:208

◆ DxEngLoadImage()

DWORD APIENTRY DxEngLoadImage ( DWORD  x1,
DWORD  x2 
)

Definition at line 865 of file dxeng.c.

866{
868 return FALSE;
869}

◆ DxEngLockDC()

PDC APIENTRY DxEngLockDC ( HDC  hDC)

Definition at line 131 of file dxeng.c.

132{
133 DPRINT("ReactX Calling : DxEngLockDC\n");
134 return DC_LockDc(hDC);
135}

◆ DxEngLockHdev()

BOOLEAN APIENTRY DxEngLockHdev ( HDEV  hDev)

Definition at line 529 of file dxeng.c.

530{
531 PPDEVOBJ ppdev = (PPDEVOBJ)hDev;
533
534 DPRINT("ReactX Calling : DxEngLockHdev\n");
535
536 DPRINT("hDev: %p\n", hDev);
537
539
540 if (Resource)
541 {
543 ExAcquireResourceExclusiveLite( Resource , TRUE); // Lock monitor.
544 }
545 return TRUE;
546}
_Acquires_exclusive_lock_ Resource _Acquires_shared_lock_ Resource _Inout_ PERESOURCE Resource
Definition: cdprocs.h:843
#define ExAcquireResourceExclusiveLite(res, wait)
Definition: env_spec_w32.h:615
#define KeEnterCriticalRegion()
Definition: ke_x.h:88
if(dx< 0)
Definition: linetemp.h:194
HSEMAPHORE hsemDevLock
Definition: pdevobj.h:89

◆ DxEngLockShareSem()

BOOLEAN APIENTRY DxEngLockShareSem ( VOID  )

Definition at line 179 of file dxeng.c.

180{
181 DPRINT("ReactX Calling : DxEngLockShareSem\n");
182 if(!ghsemShareDevLock) ghsemShareDevLock = EngCreateSemaphore(); // Hax, should be in dllmain.c
184 return TRUE;
185}
HSEMAPHORE ghsemShareDevLock
Definition: dxeng.c:15
HSEMAPHORE WINAPI EngCreateSemaphore(VOID)
Definition: eng.c:75
ENGAPI VOID APIENTRY EngAcquireSemaphore(_Inout_ HSEMAPHORE hsem)

◆ DxEngMarkSurfaceAsDirectDraw()

DWORD APIENTRY DxEngMarkSurfaceAsDirectDraw ( DWORD  x1,
DWORD  x2 
)

Definition at line 819 of file dxeng.c.

820{
822 return FALSE;
823}

◆ DxEngNUIsTermSrv()

BOOLEAN APIENTRY DxEngNUIsTermSrv ( VOID  )

Definition at line 600 of file dxeng.c.

601{
602 /* FIXME: ReactOS does not suport terminal server yet, we can not check if we got connections or not */
604 return FALSE;
605}

◆ DxEngRedrawDesktop()

BOOLEAN APIENTRY DxEngRedrawDesktop ( VOID  )

Definition at line 615 of file dxeng.c.

616{
618 return TRUE;
619}
VOID APIENTRY UserRedrawDesktop(VOID)
Definition: desktop.c:1599

◆ DxEngReferenceHdev()

BOOLEAN APIENTRY DxEngReferenceHdev ( HDEV  hDev)

Definition at line 586 of file dxeng.c.

587{
589 /* ALWAYS return true */
590 return TRUE;
591}
FORCEINLINE VOID PDEVOBJ_vReference(_In_ PPDEVOBJ ppdev)
Definition: pdevobj.h:160

◆ DxEngScreenAccessCheck()

DWORD APIENTRY DxEngScreenAccessCheck ( VOID  )

Definition at line 662 of file dxeng.c.

663{
665
666 /* We're cheating here and telling dxg.sys it has always had permissions to access the screen */
667 return TRUE;
668}

◆ DxEngSelectBitmap()

HBITMAP APIENTRY DxEngSelectBitmap ( HDC  hdc,
HBITMAP  hbmp 
)

Definition at line 761 of file dxeng.c.

762{
763 DPRINT("ReactX Calling : DxEngSelectBitmap\n");
764
765 return NtGdiSelectBitmap(hdc, hbmp);
766}
HBITMAP hbmp
__kernel_entry W32KAPI HBITMAP APIENTRY NtGdiSelectBitmap(_In_ HDC hdc, _In_ HBITMAP hbm)

◆ DxEngSelectPaletteToSurface()

DWORD APIENTRY DxEngSelectPaletteToSurface ( DWORD  x1,
DWORD  x2 
)

Definition at line 828 of file dxeng.c.

829{
831 return FALSE;
832}

◆ DxEngSetBitmapOwner()

BOOLEAN APIENTRY DxEngSetBitmapOwner ( HBITMAP  hbmp,
ULONG  ulOwner 
)

Definition at line 771 of file dxeng.c.

772{
773 DPRINT("ReactX Calling : DxEngSetBitmapOwner\n");
774
775 return GreSetBitmapOwner(hbmp, ulOwner);
776}
BOOL NTAPI GreSetBitmapOwner(_In_ HBITMAP hbmp, _In_ ULONG ulOwner)
Definition: bitmaps.c:17

◆ DxEngSetDCOwner()

BOOL APIENTRY DxEngSetDCOwner ( HGDIOBJ  hObject,
DWORD  OwnerMask 
)

Definition at line 725 of file dxeng.c.

726{
727 DPRINT("ReactX Calling : DxEngSetDCOwner\n");
728
729 return GreSetDCOwner(hObject, OwnerMask);
730}
BOOL NTAPI GreSetDCOwner(HDC hdc, ULONG ulOwner)
Definition: dclife.c:455

◆ DxEngSetDCState()

BOOLEAN APIENTRY DxEngSetDCState ( HDC  hDC,
DWORD  SetType,
DWORD  Set 
)

Definition at line 737 of file dxeng.c.

738{
739 BOOLEAN Ret = FALSE;
740 PDC pDC = DC_LockDc(hDC);
741
742 if (pDC)
743 {
744 if (SetType == 1)
745 {
746 if ( Set )
747 pDC->fs |= DC_FULLSCREEN;
748 else
749 pDC->fs &= ~DC_FULLSCREEN;
750 Ret = TRUE;
751 }
752 DC_UnlockDc(pDC);
753 return Ret; // Everything else returns FALSE.
754 }
755 return Ret;
756}
unsigned char BOOLEAN
static BOOL Set
Definition: pageheap.c:10

◆ DxEngSetDeviceGammaRamp()

BOOLEAN APIENTRY DxEngSetDeviceGammaRamp ( HDEV  hPDev,
PGAMMARAMP  Ramp,
BOOL  Test 
)

Definition at line 233 of file dxeng.c.

234{
235 DPRINT("ReactX Calling : DxEngSetDeviceGammaRamp\n");
236 return IntSetDeviceGammaRamp(hPDev, Ramp, Test);
237}
BOOL FASTCALL IntSetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp, BOOL Test)
Definition: icm.c:284

◆ DxEngSetHdevData()

BOOLEAN APIENTRY DxEngSetHdevData ( HDEV  hDev,
DXEGSHDEVDATA  Type,
DWORD_PTR  Data 
)

Definition at line 406 of file dxeng.c.

409{
410 BOOLEAN retVal = FALSE; // Default, no set.
411
412 DPRINT("ReactX Calling : DxEngSetHdevData, Type: %d\n", Type);
413
415 {
416 DPRINT("Assigning value: %Iu\n", Data);
417 ((PPDEVOBJ)hDev)->cDirectDrawDisableLocks = Data;
418 retVal = TRUE; // Set
419 }
420 return retVal;
421}

◆ DxEngSetPaletteState()

DWORD APIENTRY DxEngSetPaletteState ( DWORD  x1,
DWORD  x2,
DWORD  x3 
)

Definition at line 846 of file dxeng.c.

847{
849 return FALSE;
850}

◆ DxEngSpSpritesVisible()

DWORD APIENTRY DxEngSpSpritesVisible ( DWORD  x1)

Definition at line 892 of file dxeng.c.

893{
895 return FALSE;
896}

◆ DxEngSpTearDownSprites()

DWORD APIENTRY DxEngSpTearDownSprites ( DWORD  x1,
DWORD  x2,
DWORD  x3 
)

Definition at line 874 of file dxeng.c.

875{
877 return FALSE;
878}

◆ DxEngSpUnTearDownSprites()

DWORD APIENTRY DxEngSpUnTearDownSprites ( DWORD  x1,
DWORD  x2,
DWORD  x3 
)

Definition at line 883 of file dxeng.c.

884{
886 return FALSE;
887}

◆ DxEngSyncPaletteTableWithDevice()

DWORD APIENTRY DxEngSyncPaletteTableWithDevice ( DWORD  x1,
DWORD  x2 
)

Definition at line 837 of file dxeng.c.

838{
840 return FALSE;
841}

◆ DxEngUnlockDC()

BOOLEAN APIENTRY DxEngUnlockDC ( PDC  pDC)

Definition at line 155 of file dxeng.c.

156{
157 DPRINT("ReactX Calling : DxEngUnlockDC\n");
158 DC_UnlockDc(pDC);
159 return TRUE;
160}

◆ DxEngUnlockHdev()

BOOLEAN APIENTRY DxEngUnlockHdev ( HDEV  hDev)

Definition at line 566 of file dxeng.c.

567{
568 PPDEVOBJ ppdev = (PPDEVOBJ)hDev;
570
571 DPRINT("ReactX Calling : DxEngUnlockHdev\n");
572
573 if (Resource)
574 {
577 }
578 return TRUE;
579}
#define KeLeaveCriticalRegion()
Definition: ke_x.h:119
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
Definition: resource.c:1822

◆ DxEngUnlockShareSem()

BOOLEAN APIENTRY DxEngUnlockShareSem ( VOID  )

Definition at line 202 of file dxeng.c.

203{
204 DPRINT("ReactX Calling : DxEngUnlockShareSem\n");
206 return TRUE;
207}
VOID WINAPI EngReleaseSemaphore(IN HSEMAPHORE hsem)
Definition: eng.c:235

◆ DxEngUnreferenceHdev()

BOOLEAN APIENTRY DxEngUnreferenceHdev ( HDEV  hDev)

Definition at line 686 of file dxeng.c.

687{
689 return TRUE; // Always true.
690}
VOID NTAPI PDEVOBJ_vRelease(_Inout_ PPDEVOBJ ppdev)
Definition: pdevobj.c:105

◆ DxEngUploadPaletteEntryToSurface()

DWORD APIENTRY DxEngUploadPaletteEntryToSurface ( DWORD  x1,
DWORD  x2,
DWORD  x3,
DWORD  x4 
)

Definition at line 810 of file dxeng.c.

811{
813 return FALSE;
814}

◆ DxEngVisRgnUniq()

ULONG APIENTRY DxEngVisRgnUniq ( VOID  )

Definition at line 629 of file dxeng.c.

630{
631 DPRINT("ReactX Calling : DxEngVisRgnUniq\n");
632
633 return gulVisRgnUniqueness;
634}
ULONG gulVisRgnUniqueness
Definition: dxeng.c:621

Variable Documentation

◆ gaEngFuncs

DRVFN gaEngFuncs[]

Definition at line 18 of file dxeng.c.

Referenced by DxDdStartupDxGraphics().

◆ gcEngFuncs

Definition at line 17 of file dxeng.c.

Referenced by DxDdStartupDxGraphics().

◆ ghsemShareDevLock

HSEMAPHORE ghsemShareDevLock = NULL

Definition at line 15 of file dxeng.c.

Referenced by DxEngLockShareSem(), and DxEngUnlockShareSem().

◆ gulVisRgnUniqueness

ULONG gulVisRgnUniqueness

Definition at line 621 of file dxeng.c.

Referenced by DxEngVisRgnUniq().