зеркало из https://github.com/mozilla/moz-skia.git
Remove dead code.
No files reference this file. R=reed@google.com Author: scroggo@google.com Review URL: https://codereview.chromium.org/255243002 git-svn-id: http://skia.googlecode.com/svn/trunk@14520 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
Родитель
d9efd241bf
Коммит
020636350b
|
@ -7,7 +7,6 @@
|
|||
#
|
||||
{
|
||||
'sources': [
|
||||
'<(skia_src_path)/core/ARGB32_Clamp_Bilinear_BitmapShader.h',
|
||||
'<(skia_src_path)/core/SkAAClip.cpp',
|
||||
'<(skia_src_path)/core/SkAnnotation.cpp',
|
||||
'<(skia_src_path)/core/SkAdvancedTypefaceMetrics.cpp',
|
||||
|
|
|
@ -1,177 +0,0 @@
|
|||
|
||||
/*
|
||||
* Copyright 2011 Google Inc.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license that can be
|
||||
* found in the LICENSE file.
|
||||
*/
|
||||
|
||||
class ARGB32_Clamp_Bilinear_BitmapShader : public SkBitmapShader {
|
||||
public:
|
||||
ARGB32_Clamp_Bilinear_BitmapShader(const SkBitmap& src)
|
||||
: SkBitmapShader(src, true,
|
||||
SkShader::kClamp_TileMode, SkShader::kClamp_TileMode)
|
||||
{}
|
||||
|
||||
virtual void shadeSpan(int x, int y, SkPMColor dstC[], int count);
|
||||
};
|
||||
|
||||
SkPMColor sample_bilerp(SkFixed fx, SkFixed fy, unsigned srcMaxX, unsigned srcMaxY,
|
||||
const SkPMColor* srcPixels, int srcRB, const SkFilterPtrProc* proc_table);
|
||||
SkPMColor sample_bilerp(SkFixed fx, SkFixed fy, unsigned srcMaxX, unsigned srcMaxY,
|
||||
const SkPMColor* srcPixels, int srcRB, const SkFilterPtrProc* proc_table)
|
||||
{
|
||||
int ix = fx >> 16;
|
||||
int iy = fy >> 16;
|
||||
|
||||
const SkPMColor *p00, *p01, *p10, *p11;
|
||||
|
||||
p00 = p01 = ((const SkPMColor*)((const char*)srcPixels
|
||||
+ SkClampMax(iy, srcMaxY) * srcRB))
|
||||
+ SkClampMax(ix, srcMaxX);
|
||||
|
||||
if ((unsigned)ix < srcMaxX)
|
||||
p01 += 1;
|
||||
p10 = p00;
|
||||
p11 = p01;
|
||||
if ((unsigned)iy < srcMaxY)
|
||||
{
|
||||
p10 = (const SkPMColor*)((const char*)p10 + srcRB);
|
||||
p11 = (const SkPMColor*)((const char*)p11 + srcRB);
|
||||
}
|
||||
|
||||
SkFilterPtrProc proc = SkGetBilinearFilterPtrProc(proc_table, fx, fy);
|
||||
return proc(p00, p01, p10, p11);
|
||||
}
|
||||
|
||||
static inline SkPMColor sample_bilerpx(SkFixed fx, unsigned srcMaxX, const SkPMColor* srcPixels,
|
||||
int srcRB, const SkFilterPtrProc* proc_table)
|
||||
{
|
||||
int ix = fx >> 16;
|
||||
|
||||
const SkPMColor *p00, *p01, *p10, *p11;
|
||||
|
||||
p00 = p01 = srcPixels + SkClampMax(ix, srcMaxX);
|
||||
if ((unsigned)ix < srcMaxX)
|
||||
p01 += 1;
|
||||
|
||||
p10 = (const SkPMColor*)((const char*)p00 + srcRB);
|
||||
p11 = (const SkPMColor*)((const char*)p01 + srcRB);
|
||||
|
||||
SkFilterPtrProc proc = SkGetBilinearFilterPtrXProc(proc_table, fx);
|
||||
return proc(p00, p01, p10, p11);
|
||||
}
|
||||
|
||||
void ARGB32_Clamp_Bilinear_BitmapShader::shadeSpan(int x, int y, SkPMColor dstC[], int count)
|
||||
{
|
||||
SkASSERT(count > 0);
|
||||
|
||||
unsigned srcScale = SkAlpha255To256(this->getPaintAlpha());
|
||||
|
||||
const SkMatrix& inv = this->getTotalInverse();
|
||||
const SkBitmap& srcBitmap = this->getSrcBitmap();
|
||||
unsigned srcMaxX = srcBitmap.width() - 1;
|
||||
unsigned srcMaxY = srcBitmap.height() - 1;
|
||||
unsigned srcRB = srcBitmap.rowBytes();
|
||||
|
||||
const SkFilterPtrProc* proc_table = SkGetBilinearFilterPtrProcTable();
|
||||
const SkPMColor* srcPixels = (const SkPMColor*)srcBitmap.getPixels();
|
||||
|
||||
if (this->getInverseClass() == kPerspective_MatrixClass)
|
||||
{
|
||||
SkPerspIter iter(inv, SkIntToScalar(x) + SK_ScalarHalf,
|
||||
SkIntToScalar(y) + SK_ScalarHalf, count);
|
||||
|
||||
if (256 == srcScale)
|
||||
{
|
||||
while ((count = iter.next()) != 0)
|
||||
{
|
||||
const SkFixed* srcXY = iter.getXY();
|
||||
while (--count >= 0)
|
||||
{
|
||||
SkFixed fx = *srcXY++ - SK_FixedHalf;
|
||||
SkFixed fy = *srcXY++ - SK_FixedHalf;
|
||||
*dstC++ = sample_bilerp(fx, fy, srcMaxX, srcMaxY, srcPixels, srcRB, proc_table);
|
||||
}
|
||||
}
|
||||
}
|
||||
else // scale by srcScale
|
||||
{
|
||||
while ((count = iter.next()) != 0)
|
||||
{
|
||||
const SkFixed* srcXY = iter.getXY();
|
||||
while (--count >= 0)
|
||||
{
|
||||
SkFixed fx = *srcXY++ - SK_FixedHalf;
|
||||
SkFixed fy = *srcXY++ - SK_FixedHalf;
|
||||
SkPMColor c = sample_bilerp(fx, fy, srcMaxX, srcMaxY, srcPixels, srcRB, proc_table);
|
||||
*dstC++ = SkAlphaMulQ(c, srcScale);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else // linear case
|
||||
{
|
||||
SkFixed fx, fy, dx, dy;
|
||||
|
||||
// now init fx, fy, dx, dy
|
||||
{
|
||||
SkPoint srcPt;
|
||||
this->getInverseMapPtProc()(inv, SkIntToScalar(x) + SK_ScalarHalf,
|
||||
SkIntToScalar(y) + SK_ScalarHalf,
|
||||
&srcPt);
|
||||
|
||||
fx = SkScalarToFixed(srcPt.fX) - SK_FixedHalf;
|
||||
fy = SkScalarToFixed(srcPt.fY) - SK_FixedHalf;
|
||||
|
||||
if (this->getInverseClass() == kFixedStepInX_MatrixClass)
|
||||
(void)inv.fixedStepInX(SkIntToScalar(y), &dx, &dy);
|
||||
else
|
||||
{
|
||||
dx = SkScalarToFixed(inv.getScaleX());
|
||||
dy = SkScalarToFixed(inv.getSkewY());
|
||||
}
|
||||
}
|
||||
|
||||
if (dy == 0 && (unsigned)(fy >> 16) < srcMaxY)
|
||||
{
|
||||
srcPixels = (const SkPMColor*)((const char*)srcPixels + (fy >> 16) * srcRB);
|
||||
proc_table = SkGetBilinearFilterPtrProcYTable(proc_table, fy);
|
||||
if (256 == srcScale)
|
||||
{
|
||||
do {
|
||||
*dstC++ = sample_bilerpx(fx, srcMaxX, srcPixels, srcRB, proc_table);
|
||||
fx += dx;
|
||||
} while (--count != 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
do {
|
||||
SkPMColor c = sample_bilerpx(fx, srcMaxX, srcPixels, srcRB, proc_table);
|
||||
*dstC++ = SkAlphaMulQ(c, srcScale);
|
||||
fx += dx;
|
||||
} while (--count != 0);
|
||||
}
|
||||
}
|
||||
else // dy is != 0
|
||||
{
|
||||
if (256 == srcScale)
|
||||
{
|
||||
do {
|
||||
*dstC++ = sample_bilerp(fx, fy, srcMaxX, srcMaxY, srcPixels, srcRB, proc_table);
|
||||
fx += dx;
|
||||
fy += dy;
|
||||
} while (--count != 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
do {
|
||||
SkPMColor c = sample_bilerp(fx, fy, srcMaxX, srcMaxY, srcPixels, srcRB, proc_table);
|
||||
*dstC++ = SkAlphaMulQ(c, srcScale);
|
||||
fx += dx;
|
||||
fy += dy;
|
||||
} while (--count != 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Загрузка…
Ссылка в новой задаче