MCPcopy Create free account
hub / github.com/davidgiven/fluxengine / fillRadialGradient

Method fillRadialGradient

dep/agg/src/agg2d.cpp:537–564  ·  view source on GitHub ↗

------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

535
536//------------------------------------------------------------------------
537void Agg2D::fillRadialGradient(double x, double y, double r, Color c1, Color c2, double profile)
538{
539 int i;
540 int startGradient = 128 - int(profile * 127.0);
541 int endGradient = 128 + int(profile * 127.0);
542 if (endGradient <= startGradient) endGradient = startGradient + 1;
543 double k = 1.0 / double(endGradient - startGradient);
544 for (i = 0; i < startGradient; i++)
545 {
546 m_fillGradient[i] = c1;
547 }
548 for (; i < endGradient; i++)
549 {
550 m_fillGradient[i] = c1.gradient(c2, double(i - startGradient) * k);
551 }
552 for (; i < 256; i++)
553 {
554 m_fillGradient[i] = c2;
555 }
556 m_fillGradientD2 = worldToScreen(r);
557 worldToScreen(x, y);
558 m_fillGradientMatrix.reset();
559 m_fillGradientMatrix *= agg::trans_affine_translation(x, y);
560 m_fillGradientMatrix.invert();
561 m_fillGradientD1 = 0;
562 m_fillGradientFlag = Radial;
563 m_fillColor = Color(0,0,0); // Set some real color
564}
565
566
567//------------------------------------------------------------------------

Callers

nothing calls this directly

Calls 4

gradientMethod · 0.45
resetMethod · 0.45
invertMethod · 0.45

Tested by

no test coverage detected