ReactOS  0.4.15-dev-5463-g138eb58
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 804 of file dxeng.c.

805 {
806  DPRINT1("ReactX Calling : DxEngAltLockSurface \n");
807 
808  return EngLockSurface(hsurf);
809 }
ENGAPI SURFOBJ *APIENTRY EngLockSurface(_In_ HSURF hsurf)
Definition: surface.c:607
#define DPRINT1
Definition: precomp.h:8

◆ DxEngCleanDC()

BOOLEAN APIENTRY DxEngCleanDC ( HDC  hdc)

Definition at line 721 of file dxeng.c.

722 {
723  return IntGdiCleanDC(hdc);
724 }
BOOL FASTCALL IntGdiCleanDC(HDC hDC)
Definition: dcstate.c:73
HDC hdc
Definition: main.c:9

◆ DxEngCreateMemoryDC()

HDC APIENTRY DxEngCreateMemoryDC ( HDEV  hDev)

Definition at line 657 of file dxeng.c.

658 {
660 }
#define FALSE
Definition: types.h:117
HDC FASTCALL IntGdiCreateDisplayDC(HDEV hDev, ULONG DcType, BOOL EmptyDC)
Definition: dclife.c:1063

◆ DxEngDeleteDC()

BOOLEAN APIENTRY DxEngDeleteDC ( HDC  hdc,
BOOL  Force 
)

Definition at line 711 of file dxeng.c.

712 {
713  return IntGdiDeleteDC(hdc, Force);
714 }
BOOL FASTCALL IntGdiDeleteDC(HDC, BOOL)
Definition: dclife.c:892
HDC hdc
Definition: main.c:9
_Inout_ PVCB _In_ BOOLEAN Force
Definition: cdprocs.h:1415

◆ DxEngDeleteSurface()

BOOLEAN APIENTRY DxEngDeleteSurface ( HSURF  hsurf)

Definition at line 785 of file dxeng.c.

786 {
787  DPRINT1("ReactX Calling : DxEngDeleteSurface \n");
788 
789  return EngDeleteSurface(hsurf);
790 }
ENGAPI BOOL APIENTRY EngDeleteSurface(_In_ _Post_ptr_invalid_ HSURF hsurf)
Definition: surface.c:567
#define DPRINT1
Definition: precomp.h:8

◆ DxEngDispUniq()

ULONG APIENTRY DxEngDispUniq ( VOID  )

Definition at line 79 of file dxeng.c.

80 {
81  DPRINT1("ReactX Calling : DxEngDispUniq\n");
82  return GdiHandleTable->flDeviceUniq;
83 }
#define GdiHandleTable
Definition: win32nt.h:35
#define DPRINT1
Definition: precomp.h:8

◆ DxEngEnumerateHdev()

HDEV* APIENTRY DxEngEnumerateHdev ( HDEV *  hdev)

Definition at line 645 of file dxeng.c.

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

◆ DxEngGetDCState()

DWORD_PTR APIENTRY DxEngGetDCState ( HDC  hDC,
DWORD  type 
)

Definition at line 451 of file dxeng.c.

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

◆ DxEngGetDesktopDC()

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

Definition at line 701 of file dxeng.c.

702 {
703  return UserGetDesktopDC(DcType, EmptyDC, ValidatehWnd);
704 }
HDC FASTCALL UserGetDesktopDC(ULONG DcType, BOOL bAltDc, BOOL ValidatehWnd)
Definition: desktop.c:1574

◆ DxEngGetDeviceGammaRamp()

BOOL APIENTRY DxEngGetDeviceGammaRamp ( HDEV  hPDev,
PGAMMARAMP  Ramp 
)

Definition at line 106 of file dxeng.c.

107 {
108  DPRINT1("ReactX Calling : DxEngGetDeviceGammaRamp\n");
109  return IntGetDeviceGammaRamp(hPDev, Ramp);
110 }
BOOL FASTCALL IntGetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp)
Definition: icm.c:92
#define DPRINT1
Definition: precomp.h:8

◆ DxEngGetHdevData()

DWORD_PTR APIENTRY DxEngGetHdevData ( HDEV  hDev,
DXEGSHDEVDATA  Type 
)

Definition at line 281 of file dxeng.c.

