https://git.reactos.org/?p=reactos.git;a=commitdiff;h=38e4b859e29aec3a46d1f2d300f2804bba685946

commit 38e4b859e29aec3a46d1f2d300f2804bba685946
Author:     Victor Perevertkin <[email protected]>
AuthorDate: Mon Jun 19 13:58:06 2023 +0300
Commit:     Victor Perevertkin <[email protected]>
CommitDate: Mon Jun 19 13:58:46 2023 +0300

    [FRAMEBUFACC] Remove the driver
    
    This is an unfinished attempt to rewrite the driver by Magnus Olsen,
    dating back to 2007.
---
 win32ss/drivers/displays/framebufacc/dd.c          | 116 ------
 win32ss/drivers/displays/framebufacc/ddenable.c    | 260 -------------
 win32ss/drivers/displays/framebufacc/enable.c      | 196 ----------
 win32ss/drivers/displays/framebufacc/framebufacc.h | 198 ----------
 .../drivers/displays/framebufacc/framebufacc.rc    |   5 -
 win32ss/drivers/displays/framebufacc/palette.c     | 192 ----------
 win32ss/drivers/displays/framebufacc/pointer.c     | 226 -----------
 win32ss/drivers/displays/framebufacc/screen.c      | 419 ---------------------
 win32ss/drivers/displays/framebufacc/surface.c     | 326 ----------------
 9 files changed, 1938 deletions(-)

