2.1.1.31 TernaryRasterOperation Enumeration

The TernaryRasterOperation Enumeration specifies ternary raster operation codes, which define how to combine the bits in a source bitmap with the bits in a destination bitmap.

 typedef  enum
 {
   BLACKNESS = 0x00,
   DPSOON = 0x01,
   DPSONA = 0x02,
   PSON = 0x03,
   SDPONA = 0x04,
   DPON = 0x05,
   PDSXNON = 0x06,
   PDSAON = 0x07,
   SDPNAA = 0x08,
   PDSXON = 0x09,
   DPNA = 0x0A,
   PSDNAON = 0x0B,
   SPNA = 0x0C,
   PDSNAON = 0x0D,
   PDSONON = 0x0E,
   PN = 0x0F,
   PDSONA = 0x10,
   NOTSRCERASE = 0x11,
   SDPXNON = 0x12,
   SDPAON = 0x13,
   DPSXNON = 0x14,
   DPSAON = 0x15,
   PSDPSANAXX = 0x16,
   SSPXDSXAXN = 0x17,
   SPXPDXA = 0x18,
   SDPSANAXN = 0x19,
   PDSPAOX = 0x1A,
   SDPSXAXN = 0x1B,
   PSDPAOX = 0x1C,
   DSPDXAXN = 0x1D,
   PDSOX = 0x1E,
   PDSOAN = 0x1F,
   DPSNAA = 0x20,
   SDPXON = 0x21,
   DSNA = 0x22,
   SPDNAON = 0x23,
   SPXDSXA = 0x24,
   PDSPANAXN = 0x25,
   SDPSAOX = 0x26,
   SDPSXNOX = 0x27,
   DPSXA = 0x28,
   PSDPSAOXXN = 0x29,
   DPSANA = 0x2A,
   SSPXPDXAXN = 0x2B,
   SPDSOAX = 0x2C,
   PSDNOX = 0x2D,
   PSDPXOX = 0x2E,
   PSDNOAN = 0x2F,
   PSNA = 0x30,
   SDPNAON = 0x31,
   SDPSOOX = 0x32,
   NOTSRCCOPY = 0x33,
   SPDSAOX = 0x34,
   SPDSXNOX = 0x35,
   SDPOX = 0x36,
   SDPOAN = 0x37,
   PSDPOAX = 0x38,
   SPDNOX = 0x39,
   SPDSXOX = 0x3A,
   SPDNOAN = 0x3B,
   PSX = 0x3C,
   SPDSONOX = 0x3D,
   SPDSNAOX = 0x3E,
   PSAN = 0x3F,
   PSDNAA = 0x40,
   DPSXON = 0x41,
   SDXPDXA = 0x42,
   SPDSANAXN = 0x43,
   SRCERASE = 0x44,
   DPSNAON = 0x45,
   DSPDAOX = 0x46,
   PSDPXAXN = 0x47,
   SDPXA = 0x48,
   PDSPDAOXXN = 0x49,
   DPSDOAX = 0x4A,
   PDSNOX = 0x4B,
   SDPANA = 0x4C,
   SSPXDSXOXN = 0x4D,
   PDSPXOX = 0x4E,
   PDSNOAN = 0x4F,
   PDNA = 0x50,
   DSPNAON = 0x51,
   DPSDAOX = 0x52,
   SPDSXAXN = 0x53,
   DPSONON = 0x54,
   DSTINVERT = 0x55,
   DPSOX = 0x56,
   DPSOAN = 0x57,
   PDSPOAX = 0x58,
   DPSNOX = 0x59,
   PATINVERT = 0x5A,
   DPSDONOX = 0x5B,
   DPSDXOX = 0x5C,
   DPSNOAN = 0x5D,
   DPSDNAOX = 0x5E,
   DPAN = 0x5F,
   PDSXA = 0x60,
   DSPDSAOXXN = 0x61,
   DSPDOAX = 0x62,
   SDPNOX = 0x63,
   SDPSOAX = 0x64,
   DSPNOX = 0x65,
   SRCINVERT = 0x66,
   SDPSONOX = 0x67,
   DSPDSONOXXN = 0x68,
   PDSXXN = 0x69,
   DPSAX = 0x6A,
   PSDPSOAXXN = 0x6B,
   SDPAX = 0x6C,
   PDSPDOAXXN = 0x6D,
   SDPSNOAX = 0x6E,
   PDXNAN = 0x6F,
   PDSANA = 0x70,
   SSDXPDXAXN = 0x71,
   SDPSXOX = 0x72,
   SDPNOAN = 0x73,
   DSPDXOX = 0x74,
   DSPNOAN = 0x75,
   SDPSNAOX = 0x76,
   DSAN = 0x77,
   PDSAX = 0x78,
   DSPDSOAXXN = 0x79,
   DPSDNOAX = 0x7A,
   SDPXNAN = 0x7B,
   SPDSNOAX = 0x7C,
   DPSXNAN = 0x7D,
   SPXDSXO = 0x7E,
   DPSAAN = 0x7F,
   DPSAA = 0x80,
   SPXDSXON = 0x81,
   DPSXNA = 0x82,
   SPDSNOAXN = 0x83,
   SDPXNA = 0x84,
   PDSPNOAXN = 0x85,
   DSPDSOAXX = 0x86,
   PDSAXN = 0x87,
   SRCAND = 0x88,
   SDPSNAOXN = 0x89,
   DSPNOA = 0x8A,
   DSPDXOXN = 0x8B,
   SDPNOA = 0x8C,
   SDPSXOXN = 0x8D,
   SSDXPDXAX = 0x8E,
   PDSANAN = 0x8F,
   PDSXNA = 0x90,
   SDPSNOAXN = 0x91,
   DPSDPOAXX = 0x92,
   SPDAXN = 0x93,
   PSDPSOAXX = 0x94,
   DPSAXN = 0x95,
   DPSXX = 0x96,
   PSDPSONOXX = 0x97,
   SDPSONOXN = 0x98,
   DSXN = 0x99,
   DPSNAX = 0x9A,
   SDPSOAXN = 0x9B,
   SPDNAX = 0x9C,
   DSPDOAXN = 0x9D,
   DSPDSAOXX = 0x9E,
   PDSXAN = 0x9F,
   DPA = 0xA0,
   PDSPNAOXN = 0xA1,
   DPSNOA = 0xA2,
   DPSDXOXN = 0xA3,
   PDSPONOXN = 0xA4,
   PDXN = 0xA5,
   DSPNAX = 0xA6,
   PDSPOAXN = 0xA7,
   DPSOA = 0xA8,
   DPSOXN = 0xA9,
   D = 0xAA,
   DPSONO = 0xAB,
   SPDSXAX = 0xAC,
   DPSDAOXN = 0xAD,
   DSPNAO = 0xAE,
   DPNO = 0xAF,
   PDSNOA = 0xB0,
   PDSPXOXN = 0xB1,
   SSPXDSXOX = 0xB2,
   SDPANAN = 0xB3,
   PSDNAX = 0xB4,
   DPSDOAXN = 0xB5,
   DPSDPAOXX = 0xB6,
   SDPXAN = 0xB7,
   PSDPXAX = 0xB8,
   DSPDAOXN = 0xB9,
   DPSNAO = 0xBA,
   MERGEPAINT = 0xBB,
   SPDSANAX = 0xBC,
   SDXPDXAN = 0xBD,
   DPSXO = 0xBE,
   DPSANO = 0xBF,
   MERGECOPY = 0xC0,
   SPDSNAOXN = 0xC1,
   SPDSONOXN = 0xC2,
   PSXN = 0xC3,
   SPDNOA = 0xC4,
   SPDSXOXN = 0xC5,
   SDPNAX = 0xC6,
   PSDPOAXN = 0xC7,
   SDPOA = 0xC8,
   SPDOXN = 0xC9,
   DPSDXAX = 0xCA,
   SPDSAOXN = 0xCB,
   SRCCOPY = 0xCC,
   SDPONO = 0xCD,
   SDPNAO = 0xCE,
   SPNO = 0xCF,
   PSDNOA = 0xD0,
   PSDPXOXN = 0xD1,
   PDSNAX = 0xD2,
   SPDSOAXN = 0xD3,
   SSPXPDXAX = 0xD4,
   DPSANAN = 0xD5,
   PSDPSAOXX = 0xD6,
   DPSXAN = 0xD7,
   PDSPXAX = 0xD8,
   SDPSAOXN = 0xD9,
   DPSDANAX = 0xDA,
   SPXDSXAN = 0xDB,
   SPDNAO = 0xDC,
   SDNO = 0xDD,
   SDPXO = 0xDE,
   SDPANO = 0xDF,
   PDSOA = 0xE0,
   PDSOXN = 0xE1,
   DSPDXAX = 0xE2,
   PSDPAOXN = 0xE3,
   SDPSXAX = 0xE4,
   PDSPAOXN = 0xE5,
   SDPSANAX = 0xE6,
   SPXPDXAN = 0xE7,
   SSPXDSXAX = 0xE8,
   DSPDSANAXXN = 0xE9,
   DPSAO = 0xEA,
   DPSXNO = 0xEB,
   SDPAO = 0xEC,
   SDPXNO = 0xED,
   SRCPAINT = 0xEE,
   SDPNOO = 0xEF,
   PATCOPY = 0xF0,
   PDSONO = 0xF1,
   PDSNAO = 0xF2,
   PSNO = 0xF3,
   PSDNAO = 0xF4,
   PDNO = 0xF5,
   PDSXO = 0xF6,
   PDSANO = 0xF7,
   PDSAO = 0xF8,
   PDSXNO = 0xF9,
   DPO = 0xFA,
   PATPAINT = 0xFB,
   PSO = 0xFC,
   PSDNOO = 0xFD,
   DPSOO = 0xFE,
   WHITENESS = 0xFF
 } TernaryRasterOperation;

