{{|
|}}
1. ROP? ¶
CDC๋ ๋ค์ํ ๋๋ก์ ๋ชจ๋๋ฅผ ์ ๊ณตํ๋ค. ROP๋ ๊ทธ๋ฐ ๋๋ก์ ๋ชจ๋์ ํ๋๋ก, ๋์ ์ผ๋ก ๋ณํ๋๋ ๊ทธ๋ฆผ์ ๊ทธ๋ฆด๋ ๊ทธ๋ฆผ์ ์ง์ฐ๊ณ ๋ค์๊ทธ๋ฆฌ๋ ์์
์ ํ๋๋ฐ ์ ์ฉํ๋ค.
2. CDC Drawing Modes ¶
R2_BLACK | ๋ชจ๋ ๊ทธ๋ฆผ์ ๊ฒ์์ |
R2_WHITE | ๋ชจ๋ ๊ทธ๋ฆผ์ ํฐ์ |
R2_NOP | ์๋ฌด๋ฐ ๊ทธ๋ฆฌ๊ธฐ ์์ ์ ํ์ง ์์ |
R2_NOT | ๊ทธ๋ฆผ์ด ํ๋ฉด์์ ๋ฐ๋๊ฐ ๋๋ค. ์ถ๋ ฅ์ด ํญ์ ๋ณด์ด๊ฒ ํ๋ ค๊ณ ํ ๋ ์ฐ์ธ๋ค. |
R2_COPYPEN | ํ์์ผ๋ก ๊ทธ๋ ค์ง |
R2_NOTCOPYPEN | ํ์๊ณผ ๋ฐ๋์ ์์ผ๋ก ๊ทธ๋ ค์ง |
R2_MERGEPENNOT | ํ์ ์๊ณผ ๋ฐฐ๊ฒฝ๊ณผ ๋ฐ๋์์ OR๋ก ๋ง๋ค์ด์ง ์์ผ๋ก ๊ทธ๋ ค์ง |
R2_MASKPENNOT | ํ ์๊ณผ ๋ฐฐ๊ฒฝ๊ณผ ๋ฐ๋์์ AND๋ก ๋ง๋ค์ด์ง ์์ผ๋ก ๊ทธ๋ ค์ง |
R2_MERGENOTPEN | ํ์ ๋ฐ๋์๊ณผ ๋ฐฐ๊ฒฝ์์ OR๋ก ์ฐ์ฐํ ์์ผ๋ก ๊ทธ๋ ค์ง |
R2_MASKNOTPEN | ํ์ ๋ฐ๋์๊ณผ ๋ฐฐ๊ฒฝ์์ AND๋ก ์ฐ์ฐํ ์์ผ๋ก ๊ทธ๋ ค์ง |
R2_MERGEPEN | ํ์๊ณผ ๋ฐฐ๊ฒฝ์์ OR๋ก ์ฐ์ฐํ ์์ผ๋ก ๊ทธ๋ ค์ง |
R2_NOTMERGEPEN | R2_MERGEPEN์ ๋ฐ๋์์ผ๋ก ๊ทธ๋ ค์ง |
R2_MASKPEN | ๋ฐฐ๊ฒฝ์๊ณผ ํ์ ์์ AND๋ก ์ฐ์ฐํ ์์ผ๋ก ๊ทธ๋ ค์ง |
R2_NOTMASKPEN | R2_MASKPEN์๊ณผ ๋ฐ๋์ ์์ผ๋ก ๊ทธ๋ ค์ง |
R2_XORPEN | ํ๊ณผ ๋ฐฐ๊ฒฝ์์ XOR์ฐ์ฐํ ๊ฒฐ๊ณผ๋ก ๊ทธ๋ ค์ง |
R2_NOTXORPEN | R2_XORPEN๊ณผ ๋ฐ๋์ ์์ผ๋ก ๊ทธ๋ ค์ง |
ROP์ ๊ด๊ณ๋ ๋ชจ๋๋ R2_NOTXORPEN์ด๋ค.
3. Explaination ¶
๋ฐฐ๊ฒฝ์ด ํฐ์์ด๊ณ ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ๋ ์์ด ๋ถ์ ์์ด๋ผ๋ฉด?
์๊ธฐ์์ ๋ณด๋ฏ ๊ฒฐ๊ณผ๋ ๋ถ์ ์์ด๋๋ค.
R | G | B | |
BACK>WHITE | 1 | 1 | 1 |
PEN>RED | 1 | 0 | 0 |
XOR | 0 | 1 | 1 |
NOTXOR | 1 | 0 | 0 |
์ด์ ๊ทธ๋ ค์ง ๊ทธ๋ฆผ์์ ๋ค์ ๋ถ์ ์์ผ๋ก ๊ทธ๋ฆผ์ ๊ทธ๋ฆฐ๋ค๊ณ ๊ฐ์ ํด๋ณด์.
์๊ธฐ์์ ๋ณด๋ฏ ์๋์ ๋ฐฐ๊ฒฝ ์์ผ๋ก ๋ค์ ์ฑ์์ง ๊ฒ์ ํ์ธํ ์ ์๋ค.
R | G | B | |
BACK>RED | 1 | 0 | 0 |
PEN>RED | 1 | 0 | 0 |
XOR | 0 | 0 | 0 |
NOTXOR | 1 | 1 | 1 |
์ด๋ฅผ ์ด์ฉํ๋ฉด ๊ทธ๋ฆผ์ ์ง์ฐ๋ ๊ณผ์ ์ ํ์ง ์๊ณ ๋จ์ํ ๋์ผํ ๊ทธ๋ฆผ์ ๊ทธ๋ฆผ์ผ๋ก์จ ๊ธฐ์กด์ ๊ทธ๋ ค์ง ๊ทธ๋ฆผ์ ๊ฐ๋จํ ์ง์ฐ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.