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

Side by Side Diff: src/effects/gradients/SkLinearGradient.cpp

Issue 113873008: remove unused SkFixed and SkFract functions (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Created 7 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include "SkLinearGradient.h" 8 #include "SkLinearGradient.h"
9 9
10 static inline int repeat_bits(int x, const int bits) { 10 static inline int repeat_bits(int x, const int bits) {
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 unsigned fi = repeat_bits(fx >> SkGradientShaderBase::kCache16Shift, 370 unsigned fi = repeat_bits(fx >> SkGradientShaderBase::kCache16Shift,
371 SkGradientShaderBase::kCache16Bits); 371 SkGradientShaderBase::kCache16Bits);
372 SkASSERT(fi < SkGradientShaderBase::kCache16Count); 372 SkASSERT(fi < SkGradientShaderBase::kCache16Count);
373 fx += dx; 373 fx += dx;
374 *dstC++ = cache[toggle + fi]; 374 *dstC++ = cache[toggle + fi];
375 toggle = next_dither_toggle16(toggle); 375 toggle = next_dither_toggle16(toggle);
376 } while (--count != 0); 376 } while (--count != 0);
377 } 377 }
378 } 378 }
379 379
380 static bool fixed_nearly_zero(SkFixed x) {
381 return SkAbs32(x) < (SK_Fixed1 >> 12);
382 }
383
380 void SkLinearGradient::shadeSpan16(int x, int y, 384 void SkLinearGradient::shadeSpan16(int x, int y,
381 uint16_t* SK_RESTRICT dstC, int count) { 385 uint16_t* SK_RESTRICT dstC, int count) {
382 SkASSERT(count > 0); 386 SkASSERT(count > 0);
383 387
384 SkPoint srcPt; 388 SkPoint srcPt;
385 SkMatrix::MapXYProc dstProc = fDstToIndexProc; 389 SkMatrix::MapXYProc dstProc = fDstToIndexProc;
386 TileProc proc = fTileProc; 390 TileProc proc = fTileProc;
387 const uint16_t* SK_RESTRICT cache = this->getCache16(); 391 const uint16_t* SK_RESTRICT cache = this->getCache16();
388 int toggle = init_dither_toggle16(x, y); 392 int toggle = init_dither_toggle16(x, y);
389 393
390 if (fDstToIndexClass != kPerspective_MatrixClass) { 394 if (fDstToIndexClass != kPerspective_MatrixClass) {
391 dstProc(fDstToIndex, SkIntToScalar(x) + SK_ScalarHalf, 395 dstProc(fDstToIndex, SkIntToScalar(x) + SK_ScalarHalf,
392 SkIntToScalar(y) + SK_ScalarHalf, &srcPt); 396 SkIntToScalar(y) + SK_ScalarHalf, &srcPt);
393 SkFixed dx, fx = SkScalarToFixed(srcPt.fX); 397 SkFixed dx, fx = SkScalarToFixed(srcPt.fX);
394 398
395 if (fDstToIndexClass == kFixedStepInX_MatrixClass) { 399 if (fDstToIndexClass == kFixedStepInX_MatrixClass) {
396 SkFixed dxStorage[1]; 400 SkFixed dxStorage[1];
397 (void)fDstToIndex.fixedStepInX(SkIntToScalar(y), dxStorage, NULL); 401 (void)fDstToIndex.fixedStepInX(SkIntToScalar(y), dxStorage, NULL);
398 dx = dxStorage[0]; 402 dx = dxStorage[0];
399 } else { 403 } else {
400 SkASSERT(fDstToIndexClass == kLinear_MatrixClass); 404 SkASSERT(fDstToIndexClass == kLinear_MatrixClass);
401 dx = SkScalarToFixed(fDstToIndex.getScaleX()); 405 dx = SkScalarToFixed(fDstToIndex.getScaleX());
402 } 406 }
403 407
404 LinearShade16Proc shadeProc = shadeSpan16_linear_repeat; 408 LinearShade16Proc shadeProc = shadeSpan16_linear_repeat;
405 if (SkFixedNearlyZero(dx)) { 409 if (fixed_nearly_zero(dx)) {
406 shadeProc = shadeSpan16_linear_vertical; 410 shadeProc = shadeSpan16_linear_vertical;
407 } else if (SkShader::kClamp_TileMode == fTileMode) { 411 } else if (SkShader::kClamp_TileMode == fTileMode) {
408 shadeProc = shadeSpan16_linear_clamp; 412 shadeProc = shadeSpan16_linear_clamp;
409 } else if (SkShader::kMirror_TileMode == fTileMode) { 413 } else if (SkShader::kMirror_TileMode == fTileMode) {
410 shadeProc = shadeSpan16_linear_mirror; 414 shadeProc = shadeSpan16_linear_mirror;
411 } else { 415 } else {
412 SkASSERT(SkShader::kRepeat_TileMode == fTileMode); 416 SkASSERT(SkShader::kRepeat_TileMode == fTileMode);
413 } 417 }
414 (*shadeProc)(proc, dx, fx, dstC, cache, toggle, count); 418 (*shadeProc)(proc, dx, fx, dstC, cache, toggle, count);
415 } else { 419 } else {
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 str->append("SkLinearGradient ("); 561 str->append("SkLinearGradient (");
558 562
559 str->appendf("start: (%f, %f)", fStart.fX, fStart.fY); 563 str->appendf("start: (%f, %f)", fStart.fX, fStart.fY);
560 str->appendf(" end: (%f, %f) ", fEnd.fX, fEnd.fY); 564 str->appendf(" end: (%f, %f) ", fEnd.fX, fEnd.fY);
561 565
562 this->INHERITED::toString(str); 566 this->INHERITED::toString(str);
563 567
564 str->append(")"); 568 str->append(")");
565 } 569 }
566 #endif 570 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698