Annotation of ntddk/src/video/displays/xga/xgasup.c, revision 1.1.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.