BLACKNESS:

Reverse Polish = 00000042

Common = 0

DPSOON:

Reverse Polish = 00010289

Common = DPSoon

DPSONA:

Reverse Polish = 00020C89

Common = DPSona

PSON:

Reverse Polish = 000300AA

Common = PSon

SDPONA:

Reverse Polish = 00040C88

Common = SDPona

DPON:

Reverse Polish = 000500A9

Common = DPon

PDSXNON:

Reverse Polish = 00060865

Common = PDSxnon

PDSAON:

Reverse Polish = 000702C5

Common = PDSaon

SDPNAA:

Reverse Polish = 00080F08

Common = SDPnaa

PDSXON:

Reverse Polish = 00090245

Common = PDSxon

DPNA:

Reverse Polish = 000A0329

Common = DPna

PSDNAON:

Reverse Polish = 000B0B2A

Common = PSDnaon

SPNA:

Reverse Polish = 000C0324

Common = SPna

PDSNAON:

Reverse Polish = 000D0B25

Common = PDSnaon

PDSONON:

Reverse Polish = 000E08A5

Common = PDSonon

PN:

Reverse Polish = 000F0001

Common = Pn

PDSONA:

Reverse Polish = 00100C85

Common = PDSona

NOTSRCERASE:

Reverse Polish = 001100A6

