VirtualBox

Changeset 3416 in vbox for trunk/src/VBox/Additions


Ignore:
Timestamp:
Jul 4, 2007 3:25:16 PM (18 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
22622
Message:

Added DrvEscape support and OPENGL_GETINFO (disabled by default)

Location:
trunk/src/VBox/Additions/WINNT/Graphics/Display
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/driver.h

    r3394 r3416  
    104104};
    105105
     106#ifdef VBOX_WITH_OPENGL
     107typedef struct
     108{
     109    DWORD dwVersion;
     110    DWORD dwDriverVersion;
     111    WCHAR szDriverName[256];
     112} OPENGL_INFO, *POPENGL_INFO;
     113#endif
     114
    106115/* The global semaphore handle for all driver instances. */
    107116extern HSEMAPHORE ghsemHwBuffer;
  • trunk/src/VBox/Additions/WINNT/Graphics/Display/enable.c

    r3396 r3416  
    3939    {   INDEX_DrvSetPalette,            (PFN) DrvSetPalette         },  // 22
    4040    {   INDEX_DrvTextOut,               (PFN) DrvTextOut            },  // 23
     41    {   INDEX_DrvEscape,                (PFN) DrvEscape             },  // 24
    4142    {   INDEX_DrvSetPointerShape,       (PFN) DrvSetPointerShape    },  // 29
    4243    {   INDEX_DrvMovePointer,           (PFN) DrvMovePointer        },  // 30
     
    7374}
    7475
    75 ULONG APIENTRY DrvEscape(
    76     SURFOBJ *pso,
    77     ULONG    iEsc,
    78     ULONG    cjIn,
    79     PVOID    pvIn,
    80     ULONG    cjOut,
    81     PVOID    pvOut
    82     )
    83 {
    84     DISPDBG((0, "Experimental %s: %p, %p, %p, %p, %p, %p\n", __FUNCTION__, pso, iEsc, cjIn, pvIn, cjOut, pvOut));
     76ULONG APIENTRY DrvEscape(SURFOBJ *pso, ULONG iEsc, ULONG cjIn, PVOID pvIn, ULONG cjOut, PVOID pvOut)
     77{
     78    DISPDBG((0, "%s: %p, %p, %p, %p, %p, %p\n", __FUNCTION__, pso, iEsc, cjIn, pvIn, cjOut, pvOut));
     79
     80    switch(iEsc)
     81    {
     82#ifdef VBOX_WITH_OPENGL
     83    case OPENGL_GETINFO:
     84    {
     85        if (    cjOut == sizeof(OPENGL_INFO)
     86            &&  pvOut)
     87        {
     88            POPENGL_INFO pInfo = (POPENGL_INFO)pvOut;
     89
     90            pInfo->dwVersion        = 2;
     91            pInfo->dwDriverVersion  = 1;
     92            pInfo->szDriverName[0]  = 'V';
     93            pInfo->szDriverName[1]  = 'B';
     94            pInfo->szDriverName[2]  = 'o';
     95            pInfo->szDriverName[3]  = 'x';
     96            pInfo->szDriverName[4]  = 'O';
     97            pInfo->szDriverName[5]  = 'G';
     98            pInfo->szDriverName[6]  = 'L';
     99            pInfo->szDriverName[7]  = 0;
     100
     101            DISPDBG((0, "OPENGL_GETINFO\n"));
     102            return cjOut;
     103        }
     104        else
     105            DISPDBG((0, "OPENGL_GETINFO invalid size %d\n", cjOut));
     106
     107        break;
     108    }
     109#endif
     110
     111    default:
     112        DISPDBG((0, "Unsupported Escape %d\n", iEsc));
     113        break;
     114    }
    85115    return 0;
    86116}
     
    138168    {   INDEX_DrvSetPalette,            (PFN) DrvSetPalette         },  // 22 0x16
    139169    {   INDEX_DrvTextOut,               (PFN) DrvTextOut            },  // 23 0x17
     170    {   INDEX_DrvEscape,                (PFN) DrvEscape             },  // 24 0x18
    140171    {   INDEX_DrvSetPointerShape,       (PFN) DrvSetPointerShape    },  // 29 0x1d
    141172    {   INDEX_DrvMovePointer,           (PFN) DrvMovePointer        },  // 30 0x1e
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette