Ejemplo n.º 1
0
/*
 * mmioOpen - cover for mmsystem function mmioOpen
 */
HMMIO PASCAL mmioOpen( LPSTR szFileName, LPMMIOINFO lpmmioinfo,
                        DWORD dwOpenFlags)
{
    HMMIO               rc;
    DWORD               alias;
    LPMMINFOLIST        curr;

    alias = 0;
    if( !(dwOpenFlags & (MMIO_ALLOCBUF | MMIO_DELETE | MMIO_PARSE | MMIO_EXIST
                                | MMIO_GETTEMP) ) ) {
        if( lpmmioinfo->cchBuffer != 0 && lpmmioinfo->pchBuffer != NULL ) {
            DPMIGetHugeAlias( (DWORD) lpmmioinfo->pchBuffer, &alias,
                                lpmmioinfo->cchBuffer );
            lpmmioinfo->pchBuffer = (LPVOID) alias;
        }
    }

    rc = __mmioOpen( szFileName, lpmmioinfo, dwOpenFlags );

    if( rc != NULL && alias ) {
        curr = malloc( sizeof( mminfo_list ) );
        if( curr != NULL ) {
            curr->next = mminfoListHead;
            curr->handle = rc;
            curr->alias = alias;
            curr->size = lpmmioinfo->cchBuffer;
            mminfoListHead = curr;
        }
    }
    return( rc );

} /* mmioOpen */
Ejemplo n.º 2
0
/*
 * __GetBitmapBits - make sure to get alias right for bits
 */
LONG FAR PASCAL __GetBitmapBits( HBITMAP bm, DWORD dw, LPSTR bits )
{
    DWORD       alias;
    LONG        rc;

    DPMIGetHugeAlias( (DWORD) bits, &alias, dw );
    rc = GetBitmapBits( bm, dw, (LPSTR) alias );
    DPMIFreeHugeAlias( alias, dw );
    return( rc );

} /* __GetBitmapBits */
Ejemplo n.º 3
0
/*
 * mmioWrite - cover for mmsystem function mmioWrite
 */
LONG PASCAL mmioWrite( HMMIO hmmio, const char *pch, LONG cch )
{
    LONG        rc;
    DWORD       alias;

    DPMIGetHugeAlias( (DWORD) pch, &alias, cch );
    rc = __mmioWrite( hmmio, (HPSTR) alias, cch );
    DPMIFreeHugeAlias( alias, cch );
    return( rc );

} /* mmioWrite */
Ejemplo n.º 4
0
/*
 * mmioRead - cover for mmsystem function mmioRead
 */
LONG PASCAL mmioRead( HMMIO hmmio, HPSTR pch, LONG cch )
{
    LONG        rc;
    DWORD       alias;

    DPMIGetHugeAlias( (DWORD) pch, &alias, cch );
    rc = __mmioRead( hmmio, (HPSTR) alias, cch );
    DPMIFreeHugeAlias( alias, cch );
    return( rc );

} /* mmioRead */
Ejemplo n.º 5
0
/*
 * __CreateBitmap - cover for CreateBitmap, makes sure lpbits are ok
 */
HBITMAP FAR PASCAL __CreateBitmap(int height, int width, BYTE nplanes,
                        BYTE bitcount, DWORD lpbits )
{
    DWORD       alias,size;
    HBITMAP     rc;

    size = (DWORD)nplanes * (DWORD)height * (DWORD)width * (DWORD)bitcount;
    size = (size + 7) >> 3;
    DPMIGetHugeAlias( (DWORD) lpbits, &alias, size );
    rc = CreateBitmap( height, width, nplanes, bitcount, (LPVOID) alias );
    DPMIFreeHugeAlias( alias, size );
    return( rc );

} /* CreateBitmap */
Ejemplo n.º 6
0
/*
 * __GetDIBits - make sure the right alias gets in for lpbits
 */
