gf_context_set_rop()

Изменить текущую растровую операцию

Прототип:

#include <gf/gf.h>
uint8_t gf_context_set_rop( gf_context_t context,
unsigned short rop );

Аргументы:

context
Дескриптор графического контекста для установки растровой операции.
rop
Новый ROP код растровой операции.

Библиотека:

gf

Описание:

Функция устанавливает растровую операцию (ROP) для последующих операций рисования с данным контекстом рисования. Растровые операции дают дополнительный контроль над тем, как рисуются пиксели в форме побитовых операций с использованием значений исходного цвета, целевого цвета и шаблона. Установить шаблон можно с помощью функции gf_context_set_pattern().


Note: Для восстановления нормального рисования следует установить код GF_ROP_S.

Graphics Framework поддерживает 256 типов растровых операций.

Растровые операции

В таблице ниже перечислены определённые в GF растровые операции.

В имени растровой операции буквы означают следующее:

D
Бит целевого цвета
S
Бит исходного цвета
P
Бит шаблона
o
побитовая операция ИЛИ
a
побитовая операчия И
x
побитовая операция ИСКЛЮЧАЮЩЕЕ ИЛИ
n
побитовая операция НЕ

Основные операции (ROP коды и математическое представление операции):

GF_ROP_ZERO
ROP код: 0x00  →  0
GF_ROP_DPSoon
ROP код: 0x01  →  ~ ( (D | (P | S) ) )
GF_ROP_DPSona
ROP код: 0x02  →  D & ( ~ (P | S) )
GF_ROP_PSon
ROP код: 0x03  →  ~ (P | S)
GF_ROP_SDPona
ROP код: 0x04  →  S & ( ~ (D | P) )
GF_ROP_DPon
ROP код: 0x05  →  ~ (D | P)
GF_ROP_PDSxnon
ROP код: 0x06  →  ~ (P | (~ (D ^ S)))
GF_ROP_PDSaon
ROP код: 0x07  →  ~ (P | (D & S))
GF_ROP_SDPnaa
ROP код: 0x08  →  S & (D & (~ P))
GF_ROP_PDSxon
ROP код: 0x09  →  ~ (P | (D ^ S))
GF_ROP_DPna
ROP код: 0x0A  →  D & (~ P)
GF_ROP_PSDnaon
ROP код: 0x0B  →  ~ (P | (S & (~ D)))
GF_ROP_SPna
ROP код: 0x0C  →  S & (~ P)
GF_ROP_PDSnaon
ROP код: 0x0D  →  ~ (P | (D & (~ S)))
GF_ROP_PDSonon
ROP код: 0x0E  →  ~ (P | (~(D | S)))
GF_ROP_Pn
ROP код: 0x0F  →  ~ P
GF_ROP_PDSona
ROP код: 0x10  →  P & (~ (D | S))
GF_ROP_DSon
ROP код: 0x11  →  ~ (D | S)
GF_ROP_SDPxnon
ROP код: 0x12  →  ~ (S | (~ (D ^ P)))
GF_ROP_SDPaon
ROP код: 0x13  →  ~ (S | (D & P))
GF_ROP_DPSxnon
ROP код: 0x14  →  ~ (D | (~ (P ^ S)))
GF_ROP_DPSaon
ROP код: 0x15  →  ~ (D | (P & S))
GF_ROP_PSDPSanaxx
ROP код: 0x16  →  P ^ (S ^ (D & (~ (P & S))))
GF_ROP_SSPxDSxaxn
ROP код: 0x17  →  ~ (S ^ ((S ^ P) & (D ^ S)))
GF_ROP_SPxPDxa
ROP код: 0x18  →  (S ^ P) & (P ^ D)
GF_ROP_SDPSanaxn
ROP код: 0x19  →  ~ (S ^ (D & (~ (P & S))))
GF_ROP_PDSPaox
ROP код: 0x1A  →  P ^ (D | (S & P))
GF_ROP_SDPSxaxn
ROP код: 0x1B  →  ~ (S ^ (D & (P ^ S))))
GF_ROP_PSDPaox
ROP код: 0x1C  →  P ^ (S | (D & P)))
GF_ROP_DSPDxaxn
ROP код: 0x1D  →  ~ (D ^ (S & (P ^ D)))
GF_ROP_PDSox
ROP код: 0x1E  →  P ^ (D | S)
GF_ROP_PDSoan
ROP код: 0x1F  →  ~ (P & (D | S))
GF_ROP_DPSnaa
ROP код: 0x20  →  D & (P & (~S))
GF_ROP_SDPxon
ROP код: 0x21  →  ~ (S | (D ^ P))
GF_ROP_DSna
ROP код: 0x22  →  D & (~S)
GF_ROP_SPDnaon
ROP код: 0x23  →  ~ (S | (P & (~D)))
GF_ROP_SPxDSxa
ROP код: 0x24  →  (S ^ P) & (D ^ S)
GF_ROP_PDSPanaxn
ROP код: 0x25  →  ~ (P ^ (D & (~ (S & P))))
GF_ROP_SDPSaox
ROP код: 0x26  →  S ^ (D | (P & S))
GF_ROP_SDPSxnox
ROP код: 0x27  →  S ^ (D | (~ (P ^ S)))
GF_ROP_DPSxa
ROP код: 0x28  →  D & (P ^ S)
GF_ROP_PSDPSaoxxn
ROP код: 0x29  →  ~ (P ^ (S ^ (D | (P & S))))
GF_ROP_DPSana
ROP код: 0x2A  →  D & (~ (P & S))
GF_ROP_SSPxPDxaxn
ROP код: 0x2B  →  ~ (S ^ ((S ^ P) & (P ^ D))
GF_ROP_SPDSoax
ROP код: 0x2C  →  S ^ (P & (D | S))
GF_ROP_PSDnox
ROP код: 0x2D  →  P ^ (S | (~D))
GF_ROP_PSDPxox
ROP код: 0x2E  →  P ^ (S | (D ^ P))
GF_ROP_PSDnoan
ROP код: 0x2F  →  ~ (P & (S | (~D)))
GF_ROP_PSna
ROP код: 0x30  →  P & (~ S)
GF_ROP_SDPnaon
ROP код: 0x31  →  ~ (S | (D & (~P)))
GF_ROP_SDPSoox
ROP код: 0x32  →  S ^ (D | (P | S))
GF_ROP_Sn
ROP код: 0x33  →  ~S
GF_ROP_SPDSaox
ROP код: 0x34  →  S ^ (P | (D & S))
GF_ROP_SPDSxnox
ROP код: 0x35  →  S ^ (P | (~ (D ^ S)))
GF_ROP_SDPox
ROP код: 0x36  →  S ^ (D | P)
GF_ROP_SDPoan
ROP код: 0x37  →  ~ (S & (D | P))
GF_ROP_PSDPoax
ROP код: 0x38  →  P ^ (S & (D | P)))
GF_ROP_SPDnox
ROP код: 0x39  →  S ^ (P | (~ D)))
GF_ROP_SPDSxox
ROP код: 0x3A  →  S ^ (P | (D ^ S))
GF_ROP_SPDnoan
ROP код: 0x3B  →  ~ (S & (P | (~ D)))
GF_ROP_PSx
ROP код: 0x3C  →  P ^ S
GF_ROP_SPDSonox
ROP код: 0x3D  →  S ^ (P | (~ (D | S)))
GF_ROP_SPDSnaox
ROP код: 0x3E  →  S ^ (P | (D & (~ S)))
GF_ROP_PSan
ROP код: 0x3F  →  ~ (P & S)
GF_ROP_PSDnaa
ROP код: 0x40  →  P & (S & (~ D))
GF_ROP_DPSxon
ROP код: 0x41  →  ~ (D | (P ^ S)
GF_ROP_SDxPDxa
ROP код: 0x42  →  (S ^ D) & (P ^ D)
GF_ROP_SPDSanaxn
ROP код: 0x43  →  ~ (S ^ (P & (~ (D & S))))
GF_ROP_SDna
ROP код: 0x44  →  S & (~ D)
GF_ROP_DPSnaon
ROP код: 0x45  →  ~ (D | (P & (~ S)))
GF_ROP_DSPDaox
ROP код: 0x46  →  D ^ (S | (P & D)))
GF_ROP_PSDPxaxn
ROP код: 0x47  →  ~ (P ^ (S & (D ^ P)))
GF_ROP_SDPxa
ROP код: 0x48  →  S & (D ^ P))
GF_ROP_PDSPDaoxxn
ROP код: 0x49  →  ~ (P ^ (D ^ (S | (P & D))))
GF_ROP_DPSDoax
ROP код: 0x4A  →  D ^ (P & (S | D))
GF_ROP_PDSnox
ROP код: 0x4B  →  P ^ (D | (~ S))
GF_ROP_SDPana
ROP код: 0x4C  →  S & (~ (D & P))
GF_ROP_SSPxDSxoxn
ROP код: 0x4D  →  ~ (S ^ ((S ^ P) | (D ^ S)))
GF_ROP_PDSPxox
ROP код: 0x4E  →  P ^ (D | (S ^ P))
GF_ROP_PDSnoan
ROP код: 0x4F  →  ~ (P & (D | (~S)))
GF_ROP_PDna
ROP код: 0x50  →  (~ D) & P
GF_ROP_DSPnaon
ROP код: 0x51  →  ~ (D | (S & (~P)))
GF_ROP_DPSDaox
ROP код: 0x52  →  D ^ (P | (S & D))
GF_ROP_SPDSxaxn
ROP код: 0x53  →  ~ (S ^ (P & (D ^ S)))
GF_ROP_DPSonon
ROP код: 0x54  →  ~ (D | (~ (P | S)))
GF_ROP_Dn
ROP код: 0x55  →  ~ D
GF_ROP_DPSox
ROP код: 0x56  →  D ^ (P | S)
GF_ROP_DPSoan
ROP код: 0x57  →  ~ (D & (P | S))
GF_ROP_PDSPoax
ROP код: 0x58  →  P ^ (D & (S | P))
GF_ROP_DPSnox
ROP код: 0x59  →  D ^ (P | (~ S))
GF_ROP_DPx
ROP код: 0x5A  →  D ^ P
GF_ROP_DPSDonox
ROP код: 0x5B  →  D ^ (P | (~ (S | D)))
GF_ROP_DPSDxox
ROP код: 0x5C  →  D ^ (P | (S ^ D))
GF_ROP_DPSnoan
ROP код: 0x5D  →  ~ (D & (P | (~ S)))
GF_ROP_DPSDnaox
ROP код: 0x5E  →  D ^ (P | (S & (~ D)))
GF_ROP_DPan
ROP код: 0x5F  →  ~ (D & P)
GF_ROP_PDSxa
ROP код: 0x60  →  P & (D ^ S)
GF_ROP_DSPDSaoxxn
ROP код: 0x61  →  ~ (D ^ (S ^ (P | (D & S))))
GF_ROP_DSPDoax
ROP код: 0x62  →  D ^ (S & (P | D))
GF_ROP_SDPnox
ROP код: 0x63  →  S ^ (D | (~ P))
GF_ROP_SDPSoax
ROP код: 0x64  →  S ^ (D & (P | S))
GF_ROP_DSPnox
ROP код: 0x65  →  D ^ (S | (~ P))
GF_ROP_DSx
ROP код: 0x66  →  D ^ S
GF_ROP_SDPSonox
ROP код: 0x67  →  S ^ (D | (~ (P | S)))
GF_ROP_DSPDSonoxxn
ROP код: 0x68  →  ~ (D ^ (S ^ (P | (~ (D | S)))))
GF_ROP_PDSxxn
ROP код: 0x69  →  ~ (P ^ (D ^ S))
GF_ROP_DPSax
ROP код: 0x6A  →  D ^ (P & S)
GF_ROP_PSDPSoaxxn
ROP код: 0x6B  →  ~ (P ^ (S ^ (D & (P | S))))
GF_ROP_SDPax
ROP код: 0x6C  →  S ^ (D & P)
GF_ROP_PDSPDoaxxn
ROP код: 0x6D  →  ~ (P ^ (D ^ (S & (P | D))))
GF_ROP_SDPSnoax
ROP код: 0x6E  →  S ^ (D & (P | (~ S)))
GF_ROP_PDSxnan
ROP код: 0x6F  →  ~ (P & (~ (D ^ S)))
GF_ROP_PDSana
ROP код: 0x70  →  P & (~ (D & S))
GF_ROP_SSDxPDxaxn
ROP код: 0x71  →  ~ (S ^ ((S ^ D) & (P ^ D)))
GF_ROP_SDPSxox
ROP код: 0x72  →  S ^ (D | (P ^ S))
GF_ROP_SDPnoan
ROP код: 0x73  →  ~ (S & (D | (~P)))
GF_ROP_DSPDxox
ROP код: 0x74  →  D ^ (S | (P ^ D))
GF_ROP_DSPnoan
ROP код: 0x75  →  ~ (D & (S | (~ P)))
GF_ROP_SDPSnaox
ROP код: 0x76  →  S ^ (D | (P & (~ S)))
GF_ROP_DSan
ROP код: 0x77  →  ~ (D & S)
GF_ROP_PDSax
ROP код: 0x78  →  P ^ (D & S)
GF_ROP_DSPDSoaxxn
ROP код: 0x79  →  ~ (D ^ (S ^ (P & (D | S))))
GF_ROP_DPSDnoax
ROP код: 0x7A  →  D ^ (P & (S | (~ D)))
GF_ROP_SDPxnan
ROP код: 0x7B  →  ~ (S & (~ (D ^ P)))
GF_ROP_SPDSnoax
ROP код: 0x7C  →  S ^ (P & (D | (~ S)))
GF_ROP_DPSxnan
ROP код: 0x7D  →  ~ (D & (~ (P ^ S)))
GF_ROP_SPxDSxo
ROP код: 0x7E  →  (S ^ P) | (D ^ S)
GF_ROP_DPSaan
ROP код: 0x7F  →  ~ (D & (P & S))
GF_ROP_DPSaa
ROP код: 0x80  →  D & (P & S)
GF_ROP_SPxDSxon
ROP код: 0x81  →  ~ ((P ^ S) | (D ^ S))
GF_ROP_DPSxna
ROP код: 0x82  →  D & (~ (P ^ S))
GF_ROP_SPDSnoaxn
ROP код: 0x83  →  ~ (S ^ (P & (D | (~ S))))
GF_ROP_SDPxna
ROP код: 0x84  →  S & (~ (D ^ P))
GF_ROP_PDSPnoaxn
ROP код: 0x85  →  ~ (P ^ (D & (S | (~ P))))
GF_ROP_DSPDSoaxx
ROP код: 0x86  →  D ^ (S ^ (P & (D | S)))
GF_ROP_PDSaxn
ROP код: 0x87  →  ~ (P ^ (D & S))
GF_ROP_DSa
ROP код: 0x88  →  D & S
GF_ROP_SDPSnaoxn
ROP код: 0x89  →  ~ (S ^ (D | (P & (~ S))))
GF_ROP_DSPnoa
ROP код: 0x8A  →  D & (S | (~ P))
GF_ROP_DSPDxoxn
ROP код: 0x8B  →  ~ (D ^ (S | (P ^ D)))
GF_ROP_SDPnoa
ROP код: 0x8C  →  S & (D | (~ P))
GF_ROP_SDPSxoxn
ROP код: 0x8D  →  ~ (S ^ (D | (P ^ S)))
GF_ROP_SSDxPDxax
ROP код: 0x8E  →  S ^ ((S ^ D) & (P ^ D))
GF_ROP_PDSanan
ROP код: 0x8F  →  ~ (P & (~ (D & S)))
GF_ROP_PDSxna
ROP код: 0x90  →  P & (~ (D ^ S))
GF_ROP_SDPSnoaxn
ROP код: 0x91  →  ~ (S ^ (D & (P | (~ S))))
GF_ROP_DPSDPoaxx
ROP код: 0x92  →  D ^ (P ^ (S & (D | P)))
GF_ROP_SPDaxn
ROP код: 0x93  →  ~ (S ^ (P & D))
GF_ROP_PSDPSoaxx
ROP код: 0x94  →  P ^ (S ^ (D & (P | S)))
GF_ROP_DPSaxn
ROP код: 0x95  →  ~ (D ^ (P & S))
GF_ROP_DPSxx
ROP код: 0x96  →  D ^ (P ^ S)
GF_ROP_PSDPSonoxx
ROP код: 0x97  →  P ^ (S ^ (D | (~ (P | S))))
GF_ROP_SDPSonoxn
ROP код: 0x98  →  ~ (S ^ (D | (~ (P | S))))
GF_ROP_DSxn
ROP код: 0x99  →  ~ (D ^ S)
GF_ROP_DPSnax
ROP код: 0x9A  →  D ^ (P & (~ S))
GF_ROP_SDPSoaxn
ROP код: 0x9B  →  ~ (S ^ (D & (P | S)))
GF_ROP_SPDnax
ROP код: 0x9C  →  S ^ (P & (~ D))
GF_ROP_DSPDoaxn
ROP код: 0x9D  →  ~ (D ^ (S & (P | D)))
GF_ROP_DSPDSaoxx
ROP код: 0x9E  →  D ^ (S ^ (P | (D & S)))
GF_ROP_PDSxan
ROP код: 0x9F  →  ~ (P & (D ^ S))
GF_ROP_DPa
ROP код: 0xA0  →  (D & P)
GF_ROP_PDSPnaoxn
ROP код: 0xA1  →  ~ (P ^ (D | (S & (~ P))))
GF_ROP_DPSnoa
ROP код: 0xA2  →  D & (P | (~ S))
GF_ROP_DPSDxoxn
ROP код: 0xA3  →  ~ (D ^ (P | (S ^ D)))
GF_ROP_PDSPonoxn
ROP код: 0xA4  →  ~ (P ^ (D | (~ (S | P))))
GF_ROP_PDxn
ROP код: 0xA5  →  ~ (P ^ D)
GF_ROP_DSPnax
ROP код: 0xA6  →  D ^ (S & (~ P))
GF_ROP_PDSPoaxn
ROP код: 0xA7  →  ~ (P ^ (D & (S | P)))
GF_ROP_DPSoa
ROP код: 0xA8  →  D & (P | S)
GF_ROP_DPSoxn
ROP код: 0xA9  →  ~ (D ^ (P | S))
GF_ROP_D
ROP код: 0xAA  →  D
GF_ROP_DPSono
ROP код: 0xAB  →  D | (~ (P | S))
GF_ROP_SPDSxax
ROP код: 0xAC  →  S ^ (P & (D ^ S))
GF_ROP_DPSDaoxn
ROP код: 0xAD  →  ~ (D ^ (P | (S & D)))
GF_ROP_DSPnao
ROP код: 0xAE  →  D | (S & (~ P))
GF_ROP_DPno
ROP код: 0xAF  →  D | (~ P)
GF_ROP_PDSnoa
ROP код: 0xB0  →  P & (D | (~ S))
GF_ROP_PDSPxoxn
ROP код: 0xB1  →  ~ (P ^ (D | (S ^ P)))
GF_ROP_SSPxDSxox
ROP код: 0xB2  →  S ^ ((S ^ P) | (D ^ S))
GF_ROP_SDPanan
ROP код: 0xB3  →  ~ (S & (~ (D & P)))
GF_ROP_PSDnax
ROP код: 0xB4  →  P ^ (S & (~ D))
GF_ROP_DPSDoaxn
ROP код: 0xB5  →  ~ (D ^ (P & (S | D)))
GF_ROP_DPSDPaoxx
ROP код: 0xB6  →  D ^ (P ^ (S | (D & P)))
GF_ROP_SDPxan
ROP код: 0xB7  →  ~ (S & (D ^ P))
GF_ROP_PSDPxax
ROP код: 0xB8  →  P ^ (S & (D ^ P))
GF_ROP_DSPDaoxn
ROP код: 0xB9  →  ~ (D ^ (S | (P & D)))
GF_ROP_DPSnao
ROP код: 0xBA  →  D | (P & (~ S))
GF_ROP_DSno
ROP код: 0xBB  →  D | (~ S)
GF_ROP_SPDSanax
ROP код: 0xBC  →  S ^ (P & (~ (D & S)))
GF_ROP_SDxPDxan
ROP код: 0xBD  →  ~ ((S ^ D) & (P ^ D))
GF_ROP_DPSxo
ROP код: 0xBE  →  D | (P ^ S)
GF_ROP_DPSano
ROP код: 0xBF  →  D | (~ (P & S))
GF_ROP_PSa
ROP код: 0xC0  →  P & S
GF_ROP_SPDSnaoxn
ROP код: 0xC1  →  ~ (S ^ (P | (D & (~ S))))
GF_ROP_SPDSonoxn
ROP код: 0xC2  →  ~ (S ^ (P | (~ (D | S))))
GF_ROP_PSxn
ROP код: 0xC3  →  ~ (P ^ S)
GF_ROP_SPDnoa
ROP код: 0xC4  →  S & (P | (~ D))
GF_ROP_SPDSxoxn
ROP код: 0xC5  →  ~ (S ^ (P | (D ^ S)))
GF_ROP_SDPnax
ROP код: 0xC6  →  S ^ (D & (~ P))
GF_ROP_PSDPoaxn
ROP код: 0xC7  →  ~ (P ^ (S & (D | P)))
GF_ROP_SDPoa
ROP код: 0xC8  →  S & (D | P)
GF_ROP_SPDoxn
ROP код: 0xC9  →  ~ (S ^ (P | D))
GF_ROP_DPSDxax
ROP код: 0xCA  →  D ^ (P & (S ^ D))
GF_ROP_SPDSaoxn
ROP код: 0xCB  →  ~ (S ^ (P | (D & S)))
GF_ROP_S
ROP код: 0xCC  →  S
GF_ROP_SDPono
ROP код: 0xCD  →  S | (~ (D | P))
GF_ROP_SDPnao
ROP код: 0xCE  →  S | (D & (~ P))
GF_ROP_SPno
ROP код: 0xCF  →  S | (~ P)
GF_ROP_PSDnoa
ROP код: 0xD0  →  P & (S | (~ D))
GF_ROP_PSDPxoxn
ROP код: 0xD1  →  ~ (P ^ (S | (D ^ P)))
GF_ROP_PDSnax
ROP код: 0xD2  →  P ^ (D & (~ S))
GF_ROP_SPDSoaxn
ROP код: 0xD3  →  ~ (S ^ (P & (D | S)))
GF_ROP_SSPxPDxax
ROP код: 0xD4  →  S ^ ((S ^ P) & (P ^ D))
GF_ROP_DPSanan
ROP код: 0xD5  →  ~ (D & (~ (P & S)))
GF_ROP_PSDPSaoxx
ROP код: 0xD6  →  P ^ (S ^ (D | (P & S)))
GF_ROP_DPSxan
ROP код: 0xD7  →  ~ (D & (P ^ S))
GF_ROP_PDSPxax
ROP код: 0xD8  →  P ^ (D & (S ^ P))
GF_ROP_SDPSaoxn
ROP код: 0xD9  →  ~ (S ^ (D | (P & S)))
GF_ROP_DPSDanax
ROP код: 0xDA  →  D ^ (P & (~ (S & D)))
GF_ROP_SPxDSxan
ROP код: 0xDB  →  ~ ((S ^ P) & (D ^ S))
GF_ROP_SPDnao
ROP код: 0xDC  →  S | (P & (~ D))
GF_ROP_SDno
ROP код: 0xDD  →  S | (~ D)
GF_ROP_SDPxo
ROP код: 0xDE  →  S | (D ^ P)
GF_ROP_SDPano
ROP код: 0xDF  →  S | (~ (D & P))
GF_ROP_PDSoa
ROP код: 0xE0  →  P & (D | S)
GF_ROP_PDSoxn
ROP код: 0xE1  →  ~ (P ^ (D | S))
GF_ROP_DSPDxax
ROP код: 0xE2  →  D ^ (S & (P ^ D))
GF_ROP_PSDPaoxn
ROP код: 0xE3  →  ~ (P ^ (S | (D & P)))
GF_ROP_SDPSxax
ROP код: 0xE4  →  S ^ (D & (P ^ S))
GF_ROP_PDSPaoxn
ROP код: 0xE5  →  ~ (P ^ (D | (S & P)))
GF_ROP_SDPSanax
ROP код: 0xE6  →  S ^ (D & (~ (P & S)))
GF_ROP_SPxDPxan
ROP код: 0xE7  →  ~ ((S ^ P) & (D ^ P))
GF_ROP_SSPxDSxax
ROP код: 0xE8  →  S ^ ((S ^ P) & (D ^ S))
GF_ROP_DSPDSanaxxn
ROP код: 0xE9  →  ~ (D ^ (S ^ (P & (~ (D & S)))))
GF_ROP_DPSao
ROP код: 0xEA  →  D | (P & S)
GF_ROP_DPSxno
ROP код: 0xEB  →  D | (~ (P ^ S))
GF_ROP_SDPao
ROP код: 0xEC  →  S | (D & P)
GF_ROP_SDPxno
ROP код: 0xED  →  S | (~ (D ^ P))
GF_ROP_DSo
ROP код: 0xEE  →  D | S
GF_ROP_SDPnoo
ROP код: 0xEF  →  S | (D | (~ P))
GF_ROP_P
ROP код: 0xF0  →  P
GF_ROP_PDSono
ROP код: 0xF1  →  P | (~ (D | S))
GF_ROP_PDSnao
ROP код: 0xF2  →  P | (D & (~ S))
GF_ROP_PSno
ROP код: 0xF3  →  P | (~ S)
GF_ROP_PSDnao
ROP код: 0xF4  →  P | (S & (~ D))
GF_ROP_PDno
ROP код: 0xF5  →  P | (~ D)
GF_ROP_PDSxo
ROP код: 0xF6  →  P | (D ^ S)
GF_ROP_PDSano
ROP код: 0xF7  →  P | (~ (D & S))
GF_ROP_PDSao
ROP код: 0xF8  →  P | (D & S)
GF_ROP_PDSxno
ROP код: 0xF9  →  P | (~ (D ^ S))
GF_ROP_DPo
ROP код: 0xFA  →  D | P
GF_ROP_DPSnoo
ROP код: 0xFB  →  D | (P | (~ S))
GF_ROP_PSo
ROP код: 0xFC  →  P | S
GF_ROP_PSDnoo
ROP код: 0xFD  →  P | (S | (~ D))
GF_ROP_DPSoo
ROP код: 0xFE  →  D | (P | S)
GF_ROP_ONE
ROP код: 0xFF  →  1