diff --git a/win32ss/drivers/displays/framebufacc/dd.c 
b/win32ss/drivers/displays/framebufacc/dd.c
deleted file mode 100644
index 09a0e9b1684..00000000000
--- a/win32ss/drivers/displays/framebufacc/dd.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * ReactOS Generic Framebuffer display driver directdraw interface
- *
- * Copyright (C) 2006 Magnus Olsen
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-/* Here we put in all 2d api for directdraw and redirect some of them to GDI 
api */
-
-#include "framebuf.h"
-
-
-DWORD CALLBACK
-DdCanCreateSurface(LPDDHAL_CANCREATESURFACEDATA pccsd)
-{
-
-        /* We do not support 3d buffer so we fail here */
-        if ((pccsd->lpDDSurfaceDesc->ddsCaps.dwCaps & DDSCAPS_ZBUFFER) &&
-               (pccsd->lpDDSurfaceDesc->ddsCaps.dwCaps & DDSCAPS_VIDEOMEMORY))
-        {
-               pccsd->ddRVal = DDERR_INVALIDPIXELFORMAT;
-        return DDHAL_DRIVER_HANDLED;
-        }
-
-
-        /* Check if another pixel format or not, we fail for now */
-        if (pccsd->bIsDifferentPixelFormat)
-     {
-               /* check the fourcc diffent FOURCC, but we only support BMP for 
now */
-               //if(pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwFlags & 
DDPF_FOURCC)
-        //{
-               //      /* We do not support other pixel format */
-               //      switch 
(pccsd->lpDDSurfaceDesc->ddpfPixelFormat.dwFourCC)
-               //      {
-               //              default:
-               //                      pccsd->ddRVal = 
DDERR_INVALIDPIXELFORMAT;
-               //                      return DDHAL_DRIVER_HANDLED;
-               //      }
-               //}
-               // /* check the texture support, we do not support testure for 
now */
-               //else if((pccsd->lpDDSurfaceDesc->ddsCaps.dwCaps & 
DDSCAPS_TEXTURE))
-               //{
-               //      /* We do not support texture surface */
-               //      pccsd->ddRVal = DDERR_INVALIDPIXELFORMAT;
-               //      return DDHAL_DRIVER_HANDLED;
-               //}
-
-               /* Fail */
-               pccsd->ddRVal = DDERR_INVALIDPIXELFORMAT;
-               return DDHAL_DRIVER_HANDLED;
-    }
-
-        pccsd->ddRVal = DD_OK;
-        return DDHAL_DRIVER_HANDLED;
-}
-
-DWORD CALLBACK
-DdCreateSurface(PDD_CREATESURFACEDATA pcsd)
-{
-       int i;
-
-       if (pcsd->dwSCnt < 1)
-       {
-               pcsd->ddRVal = DDERR_GENERIC;
-        return DDHAL_DRIVER_NOTHANDLED;
-       }
-
-
-       for (i=0; i<(int)pcsd->dwSCnt; i++)
-    {
-               pcsd->lplpSList[i]->lpGbl->lPitch = 
(DWORD)(pcsd->lplpSList[i]->lpGbl->wWidth *
-                                                       
(pcsd->lplpSList[i]->lpGbl->ddpfSurface.dwRGBBitCount / 8));
-
-               pcsd->lplpSList[i]->lpGbl->dwBlockSizeX = 
pcsd->lplpSList[i]->lpGbl->lPitch *
-                                                             
(DWORD)(pcsd->lplpSList[i]->lpGbl->wHeight);
-
-        pcsd->lplpSList[i]->lpGbl->dwBlockSizeY = 1;
-
-        if ( pcsd->lplpSList[i] ->ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
-        {
-                       /* We maybe should alloc it with EngAlloc
-                          for now we trusting ddraw alloc it        */
-            pcsd->lplpSList[i]->lpGbl->fpVidMem = 0;
-        }
-        else
-        {
-
-                       /* We maybe should alloc it with EngAlloc
-                          for now we trusting ddraw alloc it        */
-            pcsd->lplpSList[i]->lpGbl->fpVidMem = DDHAL_PLEASEALLOC_BLOCKSIZE;
-        }
-
-        pcsd->lpDDSurfaceDesc->lPitch = pcsd->lplpSList[i]->lpGbl->lPitch;
-        pcsd->lpDDSurfaceDesc->dwFlags |= DDSD_PITCH;
-
-    } // for i
-
-
-
-       pcsd->ddRVal = DD_OK;
-    return DDHAL_DRIVER_HANDLED;
-}
-
diff --git a/win32ss/drivers/displays/framebufacc/ddenable.c 
b/win32ss/drivers/displays/framebufacc/ddenable.c
deleted file mode 100644
index 335fd536c0f..00000000000
--- a/win32ss/drivers/displays/framebufacc/ddenable.c
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * ReactOS Generic Framebuffer display driver directdraw interface
- *
- * Copyright (C) 2006 Magnus Olsen
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "framebuf.h"
-
-VOID APIENTRY
-DrvDisableDirectDraw( IN DHPDEV  dhpdev)
-{
-   PPDEV ppdev = (PPDEV)dhpdev;
-   ppdev->bDDInitialized = FALSE;
-   /* Add Clean up code here if we need it
-      when we shout down directx interface */
-}
-
-BOOL APIENTRY
-DrvEnableDirectDraw(
-  IN DHPDEV  dhpdev,
-  OUT DD_CALLBACKS  *pCallBacks,
-  OUT DD_SURFACECALLBACKS  *pSurfaceCallBacks,
-  OUT DD_PALETTECALLBACKS  *pPaletteCallBacks)
-{
-        PPDEV ppdev = (PPDEV)dhpdev;
-
-        if (ppdev->bDDInitialized)
-        {
-                return TRUE;
-        }
-
-        /* Setup pixel format */
-        ppdev->ddpfDisplay.dwSize = sizeof( DDPIXELFORMAT );
-     ppdev->ddpfDisplay.dwFourCC = 0;
-
-     ppdev->ddpfDisplay.dwRBitMask = ppdev->RedMask;
-     ppdev->ddpfDisplay.dwGBitMask = ppdev->GreenMask;
-     ppdev->ddpfDisplay.dwBBitMask = ppdev->BlueMask;
-
-     ppdev->ddpfDisplay.dwRGBBitCount=ppdev->BitsPerPixel;
-        ppdev->ddpfDisplay.dwRGBAlphaBitMask = 0;
-        ppdev->ddpfDisplay.dwFlags = DDPF_RGB;
-
-        ppdev->pvmList = NULL;
-
-        switch(ppdev->iDitherFormat)
-        {
-               case BMF_8BPP:
-             ppdev->ddpfDisplay.dwFlags  |= DDPF_PALETTEINDEXED8;
-             break;
-
-        case BMF_16BPP:
-             switch(ppdev->RedMask)
-             {
-                case 0x7C00:
-                     ppdev->ddpfDisplay.dwRGBAlphaBitMask = 0x8000;
-                     break;
-
-                default:
-                     break;
-                        }
-             break;
-
-        case BMF_24BPP:
-             break;
-
-        case BMF_32BPP:
-             ppdev->ddpfDisplay.dwRGBAlphaBitMask = 0xff000000;
-             break;
-
-        default:
-           /* FIXME unknown pixel bits */
-                       ppdev->ddpfDisplay.dwRGBBitCount=0;
-            break;
-        }
-
-        if (pCallBacks != NULL)
-        {
-                memset(pCallBacks,0,sizeof(DD_CALLBACKS));
-
-                /* FILL pCallBacks with hal stuff */
-         pCallBacks->dwSize = sizeof(DDHAL_DDCALLBACKS);
-         pCallBacks->CanCreateSurface = 
(PDD_CANCREATESURFACE)DdCanCreateSurface;
-         pCallBacks->CreateSurface =  (PDD_CREATESURFACE)DdCreateSurface;
-
-         /* Fill in the HAL Callback flags */
-         pCallBacks->dwFlags = DDHAL_CB32_CANCREATESURFACE | 
DDHAL_CB32_CREATESURFACE;
-        }
-
-        if (pSurfaceCallBacks != NULL)
-        {
-                memset(pSurfaceCallBacks,0,sizeof(DD_SURFACECALLBACKS));
-
-                /* FILL pSurfaceCallBacks with hal stuff */
-         // pSurfaceCallBacks.dwSize = sizeof(DDHAL_DDSURFACECALLBACKS);
-         // pSurfaceCallBacks.DestroySurface = DdDestroySurface;
-         // pSurfaceCallBacks.Lock = DdLock;
-         // pSurfaceCallBacks.Blt = DdBlt;
-
-        // pSurfaceCallBacks->dwFlags = DDHAL_SURFCB32_DESTROYSURFACE | 
DDHAL_SURFCB32_LOCK | DDHAL_SURFCB32_BLT ;
-        }
-
-        if (pPaletteCallBacks != NULL)
-        {
-                memset(pPaletteCallBacks,0,sizeof(DD_PALETTECALLBACKS));
-                /* FILL pPaletteCallBacks with hal stuff */
-                /* We will not support this callback in the framebuf.dll */
-        }
-
-
-        /* Fixme fill the ppdev->dxHalInfo with the info we need */
-        ppdev->bDDInitialized = TRUE;
-        return ppdev->bDDInitialized;
-}
-
-BOOL APIENTRY
-DrvGetDirectDrawInfo(
-  IN DHPDEV  dhpdev,
-  OUT DD_HALINFO  *pHalInfo,
-  OUT DWORD  *pdwNumHeaps,
-  OUT VIDEOMEMORY  *pvmList,
-  OUT DWORD  *pdwNumFourCCCodes,
-  OUT DWORD  *pdwFourCC)
-{
-       PPDEV ppdev = (PPDEV)dhpdev;
-       LONG i;
-       DWORD heap = 1; /* we always alloc one heap */
-       BOOL bDDrawHeap = FALSE;
-
-       if  (ppdev == NULL)
-        return FALSE;
-
-       /*   check so pHalInfo,  pdwNumHeaps, pdwNumFourCCCodes is not NULL
-            pdwFourCC and pvmList can be null
-        */
-
-       if (pHalInfo == NULL)
-               return FALSE;
-
-       if (pdwNumHeaps == NULL)
-               return FALSE;
-
-       if (pdwNumFourCCCodes == NULL)
-               return FALSE;
-
-       /*  Setup heap */
-       if ( (ppdev->ScreenWidth < ppdev->MemWidth) || (ppdev->ScreenHeight < 
ppdev->MemHeight))
-    {
-       bDDrawHeap = TRUE;
-       heap++;
-    }
-
-    ppdev->dwHeap = heap;
-    *pdwNumHeaps  = heap;
-
-       /* We do not support other fourcc */
-    *pdwNumFourCCCodes = 0;
-
-
-       /*
-          check see if pvmList and pdwFourCC are frist call
-          or frist. Secon call  we fill in pHalInfo info
-    */
-
-       if(!(pvmList && pdwFourCC))
-       {
-
-         RtlZeroMemory(pHalInfo, sizeof(DD_HALINFO));
-         pHalInfo->dwSize = sizeof(DD_HALINFO);
-
-                pHalInfo->ddCaps.dwCaps =  DDCAPS_BLT        | DDCAPS_BLTQUEUE 
| DDCAPS_BLTCOLORFILL | DDCAPS_READSCANLINE |
-                                               DDCAPS_BLTSTRETCH | 
DDCAPS_COLORKEY | DDCAPS_CANBLTSYSMEM;
-
-                pHalInfo->ddCaps.dwFXCaps = DDFXCAPS_BLTSTRETCHY     | 
DDFXCAPS_BLTSTRETCHX        |
-                                                DDFXCAPS_BLTSTRETCHYN    | 
DDFXCAPS_BLTSTRETCHXN       |
-                                                                        
DDFXCAPS_BLTSHRINKY      | DDFXCAPS_BLTSHRINKX         |
-                                     DDFXCAPS_BLTSHRINKYN     | 
DDFXCAPS_BLTSHRINKXN        |
-                                                                        
DDFXCAPS_BLTMIRRORUPDOWN | DDFXCAPS_BLTMIRRORLEFTRIGHT;
-
-               pHalInfo->ddCaps.dwCaps2 = DDCAPS2_NONLOCALVIDMEM | 
DDCAPS2_NONLOCALVIDMEMCAPS;
-
-               pHalInfo->ddCaps.ddsCaps.dwCaps =  DDSCAPS_OFFSCREENPLAIN | 
DDSCAPS_PRIMARYSURFACE | DDSCAPS_FLIP;
-
-               pHalInfo->ddCaps.dwCKeyCaps = DDCKEYCAPS_SRCBLT | 
DDCKEYCAPS_SRCBLTCLRSPACE;
-
-           pHalInfo->ddCaps.dwSVBCaps = DDCAPS_BLT;
-           pHalInfo->ddCaps.ddsCaps.dwCaps |= DDSCAPS_LOCALVIDMEM | 
DDSCAPS_NONLOCALVIDMEM;
-
-               /* Calc how much memmory is left on the video cards memmory */
-               pHalInfo->ddCaps.dwVidMemTotal = (ppdev->MemHeight - 
ppdev->ScreenHeight) * ppdev->ScreenDelta;
-
-        /* fill in some basic info that we need */
-        pHalInfo->vmiData.pvPrimary                 = ppdev->ScreenPtr;
-        pHalInfo->vmiData.dwDisplayWidth            = ppdev->ScreenWidth;
-        pHalInfo->vmiData.dwDisplayHeight           = ppdev->ScreenHeight;
-        pHalInfo->vmiData.lDisplayPitch             = ppdev->ScreenDelta;
-        pHalInfo->vmiData.ddpfDisplay.dwSize        = sizeof(DDPIXELFORMAT);
-        pHalInfo->vmiData.ddpfDisplay.dwFlags       = DDPF_RGB;
-        pHalInfo->vmiData.ddpfDisplay.dwRGBBitCount = ppdev->BitsPerPixel;
-               pHalInfo->vmiData.ddpfDisplay.dwRBitMask    = ppdev->RedMask;
-        pHalInfo->vmiData.ddpfDisplay.dwGBitMask    = ppdev->GreenMask;
-        pHalInfo->vmiData.ddpfDisplay.dwBBitMask    = ppdev->BlueMask;
-        pHalInfo->vmiData.dwOffscreenAlign = 4;
-
-               if ( ppdev->BitsPerPixel == 8 )
-               {
-            pHalInfo->vmiData.ddpfDisplay.dwFlags |= DDPF_PALETTEINDEXED8;
-        }
-
-           /*  FIXME
-                   Config the rops we do not doing that yet
-                    for we need write the rops table
-        */
-        for(i=0;i<DD_ROP_SPACE;i++ )
-        {
-           // pHALInfo->ddCaps.dwSVBRops[i] = rops[i];
-                 //  pHALInfo->ddCaps.dwRops[i] = rops[i];
-        }
-       }
-
-       /* Now build pvmList info */
-       if(pvmList)
-       {
-               ppdev->pvmList = pvmList;
-
-               if (bDDrawHeap)
-               {
-                       pvmList->dwFlags        = VIDMEM_ISLINEAR ;
-            pvmList->fpStart        = ppdev->ScreenHeight * ppdev->ScreenDelta;
-            pvmList->fpEnd          = ppdev->MemHeight * ppdev->ScreenDelta - 
1;
-                       pvmList->ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
-                       pvmList++;
-               }
-
-               pvmList->fpStart = 0;
-               pvmList->fpEnd = (ppdev->MemHeight * ppdev->ScreenDelta)  - 1;
-               pvmList->dwFlags = VIDMEM_ISNONLOCAL | VIDMEM_ISLINEAR | 
VIDMEM_ISWC;
-               pvmList->ddsCaps.dwCaps =  DDSCAPS_FRONTBUFFER | 
DDSCAPS_BACKBUFFER ;
-               pvmList->ddsCapsAlt.dwCaps = DDSCAPS_FRONTBUFFER | 
DDSCAPS_BACKBUFFER;
-
-               pvmList = ppdev->pvmList;
-       }
-
-       return TRUE;
-}
-
diff --git a/win32ss/drivers/displays/framebufacc/enable.c 
b/win32ss/drivers/displays/framebufacc/enable.c
deleted file mode 100644
index 8d1b13377f1..00000000000
--- a/win32ss/drivers/displays/framebufacc/enable.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * ReactOS Generic Framebuffer display driver
- *
- * Copyright (C) 2004 Filip Navara
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "framebufacc.h"
-
-static DRVFN DrvFunctionTable[] =
-{
-   {INDEX_DrvEnablePDEV,            (PFN)DrvEnablePDEV},
-   {INDEX_DrvCompletePDEV,          (PFN)DrvCompletePDEV},
-   {INDEX_DrvDisablePDEV,           (PFN)DrvDisablePDEV},
-   {INDEX_DrvEnableSurface,         (PFN)DrvEnableSurface},
-   {INDEX_DrvDisableSurface,        (PFN)DrvDisableSurface},
-   {INDEX_DrvAssertMode,            (PFN)DrvAssertMode},
-   {INDEX_DrvGetModes,              (PFN)DrvGetModes},
-   {INDEX_DrvSetPalette,            (PFN)DrvSetPalette},
-   {INDEX_DrvSetPointerShape,   (PFN)DrvSetPointerShape},
-   {INDEX_DrvMovePointer,       (PFN)DrvMovePointer}
-
-};
-
-/*
- * DrvEnableDriver
- *
- * Initial driver entry point exported by the driver DLL. It fills in a
- * DRVENABLEDATA structure with the driver's DDI version number and the
- * calling addresses of all DDI functions supported by the driver.
- *
- * Status
- *    @implemented
- */
-
-BOOL APIENTRY
-DrvEnableDriver(
-   ULONG iEngineVersion,
-   ULONG cj,
-   PDRVENABLEDATA pded)
-{
-   if (cj >= sizeof(DRVENABLEDATA))
-   {
-      pded->c = sizeof(DrvFunctionTable) / sizeof(DRVFN);
-      pded->pdrvfn = DrvFunctionTable;
-      pded->iDriverVersion = DDI_DRIVER_VERSION_NT5;
-      return TRUE;
-   }
-   else
-   {
-      return FALSE;
-   }
-}
-
-/*
- * DrvEnablePDEV
- *
- * Returns a description of the physical device's characteristics to GDI.
- *
- * Status
- *    @implemented
- */
-
-DHPDEV APIENTRY
-DrvEnablePDEV(
-   IN DEVMODEW *pdm,
-   IN LPWSTR pwszLogAddress,
-   IN ULONG cPat,
-   OUT HSURF *phsurfPatterns,
-   IN ULONG cjCaps,
-   OUT ULONG *pdevcaps,
-   IN ULONG cjDevInfo,
-   OUT DEVINFO *pdi,
-   IN HDEV hdev,
-   IN LPWSTR pwszDeviceName,
-   IN HANDLE hDriver)
-{
-   PPDEV ppdev;
-   GDIINFO GdiInfo;
-   DEVINFO DevInfo;
-   ULONG returnedDataLength = 0;
-
-   ppdev = EngAllocMem(FL_ZERO_MEMORY, sizeof(PDEV), ALLOC_TAG);
-   if (ppdev == NULL)
-   {
-      return NULL;
-   }
-
-   ppdev->hDriver = hDriver;
-
-   if (!IntInitScreenInfo(ppdev, pdm, &GdiInfo, &DevInfo))
-   {
-      EngFreeMem(ppdev);
-      return NULL;
-   }
-
-   /* hw mouse pointer */
-
-    ppdev->pPointerAttributes = NULL;
-    ppdev->PointerAttributesSize = 0;
-
-    /* Test see if the driver support hw mouse or not */
-    if (!EngDeviceIoControl(ppdev->hDriver,
-                            IOCTL_VIDEO_QUERY_POINTER_CAPABILITIES,
-                            NULL,
-                            sizeof(PVIDEO_MODE),
-                            &ppdev->PointerCapabilities,
-                            sizeof(VIDEO_POINTER_CAPABILITIES),
-                            &returnedDataLength))
-    {
-        /* Test see if we got a hw mouse or not */
-        if ( (ppdev->PointerCapabilities.Flags & VIDEO_MODE_MONO_POINTER) ||
-             (ppdev->PointerCapabilities.Flags & VIDEO_MODE_COLOR_POINTER) )
-        {
-            /* determent the hw mouse mode */
-            if (!(ppdev->PointerCapabilities.Flags & VIDEO_MODE_ASYNC_POINTER))
-            {
-                DevInfo.flGraphicsCaps &= ~GCAPS_ASYNCMOVE;
-            }
-            else
-            {
-                DevInfo.flGraphicsCaps |= GCAPS_ASYNCMOVE;
-            }
-        }
-    }
-
-   /* setup paletted */
-   if (!IntInitDefaultPalette(ppdev, &DevInfo))
-   {
-      EngFreeMem(ppdev);
-      return NULL;
-   }
-
-   memcpy(pdi, &DevInfo, min(sizeof(DEVINFO), cjDevInfo));
-   memcpy(pdevcaps, &GdiInfo, min(sizeof(GDIINFO), cjCaps));
-
-   return (DHPDEV)ppdev;
-}
-
-/*
- * DrvCompletePDEV
- *
- * Stores the GDI handle (hdev) of the physical device in dhpdev. The driver
- * should retain this handle for use when calling GDI services.
- *
- * Status
- *    @implemented
- */
-
-VOID APIENTRY
-DrvCompletePDEV(
-   IN DHPDEV dhpdev,
-   IN HDEV hdev)
-{
-   ((PPDEV)dhpdev)->hDevEng = hdev;
-}
-
-/*
- * DrvDisablePDEV
- *
- * Release the resources allocated in DrvEnablePDEV.  If a surface has been
- * enabled DrvDisableSurface will have already been called.
- *
- * Status
- *    @implemented
- */
-
-VOID APIENTRY
-DrvDisablePDEV(
-   IN DHPDEV dhpdev)
-{
-   if (((PPDEV)dhpdev)->DefaultPalette)
-   {
-      EngDeletePalette(((PPDEV)dhpdev)->DefaultPalette);
-   }
-
-   if (((PPDEV)dhpdev)->PaletteEntries != NULL)
-   {
-      EngFreeMem(((PPDEV)dhpdev)->PaletteEntries);
-   }
-
-   EngFreeMem(dhpdev);
-}
diff --git a/win32ss/drivers/displays/framebufacc/framebufacc.h 
b/win32ss/drivers/displays/framebufacc/framebufacc.h
deleted file mode 100644
index bd38ca2adaf..00000000000
--- a/win32ss/drivers/displays/framebufacc/framebufacc.h
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * ReactOS Generic Framebuffer display driver
- *
- * Copyright (C) 2004 Filip Navara
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#pragma once
-
-#include <stdarg.h>
-#include <windef.h>
-#include <guiddef.h>
-#include <wingdi.h>
-#include <winddi.h>
-#include <winioctl.h>
-#include <ntddvdeo.h>
-
-
-//#define EXPERIMENTAL_ACC_SUPPORT
-
-typedef struct _PDEV
-{
-   /* Driver stuff */
-   HANDLE hDriver;
-   HDEV hDevEng;
-   HSURF hSurfEng;
-   ULONG dwHooks;
-
-   /* Screen Data */
-   ULONG ModeIndex;
-   ULONG ScreenWidth;
-   ULONG ScreenHeight;
-   ULONG ScreenDelta;
-   BYTE BitsPerPixel;
-   ULONG RedMask;
-   ULONG GreenMask;
-   ULONG BlueMask;
-   BYTE PaletteShift;
-   PVOID ScreenPtr;
-
-   /* Vitual desktop stuff */
-   POINTL ScreenOffsetXY;
-
-   /* Palette data */
-   HPALETTE DefaultPalette;
-   PALETTEENTRY *PaletteEntries;
-
-    /* hw mouse acclartions support */
-    VIDEO_POINTER_CAPABILITIES PointerCapabilities;
-    PVIDEO_POINTER_ATTRIBUTES pPointerAttributes;
-    ULONG  PointerAttributesSize;
-    POINTL PointerHotSpot;
-    BOOL HwMouseActive;
-
-#ifdef EXPERIMENTAL_MOUSE_CURSOR_SUPPORT
-   XLATEOBJ *PointerXlateObject;
-   HSURF PointerColorSurface;
-   HSURF PointerMaskSurface;
-   HSURF PointerSaveSurface;
-
-#endif
-
-   /* DirectX Support */
-   DWORD iDitherFormat;
-   ULONG MemHeight;
-   ULONG MemWidth;
-   DWORD dwHeap;
-   VIDEOMEMORY* pvmList;
-   BOOL bDDInitialized;
-   DDPIXELFORMAT ddpfDisplay;
-
-    /* System Cached data */
-    PVOID pVideoMemCache;
-    PVOID pRealVideoMem;
-
-    /* Avail Video memory from Current Screen and the end range */
-    ULONG VideoMemSize;
-
-} PDEV, *PPDEV;
-
-
-
-
-#define DEVICE_NAME    L"framebuf"
-#define ALLOC_TAG      'FUBF'
-
-
-DHPDEV APIENTRY
-DrvEnablePDEV(
-   IN DEVMODEW *pdm,
-   IN LPWSTR pwszLogAddress,
-   IN ULONG cPat,
-   OUT HSURF *phsurfPatterns,
-   IN ULONG cjCaps,
-   OUT ULONG *pdevcaps,
-   IN ULONG cjDevInfo,
-   OUT DEVINFO *pdi,
-   IN HDEV hdev,
-   IN LPWSTR pwszDeviceName,
-   IN HANDLE hDriver);
-
-VOID APIENTRY
-DrvCompletePDEV(
-   IN DHPDEV dhpdev,
-   IN HDEV hdev);
-
-VOID APIENTRY
-DrvDisablePDEV(
-   IN DHPDEV dhpdev);
-
-HSURF APIENTRY
-DrvEnableSurface(
-   IN DHPDEV dhpdev);
-
-VOID APIENTRY
-DrvDisableSurface(
-   IN DHPDEV dhpdev);
-
-BOOL APIENTRY
-DrvAssertMode(
-   IN DHPDEV dhpdev,
-   IN BOOL bEnable);
-
-ULONG APIENTRY
-DrvGetModes(
-   IN HANDLE hDriver,
-   IN ULONG cjSize,
-   OUT DEVMODEW *pdm);
-
-BOOL APIENTRY
-DrvSetPalette(
-   IN DHPDEV dhpdev,
-   IN PALOBJ *ppalo,
-   IN FLONG fl,
-   IN ULONG iStart,
-   IN ULONG cColors);
-
-ULONG APIENTRY
-DrvSetPointerShape(
-   IN SURFOBJ *pso,
-   IN SURFOBJ *psoMask,
-   IN SURFOBJ *psoColor,
-   IN XLATEOBJ *pxlo,
-   IN LONG xHot,
-   IN LONG yHot,
-   IN LONG x,
-   IN LONG y,
-   IN RECTL *prcl,
-   IN FLONG fl);
-
-VOID APIENTRY
-DrvMovePointer(
-   IN SURFOBJ *pso,
-   IN LONG x,
-   IN LONG y,
-   IN RECTL *prcl);
-
-BOOL
-IntInitScreenInfo(
-   PPDEV ppdev,
-   LPDEVMODEW pDevMode,
-   PGDIINFO pGdiInfo,
-   PDEVINFO pDevInfo);
-
-BOOL
-IntInitDefaultPalette(
-   PPDEV ppdev,
-   PDEVINFO pDevInfo);
-
-BOOL APIENTRY
-IntSetPalette(
-   IN DHPDEV dhpdev,
-   IN PPALETTEENTRY ppalent,
-   IN ULONG iStart,
-   IN ULONG cColors);
-
-BOOL
-CopyMonoPointer(PPDEV ppdev,
-                SURFOBJ *pso);
-
-BOOL
-CopyColorPointer(PPDEV ppdev,
-                 SURFOBJ *psoMask,
-                 SURFOBJ *psoColor,
-                 XLATEOBJ *pxlo);
diff --git a/win32ss/drivers/displays/framebufacc/framebufacc.rc 
b/win32ss/drivers/displays/framebufacc/framebufacc.rc
deleted file mode 100644
index c8860569766..00000000000
--- a/win32ss/drivers/displays/framebufacc/framebufacc.rc
+++ /dev/null
@@ -1,5 +0,0 @@
-#define REACTOS_VERSION_DLL
-#define REACTOS_STR_FILE_DESCRIPTION  "Framebuffer Display Driver"
-#define REACTOS_STR_INTERNAL_NAME     "framebuf"
-#define REACTOS_STR_ORIGINAL_FILENAME "framebuf.dll"
-#include <reactos/version.rc>
diff --git a/win32ss/drivers/displays/framebufacc/palette.c 
b/win32ss/drivers/displays/framebufacc/palette.c
deleted file mode 100644
index b5109c736bb..00000000000
--- a/win32ss/drivers/displays/framebufacc/palette.c
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * ReactOS Generic Framebuffer display driver
- *
- * Copyright (C) 2004 Filip Navara
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "framebufacc.h"
-
-/*
- * Standard color that must be in palette, because they're used for
- * drawing window borders and other GUI elements.
- */
-
-const PALETTEENTRY BASEPALETTE[20] =
-{
-   { 0x00, 0x00, 0x00, 0x00 },
-   { 0x80, 0x00, 0x00, 0x00 },
-   { 0x00, 0x80, 0x00, 0x00 },
-   { 0x80, 0x80, 0x00, 0x00 },
-   { 0x00, 0x00, 0x80, 0x00 },
-   { 0x80, 0x00, 0x80, 0x00 },
-   { 0x00, 0x80, 0x80, 0x00 },
-   { 0xC0, 0xC0, 0xC0, 0x00 },
-   { 0xC0, 0xDC, 0xC0, 0x00 },
-   { 0xD4, 0xD0, 0xC8, 0x00 },
-   { 0xFF, 0xFB, 0xF0, 0x00 },
-   { 0x3A, 0x6E, 0xA5, 0x00 },
-   { 0x80, 0x80, 0x80, 0x00 },
-   { 0xFF, 0x00, 0x00, 0x00 },
-   { 0x00, 0xFF, 0x00, 0x00 },
-   { 0xFF, 0xFF, 0x00, 0x00 },
-   { 0x00, 0x00, 0xFF, 0x00 },
-   { 0xFF, 0x00, 0xFF, 0x00 },
-   { 0x00, 0xFF, 0xFF, 0x00 },
-   { 0xFF, 0xFF, 0xFF, 0x00 },
-};
-
-/*
- * IntInitDefaultPalette
- *
- * Initializes default palette for PDEV and fill it with the colors specified
- * by the GDI standard.
- */
-
-BOOL
-IntInitDefaultPalette(
-   PPDEV ppdev,
-   PDEVINFO pDevInfo)
-{
-   ULONG ColorLoop;
-   PPALETTEENTRY PaletteEntryPtr;
-
-   if (ppdev->BitsPerPixel > 8)
-   {
-      ppdev->DefaultPalette = pDevInfo->hpalDefault =
-         EngCreatePalette(PAL_BITFIELDS, 0, NULL,
-            ppdev->RedMask, ppdev->GreenMask, ppdev->BlueMask);
-   }
-   else
-   {
-      ppdev->PaletteEntries = EngAllocMem(0, sizeof(PALETTEENTRY) << 8, 
ALLOC_TAG);
-      if (ppdev->PaletteEntries == NULL)
-      {
-         return FALSE;
-      }
-
-      for (ColorLoop = 256, PaletteEntryPtr = ppdev->PaletteEntries;
-           ColorLoop != 0;
-           ColorLoop--, PaletteEntryPtr++)
-      {
-         PaletteEntryPtr->peRed = ((ColorLoop >> 5) & 7) * 255 / 7;
-         PaletteEntryPtr->peGreen = ((ColorLoop >> 3) & 3) * 255 / 3;
-         PaletteEntryPtr->peBlue = (ColorLoop & 7) * 255 / 7;
-         PaletteEntryPtr->peFlags = 0;
-      }
-
-      memcpy(ppdev->PaletteEntries, BASEPALETTE, 10 * sizeof(PALETTEENTRY));
-      memcpy(ppdev->PaletteEntries + 246, BASEPALETTE + 10, 10 * 
sizeof(PALETTEENTRY));
-
-      ppdev->DefaultPalette = pDevInfo->hpalDefault =
-         EngCreatePalette(PAL_INDEXED, 256, (PULONG)ppdev->PaletteEntries, 0, 
0, 0);
-    }
-
-    return ppdev->DefaultPalette != NULL;
-}
-
-/*
- * IntSetPalette
- *
- * Requests that the driver realize the palette for a specified device. The
- * driver sets the hardware palette to match the entries in the given palette
- * as closely as possible.
- */
-
-BOOL APIENTRY
-IntSetPalette(
-   IN DHPDEV dhpdev,
-   IN PPALETTEENTRY ppalent,
-   IN ULONG iStart,
-   IN ULONG cColors)
-{
-   PVIDEO_CLUT pClut;
-   ULONG ClutSize;
-
-   ClutSize = sizeof(VIDEO_CLUT) + (cColors * sizeof(ULONG));
-   pClut = EngAllocMem(0, ClutSize, ALLOC_TAG);
-   pClut->FirstEntry = iStart;
-   pClut->NumEntries = cColors;
-   memcpy(&pClut->LookupTable[0].RgbLong, ppalent, sizeof(ULONG) * cColors);
-
-   if (((PPDEV)dhpdev)->PaletteShift)
-   {
-      while (cColors--)
-      {
-         pClut->LookupTable[cColors].RgbArray.Red >>= 
((PPDEV)dhpdev)->PaletteShift;
-         pClut->LookupTable[cColors].RgbArray.Green >>= 
((PPDEV)dhpdev)->PaletteShift;
-         pClut->LookupTable[cColors].RgbArray.Blue >>= 
((PPDEV)dhpdev)->PaletteShift;
-         pClut->LookupTable[cColors].RgbArray.Unused = 0;
-      }
-   }
-   else
-   {
-      while (cColors--)
-      {
-         pClut->LookupTable[cColors].RgbArray.Unused = 0;
-      }
-   }
-
-   /*
-    * Set the palette registers.
-    */
-
-   if (EngDeviceIoControl(((PPDEV)dhpdev)->hDriver, 
IOCTL_VIDEO_SET_COLOR_REGISTERS,
-                          pClut, ClutSize, NULL, 0, &cColors))
-   {
-      EngFreeMem(pClut);
-      return FALSE;
-   }
-
-   EngFreeMem(pClut);
-   return TRUE;
-}
-
-/*
- * DrvSetPalette
- *
- * Requests that the driver realize the palette for a specified device. The
- * driver sets the hardware palette to match the entries in the given palette
- * as closely as possible.
- *
- * Status
- *    @implemented
- */
-
-BOOL APIENTRY
-DrvSetPalette(
-   IN DHPDEV dhpdev,
-   IN PALOBJ *ppalo,
-   IN FLONG fl,
-   IN ULONG iStart,
-   IN ULONG cColors)
-{
-   PPALETTEENTRY PaletteEntries;
-
-   PaletteEntries = EngAllocMem(0, cColors * sizeof(ULONG), ALLOC_TAG);
-   if (PaletteEntries == NULL)
-   {
-      return FALSE;
-   }
-
-   if (PALOBJ_cGetColors(ppalo, iStart, cColors, (PULONG)PaletteEntries) !=
-       cColors)
-   {
-      return FALSE;
-   }
-
-   return IntSetPalette(dhpdev, PaletteEntries, iStart, cColors);
-}
diff --git a/win32ss/drivers/displays/framebufacc/pointer.c 
b/win32ss/drivers/displays/framebufacc/pointer.c
deleted file mode 100644
index 92a3c65de47..00000000000
--- a/win32ss/drivers/displays/framebufacc/pointer.c
+++ /dev/null
@@ -1,226 +0,0 @@
-/*
- * ReactOS Generic Framebuffer display driver
- *
- * Copyright (C) 2007 Magnus Olsen
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "framebufacc.h"
-
-
-
-/*
- * DrvMovePointer
- *
- * Moves the pointer to a new position and ensures that GDI does not interfere
- * with the display of the pointer.
- *
- * Status
- *    @implemented
- */
-
-VOID APIENTRY
-DrvMovePointer(IN SURFOBJ *pso,
-               IN LONG x,
-               IN LONG y,
-               IN RECTL *prcl)
-{
-    PPDEV ppdev = (PPDEV) pso->dhpdev;
-    DWORD returnedDataLength;
-    VIDEO_POINTER_POSITION NewPointerPosition;
-
-    x -= ppdev->ScreenOffsetXY.x;
-    y -= ppdev->ScreenOffsetXY.y;
-
-    /* position of (-1,-1) hide the pointer */
-    if ((x == -1) || (y == -1))
-    {
-        if (EngDeviceIoControl(ppdev->hDriver, IOCTL_VIDEO_DISABLE_POINTER, 
NULL, 0, NULL, 0, &returnedDataLength))
-        {
-            /* hw did not disable the mouse, we try then with software */
-            EngMovePointer(pso, x, y, prcl);
-        }
-    }
-    else
-    {
-        /* Calc the mouse positions and set it to the new positions */
-        NewPointerPosition.Column = (SHORT) x - (SHORT) 
(ppdev->PointerHotSpot.x);
-        NewPointerPosition.Row    = (SHORT) y - (SHORT) 
(ppdev->PointerHotSpot.y);
-
-        if (EngDeviceIoControl(ppdev->hDriver, 
IOCTL_VIDEO_SET_POINTER_POSITION, &NewPointerPosition,
-                               sizeof(VIDEO_POINTER_POSITION), NULL, 0, 
&returnedDataLength))
-        {
-            /* hw did not disable the mouse, we try then with software */
-            EngMovePointer(pso, x, y, prcl);
-        }
-    }
-}
-
-
-/*
- * DrvSetPointerShape
- *
- * Sets the new pointer shape.
- *
- * Status
- *    @implemented
- */
-
-ULONG APIENTRY
-DrvSetPointerShape(
-   IN SURFOBJ *pso,
-   IN SURFOBJ *psoMask,
-   IN SURFOBJ *psoColor,
-   IN XLATEOBJ *pxlo,
-   IN LONG xHot,
-   IN LONG yHot,
-   IN LONG x,
-   IN LONG y,
-   IN RECTL *prcl,
-   IN FLONG fl)
-{
-    PPDEV   ppdev = (PPDEV) pso->dhpdev;
-    ULONG returnedDataLength = 0;
-
-    if (ppdev->pPointerAttributes == NULL)
-    {
-        /* hw did not support hw mouse pointer, we try then with software */
-        return EngSetPointerShape(pso, psoMask, psoColor, pxlo, xHot, yHot, x, 
y, prcl, fl);
-    }
-
-    /* check see if the apps ask to hide the mouse or not */
-    if (psoMask == NULL)
-    {
-        if (EngDeviceIoControl(ppdev->hDriver, IOCTL_VIDEO_DISABLE_POINTER, 
NULL, 0, NULL, 0, &returnedDataLength))
-        {
-            /* no hw support found for the mouse we try then the software 
version */
-            return EngSetPointerShape(pso, psoMask, psoColor, pxlo, xHot, 
yHot, x, y, prcl, fl);
-        }
-
-        return TRUE;
-    }
-
-    /* set our hotspot */
-    ppdev->PointerHotSpot.x = xHot;
-    ppdev->PointerHotSpot.y = yHot;
-
-    /* Set the hw mouse shape */
-
-    if (psoColor != NULL)
-    {
-        /* We got a color mouse pointer */
-        if ((ppdev->PointerCapabilities.Flags & VIDEO_MODE_COLOR_POINTER) &&
-            (CopyColorPointer(ppdev, psoMask, psoColor, pxlo)) )
-        {
-            ppdev->pPointerAttributes->Flags |= VIDEO_MODE_COLOR_POINTER;
-        }
-        else
-        {
-            /* No color mouse pointer being set, so we need try the software 
version then */
-            if (ppdev->HwMouseActive)
-            {
-                ppdev->HwMouseActive = FALSE;
-                if (EngDeviceIoControl(ppdev->hDriver, 
IOCTL_VIDEO_DISABLE_POINTER, NULL, 0, NULL, 0, &returnedDataLength))
-                {
-                    /* hw did not support hw mouse pointer, we try then with 
software */
-                    return EngSetPointerShape(pso, psoMask, psoColor, pxlo, 
xHot, yHot, x, y, prcl, fl);
-                }
-            }
-            return SPS_DECLINE ;
-        }
-    }
-    else
-    {
-        /* We got a mono mouse pointer */
-        if ( (ppdev->PointerCapabilities.Flags & VIDEO_MODE_MONO_POINTER) &&
-              (CopyMonoPointer(ppdev, psoMask)))
-        {
-            ppdev->pPointerAttributes->Flags |= VIDEO_MODE_MONO_POINTER;
-        }
-        else
-        {
-            /* No mono mouse pointer being set, so we need try the software 
version then */
-            if (ppdev->HwMouseActive)
-            {
-                ppdev->HwMouseActive = FALSE;
-                if (EngDeviceIoControl(ppdev->hDriver, 
IOCTL_VIDEO_DISABLE_POINTER, NULL, 0, NULL, 0, &returnedDataLength))
-                {
-                    /* hw did not support hw mouse pointer, we try then with 
software */
-                    return EngSetPointerShape(pso, psoMask, psoColor, pxlo, 
xHot, yHot, x, y, prcl, fl);
-                }
-            }
-            return SPS_DECLINE ;
-        }
-    }
-
-    /* we goto hw mouse pointer then we contnue filling in more info */
-
-    /* calc the mouse point positions */
-    if ((x != -1) || (y != -1))
-    {
-        ppdev->pPointerAttributes->Column -= (SHORT)(ppdev->PointerHotSpot.x);
-        ppdev->pPointerAttributes->Row -= (SHORT)(ppdev->PointerHotSpot.y);
-    }
-
-    /* set correct flags if it animated or need be updated anime or no flags 
at all */
-    if (fl & SPS_ANIMATESTART)
-    {
-        ppdev->pPointerAttributes->Flags |= VIDEO_MODE_ANIMATE_START;
-    }
-    else if (fl & SPS_ANIMATEUPDATE)
-    {
-        ppdev->pPointerAttributes->Flags |= VIDEO_MODE_ANIMATE_UPDATE;
-    }
-
-    ppdev->pPointerAttributes->Enable = 1;
-    ppdev->pPointerAttributes->Column = (SHORT)(x);
-    ppdev->pPointerAttributes->Row    = (SHORT)(y);
-
-    /* Set the new mouse pointer shape */
-    if (EngDeviceIoControl(ppdev->hDriver, IOCTL_VIDEO_SET_POINTER_ATTR, 
ppdev->pPointerAttributes,
-                           ppdev->PointerAttributesSize, NULL, 0, 
&returnedDataLength))
-    {
-            /* no hw support found for the mouse we try then the software 
version */
-            return EngSetPointerShape(pso, psoMask, psoColor, pxlo, xHot, 
yHot, x, y, prcl, fl);
-    }
-
-    /* we got real hw support */
-    ppdev->HwMouseActive = TRUE;
-    return SPS_ACCEPT_NOEXCLUDE;
-}
-
-
-/* Internal api that are only use in DrvSetPointerShape */
-
-BOOL
-CopyColorPointer(PPDEV ppdev,
-                SURFOBJ *psoMask,
-                SURFOBJ *psoColor,
-                XLATEOBJ *pxlo)
-{
-    /* FIXME unimplement */
-    return FALSE;
-}
-
-BOOL
-CopyMonoPointer(PPDEV ppdev,
-                SURFOBJ *pso)
-{
-    /* FIXME unimplement */
-    return FALSE;
-}
-
-
diff --git a/win32ss/drivers/displays/framebufacc/screen.c 
b/win32ss/drivers/displays/framebufacc/screen.c
deleted file mode 100644
index c6fd6bc872d..00000000000
--- a/win32ss/drivers/displays/framebufacc/screen.c
+++ /dev/null
@@ -1,419 +0,0 @@
-/*
- * ReactOS Generic Framebuffer display driver
- *
- * Copyright (C) 2004 Filip Navara
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "framebufacc.h"
-
-/*
- * GetAvailableModes
- *
- * Calls the miniport to get the list of modes supported by the kernel driver,
- * and returns the list of modes supported by the display driver.
- */
-
-DWORD
-GetAvailableModes(
-   HANDLE hDriver,
-   PVIDEO_MODE_INFORMATION *ModeInfo,
-   DWORD *ModeInfoSize)
-{
-   ULONG ulTemp;
-   VIDEO_NUM_MODES Modes;
-   PVIDEO_MODE_INFORMATION ModeInfoPtr;
-
-   /*
-    * Get the number of modes supported by the mini-port
-    */
-
-   if (EngDeviceIoControl(hDriver, IOCTL_VIDEO_QUERY_NUM_AVAIL_MODES, NULL,
-                          0, &Modes, sizeof(VIDEO_NUM_MODES), &ulTemp))
-   {
-      return 0;
-   }
-
-   *ModeInfoSize = Modes.ModeInformationLength;
-
-   /*
-    * Allocate the buffer for the miniport to write the modes in.
-    */
-
-   *ModeInfo = (PVIDEO_MODE_INFORMATION)EngAllocMem(0, Modes.NumModes *
-      Modes.ModeInformationLength, ALLOC_TAG);
-
-   if (*ModeInfo == NULL)
-   {
-      return 0;
-   }
-
-   /*
-    * Ask the miniport to fill in the available modes.
-    */
-
-   if (EngDeviceIoControl(hDriver, IOCTL_VIDEO_QUERY_AVAIL_MODES, NULL, 0,
-                          *ModeInfo, Modes.NumModes * 
Modes.ModeInformationLength,
-                          &ulTemp))
-   {
-      EngFreeMem(*ModeInfo);
-      *ModeInfo = NULL;
-      return 0;
-   }
-
-   /*
-    * Now see which of these modes are supported by the display driver.
-    * As an internal mechanism, set the length to 0 for the modes we
-    * DO NOT support.
-    */
-
-   ulTemp = Modes.NumModes;
-   ModeInfoPtr = *ModeInfo;
-
-   /*
-    * Mode is rejected if it is not one plane, or not graphics, or is not
-    * one of 8, 16 or 32 bits per pel.
-    */
-
-   while (ulTemp--)
-   {
-       /* FIXME add banked graphic mode */
-      if ((ModeInfoPtr->NumberOfPlanes != 1) ||
-          !(ModeInfoPtr->AttributeFlags & VIDEO_MODE_GRAPHICS) ||
-          ((ModeInfoPtr->BitsPerPlane != 8) &&
-           (ModeInfoPtr->BitsPerPlane != 16) &&
-           (ModeInfoPtr->BitsPerPlane != 24) &&
-           (ModeInfoPtr->BitsPerPlane != 32)))
-      {
-         ModeInfoPtr->Length = 0;
-      }
-
-      ModeInfoPtr = (PVIDEO_MODE_INFORMATION)
-         (((PUCHAR)ModeInfoPtr) + Modes.ModeInformationLength);
-   }
-
-   return Modes.NumModes;
-}
-
-BOOL
-IntInitScreenInfo(
-   PPDEV ppdev,
-   LPDEVMODEW pDevMode,
-   PGDIINFO pGdiInfo,
-   PDEVINFO pDevInfo)
-{
-   ULONG ModeCount;
-   ULONG ModeInfoSize;
-   PVIDEO_MODE_INFORMATION ModeInfo, ModeInfoPtr, SelectedMode = NULL;
-   VIDEO_COLOR_CAPABILITIES ColorCapabilities;
-/* hack
-   LOGFONTW SystemFont = {16, 7, 0, 0, 700, 0, 0, 0, ANSI_CHARSET, 
OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, VARIABLE_PITCH | 
FF_DONTCARE, L"System"};
-   LOGFONTW AnsiVariableFont = {12, 9, 0, 0, 400, 0, 0, 0, ANSI_CHARSET, 
OUT_DEFAULT_PRECIS, CLIP_STROKE_PRECIS, PROOF_QUALITY, VARIABLE_PITCH | 
FF_DONTCARE, L"MS Sans Serif"};
-   LOGFONTW AnsiFixedFont = {12, 9, 0, 0, 400, 0, 0, 0, ANSI_CHARSET, 
OUT_DEFAULT_PRECIS, CLIP_STROKE_PRECIS, PROOF_QUALITY, FIXED_PITCH | 
FF_DONTCARE, L"Courier"};
-*/
-   ULONG Temp;
-
-   /*
-    * Call miniport to get information about video modes.
-    */
-
-   ModeCount = GetAvailableModes(ppdev->hDriver, &ModeInfo, &ModeInfoSize);
-   if (ModeCount == 0)
-   {
-      return FALSE;
-   }
-
-   /*
-    * Select the video mode depending on the info passed in pDevMode.
-    */
-
-   if (pDevMode->dmPelsWidth == 0 && pDevMode->dmPelsHeight == 0 &&
-       pDevMode->dmBitsPerPel == 0 && pDevMode->dmDisplayFrequency == 0)
-   {
-      ModeInfoPtr = ModeInfo;
-      while (ModeCount-- > 0)
-      {
-         if (ModeInfoPtr->Length == 0)
-         {
-            ModeInfoPtr = (PVIDEO_MODE_INFORMATION)
-               (((PUCHAR)ModeInfoPtr) + ModeInfoSize);
-            continue;
-         }
-         SelectedMode = ModeInfoPtr;
-         break;
-      }
-   }
-   else
-   {
-      ModeInfoPtr = ModeInfo;
-      while (ModeCount-- > 0)
-      {
-         if (ModeInfoPtr->Length > 0 &&
-            pDevMode->dmPelsWidth == ModeInfoPtr->VisScreenWidth &&
-             pDevMode->dmPelsHeight == ModeInfoPtr->VisScreenHeight &&
-             pDevMode->dmBitsPerPel == (ModeInfoPtr->BitsPerPlane *
-                                        ModeInfoPtr->NumberOfPlanes) &&
-             pDevMode->dmDisplayFrequency == ModeInfoPtr->Frequency)
-         {
-            SelectedMode = ModeInfoPtr;
-            break;
-         }
-
-         ModeInfoPtr = (PVIDEO_MODE_INFORMATION)
-            (((PUCHAR)ModeInfoPtr) + ModeInfoSize);
-      }
-   }
-
-   if (SelectedMode == NULL)
-   {
-      EngFreeMem(ModeInfo);
-      return FALSE;
-   }
-
-   /*
-    * Fill in the GDIINFO data structure with the information returned from
-    * the kernel driver.
-    */
-
-   ppdev->ModeIndex = SelectedMode->ModeIndex;
-   ppdev->ScreenWidth = SelectedMode->VisScreenWidth;
-   ppdev->ScreenHeight = SelectedMode->VisScreenHeight;
-   ppdev->ScreenDelta = SelectedMode->ScreenStride;
-   ppdev->BitsPerPixel = SelectedMode->BitsPerPlane * 
SelectedMode->NumberOfPlanes;
-
-   ppdev->MemWidth = SelectedMode->VideoMemoryBitmapWidth;
-   ppdev->MemHeight = SelectedMode->VideoMemoryBitmapHeight;
-
-   ppdev->RedMask = SelectedMode->RedMask;
-   ppdev->GreenMask = SelectedMode->GreenMask;
-   ppdev->BlueMask = SelectedMode->BlueMask;
-
-   pGdiInfo->ulVersion = GDI_DRIVER_VERSION;
-   pGdiInfo->ulTechnology = DT_RASDISPLAY;
-   pGdiInfo->ulHorzSize = SelectedMode->XMillimeter;
-   pGdiInfo->ulVertSize = SelectedMode->YMillimeter;
-   pGdiInfo->ulHorzRes = SelectedMode->VisScreenWidth;
-   pGdiInfo->ulVertRes = SelectedMode->VisScreenHeight;
-   pGdiInfo->ulPanningHorzRes = SelectedMode->VisScreenWidth;
-   pGdiInfo->ulPanningVertRes = SelectedMode->VisScreenHeight;
-   pGdiInfo->cBitsPixel = SelectedMode->BitsPerPlane;
-   pGdiInfo->cPlanes = SelectedMode->NumberOfPlanes;
-   pGdiInfo->ulVRefresh = SelectedMode->Frequency;
-   pGdiInfo->ulBltAlignment = 1;
-   pGdiInfo->ulLogPixelsX = pDevMode->dmLogPixels;
-   pGdiInfo->ulLogPixelsY = pDevMode->dmLogPixels;
-   pGdiInfo->flTextCaps = TC_RA_ABLE;
-   pGdiInfo->flRaster = 0;
-   pGdiInfo->ulDACRed = SelectedMode->NumberRedBits;
-   pGdiInfo->ulDACGreen = SelectedMode->NumberGreenBits;
-   pGdiInfo->ulDACBlue = SelectedMode->NumberBlueBits;
-   pGdiInfo->ulAspectX = 0x24;
-   pGdiInfo->ulAspectY = 0x24;
-   pGdiInfo->ulAspectXY = 0x33;
-   pGdiInfo->xStyleStep = 1;
-   pGdiInfo->yStyleStep = 1;
-   pGdiInfo->denStyleStep = 3;
-   pGdiInfo->ptlPhysOffset.x = 0;
-   pGdiInfo->ptlPhysOffset.y = 0;
-   pGdiInfo->szlPhysSize.cx = 0;
-   pGdiInfo->szlPhysSize.cy = 0;
-
-   /*
-    * Try to get the color info from the miniport.
-    */
-
-   if (!EngDeviceIoControl(ppdev->hDriver, 
IOCTL_VIDEO_QUERY_COLOR_CAPABILITIES,
-                           NULL, 0, &ColorCapabilities,
-                           sizeof(VIDEO_COLOR_CAPABILITIES), &Temp))
-   {
-      pGdiInfo->ciDevice.Red.x = ColorCapabilities.RedChromaticity_x;
-      pGdiInfo->ciDevice.Red.y = ColorCapabilities.RedChromaticity_y;
-      pGdiInfo->ciDevice.Green.x = ColorCapabilities.GreenChromaticity_x;
-      pGdiInfo->ciDevice.Green.y = ColorCapabilities.GreenChromaticity_y;
-      pGdiInfo->ciDevice.Blue.x = ColorCapabilities.BlueChromaticity_x;
-      pGdiInfo->ciDevice.Blue.y = ColorCapabilities.BlueChromaticity_y;
-      pGdiInfo->ciDevice.AlignmentWhite.x = 
ColorCapabilities.WhiteChromaticity_x;
-      pGdiInfo->ciDevice.AlignmentWhite.y = 
ColorCapabilities.WhiteChromaticity_y;
-      pGdiInfo->ciDevice.AlignmentWhite.Y = 
ColorCapabilities.WhiteChromaticity_Y;
-      if (ColorCapabilities.AttributeFlags & VIDEO_DEVICE_COLOR)
-      {
-         pGdiInfo->ciDevice.RedGamma = ColorCapabilities.RedGamma;
-         pGdiInfo->ciDevice.GreenGamma = ColorCapabilities.GreenGamma;
-         pGdiInfo->ciDevice.BlueGamma = ColorCapabilities.BlueGamma;
-      }
-      else
-      {
-         pGdiInfo->ciDevice.RedGamma = ColorCapabilities.WhiteGamma;
-         pGdiInfo->ciDevice.GreenGamma = ColorCapabilities.WhiteGamma;
-         pGdiInfo->ciDevice.BlueGamma = ColorCapabilities.WhiteGamma;
-      }
-   }
-   else
-   {
-      pGdiInfo->ciDevice.Red.x = 6700;
-      pGdiInfo->ciDevice.Red.y = 3300;
-      pGdiInfo->ciDevice.Green.x = 2100;
-      pGdiInfo->ciDevice.Green.y = 7100;
-      pGdiInfo->ciDevice.Blue.x = 1400;
-      pGdiInfo->ciDevice.Blue.y = 800;
-      pGdiInfo->ciDevice.AlignmentWhite.x = 3127;
-      pGdiInfo->ciDevice.AlignmentWhite.y = 3290;
-      pGdiInfo->ciDevice.AlignmentWhite.Y = 0;
-      pGdiInfo->ciDevice.RedGamma = 20000;
-      pGdiInfo->ciDevice.GreenGamma = 20000;
-      pGdiInfo->ciDevice.BlueGamma = 20000;
-   }
-
-   pGdiInfo->ciDevice.Red.Y = 0;
-   pGdiInfo->ciDevice.Green.Y = 0;
-   pGdiInfo->ciDevice.Blue.Y = 0;
-   pGdiInfo->ciDevice.Cyan.x = 0;
-   pGdiInfo->ciDevice.Cyan.y = 0;
-   pGdiInfo->ciDevice.Cyan.Y = 0;
-   pGdiInfo->ciDevice.Magenta.x = 0;
-   pGdiInfo->ciDevice.Magenta.y = 0;
-   pGdiInfo->ciDevice.Magenta.Y = 0;
-   pGdiInfo->ciDevice.Yellow.x = 0;
-   pGdiInfo->ciDevice.Yellow.y = 0;
-   pGdiInfo->ciDevice.Yellow.Y = 0;
-   pGdiInfo->ciDevice.MagentaInCyanDye = 0;
-   pGdiInfo->ciDevice.YellowInCyanDye = 0;
-   pGdiInfo->ciDevice.CyanInMagentaDye = 0;
-   pGdiInfo->ciDevice.YellowInMagentaDye = 0;
-   pGdiInfo->ciDevice.CyanInYellowDye = 0;
-   pGdiInfo->ciDevice.MagentaInYellowDye = 0;
-   pGdiInfo->ulDevicePelsDPI = 0;
-   pGdiInfo->ulPrimaryOrder = PRIMARY_ORDER_CBA;
-   pGdiInfo->ulHTPatternSize = HT_PATSIZE_4x4_M;
-   pGdiInfo->flHTFlags = HT_FLAG_ADDITIVE_PRIMS;
-
-   pDevInfo->flGraphicsCaps = 0;
-/* hack
-   pDevInfo->lfDefaultFont = SystemFont;
-   pDevInfo->lfAnsiVarFont = AnsiVariableFont;
-   pDevInfo->lfAnsiFixFont = AnsiFixedFont;
-*/
-   pDevInfo->cFonts = 0;
-   pDevInfo->cxDither = 0;
-   pDevInfo->cyDither = 0;
-   pDevInfo->hpalDefault = 0;
-   pDevInfo->flGraphicsCaps2 = 0;
-
-   if (ppdev->BitsPerPixel == 8)
-   {
-      pGdiInfo->ulNumColors = 20;
-      pGdiInfo->ulNumPalReg = 1 << ppdev->BitsPerPixel;
-      pGdiInfo->ulHTOutputFormat = HT_FORMAT_8BPP;
-      pDevInfo->flGraphicsCaps |= GCAPS_PALMANAGED;
-      pDevInfo->iDitherFormat = BMF_8BPP;
-      /* Assuming palette is orthogonal - all colors are same size. */
-      ppdev->PaletteShift = 8 - pGdiInfo->ulDACRed;
-   }
-   else
-   {
-      pGdiInfo->ulNumColors = (ULONG)(-1);
-      pGdiInfo->ulNumPalReg = 0;
-      switch (ppdev->BitsPerPixel)
-      {
-         case 16:
-            pGdiInfo->ulHTOutputFormat = HT_FORMAT_16BPP;
-            pDevInfo->iDitherFormat = BMF_16BPP;
-            break;
-
-         case 24:
-            pGdiInfo->ulHTOutputFormat = HT_FORMAT_24BPP;
-            pDevInfo->iDitherFormat = BMF_24BPP;
-            break;
-
-         default:
-            pGdiInfo->ulHTOutputFormat = HT_FORMAT_32BPP;
-            pDevInfo->iDitherFormat = BMF_32BPP;
-      }
-   }
-
-   EngFreeMem(ModeInfo);
-   return TRUE;
-}
-
-/*
- * DrvGetModes
- *
- * Returns the list of available modes for the device.
- *
- * Status
- *    @implemented
- */
-
-ULONG APIENTRY
-DrvGetModes(
-   IN HANDLE hDriver,
-   IN ULONG cjSize,
-   OUT DEVMODEW *pdm)
-{
-   ULONG ModeCount;
-   ULONG ModeInfoSize;
-   PVIDEO_MODE_INFORMATION ModeInfo, ModeInfoPtr;
-   ULONG OutputSize;
-
-   ModeCount = GetAvailableModes(hDriver, &ModeInfo, &ModeInfoSize);
-   if (ModeCount == 0)
-   {
-      return 0;
-   }
-
-   if (pdm == NULL)
-   {
-      EngFreeMem(ModeInfo);
-      return ModeCount * sizeof(DEVMODEW);
-   }
-
-   /*
-    * Copy the information about supported modes into the output buffer.
-    */
-
-   OutputSize = 0;
-   ModeInfoPtr = ModeInfo;
-
-   while (ModeCount-- > 0)
-   {
-      if (ModeInfoPtr->Length == 0)
-      {
-         ModeInfoPtr = (PVIDEO_MODE_INFORMATION)(((ULONG_PTR)ModeInfoPtr) + 
ModeInfoSize);
-         continue;
-      }
-
-      memset(pdm, 0, sizeof(DEVMODEW));
-      memcpy(pdm->dmDeviceName, DEVICE_NAME, sizeof(DEVICE_NAME));
-      pdm->dmSpecVersion =
-      pdm->dmDriverVersion = DM_SPECVERSION;
-      pdm->dmSize = sizeof(DEVMODEW);
-      pdm->dmDriverExtra = 0;
-      pdm->dmBitsPerPel = ModeInfoPtr->NumberOfPlanes * 
ModeInfoPtr->BitsPerPlane;
-      pdm->dmPelsWidth = ModeInfoPtr->VisScreenWidth;
-      pdm->dmPelsHeight = ModeInfoPtr->VisScreenHeight;
-      pdm->dmDisplayFrequency = ModeInfoPtr->Frequency;
-      pdm->dmDisplayFlags = 0;
-      pdm->dmFields = DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT |
-                      DM_DISPLAYFREQUENCY | DM_DISPLAYFLAGS;
-
-      ModeInfoPtr = (PVIDEO_MODE_INFORMATION)(((ULONG_PTR)ModeInfoPtr) + 
ModeInfoSize);
-      pdm = (LPDEVMODEW)(((ULONG_PTR)pdm) + sizeof(DEVMODEW));
-      OutputSize += sizeof(DEVMODEW);
-   }
-
-   EngFreeMem(ModeInfo);
-   return OutputSize;
-}
diff --git a/win32ss/drivers/displays/framebufacc/surface.c 
b/win32ss/drivers/displays/framebufacc/surface.c
deleted file mode 100644
index 920ab3f1ffe..00000000000
--- a/win32ss/drivers/displays/framebufacc/surface.c
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * ReactOS Generic Framebuffer acclations display driver
- *
- * Copyright (C) 2004 Filip Navara
- * Copyright (C) 2007 Magnus Olsen
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "framebufacc.h"
-
-BOOL
-InitSurface(PPDEV ppdev,
-            BOOL bForcemapping)
-{
-   VIDEO_MEMORY VideoMemory;
-   VIDEO_MEMORY_INFORMATION VideoMemoryInfo;
-   ULONG returnedDataLength;
-   ULONG RemappingNeeded = 0;
-   ULONG PointerMaxWidth = 0;
-   ULONG PointerMaxHeight = 0;
-
-   /*
-    * Set video mode of our adapter.
-    */
-
-   if (EngDeviceIoControl(ppdev->hDriver,
-                          IOCTL_VIDEO_SET_CURRENT_MODE,
-                          &(ppdev->ModeIndex),
-                          sizeof(ULONG),
-                          &RemappingNeeded,
-                          sizeof(ULONG),
-                          &returnedDataLength))
-   {
-      return FALSE;
-   }
-
-   /* Check if mapping is need it */
-   if ((!bForcemapping) &&
-       (!RemappingNeeded))
-   {
-       return TRUE;
-   }
-
-
-   /*
-    * Map the framebuffer into our memory.
-    */
-
-   VideoMemory.RequestedVirtualAddress = NULL;
-   if (EngDeviceIoControl(ppdev->hDriver, IOCTL_VIDEO_MAP_VIDEO_MEMORY,
-                          &VideoMemory, sizeof(VIDEO_MEMORY),
-                          &VideoMemoryInfo, sizeof(VIDEO_MEMORY_INFORMATION),
-                          &returnedDataLength))
-   {
-      return FALSE;
-   }
-
-   /*
-    * Save the real video memory
-    */
-    ppdev->pRealVideoMem = VideoMemoryInfo.FrameBufferBase;
-    ppdev->VideoMemSize = VideoMemoryInfo.VideoRamLength;
-
-
-   /*
-    * Video memory cached
-    *
-    * We maby should only ask max 8MB as cached ?, think of the video ram 
length is 256MB
-    */
-
-    ppdev->pVideoMemCache = NULL;
-#ifdef EXPERIMENTAL_ACC_SUPPORT
-
-   ppdev->pVideoMemCache = EngAllocMem(0, 
(ULONG)VideoMemoryInfo.VideoRamLength, ALLOC_TAG);
-   if (ppdev->pVideoMemCache == NULL)
-   {
-        /* cached off for no avail system memory */
-        ppdev->ScreenPtr = VideoMemoryInfo.FrameBufferBase;
-   }
-   else
-
-#endif
-   {
-        /* cached on, system memory is avail */
-        ppdev->ScreenPtr = ppdev->pRealVideoMem;
-   }
-
-   /* hw mouse pointer support */
-   PointerMaxHeight = ppdev->PointerCapabilities.MaxHeight;
-   PointerMaxWidth = ppdev->PointerCapabilities.MaxWidth * sizeof(ULONG);
-   if (ppdev->PointerCapabilities.Flags & VIDEO_MODE_COLOR_POINTER)
-   {
-        PointerMaxWidth = (ppdev->PointerCapabilities.MaxWidth + 7) / 8;
-   }
-
-   ppdev->PointerAttributesSize = sizeof(VIDEO_POINTER_ATTRIBUTES) + 
((sizeof(UCHAR) * PointerMaxWidth * PointerMaxHeight) << 1);
-
-   ppdev->pPointerAttributes = EngAllocMem(0, ppdev->PointerAttributesSize, 
ALLOC_TAG);
-
-   if (ppdev->pPointerAttributes != NULL)
-   {
-        ppdev->pPointerAttributes->Flags = ppdev->PointerCapabilities.Flags;
-        ppdev->pPointerAttributes->WidthInBytes = PointerMaxWidth;
-        ppdev->pPointerAttributes->Width = ppdev->PointerCapabilities.MaxWidth;
-        ppdev->pPointerAttributes->Height = PointerMaxHeight;
-        ppdev->pPointerAttributes->Column = 0;
-        ppdev->pPointerAttributes->Row = 0;
-        ppdev->pPointerAttributes->Enable = 0;
-   }
-   else
-   {
-       /* no hw mouse was avail */
-       ppdev->PointerAttributesSize = 0;
-   }
-
-   return TRUE;
-}
-
-/*
- * DrvEnableSurface
- *
- * Create engine bitmap around frame buffer and set the video mode requested
- * when PDEV was initialized.
- *
- * Status
- *    @implemented
- */
-
-HSURF APIENTRY
-DrvEnableSurface(
-   IN DHPDEV dhpdev)
-{
-   PPDEV ppdev = (PPDEV)dhpdev;
-   HSURF hSurface;
-   ULONG BitmapType;
-   SIZEL ScreenSize;
-
-
-   /* Setup surface and force the mapping */
-   if (!InitSurface(ppdev, TRUE))
-   {
-       return NULL;
-   }
-
-   /* Rest the desktop vitual position */
-   ppdev->ScreenOffsetXY.x = 0;
-   ppdev->ScreenOffsetXY.y = 0;
-
-
-   switch (ppdev->BitsPerPixel)
-   {
-      case 8:
-         IntSetPalette(dhpdev, ppdev->PaletteEntries, 0, 256);
-         BitmapType = BMF_8BPP;
-         break;
-
-      case 16:
-         BitmapType = BMF_16BPP;
-         break;
-
-      case 24:
-         BitmapType = BMF_24BPP;
-         break;
-
-      case 32:
-         BitmapType = BMF_32BPP;
-         break;
-
-      default:
-         return NULL;
-   }
-
-   ppdev->iDitherFormat = BitmapType;
-
-   ScreenSize.cx = ppdev->ScreenWidth;
-   ScreenSize.cy = ppdev->ScreenHeight;
-
-   hSurface = (HSURF)EngCreateBitmap(ScreenSize, ppdev->ScreenDelta, 
BitmapType,
-                                     (ppdev->ScreenDelta > 0) ? BMF_TOPDOWN : 
0,
-                                     ppdev->ScreenPtr);
-   if (hSurface == NULL)
-   {
-      return NULL;
-   }
-
-   /* Which api we hooking to */
-   ppdev->dwHooks = HOOK_BITBLT | HOOK_COPYBITS | HOOK_FILLPATH | HOOK_TEXTOUT 
| HOOK_STROKEPATH | HOOK_LINETO ;
-
-   /*
-    * Associate the surface with our device.
-    */
-
-
-   if (!EngAssociateSurface(hSurface, ppdev->hDevEng, ppdev->dwHooks))
-   {
-      EngDeleteSurface(hSurface);
-      return NULL;
-   }
-
-   ppdev->hSurfEng = hSurface;
-
-   return hSurface;
-}
-
-/*
- * DrvDisableSurface
- *
- * Used by GDI to notify a driver that the surface created by DrvEnableSurface
- * for the current device is no longer needed.
- *
- * Status
- *    @implemented
- */
-
-VOID APIENTRY
-DrvDisableSurface(
-   IN DHPDEV dhpdev)
-{
-   DWORD ulTemp;
-   VIDEO_MEMORY VideoMemory;
-   PPDEV ppdev = (PPDEV)dhpdev;
-
-   EngDeleteSurface(ppdev->hSurfEng);
-   ppdev->hSurfEng = NULL;
-
-
-   /* Free the video memory cache */
-   if (ppdev->pVideoMemCache)
-   {
-        EngFreeMem(ppdev->pVideoMemCache);
-   }
-
-   /*
-    * Unmap the framebuffer.
-    */
-
-   VideoMemory.RequestedVirtualAddress = ppdev->pRealVideoMem;
-   EngDeviceIoControl(((PPDEV)dhpdev)->hDriver, IOCTL_VIDEO_UNMAP_VIDEO_MEMORY,
-                      &VideoMemory, sizeof(VIDEO_MEMORY), NULL, 0, &ulTemp);
-
-   ppdev->pRealVideoMem  = NULL;
-   ppdev->pVideoMemCache = NULL;
-
-}
-
-/*
- * DrvAssertMode
- *
- * Sets the mode of the specified physical device to either the mode specified
- * when the PDEV was initialized or to the default mode of the hardware.
- *
- * Status
- *    @implemented
- */
-
-BOOL APIENTRY
-DrvAssertMode(
-   IN DHPDEV dhpdev,
-   IN BOOL bEnable)
-{
-   PPDEV ppdev = (PPDEV)dhpdev;
-   ULONG ulTemp;
-   BOOLEAN Result = TRUE;
-
-   if (bEnable)
-   {
-      PVOID pRealVideoMem = ppdev->pRealVideoMem;
-
-      /* Setup surface and remapping if it need it */
-      if (!InitSurface(ppdev, FALSE))
-      {
-            Result = FALSE;
-      }
-      else
-      {
-            /* Check if we got same surface or not */
-            if (pRealVideoMem != ppdev->pRealVideoMem)
-            {
-                PVOID pVideoMem= NULL;
-
-                if (ppdev->pVideoMemCache == NULL)
-                {
-                    pVideoMem = ppdev->pRealVideoMem;
-                }
-                else
-                {
-                    pVideoMem = ppdev->pVideoMemCache;
-                }
-
-                Result = !EngModifySurface(ppdev->hSurfEng, ppdev->hDevEng,
-                                           ppdev->dwHooks | HOOK_SYNCHRONIZE,
-                                           0, (DHSURF)ppdev, pVideoMem,
-                                           ppdev->ScreenDelta, NULL);
-            }
-
-            /* if the pRealVideoMem == ppdev->pRealVideoMem are
-             * the Result is then TRUE
-             */
-      }
-
-   }
-   else
-   {
-      /*
-       * Call the miniport driver to reset the device to a known state.
-       */
-
-      Result = !EngDeviceIoControl(ppdev->hDriver, IOCTL_VIDEO_RESET_DEVICE,
-                                 NULL, 0, NULL, 0, &ulTemp);
-   }
-
-   return Result;
-}

Reply via email to