Common = DSon

SDPXNON:

Reverse Polish = 00120868

Common = SDPxnon

SDPAON:

Reverse Polish = 001302C8

Common = SDPaon

DPSXNON:

Reverse Polish = 00140869

Common = DPSxnon

DPSAON:

Reverse Polish = 001502C9

Common = DPSaon

PSDPSANAXX:

Reverse Polish = 00165CCA

Common = PSDPSanaxx

SSPXDSXAXN:

Reverse Polish = 00171D54

Common = SSPxDSxaxn

SPXPDXA:

Reverse Polish = 00180D59

Common = SPxPDxa

SDPSANAXN:

Reverse Polish = 00191CC8

Common = SDPSanaxn

PDSPAOX:

Reverse Polish = 001A06C5

Common = PDSPaox

SDPSXAXN:

Reverse Polish = 001B0768

Common = SDPSxaxn

PSDPAOX:

Reverse Polish = 001C06CA

Common = PSDPaox

DSPDXAXN:

Reverse Polish = 001D0766

Common = DSPDxaxn

PDSOX:

Reverse Polish = 001E01A5

Common = PDSox

PDSOAN:

Reverse Polish = 001F0385

Common = PDSoan

DPSNAA:

Reverse Polish = 00200F09

Common = DPSnaa