Дополнительные макросы:

GF_ROP_BLACK
Аналогично GF_ROP_ZERO
GF_ROP_WHITE
Аналогично GF_ROP_ONE
GF_ROP_SRCCOPY
Аналогично GF_ROP_S
GF_ROP_SRCINVERT
Аналогично GF_ROP_Sn
GF_ROP_PATCOPY
Аналогично GF_ROP_P
GF_ROP_PATINVERT
Аналогично GF_ROP_Pn
GF_ROP_NOP
Аналогично GF_ROP_D
GF_ROP_DSTINVERT
Аналогично GF_ROP_Dn
GF_ROP_SRCXOR
Аналогично GF_ROP_DSx
GF_ROP_PATXOR
Аналогично GF_ROP_DPx
GF_ROP_SRCAND
Аналогично GF_ROP_DSa
GF_ROP_PATAND
Аналогично GF_ROP_DPa
GF_ROP_SRCOR
Аналогично GF_ROP_DSo
GF_ROP_PATOR
Аналогично GF_ROP_DPo
GF_ROP_Opaque
Аналогично GF_ROP_SRCCOPY
GF_ROP_XOR
Аналогично GF_ROP_SRCXOR
GF_ROP_AND
Аналогично GF_ROP_SRCAND
GF_ROP_OR
Аналогично GF_ROP_SRCOR
GF_ROP_NO_PATTERN(rop)
Исключить шаблон из растровой операции
GF_ROP_NO_SOURCE(rop)
Исключить исходный цвет из растровой операции
GF_ROP_NO_DEST(rop)
Исключить целевой цвет из растровой операции
GF_ROP_SRC_TO_PAT(rop)
Применить операцию над исходным цветом к шаблону
GF_ROP_PAT_TO_SRC(rop)
Применить операцию над шаблоном к исходному цвету

Возвращаемое значение:

Предыдущий ROP код или 0 в случае, если значение параметра context равно NULL.

Классификация:

Графическая подсистема ЗОСРВ «Нейтрино», Graphics Framework

Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да




Предыдущий раздел: GF API