283 {
284  DWORD_PTR retVal = 0;
285  PPDEVOBJ PDev = (PPDEVOBJ)hDev;
286 
287  DPRINT1("ReactX Calling : DxEngGetHdevData DXEGSHDEVDATA : %ld\n", Type);
288 
289 #if 1
290  DPRINT1("HDEV hDev %p\n", hDev);
291 #endif
292 
293  switch ( Type )
294  {
296  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_Surface\n");
297  retVal = (DWORD_PTR) PDev->pSurface; // ptr to Surface handle.
298  break;
300  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_hSpooler\n");
301  retVal = (DWORD_PTR) PDev->hSpooler;
302  break;
304  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_DitherFmt\n");
305  retVal = (DWORD_PTR) PDev->devinfo.iDitherFormat;
306  break;
308  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_FxCaps\n");
309  retVal = (DWORD_PTR) PDev->devinfo.flGraphicsCaps;
310  break;
312  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_FxCaps2\n");
313  retVal = (DWORD_PTR) PDev->devinfo.flGraphicsCaps2;
314  break;
316  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_DrvFuncs\n");
317  retVal = (DWORD_PTR) &PDev->DriverFunctions;
318  break;
320  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_dhpdev\n");
321  retVal = (DWORD_PTR) PDev->dhpdev; // DHPDEV
322  break;
323  case DxEGShDevData_eddg:
324  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_eddg\n");
325  retVal = (DWORD_PTR) PDev->pEDDgpl;
326  break;
328  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_dd_nCount\n");
329  retVal = (DWORD_PTR) PDev->DxDd_nCount;
330  break;
332  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_dd_flags\n");
333  retVal = (DWORD_PTR) PDev->DxDd_Flags;
334  break;
336  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_disable\n");
337  retVal = (DWORD_PTR) PDev->flFlags & PDEV_DISABLED;
338  break;
340  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_metadev\n");
341  retVal = (DWORD_PTR) PDev->flFlags & PDEV_META_DEVICE;
342  break;
344  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_display\n");
345  retVal = (DWORD_PTR) PDev->flFlags & PDEV_DISPLAY;
346  break;
348  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_Parent\n");
349  retVal = (DWORD_PTR) PDev->ppdevParent;
350  break;
352  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_OpenRefs\n");
353  retVal = (DWORD_PTR) PDev->cPdevOpenRefs != 0;
354  break;
356  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_palette\n");
357  retVal = (DWORD_PTR) PDev->gdiinfo.flRaster & RC_PALETTE;
358  break;
359  case DxEGShDevData_ldev:
360  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_ldev\n");
361  retVal = (DWORD_PTR) PDev->pldev;
362  break;
363  case DxEGShDevData_GDev:
364  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_GDev\n");
365  retVal = (DWORD_PTR) PDev->pGraphicsDevice; // P"GRAPHICS_DEVICE"
366  break;
368  DPRINT1("requested DXEGSHDEVDATA DxEGShDevData_clonedev\n");
369  retVal = (DWORD_PTR) PDev->flFlags & PDEV_CLONE_DEVICE;
370  break;
371 
372  default:
373  break;
374  }
375 
376 #if 1
377  DPRINT1("return value %08lx\n", retVal);
378 #endif
379 
380  return retVal;
381 
382 }
DHPDEV dhpdev
Definition: pdevobj.h:120
struct _LDEVOBJ * pldev
Definition: pdevobj.h:119
#define DWORD_PTR
Definition: treelist.c:76
GDIINFO gdiinfo
Definition: pdevobj.h:123
DRIVER_FUNCTIONS DriverFunctions
Definition: pdevobj.h:137
FLONG flFlags
Definition: pdevobj.h:87
LONG cPdevOpenRefs
Definition: pdevobj.h:85
struct _PDEVOBJ * PPDEVOBJ
Definition: mdevobj.h:6
ULONG iDitherFormat
Definition: winddi.h:395
DEVINFO devinfo
Definition: pdevobj.h:122
#define RC_PALETTE
Definition: wingdi.h:790
struct _PDEVOBJ * ppdevParent
Definition: pdevobj.h:86
Type
Definition: Type.h:6
HANDLE hSpooler
Definition: pdevobj.h:125
ULONG flRaster
Definition: winddi.h:887
uint32_t DWORD_PTR
Definition: typedefs.h:65
ULONG DxDd_nCount
Definition: pdevobj.h:143
struct _EDD_DIRECTDRAW_GLOBAL * pEDDgpl
Definition: pdevobj.h:149
FLONG DxDd_Flags
Definition: pdevobj.h:131
FLONG flGraphicsCaps
Definition: winddi.h:390
PSURFACE pSurface
Definition: pdevobj.h:124
#define DPRINT1
Definition: precomp.h:8
PGRAPHICS_DEVICE pGraphicsDevice
Definition: pdevobj.h:127
FLONG flGraphicsCaps2
Definition: winddi.h:399