SDPXON:

Reverse Polish = 00210248

Common = SDPxon

DSNA:

Reverse Polish = 00220326

Common = DSna

SPDNAON:

Reverse Polish = 00230B24

Common = SPDnaon

SPXDSXA:

Reverse Polish = 00240D55

Common = SPxDSxa

PDSPANAXN:

Reverse Polish = 00251CC5

Common = PDSPanaxn

SDPSAOX:

Reverse Polish = 002606C8

Common = SDPSaox

SDPSXNOX:

Reverse Polish = 00271868

Common = SDPSxnox

DPSXA:

Reverse Polish = 00280369

Common = DPSxa

PSDPSAOXXN:

Reverse Polish = 002916CA

Common = PSDPSaoxxn

DPSANA:

Reverse Polish = 002A0CC9

Common = DPSana

SSPXPDXAXN:

Reverse Polish = 002B1D58

Common = SSPxPDxaxn

SPDSOAX:

Reverse Polish = 002C0784

Common = SPDSoax

PSDNOX:

Reverse Polish = 002D060A

Common = PSDnox

PSDPXOX:

Reverse Polish = 002E064A

Common = PSDPxox

PSDNOAN:

Reverse Polish = 002F0E2A

Common = PSDnoan

PSNA:

Reverse Polish = 0030032A

Common = PSna

SDPNAON:

Reverse Polish = 00310B28

Common = SDPnaon

SDPSOOX:

Reverse Polish = 00320688

Common = SDPSoox

NOTSRCCOPY:

Reverse Polish = 00330008

Common = Sn

SPDSAOX:

Reverse Polish = 003406C4

Common = SPDSaox

SPDSXNOX:

Reverse Polish = 00351864

Common = SPDSxnox

SDPOX:

Reverse Polish = 003601A8

Common = SDPox

SDPOAN:

Reverse Polish = 00370388

Common = SDPoan

PSDPOAX:

Reverse Polish = 0038078A

Common = PSDPoax

SPDNOX:

Reverse Polish = 0390604

Common = SPDnox

SPDSXOX:

Reverse Polish = 003A0644

Common = SPDSxox

SPDNOAN:

Reverse Polish = 003B0E24

Common = SPDnoan

PSX:

Reverse Polish = 003C004A

Common = PSx

SPDSONOX:

Reverse Polish = 003D18A4

Common = SPDSonox

SPDSNAOX:

Reverse Polish = 003E1B24

Common = SPDSnaox

PSAN:

Reverse Polish = 003F00EA

Common = PSan

PSDNAA:

Reverse Polish = 00400F0A

Common = PSDnaa

DPSXON:

Reverse Polish = 00410249

Common = DPSxon

SDXPDXA:

Reverse Polish = 00420D5D

Common = SDxPDxa

SPDSANAXN:

Reverse Polish = 00431CC4

Common = SPDSanaxn

SRCERASE:

Reverse Polish = 00440328

Common = SDna

DPSNAON:

Reverse Polish = 00450B29

Common = DPSnaon

DSPDAOX:

Reverse Polish = 004606C6

Common = DSPDaox

PSDPXAXN:

Reverse Polish = 0047076A

Common = PSDPxaxn

SDPXA:

Reverse Polish = 00480368

Common = SDPxa

PDSPDAOXXN:

Reverse Polish = 004916C5

Common = PDSPDaoxxn

DPSDOAX:

Reverse Polish = 004A0789

Common = DPSDoax

PDSNOX:

Reverse Polish = 004B0605

Common = PDSnox

SDPANA:

Reverse Polish = 004C0CC8

Common = SDPana

SSPXDSXOXN:

Reverse Polish = 004D1954

Common = SSPxDSxoxn

PDSPXOX:

Reverse Polish = 004E0645

Common = PDSPxox

PDSNOAN:

Reverse Polish = 004F0E25

Common = PDSnoan

PDNA:

Reverse Polish = 00500325

Common = PDna

DSPNAON:

Reverse Polish = 00510B26

Common = DSPnaon

