Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(412)

Unified Diff: skia/effects/SkKernel33MaskFilter.cpp

Issue 113827: Remove the remainder of the skia source code from the Chromium repo.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « skia/effects/SkGradientShader.cpp ('k') | skia/effects/SkLayerDrawLooper.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: skia/effects/SkKernel33MaskFilter.cpp
===================================================================
--- skia/effects/SkKernel33MaskFilter.cpp (revision 16859)
+++ skia/effects/SkKernel33MaskFilter.cpp (working copy)
@@ -1,125 +0,0 @@
-#include "SkKernel33MaskFilter.h"
-#include "SkColorPriv.h"
-
-SkMask::Format SkKernel33ProcMaskFilter::getFormat()
-{
- return SkMask::kA8_Format;
-}
-
-bool SkKernel33ProcMaskFilter::filterMask(SkMask* dst, const SkMask& src, const SkMatrix&, SkIPoint* margin)
-{
- // margin???
- dst->fImage = NULL;
- dst->fBounds = src.fBounds;
- dst->fBounds.inset(-1, -1);
- dst->fFormat = SkMask::kA8_Format;
-
- if (NULL == src.fImage)
- return true;
-
- dst->fRowBytes = dst->fBounds.width();
- size_t size = dst->computeImageSize();
- if (0 == size) {
- return false; // too big to allocate, abort
- }
- dst->fImage = SkMask::AllocImage(size);
-
- const int h = src.fBounds.height();
- const int w = src.fBounds.width();
- const int srcRB = src.fRowBytes;
- const uint8_t* srcImage = src.fImage;
- uint8_t* dstImage = dst->fImage;
-
- uint8_t* srcRows[3];
- uint8_t storage[3][3];
-
- srcRows[0] = storage[0];
- srcRows[1] = storage[1];
- srcRows[2] = storage[2];
-
- unsigned scale = fPercent256;
-
- for (int y = -1; y <= h; y++)
- {
- uint8_t* dstRow = dstImage;
- for (int x = -1; x <= w; x++)
- {
- memset(storage, 0, sizeof(storage));
- uint8_t* storagePtr = &storage[0][0];
-
- for (int ky = y - 1; ky <= y + 1; ky++)
- {
- const uint8_t* srcRow = srcImage + ky * srcRB; // may be out-of-range
- for (int kx = x - 1; kx <= x + 1; kx++)
- {
- if ((unsigned)ky < (unsigned)h && (unsigned)kx < (unsigned)w)
- *storagePtr = srcRow[kx];
- storagePtr++;
- }
- }
- int value = this->computeValue(srcRows);
-
- if (scale < 256)
- value = SkAlphaBlend(value, srcRows[1][1], scale);
- *dstRow++ = SkToU8(value);
- }
- dstImage += dst->fRowBytes;
- }
- return true;
-}
-
-void SkKernel33ProcMaskFilter::flatten(SkFlattenableWriteBuffer& wb)
-{
- this->INHERITED::flatten(wb);
- wb.write32(fPercent256);
-}
-
-SkKernel33ProcMaskFilter::SkKernel33ProcMaskFilter(SkFlattenableReadBuffer& rb)
- : SkMaskFilter(rb)
-{
- fPercent256 = rb.readS32();
-}
-
-///////////////////////////////////////////////////////////////////////////////
-
-uint8_t SkKernel33MaskFilter::computeValue(uint8_t* const* srcRows)
-{
- int value = 0;
-
- for (int i = 0; i < 3; i++)
- for (int j = 0; j < 3; j++)
- value += fKernel[i][j] * srcRows[i][j];
-
- value >>= fShift;
-
- if (value < 0)
- value = 0;
- else if (value > 255)
- value = 255;
- return (uint8_t)value;
-}
-
-void SkKernel33MaskFilter::flatten(SkFlattenableWriteBuffer& wb)
-{
- this->INHERITED::flatten(wb);
- wb.writeMul4(fKernel, 9 * sizeof(int));
- wb.write32(fShift);
-}
-
-SkFlattenable::Factory SkKernel33MaskFilter::getFactory()
-{
- return Create;
-}
-
-SkFlattenable* SkKernel33MaskFilter::Create(SkFlattenableReadBuffer& rb)
-{
- return new SkKernel33MaskFilter(rb);
-}
-
-SkKernel33MaskFilter::SkKernel33MaskFilter(SkFlattenableReadBuffer& rb)
- : SkKernel33ProcMaskFilter(rb)
-{
- rb.read(fKernel, 9 * sizeof(int));
- fShift = rb.readS32();
-}
-
« no previous file with comments | « skia/effects/SkGradientShader.cpp ('k') | skia/effects/SkLayerDrawLooper.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698