◆ DxEngGetRedirectionBitmap()

DWORD APIENTRY DxEngGetRedirectionBitmap ( DWORD  x1)

Definition at line 861 of file dxeng.c.

862 {
863  return FALSE; // Normal return.
864 }
#define FALSE
Definition: types.h:117

◆ DxEngGetSurfaceData()

DWORD APIENTRY DxEngGetSurfaceData ( DWORD  x1,
DWORD  x2 
)

Definition at line 795 of file dxeng.c.

796 {
798  return FALSE;
799 }
#define FALSE
Definition: types.h:117
#define UNIMPLEMENTED
Definition: debug.h:115

◆ DxEngIncDispUniq()

BOOLEAN APIENTRY DxEngIncDispUniq ( VOID  )

Definition at line 504 of file dxeng.c.

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

◆ DxEngIsHdevLockedByCurrentThread()

BOOLEAN APIENTRY DxEngIsHdevLockedByCurrentThread ( HDEV  hDev)

Definition at line 678 of file dxeng.c.

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

◆ DxEngLoadImage()

DWORD APIENTRY DxEngLoadImage ( DWORD  x1,
DWORD  x2 
)

Definition at line 869 of file dxeng.c.

870 {
872  return FALSE;
873 }
#define FALSE
Definition: types.h:117
#define UNIMPLEMENTED
Definition: debug.h:115

◆ DxEngLockDC()

PDC APIENTRY DxEngLockDC ( HDC  hDC)

Definition at line 131 of file dxeng.c.

132 {
133  DPRINT1("ReactX Calling : DxEngLockDC\n");
134  return DC_LockDc(hDC);
135 }
FORCEINLINE PDC DC_LockDc(HDC hdc)
Definition: dc.h:220
static HDC hDC
Definition: 3dtext.c:33
#define DPRINT1
Definition: precomp.h:8

◆ DxEngLockHdev()

BOOLEAN APIENTRY DxEngLockHdev ( HDEV  hDev)

Definition at line 530 of file dxeng.c.

531 {
532  PPDEVOBJ ppdev = (PPDEVOBJ)hDev;
534 
535  DPRINT1("ReactX Calling : DxEngLockHdev \n");
536 
537  DPRINT1("hDev : 0x%p\n",hDev);
538 
539  Resource = (PERESOURCE)ppdev->hsemDevLock;
540 
541  if (Resource)
542  {
544  ExAcquireResourceExclusiveLite( Resource , TRUE); // Lock monitor.
545  }
546  return TRUE;
547 }
#define TRUE
Definition: types.h:120
if(dx==0 &&dy==0)
Definition: linetemp.h:174
BOOLEAN NTAPI ExAcquireResourceExclusiveLite(IN PERESOURCE Resource, IN BOOLEAN Wait)
Definition: resource.c:770
ERESOURCE * PERESOURCE
Definition: env_spec_w32.h:595
_Acquires_exclusive_lock_ Resource _Acquires_shared_lock_ Resource _Inout_ PERESOURCE Resource
Definition: cdprocs.h:843
struct _PDEVOBJ * PPDEVOBJ
Definition: mdevobj.h:6
HSEMAPHORE hsemDevLock
Definition: pdevobj.h:89
#define KeEnterCriticalRegion()
Definition: ke_x.h:88
#define DPRINT1
Definition: precomp.h:8

◆ DxEngLockShareSem()

BOOLEAN APIENTRY DxEngLockShareSem ( VOID  )

Definition at line 180 of file dxeng.c.