DPSDAOX:

Reverse Polish = 005206C9

Common = DPSDaox

SPDSXAXN:

Reverse Polish = 00530764

Common = SPDSxaxn

DPSONON:

Reverse Polish = 005408A9

Common = DPSonon

DSTINVERT:

Reverse Polish = 00550009

Common = Dn

DPSOX:

Reverse Polish = 005601A9

Common = DPSox

DPSOAN:

Reverse Polish = 000570389

Common = DPSoan

PDSPOAX:

Reverse Polish = 00580785

Common = PDSPoax

DPSNOX:

Reverse Polish = 00590609

Common = DPSnox

PATINVERT:

Reverse Polish = 005A0049

Common = DPx

DPSDONOX:

Reverse Polish = 005B18A9

Common = DPSDonox

DPSDXOX:

Reverse Polish = 005C0649

Common = DPSDxox

DPSNOAN:

Reverse Polish = 005D0E29

Common = DPSnoan

DPSDNAOX:

Reverse Polish = 005E1B29

Common = DPSDnaox

DPAN:

Reverse Polish = 005F00E9

Common = DPan

PDSXA:

Reverse Polish = 00600365

Common = PDSxa

DSPDSAOXXN:

Reverse Polish = 006116C6

Common = DSPDSaoxxn

DSPDOAX:

Reverse Polish = 00620786

Common = DSPDoax

SDPNOX:

Reverse Polish = 00630608

Common = SDPnox

SDPSOAX:

Reverse Polish = 00640788

Common = SDPSoax

DSPNOX:

Reverse Polish = 00650606

Common = DSPnox

SRCINVERT:

Reverse Polish = 00660046

Common = DSx

SDPSONOX:

Reverse Polish = 006718A8

Common = SDPSonox

DSPDSONOXXN:

Reverse Polish = 006858A6

Common = DSPDSonoxxn

PDSXXN:

Reverse Polish = 00690145

Common = PDSxxn

DPSAX:

Reverse Polish = 006A01E9

Common = DPSax

PSDPSOAXXN:

Reverse Polish = 006B178A

Common = PSDPSoaxxn

SDPAX:

Reverse Polish = 006C01E8

Common = SDPax

PDSPDOAXXN:

Reverse Polish = 006D1785

Common = PDSPDoaxxn

SDPSNOAX:

Reverse Polish = 006E1E28

Common = SDPSnoax

PDXNAN:

Reverse Polish = 006F0C65

Common = PDXnan

PDSANA:

Reverse Polish = 00700CC5

Common = PDSana

SSDXPDXAXN:

Reverse Polish = 00711D5C

Common = SSDxPDxaxn

SDPSXOX:

Reverse Polish = 00720648

Common = SDPSxox

SDPNOAN:

Reverse Polish = 00730E28

Common = SDPnoan

DSPDXOX:

Reverse Polish = 00740646

Common = DSPDxox

DSPNOAN:

Reverse Polish = 00750E26

Common = DSPnoan

SDPSNAOX:

Reverse Polish = 00761B28

Common = SDPSnaox

DSAN:

Reverse Polish = 007700E6

Common = DSan

PDSAX:

Reverse Polish = 007801E5

Common = PDSax

DSPDSOAXXN:

Reverse Polish = 00791786

Common = DSPDSoaxxn

DPSDNOAX:

Reverse Polish = 007A1E29

Common = DPSDnoax

SDPXNAN:

Reverse Polish = 007B0C68

Common = SDPxnan

SPDSNOAX:

Reverse Polish = 007C1E24

Common = SPDSnoax

DPSXNAN:

Reverse Polish = 007D0C69

Common = DPSxnan

SPXDSXO:

Reverse Polish = 007E0955

Common = SPxDSxo

DPSAAN:

Reverse Polish = 007F03C9

Common = DPSaan

DPSAA:

Reverse Polish = 008003E9

Common = DPSaa

SPXDSXON:

Reverse Polish = 00810975

Common = SPxDSxon

DPSXNA:

Reverse Polish = 00820C49

Common = DPSxna

SPDSNOAXN:

Reverse Polish = 00831E04

Common = SPDSnoaxn

SDPXNA:

Reverse Polish = 00840C48

Common = SDPxna

PDSPNOAXN:

Reverse Polish = 00851E05

Common = PDSPnoaxn

DSPDSOAXX:

Reverse Polish = 008617A6

Common = DSPDSoaxx

PDSAXN:

Reverse Polish = 008701C5

Common = PDSaxn

SRCAND:

Reverse Polish = 008800C6

Common = DSa

SDPSNAOXN:

Reverse Polish = 00891B08

Common = SDPSnaoxn

DSPNOA:

Reverse Polish = 008A0E06

Common = DSPnoa

DSPDXOXN:

Reverse Polish = 008B0666

Common = DSPDxoxn

SDPNOA:

Reverse Polish = 008C0E08

Common = SDPnoa

SDPSXOXN:

Reverse Polish = 008D0668

Common = SDPSxoxn

SSDXPDXAX:

Reverse Polish = 008E1D7C

Common = SSDxPDxax

PDSANAN:

Reverse Polish = 008F0CE5

Common = PDSanan

PDSXNA:

Reverse Polish = 00900C45

Common = PDSxna

SDPSNOAXN:

Reverse Polish = 00911E08

Common = SDPSnoaxn

DPSDPOAXX:

Reverse Polish = 009217A9

Common = DPSDPoaxx

SPDAXN:

Reverse Polish = 009301C4

Common = SPDaxn

PSDPSOAXX:

Reverse Polish = 009417AA

Common = PSDPSoaxx

DPSAXN:

Reverse Polish = 009501C9

Common = DPSaxn

DPSXX:

Reverse Polish = 00960169

Common = DPSxx

PSDPSONOXX:

Reverse Polish = 0097588A

Common = PSDPSonoxx

SDPSONOXN:

Reverse Polish = 00981888

Common = SDPSonoxn

DSXN:

Reverse Polish = 00990066

Common = DSxn

DPSNAX:

Reverse Polish = 009A0709

Common = DPSnax

SDPSOAXN:

Reverse Polish = 009B07A8

Common = SDPSoaxn

SPDNAX:

Reverse Polish = 009C0704

Common = SPDnax

DSPDOAXN:

Reverse Polish = 009D07A6

Common = DSPDoaxn

DSPDSAOXX:

Reverse Polish = 009E16E6

Common = DSPDSaoxx

PDSXAN:

Reverse Polish = 009F0345

Common = PDSxan

DPA:

Reverse Polish = 00A000C9

Common = DPa

PDSPNAOXN:

Reverse Polish = 00A11B05

Common = PDSPnaoxn

DPSNOA:

Reverse Polish = 00A20E09

Common = DPSnoa

DPSDXOXN:

Reverse Polish = 00A30669

Common = DPSDxoxn

PDSPONOXN:

Reverse Polish = 00A41885

Common = PDSPonoxn

PDXN:

Reverse Polish = 00A50065

Common = PDxn

DSPNAX:

Reverse Polish = 00A60706

Common = DSPnax

PDSPOAXN:

Reverse Polish = 00A707A5

Common = PDSPoaxn

DPSOA:

Reverse Polish = 00A803A9

Common = DPSoa

DPSOXN:

Reverse Polish = 00A90189

Common = DPSoxn

D:

Reverse Polish = 00AA0029

Common = D

DPSONO:

Reverse Polish = 00AB0889

Common = DPSono

SPDSXAX:

Reverse Polish = 00AC0744

Common = SPDSxax

DPSDAOXN:

Reverse Polish = 00AD06E9

Common = DPSDaoxn

DSPNAO:

Reverse Polish = 00AE0B06

Common = DSPnao

DPNO:

Reverse Polish = 00AF0229

Common = DPno

PDSNOA:

Reverse Polish = 00B00E05

Common = PDSnoa

PDSPXOXN:

Reverse Polish = 00B10665

Common = PDSPxoxn

SSPXDSXOX:

Reverse Polish = 00B21974

Common = SSPxDSxox

SDPANAN:

Reverse Polish = 00B30CE8

Common = SDPanan

PSDNAX:

Reverse Polish = 00B4070A

Common = PSDnax

DPSDOAXN:

Reverse Polish = 00B507A9

Common = DPSDoaxn

DPSDPAOXX:

Reverse Polish = 00B616E9

Common = DPSDPaoxx

SDPXAN:

Reverse Polish = 00B70348

Common = SDPxan

PSDPXAX:

Reverse Polish = 00B8074A

Common = PSDPxax

DSPDAOXN:

Reverse Polish = 00B906E6

Common = DSPDaoxn

DPSNAO:

Reverse Polish = 00BA0B09

Common = DPSnao

MERGEPAINT:

Reverse Polish = 00BB0226

Common = DSno

SPDSANAX:

Reverse Polish = 00BC1CE4

Common = SPDSanax

SDXPDXAN:

Reverse Polish = 00BD0D7D

Common = SDxPDxan

DPSXO:

Reverse Polish = 00BE0269

Common = DPSxo

DPSANO:

Reverse Polish = 00BF08C9

Common = DPSano

MERGECOPY:

Reverse Polish = 00C000CA

Common = PSa

SPDSNAOXN:

Reverse Polish = 00C11B04

Common = SPDSnaoxn

SPDSONOXN:

Reverse Polish = 00C21884

Common = SPDSonoxn

PSXN:

Reverse Polish = 00C3006A

Common = PSxn

SPDNOA:

Reverse Polish = 00C40E04

Common = SPDnoa

SPDSXOXN:

Reverse Polish = 00C50664

Common = SPDSxoxn

SDPNAX:

Reverse Polish = 00C60708

Common = SDPnax

PSDPOAXN:

Reverse Polish = 00C707AA

Common = PSDPoaxn

SDPOA:

Reverse Polish = 00C803A8

Common = SDPoa

SPDOXN:

Reverse Polish = 00C90184

Common = SPDoxn

DPSDXAX:

Reverse Polish = 00CA0749

Common = DPSDxax

SPDSAOXN:

Reverse Polish = 00CB06E4

Common = SPDSaoxn

SRCCOPY:

Reverse Polish = 00CC0020

Common = S

SDPONO:

Reverse Polish = 00CD0888

Common = SDPono

SDPNAO:

Reverse Polish = 00CE0B08

Common = SDPnao

SPNO:

Reverse Polish = 00CF0224

Common = SPno

PSDNOA:

Reverse Polish =00D00E0A

Common = PSDnoa

PSDPXOXN:

Reverse Polish = 00D1066A

Common = PSDPxoxn

PDSNAX:

Reverse Polish = 00D20705

Common = PDSnax

SPDSOAXN:

Reverse Polish = 00D307A4

Common = SPDSoaxn

SSPXPDXAX:

Reverse Polish = 00D41D78

Common = SSPxPDxax

DPSANAN:

Reverse Polish = 00D50CE9

Common = DPSanan

PSDPSAOXX:

Reverse Polish = 00D616EA

Common = PSDPSaoxx

DPSXAN:

Reverse Polish = 00D70349

Common = DPSxan

PDSPXAX:

Reverse Polish = 00D80745

Common = PDSPxax

SDPSAOXN:

Reverse Polish = 00D906E8

Common = SDPSaoxn

DPSDANAX:

Reverse Polish = 00DA1CE9

Common = DPSDanax

SPXDSXAN:

Reverse Polish = 00DB0D75

Common = SPxDSxan

SPDNAO:

Reverse Polish = 00DC0B04

Common = SPDnao

SDNO:

Reverse Polish = 00DD0228

Common = SDno

SDPXO:

Reverse Polish = 00DE0268

Common = SDPxo

SDPANO:

Reverse Polish = 00DF08C8

Common = SDPano

PDSOA:

Reverse Polish = 00E003A5

Common = PDSoa

PDSOXN:

Reverse Polish = 00E10185

Common = PDSoxn

DSPDXAX:

Reverse Polish = 00E20746

Common = DSPDxax

PSDPAOXN:

Reverse Polish = 00E306EA

Common = PSDPaoxn

SDPSXAX:

Reverse Polish = 00E40748

Common = SDPSxax

PDSPAOXN:

Reverse Polish = 00E506E5

Common = PDSPaoxn

SDPSANAX:

Reverse Polish = 00E61CE8

Common = SDPSanax

SPXPDXAN:

Reverse Polish = 00E70D79

Common = SPxPDxan

SSPXDSXAX:

Reverse Polish = 00E81D74

Common = SSPxDSxax

DSPDSANAXXN:

Reverse Polish = 00E95CE6

Common = DSPDSanaxxn

DPSAO:

Reverse Polish = 00EA02E9

Common = DPSao

DPSXNO:

Reverse Polish = 00EB0849

Common = DPSxno

SDPAO:

Reverse Polish = 00EC02E8

Common = SDPao

SDPXNO:

Reverse Polish = 00ED0848

Common = SDPxno

SRCPAINT:

Reverse Polish = 00EE0086

Common = DSo

SDPNOO:

Reverse Polish = 00EF0A08

Common = SDPnoo

PATCOPY:

Reverse Polish = 00F00021

Common = P

PDSONO:

Reverse Polish = 00F10885

Common = PDSono

PDSNAO:

Reverse Polish = 00F20B05

Common = PDSnao

PSNO:

Reverse Polish = 00F3022A

Common = PSno

PSDNAO:

Reverse Polish = 00F40B0A

Common = PSDnao

PDNO:

Reverse Polish = 00F50225

Common = PDno

PDSXO:

Reverse Polish = 00F60265

Common = PDSxo

PDSANO:

Reverse Polish = 00F708C5

Common = PDSano

PDSAO:

Reverse Polish = 00F802E5

Common = PDSao

PDSXNO:

Reverse Polish = 00F90845

Common = PDSxno

DPO:

Reverse Polish = 00FA0089

Common = DPo

PATPAINT:

Reverse Polish = 00FB0A09

Common = DPSnoo

PSO:

Reverse Polish = 00FC008A

Common = PSo

PSDNOO:

Reverse Polish = 00FD0A0A

Common = PSDnoo

DPSOO:

Reverse Polish = 00FE02A9

Common = DPSoo

WHITENESS:

Reverse Polish = 00FF0062

Common = 1

Each ternary raster operation code represents a Boolean operation in which the values of the pixels in the source, the selected brush, and the destination are combined. Following are the three operands used in these operations.

 Operand

 Meaning

D

Destination bitmap

P

Selected brush (also called pattern)

S

Source bitmap

Following are the Boolean operators used in these operations.

 Operator

 Meaning

a

Bitwise AND

n

Bitwise NOT (inverse)

o

Bitwise OR

x

Bitwise exclusive OR (XOR)

All Boolean operations are presented in reverse Polish notation. For example, the following operation replaces the values of the pixels in the destination bitmap with a combination of the pixel values of the source and brush: PSo. For another example, the following operation combines the values of the pixels in the source and brush with the pixel values of the destination bitmap: DPSoo.

Each raster operation code is a 32-bit integer whose high-order word is a Boolean operation index and whose low-order word is the operation code. The 16-bit operation index is a zero-extended, 8-bit value that represents the result of the Boolean operation on predefined brush, source, and destination values. For example, the operation indexes for the PSo and DPSoo operations are shown in the following list.

 P

 S

 D

 PSo

 DPSoo

0

0

0

0

0

0

0

1

0

1

0

1

0

1

1

0

1

1

1

1

1

0

0

1

1

1

0

1

1

1

1

1

0

1

1

1

1

1

1

1

The operation indexes are determined by reading the binary values in a column of the table from the bottom up. For example, in the PSo column, the binary value is 11111100, which is equivalent to 00FC (hexadecimal is implicit for these values), which is the operation index for PSo.

Using this method, DPSoo can be seen to have the operation index 00FE. Operation indexes define the locations of corresponding raster operation codes in the preceding enumeration. The PSo operation is in line 252 (0x00FC) of the enumeration; DPSoo is in line 254 (0x00FE).

The most commonly used raster operations have been given explicit enumeration names, which SHOULD be used; examples are PATCOPY and WHITENESS.

When the source and destination bitmaps are monochrome, a bit value of 0 represents a black pixel and a bit value of 1 represents a white pixel. When the source and the destination bitmaps are color, those colors are represented with red green blue (RGB) values.