![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поясните одну вещь в методе TButtonGlyph.CreateButtonGlyph [D7, Win2k]
Ega23 © (2007-03-09 15:46:00)В самом начале задана константа
const
ROP_DSPDxax = $00E20746;
которая потом используется в BitBlt в качестве параметра dwRop.
Как её "разобрать" на составляющие?
Ega23 (2007-03-09 16:49:00) [1]
> запись стековая, польская обратная
> операнды
> D - приемник
> S - источник
> P - Pattern
> операции в данном случае все двухместные
> x - XOR, a - AND
А... Теперь понятно.
Борис, большое спасибо!
MBo (2007-03-09 16:34:00) [2]это тернарная побитовая операция
Ternary Raster Operations в MSDN, подробнее в книге Фень Юаня
запись стековая, польская обратная
операнды
D - приемник
S - источник
P - Pattern
операции в данном случае все двухместные
x - XOR, a - AND
могу ошибиться с порядком действий (операнды кладутся в стек в порядке записи или наоборот), но примерно так:
Destination := ((P xor D) and S) xor D