181 {
182  DPRINT1("ReactX Calling : DxEngLockShareSem\n");
183  if(!ghsemShareDevLock) ghsemShareDevLock = EngCreateSemaphore(); // Hax, should be in dllmain.c
185  return TRUE;
186 }
#define TRUE
Definition: types.h:120
ENGAPI VOID APIENTRY EngAcquireSemaphore(_Inout_ HSEMAPHORE hsem)
#define DPRINT1
Definition: precomp.h:8
HSEMAPHORE WINAPI EngCreateSemaphore(VOID)
Definition: eng.c:75
HSEMAPHORE ghsemShareDevLock
Definition: dxeng.c:13

◆ DxEngMarkSurfaceAsDirectDraw()

DWORD APIENTRY DxEngMarkSurfaceAsDirectDraw ( DWORD  x1,
DWORD  x2 
)

Definition at line 823 of file dxeng.c.

824 {
826  return FALSE;
827 }
#define FALSE
Definition: types.h:117
#define UNIMPLEMENTED
Definition: debug.h:115

◆ DxEngNUIsTermSrv()

BOOLEAN APIENTRY DxEngNUIsTermSrv ( VOID  )

Definition at line 602 of file dxeng.c.

603 {
604  /* FIXME: ReactOS does not suport terminal server yet, we can not check if we got connections or not */
606  return FALSE;
607 }
#define FALSE
Definition: types.h:117
#define UNIMPLEMENTED
Definition: debug.h:115

◆ DxEngRedrawDesktop()

BOOLEAN APIENTRY DxEngRedrawDesktop ( VOID  )

Definition at line 617 of file dxeng.c.

618 {
620  return TRUE;
621 }
#define TRUE
Definition: types.h:120
VOID APIENTRY UserRedrawDesktop(VOID)
Definition: desktop.c:1599

◆ DxEngReferenceHdev()

BOOLEAN APIENTRY DxEngReferenceHdev ( HDEV  hDev)

Definition at line 588 of file dxeng.c.

589 {
591  /* ALWAYS return true */
592  return TRUE;
593 }
FORCEINLINE VOID PDEVOBJ_vReference(_In_ PPDEVOBJ ppdev)
Definition: pdevobj.h:161
#define TRUE
Definition: types.h:120

◆ DxEngScreenAccessCheck()

DWORD APIENTRY DxEngScreenAccessCheck ( VOID  )

Definition at line 665 of file dxeng.c.

666 {
668 
669  /* We're cheating here and telling dxg.sys it has always had permissions to access the screen */
670  return TRUE;
671 }
#define TRUE
Definition: types.h:120
#define UNIMPLEMENTED
Definition: debug.h:115

◆ DxEngSelectBitmap()

HBITMAP APIENTRY DxEngSelectBitmap ( HDC  hdc,
HBITMAP  hbmp 
)

Definition at line 765 of file dxeng.c.

766 {
767  DPRINT1("ReactX Calling : DxEngSelectBitmap \n");
768 
769  return NtGdiSelectBitmap(hdc, hbmp);
770 }
__kernel_entry W32KAPI HBITMAP APIENTRY NtGdiSelectBitmap(_In_ HDC hdc, _In_ HBITMAP hbm)
HBITMAP hbmp
HDC hdc
Definition: main.c:9
#define DPRINT1
Definition: precomp.h:8

◆ DxEngSelectPaletteToSurface()

DWORD APIENTRY DxEngSelectPaletteToSurface ( DWORD  x1,
DWORD  x2 
)

Definition at line 832 of file dxeng.c.

833 {
835  return FALSE;
836 }
#define FALSE
Definition: types.h:117
#define UNIMPLEMENTED
Definition: debug.h:115

◆ DxEngSetBitmapOwner()

BOOLEAN APIENTRY DxEngSetBitmapOwner ( HBITMAP  hbmp,
ULONG  ulOwner 
)

Definition at line 775 of file dxeng.c.

776 {
777  DPRINT1("ReactX Calling : DxEngSetBitmapOwner \n");
778 
779  return GreSetBitmapOwner(hbmp, ulOwner);
780 }
HBITMAP hbmp
BOOL NTAPI GreSetBitmapOwner(_In_ HBITMAP hbmp, _In_ ULONG ulOwner)
Definition: bitmaps.c:17
#define DPRINT1
Definition: precomp.h:8

◆ DxEngSetDCOwner()

