Annotation of ntddk/src/video/displays/jz484/pattern.c, revision 1.1

1.1     ! root        1: /******************************Module*Header*******************************\
        !             2: * Module Name: pattern.c
        !             3: *
        !             4: * Used for creating and destroying the default patterns to be used on this
        !             5: * device.
        !             6: *
        !             7: * Copyright (c) 1992 Microsoft Corporation
        !             8: \**************************************************************************/
        !             9: 
        !            10: #include "driver.h"
        !            11: 
        !            12: /******************************Public*Data*Struct*************************\
        !            13: * gaajPat
        !            14: *
        !            15: * These are the standard patterns defined Windows, they are used to produce
        !            16: * hatch brushes, grey brushes etc.
        !            17: *
        !            18: \**************************************************************************/
        !            19: 
        !            20: const BYTE gaajPat[HS_DDI_MAX][32] = {
        !            21: 
        !            22:     { 0x00,0x00,0x00,0x00,                 // ........     HS_HORIZONTAL 0
        !            23:       0x00,0x00,0x00,0x00,                 // ........
        !            24:       0x00,0x00,0x00,0x00,                 // ........
        !            25:       0xff,0x00,0x00,0x00,                 // ********
        !            26:       0x00,0x00,0x00,0x00,                 // ........
        !            27:       0x00,0x00,0x00,0x00,                 // ........
        !            28:       0x00,0x00,0x00,0x00,                 // ........
        !            29:       0x00,0x00,0x00,0x00 },               // ........
        !            30: 
        !            31:     { 0x08,0x00,0x00,0x00,                 // ....*...     HS_VERTICAL 1
        !            32:       0x08,0x00,0x00,0x00,                 // ....*...
        !            33:       0x08,0x00,0x00,0x00,                 // ....*...
        !            34:       0x08,0x00,0x00,0x00,                 // ....*...
        !            35:       0x08,0x00,0x00,0x00,                 // ....*...
        !            36:       0x08,0x00,0x00,0x00,                 // ....*...
        !            37:       0x08,0x00,0x00,0x00,                 // ....*...
        !            38:       0x08,0x00,0x00,0x00 },               // ....*...
        !            39: 
        !            40:     { 0x80,0x00,0x00,0x00,                 // *.......     HS_FDIAGONAL 2
        !            41:       0x40,0x00,0x00,0x00,                 // .*......
        !            42:       0x20,0x00,0x00,0x00,                 // ..*.....
        !            43:       0x10,0x00,0x00,0x00,                 // ...*....
        !            44:       0x08,0x00,0x00,0x00,                 // ....*...
        !            45:       0x04,0x00,0x00,0x00,                 // .....*..
        !            46:       0x02,0x00,0x00,0x00,                 // ......*.
        !            47:       0x01,0x00,0x00,0x00 },               // .......*
        !            48: 
        !            49:     { 0x01,0x00,0x00,0x00,                 // .......*     HS_BDIAGONAL 3
        !            50:       0x02,0x00,0x00,0x00,                 // ......*.
        !            51:       0x04,0x00,0x00,0x00,                 // .....*..
        !            52:       0x08,0x00,0x00,0x00,                 // ....*...
        !            53:       0x10,0x00,0x00,0x00,                 // ...*....
        !            54:       0x20,0x00,0x00,0x00,                 // ..*.....
        !            55:       0x40,0x00,0x00,0x00,                 // .*......
        !            56:       0x80,0x00,0x00,0x00 },               // *.......
        !            57: 
        !            58:     { 0x08,0x00,0x00,0x00,                 // ....*...     HS_CROSS 4
        !            59:       0x08,0x00,0x00,0x00,                 // ....*...
        !            60:       0x08,0x00,0x00,0x00,                 // ....*...
        !            61:       0xff,0x00,0x00,0x00,                 // ********
        !            62:       0x08,0x00,0x00,0x00,                 // ....*...
        !            63:       0x08,0x00,0x00,0x00,                 // ....*...
        !            64:       0x08,0x00,0x00,0x00,                 // ....*...
        !            65:       0x08,0x00,0x00,0x00 },               // ....*...
        !            66: 
        !            67:     { 0x81,0x00,0x00,0x00,                 // *......*     HS_DIAGCROSS 5
        !            68:       0x42,0x00,0x00,0x00,                 // .*....*.
        !            69:       0x24,0x00,0x00,0x00,                 // ..*..*..
        !            70:       0x18,0x00,0x00,0x00,                 // ...**...
        !            71:       0x18,0x00,0x00,0x00,                 // ...**...
        !            72:       0x24,0x00,0x00,0x00,                 // ..*..*..
        !            73:       0x42,0x00,0x00,0x00,                 // .*....*.
        !            74:       0x81,0x00,0x00,0x00 },               // *......*
        !            75: 
        !            76:     { 0x81,0x00,0x00,0x00,                 // *......*     HS_FDIAGONAL1 6
        !            77:       0x60,0x00,0x00,0x00,                 // .**.....
        !            78:       0x18,0x00,0x00,0x00,                 // ...**...
        !            79:       0x06,0x00,0x00,0x00,                 // .....**.
        !            80:       0x81,0x00,0x00,0x00,                 // *......*
        !            81:       0x60,0x00,0x00,0x00,                 // .**.....
        !            82:       0x18,0x00,0x00,0x00,                 // ...**...
        !            83:       0x06,0x00,0x00,0x00 },               // .....**.
        !            84: 
        !            85:     { 0x81,0x00,0x00,0x00,                 // *......*     HS_BDIAGONAL1 7
        !            86:       0x06,0x00,0x00,0x00,                 // .....**.
        !            87:       0x18,0x00,0x00,0x00,                 // ...**...
        !            88:       0x60,0x00,0x00,0x00,                 // .**.....
        !            89:       0x81,0x00,0x00,0x00,                 // *......*
        !            90:       0x06,0x00,0x00,0x00,                 // .....**.
        !            91:       0x18,0x00,0x00,0x00,                 // ...**...
        !            92:       0x60,0x00,0x00,0x00 },               // .**.....
        !            93: 
        !            94:     { 0xFF,0x00,0x00,0x00,                 // ********     HS_SOLID 8
        !            95:       0xFF,0x00,0x00,0x00,                 // ********
        !            96:       0xFF,0x00,0x00,0x00,                 // ********
        !            97:       0xFF,0x00,0x00,0x00,                 // ********
        !            98:       0xFF,0x00,0x00,0x00,                 // ********
        !            99:       0xFF,0x00,0x00,0x00,                 // ********
        !           100:       0xFF,0x00,0x00,0x00,                 // ********
        !           101:       0xFF,0x00,0x00,0x00 },               // ********
        !           102: 
        !           103:     { 0x38,0x00,0x00,0x00,                 // ..***...     HS_DENSE1 9
        !           104:       0x7c,0x00,0x00,0x00,                 // .*****..
        !           105:       0x7c,0x00,0x00,0x00,                 // .*****..
        !           106:       0x38,0x00,0x00,0x00,                 // ..***...
        !           107:       0x83,0x00,0x00,0x00,                 // *.....**
        !           108:       0xc7,0x00,0x00,0x00,                 // **...***
        !           109:       0xc7,0x00,0x00,0x00,                 // **...***
        !           110:       0x83,0x00,0x00,0x00 },               // *.....**
        !           111: 
        !           112:     { 0x38,0x00,0x00,0x00,                 // ..***...     HS_DENSE2 10
        !           113:       0x6c,0x00,0x00,0x00,                 // .**.**..
        !           114:       0x54,0x00,0x00,0x00,                 // .*.*.*..
        !           115:       0x38,0x00,0x00,0x00,                 // ..***...
        !           116:       0x83,0x00,0x00,0x00,                 // *.....**
        !           117:       0xc6,0x00,0x00,0x00,                 // **...**.
        !           118:       0x45,0x00,0x00,0x00,                 // .*...*.*
        !           119:       0x83,0x00,0x00,0x00 },               // *.....**
        !           120: 
        !           121:     { 0x18,0x00,0x00,0x00,                 // ...**...     HS_DENSE3 11
        !           122:       0x3c,0x00,0x00,0x00,                 // ..****..
        !           123:       0x34,0x00,0x00,0x00,                 // ..**.*..
        !           124:       0x18,0x00,0x00,0x00,                 // ...**...
        !           125:       0x81,0x00,0x00,0x00,                 // *......*
        !           126:       0xc3,0x00,0x00,0x00,                 // **....**
        !           127:       0x43,0x00,0x00,0x00,                 // .*....**
        !           128:       0x81,0x00,0x00,0x00 },               // *......*
        !           129: 
        !           130:     { 0x18,0x00,0x00,0x00,                 // ...**...     HS_DENSE4 12
        !           131:       0x2c,0x00,0x00,0x00,                 // ..*.**..
        !           132:       0x24,0x00,0x00,0x00,                 // ..*..*..
        !           133:       0x18,0x00,0x00,0x00,                 // ...**...
        !           134:       0x81,0x00,0x00,0x00,                 // *......*
        !           135:       0xc1,0x00,0x00,0x00,                 // **....*.
        !           136:       0x42,0x00,0x00,0x00,                 // .*....*.
        !           137:       0x81,0x00,0x00,0x00 },               // *......*
        !           138: 
        !           139:     { 0x10,0x00,0x00,0x00,                 // ...*....     HS_DENSE5 13
        !           140:       0x38,0x00,0x00,0x00,                 // ..***...
        !           141:       0x28,0x00,0x00,0x00,                 // ..*.*...
        !           142:       0x10,0x00,0x00,0x00,                 // ...*....
        !           143:       0x01,0x00,0x00,0x00,                 // .......*
        !           144:       0x83,0x00,0x00,0x00,                 // *.....**
        !           145:       0x82,0x00,0x00,0x00,                 // *.....*.
        !           146:       0x01,0x00,0x00,0x00 },               // .......*
        !           147: 
        !           148:     { 0x00,0x00,0x00,0x00,                 // ........     HS_DENSE6 14
        !           149:       0x10,0x00,0x00,0x00,                 // ...*....
        !           150:       0x38,0x00,0x00,0x00,                 // ..***...
        !           151:       0x10,0x00,0x00,0x00,                 // ...*....
        !           152:       0x00,0x00,0x00,0x00,                 // ........
        !           153:       0x01,0x00,0x00,0x00,                 // .......*
        !           154:       0x83,0x00,0x00,0x00,                 // *.....**
        !           155:       0x01,0x00,0x00,0x00 },               // .......*
        !           156: 
        !           157:     { 0x00,0x00,0x00,0x00,                 // ........     HS_DENSE7 15
        !           158:       0x10,0x00,0x00,0x00,                 // ...*....
        !           159:       0x30,0x00,0x00,0x00,                 // ..**....
        !           160:       0x00,0x00,0x00,0x00,                 // ........
        !           161:       0x00,0x00,0x00,0x00,                 // ........
        !           162:       0x01,0x00,0x00,0x00,                 // .......*
        !           163:       0x03,0x00,0x00,0x00,                 // ......**
        !           164:       0x00,0x00,0x00,0x00 },               // ........
        !           165: 
        !           166:     { 0x00,0x00,0x00,0x00,                 // ........     HS_DENSE8 16
        !           167:       0x00,0x00,0x00,0x00,                 // ........
        !           168:       0x20,0x00,0x00,0x00,                 // ..*.....
        !           169:       0x00,0x00,0x00,0x00,                 // ........
        !           170:       0x00,0x00,0x00,0x00,                 // ........
        !           171:       0x00,0x00,0x00,0x00,                 // ........
        !           172:       0x02,0x00,0x00,0x00,                 // ......*.
        !           173:       0x00,0x00,0x00,0x00 },               // ........
        !           174: 
        !           175:     { 0x00,0x00,0x00,0x00,                 // ........     HS_NOSHADE 17
        !           176:       0x00,0x00,0x00,0x00,                 // ........
        !           177:       0x00,0x00,0x00,0x00,                 // ........
        !           178:       0x00,0x00,0x00,0x00,                 // ........
        !           179:       0x00,0x00,0x00,0x00,                 // ........
        !           180:       0x00,0x00,0x00,0x00,                 // ........
        !           181:       0x00,0x00,0x00,0x00,                 // ........
        !           182:       0x00,0x00,0x00,0x00 },               // ........
        !           183: 
        !           184:     { 0xAA,0x00,0x00,0x00,                 // *.*.*.*.     HS_HALFTONE 18
        !           185:       0x55,0x00,0x00,0x00,                 // .*.*.*.*
        !           186:       0xAA,0x00,0x00,0x00,                 // *.*.*.*.
        !           187:       0x55,0x00,0x00,0x00,                 // .*.*.*.*
        !           188:       0xAA,0x00,0x00,0x00,                 // *.*.*.*.
        !           189:       0x55,0x00,0x00,0x00,                 // .*.*.*.*
        !           190:       0xAA,0x00,0x00,0x00,                 // *.*.*.*.
        !           191:       0x55,0x00,0x00,0x00 }                // .*.*.*.*
        !           192: };
        !           193: 
        !           194: /******************************Public*Routine******************************\
        !           195: * bInitPatterns
        !           196: *
        !           197: * This routine initializes the default patterns.
        !           198: *
        !           199: \**************************************************************************/
        !           200: 
        !           201: BOOL bInitPatterns(IN PPDEV ppdev, ULONG cPatterns)
        !           202: {
        !           203:     SIZEL           sizl;
        !           204:     ULONG           ulLoop;
        !           205: 
        !           206:     sizl.cx = 8;
        !           207:     sizl.cy = 8;
        !           208: 
        !           209:     for (ulLoop = 0; ulLoop < cPatterns; ulLoop++)
        !           210:     {
        !           211:         ppdev->ahbmPat[ulLoop] = EngCreateBitmap(sizl, sizl.cx / 8, BMF_1BPP,
        !           212:         BMF_TOPDOWN, (PULONG) (&gaajPat[ulLoop][0]));
        !           213: 
        !           214:         if (ppdev->ahbmPat[ulLoop] == (HBITMAP) 0)
        !           215:         {
        !           216:         // Set the count created so vDisablePatterns will clean up.
        !           217: 
        !           218:             ppdev->cPatterns = ulLoop;
        !           219:             return(FALSE);
        !           220:         }
        !           221:     }
        !           222: 
        !           223:     ppdev->cPatterns = cPatterns;
        !           224:     return(TRUE);
        !           225: }
        !           226: 
        !           227: /******************************Public*Routine******************************\
        !           228: * vDisablePatterns
        !           229: *
        !           230: * Delete the standard patterns allocated.
        !           231: *
        !           232: \**************************************************************************/
        !           233: 
        !           234: VOID vDisablePatterns(IN PPDEV ppdev)
        !           235: {
        !           236:     ULONG ulIndex;
        !           237: 
        !           238: // Erase all patterns.
        !           239: 
        !           240:     for (ulIndex = 0; ulIndex < ppdev->cPatterns; ulIndex++)
        !           241:     {
        !           242:         EngDeleteSurface((HSURF) ppdev->ahbmPat[ulIndex]);
        !           243:     }
        !           244: }

unix.superglobalmegacorp.com

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