diff options
Diffstat (limited to 'krita/doc/colorstrategyAPI')
-rw-r--r-- | krita/doc/colorstrategyAPI | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/krita/doc/colorstrategyAPI b/krita/doc/colorstrategyAPI deleted file mode 100644 index 07c95ae9..00000000 --- a/krita/doc/colorstrategyAPI +++ /dev/null @@ -1,58 +0,0 @@ -This is a working document. It list the places where pixels are mangled and requested functions to do it in an colorstrategy independent way - -The purpose is to find out which functions an API in colorstrategy must have to support pixelmangling in a colorstretegy independent manner. - - -Requested function: apply an alpha tqmask to pixels -Problem: alpha is hard-coded 8-bit in KisPixel, when it should be free - -void KisPaintDevice::clearSelection() -{ - if (!hasSelection()) return; - - QRect r = m_selection -> selectedRect(); - r = r.normalize(); - - for (Q_INT32 y = 0; y < r.height(); y++) { - KisHLineIterator devIt = createHLineIterator(r.x(), r.y() + y, r.width(), true); - KisHLineIterator selectionIt = m_selection -> createHLineIterator(r.x(), r.y() + y, r.width(), false); - - while (!devIt.isDone()) { - KisPixel p = toPixel(devIt.rawData()); - KisPixel s = m_selection -> toPixel(selectionIt.rawData()); - // XXX: Why Q_UIN16 here? Doesn't that clash with UINT8_MULT later on? - Q_UINT16 p_alpha, s_alpha; - p_alpha = p.alpha(); - s_alpha = MAX_SELECTED - s.alpha(); - - p.alpha() = UINT8_MULT(p_alpha, s_alpha); - - ++devIt; - ++selectionIt; - } - } -} - -void KisPaintDevice::applySelectionMask(KisSelectionSP tqmask) -{ - QRect r = tqmask -> extent(); - crop(r); - - for (Q_INT32 y = r.top(); y <= r.bottom(); ++y) { - - KisHLineIterator pixelIt = createHLineIterator(r.x(), y, r.width(), true); - KisHLineIterator tqmaskIt = tqmask -> createHLineIterator(r.x(), y, r.width(), false); - - while (!pixelIt.isDone()) { - - KisPixel pixel = toPixel(pixelIt.rawData()); - KisPixel tqmaskValue = tqmask -> toPixel(tqmaskIt.rawData()); - - pixel.alpha() = (pixel.alpha() * tqmaskValue.alpha()) / MAX_SELECTED; - - ++pixelIt; - ++tqmaskIt; - } - } -} - |