BOOL APIENTRY DxEngSetDCOwner ( HGDIOBJ  hObject,
DWORD  OwnerMask 
)

Definition at line 729 of file dxeng.c.

730 {
731  DPRINT1("ReactX Calling : DxEngSetDCOwner \n");
732 
733  return GreSetDCOwner(hObject, OwnerMask);
734 }
BOOL NTAPI GreSetDCOwner(HDC hdc, ULONG ulOwner)
Definition: dclife.c:455
#define DPRINT1
Definition: precomp.h:8

◆ DxEngSetDCState()

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

Definition at line 741 of file dxeng.c.

742 {
743  BOOLEAN Ret = FALSE;
744  PDC pDC = DC_LockDc(hDC);
745 
746  if (pDC)
747  {
748  if (SetType == 1)
749  {
750  if ( Set )
751  pDC->fs |= DC_FULLSCREEN;
752  else
753  pDC->fs &= ~DC_FULLSCREEN;
754  Ret = TRUE;
755  }
756  DC_UnlockDc(pDC);
757  return Ret; // Everything else returns FALSE.
758  }
759  return Ret;
760 }
FORCEINLINE PDC DC_LockDc(HDC hdc)
Definition: dc.h:220
#define TRUE
Definition: types.h:120
static BOOL Set
Definition: pageheap.c:10
#define FALSE
Definition: types.h:117
unsigned char BOOLEAN
Definition: polytest.cpp:40
static HDC hDC
Definition: 3dtext.c:33
FORCEINLINE VOID DC_UnlockDc(PDC pdc)
Definition: dc.h:238

◆ DxEngSetDeviceGammaRamp()

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

Definition at line 234 of file dxeng.c.

235 {
236  DPRINT1("ReactX Calling : DxEngSetDeviceGammaRamp\n");
237  return IntSetDeviceGammaRamp(hPDev, Ramp, Test);
238 }
BOOL FASTCALL IntSetDeviceGammaRamp(HDEV hPDev, PGAMMARAMP Ramp, BOOL Test)
Definition: icm.c:284
#define DPRINT1
Definition: precomp.h:8

◆ DxEngSetHdevData()

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

Definition at line 408 of file dxeng.c.

411 {
412  BOOLEAN retVal = FALSE; // Default, no set.
413 
414  DPRINT1("ReactX Calling : DxEngSetHdevData DXEGSHDEVDATA : %ld\n", Type);
415 
416  if ( Type == DxEGShDevData_dd_nCount )
417  {
418  ((PPDEVOBJ)hDev)->DxDd_nCount = Data;
419  retVal = TRUE; // Set
420  }
421  return retVal;
422 }
#define TRUE
Definition: types.h:120
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG _In_opt_ PVOID Data
Definition: wdfdevice.h:4527
#define FALSE
Definition: types.h:117
unsigned char BOOLEAN
struct _PDEVOBJ * PPDEVOBJ
Definition: mdevobj.h:6
Type
Definition: Type.h:6
#define DPRINT1
Definition: precomp.h:8

◆ DxEngSetPaletteState()

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

Definition at line 850 of file dxeng.c.

851 {
853  return FALSE;
854 }
#define FALSE
Definition: types.h:117
#define UNIMPLEMENTED
Definition: debug.h:115

◆ DxEngSpSpritesVisible()

DWORD APIENTRY DxEngSpSpritesVisible ( DWORD  x1)

Definition at line 896 of file dxeng.c.

897 {
899  return FALSE;
900 }
#define FALSE
Definition: types.h:117
#define UNIMPLEMENTED
Definition: debug.h:115

◆ DxEngSpTearDownSprites()

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

Definition at line 878 of file dxeng.c.

879 {
881  return FALSE;
882 }
#define FALSE
Definition: types.h:117
#define UNIMPLEMENTED
Definition: debug.h:115

◆ DxEngSpUnTearDownSprites()

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

Definition at line 887 of file dxeng.c.

888 {
890  return FALSE;
891 }
#define FALSE
Definition: types.h:117
#define UNIMPLEMENTED
Definition: debug.h:115

◆ DxEngSyncPaletteTableWithDevice()

DWORD APIENTRY DxEngSyncPaletteTableWithDevice ( DWORD  x1,
DWORD  x2 
)

Definition at line 841 of file dxeng.c.

842 {
844  return FALSE;
845 }
#define FALSE
Definition: types.h:117
#define UNIMPLEMENTED
Definition: debug.h:115

◆ DxEngUnlockDC()

BOOLEAN APIENTRY DxEngUnlockDC ( PDC  pDC)

Definition at line 156 of file dxeng.c.

157 {
158  DPRINT1("ReactX Calling : DxEngUnlockDC\n");
159  DC_UnlockDc(pDC);
160  return TRUE;
161 }
#define TRUE
Definition: types.h:120
FORCEINLINE VOID DC_UnlockDc(PDC pdc)
Definition: dc.h:238
#define DPRINT1
Definition: precomp.h:8

◆ DxEngUnlockHdev()

BOOLEAN APIENTRY DxEngUnlockHdev ( HDEV  hDev)

Definition at line 567 of file dxeng.c.

568 {
569  PPDEVOBJ ppdev = (PPDEVOBJ)hDev;
571 
572  DPRINT1("ReactX Calling : DxEngUnlockHdev \n");
573 
574  if (Resource)
575  {
578  }
579  return TRUE;
580 }
#define TRUE
Definition: types.h:120
ERESOURCE * PERESOURCE
Definition: env_spec_w32.h:595
_Acquires_exclusive_lock_ Resource _Acquires_shared_lock_ Resource _Inout_ PERESOURCE Resource
Definition: cdprocs.h:843
struct _PDEVOBJ * PPDEVOBJ
Definition: mdevobj.h:6
HSEMAPHORE hsemDevLock
Definition: pdevobj.h:89
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
Definition: resource.c:1817
#define KeLeaveCriticalRegion()
Definition: ke_x.h:119
#define DPRINT1
Definition: precomp.h:8

◆ DxEngUnlockShareSem()

BOOLEAN APIENTRY DxEngUnlockShareSem ( VOID  )

Definition at line 203 of file dxeng.c.

204 {
205  DPRINT1("ReactX Calling : DxEngUnlockShareSem\n");
207  return TRUE;
208 }
VOID WINAPI EngReleaseSemaphore(IN HSEMAPHORE hsem)
Definition: eng.c:235
#define TRUE
Definition: types.h:120
#define DPRINT1
Definition: precomp.h:8
HSEMAPHORE ghsemShareDevLock
Definition: dxeng.c:13

◆ DxEngUnreferenceHdev()

BOOLEAN APIENTRY DxEngUnreferenceHdev ( HDEV  hDev)

Definition at line 690 of file dxeng.c.

691 {
692  PDEVOBJ_vRelease((PPDEVOBJ)hDev);
693  return TRUE; // Always true.
694 }
#define TRUE
Definition: types.h:120
VOID NTAPI PDEVOBJ_vRelease(_Inout_ PPDEVOBJ ppdev)
Definition: pdevobj.c:104

◆ DxEngUploadPaletteEntryToSurface()

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

Definition at line 814 of file dxeng.c.

815 {
817  return FALSE;
818 }
#define FALSE
Definition: types.h:117
#define UNIMPLEMENTED
Definition: debug.h:115

◆ DxEngVisRgnUniq()

ULONG APIENTRY DxEngVisRgnUniq ( VOID  )

Definition at line 632 of file dxeng.c.

633 {
634  DPRINT1("ReactX Calling : DxEngVisRgnUniq \n");
635 
636  return gulVisRgnUniqueness;
637 }
ULONG gulVisRgnUniqueness
Definition: dxeng.c:624
#define DPRINT1
Definition: precomp.h:8

Variable Documentation

◆ gaEngFuncs

DRVFN gaEngFuncs[]

Definition at line 16 of file dxeng.c.

Referenced by DxDdStartupDxGraphics().

◆ gcEngFuncs

Definition at line 15 of file dxeng.c.

Referenced by DxDdStartupDxGraphics().

◆ ghsemShareDevLock

HSEMAPHORE ghsemShareDevLock = NULL

Definition at line 13 of file dxeng.c.

Referenced by DxEngLockShareSem(), and DxEngUnlockShareSem().

◆ gulVisRgnUniqueness

ULONG gulVisRgnUniqueness

Definition at line 624 of file dxeng.c.

Referenced by DxEngVisRgnUniq().