int FAR PASCAL __GetDIBits(HDC hdc,HANDLE hbitmap,WORD start,WORD num,
                LPSTR lpbits ,LPBITMAPINFO bmi,WORD usage)
{
    DWORD       size;
    DWORD       alias;
    int         rc;

    size = (DWORD) num * getScanLineSize( &bmi->bmiHeader );
    DPMIGetHugeAlias( (DWORD) lpbits, &alias, size );
    rc = GetDIBits( hdc, hbitmap, start, num, (LPSTR) alias, bmi, usage );
    DPMIFreeHugeAlias( alias, size );
    return( rc );

} /* __GetDIBits */
Ejemplo n.º 7
0
/*
 * __SetDIBitsToDevice - make sure the right alias gets in for lpbits
 */
int FAR PASCAL __SetDIBitsToDevice(HDC hdc,WORD destx,WORD desty,
                                        WORD width,WORD height,
                                        WORD srcx,WORD srcy,WORD start,
                                        WORD num, LPSTR lpbits,
                                        LPBITMAPINFO bmi,WORD usage )
{
    DWORD       size;
    DWORD       alias;
    int         rc;

    size = (DWORD) num * getScanLineSize( &bmi->bmiHeader );
    DPMIGetHugeAlias( (DWORD) lpbits, &alias, size );
    rc = SetDIBitsToDevice( hdc, destx, desty, width, height, srcx, srcy,
                start, num, (LPSTR) alias, bmi, usage );
    DPMIFreeHugeAlias( alias, size );
    return( rc );

} /* __SetDIBitsToDevice */
Ejemplo n.º 8
0
/*
 * __StretchDIBits
 */
int FAR PASCAL __StretchDIBits( HDC hdc, WORD destx, WORD desty,
                  WORD destwidth, WORD destheight, WORD srcx, WORD srcy,
                  WORD srcwidth, WORD srcheight, DWORD lpbits,
                  LPBITMAPINFO lpbitsinfo, WORD usage, DWORD rop )
{
    DWORD       size;
    DWORD       alias;
    int         rc;

//    size = (DWORD) srcheight * getScanLineSize( &lpbitsinfo->bmiHeader );
    size = (DWORD) lpbitsinfo->bmiHeader.biHeight * getScanLineSize( &lpbitsinfo->bmiHeader );
    DPMIGetHugeAlias( (DWORD) lpbits, &alias, size );

    rc = StretchDIBits( hdc, destx, desty, destwidth, destheight, srcx,
          srcy, srcwidth, srcheight, (LPVOID) alias, lpbitsinfo, usage, rop );
    DPMIFreeHugeAlias( alias, size );
    return( rc );

} /* __StretchDIBits */
Ejemplo n.º 9
0
/*
 * __CreateBitmapIndirect - cover for CreateBitmapIndirect
 */
HBITMAP FAR PASCAL __CreateBitmapIndirect( LPBITMAP bm )
{
    HBITMAP     rc;
    DWORD       alias,size;
    LPSTR       old;

    size = (DWORD) bm->bmHeight * (DWORD) bm->bmWidthBytes;
    size *= (DWORD) bm->bmPlanes;
    DPMIGetHugeAlias( (DWORD) bm->bmBits, &alias, size );
    old = bm->bmBits;
    bm->bmBits = (LPSTR) alias;

    rc = CreateBitmapIndirect( bm );

    DPMIFreeHugeAlias( alias, size );
    bm->bmBits = old;

    return( rc );

} /* __CreateBitmapIndirect */
Ejemplo n.º 10
0
/*
 * __CreateDIBitmap - make sure to get alias right for lpInitBits
 */
HBITMAP FAR PASCAL __CreateDIBitmap( HDC hDC, LPBITMAPINFOHEADER lpInfoHeader,
                        DWORD dwUsage,DWORD lpInitBits,
                        LPBITMAPINFO lpInitInfo, WORD wUsage )
{
    DWORD       size;
    DWORD       alias;
    HBITMAP     rc;

    if( lpInitBits != 0L ) {
        size = (DWORD) lpInitInfo->bmiHeader.biHeight *
                        getScanLineSize( &lpInitInfo->bmiHeader );
        DPMIGetHugeAlias( (DWORD) lpInitBits, &alias, size );
    } else {
        alias = 0;
    }
    rc = CreateDIBitmap( hDC, lpInfoHeader, dwUsage,
                        (LPSTR) alias,
                        lpInitInfo, wUsage );
    if( alias != 0 ) {
        DPMIFreeHugeAlias( alias, size );
    }
    return( rc );

} /* __CreateDIBitmap */