Annotation of ntddk/src/video/displays/xga/xgasup.c, revision 1.1

1.1     ! root        1: /******************************Module*Header*******************************\
        !             2: * Module Name: XGA Support.
        !             3: *
        !             4: * XGA specific support routines.
        !             5: *
        !             6: * Copyright (c) 1992 Microsoft Corporation
        !             7: *
        !             8: \**************************************************************************/
        !             9: 
        !            10: #include "driver.h"
        !            11: 
        !            12: 
        !            13: /*****************************************************************************
        !            14:  * bSetXgaClipping - Set Xga Clipping
        !            15:  *****************************************************************************/
        !            16: BOOL bSetXgaClipping(PPDEV ppdev, CLIPOBJ *pco, PULONG pulXgaMask)
        !            17: {
        !            18: SHORT       cxMask,
        !            19:             cyMask ;
        !            20: BYTE        iDComplexity ;
        !            21: 
        !            22:         // Take care of the clipping.
        !            23:         // If the clipping is DC_COMPLEX then let the engine take care of it.
        !            24:         // NOTE: As an acceleration we should cache the regions and
        !            25:         // use the mask bitmap to clip things.  We will do this as we develope
        !            26:         // the memory manager for the off screen memory.
        !            27: 
        !            28:         // Default to no clipping.
        !            29: 
        !            30:         *pulXgaMask = MSK_DISABLE ;
        !            31: 
        !            32:         if (pco != NULL)
        !            33:         {
        !            34: 
        !            35:             iDComplexity = pco->iDComplexity ;
        !            36: 
        !            37:             // If it's complex just return to the engine.
        !            38: 
        !            39:             if (iDComplexity == DC_COMPLEX)
        !            40:                 return(FALSE) ;
        !            41: 
        !            42:             // It's a simple rectangle, so set up to clip to it's
        !            43:             // Boundary.
        !            44: 
        !            45:             if (iDComplexity == DC_RECT)
        !            46:             {
        !            47: 
        !            48:                 *pulXgaMask = MSK_BOUNDARY_ENABLE ;
        !            49: 
        !            50:                 cxMask = (pco->rclBounds.right - pco->rclBounds.left) - 1 ;
        !            51:                 cyMask = (pco->rclBounds.bottom - pco->rclBounds.top) - 1 ;
        !            52: 
        !            53:                 ppdev->pXgaCpRegs->XGAPixelMapIndex = MASK_MAP ;
        !            54:                 ppdev->pXgaCpRegs->XGAPixMapBasePtr = 0 ;
        !            55:                 ppdev->pXgaCpRegs->XGAMaskMapOrgnX  = LOWORD(pco->rclBounds.left) ;
        !            56:                 ppdev->pXgaCpRegs->XGAMaskMapOrgnY  = LOWORD(pco->rclBounds.top) ;
        !            57:                 ppdev->pXgaCpRegs->XGAPixMapWidth   = cxMask ;
        !            58:                 ppdev->pXgaCpRegs->XGAPixMapHeight  = cyMask ;
        !            59:                 ppdev->pXgaCpRegs->XGAPixMapFormat  = 0 ;
        !            60: 
        !            61:             }
        !            62:         }
        !            63: 
        !            64:         return (TRUE) ;
        !            65: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.